@charset "utf-8";

:root {
	--c_aq: #0097E0;
	--c_bl: #4066D0;
	--c_gr: #2FC288;
	--c_gy: #F5F5F5;
	--c_gy2: #787878;
}
.clr-aq {color: var(--c_aq)!important;}
.clr-bl {color: var(--c_bl)!important;}
.clr-gr {color: var(--c_gr)!important;}
.clr-gy {color: var(--c_gy)!important;}
.clr-gy2 {color: var(--c_gy2)!important;}
.clr-wh {color: #fff!important;}
.clr-bk {color: #000!important;}
.bg-aq {background-color: var(--c_aq)!important;}
.bg-bl {background-color: var(--c_bl)!important;}
.bg-gr {background-color: var(--c_gr)!important;}
.bg-gy {background-color: var(--c_gy)!important;}
.bg-wh {background-color: #fff!important;}

.fo-roboto {
	font-family: "roboto", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height: 1;
}
.fo-roboto-italic {
	font-family: "roboto-condensed", sans-serif;
	font-weight: 400;
	font-style: italic;
	line-height: 1;
}
.txt-lh {
	line-height: 2;
}
/*common
---------------------------------------------------------*/
:root {
	--bdr_trans: 1s 1s cubic-bezier(.68,.03,.31,.94);
	--c_bl: #4066D0;
	--c_gr: #2FC288;
	--c_gy: #F5F5F5;
	--c_gy2: #787878;
}
.bdr,
.js-bdr {
	background: url(../img/bdr.svg) bottom center no-repeat;
	background-size: 100% 100%;
	height: clamp(60.3rem, 31.40625vw,60.3rem);
	position: relative;
	z-index: -1;
	margin-top: -45rem;
	clip-path: inset(0 100% 0 0);
	transition: var(--bdr_trans);
}
.bdr._gy,
.js-bdr._gy {
	background-image: url(../img/bdr_gy.svg);
}
.bdr._wh {
	background-image: url(../img/bdr_wh.svg);
	z-index: 1;
	height: clamp(113.3rem, 31.40625vw,113.3rem);
	margin-top: -50rem;
}
.bdr._wh02 {
	background-image: url(../img/bdr_wh02.svg);
	background-position: top center;
	z-index: 1;
	height: clamp(133rem, 31.40625vw,133rem);
	margin-top: -14rem;
}
@media screen and (max-width: 1920px) {
	.bdr,
  .js-bdr {
		background-size: auto 100%;
	}
	.bdr._wh {
		height: clamp(62rem, 31.40625vw,62rem);
		margin-top: -25rem;
	}
	.bdr._wh02 {
		height: clamp(75.3rem, 31.40625vw,75.3rem);
	}
}
@media screen and (max-width: 780px) {
	.bdr,
  .js-bdr {
	height: 30rem;
	margin-top: -30rem;

	}
}
.bdr._rht,
.js-bdr._rht {
	transform: scale(-1,1);
}
.bdr.act {
	clip-path: inset(0 0 0 0);
}
.js-bg{
  position: relative;
}
.js-bg::before{
  content: "";
  width: 100%;
  height: 100%;
  background-color: var(--c_gy);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  clip-path: inset(0 100% 0 0);
	transition: var(--bdr_trans);
}
.js-bg._reverse::before{
  clip-path: inset(0 0 0 100%);
}
.js-bdr.act,
.js-bg.act::before {
	clip-path: inset(0 0 0 0);
}
.ttlBox {
	text-align: left;
	font-size: 1.4rem;
	margin-bottom: 3rem;
}
.ttlBox h2 {
	font-size: 4.6rem;
	margin-bottom: 0.5rem;
}
.ttlBox._sm h2 {
	font-size: 3.6rem;
}
.moreBtnWrap {
	margin-top: 5rem;
}
.moreBtn {
	color: var(--c_aq);
	text-align: left;
	font-size: 1.3rem;
	display: inline-flex;
	justify-content: center;
	flex-direction: column;
	position: relative;
	padding-right: 2.75rem;
	height: 5.5rem;
	z-index: 1;
}
.moreBtn::before,
.moreBtn::after {
	content: "";
	display: block;
	border-radius: 50%;
	height: 100%;
	aspect-ratio: 1;
	background: var(--c_aq);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	transition: .3s;
	z-index: 1;
}
.moreBtn::after {
	background: url(../img/circle01.svg);
	background-size: contain;
	transition-delay: .2s;
	transform: translateY(-50%) scale(0) rotate(360deg);
	z-index: -1;
}
.moreBtn .arw {
	display: block;
	width: 12.5rem;
	height: 1px;
	position: relative;
	background: var(--c_aq);
	margin: .5rem 0 1em;
	z-index: 1;
	transition: .2s;
}
.moreBtn .arw::before {
	content: "";
	display: block;
	width: 2.75rem;
	height: 1px;
	position: absolute;
	top: 0;
	right: 0;
	background: #fff;
	z-index: 5;
	transition: .2s .2s;
}
.moreBtn .arw::after {
	content: "";
	display: block;
	width: 1rem;
	height: 1px;
	position: absolute;
	right: 0;
	bottom: 0;
	background: #fff;
	transform-origin: bottom right;
	transform: rotate(45deg);
	z-index: 5;
	transition: .2s .2s;
}
.moreBtn._wh {
	color: #fff;
}
.moreBtn._wh .arw,.moreBtn._wh::before,.moreBtn._wh::after {
	background-color: #fff;
}
.moreBtn._wh .arw::before,.moreBtn._wh .arw::after {
	background-color: var(--c_gr);
}
.moreBtn._wh._aq .arw::before,.moreBtn._wh._aq .arw::after {
	background-color: var(--c_aq);
}
.moreBtn:hover:before {
	transform: translateY(-50%) scale(0.7);
	opacity: 0;
}
.moreBtn:hover:after {
	transform: translateY(-50%) scale(1) rotate(0deg);
}
.moreBtn:hover .arw {
	transform: translateX(.7rem);
}
.moreBtn:hover .arw::before,
.moreBtn:hover .arw::after {
	background-color: var(--c_aq);
}
.moreBtn._wh:hover .arw,
.moreBtn._wh:hover .arw::before,
.moreBtn._wh:hover .arw::after {
	background-color: var(--c_gr);
}
.moreBtn._wh._aq:hover .arw,
.moreBtn._wh._aq:hover .arw::before,
.moreBtn._wh._aq:hover .arw::after {
	background-color: var(--c_aq);
}

.moreBtn02{
	display: flex;
	font-size: 1.4rem;
	text-align: left;
	gap: 1.4rem;
}
.moreBtn02 .arw {
	position: relative;
	min-width: 4rem;
	min-height: 4rem;
	display: block;
	border-radius: 50%;
	background: var(--c_aq);
	transition: .3s;
	z-index: 7;
}
.moreBtn02 .arw::before {
	content: "";
	display: block;
	width: 50%;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
	background: #fff;
	z-index: 5;
	transform: translateY(-50%);
}
.moreBtn02 .arw::after {
	content: "";
	display: block;
	width: 0.5rem;
	height: 1px;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	margin-inline: auto;
	background: #fff;
	transform-origin: bottom right;
	transform: translate(-0.3rem, -50%) rotate(45deg);
	z-index: 5;
}
.moreBtn02:hover{
  color: var(--c_aq);
}
.moreBtn02:hover .arw {
  background: url(../img/circle01.svg) center no-repeat;
  background-size: contain;
}
.moreBtn02:hover .arw::before,
.moreBtn02:hover .arw::after{
	background: var(--c_aq);
}


.btnImg {
	position: relative;
	background: #000;
	z-index: 1;
}
.btnImg a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #fff;
	text-align: center;
	aspect-ratio: 3/2;
	position: relative;
	font-size: 1.4rem;
	letter-spacing: .05em;
}
.btnImg a figure {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	z-index: -1;
}
.btnImg a figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
}
.btnImg a:hover figure img {
	transform: scale(1.1);
}
.btnImg a .fo-roboto {
	font-size: 3rem;
	margin-bottom: 0.8rem;
}

/*header
---------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 990;
	transition: .2s;
}
#header.act {
	background: var(--c_aq);
	box-shadow: 0 0 .5rem rgba(0,0,0,.2);
}
.hWrap {
	padding: 1rem 3rem;
	text-align: left;
}
.hLogo img {
	max-height: 5.6rem;
}
#nav {
	display: flex;
	align-items: center;
	gap: 0 3.5rem;
}
.nav {
	gap: 1rem 3.5rem;
}
.nav a {
	color: #fff;
	display: inline-block;
	position: relative;
	line-height: 1.1;
	z-index: 1;
}
.nav a::before {
	content: "";
	display: block;
	background: var(--c_gr);
	position: absolute;
	left: 0;
	right: 0;
	bottom: -.5rem;
	height: 0.2rem;
	z-index: -1;
	clip-path: inset(0 100% 0 0);
	transition: .2s ease-in;
}
.nav a:hover::before {
	clip-path: inset(0 0 0 0);
}
.nav a.blank::after {
	width: 1.3rem;
}
.spLogo,
.spMenu,
.menuIconWrap {
	display: none;
}

.ddNavArea {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #F5F5F5;
	padding: 3rem 0;
	text-align: left;
}
.ddTtl {
	flex: 1;
}
.ddTtl a {
	color: var(--c_bl);
	position: relative;
	display: block;
	background: url(../img/arrow02_aq.svg) right bottom no-repeat;
	background-size: 2rem auto;
}
.ddTit {
	font-size: 225%;
	color: var(--c_aq);
	display: block;
	font-weight: 500;
	margin-bottom: 1rem;
}
.ddNavPanel dd {
	width: 72rem;
}
.ddNav {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 1rem 6rem;
}
.ddNav li {
	border-bottom: 1px solid rgba(0,0,0,.1);
	padding: .8rem 0;
}
.ddNav a {
	display: block;
	background: url(../img/arrow02_aq.svg) right bottom no-repeat;
	background-size: 1.5rem auto;
	padding: 0 2rem 0 1rem;
	color: #000;
}
.ddNav a::before {
	display: none!important;
}
.ddNav a:hover {
	color: var(--c_aq);
}
.tgl {
	padding-bottom: 2.8rem;
	margin-bottom: -2.8rem;
}
.tgl:not(.open) .ddNavArea {
	pointer-events: none;
}



/*footer
---------------------------------------------------------*/
#footer {
	padding: 9rem 0 3rem;
	background: var(--c_gy);
}
.fLft {
	text-align: left;
	max-width: 31.2rem;
	margin-right: 3rem;
}
.fLft address {
	font-size: 1.3rem;
	margin-top: 1.5rem;
}
.fBnr {
	margin-top: 9rem;
}
.fBnr li + li {
	margin-top: 1.5rem;
}
.fBnr .btnImg {
	background: none;
}
.fBnr .btnImg a {
	aspect-ratio: auto;
	background: var(--c_aq);
	padding: 2rem 5rem;
}
.tkkmBnr a {
	display: inline-block;
	text-align: center;
	aspect-ratio: auto;
	background: var(--c_aq);
	padding: 2rem 3rem;
	min-width: 25rem;
}
.tkkmBnr a img {
	width: 100%;
}
.fNav {
	flex: 1;
	max-width: 65.5rem;
	text-align: left;
	gap: 4rem 6.5rem;
	font-size: 1.3rem;
	font-size: max(1.3rem,10px);
	letter-spacing: .05em;
	flex-direction: column;
	flex-wrap: wrap;
	height: 50rem;
	height: max(50rem,330px);
}
.fNav dt a {
	display: block;
	font-size: 123%;
	border-bottom: 1px solid #d9d9d9;
	padding-bottom: 1rem;
	min-width: 17.5rem;
}
.fNav li {
	margin-top: 1.75rem;
}
.fNav li._02 {
	margin-top: 5rem;
}
.fNav02 li a {
	color: #787878;
}
.fNav a.blank::after {
	width: 1.2rem;
}
.fNav a:hover {
	color: var(--c_aq)!important;
}
.fNav li a.blank:hover::after {
	background-image: url(../img/blank_aq.svg);
}
#copyRight {
	margin-top: 10rem;
	font-size: 85%;
}
.tekekomBnr {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 990;
	max-width: 29.1rem;
}

/*toppage
---------------------------------------------------------*/
.mainArea {
	position: relative;
	overflow: hidden;
	height: 81.5rem;
	z-index: 1;
	opacity: 0;
	transition: .8s;
}
.mainArea.act {
	opacity: 1;
}
.mainTtl {
	position: absolute;
	left: 0;
	bottom: 14rem;
	z-index: 10;
	color: #fff;
	text-align: left;
}
.mainTtl h1 {
	letter-spacing: .05em;
	margin-bottom: 1.5rem;
}
.mainTtl h1 span {
	display: inline-block;
	color: #fff;
	font-size: 2.7rem;
	padding: .25rem 1.5rem;
	margin: .25rem 0;
	position: relative;
	z-index: 1;
}
.mainTtl h1 span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--c_aq);
	z-index: -1;
	clip-path: inset(0 100% 0 0);
	transition: .4s 1.2s cubic-bezier(.68,.03,.31,.94);
}
.mainTtl h1 span:last-of-type::before {
	transition-delay: 1.5s;
}
.act .mainTtl h1 span::before {
	clip-path: inset(0 0 0 0);
}
.mainTtl .eng {
	font-size: 8rem;
  text-shadow: .2rem .2rem .5rem rgba(0, 0, 0, .4), .2rem .2rem .5rem rgba(0, 0, 0, .4);
}
.mainTtl .eng strong {
	font-size: 187.5%;
	display: block;
	line-height: .8;
	margin-bottom: 0.8rem;
	font-weight: 500;
	-webkit-text-stroke: .02em #fff;
}
.mainWrap {
	position: relative;
	z-index: 1;
	height: 100%;
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}
/* .bdrBox {
	position: absolute;
	bottom: 0;
	left: 40%;
	transform: translateX(-50%);
	background: url(../img/circle01.svg) bottom right no-repeat;
	background-size: contain;
	width: max(125.5vw,295rem);
	aspect-ratio: 1;
	z-index: 5;
	pointer-events: none;
	clip-path: inset(0 100% 0 0);
	transition: 1.8s cubic-bezier(.68,.03,.31,.94);
}
.act .bdrBox {
	clip-path: inset(0 0 0 0);
} */
.mainSlider {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	z-index: -10;
}
.mainSliderBox {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	z-index: 1;
	opacity: 0;
	transition: 1s;
}
.mainSliderBox.act {
	opacity: 1;
}
.mainSliderBox.hid {
	opacity: 0
}
.mainVideoWrap {
	position: absolute;
	bottom: 0;
	left: 40%;
	transform: translateX(-50%);
	width: max(125.5vw,295rem);
	aspect-ratio: 1;
	border-radius: 0 0 60% 0 / 0 0 80% 0;
	overflow: hidden;
}
@media screen and (min-width: 1920px) {
  .mainVideoWrap {
    border-radius: 0 0 60% 0 / 0 0 60% 0;
	}
}
.mainVideo {
	position: absolute;
	width: 100vw;
	height: 81.5rem;
	bottom: 0;
	left: 50%;
	transform: translateX(-40%);
	overflow: hidden;
	z-index: 1;
}
.mainVideo video {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	margin: auto;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
}
.mainSub {
	position: absolute;
	right: 0;
	bottom: 0;
	top: 0;
	width: 70%;
	overflow: hidden;
	z-index: -1;
}
.mainSub img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.mainArea svg {
	position: absolute;
	right: 0;
	bottom: -0.1rem;
	z-index: 9;
	clip-path: inset(0 100% 0 0);
}
.mainArea .act svg {
	animation: drawLine 4s cubic-bezier(.68, .03, .31, .94);
}
@keyframes drawLine {
	0% {
		clip-path: inset(0 100% 0 0);
	}
	25% {
		clip-path: inset(0 0 0 0);
	}
	85% {
		clip-path: inset(0 0 0 0);
	}
	99% {
		clip-path: inset(0 0 0 100%);
	}
	100% {
		clip-path: inset(0 100% 0 0);
	}
}

.topTxtWrap dl {
	max-width: 52rem;
	text-align: left;
}
.topTxtWrap .eng {
	color: var(--c_aq);
	font-size: 5.2rem;
	font-weight: 300;
	letter-spacing: .05em;
	line-height: 1.2;
	margin-bottom: 2rem;
	text-indent: -0.3em;
	padding-left: 0.3em;
}
.topTxtWrap h2 {
	color: var(--c_bl);
	font-size: 2.4rem;
	letter-spacing: .05em;
	margin-bottom: 2rem;
}
.topTxtWrap {
	gap: 3rem 12rem
}
.topTxtImg {
	max-width: 40rem;
	display: flex;
	justify-content: end;
	flex-wrap: wrap;
	gap: 2rem;
}
.topTxtImg li {
	width: 57.5%;
}
.topTxtImg li:nth-of-type(2) {width: 35.5%;margin: auto 0 0 0;}
.topTxtImg li:nth-of-type(3) {width: 28.5%;}
.topTxtImg li:nth-of-type(4) {width: 47.5%;}
#topNews .newsList {
	margin-top: 7rem;
}
.spTag {
	display: none;
}
.newsList {
	max-width: 82rem;
}
.newsList li {
	border-bottom: 1px solid #D9D9D9;
	padding: 0 1rem 2rem 0;
	margin-bottom: 2rem;
	display: flex;
	align-items: flex-start;
	text-align: left;
	gap: 1rem 3rem;
}
.newsList li:last-of-type {
	margin-bottom: 0;
}
.newsList .lft {
	width: 25rem;
	display: flex;
	align-items: center;
	gap: .5rem 3rem;
}
.newsList .date {
	font-size: 87.5%;
	color: #787878;
}
.cate {
	display: inline-block;
	color: #fff;
	font-size: 81.25%;
	width: 11rem;
	text-align: center;
	padding: 0 .5rem .1rem;
  background-color: var(--c_gy2);
}
.cate._company {
	background-color: var(--c_bl);
}
.cate._ir {
	background-color: var(--c_gr);
}
.cate._recruit {
	background-color: #f9a226;
}
.cate._event {
	background-color: #f562aa;
}
.newsList li a {
	flex: 1;
	position: relative;
	display: block;
	line-height: 1.8;
	padding: 0 9rem 0 0;
}
.newsList li a .more {
	font-size: 1.2rem;
	position: absolute;
	right: 0;
	bottom: -1rem;
}
.newsList li a span {
	font-size: 1.2rem;
	color: #E60012;
	border: 1px solid #E60012;
	padding: .1rem 1rem .3rem;
	margin-left: 0.5rem;
}
.newsList li a:hover {
	color: var(--c_aq);
}
#topCompany {
	position: relative;
	padding-top: 34rem;
}
#topCompany .bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 53rem;
	overflow: hidden;
	z-index: -10;
}
#topCompany .bg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.topTtlWrap {
	position: relative;
	margin-bottom: 3rem;
}
.topTtlWrap .ttlBox {
	margin: 0 8rem 0 0;
}
.topTtlWrap .secTxt {
	max-width: 57rem;
	text-align: left;
	letter-spacing: .05em;
}
.topTtlWrap .moreBtnWrap {
	position: absolute;
	right: 0;
	bottom: 0;
}
.topCompanyWrap {
	position: relative;
	z-index: 10;
	background: #fff;
	padding-top: 7rem;
}
.topCompanyWrap::before {
	content: "";
	display: block;
	background: #fff;
	position: absolute;
	top: 0;
	right: -5rem;
	left: -50vw;
	top: 0;
	bottom: 0;
	z-index: -10;
}
.topCompanyNav {
	gap: 1rem 2%;
}
.topCompanyNav .btnImg {
	width: 32%;
}
.topProductWrap {
	position: relative;
}
.topProductWrap figure {
	flex: 1;
	overflow: hidden;
	margin-left: calc(-50vw + 50%);
}
.topProductWrap figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.topProductWrap dl {
	width: 50%;
	text-align: left;
	padding-left: 8.5rem;
}
.productLink {
	margin-top: 5rem;
}
.productLink li + li {
	margin-top: 2rem;
}
.productLink li a {
	/* display: flex;
	align-items: center;
	position: relative;
	padding: 2rem 2.5rem;
	background: var(--c_gy);
	color: var(--c_aq);
	gap: .5rem 2rem;
	border: 2px solid var(--c_gy); */
}
.productLink li a .fo-roboto {
	font-size: 2.4rem;
}
.productLink li a._bl {
	color: var(--c_bl);
}
.productLink li a::after {
	margin-left: auto;
}
.productLink li a:hover {
	border-color: var(--c_aq);
}
.productLink li a._bl:hover {
	border-color: var(--c_bl);
}
.topCareerrsWrap {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	position: relative;
	overflow: hidden;
	z-index: 1;
	font-size: 1.4rem;
	aspect-ratio: 110/39;
}
.topCareerrsBg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -5;
}
.topCareerrsBg li {
	position: relative;
	overflow: hidden;
	width: 50%;
}
.topCareerrsWrap::before,
.topCareerrsWrap::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background: url(../img/top/careers_ornament01.png) top left no-repeat;
	background-size: contain;
	width: 35.2rem;
	height: 12rem;
}
.topCareerrsWrap::after {
	background: url(../img/top/careers_ornament02.png) bottom right no-repeat;
	background-size: contain;
	top: auto;
	left: auto;
	bottom: 0;
	right: 0;
}
.topCareerrs {
	position: relative;
	z-index: 5;
	letter-spacing: .05em;
	text-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
}
.topCareerrs h3 {
	font-size: 3.1rem;
	font-weight: 400;
	line-height: 1.2;
	margin-bottom: 1rem;
}
.topCareerrs h3 img {
	max-height: 6.4rem;
	vertical-align: -.1em;
}
.topCareerrsWrap .svgWrap{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-43%);
  z-index: 1;
  width: 41rem;
  aspect-ratio: 41/27;
  z-index: -1;
}
.topCareerrsWrap .moreBtn {
	position: absolute;
	right: 3rem;
	bottom: 2rem;
	z-index: 5;
}
.topCareerrsWrap img {
	opacity: 1!important;
}
.topCareerrsBg li img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.topCareerrsWrap .moreBtn {
	right: 1rem;
	bottom: 1rem;
}
.btmNav {
	margin-top: 7rem;
	gap: 1rem 1%;
}
.btmNav .btnImg {
	width: 49.5%;
}
.btmNav .btnImg a {
	aspect-ratio: 5/2;
}
#contactBnr {
	padding-bottom: 4rem;
}
.contactBnr a {
	aspect-ratio: 11/2;
}
.contactBnr a .fo-roboto {
	font-size: 4.6rem;
}

/*subPage-common
---------------------------------------------------------*/
.pageTtlArea {
	position: relative;
	z-index: 1;
	height: 43.7rem;
}
.pageTtlArea > figure {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	overflow: hidden;
	z-index: -50;
}
.pageTtlArea > figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
}
.pageTtl {
	width: 90%;
	height: 100%;
	max-width: 1560px;
	margin: 0 auto;
	text-align: left;
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
	padding-bottom: 5rem;
}
.pageTtl h1 {
	font-size: 7.2rem;
}
.pankz {
	height: 0;
	line-height: 2.5;
	position: relative;
	z-index: 5;
	text-align: left;
}
.pankz ol {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}
.pankz li {
	display: inline-block;
	font-size: 1.2rem;
}
.pankz li:not(:last-of-type)::after {
	content: ">";
	margin-left: 0.5rem;
}
.pankz a:hover {
	color: var(--c_aq);
}
#subPage article > section:first-of-type {
	padding-top: 12rem;
}

/*message
---------------------------------------------------------*/
#messageTop {
	position: relative;
}
#messageTop .bg {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: url(../img/company/message/bg01.jpg) bottom 14rem center no-repeat;
	background-size: cover;
	z-index: -50;
}
@media screen and (min-width: 1421px) {
	#messageTop .bg {
		/* background-size: auto 105.4rem; */
	}
}
@media screen and (min-width: 1921px) {
	#messageTop .bg {
		background-size: 100% auto;
	}
}
.messagetopWrap {
	gap:3rem 8.5rem;
}
.messagetopWrap .img {
	max-width: 38.5rem;
}
.messageTtl {
	flex: 1;
	text-align: left;
}
.messageTtl h2 {
	color: var(--c_aq);
	font-size: 5.2rem;
	font-weight: 300;
	letter-spacing: .05em;
	line-height: 1.2;
	margin-bottom: 2rem;
	text-indent: -0.3em;
	padding-left: 0.3em;
}
.messageTtl p {
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.8;
}
.messageTopArea .imgs {
	justify-content: flex-start;
	flex-direction: row-reverse;
	gap: 0 12rem;
	padding-left: 16.5rem;
	position: relative;
	z-index: 5;
}
.messageTopArea .imgs li:nth-of-type(1) {
	width: 37.5%;
	margin-top: -17rem;
}
.messageTopArea .imgs li:nth-of-type(2) {
	width: 28.3%;
	margin-top: 31.5rem;
	margin-right: -15rem;
}
.messageTopArea .imgs li:nth-of-type(3) {
	width: 22.7%;
	margin-top: 15rem;
}
#messageTop .bdr {
	margin-top: -55rem;
}
.messageWrap {
	gap: 3rem 8rem;
	padding: 0 6rem;
}
.messageWrap > .img {
	width: 30rem;
}
.messageCont {
	flex: 1;
	text-align: left;
}
.messageCont h2 {
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1.8;
	margin-bottom: 3rem;
	letter-spacing: 0.05rem;
}
.presidentName {
	margin-top: 8rem;
	gap:0 1.5rem;
}
.presidentName img {
	max-height: 4.1rem;
}
.messageBtm {
	margin-top: 8rem;
}
.contNavArea {
	padding-bottom: 0;
	overflow: visible;
}
.contNav {
	gap: 1rem 3rem;
}
.contNav li {
	flex: 1;
}
.contNav .btnImg a {
	aspect-ratio: 7/4;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	padding: 1.5rem;
	position: relative;
}
.contNav .ttlBox {
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 0;
	text-shadow: 0 0 1rem rgba(0, 149, 224, 0.50);
}
.contNav .ttlBox .fo-roboto {
	font-size: 3.4rem;
}
.contNav li .arw {
	width: 4rem;
	aspect-ratio: 1;
	border: 1px solid #fff;
	border-radius: 50%;
	position: absolute;
	right: 1.5rem;
	bottom: 1.5rem;
	transition: .4s;
}
.contNav li .arw::before,
.contNav li .arw::after {
	content: "";
	display: block;
	width: 50%;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 50%;
}
.contNav li .arw::after {
	transform-origin: bottom right;
	transform: rotate(45deg);
	width: .7rem;
	left: auto;
	right: 50%;
}
.contNav li a:hover .arw {
	background: var(--c_aq);
	border-color: var(--c_aq);
}

/*history
---------------------------------------------------------*/
.historytopWrap {
	gap: 5rem 7rem;
}
.historytopWrap .imgs {
	max-width: 48rem;
	gap: 0 2rem;
}
.historytopWrap .imgs li {
	width: 60%;
	margin-top: 7rem;
}
.historytopWrap .imgs li:nth-of-type(2) {
	flex: 1;
	margin-top: 0!important;
}
.historytopWrap {
	padding-left: 10rem;
	text-align: left;
}
.historyTopBox {
	padding-top: 4rem;
}
.historytopWrap h2 {
	font-size: 3rem;
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: var(--c_aq);
	margin-bottom: 4rem;
}
.historytopWrap h3 {
	font-size: 2.8rem;
	margin-bottom: 2rem;
}
#historyArea {
	padding-bottom: 0;
	overflow: visible;
}
.historyArea {
	position: relative;
	z-index: 1;
	gap: 8rem 0;
	padding-bottom: 15rem;
}
.historyArea::before {
	content: "";
	display: block;
	width: .4rem;
	background: #e1e1e1;
	position: absolute;
	left: 0;
	right: 0;
	top: -10.6rem;
	bottom: 0;
	margin: 0 auto;
	z-index: -1;
}
.historyArea::after {
	content: "";
	display: block;
	width: 2rem;
	height: 2rem;
	background: var(--c_aq);
	border-radius: 50%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1rem;
	margin: 0 auto;
	z-index: 1;
}
.historyArea dl {
	width: 41rem;
	text-align: left;
	transition: 1s .6s;
	transform: translateX(-3rem);
	opacity: 0;
}
.historyArea dl:nth-of-type(even) {
	transform: translate(3rem,17.5rem);
}
.historyArea dl.act {
	transform: translateX(0);
	opacity: 1;
}
.historyArea dl.act:nth-of-type(even) {
	transform: translate(0,17.5rem);
}
.historyArea dt {
	font-size: 4.8rem;
	color: var(--c_aq);
	margin-bottom: 2rem;
}
.historyArea dd {
	background: #fff;
	padding: 4rem;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	position: relative;
}
.historyArea dd::before {
	content: "";
	display: block;
	position: absolute;
	top: 4.5rem;
	left: 0;
	right: -14rem;
	height: .2rem;
	background: var(--c_aq);
	z-index: -1;
}
.historyArea dd a {
	color: var(--c_aq);
	text-decoration: underline;
}
.historyArea dl:nth-of-type(even) dd::before {
	left: -14rem;
	right: 0;
}
.historyArea dd::after {
	content: "";
	display: block;
	width: 1rem;
	height: 1rem;
	background: var(--c_aq);
	position: absolute;
	right: -14.5rem;
	top: 4.1rem;
	border-radius: 50%;;
}
.historyArea dl:nth-of-type(even) dd::after {
	left: -14.5rem;
	right: 0;
}
.historyArea dd figure {
	max-width: 24rem;
}
.historyArea dd .date {
	font-size: 1.8rem;
	color: #4066D0;
}
.historyArea dd .date span {
	font-family: "roboto", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height: .8;
	color: var(--c_aq);
	font-size: 112.5%;
}
.historyArea dd .date small {
	color: #000;
}
#historyBtm {
	padding: 0;
	position: relative;
	height: 40rem;
	display: flex;
	align-items: center;
}
#historyBtm .bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -10;
	overflow: hidden;
}
#historyBtm .bg img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
}
.historyBtm {
	text-align: right;
	max-width: 800px;
}
.historyBtm .txtBox {
	display: inline-block;
	text-align: left;
	color: #fff;
	letter-spacing: 0.05;
}
.historyBtm .txtBox h2 {
	font-size: 4.6rem;
	font-weight: 300;
	margin-bottom: 3rem;
}

/*faq
---------------------------------------------------------*/
.faqArea {
	text-align: left;
}
.faqArea:not(:first-of-type) {
	margin-top: 8rem;
}
.faqArea .ttl {
	display: flex;
	align-items: center;
	color: var(--c_aq);
	gap: 1.5rem;
	margin-bottom: 3.5rem;
}
.faqArea .ttl .num {
	font-size: 3.2rem;
}
.faqArea .ttl h2 {
	font-size: 2.4rem;
	letter-spacing: .1em;
}
.faqWrap dl:last-of-type {
	border-bottom: 1px solid #e1e1e1;
}
.faqWrap dt,.faqWrap dd {
	line-height: 1.8;
	padding: 2.5rem 7.5rem;
	position: relative;
	border-top: 1px solid #e1e1e1;
}
.faqWrap dt {
	cursor: pointer;
	font-weight: 500;
	transition: .2s
}
.faqWrap dt:not(.act):hover {
	background: rgba(0,0,0,.02);
}
.faqWrap dd {
	display: none;
	background: var(--c_gy);
}
.faqWrap dd a {
	color: var(--c_aq);
	text-decoration: underline;
}
.faqWrap dt::before,.faqWrap dd::before {
	content: "Q";
	font-family: "roboto", sans-serif;
	font-weight: 500;
	font-style: normal;
	line-height: .8;
	color: var(--c_aq);
	font-size: 3.2rem;
	display: block;
	width: 2rem;
	position: absolute;
	left: 3.5rem;
	top: 2.5rem;
}
.faqWrap dd::before {
	content: "A";
	color: var(--c_bl);
}
.faqWrap dt::after {
	content: "";
	display: block;
	background: url("../img/arrow_aq.svg") center center no-repeat;
	background-size: contain;
	width: 1.2rem;
	height: auto;
	aspect-ratio: 22/13;
	position: absolute;
	right: 3.5rem;
	top: 50%;
	-transition-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	transition: .1s
}
.faqWrap dt.act::after {
	-webkit-transform: translateY(-50%) rotate(180deg);
	-ms-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}

/*legal
---------------------------------------------------------*/
.txtCont {
	text-align: left;
}
.txtCont + .txtCont {
	margin-top: 8rem;
}
.txtCont dt {
	padding: 2.5rem 0;
	background-image: linear-gradient(90deg, var(--c_bl) 0 3rem, #D9D9D9 3rem);
	background-repeat: no-repeat;
	background-size: 100% 0.2rem;
	background-position: top;
}
.txtCont dt .eng {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	font-weight: 400;
	color: var(--c_aq);
	margin-bottom: .5rem;
}
.txtCont dt .ttl {
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	font-weight: 500;
}
.txtCont .txt {
	line-height: 1.8;
}

/*privacy
---------------------------------------------------------*/
.privacySec {
	text-align: left;
}
.privacySec h2 {
	border-bottom: 1px solid #E1E1E1;
	padding-bottom: .5rem;
	margin-bottom: 2.4rem;
	font-weight: 500;
}
.privacySec h2:not(:first-of-type) {
	margin-top: 8rem;
}
.privacySec .txt {
	line-height: 1.8;
}
.privacySec li {
	padding-left: 1em;
	text-indent: -1em;
	margin-top: 0.5rem;
}
.privacySec li::before {
	content: "・";
}

/*contact
---------------------------------------------------------*/
.formStep {
	margin-bottom: 10rem;
	gap: 0 10rem;
}
.formStep li {
	position: relative;
	text-align: center;
	font-size: 1.4rem;
	color: var(--c_gy2);
}
.formStep li:not(:first-of-type)::before {
	content: "";
	display: block;
	width: 2.5rem;
	height: 0.2rem;
	border-radius: 10rem;
	background: var(--c_aq);
	position: absolute;
	top: 2.9rem;
	left: -6.25rem;
}
.formStep .num {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.2rem;
	width: 6rem;
	aspect-ratio: 1;
	background: #e1e1e1;
	border-radius: 50%;
	margin-bottom: 0.5rem;
}
.formStep li.current {
	color: var(--c_aq);
}
.formStep li.current .num {
	background: var(--c_aq);
	color: #fff;
}

/*form
---------------------------------------------------------*/
.formTxt {
	font-size: 115%;
	font-weight: 600;
	margin-bottom: 4rem;
}
.formWrap {
	text-align: left;
}
.formBox dt::before {
	content: "任意";
	font-size: 85%;
	font-weight: 400;
	padding: .5rem 1rem;
	border-radius: .5rem;
	display: inline-block;
	background: #929292;
	color: #fff;
	line-height: 1;
	margin-right: 1rem;
}
.formBox dt.req::before {
	content: "必須";
	color: #fff;
	background: var(--c_aq)
}
.formBox dt {
	margin-bottom: 1.5rem;
}
.formBox dt:not(:first-of-type) {
	margin-top: 5rem;
}
.formName > .txt {
	width: 40%;
	display: flex;
	align-items: center;
}
.formName > .txt:first-of-type {
	margin-right: 2%;
}
.formName .txt span {
	display: block;
	white-space: nowrap;
	margin-right: 1rem;
}
.form-address p {
	text-align: left;
	padding: 5px 0;
}
.formBox input[type="text"],.formBox input[type="tel"],.formBox input[type="email"],.formBox select,.formBox textarea {
	width: 100%;
	padding: 1.4rem .575em;
	border: 1px solid #ccc;
	border-radius: 3px;
	background: var(--c_gy);
}
.formBox input:not(:placeholder-shown),.formBox textarea:not(:placeholder-shown) {
	background: #fff;
}
.formBox input[type="text"].size-s {
	max-width: 21rem;
}
.formBox label {
	margin: 0;
}
.radioWrap {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 3rem;
}
.formBox select {
	width: auto;
	background: #fff;
	color: #000
}
.formBox option:first-of-type {
	background: #b3b3b3;
	color: #fff;
}
.formBox textarea {
	height: 19rem;
}
.formBox .disabled input {
	pointer-events: none;
	border: none;
}
.zipBtn {
	background: #666;
	color: #fff;
	margin-left: 1rem;
	border: none;
	padding: .8rem 2rem;
	cursor: pointer;
	line-height: 1.1;
}
.zipBtn:hover {
	background: #ccc
}
.policyTxt a {
	text-decoration: underline;
	display: inline-block;
	color: var(--c_aq);
	margin-bottom: 2rem;
}
.policyTxt a:hover {
	color: var(--c_gy2);
	text-decoration: none;
}
.policyCheck {
	margin-top: 5rem;
	text-align: center;
}
.formBtn {
	margin-top: 5rem;
	gap: 2rem
}
.mw_wp_form_confirm button.button._grey {
	display: block!important;
}
.formWrap input[type="submit"],.formWrap input[type="button"],.formWrap button.button._grey {
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	color: #fff;
	font-size: 115%;
	letter-spacing: .075em;
	text-indent: .075em;
	background: var(--c_aq);
	min-width: 30rem;
	display: block;
	border: none;
	border-radius: 10rem;
	padding: 1.5rem 2rem;
	transition: .2s;
	cursor: pointer;
}
.formWrap input[type="submit"]._green {
	background: #00b4a0;
}
.formWrap input[type="submit"].btn_back,
.formWrap button.button._grey {
	background: #ddd;
	color: #333;
}
.formWrap input[type="submit"]:hover,.formWrap input[type="button"]:hover,.formWrap button.button._grey:hover {
	opacity: .7;
}
.onlyconf,button.button._grey {
	display: none;
}
.mw_wp_form_confirm button.button._grey,
.mw_wp_form_confirm .onlyconf,
#confirm .onlyconf {
	display: block!important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0!important;
}
.mw_wp_form_confirm .privacyBox,
.mw_wp_form_confirm .formBox dt::before,
.mw_wp_form_confirm .zipBtn,
.mw_wp_form_confirm .formName .txt span,
.mw_wp_form_confirm .policyTxt {
	display: none!important;
}
.mw_wp_form_confirm .formName > .txt {
	width: auto;
}
.mw_wp_form .error {
	display: block;
	width: 100%;
}
.mw_wp_form .error {
	font-size: 85%!important;
}
.formName .error {
	min-width: 50%;
}
.formName .error + .error {
	display: none;
}

.thxBox {
	font-size: 87.5%;
	padding: 5rem 1.5rem;
	border: 1px solid #999;
}
.thxBox .ttl {
	font-size: 125%;
	margin-bottom: 3rem;
}



/*共通
---------------------------------------------------------*/
.d-grid{
  display: grid;
}
.btnClrBtn a,
.pageset .btnClrBtn a{
  background-color: var(--c_aq);
  border-radius: 3rem;
  color: #FFF;
  font-size: 1.6rem;
  font-weight: 700;
  width: 22rem;
  aspect-ratio: auto;
  padding: 1.5rem;
  display: block;
  margin-inline: auto;
}
.btnClrBtn a:hover,
.pageset .btnClrBtn a:hover{
  background-color: var(--c_gy2);
}
.btnClrBtn._pdf a{
  background-color: #d41e2c;
  text-align: center;
}
.btnClrBtn._pdf a:hover {
  transform: translateY(-.5rem);
  box-shadow: 0 .5rem 0 rgba(0,0,0,.2);
}

/*共通 company investor
---------------------------------------------------------*/
.c_lowerLink{
  padding-bottom: 12rem;
}
.c_lowerLink._investor{
  padding-top: 4rem;
}
.c_lowerLink .row {
  grid-template-columns: repeat(2, 1fr);
  gap: 5.4rem 5rem;
}
.c_lowerLink .row a .ttl {
  text-align: left;
  font-size: 1.4rem;
  padding-top: 2rem;
  font-weight: 500;
  letter-spacing: .05em;
  position: relative;
}
.c_lowerLink .row a .ttl .fo-roboto{
  font-size: 214%;
  display: inline-block;
  margin-right: 1.6rem;
}
.c_lowerLink .row a._blank .ttl::after{
  content: "";
  width: 2rem;
  height: auto;
  aspect-ratio: 1;
  background: url("../img/blank_bk.svg") center no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  bottom: .2rem;
  right: 0;
}
.c_lowerLink .row a .img{
  overflow: hidden;
  height: 24rem;
  background-color: #000;
}
.c_lowerLink .row a img {
  height: 100%;
  min-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform: scale(1.01);
}
.c_lowerLink .row a:hover img {
  transform: scale(1.1);
}
.c_lowerLink .row a:hover .ttl{
  color: var(--c_aq);
}
.c_lowerLink .row a._blank:hover .ttl::after{
  background-image: url("../img/blank_aq.svg");
}

/*news 一覧
---------------------------------------------------------*/
.postRow{
  gap: 6rem;
}
/* sidebar */
.sidebar{
  width: 24rem;
}
.sidebar div.box{
  max-width: 20rem;
}
.sidebar div.box:not(:first-child) {
    margin-top: 6rem;
}
.sidebar div.box .ttl{
    font-size: 1.3rem;
    font-weight: 400;
    text-align: left;
    margin-bottom: 2rem;
}
.sidebar div.box .ttl .fo-roboto{
  color: var(--c_aq);
  font-size: 184.6%;
  display: block;
  margin-bottom: 0.3rem;
}
.sidebar div.box._cate li + li{
  margin-top: 1rem;
}
.sidebar div.box li a,
.sidebar div.box li span{
    position: relative;
    display: block;
    padding: 1.1rem;
    transition: .2s;
    border: 1px solid #D9D9D9;
    font-size: 1.4rem;
    font-weight: 500;
    cursor: pointer;
}
.sidebar div.box._backnum li a,
.sidebar div.box._backnum li span{
  margin-bottom: -.1rem;
}
.sidebar div.box._backnum li a{
  font-size: 1.5rem;
}
.sidebar div.box li.current a,
.sidebar div.box._backnum li span{
  background-color: var(--c_aq);
  color: #fff;
}
.sidebar div.box li:not(.current) a:hover{
  background-color: var(--c_gy);
}
.sidebar div.box li span:hover{
  opacity: .8;
}
.sidebar div.box li a:hover::after {
    right: 2rem;
}
.sidebar div.box._backnum .toggleBtn::after{
    content: "";
    display: inline-block;
    width: 1.7rem;
    height: 0.75rem;
    aspect-ratio: 17/7.5;
    background: url("../img/arrow_wh.svg") center no-repeat;
    background-size: contain;
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
}
.sidebar div.box._backnum .toggleBtn.active::after{
    transform: translateY(-50%) rotate(180deg);
}
.postArea{
  flex: 1;
}
.displayName .ttl {
  margin-bottom: 3rem;
  font-weight: 600;
  font-size: 2rem;
  color: var(--c_aq);
}
/* ページャー */
.pager {
  width: 100%;
  text-align: center;
  margin-top: 4rem;
  position: relative;
}
.pager span,
.pager a {
  display: inline-grid;
  align-content: center;
  padding: 0;
  margin: 0 0.4rem;
  transition: .1s;
  width: 3.4rem;
  height: auto;
  aspect-ratio: 1;
  font-size: 1.4rem;
  line-height: 1.2;
  font-family: "roboto", 'Noto Sans JP', sans-serif;
  background-color: var(--c_gy);
  border-radius: 50%;
  cursor: pointer;
  color: var(--c_aq);
}
.pager .current {
  background-color: var(--c_aq);
  color: #fff;
}
.pager a.page-numbers:hover,
.pager a.prev:hover,
.pager a.next:hover{
  color: var(--c_gr);
}
.pager a.prev:hover,
.pager a.next:hover{
  background-color: transparent;
  opacity:.8;
}
.pager .next,
.pager .prev {
  position: relative;
  z-index: 1;
  transition: .2s;
  background-color: transparent;
  width: auto;
  color: var(--c_aq);
  font-weight: 600;
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-block;
  aspect-ratio: auto;
  padding: 1rem 0;
  font-size: 1.4rem;
  width: 9.5rem;
  text-align: left;
}
.pager .prev{
  right: auto;
  left: 0;
  text-align: right;
}
.pager .prev{
  color: var(--c_gy2);
}
.pager .next::before,
.pager .prev::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  right: 0;
  background: var(--c_aq);
  z-index: 5;
}
.pager .next::after,
.pager .prev::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1px;
  position: absolute;
  right: 0;
  bottom: 0;
  background: var(--c_aq);
  transform-origin: bottom right;
  transform: rotate(45deg);
  z-index: 5;
}
.pager .prev::before{
  right: auto;
  left: 0;
}
.pager .prev::after{
  right: auto;
  left: 0;
  transform-origin: bottom left;
  transform: rotate(-45deg);
}
.pager .prev::before,
.pager .prev::after{
  background: var(--c_gy2);
}
.pager .next:hover::before,
.pager .next:hover::after,
.pager .prev:hover::before,
.pager .prev:hover::after{
  background-color: var(--c_gr);
}
/*news 詳細
---------------------------------------------------------*/
.newsSingle {
	padding-bottom: 12rem;
}
.sidebar ._toc li{

}
.sidebar ._toc li + li{
  margin-top: 2rem;
}
.sidebar ._toc li a{
    font-weight: 500;
    padding: 1rem 0;
    align-items: center;
    border-bottom: 1px solid #E1E1E1;
    display: flex;
    text-align: left;
    gap: 1.8rem;
}
.sidebar ._toc li a::before{
  content: "";
  min-width: 4rem;
  height: auto;
  aspect-ratio: 1;
  background: var(--c_aq) url("../img/btn_arrow_wh.svg") left center no-repeat;
  background-size: 50% auto;
  display: inline-block;
  border-radius: 50%;
}
.sidebar ._toc li a:hover{
	color: var(--c_gr);
}
.sidebar ._toc li a:hover::before{
	background-color: var(--c_gr);
}
.single .postArea{
  text-align: left;
}
.singleHeader {
  margin-bottom: 2.6rem;
  gap: 1rem 3.8rem;
}
.singleHeader h2 {
  font-size: 2.6rem;
  font-weight: 500;
  width: 100%;
}
.singleHeader h2  span {
	font-size: 1.2rem;
	color: #E60012;
	border: 1px solid #E60012;
	padding: .1rem 1rem .3rem;
	margin-left: 1rem;
	vertical-align: 0.5rem;
}
.single .img{
  margin: 2rem auto 4.2rem;
  text-align: center;
}
.single .img img{
  max-height: 50rem;
}
.single #toc_container{
	display: none;
}
.single .cont h4,
.single .cont h5,
.single .cont h6{
  font-size: 2rem;
  margin-top: 3.2rem;
}
.single .cont h3{
  padding-bottom: 1.6rem;
  margin-bottom: 1.8rem;
  margin-top: 5rem;
  background-image: linear-gradient(90deg, var(--c_bl) 0 3rem, #D9D9D9 3rem);
  background-repeat: no-repeat;
  background-size: 100% 0.2rem;
  background-position: bottom;
  font-size: 2.4rem;
  font-weight: 500;
}
.single .cont p{
  line-height:1.8;
  font-size: 1.6rem;
  margin-top: 1.8rem;
}
/* 前後の記事 */
.pageset {
  padding: 1.5rem 0;
  margin-top: 7rem;
  border-top: .1rem solid #E1E1E1;
  border-bottom: .1rem solid #E1E1E1;
}
.pager.pageset .next,
.pager.pageset .prev{
  position: relative;
}

/*overview
---------------------------------------------------------*/
.overviewSec .area{
  width: 80rem;
  max-width: 100%;
  margin-inline: auto;
}
.c_profile dt,
.c_profile dd {
    padding: 2.2rem 2rem;
    text-align: left;
    width: 73%;
    border-bottom: .1rem solid #E1E1E1;
    align-content: center;
    font-feature-settings: "palt";
    letter-spacing: .05em;
    line-height: 1.8;
}
.c_profile dt:first-of-type,
.c_profile dd:first-of-type{
    border-top: .1rem solid #E1E1E1;
}
.c_profile dt {
    width: 27%;
    letter-spacing: .2em;
}
.c_profile dd a:hover{
	color: var(--c_aq);
}
.c_profile dd ul li{
    border-bottom: .1rem solid #E1E1E1;
    padding: 2rem 0;
    letter-spacing: 0.35em;
}
.c_profile dd ul li:last-child{
    border-bottom: none;
}
.c_profile dd ul li span{
  width: 27rem;
  max-width: 100%;
  display: inline-block;
  letter-spacing: .1em;
}
.groupDetail._133 dd._fax > span {
	display: none;
}
.overviewSec .note{
  margin-top: 3rem;
  text-align: right;
  font-size: 1.4rem;
}

/*group
---------------------------------------------------------*/
.groupLead{
  background: url("../img/company/group/lead_bg.jpg") center no-repeat;
  background-size: cover;
  padding: 15rem 0 2.2rem!important;
}
.groupLead .row{
  max-width: 95rem;
  margin-left: auto;
}
.groupLead .row .box {
    flex:1;
    text-align: left;
}
.groupLead .row .box .ttl {
    font-size: 4.6rem;
    color: var(--c_aq);
    padding-bottom: 2.7rem;
    font-weight: 300;
    letter-spacing: .05em;
}
.groupLead .row .box .link {
    margin-top: 7.5rem;
    text-align: center;
    max-width: 20rem;
}
.groupLead .row .box .link li + li{
    margin-top: 0.6rem;
}
.groupLead .row .box .link li a{
    color: #fff;
    background-color: var(--c_aq);
    display: block;
    position: relative;
    padding: 0.8rem;
}
.groupLead .row .box .link li a::after{
  content: "";
  width: 1.7rem;
  height: auto;
  aspect-ratio: 2;
  background: url("../img/arrow_wh.svg") center no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
}
.groupLead .row .box .link li a:hover{
  background-color: var(--c_gy2);
}
.groupLead .row .img {
    width: 66rem;
    margin-left: -22rem;
}
.groupImg {
  grid-template-columns: 2.56fr 3.29fr 1.58fr 2.56fr;
  grid-template-rows: auto;
  gap: 1rem;
  margin-top: 1rem;
  max-width: 200rem;
  margin-inline: auto;
}
.groupImg ._01 {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
.groupImg ._02 {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
.groupImg ._03 {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
}
.groupImg ._04 {
  grid-column: 3 / 4;
  grid-row: 1 / 3;
}
.groupImg ._05 {
  grid-column: 4 / 5;
  grid-row: 1 / 2;
}
.groupImg ._06 {
  grid-column: 4 / 5;
  grid-row: 2 / 3;
}
.groupImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.groupOfficeWrap{
  padding-top: 6rem;
}
.groupOffice{
  padding: 8rem 0;
  text-align: left;
}
.groupOffice:nth-of-type(even){
  background-color: var(--c_gy);
}
.groupOffice .ttl{
  font-size: 2.4rem;
  color: var(--c_aq);
  letter-spacing: .1em;
  font-weight: 500;
  margin-bottom: 3rem;
}
.groupOffice a{
  padding: 2.4rem 2rem;
  border-bottom: .1rem solid #E1E1E1;
}
.groupOffice a:first-of-type{
  border-top: .1rem solid #E1E1E1;
}
.groupOffice a h3{
  width: 22rem;
  align-content: center;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.groupOffice a address{
  font-size: 1.6rem;
  line-height: 1.8;
  flex: 1;
}
.groupOffice a .arw{
  margin-top: auto;
}


/*group detail
---------------------------------------------------------*/
.ttlJaEn{
  margin-bottom: 4.7rem;
}
.ttlJaEn .jaTxt{
  font-size: 2.4rem;
  margin-bottom: 0.4rem;
  font-weight: 500;
}
.ttlJaEn .enTxt{
  color: var(--c_aq);
}
.groupDetail .img{
  margin-bottom: 3rem;
}
.groupDetail .img img{
  width: 100%;
  height: 50rem;
  object-fit: cover;
}
.groupDetail .c_profile dt{
  align-content: flex-start;
}
.map {
  position: relative;
  padding-bottom: 56%;
  width: 100%;
  height: 0;
  overflow: hidden;
  margin-inline: auto;
  margin: 2rem 0;
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.groupOther {
  padding: 4rem 0 12rem;
}
.groupOther .ttl{
  font-size: 2rem;
  margin-bottom: 2.8rem;
  font-weight: 500;
}
.groupOther .linkWrap a{
  padding: 2.4rem 2rem;
  border-bottom: .1rem solid #E1E1E1;
  gap: 3rem;
}
.groupOther .linkWrap a:first-of-type{
  border-top: .1rem solid #E1E1E1;
}
.groupOther .linkWrap a:nth-of-type(odd){
  background-color: var(--c_gy);
}
.groupOther a .img{
  width: 21rem;
  height: 15rem;
}
.groupOther a .img img{
  width: 100%;
  height: 100%;
  object-fit: cover;

}
.groupOther a .box{
  flex: 1;
  font-size: 1.6rem;
  padding: .4rem 0;
}
.groupOther a h3{
  font-size: inherit;
  margin-bottom: 1rem;
}
.groupOther a address{
  line-height: 1.9;
}
.groupOther a .arw{
  margin-top: auto;
}
.groupOther .btnClrBtn{
  margin-top: 5.4rem;
}


/*vision
---------------------------------------------------------*/
#subPage #visionPhilo {
	position: relative;
	background: url(../img/company/vision/philo_bg.png) bottom center no-repeat;
	background-size: 100% auto;
	overflow: hidden;
	padding: 18rem 0 43rem;
}

.visionPhilo .container {
	position: relative;
	z-index: 1;
}
.visionPhilo .ttlBox {
	margin-bottom: 7rem;
}
.visionPhiloTxt {
	max-width: 49rem;
	text-align: left;
	line-height: 1.8;
}
.visionPhiloTxt h3 {
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin-bottom: 2rem;
}
.visionPhiloTxt h3 span {
	display: inline-block;
	background: #fff;
	color: var(--c_aq);
	margin: .2rem 0;
	padding: 0 1rem;
}
.visionPhiloImgs {
	display: flex;
	flex-direction: column;
	margin-top: -35rem;
	position: relative;
	z-index: 1;
}
.visionPhiloImgs li {
	max-width: 55rem;
	position: relative;
}
.visionPhiloImgs li._01 {
	margin-right: -16rem;
	margin-left: auto;
}
.visionPhiloImgs li._02 {
	margin-left: -16rem;
	margin-right: auto;
	margin-top: 7rem;
}
.visionPhiloImgs li._03 {
	margin-left: auto;
	margin-top: -28rem;
}
.visionPhiloImgs li::after {
	content: "";
	display: block;
	position: absolute;
	height: 2px;
	background: var(--c_aq);
	z-index: -1;
	width: 80rem;
	top: 50%;
	right: 50%;
	transform-origin: bottom right;
	transition: 2s .6s;
	clip-path: inset(0 100% 0 0);
}
.visionPhiloImgs li.act::after {
	clip-path: inset(0 0 0 0)!important;
}
.visionPhiloImgs li._01::after {
	transform: rotate(-28deg);
}
.visionPhiloImgs li._02::after {
	width: 50rem;
	transform: rotate(195deg);
}
.visionPhiloImgs li._03::after {
	width: 50rem;
	transform: rotate(100deg);
}
@media screen and (max-width: 1420px) {
	.visionPhiloImgs li._01 {
		margin-right: -5rem;
	}
	.visionPhiloImgs li._02 {
		margin-left: -5rem;
	}
}
.visionPhiloImgs h3 {
	position: absolute;
	z-index: 1;
	background: var(--c_aq);
	color: #fff;
	font-size: 2.2rem;
	font-weight: 600;
	position: absolute;
	top: 0;
	left: 0;
	padding: .5rem 1.5rem;
	letter-spacing: 0.05em;
}
.visionPhiloImgs .eng {
	font-size: 4.2rem;
	z-index: 1;
	color: #fff;
	position: absolute;
	bottom: 1rem;
	right: 2rem;
	line-height: 1.2;
	font-weight: 300;
}
.visionPhiloBtm {
	margin-top: 14rem;
	color: #fff;
	text-align: left;
}
.visionPhiloBtm .sub {
	gap: 2.5rem;
	margin-bottom: 2rem;
}
.visionPhiloBtm .sub span {
	background: var(--c_aq);
	color: #fff;
	font-size: 3.5rem;
	line-height: 1.2;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: .5rem 1.5rem .7rem;
}
.visionPhiloBtm .sub small {
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
}
.visionPhiloBtm h4 {
	font-size: 11.4rem;
}

.philoContBox {
	position: relative;
	background: url(../img/company/vision/img_bg.png) center center no-repeat;
	background-size: contain;
	width: 49.1rem;
	aspect-ratio: 491/458;
	position: absolute;
	top: 0;
	right: 0;
	font-size: 1.4rem;
	text-align: center;
	color: #fff;
}
.philoContBox dl {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 1rem;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 55%;
	transform: translateY(-50%);
	z-index: 10;
	color: var(--c_bl);
	border-radius: 50%;
	background: radial-gradient(50% 50% at 50% 50%, #FFF 0%, #C3F2FF 100%);
	filter: drop-shadow(0px 0px 20px #0CF);
	width: 18.5rem;
	aspect-ratio: 1;
	transition: 1.2s .3s;
	opacity: 0;
	filter: blur(2px);
}
.philoContBox.act dl {
	opacity: 1;
	filter: blur(0);
}
.philoContBox h4 {
	font-size: 2.8rem;
}
.philoContBox h5 {
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	text-indent: .05em;
}
.philoContBox .fo-roboto-italic {
	margin-top: .5rem;
}
.philoContBox figure {
	max-width: 17.2rem;
	position: absolute;
	border-radius: 50%;
	box-shadow: 0 0 2rem 0 #1198FF;
	z-index: 5;
	opacity: 0;
	transition: 1.2s .8s;
}
.philoContBox figure._01 {
	top: -8rem;
	right: 4.5rem;
	transform: translate(2rem,-2rem);
}
.philoContBox figure._02 {
	top: 11.5rem;
	left: -7rem;
	transition-delay: 1s;
	transform: translateX(-2rem);
}
.philoContBox figure._03 {
	bottom: -10rem;
	right: 7.5rem;
	transition-delay: 1.2s;
	transform: translateY(2rem);
}
.philoCont li {
	position: absolute;
	z-index: 3;
	transition: 1.2s 1s;
	opacity: 0;
}
.philoCont li._01 {
	left: 0;
	right: 0;
	top: 8.5rem;
}
.philoCont li._02 {
	left: 2em;
	bottom: 9.5rem;
	transition-delay: 1.2s;
}
.philoCont li._03 {
	right:2rem;
	bottom: 9.5rem;
	transition-delay: 1.4s;
}
.philoContBox.act figure {
	opacity: 1;
	transform: translate(0)!important;
}
.philoContBox.act .philoCont li {
	opacity: 1;
}



.visionPurpose {
	overflow: visible;
	position: relative;
}
.visionPurpose .bg {
	position: absolute;
	z-index: -50;
	left: 0;
	right: 0;
	top: -70rem;
	background: url(../img/company/vision/purpose_bg.jpg) top center no-repeat;
	background-size: cover;
	aspect-ratio: 1920/1472;
}
.visionPurpose .bg._02 {
	transform: rotate(180deg);
	top: auto;
	bottom: -70rem;
}
.visionPurposeWrap:not(:first-of-type) {
	margin-top: 6rem;
}
.visionPurposeWrap:nth-of-type(odd) {
	flex-direction: row-reverse;
}
.visionPurposeWrap figure {
	width: 68rem;
}
.visionPurposeWrap dl {
	flex: 1;
	padding: 0 1rem;
}
.visionPurposeWrap .num {
	color: var(--c_aq);
	font-size: 4.2rem;
	margin-bottom: 1rem;
}
.visionPurposeWrap h3 {
	font-size: 2.4rem;
	margin-bottom: 1rem;
}
.visionPurposeWrap .txt {
	line-height: 1.8;
}
.visionPurposeWrap .eng {
	color: var(--c_aq);
	font-size: 3.6rem;
	margin-top: 3rem;
	font-weight: 300;
}
.visionVision{
  position: relative;
  z-index: 9;
}
.visionVision .container {
	position: relative;
	padding: 10rem 0;
}
.visionVision .container::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: calc(-50vw + 50%);
	background: url(../img/company/vision/vision_bg.jpg) center center no-repeat;
	background-size: cover;
	z-index: -1;
}
.visionVision .row .box {
  width: 50%;
  padding-right: 9.2rem;
  text-align: left;
}
.visionVision .row .box .ttl {
  font-size: 2.4rem;
  padding-bottom: 3.2rem;
  font-weight: 700;
  margin-top: 7.8rem;
  letter-spacing: .05em;
}
.visionVision .row .box .enTxt {
  font-size: 4.2rem;
  color: var(--c_aq);
  font-weight: 300;
  margin-bottom: 1.5rem;
}
.visionVision .row .box .enTxt:nth-of-type(2){
  margin-top: 3rem;
}
.visionVision .row .box .txt {
  font-size: 1.8rem;
}
.visionVision .row .img {
  flex: 1;
  height: 45rem;
  margin-right: calc(-50vw + 50%);
  margin-top: 10rem;
}
.visionVision .row .img img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.visionBeyond{
  background: url("../img/company/vision/beyond_bg.png") top center no-repeat;
  background-size: cover;
}
.visionBeyond .row {
  gap: 14.7rem;
  margin-top: 9rem;
}
.visionBeyond .row .box {
  flex:1;
  text-align: left;
  padding: 2rem 0;
}
.visionBeyond .row .box .enTxt {
  font-size: 9.2rem;
  margin-top: 2rem;
  color: #fff;
  font-weight: 300;
  letter-spacing: .03em;
}
.visionBeyond .row .box .txt {
  font-size: 2.6rem;
  color: #fff;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: .08em;
}
.visionBeyond .row .box .txt span{
  display: inline-block;
  background-color: #fff;
  color: var(--c_aq);
  padding: 0.1rem 1.6rem 0.2rem 0.8rem;
}
.visionBeyond .row .box .txt span{
  margin-top: .4rem;
}
.visionBeyond .row .img {
  width: 61.5rem;
  max-width: 100%;
  gap: 2.6rem;
}
.visionBeyond .row .img ._01{
  width: 23rem;
  max-width: 100%;
}
.visionBeyond .row .img ._02{
  width: 18rem;
  max-width: 100%;
  margin-top: 14.5rem;
}
.visionBeyond .row .img ._03{
  width: 15rem;
  max-width: 100%;
  margin-top: 5.4rem;
}


/*共通 c_bnrSec
---------------------------------------------------------*/
.c_bnrSec .ttlWrap{
  text-align: left;
}
.c_bnrSec .ttl{
  font-size: 2.4rem;
  font-weight: 500;
  padding: 2rem 0 2.5rem;
  background-image: linear-gradient(90deg, var(--c_bl) 0 3rem, #D9D9D9 3rem);
  background-repeat: no-repeat;
  background-size: 100% 0.2rem;
  background-position: top;
}
.c_bnrSec .txt{
  line-height: 1.8;
}
.c_bnrSec a{
  position: relative;
  color: #fff;
  display: grid;
  place-content: center;
  margin-top: 6rem;
  height: 20rem;
  font-weight: 700;
  letter-spacing: .05em;
}
.c_bnrSec a .enTxt{
  font-size: 5rem;
}
.c_bnrSec a strong{
  font-size: 1.6rem;
  margin-bottom: .4rem;
  font-weight: 700;
}
.c_bnrSec a .jaTxt{
  font-size: 1.6rem;
}
.c_bnrSec a .jaTxt._blank::after{
  content: "";
  width: 1.2rem;
  height: auto;
  aspect-ratio: 1;
  background: url("../img/blank_wh.svg") center no-repeat;
  background-size: contain;
  display: inline-block;
  margin-left: 0.5rem;
}
.c_bnrSec a .bnrTxt{
  font-size: 1.2rem;
  border: .1rem solid #fff;
  display: inline-block;
  width: 4rem;
  margin-inline: auto;
  margin-TOP: 1rem;
}
.c_bnrSec a .img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: -1;
  background-color: #000;
}
.c_bnrSec a .img img {
  height: 100%;
  min-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform: scale(1.01);
}
.c_bnrSec a:hover .img img {
  transform: scale(1.1);
}


/*共通 c_inveLink
---------------------------------------------------------*/
.c_inveLink{
  padding-top: 6rem;
}
.c_inveLink .row {
  gap: 6.4rem;
}
.c_inveLink .row .box {
  width: 21.4rem;
  max-width: 100%;
  color: #fff;
  font-weight: 700;
  text-align: left;
  background: linear-gradient(327deg, #7CDDF1 38.97%, #00A6FF 80.94%);
  padding: 2rem 1.6rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}
.c_inveLink .row .box .enTxt {
  font-size: 3.3rem;
  margin-bottom: 0.3rem;
}
.c_inveLink .row .box .jaTxt{
  font-size: 1.6rem;
}
.c_inveLink .row .link {
  flex:1;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem 5rem;
}
.c_inveLink .row .link a{
  border-bottom: .1rem solid #D9D9D9;
  padding: 0.7rem .4rem;
  display: flex;
  justify-content: space-between;
  text-align: left;
  font-weight: 500;
  letter-spacing: .05em;
}
.c_inveLink .row .link a::after{
  content: "";
  width: 1.7rem;
  height: auto;
  aspect-ratio: 1;
  background: url("../img/arrow02_bk.svg") center no-repeat;
  background-size: contain;
  display: inline-block;
}
.c_inveLink .row .link a._blank::after{
  background-image: url("../img/blank_bk.svg")
}
.c_inveLink .bdr{
  margin-top: -18rem;
}
.c_inveLink .row .link a:hover{
  color: var(--c_aq);
    border-color: var(--c_aq);
}
.c_inveLink .row .link a:hover::after{
    background-image: url("../img/arrow02_aq.svg")
}
.c_inveLink .row .link a._blank:hover::after{
    background-image: url("../img/blank_aq.svg")
}


/*meeting
---------------------------------------------------------*/
.c_anchor{
  background: url("../img/investor/anchor_bg.jpg") center no-repeat;
  background-size: cover;
  padding-bottom: 5.6rem;
  margin-bottom: 4rem;
}
.c_anchor .row {
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
}
.c_anchor._row2 .row {
  grid-template-columns: repeat(2, 1fr);
}
.c_anchor .row .img {
  overflow: hidden;
  background-color: #000;
  height: 11.7rem;
}
.c_anchor .row .img img {
  height: 100%;
  min-width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform: scale(1.01);
}
.c_anchor .row a:hover .img img {
  transform: scale(1.1);
}
.c_anchor .row strong{
  font-size: 2rem;
  font-weight: 600;
  margin-top: 1rem;
  display: block;
  letter-spacing: .05em;
}
.c_anchor .row strong::after{
  content: "";
  width: 2rem;
  height: auto;
  aspect-ratio: 2;
  background: url("../img/arrow_bk.svg") center no-repeat;
  background-size: contain;
  display: block;
  margin-inline: auto;
  margin-top: 0.8rem;
}
.c_anchor .row a:hover strong{
  color: var(--c_aq);
}
.c_anchor .row a:hover strong::after{
  background-image: url("../img/arrow_aq.svg")
}

.c_imgTtl{
  position: relative;
  color: #fff;
  display: grid;
  place-content: center;
  height: 15.6rem;
  letter-spacing: .05em;
  background: url("../img/investor/img_latestData.jpg") center no-repeat;
  background-size: cover;
  z-index: 1;
}
.c_imgTtl._backNumber{
  background-image: url("../img/investor/img_backNumber.jpg");
}
.c_imgTtl._earningsReport{
  background-image: url("../img/investor/img_earningsReport.jpg");
}
.c_imgTtl._stockStatus{
  background-image: url("../img/investor/img_stockStatus.jpg");
}
.c_imgTtl._stockInfo{
  background-image: url("../img/investor/img_stockInfo.jpg");
}
.c_imgTtl::before{
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.2);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.c_imgTtl._stockStatus::before{
  background-color: rgba(0,0,0,.5);
}
.c_imgTtl .jaTxt{
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 0.7rem;
  letter-spacing: .08em;
}
.c_imgTtl .enTxt{
  font-size: 1.4rem;
}

.c_meeting{
  padding: 4rem 0;
}
.c_meeting dl.row,
dl.toggle dt,
.c_meeting dl.toggle dd{
  padding: 2.4rem 3.5rem;
  text-align: left;
  letter-spacing: .05em;
}
.c_meeting dl.row{
  background-color: var(--c_gy);
  gap: 2rem;
}
.c_meeting dl dt{
  font-weight: 500;
}
.c_meeting dl.row dd{
  flex: 1;
}
.c_meeting dl dd a{
  display: block;
  gap: 0.4rem 0.8rem;
}
.c_meeting dl dd a + a{
  margin-top: 1.5rem;
}
.c_meeting dl dd a .txt{
  margin-right: .8rem;
}
.c_meeting dl dd .date{
  font-size: 87.5%;
  margin-right: .8rem;
}
.c_meeting dl dd .pdf{
  font-size: 1.2rem;
  color: #E60012;
  border: 1px solid #E60012;
  padding: 0.1rem 0.8rem 0.2rem;
}
dl.toggle dt{
  border-bottom: .1rem solid #E1E1E1;
  position: relative;
  cursor: pointer;
}
dl.toggle dt::after{
  content: "";
  width: 1.6rem;
  height: auto;
  aspect-ratio: 2;
  background: url("../img/arrow_aq.svg") center no-repeat;
  background-size: contain;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 3.5rem;
  transform: translateY(-50%);
}
.c_meeting dl.toggle dd{
  background-color: var(--c_gy);
  border-bottom: .1rem solid #E1E1E1;
}
dl.toggle dt:hover{
  color: var(--c_aq);
}
dl.toggle dt.active::after{
  transform: translateY(-50%) rotate(180deg);
}
.c_meeting dl dd a:hover{
  color: var(--c_aq);
}

/*disclosure
---------------------------------------------------------*/
.c_discSec{
  padding: 4rem 0;
}
.c_discSec .newsList li:first-child{
  padding-top: 2rem;
}
.c_discSec .newsList._latestData li:first-child{
  padding-top: 4.2rem;
}
.c_discSec dl dt{
  padding: 2.4rem 3.5rem;
  text-align: left;
  letter-spacing: .05em;
  font-weight: 500;
}


/*stocks
---------------------------------------------------------*/
.stockStatus{
  padding-top: 4rem;
}
.lineTtl{
  font-size: 2.4rem;
  margin-bottom: 2.1rem;
  text-align: left;
  font-weight: 500;
}
.lineTtl span{
  font-size: 66.7%;
  font-weight: 400;
}
.lineTtl::before{
  content: "";
  width: 1.2rem;
  height: 0.2rem;
  background-color: var(--c_aq);
  display: inline-block;
  margin-right: 0.6rem;
  vertical-align: middle;
}
.stockStatus .area{
  margin-top: 5rem;
}
.c_tableStock th,
.c_tableStock td{
  border: .1rem solid #E1E1E1;
  padding: 2rem 3rem;
  font-weight: 400;
}
.c_tableStock th:first-of-type{
  border-left: none;
}
.c_tableStock th:last-of-type,
.c_tableStock td:last-of-type{
  border-right: none;
}
.c_tableStock._status th,
.c_tableStock._holder thead th,
.c_tableStock._info th{
  background-color: #F5F5F5;
}
.c_tableStock {
  table-layout: fixed;
  width: 100%;
}
.c_tableStock th:first-of-type{
  width: 37.5%;
}
.c_tableStock._holder td{
   width: 31.25%;
}
.c_tableStock._status td,
.c_tableStock._holder tbody th,
.c_tableStock._info td{
  text-align: left;
}
.c_tableStock dt,
.c_tableStock dd {
  width: 55%;
}
.c_tableStock dt {
  width: 45%;
}
.c_tableStock td span{
  margin-left: 1em;
}
.stockStatus .note{
  font-size: 1.4rem;
  text-align: left;
  margin-top: 2.2rem;
}

.stockInfo{
  padding: 4rem 0 6rem;
}
.stockInfo .c_tableStock{
  margin: 4.2rem 0 4rem;
}
.stockInfo .about{
  text-align: left;
}
.stockInfo .about dt{
  font-size: 2rem;
  font-weight: 500;
  color: var(--c_aq);
  margin-bottom: 1rem;
}
.stockInfo .about dt:nth-of-type(n+2){
  margin-top: 4rem;
}


/*incentive
---------------------------------------------------------*/
.incenSec{
  padding-bottom: 3rem;
}
.incenSec .lead{
  text-align: left;
  margin-bottom: 5rem;
}
.incenSec .ttl{
  text-align: left;
  border-bottom: .2rem solid #E1E1E1;
  padding-bottom: 1.1rem;
  margin-bottom: 2.4rem;
  font-weight: 500;
  letter-spacing: .05em;
  font-size: 2.4rem;
}
.incenSec table th,
.incenSec table td{
  border: .1rem solid #E1E1E1;
  padding: 1.8rem 2.6rem;
  font-weight: 400;
  width: 33.3333%;
}
.incenSec table th{
  background-color: #F5F5F5;
}
.incenSec .note{
  text-align: left;
  margin-top: 1.3rem;
}

/*sdgs
---------------------------------------------------------*/
#sdgsArea {
	background: url(../img/company/sdgs/sdgs_bg.jpg) bottom 1px center no-repeat;
	background-size: cover;
	padding-bottom: 0;
}
#sdgsArea .bdr {
	clip-path: inset(0 0 0 0);
	margin-top: -35rem;
}
#sdgsArea .container {
	max-width: 74rem;
	position: relative;
	z-index: 5;
}
#sdgsArea .topTxt {
	margin-bottom: 5rem;
	line-height: 1.8;
}
.sdgsArea {
	background: rgba(215, 242, 255, 0.90);
	backdrop-filter: blur(2px);
	padding: 6rem;
	line-height: 1.8;
}
.sdgsArea h2 {
	font-size: 100%;
	font-weight: 600;
}
.sdgsArea h2 strong {
	display: block;
	font-size: 125%;
	margin: 2rem 0;
	font-weight: 600;
	letter-spacing: 0.1em;
}
.sdgsWrap h3 {
	max-width: 40rem;
	margin: 6rem auto 3rem;
}
.sdgsWrap h3 img {
	width: 100%;
}
.sdgsWrap ul {
	display: grid;
	grid-template-columns: repeat(6,1fr);
	gap:1rem;
}
.sdgsContWrap {
	display: flex;
	gap: 3rem 8.5rem;
}
.sdgsContWrap:not(:first-of-type) {
	margin-top: 9rem;
}
.sdgsContWrap:nth-of-type(odd) {
	flex-direction: row-reverse;
}
.sdgsContWrap figure {
	margin-right: calc(-50vw + 50%);
	flex: 1;
	overflow: hidden;
	position: relative;
	height: 38rem;
	transition: 1s .6s;
	opacity: 0;
	transform: translateX(3rem)
}
.sdgsContWrap:nth-of-type(even) figure {
	margin-right: 0;
	margin-left: calc(-50vw + 50%);
	transform: translateX(-3rem)
}
.sdgsContWrap.act figure {
	opacity: 1;
	transform: translateX(0)!important;
}

.sdgsContWrap figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.sdgsCont {
	width: 58.5rem;
	line-height: 1.8;
	text-align: justify;
}
.sdgsCont h2 {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 1rem;
}
.sdgsCont .icons {
	margin-top: 5rem;
	gap:1rem;
}
.sdgsCont .icons li {
	width: 8rem;
}
.collaboTtl {
	font-size: 5.2rem;
	gap: 0 2.4rem;
	color: var(--c_aq);
	display: flex;
	justify-content: center;
	align-items: center;
}
.collaboTtl > img {
	width: 3.3rem;
	margin: 0;
}
.collaboTtl + small {
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	margin: 1rem 0 2rem;
}
#collaboration h3 {
	font-size: 2.4rem;
	margin-bottom: 1rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.collaboArea {
	background: #fff;
	margin-top: 4rem;
	padding: 7rem 7rem 5rem;
}
.collaboWrap {
	gap: 3rem;
	margin-bottom: 4rem;
}
.collaboArea .txt-lh {
	text-align: justify;
}
.collaboWrap figure {
	width: 50rem;
}
.collaboWrap dl {
	flex: 1;
	text-align: left;
	margin-top: -2.5rem;
}
.collaboWrap .num {
	margin-bottom: 1rem;
}
.collaboWrap h4 {
	font-size: 2rem;
	margin-bottom: 2.5rem;
}
.collaboLogo {
	gap: 0 2.5rem
}
.collaboLogo .logo img {
	max-height: 6rem;
}
.collaboLogo .logo._02 img {
	max-height: 4.4rem;
}
.collaboLogo .img {
	width: 3.3rem;
}
.collaboSdgs {
	border: 1px solid #D9D9D9;
	margin-top: 4rem;
	padding: 2rem;
	gap: 1rem;
}
.collaboSdgs h5 {
	font-size: 1.6rem;
	flex: 1;
}
.collaboSdgs ul {
	width: 26rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(3,1fr);
}
.btn {
	max-width: 35rem;
	margin: 4rem auto 0;
}
.btn a {
	display: flex;
	justify-content: center;
	align-content: center;
	color: var(--c_aq);
	border: 1px solid var(--c_aq);
	padding: 1.5rem;
	padding-bottom: 1.8rem;
	font-weight: 500;
	line-height: 1.2;
	border-radius: 10rem;
}
.btn a.blank::after {
	width: 1.6rem;
	margin-left: 1.5rem;
}
.btn a:hover {
	background-color: var(--c_gy);
}

/*health
---------------------------------------------------------*/
#healthTop {
	position: relative;
	background: url(../img/company/health/bg01.jpg) bottom center no-repeat;
	background-size: cover;
	padding-bottom: 17.5rem;
}
#healthTop h2 {
	font-size: 2.4rem;
	margin-bottom: 2rem;
}
#healthTop .eng {
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	margin: 0 auto;
	font-size: 11.4rem;
	line-height: 0.8;
	color: #fff;
}
.midashiTxt span {
	display: block;
	width: fit-content;
	position: relative;
	padding: .75rem 1.5rem;
	color: #fff;
	font-size: 2.7rem;
	font-weight: 600;
	margin-top: 0.3rem;
	line-height: 1.2;
	z-index: 1;
}
.midashiTxt span::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--c_aq);
	z-index: -1;
	clip-path: inset(0 100% 0 0);
	transition: .6s .2s cubic-bezier(.68,.03,.31,.94);
}
.midashiTxt span:nth-of-type(2):before {
	transition-delay: .4s;
}
.midashiTxt span:nth-of-type(3):before {
	transition-delay: .6s;
}
.midashiTxt span.act::before {
	clip-path: inset(0 0 0 0);
}
.healthWrap figure {
	width: 50rem;
}
.healthBox {
	flex: 1;
	text-align: left;
}
.healthBox h3 {
	font-size: 2.4rem;
	margin-bottom: 2rem;
}
.healthBox li + li {
	margin-top: 1rem;
}
.healthBox li {
	padding-left: 1.5em;
	text-indent: -1.5em;
}
.healthBox li::before {
	content: "●";
	color: var(--c_aq);
	margin-right: 0.5em;
}
#health03 .ttlBox {
	margin-bottom: -7.2rem;
}
.healthArea .note {
	display: block;
	text-align: left;
	margin-top: 2rem;
}
.healthCont01 {
	margin-top: 2rem;
	gap: 2rem 4.5rem;
}
.healthCont01 dl {
	flex: 1;
	background: var(--c_gy);
}
.healthCont01 dt {
	background: var(--c_aq);
	padding: .5rem;
	color: #fff;
}
.healthCont01 dd {
	padding: 2rem;
}
.healthCont01 dd h3 {
	font-size: 1.8rem;
	margin-bottom: .5rem;
}
.healthCont02 {
	background: #D9F0FB;
	border-radius: 1rem;
	position: relative;
	margin-top: 5rem;
	padding: 5rem 3rem;
}
.healthCont02 .arw {
	position: absolute;
	width: 7.4rem;
	top: -3.7rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 1;
}
.healthCont02 h3 {
	font-size: 2.4rem;
}
.healthCont02 h4 {
	width: 18rem;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
	color: #fff;
}
.healthDeta {
	background: #6DC3EE;
	border-radius: 1rem;
	padding: 1.5rem;
	margin-top: 1rem;
}
.healthDeta ul {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: .5rem;
}
.healthDeta ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	font-size: 1.3rem;
	line-height: 1.4;
	min-height: 6.5rem;
	border: 1px solid var(--c_aq);
}

/*industry-trend
---------------------------------------------------------*/
.PageTxt h2 {
	font-size: 2.4rem;
	color: var(--c_aq);
	letter-spacing: 0.05em;
	margin-bottom: 1rem;
}
.PageTxt .txt {
	line-height: 1.8;
}
.trendArea:nth-of-type(even) {
	background: var(--c_gy);
}
.trendTtl {
	text-align: left;
	margin-bottom: 5rem;
}
.trendTtl .num {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 14rem;
	letter-spacing: 0.05em;
	padding: 1.5rem 4rem 1.5rem 0;
	border-right: 1px solid #000;
	line-height: 1;
}
.trendTtl .num strong {
	display: block;
	font-size: 575%;
	color: var(--c_aq);
	font-weight: 300;
	line-height: .9;
}
.trendTtl h2 {
	font-size: 3rem;
	color: var(--c_aq);
}
.trendTtl .eng {
	color: var(--c_bl);
	font-size: 2rem;
	margin-bottom: 2rem;
}
.trendWrap {
	display: flex;
	gap: 9rem;
}
.trendArea:nth-of-type(odd) .trendWrap  {
	flex-direction: row-reverse;
}
.trendWrap .txt-lh {
	width: 59rem;
	text-align: justify;
	letter-spacing: 0.05em;
}
#industry-trend01 .trendWrap .txt-lh {
	margin-top: -10rem;
}
.trendWrap figure {
	flex: 1;
	position: relative;
	overflow: hidden;
	margin-left: calc(-50vw + 50%);
	height: 47rem;
}
.trendWrap figure img {
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
}
.trendArea:nth-of-type(odd) figure {
	margin-left: 0;
	margin-right: calc(-50vw + 50%);
	margin-top: -8rem;
}
.trend01Imgs {
	margin-top: 9rem;
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(4,1fr);
}
.trend02Cont {
	gap: 0 8rem;
	margin-top: 9rem;
}
.trend02Cont .img {
	width: 35.8rem;
}
.trend02Cont .box {
	border: 1px solid var(--c_bl);
	background: var(--c_gy);
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: .5rem;
	letter-spacing: 0.05em;
	position: relative;
}
.trend02Cont >  .box {
	aspect-ratio: 1;
	width: 26rem;
}
.trend02Cont .box .ttl {
	font-size: 112.5%;
	font-weight: 600;
}
.trend02Cont .box .txt {
	font-weight: 400;
	font-size: 1.2rem;
}
.trend02Cont .box2 {
	flex: 1;
	gap: 2rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.trend02Cont .box2 .box {
	flex: 1;
}
.trend02Cont .box::before {
	content: "";
	display: block;
	width: 2rem;
	aspect-ratio: 2/5.5;
	background-color: var(--c_aq);
	clip-path: polygon(100% 50%, 0% 0%, 0% 100%);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -5rem;
}
.trend02Cont .box2 .box::before {
	left: -5rem;
	right: auto;
	width: 1.2rem;
}

/*financial
---------------------------------------------------------*/
.financialChart h2 {
	font-size: 2.4rem;
	font-weight: 500;
	padding: 2rem 0 0;
	background-image: linear-gradient(90deg, var(--c_bl) 0 3rem, #D9D9D9 3rem);
	background-repeat: no-repeat;
	background-size: 100% 0.2rem;
	background-position: top;
	text-align: left;
	margin-bottom: 8rem;
}
.financialArea + .financialArea {
	margin-top: 10rem;
}
.financialArea h3 {
	text-align: left;
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 3rem;
}
.financialChart .container {
	max-width: 77rem;
}
.financialChart .btmTxt {
	text-align: left;
	margin-top: 8rem;
	font-size: 87.5%;
}
#fc01 .fcBox {
	margin: 0;
}









/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1250px) {
	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;
	}
	body::after {
		content: "";
		display: block;
		position: fixed;
		transition: .4s;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0,0,0, 0.5);
		backdrop-filter: blur(5px);
		transition: .4s;
		opacity: 0;
		pointer-events: none;
	}
	body.active::after {
		opacity: 1;
		z-index: 900;
	}
	article > section {
		padding: 5rem 0;
	}
	.txt-lh {
		line-height: 1.8;
	}

	/*common
	-------------------------------------------------------*/
	.bdr,.bdr._wh {
		height: 25rem;
		margin-top: -15rem;
	}
	.moreBtn {
		height: 4.5rem;
		padding-right: 2.25rem;
	}
	.moreBtn .arw {
		width: 10.5rem;
	}
	.moreBtn .arw::before {
		width: 2.25rem;
	}
	.ttlBox h2 {
		font-size: 3.2rem;
	}
	.ttlBox._sm h2 {
		font-size: 3rem;
	}
	.btnImg a .fo-roboto {
		font-size: 2.2rem;
	}

	/*header
	-------------------------------------------------------*/
	#header {
		position: absolute;
	}
	.hWrap {
		padding: 1rem 1.5rem;
	}
	.hLogo {
		transition: .4s;
	}
	.hLogo img {
		max-height: 5rem;
	}
	.active .hLogo {
		opacity: .5;
		filter: blur(5px);
	}
	.menuIconWrap {
		display: block;
		position: fixed;
		top: 1rem;
		right: 1rem;
		width: 5rem;
		height: 5rem;
		z-index: 99999;
		cursor: pointer;
		border-radius: 50%;
		border: 1px solid var(--c_aq);
		background: var(--c_aq);
		transition: .4s;
		margin-left: auto;
	}
	.menuIconWrap.active {
		background: transparent;
		border-color: transparent;
	}
	.menuIcon span {
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 2rem;
		height: 1px;
		background: #fff;
		z-index: 10;
		transition: .2s;
		transform-origin: center;
	}
	.menuIcon span:nth-of-type(1) {top: 1.5rem;}
	.menuIcon span:nth-of-type(2) {bottom: 2.4rem;}
	.menuIcon span:nth-of-type(3) {bottom: 1.5rem;}
	.menuIconWrap.active span:nth-of-type(1) {
		-webkit-transform: translateY(.85rem) rotate(45deg);
		transform: translateY(.85rem) rotate(45deg);
	}
	.menuIconWrap.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menuIconWrap.active span:nth-of-type(3) {
		-webkit-transform: translateY(-.85rem) rotate(-45deg);
		transform: translateY(-.85rem) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 0;
		bottom: 0;
		right: -3rem;
		z-index: 10;
		width: 90%;
		height: 100%;
		transition: all 0.3s ease-in-out;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		display: block;
		padding: 1rem 2rem 1rem 2rem;
		background: #5596DD;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}
	#nav.active {
		right: 0;
		opacity: 1;
		visibility: visible;
		pointer-events: all;
		z-index: 999999;
	}
	.spLogo,.spMenu {
		display: block;
	}
	.spLogo {
		max-width: 8.9rem;
		margin-bottom: 3rem;
	}
	.nav {
		display: block;
	}
	.nav a {
		display: block;
		border-bottom: 1px solid rgba(255,255,255,.5);
		font-size: 1.6rem;
		padding: 1.5rem 0;
	}
	.nav >.tgl > a {
		position: relative;
	}
	.nav >.tgl > a::after {
		content: "";
		display: block;
		background: url(../img/arrow_wh.svg) center center no-repeat;
		background-size: contain;
		width: 1.2rem;
		aspect-ratio: 4/3;
		position: absolute;
		top: 40%;
		right: 0;
		z-index: 1;
		transition: .2s;
	}
	.nav >.tgl.open > a::after {
		transform: rotate(180deg);
	}
	.ddNavArea {
		position: relative;
		padding: 2rem 0;
	}
	.ddNavPanel {
		display: block;
	}
	.ddNavPanel dd {
		width: 100%;
	}
	.ddNav {
		grid-template-columns: repeat(1,1fr);
	}
	.ddNav a {
		border-bottom: none;
		padding: 0;
		font-size: 1.4rem;
	}
	.ddTit {
		font-size: 2.2rem;
	}
	.ddTit br {
		display: none;
	}
	.ddTtl a {
		padding: 0;
		font-size: 1.4rem;
		margin-bottom: 2rem;
		border-bottom: none;
		background-position: right center;
		background-size: 1.5rem auto;
	}
	.nav a::before {
		display: none;
	}
	.spMenu {
		margin-top: 4rem;
		color: #fff;
	}
	.spMenu .fo-roboto-italic {
		font-size: 2.4rem;
	}
	.spMenu .fo-roboto-italic strong {
		font-size: 187.5%;
		display: block;
		margin-bottom: 0.2rem;
		font-weight: 500;
		-webkit-text-stroke: .02em #fff;
	}
	.spMenu small {
		display: block;
		margin-top: 7rem;
	}
	.takekomnav {
    margin-top: -6.5rem;
	}
	.takekomnav a {
		display: inline-block;
		border: 1px solid #fff;
		padding: .5rem 1rem;
	}

	/*footer
	-------------------------------------------------------*/
	#footer {
		padding: 5rem 0 8.5rem;
	}
	.fWrap {
		display: block;
	}
	.fLogo img {
		max-height: 3rem;
	}
	.fLft {
		max-width: 100%;
		margin: 0 0 3rem;
	}
	.fBnr {
		display: flex;
		justify-content: space-between;
		margin-top: 3rem;
	}
	.fBnr li {
		width: 100%;
	}
	.fBnr li + li {
		margin: 0;
	}
	.fBnr .btnImg a {
		aspect-ratio: 3 / 1;
		font-size: 1.2rem;
	}
	.fBnr .btnImg a .fo-roboto {
		font-size: 2rem;
		margin-bottom: 0.2rem;
	}
	.fBnr .btnImg a::after {
		bottom: 0.5rem;
		right: 0.5rem;
	}
	.fNav {
		height: auto;
		flex-direction: row;
		gap: 2rem 2%;
	}
	.fNav dl {
		width: 49%;
	}
	.fNav dt a {
		min-width: auto;
		position: relative;
	}
	.spTgl dt a::after {
		content: "";
		display: block;
		width: .8rem;
		height: .8rem;
		border-right: 1px solid #000;
		border-bottom: 1px solid #000;
		position: absolute;
		top: 12%;
		right: 1.5rem;
		transform: rotate(45deg);
		transition: .2s;
	}
	.spTgl dt.act a::after {
		transform: rotate(-135deg);
		top: 27%;
	}
	.fNav dd {
		display: none;
	}
	.fNav li {
		margin-top: 1.2rem;
	}
	.fNav a:hover {
		color: #000!important;
	}
	.fNav dd li a {
		display: block;
		position: relative;
		padding-left: 1.2rem;
	}
	.fNav dd li a::before {
		content: "";
		display: block;
		width: .5rem;
		height: .5rem;
		border-right: 1px solid #4d4d4d;
		border-bottom: 1px solid #4d4d4d;
		position: absolute;
		top: 50%;
		left: 0;
		transform: rotate(-45deg) translateY(-50%);
		transition: .2s;
	}
	.fNav02 {
		width: 100%;
	}
	#copyRight {
		margin-top: 3rem;
	}
	.tekekomBnr {
		left: 0;
		max-width: 100%;
	}

	/*toppage
	----------------------------------------------------------*/
	.mainArea {
		height: 60rem;
	}
	.bdrBox {
		width: 100rem;
		left: -3%;
		transform: translateX(-50%) rotate(-15deg);
	}
	.mainVideoWrap{
		width: 100%;
		left: 0;
		right: 0;
		top: 0;
		bottom: 6rem;
		transform: translateX(0);
		border-radius: 0 0 40rem 0 / 0 0 30rem 0;
		aspect-ratio: auto;
		height: auto;
	}
	.mainVideo {
		left: 0;
		right: 0;
		height: 100%;
		transform: none;
	}
	.mainVideo video {
		max-width: 110%;
	}
	.mainSub {
		width: 100%;
		top: auto;
		height: 32rem;
	}
	.mainArea svg {
		width: 50rem;
		transform: rotate(0deg);
		bottom: 6rem;
	}
	.mainTtl {
		bottom: 18rem;
	}
	.mainTtl h1 {
		margin-bottom: 1rem;
	}
	.mainTtl h1 span {
		font-size: 1.4rem;
		padding: .25rem 1rem;
		margin: .1rem 0;
	}
	.mainTtl .eng {
		font-size: 3.6rem;
	}
	.mainTtl .eng strong {
		margin-bottom: .2rem;
	}
	#topTxt .bdr {
		margin-top: -24rem;
	}
	.bdr._gy {
        height: clamp(30rem, 31.40625vw, 30rem);
    }
	.topTxtWrap .eng {
		font-size: 4rem;
	}
	.topTxtWrap {
		flex-direction: column;
	}
	.topTxtWrap h2 {
		font-size: 2rem;
	}
	.topTxtImg {
		max-width: 90%;
		margin: 0 auto;
	}
	.topNewsWrap {
		flex-direction: column;
	}
	.topNewsLft {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.topNewsLft .moreBtnWrap {
		margin: 0 0 3rem;
	}
	#topNews .newsList {
		margin-top: 0;
	}
	.newsList li {
		display: block;
		padding: 0 0 3rem 0;
	}
	.newsList .lft {
		width: 100%;
		gap: .5rem 1rem;
		margin-bottom: 1rem;
	}
	.newsList li a {
		padding-right: 0;
	}
	.newsList li a .more {
		bottom: -2rem;
	}
	.cate {
		width: 8rem;
	}
	.spTag {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: .2rem;
		margin-bottom: 3rem;
	}
	.spTag li a {
		display: block;
		background: #fff;
		padding: .5rem 0;
	}
	.spTag li.active a {
		background: var(--c_aq);
		color: #fff;
	}
	#topCompany {
		padding-top: 13rem;
	}
	.topCompanyWrap {
		padding-top: 4rem;
	}
	.topCompanyWrap::before {
		right: 0;
	}
	#topCompany .bg {
		height: 20rem;
	}
	.topTtlWrap {
		align-items: flex-start;
		flex-direction: column;
	}
	.topTtlWrap .ttlBox {
		margin: 0 0 3rem 0;
	}
	.topTtlWrap .moreBtnWrap {
		display: none;
	}
	.topCompanyNav {
		flex-direction: column;
	}
	.topCompanyNav .btnImg {
		width: 100%;
	}
	.topCompanyNav .btnImg a {
		aspect-ratio: 5 / 2;
	}
	.topProductWrap {
		flex-direction: column;
	}
	.topProductWrap figure {
		height: 20rem;
	}
	.topProductWrap dl {
		width: 100%;
		padding: 4rem 0 0 0;
	}
	.productLink li + li {
		margin-top: 1rem;
	}
	.productLink li a {
		/* padding: 1.5rem 1rem;
		gap: .5rem 1rem;
		line-height: 1; */
	}
	.productLink li a .fo-roboto {
		font-size: 2rem;
	}
	.productLink li a::after {
		width: 1.3rem;
	}
	.topCareerrsWrap {
		aspect-ratio: 3 / 5;
	}
	.topCareerrsBg {
		flex-direction: column;
	}
	.topCareerrsBg li {
		width: 100%;
		height: 50%;
	}
	.topCareerrsWrap::before, .topCareerrsWrap::after {
		width: 70%;
	}
	.topCareerrs h3 {
		font-size: 2.2rem;
	}
	.topCareerrs h3 img {
		max-height: 4.6rem;
	}
	.topCareerrs .txt {
		font-size: 1.2rem;
		font-feature-settings: "palt";
	}
	.topCareerrsWrap .svgWrap{
		width: 30rem;
	}
	.btmNav {
		flex-direction: column;
	}
	.btmNav .btnImg {
		width: 100%;
	}
	#contactBnr .container {
		width: 100%;
	}
	.contactBnr a {
		aspect-ratio: 4/1.5;
	}

	/*subPage-common
	---------------------------------------------------------*/
	.pageTtlArea {
		height:18rem;
	}
	.pageTtl {
		font-size: 1.4rem;
		text-shadow: 0 0 1rem rgba(0,0,0,.2);
		padding-bottom: 2rem;
	}
	.pageTtl h1 {
		font-size: 3.6rem;
	}
	.pageTtl p {
		font-weight:400;
	}
	.pankz ol {
		gap: 0 .5rem;
	}
	.pankz li {
		font-size: 1rem;
		line-height: 2;
	}
	.pankz a::after {
		margin-left: 0.2rem;
	}
	#subPage article > section:first-of-type {
		padding-top: 7rem;
	}

	/*message
	---------------------------------------------------------*/
	#messageTop .bg {
		background-position: top center;
		background-size: auto 55rem;
	}
	.messagetopWrap {
		gap:3rem 2rem
	}
	.messagetopWrap .img {
		max-width: 12rem;
	}
	.messageTtl h2 {
		font-size: 3rem;
	}
	.messageTtl p {
		font-size: 1.8rem;
		white-space: nowrap;
		padding-left: 1rem;
	}
	.messageTopArea .imgs {
		margin-top: 3rem;
		padding-left: 0;
		gap: 0 1rem;
	}
	.messageTopArea .imgs li:nth-of-type(1) {
		width: 34%;
		margin-top: -5rem;
	}
	.messageTopArea .imgs li:nth-of-type(2) {
		margin-top: 5rem;
		margin-right: 0;
		width: 32%;
	}
	.messageTopArea .imgs li:nth-of-type(3) {
		margin-top: 10rem;
		width: 30%;
	}
	#messageTop .bdr {
		margin-top: -18rem;
	}
	#messageTop {
		padding-bottom: 0;
	}
	#messageArea {
		padding-top: 0;
		overflow: visible;
		margin-top: 2rem;
	}
	.messageWrap {
		padding: 0;
		display: block;
	}
	.messageWrap > .img {
		width: 15rem;
		margin: 0 3rem 0 auto;
	}
	.messageCont h2 {
		font-size: 1.8rem;
		white-space: nowrap;
		margin-bottom: 2rem;
	}
	.presidentName {
		margin-top: 3rem;
	}
	.presidentName img {
		max-height: 2.8rem;
	}
	.messageBtm {
		overflow: hidden;
		height: 20rem;
	}
	.messageBtm img {
		height: 100%;
		min-width: 100%;
		-o-object-fit: cover;
		object-fit: cover;
		transform: scale(1.01);
	}
	.contNav {
		flex-direction: column;
	}
	.contNav .ttlBox .fo-roboto {
		font-size: 2.2rem;
	}
	.contNav .ttlBox {
		font-size: 1.4rem;
	}
	.contNav .btnImg a {
		aspect-ratio: 5/3;
	}
	.contNav li .arw {
		width: 3rem;
		right: 1rem;
		bottom: 1rem;
	}

	/*history
	---------------------------------------------------------*/
	#historyTop .js-bdr {
		margin-top: -15rem;
	}
	.historytopWrap {
		padding-left: 0;
		flex-direction: column;
	}
	.historytopWrap .imgs {
		margin: 0 auto;
		max-width: 28rem;
		align-items: flex-end;
	}
	.historytopWrap .imgs li {
		width: 55%;
		margin-top: 0;
	}
	.historytopWrap .imgs li + li {
		margin-bottom: -4rem;
	}
	.historyTopBox {
		padding-top: 0;
	}
	.historytopWrap h2 {
		font-size: 2.4rem;
		margin-bottom: 2rem;
	}
	.historytopWrap h3 {
		font-size: 2rem;
	}
	.historyArea {
		gap: 4rem 0;
		padding-left: 3rem;
		padding-bottom: 8rem;
	}
	.historyArea::before {
		width: 0.2rem;
		right: auto;
		top: -11rem;
	}
	.historyArea::after {
		right: auto;
		left: -.8rem;
	}
	.historyArea dl {
		transform: translateX(1rem);
	}
	.historyArea dl:nth-of-type(even) {
		transform: translateX(1rem);
	}
	.historyArea dl.act:nth-of-type(even) {
		transform: translateX(0);
	}
	.historyArea dt {
		font-size: 3.2rem;
		margin-bottom: 1rem;
	}
	.historyArea dd {
		padding: 2rem;
		gap: 1rem;
	}
	.historyArea dd::before {
		width: 3rem;
		left: -3rem!important;
		right: auto!important;
	}
	.historyArea dd::after {
		left: -3.4rem!important;
		right: auto!important;
	}
	.historyArea dd .date {
		font-size: 1.6rem;
	}
	#historyBtm {
		height: 20rem;
	}
	.historyBtm .txtBox h2 {
		font-size: 3rem;
		margin-bottom: 2rem;
	}

	/*faq
	------------------------------------------------------*/
	.faqArea .ttl {
		margin-bottom: 2rem;
		gap: 1rem;
	}
	.faqArea .ttl h2 {
		font-size: 2rem;
		letter-spacing: .05em;
	}
	.faqArea .ttl .num {
		font-size: 2.8rem;
	}
	.faqWrap dt, .faqWrap dd {
		padding: 1rem 3rem 1rem 4rem;
	}
	.faqWrap dt::before, .faqWrap dd::before {
		font-size: 2.6rem;
		left: .7rem;
		top: 1.1rem;
	}
	.faqWrap dt::after {
		right: 1rem;
	}

	/*legal
	------------------------------------------------------*/
	.txtCont + .txtCont {
		margin-top: 5rem;
	}
	.txtCont dt {
		padding: 1.5rem 0;
	}
	.txtCont dt .eng {
		font-size: 1.2rem;
	}
	.txtCont dt .ttl {
		font-size: 2rem;
	}
	.txtCont .txt {
		line-height: 1.6;
	}

	/*privacy
	------------------------------------------------------*/
	.privacySec h2 {
		font-size: 1.8rem;
	}
	.privacySec h2:not(:first-of-type) {
		margin-top: 5rem;
	}
	.privacySec .txt {
		line-height: 1.6;
	}
	.privacySec li {
		margin-top: 0.2rem;
	}

	/*contact
	------------------------------------------------------*/
	.formStep {
		margin-bottom: 5rem;
		gap: 0 5rem;
	}
	.formStep li {
		font-size: 1.2rem;
	}
	.formStep li:not(:first-of-type)::before {
		top: 2.4rem;
		width: 3rem;
		left: -4rem;
	}
	.formStep .num {
		width: 5rem;
		font-size: 2rem;
	}

	/*form
	------------------------------------------------------*/
	.formBox dt:not(:first-of-type),.policyCheck,.formBtn {
		margin-top: 3rem;
	}
	.formBox dt::before{
		padding: 0.6rem 1rem;
	}



 /*共通
  ---------------------------------------------------------*/
  .btnClrBtn a,
  .pageset .btnClrBtn a{
    font-size: 1.4rem;
    width: 14rem;
    padding: 1rem;
  }
.btnClrBtn._pdf a{
	width: 18rem;
}
  /*company
  ---------------------------------------------------------*/
  .c_lowerLink{
    padding-bottom: 5rem;
  }
  .c_lowerLink._investor{
    padding-top: 1rem;
  }
  .c_lowerLink .row {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
  .c_lowerLink .row a .img {
	height: 15rem;
  }
  .c_lowerLink .row a .ttl {
    font-size: 1.2rem;
    padding-top: 0.8rem;
  }
  .c_lowerLink .row a .ttl .fo-roboto{
    font-size: 152%;
    margin-right: 1rem;
  }
  .c_lowerLink .row a._blank .ttl::after{
    width: 1.2rem;
  }

  /*news 一覧
  ---------------------------------------------------------*/
  .postRow{
    gap: 5rem;
    flex-direction: column;
  }
  /* sidebar */
  .sidebar {
      width: 100%;
  }
  .sidebar div.box{
    max-width: 100%;
  }
  .sidebar div.box:not(:first-child) {
      margin-top: 3rem;
  }
  .sidebar div.box .ttl{
      font-size: 1.2rem;
      margin-bottom: 1.2rem;
  }
  .sidebar div.box._cate ul,
  .sidebar div.box._backnum ul li ul{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem;
  }
  .sidebar div.box._backnum ul li ul{
    margin-top: 0.6rem;
    grid-template-columns: repeat(4, 1fr);
  }
  .sidebar div.box._cate li + li{
    margin-top: 0;
  }
  .sidebar div.box li a,
  .sidebar div.box li span{
      padding: 0.8rem;
      font-size: 1.2rem;
  }
  .sidebar div.box._backnum li a{
    font-size: 1.3rem;
  }
  /* ページャー */
  .pager {
    margin-top: 3rem;
  }
  .pager span,
  .pager a {
    width: 2.4rem;
    font-size: 1.2rem;
  }
  .pager .next,
  .pager .prev {
    padding: 0.8rem 0;
    font-size: 1.2rem;
    width: 7.3rem;
  }
  /*news 詳細
  ---------------------------------------------------------*/
.newsSingle {
	padding-bottom: 5rem;
}
  .sidebar ._toc li + li{
    margin-top: 0;
  }
	.sidebar ._toc li a{
		gap: 1.2rem;
	}
	.sidebar ._toc li a::before{
		min-width: 3rem;
	}
  .singleHeader {
    margin-bottom: 1.6rem;
    gap: 1rem 1.2rem;
  }
  .singleHeader h2 {
    font-size: 2rem;
  }
.singleHeader h2  span {
	vertical-align: 0.3rem;
}
  .single .img{
    margin: 1.6rem auto 2rem;
  }
  .single .img img{
    max-height: 30rem;
  }
  .single .cont h4,
  .single .cont h5,
  .single .cont h6{
    font-size: 1.6rem;
    margin: 2.4rem 0 0;
  }
  .single .cont h3{
    padding-bottom: 1rem;
    margin-bottom: 1.2rem;
    margin-top: 3rem;
    font-size: 1.8rem;
  }
  .single .cont p{
    font-size: 1.4rem;
    margin-top: 1.4rem;
  }
  /* 前後の記事 */
  .pageset {
    margin-top: 3.2rem;
  }

  /*overview
  ---------------------------------------------------------*/
  .c_profile dt,
  .c_profile dd {
      padding: 1.4rem 1rem;
      width: 70%;
  }
  .c_profile dt {
      width: 30%;
  }
  .c_profile dd ul li{
      padding: 0.8rem 0;
  }
  .overviewSec .note{
    margin-top: 1.4rem;
    font-size: 1.2rem;
  }

  /*organization
  ---------------------------------------------------------*/
  .orgSec{
    padding-bottom: 2rem;
  }
  .scrollWrap {
    overflow: auto;
  }
  .scrollWrap .img {
    width: 58rem;
  }


  /*group
  ---------------------------------------------------------*/
  .groupLead{
    padding: 6rem 0 2.2rem!important;
  }
  .groupLead .row{
    max-width: 95rem;
    flex-direction: column;
  }
  .groupLead .row .box .ttl {
      font-size: 2.8rem;
      padding-bottom: 1.7rem;
  }
  .groupLead .row .box .link {
      margin-top: 1.6rem;
      max-width: 15rem;
  }
  .groupLead .row .box .link li a{
      padding: 0.7rem;
      font-size: 1.3rem;
  }
  .groupLead .row .box .link li a::after{
    width: 1.4rem;
    right: 0.9rem;
  }
  .groupLead .row .img {
      width: 122%;
      margin-left: -1rem;
      margin-top: -14rem;
  }
  .groupImg {
    grid-template-columns: repeat(5, 1fr);
    gap: 0.5rem;
    margin-top: 1rem;
  }
  .groupImg ._01 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }
  .groupImg ._02 {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }
  .groupImg ._03 {
    grid-column: 3 / 6;
    grid-row: 1 / 3;
  }
  .groupImg ._04 {
    grid-column: 1 / 3;
    grid-row: 3 / 5;
  }
  .groupImg ._05 {
    grid-column: 3 / 6;
    grid-row: 3 / 4;
  }
  .groupImg ._06 {
    grid-column: 3 / 6;
    grid-row: 4 / 5;
  }
  .groupOfficeWrap{
    padding-top: 2rem;
  }
  .groupOffice{
    padding: 4rem 0;
  }
  .groupOffice .ttl{
    font-size: 1.8rem;
    margin-bottom: 1.4rem;
  }
  .groupOffice a{
    padding: 1.6rem .4rem;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .groupOffice a h3{
    width: 100%;
    font-size: 1.4rem;
  }
  .groupOffice a address{
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .groupOffice a address span{
    display: block;
  }
  .groupOffice a .arw{
	  min-width: 3rem;
	  min-height: 3rem;
	 }


  /*group detail
  ---------------------------------------------------------*/
  .ttlJaEn{
    margin-bottom: 2.4rem;
  }
  .ttlJaEn .jaTxt{
    font-size: 1.8rem;
  }
  .groupDetail .img{
    margin-bottom: 1.6rem;
  }
	.groupDetail .img img{
	  height: 18rem;
	}
  .map {
    padding-bottom: 100%;
    margin: 1.2rem 0;
  }
  .groupOther {
    padding: 2rem 0 5rem;
  }
  .groupOther .ttl{
    font-size: 1.6rem;
    margin-bottom: 1.8rem;
  }
  .groupOther .linkWrap a{
    padding: 1.6rem 3rem;
    gap: 1.4rem;
    flex-wrap: wrap;
    position: relative;
    flex-direction: column;
  }
  .groupOther a .img{
    width: 16rem;
    height: 10rem;
    margin-inline: auto;
  }
  .groupOther a .box{
    font-size: 1.3rem;
    padding: 0;
  }
  .groupOther a h3{
    margin-bottom: 0.3rem;
    line-height: 1.4;
  }
  .groupOther a address{
    line-height: 1.4;
  }
  .groupOther a address span{
    display: block;
  }
  .groupOther a .arw{
    position: absolute;
    right: 0.5rem;
    bottom: 1.5rem;
    min-width: 2.4rem;
    min-height: 2.4rem;
  }
  .groupOther .btnClrBtn{
    margin-top: 2.4rem;
  }


  /*共通 c_bnrSec
  ---------------------------------------------------------*/
  .c_bnrSec{
    padding-bottom: 4rem;
   }
  .c_bnrSec .ttl{
    font-size: 1.8rem;
    padding: 1.4rem 0;
  }
  .c_bnrSec .txt{
    line-height: 1.6;
  }
  .c_bnrSec a{
		display: block;
    margin-top: 2rem;
    height: auto;
    padding: 2rem 0;
  }
  .c_bnrSec a strong{
    font-size: 1.4rem;
    margin-bottom: .2rem;
  }
  .c_bnrSec a .enTxt{
    font-size: 3.2rem;
  }
  .c_bnrSec a .jaTxt{
    font-size: 1.4rem;
  }
  .c_bnrSec a .bnrTxt{
    font-size: 1.1rem;
    width: 3.8rem;
  margin-top: .6rem;
  }


  /*共通 c_inveLink
  ---------------------------------------------------------*/
.c_inveLink{
  padding-top: 2rem;
}
.c_inveLink .row {
    gap: 1.2rem;
    flex-direction: column;
  }
  .c_inveLink .row .box {
    width: 100%;
    padding: 1.4rem 1rem 1.6rem 1.6rem;
  }
  .c_inveLink .row .box .enTxt {
    font-size: 2.6rem;
    margin-bottom: 0.3rem;
  }
  .c_inveLink .row .box .jaTxt{
    font-size: 1.4rem;
    font-weight: 400;
  }
  .c_inveLink .row .box .moreBtn{
    margin-left: auto;
    margin-top: -4.5rem;
  }
  .c_inveLink .row .link {
    gap: 1rem .5rem;
  }
  .c_inveLink .row .link a{
    padding: 0.5rem .4rem;
	 font-size: 1.3rem;
	 letter-spacing: normal;
  }
  .c_inveLink .row .link a::after{
    width: 1.3rem;
  }
  .c_inveLink .bdr{
    margin-top: -15rem;
  }


  /*meeting
  ---------------------------------------------------------*/
  .c_anchor{
    padding-bottom: 2.8rem;
	margin-bottom: 2rem;
  }
  .c_anchor .row {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.8rem 1rem;
  }
  .c_anchor .row .img {
    height: 7rem;
  }
  .c_anchor .row strong{
    font-size: 1.4rem;
    margin-top: 0.6rem;
  }
  .c_anchor .row strong::after{
    width: 1.6rem;
    margin-top: 0.5rem;
  }
  .c_imgTtl{
    height: 10rem;
  }
  .c_imgTtl .jaTxt{
    font-size: 2rem;
    margin-bottom: 0.4rem;
  }
  .c_imgTtl .enTxt{
    font-size: 1.2rem;
  }
  .c_meeting {
	padding: 2rem 0;
	}
  .c_meeting dl.row,
  dl.toggle dt,
  .c_meeting dl.toggle dd{
    padding: 1.4rem 2.2rem;
  }
  .c_meeting dl.row{
    gap: 0.6rem 1rem;
    flex-wrap: wrap;
  }
  .c_meeting dl dd a + a{
    margin-top: 1rem;
  }
  .c_meeting dl dd a .txt{
    margin-right: .6rem;
  }
  .c_meeting dl dd .date{
    margin-right: .6rem;
  }
  .c_meeting dl dd .pdf{
    padding: 0.1rem 0.5rem;
  }
  dl.toggle dt::after{
    width: 1.2rem;
    right: 1.5rem;
  }


  /*disclosure
  ---------------------------------------------------------*/
  .c_discSec .newsList li{
    padding-bottom: 1.6rem;
  }
  .c_discSec .newsList li:first-child{
    padding-top: 1.6rem;
  }
  .c_discSec .newsList._latestData li:first-child{
    padding-top: 2.2rem;
  }
  .c_discSec dl dt{
    padding: 1.4rem 2rem;
  }


  /*stocks
  ---------------------------------------------------------*/
  .stockStatus{
    padding-top: 5rem;
  }
  .lineTtl{
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
  .lineTtl::before{
    width: 1.2rem;
    height: 0.2rem;
    margin-right: 0.6rem;
  }
  .stockStatus .area{
    margin-top: 3.2rem;
  }
  .c_tableStock{
    font-size: 1.3rem;
  }
  .c_tableStock th,
  .c_tableStock td{
    padding: 1rem 1.2rem;
  }
  .c_tableStock th:first-of-type{
    width: 40%;
  }
  .c_tableStock._holder th:first-of-type{
    width: 48%;
  }
  .c_tableStock._holder td{
    width: 26%;
  }
  .c_tableStock dt,
  .c_tableStock dd {
    width: 36%;
  }
  .c_tableStock dt {
    width: 64%;
  }
  .c_tableStock td span{
    margin-left: 0;
    display: block;
  }
  .stockStatus .note{
    font-size: 1.2rem;
    margin-top: 1rem;
  }
  .stockInfo{
    padding: 0 0 3.2rem;
  }
  .stockInfo .c_tableStock{
    margin: 2.2rem 0 2.4rem;
  }
  .stockInfo .about dt{
    font-size: 1.6rem;
    margin-bottom: 0.6rem;
  }
  .stockInfo .about dt:nth-of-type(n+2){
    margin-top: 2rem;
  }


  /*incentive
  ---------------------------------------------------------*/
  .incenSec .lead{
    margin-bottom: 3rem;
  }
  .incenSec .ttl{
    padding-bottom: 0.6rem;
    margin-bottom: 1.4rem;
    font-size: 1.8rem;
  }
  .incenSec table th,
  .incenSec table td{
    padding: 1rem 0.6rem;
    font-size: 1.3rem;
  }
  .incenSec .note{
    margin-top: 1rem;
    font-size: 1.3rem;
  }

	/*sdgs
	---------------------------------------------------------*/
	#sdgsArea .topTxt {
		margin-bottom: 3rem;
		text-align: left;
	}
	.sdgsArea {
		padding: 3rem 2rem;
	}
	.sdgsArea > .txt {
		text-align: justify;
	}
	.sdgsWrap ul {
		gap: .5rem;
	}
	.sdgsWrap h3 {
		max-width: 40rem;
		margin: 4rem auto 2rem;
	}
	#sdgsArea .bdr {
		height: 25rem;
		margin-top: -12rem;
	}
	.sdgsContWrap {
		display: block;
	}
	.sdgsContWrap figure {
		height: 15rem;
		margin-bottom: 2rem;
	}
	.sdgsCont {
		width: 100%;
	}
	.sdgsCont h2 {
		font-size: 1.8rem;
	}
	.sdgsCont .icons {
		margin-top: 3rem;
	}
	.sdgsCont .icons li {
		width: 6.5rem;
	}
	.collaboTtl {
		font-size: 3.2rem;
		gap: 0 1.5rem;
	}
	.collaboTtl > img {
		width: 2rem;
	}
	.collaboTtl + small {
		font-size: 1.4rem;
		margin: .5rem auto 2rem;
	}
	#collaboration h3 {
		font-size: 1.8rem;
	}
	.collaboWrap {
		display: block;
		margin-bottom: 3rem;
	}
	.collaboArea {
		padding: 3rem 2rem;
	}
	.collaboWrap figure {
		width: 100%;
		margin-bottom: 2rem;
	}
	.collaboWrap dl {
		margin-top: 0;
	}
	.collaboWrap h4 {
		font-size: 1.8rem;
	}
	.collaboLogo {
		gap: 0 1.5rem;
	}
	.collaboSdgs {
		text-align: center;
		flex-direction: column;
		margin-top: 3rem;
	}
	.btn {
		margin-top: 3rem;
	}

	/*health
	------------------------------------------------------*/
	#healthTop {
		padding-bottom: 12rem;
	}
	#healthTop h2 {
		font-size: 2rem;
	}
	#healthTop .txt-lh {
		text-align: left;
	}
	#healthTop .eng {
		font-size: 4.5rem;
		white-space: nowrap;
	}
	.healthWrap {
		display: block;
	}
	.healthWrap figure {
		width: 100%;
		margin-bottom: 2rem;
	}
	.midashiTxt span {
		font-size: 1.6rem;
	}
	.healthBox h3 {
		font-size: 1.6rem;
	}
	#health03 .ttlBox {
		margin-bottom: 2rem;
	}
	.healthCont01 {
		gap: 1rem;
		margin-top: 4rem;
	}
	.healthCont01 dd {
		padding: 1rem;
		text-align: left;
		font-size: 87.5%;
	}
	.healthCont01 dd h3 {
		font-size: 1.4rem;
	}
	.healthCont02 .arw {
		width: 5rem;
		top: -2.5rem;
	}
	.healthCont02 {
		margin-top: 4rem;
		padding: 3rem 1.5rem;
	}
	.healthCont02 h3 {
		font-size: 2rem;
	}
	.healthDeta {
		flex-direction: column;
	}
	.healthCont02 h4 {
		margin-bottom: 1.5rem;
	}
	.healthDeta ul {
		width: 100%;
		grid-template-columns: repeat(2,1fr);
	}
	.healthDeta ul li {
		font-size: 1rem;
	}

	/*vision
	------------------------------------------------------*/
	#subPage #visionPhilo {
		padding: 6rem 0 22rem;
		background-size: 225% auto;
	}
	.visionPhilo .ttlBox {
		position: absolute;
		top: 0;
		left: 0;
		margin-bottom: 3rem;
	}
	.visionPhiloTxt h3 {
		font-size: 1.6rem;
	}
	.visionPhiloTxt h3 span {
		padding: .2rem .5rem;
	}
	.visionPhiloImgs {
		margin-top: 1rem;
	}
	.visionPhiloImgs li {
		max-width: 30rem;
		margin-top: 3rem!important;
	}
	.visionPhiloImgs li._01 {
		margin-right: -2rem;
	}
	.visionPhiloImgs li._02 {
		margin-left: -2rem;
	}
	.visionPhiloImgs h3 {
		font-size: 1.6rem;
	}
	.visionPhiloImgs .eng {
		font-size: 3rem;
	}
	.visionPhiloImgs li::after {
		width: 25rem;
	}
	.visionPhiloImgs li._01::after {
		transform: rotate(-62deg);
	}
	.visionPhiloImgs li._02::after {
		width: 25rem;
		transform: rotate(255deg);
		right: 55%;
	}
	.visionPhiloImgs li._03::after {
		width: 40rem;
		transform: rotate(90deg);
		right: 8%;
	}
	.visionPhiloBtm {
		margin-top: 6rem;
	}
	.visionPhiloBtm .sub {
		gap: 1rem;
		align-items: center;
	}
	.visionPhiloBtm .sub span {
		font-size: 1.5rem;
		white-space: nowrap;
		padding: 1rem .5rem;
	}
	.visionPhiloBtm .sub small {
		font-size: 1.5rem;
		color: var(--c_aq);
		text-shadow: 0 0 .5rem rgba(255,255,255,.5);
	}
	.visionPhiloBtm h4 {
		font-size: 4.2rem;
		white-space: nowrap;
	}
	.visionPhiloArea {
		display: flex;
		flex-direction: column;
		position: relative;
		padding-top: 6rem;
	}
	.philoContBox {
		position: relative;
		order: -1;
		width: 100%;
		font-size: 1.2rem;
		margin-bottom: 7rem;
	}
	.philoContBox dl {
		width: 13.5rem;
		gap: .5rem;
		line-height: 1.4;
	}
	.philoContBox h4 {
		font-size: 1.8rem;
	}
	.philoContBox h5 {
		font-size: 1.6rem;
	}
	.philoContBox figure {
		max-width: 11rem;
		box-shadow: 0 0 1rem 0 #1198FF;
	}
	.philoContBox figure._01 {
		top: -3rem;
		right: 0;
	}
	.philoContBox figure._02 {
		top: 5rem;
		left: -.7rem;
	}
	.philoContBox figure._03 {
		bottom: -8rem;
		right: -.5rem;
	}
	.philoCont li._01 {
		top: 4rem;
	}
	.philoCont li._02 {
		left: 1.5em;
		bottom: 5rem;
	}
	.philoCont li._03 {
		right:1.5rem;
		bottom: 5rem;
	}



	.visionPurposeWrap {
		display: block;
		overflow: hidden;
	}
	.visionPurposeWrap figure {
		width: auto;
		margin-bottom: 2rem;
	}
	.visionPurposeWrap .num {
		font-size: 3.2rem;
	}
	.visionPurposeWrap h3 {
		font-size: 2rem;
	}
	.visionPurposeWrap .eng {
		font-size: 3.2rem;
		margin-top: 2rem;
	}
	.visionPurpose .bg._01 {
		top: -10rem;
	}
	.visionPurpose .bg._02 {
		bottom: -10rem;
	}
	.visionVision .container {
		padding: 6rem 0;
	}
	.visionVision .row {
		flex-direction: column-reverse;
		gap: 3rem 0
	}
	.visionVision .row .box {
		width: 100%;
		padding: 0;
	}
	.visionVision .row .img {
		height: 20rem;
		margin-top: 0;
		overflow: hidden;
	}
	.visionVision .row .box .ttl {
		font-size: 1.6rem;
		margin: 0 0 3rem;
		padding: 0;
	}
	.visionVision .row .box .enTxt {
		font-size: 3.2rem;
	}
	.visionVision .row .box .txt {
		font-size: 1.4rem;
	}
	.visionBeyond .row {
		flex-direction: column-reverse;
		gap: 4rem;
		margin-top: 5rem;
	}
	.visionBeyond .row .img ._01{
		width: 25rem;
		max-width: 100%;
	}
	.visionBeyond .row .img ._02{
		width: 25rem;
		max-width: 100%;
		margin-top: 17rem;
		margin-left: -9rem
	}
	.visionBeyond .row .img ._03{
		width: 25rem;
		max-width: 100%;
		margin-top: 6rem;
	}
	.visionBeyond .row .box {
		padding: 0;
	}
	.visionBeyond .row .box .txt {
		font-size: 1.6rem;
	}
	.visionBeyond .row .box .enTxt {
		font-size: 5.7rem;
	}

	/*industry-trend
	------------------------------------------------------*/
	.PageTxt h2 {
		font-size: 1.8rem;
	}
	.PageTxt .txt {
		text-align: left;
	}
	.trendTtl {
		display: block;
		min-height: auto;
		margin-bottom: 3rem;
	}
	.trendTtl .num {
		border-right: none;
		border-bottom: 1px solid #000;
		padding: 0 0 1rem 0;
		margin: 0 auto 3rem;
	}
	.trendTtl .num strong {
		font-size: 450%;
	}
	.trendTtl h2 {
		font-size: 2rem;
	}
	.trendTtl .eng {
		font-size: 2rem;
		margin-bottom: 1rem;
	}
	.trendWrap {
		display: block;
	}
	.trendWrap figure {
		max-height: 15rem;
		margin-bottom: 3rem;
	}
	.trendArea:nth-of-type(odd) figure {
		margin-top: 0;
	}
	.trendWrap .txt-lh {
		width: 100%;
		letter-spacing: 0.01em;
	}
	#industry-trend01 .trendWrap .txt-lh {
		margin-top: 0;
	}
	.trend01Imgs {
		margin-top: 5rem;
		gap: 1rem;
		grid-template-columns: repeat(2,1fr);
	}
	.trend02Cont {
		flex-direction: column;
		gap: 4rem 0;
	}
	.trend02Cont .box {
		padding: 1.5rem 0;
	}
	.trend02Cont > .box {
		aspect-ratio: 0;
		width: 100%;
	}
	.trend02Cont .img {
		width: 100%;
	}
	.trend02Cont .box2 {
		flex-direction: row;
		gap: .5rem;
	}
	.trend02Cont .box2 .ttl {
		font-size: 1.2rem;
		letter-spacing: normal;
		white-space: nowrap;
	}
	.trend02Cont .box2 .txt {
		font-size: 1rem;
	}
	.trend02Cont .box::before {
		transform: rotate(90deg);
		right: 0!important;
		left: 0!important;
		margin: 0 auto;
		top: auto;
		bottom: -5rem;
	}
	.trend02Cont .box2 .box::before {
		top: -3.5rem;
		bottom: auto;
	}

	/*financial
	------------------------------------------------------*/
	.financialChart h2 {
		font-size: 1.6rem;
		margin-bottom: 4rem;
	}
	.financialArea h3 {
		font-size: 1.5rem;
		margin-bottom: 1rem;
	}
	.financialArea + .financialArea {
		margin-top: 5rem;
	}
	.financialChart .btmTxt {
		margin-top: 5rem;
	}
	.financialtblArea {
		overflow: auto;
	}
	.fcBox {
		width: 65rem;
	}



















}
















