@charset "utf-8";
:root {
	--c_or:#FD5A00;
	--c_bk:#000000;
	--c_wh:#ffffff;
}
.clr-or {color: var(--c_or)!important;}
.clr-bk {color: var(--c_bk)!important;}
.clr-wh {color: var(--c_wh)!important;}
.bg-or {background-color: var(--c_or)!important;}
.bg-bk {background-color: var(--c_bk)!important;}
.bg-wh {background-color: var(--c_wh)!important;}

.en {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
	font-weight: 600;
  font-style: normal;
	letter-spacing: 0.02em;
	line-height: 1;
}
.arwBox {
	position: relative;
}
.arwBox::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 2.6rem;
	aspect-ratio: 1;
	z-index: 10;
	background: var(--c_bk) url(../img/arw_wh.svg) left bottom 50% no-repeat;
	background-size: 52% auto;
	transition: .4s;
}
.arwBox:hover::after {
	background-color: var(--c_or);
}
.arwBox._or::after {
	background-color: var(--c_or);
}
.arwBox._or:hover:after {
	background-color: #4d4d4d;
}
.more {
	text-align: left;
	margin-top: 3rem;
}
.more.alncenter {
	text-align: center;
}
.more a {
	display: inline-flex;
	align-items: flex-end;
	gap: .5rem;
	font-size: 1.4rem;
	color: var(--c_or);
	line-height: .7;
}
.more a::after {
	content: "";
	display: block;
	background: url(../img/arw_or.svg) right bottom no-repeat;
	background-size: contain;
	width: 1.6rem;
	aspect-ratio: 15/6;
}


/*header
---------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9990;
	background: #fff;
	transition: .2s;
}
#header.scrl {
	background: #fff!important;
	box-shadow: 0 0 .7rem rgba(0, 0, 0, 0.3);
}
#index #header {
	background: transparent;
	opacity: 0;
	transition: 1s 2.2s;
}
#index.act #header {
	opacity: 1;
}
#index #header.scrl {
	opacity: 1;
	transition: .2s;
}
.hWrap {
	padding: 2rem 3rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.hLogo img {
	max-height: 2.8rem;
}
.hNav {
	text-align: left;
	display: flex;
	gap: 1rem 3rem;
	font-size: 1.2rem;
}
.hNav .en {
	font-size: 166%;	
}
.hNav a {
	display: block;
}
.hNav a span {
	display: block;
}
.hNav a:hover {
	color: var(--c_or);
}
.tglNav {
	position: relative;
}
.ddNav {
	display: none;
	position: absolute;
	top: calc(100% + 2rem);
	left: 50%;
	transform: translateX(-50%);
	background: #f1f1f1;
	white-space: nowrap;
	box-shadow: 0 .3rem .3rem rgba(0, 0, 0, 0.1);
	border-top: .5rem solid var(--c_or);
}
.ddNav a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1rem;
	font-size: 1.4rem;
}
.ddNav a {
	border-bottom: 1px solid #ddd;
}
.ddNav a::after {
	content: "";
	display: block;
	background: url(../img/arw_or.svg) center center no-repeat;
	background-size: contain;
	width: 1.2rem;
	aspect-ratio: 15/6;
}
.menuIconWrap,
.spLogo {
	display: none;
}

/*footer
---------------------------------------------------------*/
.fLinkArea {
	background: url(../img/link_bg.jpg) center center no-repeat;
	background-size: cover;
	padding: 8rem 0;
}
.fLink {
	display: grid;
	grid-template-columns: repeat(2,1fr);
}
.fLink li {
	background: url(../img/link_company_bg.jpg) center center no-repeat;
	background-size: cover;
}
.fLink li._02 {
	background-image: url(../img/link_history_bg.jpg);
}
.fLink li a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: .7rem;
	color: #fff;
	background: rgba(0, 0, 0, 0.50);
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	aspect-ratio: 550/226;
}
.fLink li a .en {
	font-size: 4rem;
}
.fLink li a:hover {
	background-color: rgba(0,0,0,.1);
}
#footer {
	padding: 10rem 0 4rem;
	color: #fff;
	background: #000;
}
.fWrap {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 3rem;
}
.fLogo {
	width: 28.5rem;
}
.fLogo span {
	display: block;
	color: #fff;
	letter-spacing: 0.05em;
	margin-top: 0.7rem;
}
.nav {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 1.5rem 12rem;
	max-height: 30rem;
	font-size: 1.2rem;
	text-align: left;
	line-height: 1.2;
}
.nav a {
	color: #fff;
}
.nav a:hover {
	color: var(--c_or);
}
nav a .en {
	display: block;
	font-size: 166%;
	margin-bottom: 0.3rem;
}
.nav > li:last-of-type {
	height: 100%;
}
.childNav {
	font-size: 1.4rem;
	margin-top: 1rem;
}
.childNav .sp {
	display: none;
}
.childNav a {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
}
.childNav a::before {
	content: "";
	display: block;
	width: 1.2rem;
	min-width: 1.2rem;
	height: 1px;
	background: var(--c_or);
}
.childNav li + li {
	margin-top: 0.5rem;
}
.fBtm {
	display: flex;
	justify-content: space-between;
	align-content: center;
	flex-direction: row-reverse;
	margin-top: 6rem;
}
.gotop {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: .5rem;
	color: #fff;
	font-size: 1.2rem;
}
.gotop::after {
	content: "";
	display: block;
	background: url(../img/arw_or.svg) center center no-repeat;
	background-size: contain;
	width: 1.5rem;
	aspect-ratio: 15/6;
	transform: scale(1,-1) rotate(90deg);
}
.gotop:hover {
	color: var(--c_or);
}
.copyright {
	font-size: 1rem;
	font-weight: 400;
}

/*toppage
---------------------------------------------------------*/
#topSection {
	position: relative;
	overflow: hidden;
}
.topSecBg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -50;
	display: flex;
	flex-direction: column;
	background: #333;
}
.mvbg01 {
	min-height: 78rem;
	background: url(../img/bg01.jpg) center center no-repeat;
	background-size: cover;
}
.mvbg02 {
	flex: 1;
	background: url(../img/top/message_bg.jpg) center center no-repeat;
	background-size: cover;
}
#mv,
#message {
	position: relative;
	min-height: 53rem;
}
.mvArea,
.message {
	position: relative;
	z-index: 50;
	height: 100%;
}

/*mv*/
.mvBox {
	width: 100%;
	position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 7rem;
	letter-spacing: 0.05em;
}
.mvEng {
	position: absolute;
	top: 8rem;
	bottom: 17rem;
	bottom: min(16.5%,17rem);
	left: 0;
	right: 0;
	padding: 0 2rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}
.mvEng p {
	transform: translateY(2rem);
}
#topSection.act .mvEng p {
	transform: translateY(0);
}
.mvEng p:nth-of-type(2) {
	transition-delay: .6s;
}
.fade {
	opacity: 0;
	transition: 1.2s .2s;
	filter: blur(5px);
}
#topSection.act .fade {
	opacity: 1;
	filter: blur(0);
}
.mvCopy {
	font-size: 12.4rem;
	font-weight: 800;
	line-height: 1.1;
	white-space: nowrap;
	transition-delay: 1.5s;
}
.mvLogo {
	font-size: 1.8rem;
	font-weight: 700;
	transition-delay: 1.8s;
}
.mvLogo img {
	display: block;
	margin: 0 auto 2rem;
	max-height: 6.4rem;
}
.mvGroup {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 8rem;
	bottom: min(8%,8rem);
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem 7rem;
	transition-delay: 2s;
}

/*message*/
.message {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #fff;
	max-width: 60rem;
}
.message h2 {
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.8;
}
.message .more {
	margin-top: 5rem;
}
.messageSvg {
	margin-left: auto;
}
.handwriting{
	width:37rem;
	max-width:100%;
	height:auto;
	display:block;
	margin-left: auto
}
#text{
  fill: var(--c_or)!important;;
}
.handwriting_mask_line{
  fill: none;
  stroke: #fff;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 12000;
  stroke-dashoffset: 12000;
}
.handwriting_mask_line{
  stroke-dasharray: 12000;
  stroke-dashoffset: 12000;
}
.messageSvg.act .handwriting_mask_line{
  animation: handwriting 5s .6s ease-in forwards;
}
@keyframes handwriting{
  to{ stroke-dashoffset: 0; }
}

/*追従ロゴマーク*/
:root{
  --splitY: 50vh;
  --logoSize: 55rem;
  --logoMask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 480 484.644'>  <path fill='white' d='M239.997,331.669c49.121,0,88.941-40.326,88.941-90.071s-39.82-90.07-88.941-90.07-88.941,40.326-88.941,90.07,39.82,90.071,88.941,90.071Z'/>  <path fill='white' d='M384.428,241.599c0,17.354-3.162,33.88-8.568,49.27l84.351,47.412c12.75-29.646,19.788-62.285,19.788-96.682,0-125.396-93.736-228.481-214.092-241.599v97.817c67.42,12.395,118.521,71.994,118.521,143.782Z'/>  <path fill='white' d='M95.571,241.599c0-71.788,51.1-131.387,118.52-143.782V0C93.735,13.118,0,116.203,0,241.599c0,35.739,7.854,69.619,21.521,100.193l83.943-47.204c-6.324-16.424-9.894-34.293-9.894-52.989Z'/>  <path fill='white' d='M240.004,387.86c-42.635,0-80.883-18.799-107.301-48.547l-84.76,47.617c43.757,59.186,113.42,97.714,192.06,97.714s150.751-39.871,194.405-100.916l-84.454-47.41c-26.518,31.504-65.89,51.542-109.952,51.542Z'/></svg>");
}
.logoArea{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 30;
	transition-delay: 1s;
}
.logoArea.is-message-top {
  position: absolute;
}
.logoLayer{
  position: absolute;
  left: 0;
  right: 0;
}
.logoLayer--top{
  top: 0;
  height: var(--splitY);
  overflow: hidden;
  --layerTop: 0px;
}
.logoLayer--bottom{
  top: var(--splitY);
  height: calc(100vh - var(--splitY));
  overflow: hidden;
  --layerTop: var(--splitY);
}
.logoMask{
  position: absolute;
  left: 50vw;
  top: calc(50vh - var(--layerTop));
  width: var(--logoSize);
  aspect-ratio: 480 / 484.644;
  transform: translate(-50%, -50%);
  -webkit-mask-image: var(--logoMask);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: var(--logoMask);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.logoTopFill{
  position: absolute;
  inset: 0;
  background: url("../img/logomark_bg.jpg") center no-repeat;
	background-size: cover;
}
.glassPane{
  position: absolute;
  inset: -12%;
  background: url("../img/top/message_bg.jpg") center no-repeat;
	background-size: auto 100%;
  background-attachment: fixed;
  filter: blur(30px) grayscale(70%) brightness(1.5);
  transform: scale(1.10);
  opacity: .1;
}
@supports (-webkit-touch-callout: none) {
  .glassPane{ background-attachment: scroll; }
}
.logoMask::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.10);
  box-shadow: 0 0 0 1px rgba(255,255,255,.16) inset;
}
.logoMask::before{
  content:"";
  position:absolute;
  inset:-30%;
  background: radial-gradient(circle at 30% 20%,rgba(255,255,255,.35),rgba(255,255,255,0) 55%);
  opacity: .25;
}
.spMvLogo {
	display: none;
}

/*top-news*/
.topnews {
	display: grid;
	grid-template-columns: 15rem 1fr;
	gap: 2rem 7rem;
}
.topnews h2 {
	font-size: 4rem;
	text-align: left;
}
.topNewsWrap {
	flex: 1;
}
.newsList a {
	text-align: left;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	position: relative;
	gap: .8rem 1rem;
	border-bottom: 1px solid #D8D8D8;
	padding: 2rem 3rem 2rem 1.5rem;
	z-index: 1;
}
.newsList a:hover {
	color: var(--c_or);
	background: #f1f1f1;
}
.newsList .txt {
	width: 100%;
	text-align: justify;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	line-clamp: 1;
}
.date {
	font-size: 1.4rem;
	color: #787878;
}
.cate {
	font-size: 1.2rem;
	display: inline-block;
	padding: .2rem .8rem;
	background: var(--c_bk);
	color: #fff;
	text-align: center;
	white-space: nowrap;
}


/*top-group*/
.bg-img {
	background: url(../img/top/group_bg01.png) top right no-repeat,url(../img/top/group_bg02.png) bottom left no-repeat;
	background-color: var(--c_or);
	background-size: 52% auto;
}
.ttlBox {
	text-align: left;
	margin-bottom: 3rem;
}
.ttlBox._wh {
	color: #fff;
}
.ttlBox .en {
	font-size: 4.8rem;
}
.ttlBox h2 {
	font-size: 1.4rem;
	font-weight: 400;
}
.groupListWrap {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 2rem;
}
.groupList {
	display: grid;
	grid-template-columns: repeat(1,1fr);
	gap: 2rem;
}
.groupList li {
	transition: 1s .6s;
	opacity: 0;
	transform: translateY(2rem);
}
.groupList li.act {
	opacity: 1;
	transform: translateY(0);
}
.groupList a {
	background: #fff;
	min-height: 21rem;
	display: flex;
	align-items: center;
	padding: 2rem 3.5rem;
}
.groupList a:hover {
	box-shadow: .5rem .5rem .7rem rgba(0, 0, 0, 0.3);
}
.groupList a figure {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
}
.groupList a figure img {
	height: 100%;
	opacity: 1!important;
}
.groupList dl {
	position: relative;
	z-index: 5;
	text-align: left;
}
.groupList .logo img {
	max-height: 4.7rem;
}
.groupList .logo img[src*="_toukan"] {max-height: 5.7rem;}
.groupList .logo img[src*="_its"] {max-height: 5rem;}
.groupList .logo img[src*="_ishizaka"] {max-height: 2.6rem;}
.groupList .logo img[src*="_tokai"] {max-height: 3.5rem;}
.groupList .logo img[src*="_rs"] {max-height: 5.7rem;}
.groupList .logo img[src*="_weeds"] {max-height: 4rem;}
.groupList dt {
	max-width: fit-content;
	align-items: center;
	gap: 1rem;
	font-size: 1.3rem;
	font-weight: 600;
	margin-bottom: 1.8rem;
}
.groupList dt span {
	display: block;
	}
.groupList dt span.center {
	text-align: center;
}
#locationsArea {
	background: url(../img/bg02.jpg) center center no-repeat;
	background-size: cover;
	padding: 0;
}
.locationsArea {
	position: relative;
	min-height: 67rem;
}
.locationsTtl {
	position: absolute;
	top: 10rem;
	left: 0;
	text-align: left;
	z-index: 5;
}
.mapWrap {
	width: 132.9rem;
	position: absolute;
	left: -29.5rem;
	top: -29.5rem;
}
.mapNav {
	position: absolute;
	top: 20rem;
	right: 0;
	z-index: 10;
	text-align: left;
}
.mapNav a {
	display: block;
	background: url(../img/arw_or.svg) right 1rem center no-repeat;
	background-size: 1.5rem auto;
	font-weight: 600;
	padding: 1rem;
	padding-right: 4rem;
	border-bottom: 1px solid #cbcbcb;
}
.mapNav li.on a,
.mapNav a:hover {
	color: var(--c_or);
	border-bottom-color: var(--c_or);
}
.pin li {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 2.257%;
	transform: translateY(-1.2rem);
	opacity: 0;
	transition: .4s;
}

.pin li.on {
	transform: translateY(0);
	opacity: 1;
}
.pin li img {
	filter: drop-shadow(0 0 .3rem rgba(0, 0, 0, 0.40));
}
.pin li._01-1 {
	right: 54.5%;
	bottom: 25.5%;
}
.pin li._01-2 {
	right: 52.5%;
	bottom: 24%;
}
.pin li._01-3 {
	right: 42.5%;
	bottom: 25%;
	z-index: 1;
}
.pin li._01-4 {
	right: 38%;
	bottom: 28%;
}
.pin li._01-5 {
	right: 42.5%;
	bottom: 31%;
}
.pin li._01-6 {
	right: 55.5%;
	bottom: 24%;
}
.pin li._01-7 {
	right: 41%;
	bottom: 30%;
}
.pin li._01-8 {
	right: 41%;
	bottom: 26%;
}
.pin li._01-9 {
	right: 65.5%;
	bottom: 23.5%;
}
.pin li._01-10 {
	right: 62%;
	bottom: 27%;
}
.pin li._02-1 {
	right: 54%;
	bottom: 22%;
}
.pin li._03-1 {
	right: 40.5%;
	bottom: 26%;
}
.pin li._04-1 {
	right: 38.5%;
	bottom: 27.5%;
}
.pin li._05-1 {
	right: 34.5%;
	bottom: 31.5%;
}
.pin li._05-2 {
	right: 40.5%;
	bottom: 30.5%;
}
.pin li._05-3 {
	right: 38.3%;
	bottom: 28.5%;
}
.pin li._05-4 {
	right: 36%;
	bottom: 27%;
}
.pin li._06-1 {
	right: 55.3%;
	bottom: 22.5%;
}
.pin li._07-1 {
	right: 41%;
	bottom: 27%;
}
.pin li._08-1 {
	right: 40%;
	bottom: 28.5%;
}
.pin li._08-2 {
	right: 41.5%;
	bottom: 27%;
}
.pin li._08-3 {
	right: 35.5%;
	bottom: 26%;
}



/*subPage
---------------------------------------------------------*/
.pageTtlArea {
	background: url(../img/group/page_ttl.jpg) center center no-repeat;
	background-size: cover;
	height: 41rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 1rem;
	color: #fff;
}
.pageTtlArea .en {
	font-size: 5.6rem;
	margin-bottom: 0.2rem;
}
.pageTtlArea h1 {
	font-size: 1.8rem;
	font-weight: 400;
}
.pageTtlArea._02 {
	height: 30rem;
	color: #000;
	background-image: url(../img/group/page_ttl02.jpg);
}
.pageTtl {
	opacity: 0;
	transform: translateY(2rem);
	transition: 1.2s .6s;
}
.act .pageTtl {
	opacity: 1;
	transform: translateY(0);
}

/*group__detail
---------------------------------------------------------*/
#page-group__detail >article {
	background: url(../img/group/bg01.jpg) top center no-repeat;
	background-size: 100% auto;
}
#groupCont {
	padding-bottom: 15rem;
}
.groupLogo {
	margin-bottom: 5rem;
}
.groupLogo img {
	max-height: 10rem;
}
.groupCont {
	display: flex;
	flex-direction: row-reverse;
	gap: 9rem;
}
.groupCont .img {
	width: 50%;
}
.groupCont dl {
	flex: 1;
	text-align: left;
	position: relative;
	padding-bottom: 5rem;
}
.groupCont dt {
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
}
.groupCont dd h3 {
	border-bottom: 1px solid #000;
	margin-bottom: 1rem;
	font-size: 1.4rem;
	font-weight: 400;
	margin-top: 3rem;
}
.groupCont dd h3 span {
	display: inline-block;
	background: #000;
	color: #fff;
	padding: .2rem 1rem;
}
.groupCont .more._02 {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
}
.more._02 a {
	display: inline-flex;
	align-items: center;
	gap: 3rem;
	padding-bottom: .7rem;
	border-bottom: 1px solid var(--c_or);
}
.more._02 .jp {
	font-size: 1.3rem;
	color: #000;
	transition: .2s;
}
.more._02 a:hover .jp {
	color: var(--c_or);
}
.gmap {
	min-height: 20rem;
}
.gmap iframe {
	width: 100%;
	height: 100%;
}
#accessMap .gmap {
	height: 37.5rem;
}
.locationsCont li {
	display: flex;
	gap: 3rem;
}
.locationsCont li + li {
	padding-top: 5rem;
	margin-top: 5rem;
	border-top: 1px solid #D9D9D9;
}
.locationsCont li .lft {
	flex: 1;
	text-align: left;
}
.locationsCont li .lft dt {
	font-size: 112.5%;
	margin-bottom: 1rem;
}
.locationsCont .rht {
	width: 67rem;
	display: flex;
	gap: 2%;
}
.locationsCont .rht .img {
	width: 49%;
}
.locationsCont .rht .gmap {
	flex: 1;
}
#messageCont {
	background: url(../img/bg01.jpg) center center no-repeat;
	background-size: cover;
}
.messageBox {
	text-align: left;
	padding: 6rem 8rem;
	line-height: 2;
	background: #fff;
}
.photoGarrelyBox {
	background: #000;
	padding: 9rem;
}
.slick-arrow {
	position: absolute;
	right: -4.5rem;
	top: 40%;
	width: 3rem;
	aspect-ratio: 1;
	border: 1px solid #fff;
	border-radius: 50%;
	background: url("../img/arw_wh.svg") center top 45% no-repeat;
	background-size: 45% auto;
	z-index: 50;
	cursor: pointer;
	transition: .2s;
}
.slick-arrow.prev {
	right: auto;
	left: -4.5rem;
	transform: scale(-1,1);
}
.slick-arrow:hover {
	background-color: var(--c_or);
}
.photoThumb {
	margin: 1.5rem -.5rem 0;
}
.photoThumb .item {
	margin: 0 .5rem;
	aspect-ratio: 16/9;
	cursor: pointer;
	transition: .2s;
}
.photoThumb .item:hover {
	opacity: .8;
}
.photoThumb .item img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.photoGarrelyArea .slick-track {
	display: flex!important;
}
.photoGarrelyArea .slick-slide {
	height: auto!important;
}
.photoGarrelyArea .image {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.backBtn {
	margin-top: 6rem;
}
.backBtn a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	color: #fff;
	background: #000;
	padding: 1.2rem 3rem;
	text-align: center;
}
.backBtn a::before {
	content: "";
	display: block;
	aspect-ratio: 15/6;
	width: 1.5rem;
	background: url("../img/arw_wh.svg") center center no-repeat;
	background-size: contain;
	transform: scale(-1,1);
}
.backBtn a:hover {
	background-color: var(--c_or);
}

/*group_list
---------------------------------------------------------*/
#groupTxt {
	overflow: visible;
	padding: 10rem 0 0;
	position: relative;
	z-index: 5;
}
.groupTxt {
	max-width: 135rem;
	position: relative;
	z-index: 1;
}
.groupTxt h2 {
	font-size: 5.6rem;
	font-weight: 700;
	margin-bottom: 4rem;
	letter-spacing: 0.05em;
}
.groupTxt .img li {
	position: absolute;
	z-index: -1;
}
.groupTxt .img li._01 {
	max-width: 32rem;
	top: 0;
	left: 0;
}
.groupTxt .img li._02 {
	max-width: 17.9rem;
	top: -2rem;
	right: 0;
}
.groupTxt .img li._03 {
	max-width: 13.9rem;
	top: 28rem;
	right: 18rem;
}
#groupCompany {
	background: url(../img/bg01.jpg) top left no-repeat;
	background-size: cover;
	padding: 15rem 0 20rem;
	position: relative;
	z-index: 1;
}
#groupCompany::before,
#groupCompany::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 22rem;
	z-index: 1;
	background: #fff;
	clip-path: polygon(100% 0, 0 0, 0 100%);
}
#groupCompany::after {
	top: auto;
	bottom: 0;
	background: var(--c_or);
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.groupCompany {
	position: relative;
	z-index: 5;
}
.bgEng {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	width: 90%;
	max-width: 110rem;
	opacity: .7;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 2rem;
}

.groupLogoWrap {
	position: relative;
	width: 100%;
	max-width: 55.6rem;
	aspect-ratio: 1;
	background: url(../img/logomark.png) center  center no-repeat;
	background-size: contain;
	z-index: 1;
	margin: 9rem auto 6rem;
}
.groupLogoWrap li {
	position: absolute;
	z-index: 1;
	width: 20rem;
	height: 14rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: .2rem;
	opacity: 0;
	transition: 1.2s .4s;
}
.groupLogoWrap.act li {
	opacity: 1;
}
.groupLogoWrap li._00 {
	width: 25rem;
	height: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition-delay: 1.6s;
}
.groupLogoWrap li._01 {
	top: -5rem;
	right: 0;
	left: 0;
	margin: 0 auto;
	transition-delay: .2s;
}
.groupLogoWrap li._02 {
	top: 5.1rem;
	right: -5.1rem;
	transition-delay: .4s;
}
.groupLogoWrap li._03 {
	top: 50%;
	right: -12rem;
	transform: translateY(-50%);
	transition-delay: .6s;
}
.groupLogoWrap li._04 {
	bottom: 5.1rem;
	right: -5.1rem;
	transition-delay: .4s;
}
.groupLogoWrap li._05 {
	bottom: -6rem;
	right: 0;
	left: 0;
	margin: 0 auto;
	transition-delay: .8s;
}
.groupLogoWrap li._06 {
	bottom: 5.1rem;
	left: -5.1rem;
	transition-delay: 1s;
}
.groupLogoWrap li._07 {
	top: 50%;
	left: -12rem;
	transform: translateY(-50%);
	transition-delay: 1.2s;
}
.groupLogoWrap li._08 {
	top: 5.1rem;
	left: -5.1rem;
	transition-delay: 1.4s;
}
.groupLogoWrap li img {
	max-height: 7rem;
}
.groupLogoWrap li img[src*="rs"] {
	max-height: 9rem;
}
.groupLogoWrap li img[src*="its"] {
	max-height: 5rem;
}
.groupLogoWrap li img[src*="tokai"],
.groupLogoWrap li img[src*="ishizaka"] {
	max-height: 6rem;
}
.groupLogoWrap li .txt {
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.2;
}
.groupLogoWrap li .txt.alnleft {
	width: fit-content;
	margin: 0 auto;
	text-align: left;
}
#groupListArea {
	padding-top: 0;
	background: var(--c_or);
	overflow: visible;
}
#groupListArea .groupListWrap {
	margin-top: -9rem;
	position: relative;
	z-index: 15;
}

/*news
---------------------------------------------------------*/
#page-news .pageTtlArea {
	background-image: url(../img/news/page_ttl.jpg);
}
.postArea {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8rem;
}
.newsContWrap {
	flex: 1;
}
.displayName {
	margin-bottom: 2rem;
}
.pager {
	margin-top: 5rem;
	font-size: 1.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: .8rem 3rem;
}
.pager .next,
.pager .prev {
	display: block;
	display: block;
	width: 3rem;
	aspect-ratio: 1;
	border: 1px solid var(--c_or);
	border-radius: 50%;
	background: url(../img/arw_or.svg) center center no-repeat;
	background-size: 50% auto;
}
.pager .prev {
	transform: scale(-1,1);
}
.pager .current {
	color: var(--c_or);
	text-decoration: underline;
}
.pager a:hover {
	color: var(--c_or);
}

/*detail
-----------------------------------*/
#page-news .pageTtlArea._02 {
	background: url(../img/news/page_ttl02.jpg);
}
.newsHeader {
	text-align: left;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	padding-bottom: 3rem;
	margin-bottom: 5rem;
	border-bottom: 1px solid #000;
	position: relative;
}
.newsHeader .cate {
	display: inline-block;
	width: auto;
	min-width: 9rem;
}
.newsHeader .date {
	color: #000;
}
.newsHeader h2 {
	width: 100%;
	font-size: 2.4rem;
}
.newsContents {
	text-align: left;
	line-height: 1.8;
}
.newsContents h1 {
	color: var(--c_or);
	font-size: 150%;
	border-bottom: 1px solid var(--c_or);
	padding-bottom: 0.2em;
	margin-bottom: 1em;
}
.newsContents h2 {
	color: var(--c_or);
	font-size: 135%;
	border-bottom: 1px solid var(--c_or);
	padding-bottom: 0.2em;
	margin-bottom: 1em;
}
.newsContents h3 {
	color: var(--c_or);
	font-size: 125%;
	margin-bottom: 1em;
	border-left: .5rem solid var(--c_or);
	padding-left: 0.3em;
	margin-bottom: 1em;
}
.newsContents h4 {
	color: var(--c_or);
	font-size: 115%;
	margin-bottom: 1em;
}
.newsContents h5 {
	font-size: 112.5%;
	margin-bottom: 1em;
}
.newsContents h6 {
	font-size: 105%;
	margin-bottom: 1em;
}
.newsContents a {
	text-decoration: underline;
	color: var(--c_or);
}
.newsContents a:hover {
	text-decoration: none;
	color: var(--c_or);
}
.postImg {
	text-align: center;
	margin-bottom: 5rem;
}
.pageset {
	margin-top: 8rem;
	font-size: 1.4rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: .8rem;
}
.pageset  > a {
	font-size: 1.4rem;
	display: inline-flex;
	align-items: flex-end;
	gap: .5rem;
	line-height: 1;
}
.pageset  > a::after {
	content: "";
	display: block;
	background: url(../img/arw_bk.svg) center center no-repeat;
	background-size: contain;
	width: 1.5rem;
	margin-bottom: 0.2rem;
	aspect-ratio: 15/6;
}
.pageset a#prev {
	flex-direction: row-reverse;
}
.pageset a#prev::after {
	transform: scale(-1,1);
}
.pageset  > a:hover {
	opacity: .6;
}
.pageset .backBtn {
	margin-top: 0;
}
.dmmy {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

/*aside-----------------------------*/
.sideNav {
	width: 22rem;
	text-align: left;
	font-weight: 500;
}
.sideBox:not(:first-of-type) {
	margin-top: 5rem;
}
.sideTtl {
	font-size: 2.5rem;
	margin-bottom: .5rem;
}
.sideBox._archive .sideTtl {
	border-bottom: 2px solid #fd5a00;
	padding-bottom: 1rem;
	margin-bottom: 0;
}
.sideBox .child {display: none;}
.sideBox li a,.toggle_btn {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	border-bottom: 2px solid #fff;
	background: #d9d9d9;
	padding: 1.5rem 2.5rem 1.5rem 1.5rem;
	line-height: 1.1;
	cursor: pointer;
	transition: .2s;
}
.sideBox li a::after,
.toggle_btn::after {
	content: "";
	display: block;
	background: url("../img/arw_or.svg") center center no-repeat;
	background-size: contain;
	width: 1.5rem;
	aspect-ratio: 15/6;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1
}
.archiveList li a,.toggle_btn {
	border-bottom: 1px solid #d9d9d9;
	background: #fff;
}
.toggle_btn::after {
	transform: rotate(90deg) translateY(-50%);
}
.toggle_btn.active {
	background: #f1f1f1
}
.toggle_btn.active::after {
	transform: rotate(-90deg) translateY(-50%);
}
.sideBox li a:hover,.toggle_btn:hover {
	background: #f1f1f1
}

/*company
---------------------------------------------------------*/
#page-company .pageTtlArea {
	background-image: url(../img/company/page_ttl.jpg);
}
.secBg {
	position: relative;
}
.secBg::before {
	content: "";
	display: block;
	background: url(../img/sec_bg01.png) top left no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	aspect-ratio: 1400/777;
	z-index: -990;
}
#companyTop {
	padding: 10rem 0;
}
.heroLogoWrap {
	position: relative;
}
.heroEng {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
.heroLogo {
	width: 48.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	white-space: nowrap;
	gap: 1rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	font-size: 1.8rem;
	font-weight: 700;
}
.heroGroup {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem 7rem;
	transition-delay: 2s;
	margin-top: 6rem;
}
.companyTxt {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 10rem;
}
.companyTxt .img {
	width: 50%;
	position: relative;
	padding-right: 7rem;
}
.companyTxt .img figure:nth-of-type(1) {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 55%;
	z-index: 1;
}
.companyTxt .box {
	flex: 1;
	text-align: left;
}
.companyTxt .box h2 {
	font-size: 4.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.2;
	margin-bottom: 4rem;
}
.companyTxt .box h2 small {
	display: block;
	font-size: 2rem;
	font-weight: 700;
}
.aboutArea {
	background: #fff;
	padding: 80px 5%;
}
.aboutWrap dt,.aboutWrap dd {
	text-align: left;
	border-bottom: 1px solid #9a9a9a;
	padding: 2rem 1.5rem 2rem;
	line-height: 2
}
.aboutWrap dt:last-of-type,.aboutWrap dd:last-of-type {
	border-bottom: none;
}
.aboutWrap dt {
	width: 30%;
	font-weight: 700;
	padding-left: 10rem
}
.aboutWrap dd {
	width: 70%;
	font-weight: 400;
}
.aboutWrap a {
	color: #fd5a00;
	text-decoration: underline;
}
.aboutWrap a:hover {
	color: #4d4d4d;
	font-weight: 500;
	text-decoration: none;
}
.aboutAreaList a {
	display: block;
	width: 16.5rem;
	min-width: 16.5rem;
}
.aboutAreaList .add *,
.aboutGroup .txt * {
	display: inline-block;
}
.aboutAreaList .add br,
.aboutGroup .txt br {
	display: none!important;
}
.aboutGroup .txt:not(:last-of-type) {
	margin-bottom: 1.5em;
}
#about {
	background-image: url(../img/company/about_bg01.png),url(../img/company/about_bg02.png);
}

/*philosophy
---------------------------------------------------------*/
#page-philosophy .pageTtlArea {
	background-image: url(../img/philosophy/page_ttl.jpg);
}
.philosophyWrap {
	display: flex;
	flex-direction: row-reverse;
	gap: 6rem;
}
.philosophyWrap .img {
	width: 49.1rem;
}
.philosophyWrap .box {
	flex: 1;
	text-align: left;
}
.philosophyWrap .box h2 {
	font-size: 4rem;
	margin-bottom: 3rem;
}
.philosophyCont {
	display: flex;
	justify-content: space-between;
	gap: 3rem;
}
.philosophyCont + .philosophyCont {
	margin-top: 15rem;
}
.philosophyCont:nth-of-type(odd) {
	flex-direction: row-reverse;
}
.philosophyCont figure {
	width: 49rem;
	position: relative;
}
.philosophyCont figure::before {
	content: "";
	display: block;
	background: var(--c_or);
	width: 17.5rem;
	aspect-ratio: 1;
	z-index: -1;
	position: absolute;
	right: -4rem;
	bottom: -4rem;
}
.philosophyCont:nth-of-type(even) figure::before {
	right: auto;
	bottom: auto;
	top: -4rem;
	left: -4rem;
}
.philosophyCont .box {
	max-width: 46.5rem;
	text-align: left;
}
.philosophyCont .box h3 {
	font-size: 2.4rem;
	margin-bottom: 3rem;
}
#philosophyBtm {
	padding: 10rem 0;
	background: url(../img/philosophy/btm_bg.jpg) top center no-repeat;
	background-size: cover;
	color: #fff;
}
.philosophyBtm {
	position: relative;
}
.philosophyBtm h2 {
	font-size: 4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.philosophyBtm .img {
	position: absolute;
	display: flex;
	justify-content: space-between;
	width: 31rem;
	aspect-ratio: 31/32;
	top: -5rem;
	left: -8rem;
	z-index: 1;
}
.philosophyBtm .img._01 figure {
	width: 52%;
}
.philosophyBtm .img._01 figure:nth-of-type(2) {
	width: 28%;
	margin-top: auto;
}
.philosophyBtm .img._02 {
	width: 23.5rem;
	aspect-ratio: 235/308;
	top: -3rem;
	left: auto;
	right: -10rem;
	flex-direction: row-reverse;
}
.philosophyBtm .img._02 figure {
	width: 61%;
}
.philosophyBtm .img._02 figure:nth-of-type(2) {
	width: 48%;
	margin-top: auto;
	margin-right: -2.2rem;
	z-index: -1;
}
.philosophyBtm .messageSvg {
	margin: 0 auto;
	max-width: 65rem;
}

/*history
---------------------------------------------------------*/
#page-history .pageTtlArea {
	background-image: url(../img/history/page_ttl.jpg);
}
.history {
	position: relative;
}
.history::before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	top: 2rem;
	left: 0;
	bottom: 0;
	background: var(--c_or);
	z-index: -10;
}
.history li {
	display: grid;
	grid-template-columns: 25rem 1fr 26rem;
	align-items: flex-start;
	gap: 1rem 6rem;
	text-align: left;
	position: relative;
	opacity: 0;
	transform: translate(1.5rem);
	transition: .8s .6s;
}
.history li.act {
	opacity: 1;
	transform: translate(0);
}
.history li + li {
	margin-top: 8rem;
}
.history .ye {
	position: relative;
	font-size: 5.6rem;
	font-weight: 600;
	white-space: nowrap;
	line-height: .8;
	padding-left: 4rem;
}
.history .ye::before {
	content: "";
	display: block;
	width: 1.5rem;
	aspect-ratio: 1;
	background: var(--c_or);
	border-radius: 50%;
	position: absolute;
	left: -.75rem;
	top: 50%;
	transform: translateY(-50%);
}
.history .ye small {
	font-size: 2rem;
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	font-weight: 600;
}
.history .img {
	width: 26rem;
}
.history .img > * + *{
	margin-top: 3rem;
}
.history .txt {
	flex: 1;
}
.history .logo span {
	font-size: 1.3rem;
	font-weight: 600;
	display: block;
}
.history .logo img {
	max-height: 4.8rem;
}
.history .logo.d-flex {
	align-items: center;
	gap: 1rem;
}
.history li:last-of-type::before {
	content: "";
	display: block;
	width: 2px;
	background: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
	top: 2rem;
	z-index: -5;
}

/*message
---------------------------------------------------------*/
#page-message .pageTtlArea {
	background-image: url(../img/message/page_ttl.jpg);
}
.messageWrap {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	gap: 12rem;
}
.messageWrap + .messageWrap {
	margin-top: 12rem;
}
.messageWrap .img {
	flex: 1;
	margin-right: calc(-50vw + 50%);
	text-align: left;
}
#message_philosophy .img {
	margin-right: 0;
}
.messageWrap .box {
	width: 49rem;
	text-align: left;
}
.messageWrap .box h2 {
	position: relative;
	width: fit-content;
	font-size: 4.8rem;
	margin-bottom: 4rem;
	letter-spacing: 0.05em;
}
.messageWrap .box h2 .eng {
	position: absolute;
	width: 21.4rem;
	bottom: -3rem;
	right: -10.5rem;
}
.messageWrap .box h3 {
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	margin-bottom: 4rem;
}
.messageWrap .box .txt-lh {
	line-height: 2;
}
.president {
	margin-top: 2rem;
	font-size: 2rem;
	font-weight: 500;
	text-align: left;
}
.president small {
	display: block;
	font-size: 70%;
	font-weight: 400;
}
.messageWrap:nth-of-type(even) {
	flex-direction: row;
}
.messageWrap:nth-of-type(even) .img {
	margin-right: 0;
	margin-left: calc(-50vw + 50%);
	text-align: right
}








/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1150px) {
	html {
		font-size: .8vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5
	}
	body.active {
		overflow: hidden;
	}
	article > section {
		padding: 4rem 0;
	}
	/*header
	-------------------------------------------------------*/
	.hWrap {
		height: 5.4rem;
		padding: 0 0 0 1rem;
		align-items: center;
	}
	#hNav {
		display: none;
	}
	.hLogo img {
    max-height: 2.4rem;
	}
	.menuIconWrap {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 5.4rem;
		height: 5.4rem;
		background: #000;
		z-index: 90000
	}
	.menuIcon {
		position: absolute;
		top: 50%;
		right: 0;
		left: 0;
		transform: translateY(-50%);
		margin: 0 auto;
		width: 3rem;
		height: 2.2rem;
		z-index: 10;
		cursor: pointer;
		display: block;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		width: 100%;
		height: .2rem;
		background:#fff;
		z-index: 10;
		transition: .2s;
	}
	.menuIcon span:nth-of-type(1) {top: 0px;}
	.menuIcon span:nth-of-type(2) {top: 1rem;	}
	.menuIcon span:nth-of-type(3) {bottom: 0px;	}
	.menuIcon.active span {
		background: #fff!important
	}
	.menuIconWrap.active span:nth-of-type(1) {
		-webkit-transform: translateY(1rem) rotate(45deg);
		transform: translateY(1rem) rotate(45deg);
	}
	.menuIconWrap.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menuIconWrap.active span:nth-of-type(3) {
		-webkit-transform: translateY(-1rem) rotate(-45deg);
		transform: translateY(-1rem) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 0;
		bottom: 0;
		right: 0;
		z-index: 10;
		width: 100%;
		height: 100%;
		transition: all 0.3s ease-in-out;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		display: block;
		font-size: 1.4rem;
		background: #000;
		padding: 0 1rem ;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
		z-index: 9990;
		pointer-events: all;
	}
	.spLogo {
		height: 5.4rem;
		display: flex;
		align-items: center;
	}
	.spLogo img {
		max-height: 2.4rem;
	}
	.nav {
		margin: auto;
		display: block;
		width: 100%;
		padding: 0;
	}
	.nav > li {
		margin-top: 0;
		border-bottom: 1px solid #585858;
	}
	.nav > li > a {
		display: flex;
		align-items: center;
		position: relative;
		gap: .8rem;
		padding: 1.5rem 1rem;
		color: #fff!important;
	}
	.nav > li > a::after {
		content: "";
		display: block;
		background: url(../img/arw_or.svg) center center no-repeat;
		background-size: contain;
		width: 1.5rem;
		aspect-ratio: 15/6;
		position: absolute;
		top: 50%;
		right: 1rem;
		transform: translateY(-50%);
		z-index: 1;
		transition: .2s;
	}
	.nav > li.spTglNav > a::after {
		background-image: url(../img/tgl.svg);
		aspect-ratio: 15/8;
	}
	.nav > li.spTglNav.open a {
		color: #fff;
		background: #2f2f2f;
	}
	.nav > li.spTglNav.open a::after {
		transform: translateY(-50%) rotate(180deg);
	}
	.childNav {
		margin-top: 0;
		display: none;
		padding: 0 1.5rem 1.5rem;
		background: #2f2f2f;
	}
	.childNav .sp {
		display: block;
	}
	.childNav li + li {
		margin-top: 1.2rem;
	}
	nav a .en {
		margin: 0;
	}

	/*footer
	---------------------------------------------------------*/
	#footer {
		padding: 3rem 0;
	}
	.fLinkArea {
		padding: 3rem 0;
	}
	.fLink {
		display: block;
	}
	.fLink li a {
		aspect-ratio: 5/1.8;
	}
	.fLink li a .en {
		font-size: 2.6rem;
	}
	.fLogo {
		width: 100%;
	}
	.fLogo img{
    max-height: 2.2rem;
		margin: 0 auto;
	}
	.fBtm {
		display: block;
		margin-top: 3rem;
	}
	.copyright {
		margin-top: 3rem;
	}
	

	/*toppage
	---------------------------------------------------------*/
	#mv,
	#message,
	.mvbg01 {
		min-height: 40rem;
	}
	.mvBox {
		gap: 5vh;
	}
	.mvCopy {
		font-size: 4rem;
	}
	.mvLogo {
		font-size: 1.6rem;
	}
	.mvLogo img {
		max-height: 3.5rem;
		margin-bottom: 1rem;
	}
	.mvEng {
		top: 14%;
	}
	.mvEng img {
		filter: drop-shadow(0 0 .7rem rgba(0,0,0,.2));
	}
	.mvGroup {
		flex-wrap: wrap;
		gap: 1rem 0;
		bottom: 3%;
	}
	.mvGroup li {
		width: 33.333%;
	}
	.mvGroup li:nth-of-type(n+4) {
		width: 25%;
	}
	.mvGroup li img {
		max-height: 3.2rem;
	}
	:root{
		--logoSize: 30rem;
	}
	.logoArea {
		display: none;
	}
	.spMvLogo {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 30rem;
		transition-delay: 1s;
	}
	.spMvLogo._02 {
		filter: brightness(0.8)!important;
		opacity: .3!important;
		transform: translateX(-50%);
		top: 3rem;
	}
	.message h2 {
		font-size: 2rem;
	}
	.message .txt-lh {
		font-size: 105%;
		text-align: left;
	}
	.messageSvg {
		margin-right: auto;
	}
	.messageSvg.act .handwriting_mask_line {
		animation-duration: 6s;
	}
	.message .more {
		margin-top: 3rem;
	}
	.topnews {
		display: block;
	}
	.topNewsLft {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 2rem;
	}
	.topnews h2 {
		font-size: 3rem;
	}
	.more {
		margin-top: 0;
	}
	.newsList a {
		padding: 2rem 0;
	}
	.newsList a .txt {
		width: 100%;
		flex: auto;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
	.cate {
		width: auto;
		font-size: 1rem;
		padding: .2rem .5rem .3rem;
	}
	.ttlBox .en {
		font-size: 3rem;
	}
	.groupListWrap,
	.groupList {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
	}
	.groupList a {
		display: block;
		min-height: 15rem;
		padding: 0;
		font-size: 1rem;
		height: 11rem;
	}
	.groupList .logo img {
    max-height: 3.2rem;
}
	.groupList .logo img[src*="_toukan"] {max-height: 3.1rem;}
	.groupList .logo img[src*="_its"] {max-height: 3rem;}
	.groupList .logo img[src*="_ishizaka"] {max-height: 1.5rem;}
	.groupList .logo img[src*="_tokai"] {max-height: 2rem;}
	.groupList .logo img[src*="_rs"] {max-height: 3.5rem;}
	.groupList .logo img[src*="_weeds"] {max-height: 3.2rem;}
	.groupList dt {
		margin-bottom: 0.7rem;
		padding: 1rem;
		padding-bottom: 0;
	}
	.groupList dt.d-flex {
		flex-direction: column;
		align-items: flex-start;
		gap: .4rem;
		font-size: 1.1rem;
	}
	.groupList dd {
		padding-bottom: 1rem;
		padding-left: 1rem;
		padding-right: 15rem;
	}
	.groupList ._weeds dt {
		font-size: 1.1rem;
	}
	#locationsArea {
		padding: 4rem 0
	}
	.locationsArea {
		min-height: auto;
	}
	.locationsTtl {
		position: relative;
		top: 0;
		z-index: 1;
		margin-bottom: 22rem;
	}
	.mapNav {
		position: relative;
		top: auto;
	}
	.pin li {
		display: none;
		transform: translateY(0)!important;
		opacity: 1!important;
	}
	.pin li.on {
		display: block;
	}
	.mapWrap {
		width: 96rem;
		top: -30rem;
		left: -29rem;
	}

	/*subPage
	---------------------------------------------------------*/
	.pageTtlArea,
	.pageTtlArea._02 {
		height: 12rem;
	}
	.pageTtlArea .en {
		font-size: 3rem;
		margin-bottom: 0.2rem;
	}
	.pageTtlArea h1 {
		font-size: 1.4rem;
	}

	/*group__detail
	---------------------------------------------------------*/
	#page-group__detail >article {
		background-size: auto 80rem;
	}
	#groupCont {
		padding-bottom: 9rem;
	}
	.groupLogo img {
			max-height: 3.5rem;
	}
	.groupLogo {
		margin-bottom: 3rem;
	}
	.groupCont {
		display: block;
	}
	.groupCont .img {
		width: 100%;
		margin-bottom: 2rem;
	}
	.groupCont dl {
		padding-bottom: 0;
	}
	.groupCont dt {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.more._02 a {
		flex-wrap: wrap;
		gap: 1rem;
	}
	.groupCont .more._02 {
		position: relative;
		margin-top: 3rem;
	}
	#accessMap .gmap {
		height: 20rem;
	}
	.locationsCont li {
		display: block;
	}
	.locationsCont .rht {
		width: 100%;
		margin-top: 2rem;
		flex-direction: column;
		gap: 1rem;
	}
	.locationsCont .rht .img {
		width: 100%;
	}
	.locationsCont .rht .gmap {
		height: 22rem;
	}
	.locationsCont li + li {
		padding-top: 3rem;
		margin-top: 3rem;
	}
	.messageBox {
		padding: 2rem;
	}
	.photoGarrelyBox {
		padding: 2rem;
	}
	.slick-arrow {
		width: 2rem;
		border: none;
		background-color: #333;
		right: -1.5rem;
		top: 0;
		bottom: 0;
		aspect-ratio: auto;
		border-radius: 0;
	}
	.slick-arrow.prev {
		left: -1.5rem;
	}
	.backBtn {
		margin-top: 4rem;
	}

	/*group_list
	-------------------------------------------------------*/
	.groupTxt h2 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.groupTxt {
		padding-bottom: 17rem;
	}
	.groupTxt .img li._01 {
		max-width: 13rem;
		left: 2rem;
		top: auto;
		bottom: -8rem;
	}
	.groupTxt .img li._02 {
		max-width: 8rem;
		top: -8rem;
		right: -1rem;
	}
	.groupTxt .img li._03 {
		max-width: 11rem;
		right: 0;
		top: auto;
		bottom: 0;
	}
	.groupLogoWrap li {
		width: 10rem;
		height: 8rem;
	}
	.groupLogoWrap li {
		width: 13rem;
		height: 8rem;
	}
	.groupLogoWrap li._00 {
		width: 15rem;
	}
	.groupLogoWrap li._01 {
		top: -3rem;
	}
	.groupLogoWrap li._02 {
		top: 3.1rem;
		right: -1.1rem;
	}
	.groupLogoWrap li._03 {
		top: 50%;
		right: -3rem;
	}
	.groupLogoWrap li._04 {
		bottom: 2.1rem;
		right: -2.1rem;
	}
	.groupLogoWrap li._05 {
		bottom: -3rem;
	}
	.groupLogoWrap li._06 {
		bottom: 3.1rem;
		left: -2.1rem;
	}
	.groupLogoWrap li._07 {
		top: 50%;
		left: -3rem;
	}
	.groupLogoWrap li._08 {
		top: 3.1rem;
		left: -1.1rem;
	}
	.groupLogoWrap li img {
		max-height: 4rem;
	}
	.groupLogoWrap li img[src*="rs"] {
		max-height: 5rem;
	}
	.groupLogoWrap li img[src*="its"] {
		max-height: 3rem;
	}
	.groupLogoWrap li img[src*="tokai"],
	.groupLogoWrap li img[src*="ishizaka"] {
		max-height: 3rem;
	}
	.groupLogoWrap li .txt {
		font-size: 1rem;
		font-weight: 600;
		line-height: 1.2;
	}
	.bgEng {
		top: -4em;
		bottom: -7rem;
		left: 0;
		right: 0;
		transform: none;
		justify-content: space-between;
		width: 100%;
	}
	#groupCompany {
		padding: 8rem 0 15rem;
	}
	#groupCompany::before,
	#groupCompany::after {
		height: 7rem;
	}

	/*news
	-------------------------------------------------------*/
	.postArea {
		display: block;
	}
	.pager {
		margin-top: 3rem;
		gap: .8rem 2rem;
	}
	.pager .next,
	.pager .prev {
		width: 2.5rem;
	}
	.sideNav {
		margin-top: 6rem;
		width: 100%;
	}
	.sideTtl {
		font-size: 2rem;
	}

	/*detail
	-----------------------------------*/
	.newsHeader {
		padding-bottom: 2rem;
		margin-bottom: 2rem;
	}
	.newsHeader h2 {
		font-size: 1.6rem;
	}
	.postImg {
		margin-bottom: 3rem;
	}
	.pageset {
		flex-wrap: wrap;
		margin-top: 5rem;
	}
	.pageset .backBtn {
		order: 3;
		width: 100%;
		margin-top: 2rem;
	}

	/*company
	-------------------------------------------------------*/
	#companyTop {
		padding: 4rem 0;
	}
	.secBg::before {
		aspect-ratio: 11/13;
		background-size: 130% 100%;
	}
	.heroEng {
		gap: 10rem 0;
	}
	.heroLogo {
		width: 24rem;
		font-size: 1.4rem;
	}
	.heroGroup {
		flex-wrap: wrap;
		gap: 1rem 0;
		margin-top: 3rem;
	}
	.heroGroup li {
		width: 33.333%;
	}
	.heroGroup li:nth-of-type(n+4) {
		width: 25%;
	}
	.heroGroup li img {
		max-height: 3.2rem;
	}
	.companyTxt {
		display: block;
	}
	.companyTxt .img {
		width: 100%;
		margin-bottom: 3rem;
		padding-bottom: 2rem;
	}
	.companyTxt .box h2 small {
		font-size: 1.4rem;
		margin-bottom: 0.5rem;
	}
	.companyTxt .box h2 {
		font-size: 2.4rem;
		margin-bottom: 2rem;
	}
	.more._02 {
		margin-top: 3rem;
	}
	.aboutArea {
		padding: 2rem;
	}
	.aboutWrap {
		display: block
	}
	.aboutWrap dt, .aboutWrap dd {
		width: 100%;
		padding: 1.5rem 1.5rem 1.5rem 0;
		line-height: 1.6;
	}
	.aboutWrap dt {
		border-left: 4px solid var(--c_or);
		border-bottom: none;
		padding: 0 0 0 1rem;
		margin-top: 1.5rem;
	}
	.aboutAreaList a {
		width: 100%;
	}
	.aboutAreaList .d-flex:not(:last-of-type) {
    margin-bottom: 1.5em;
	}

	/*philosophy
	-------------------------------------------------------*/
	.philosophyWrap {
		display: block;
	}
	.philosophyWrap .img {
		width: 100%;
		max-width: 27rem;
		margin: 0 auto 4rem;
	}
	.philosophyWrap .box h2 {
		font-size: 2.2rem;
		margin-bottom: 2rem;
	}
	#page-philosophy .secBg::before {
		aspect-ratio: 7.5 / 10;
		background-size: 165% 100%;
    }
	.philosophyCont {
		display: block;
	}
	.philosophyCont + .philosophyCont {
		margin-top: 8rem;
	}
	.philosophyCont figure {
		width: 95%;
		margin-bottom: 3rem;
	}
	.philosophyCont:nth-of-type(even) figure {
		margin-left: auto;
	}
	.philosophyCont figure::before {
		width: 15rem;
		right: -2rem;
		bottom: -2rem;
	}
	.philosophyCont:nth-of-type(even) figure::before {
		top: -2rem;
		left: -2rem;
	}
	.philosophyCont .box h3 {
		font-size: 1.8rem;
		margin-bottom: 1rem;
	}
	#philosophyBtm {
		padding: 3rem 0 6rem;
	}
	.philosophyBtm h2 {
		font-size: 2rem;
	}
	.philosophyBtm {
		padding: 0 0 18rem;
	}
	.philosophyBtm .img {
		width: 15rem;
		top: auto;
		bottom: 1rem;
		left: 0;
	}
	.philosophyBtm .img._01 figure:nth-of-type(2) {
    width: 40%;
	}
	.philosophyBtm .img._02 {
    width: 14rem;
		top: auto;
		right: -2rem;
		bottom:-3rem;
	}
	.philosophyBtm .messageSvg {
		margin: .3rem auto 0;
    max-width: 25rem;
	}

	/*history
	-------------------------------------------------------*/
	.history li {
		display: flex;
		flex-wrap: wrap;
		padding-left: 2rem;
	}
	.history .ye {
		font-size: 3rem;
		padding-left: 2rem;
		width: 100%;
		padding-left: 0;
	}
	.history .ye::before {
		left: -2.75rem;
	}
	.history .ye small {
		font-size: 1.2rem;
	}
	.history .img {
		width: 100%;
		margin-top: 2rem;
	}
	.history .logo img {
    max-height: 4.3rem;
		max-width: 24rem;
	}
	.history li:last-of-type::before {
		display: none;
	}


	/*message
	-------------------------------------------------------*/
	.messageWrap {
		display: block;
	}
	.messageWrap + .messageWrap {
		margin-top: 8rem;
	}
	.president {
		font-size: 1.8rem;
	}
	.messageWrap .box {
		margin-top: 3rem;
		width: 100%;
	}
	.messageWrap .box h2 {
		font-size: 3rem;
		margin-bottom: 2rem;
	}
	.messageWrap .box h2 .eng {
    position: absolute;
    width: 16rem;
    bottom: -2rem;
    right: -10rem;
	}
	.messageWrap .box h3 {
		font-size: 1.8rem;
		margin-bottom: 2rem;
	}
















}

