@charset "utf-8";
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body { color: #333333; line-height: 1.8;  background: #fff;}
a { color: #333333; text-decoration: none; }
a.ul{text-decoration: underline; }
a:hover { text-decoration: underline;}
.clickable a, .clickable a:hover { color: #333;}
.flex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.inrContent{width: 92%; max-width: 1280px; margin-right: auto; margin-left: auto;}
.alignL {text-align: left!important;}
.alignR {text-align: right;}
.alignC {text-align: center !important;}

/* ----------------------------------------------------
header (common)
---------------------------------------------------- */
#header #hdParts {display: flex; display: -webkit-flex; justify-content: space-between; position: absolute; right: 4%; top: 0; height: 80px; align-items: center;}
.hdBtnSearch {margin-right: 40px; display: block;}
.hdBtnSearch a {width: 32px; height: 32px; display: flex; display: -webkit-flex; justify-content: center;  align-items: center;}
.hdBtnSearch a img {width: 20px; height: auto;}
#hdLang {display: flex; display: -webkit-flex; font-size: 1.4rem;}
#hdLang li {text-align: center; }
#hdLang li a {background:#eee; color: #999; width: 40px; height: 32px; display: flex; display: -webkit-flex; justify-content: center;  align-items: center; cursor: pointer;}
#hdLang li a.current {background: #333; color: #fff; cursor: default;}
#hdLang li a.current:hover {opacity: 1 !important; filter: alpha(opacity=100);}

/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#footer { margin-top: -3%;}
#pagetop {position: relative;}
#pagetop.clickable:hover, #pagetop a:hover {opacity: 1 !important;}
#pagetop .bgPageTop01 {width: 100%; position: relative;}
#pagetop .bgPageTop01::after {content: ""; width: 100%; height: 2px; background:#009ae1; position: absolute; left: 0; bottom: 0;}
#pagetop .bgPageTop02 {position: absolute; left: 0; bottom:-1px; margin: 0; width: 100%;}
#pagetop .bgPageTop01 img, #pagetop .bgPageTop02 img  {width: 100%; height: auto;}
#pagetop a {display: block; background: #009ae1; color: #fff; height:180px; width: 100%; position: relative; text-align: center; padding-top: 50px; font-size: 1.5rem;}
#pagetop a::before {content: ""; width: 30px; height: 30px; border-top: 2px solid #fff; border-right: 2px solid #fff; position: absolute; left: 50%; top: 15%; transform:translate(-50%,0) rotate(-45deg);}
#ftInfo {width: 92%; max-width: 1280px; margin:0 auto; padding: 10px 0 45px; font-size: 1.2rem;}
#ftInfo .ftBanner {margin-bottom: 15px;}
#ftInfo .ftBanner li {margin-right: 5px; display: inline-block;}
#ftInfo .ftBanner li img {width: 70%; height: auto;}
#ftInfo .flex {flex-direction: row-reverse;}
#ftInfo .ftLink {font-size: 0;}
#ftInfo .ftLink li {display: inline; font-size: 1.2rem; margin-left: 25px;}
#footer .copy {width: calc(224px * 0.7); text-align: center;}

/* ----------------------------------------------------
home (common)
---------------------------------------------------- */
.homTitle {font-size: 4.4rem; margin-bottom: 40px;}

/* visual */
#homVisual {width: 100%; background: #fff;}
#homVideo {background: #fff; overflow: hidden; position: relative;}

.video-container { margin: 0 auto; width: 100%; height: 100vh; left: 0; right: 0; top: 0; bottom: 0; position: absolute; background: #fff; z-index: 10;}
.video-wrap { position: relative; overflow: hidden; width: 100%; height: 100vh;}
video { min-width: 100%;  position: absolute; width: 0; top: 50%;  transform: translateY(-50%);}
body#home.videoPlay {height: 100vh; overflow: hidden;}

/*
#homImgVisual {width: 100%; background:#fff url("../img/home/img-visual-01.png") center center no-repeat; background-size: contain; display: none;}


@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
		.video-wrap { height: calc(90vh - 80px);}
		 video {min-height: calc(90vh - 80px); }
}
	@media (max-aspect-ratio: 16/9) {
		.video-wrap { height:100vh}
		video {width: 100%; height: auto; }
	}
*/

/* information */
#homInfo {border-top: 2px solid #333; border-bottom: 2px solid #333;  padding:40px 0 60px;}
#homInfo  .homTitle {margin-bottom: 30px;}
#homInfo .inrContent {position: relative;}
.wrapListInfo {margin-bottom: 20px;}
.listInfo {position:relative; padding-left: 224px; margin: 0 0 10px;}
.listInfo:last-child{margin: 0;}
.listInfo p {margin: 0;}
.listInfo .infNew {position: absolute; left: 0; top: 0; font-size: 1.4rem; background:#009ae1; color: #fff; width: 48px; height: 24px;  line-height: 1; display: flex; display: -webkit-flex; align-items: center; justify-content: center;}
.listInfo > ul {position: absolute; left: 60px; top: 0; margin: 0; display: flex; display: -webkit-flex;}
.listInfo > ul > li {margin-right: 15px;}
.listInfo > ul > li.infDate {min-width: 80px; }
.listInfo > ul > li.infCat {font-size: 1.4rem; margin-right: 15px; background: #eee; width: 48px; height: 24px;display: flex; display: -webkit-flex; align-items: center; justify-content: center;}
.infListLink {margin: 0; display: flex; display: -webkit-flex; justify-content: flex-end;}
.infListLink li {margin-left: 30px;}
.infListLink li.homLinkMore { text-align: right;}
.infListLink li.homLinkMore a {padding-left: 50px; position: relative;}
.infListLink li.homLinkMore a::before {content: ""; width: 100%; height: 1px; background: #333; position: absolute; left: 0; bottom: -5px;}
.infListLink li.homLinkCovid a {display: block; border: 1px solid #999; font-size: 1.4rem; padding: 5px; color: #999; position: relative;}
.infListLink li.homLinkCovid a::after {  content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: #999; transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .5s;}
.infListLink li.homLinkCovid a:hover {color: #fff;}
.infListLink li.homLinkCovid a:hover::after{  transform-origin: 0% 50%;  transform: scaleX(1);}

/* contents */
#homContents {margin: min(4vw,50px) 0 min(10vw,150px); position: relative;}
#homContents::before {content: ""; width: 100%; height: 240px; background: #eee; position: absolute; left: 0; top: 100px; z-index: -1;}
.slider {overflow: visible;}
.slider .slick-slide { transform: scale(0.66) translate(-600px , -30px); transition: all .5s ease; cursor: pointer; position: relative; margin: 0 -20px;}
.slick-slide.slick-center {transform: scale(1) translate(-400px , 0);}
.slideImg .slideLink {position: absolute; left: 50%; bottom: 0px; width: 864px; height: 80px; color: #fff; display: none; margin: 0; z-index: 2; background: left top; background-repeat: no-repeat; background-size: contain; }
.slideImg .slideLink a {color: #fff; font-size: 3.2rem; padding-left: 80px; display: flex; display: -webkit-flex; align-items: center; width: 100%; height: 100%;}
.slideImg .catTitle {position: absolute; left: 0; top: 50%; transform: translateY(-80%);color: #fff; margin: 0; font-size: 3.36rem; z-index: 2; width: 100%; text-align: center;}
.slick-center .catTitle {display: none;}
.slick-center .slideLink{display: block;}
.slider .slick-slide .slideOff {display: block;}
.slider .slick-slide .slideOn {display: none;}
.slick-slide.slick-center .slideOff {display: none;}
.slick-slide.slick-center .slideOn {display: block;}

.slick-arrow {z-index: 5; border: none;  bottom: -60px; position: absolute; left: 50%; font-size: 0; width: 28px; height: 28px; background: none; }
.slick-arrow::before {content: ""; width: 18px; height: 18px; border-top: 2px solid #333; border-right: 2px solid #333; position: absolute;top: 50%;}
.slick-arrow.slick-prev::before { left: 0; transform: translateY(-50%) rotate(-135deg);}
.slick-arrow.slick-next::before { right: 0; transform: translateY(-50%) rotate(45deg);}
.slick-prev {margin-left: -640px; }
.slick-next {margin-left: 640px; transform:translateX(-100%);}

.bgSlideL {position: relative; display: block;}
.bgSlideL::before {content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; }
.slick-center .bgSlideL::before  {display: none !important;}

.slideVision .slideLink {background-image: url("../img/home/bg-slideLink.png") ; }
.slideCompany .slideLink {background-image: url("../img/home/bg-slideLink-vision.png") ; }
.slideBusiness .slideLink {background-image: url("../img/home/bg-slideLink-business.png") ; }
.slideNews .slideLink {background-image: url("../img/home/bg-slideLink-news.png") ; }
.slideSustain .slideLink {background-image: url("../img/home/bg-slideLink-sustain.png") ; }
.slideRecruit .slideLink {background-image: url("../img/home/bg-slideLink-recruit.png") ; }
.slideContact .slideLink {background-image: url("../img/home/bg-slideLink-contact.png") ; }


/* 動画modal 202506 */
.modal { display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.9);}
.modal-content { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 90%; max-width: 960px; aspect-ratio: 16/9; background: #000;}
.modal video { width: 100%; height: auto;}
.close { position: absolute; top: 0; right: 0; font-size: min(3.3vw,4rem); cursor: pointer; color: #fff; z-index: 100; transform:translateY(-100%);}


/* slider 調整  */
@media (max-width: 1391px) and (min-width: 768px) {
	#homContents::before {height: 17.25vw; top: 7.18vw;}
	.slider .slick-slide  img {width: 34vw;}
	.slider .slick-slide {transform: scale(0.66) translate(-43.135vw , 0);  margin: 0 -1.4vw;}
	.slick-slide.slick-center {transform: scale(1) translate(-28.7vw , 0);}
	.slideImg .slideLink {width: 62vw; height: 5.75vw; }
	.slideImg .slideLink a {font-size: 2.3vw; padding-left: 5.75vw; }
	.slideImg .catTitle { font-size: 2.4vw;}
	.slick-arrow {bottom:-4vw; width: 2vw; height: 2vw; }
	.slick-arrow::before {width: 1.295vw; height: 1.295vw;}
	.slick-prev {position: absolute; left: 4%;margin-left: 0; z-index: 5;}
	.slick-next {position: absolute; left: inherit ; right: 4%;  margin-left: 0; z-index: 5; transform:none;}
}

@media (max-width: 767px) {
.close { font-size: min(6vw,4rem);}

}

/* 追加 2ndPhase */
#homWorks {margin: 120px auto 160px;}
#homWorks .homTitle {margin-bottom: 0;}
.homListWorks{position: relative;}
.homListWorks::after{content: ""; display: block; width: 23.125%;}
.homListWorks::before{content: ""; display: block; width: 23.125%; order: 1;}
.homContWorks {width: 23.125%; padding: 1.5rem 1.6rem 0; position: relative; margin-top: 5rem;}
.homContWorks::before {content: ""; width: 100%; height: 4rem; position: absolute; left: 0; top: 0; background:#E4E4E4;}

/* 20220701　色無 */
.homContWorks-nocolor {width: 23.125%; padding: 1.5rem 1.6rem 0; position: relative; margin-top: 5rem;}
.homContWorks-nocolor::before {content: ""; width: 100%; height: 4rem; position: absolute; left: 0; top: 0;}

.homImgWorks {position: relative; z-index: 2; }
.homPhotoWorks {margin: 0; position: relative; z-index: 1;}
.homCatWorks {font-size: 1.2rem; background: #eee; padding:2px 8px; color: #fff; margin-bottom: 10px;}
.homCatWorks.media {background:#8FC31F; }
.homCatWorks.special {background:#006FBC; }
.homCatWorks.unit {background:#9C549D; }
.homCatWorks.network {background:#F5A200; }
.homCatWorks.solution {background:#F9D0BA; }
.homReadWorks {margin-bottom: 0; line-height: 1.6;}

#homTopics {margin: min(5vw,60px) auto min(8.3vw,100px);}
#homTopics .homTitle {margin-bottom: 0;}
.homListTopics::before{content:""; display: block; width: 23.125%; order:1;}
.homListTopics::after{ content:""; display: block; width: 23.125%;}

.homContTopics  {width: 23.125%; padding: 1.5rem 1.6rem 0; position: relative; margin-top: 5rem; }
.homContTopics::before {content: ""; width: 100%; height: 7.2rem; position: absolute; left: 0; top: 0; background:#00B9EB; z-index: -1;}

.homTopicData {color: #fff; margin-bottom: 5px; align-items: center; }
.homDateTopics,.homCatTopics { margin: 0; }
.homReadTopics h3 {font-size: 1.9rem; font-weight: 600; line-height: 1.5; margin-bottom: 10px;}

.homImgTopics {margin-bottom: 10px;}
.homReadTopics p, .homReadTopics ul {margin-bottom: 0; line-height: 1.5}
.homReadTopics ul li {padding-left: 1.6rem; position: relative; line-height: 1.5; margin: 4px 0;}
.homReadTopics ul li::before {content: ""; position: absolute;width: 6px; height: 6px; background: #333; border-radius: 50%; left: 2px; top: 0.8rem;}

/* ----------------------------------------------------
underlayer module (common)
---------------------------------------------------- */
.topicPath { list-style: none;	margin: 10px auto;	font-size: 0;width: 92%; color: #999;}
.topicPath li a {color: #999;}
.topicPath li {font-size: 1.2rem; display: inline-block; position: relative;  letter-spacing: 0.1rem; }
.topicPath li:not(:first-child) {padding: 0 0 0 15px; margin-left: 5px; position: relative;}
.topicPath li:not(:first-child)::before {content: ""; width: 6px; height: 6px; border-top: 1px solid #999; border-right: 1px solid #999; position: absolute; left: 0; top: 50%; transform: translateY(-50%) rotate(45deg);}

#catTitle {border-top: 2px solid #333; border-bottom: 2px solid #333; display: flex; display: -webkit-flex; justify-content: center; align-items: center; height: 175px; background: url("../img/page/common/bg-catTitle-01.png") right top no-repeat; background-size: auto 100%;}
#catTitle h2 {width: 92%; max-width: 1280px; font-size: 4.8rem; line-height: 1.2; }

#mainContent {width: 92%; max-width: 1280px;  margin: 0 auto;}
.colFlex {display: flex; display: -webkit-flex; justify-content: space-between;}
.colFlex .mainWrapper {width: 75%; padding: 80px 0 100px; }
.colFlex .main {max-width: 800px; width:92%; position: relative;}
.colFlex #navLocalBlock {width:25%; padding: 40px 0 100px 40px; border-left: 2px solid #333;}
.colSingle .mainWrapper  {width: 100%; padding: 80px 0 100px; }

#navLocalBlock ul {margin: 0;}
#navLocalBlock ul  li.navTtlLocal {font-size:1.2rem; padding-left: 10px; margin-bottom: 8px; font-weight: 600;}
#navLocalBlock ul  li.navTtlLocal:not(:first-child) {margin-top: 30px;}
#navLocalBlock ul  li a {display: block; padding: 5px 10px; margin-bottom: 5px; line-height: 1.4; letter-spacing: -0.08rem;}
#navLocalBlock ul  li a:hover, #navLocalBlock ul  li a.current, #navLocalBlock ul.index  li a.parentsLink{background: #009ae1; color: #fff; }

.hA {font-size: 3.2rem; margin-bottom: 30px; }
.hA  span {font-size: 2rem; margin-left: 30px;}
.hB {font-size: 2.4rem; margin-bottom: 30px; }

/* table */
.table {width: 100%; margin: 0; table-layout: fixed;}
.table th {font-weight: normal; text-align: left;}
.tblA th, .tblA td {padding: 15px; border-top: 2px solid #eee;}

/* link */
.linkExternal, .linkSmall {position: relative; color: #999; font-size: 1.4rem; text-decoration: underline;}
.linkExternal::after {content: ""; width: 20px; height: 16px; position: absolute; right: 0; top: 50%; transform: translate(150%, -50%); background: url("../img/page/common/ic-linkExt.png") center center no-repeat; background-size: contain;}
.linkPDF {position: relative; padding-left: 80px; margin-bottom: 5px;}
.linkPDF a {text-decoration: underline;}
.linkPDF .icPDF {position: absolute; left: 0; top: 0; padding: 3px; width: 64px; height: 28px; background: #eee; font-size: 1.4rem; text-align: center;}
.linkPDF .icPDF em {font-style: normal; position: relative; padding-left:18px; line-height: 1.2;}
.linkPDF .icPDF em::before {content: ""; width: 10px; height: 14px; position: absolute; left: 0; top: 50%; transform: translateY(-50%); background: url("../img/common/ic-pdf-01.png") center center no-repeat; background-size: contain;}

/* list */
.listDot li {list-style-type: disc; margin-left: 22px;}
.listNum li  {list-style-type:decimal;  margin-left: 22px;}

/* indexList */
.indexList {width: 85%; max-width: 960px; margin: 0 auto; }
.indexList li {width: 282px; height: 162px; margin-bottom: 57px;}
.indexList::after {display: block;content:"";width: 282px;}
.indexList li a {display: flex; display: -webkit-flex; justify-content: center; align-items: center; width: 100%; height: 100%; background: url("../img/page/common/bg-indexList-01.png") center center no-repeat; background-size: contain; text-align: center; font-size: 2rem; line-height: 1.4;} 
.indexList em {font-style: normal; font-size: 1.8rem; line-height: 1.3; display: block;}

/* 変更追加・20220609 */
.wrapListBnr {display: flex; display: -webkit-flex; justify-content: flex-end; margin-top: 50px;}
.listBnrCommon {width: 50%; }
.listBnrCommon li a {display: block; border: 2px solid #ccc; padding: 13px 20px; position: relative;}
.listBnrCommon li a::before {content: ""; width: 10px; height: 10px; border-top: 2px solid #ccc; border-right: 2px solid #ccc; position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg);}
.listBnrCommon li a::after {  content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: #ccc; transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .5s;}
.listBnrCommon li a:hover {color: #fff;}
.listBnrCommon li a:hover::before {border-color: #fff;}
.listBnrCommon li a:hover::after{  transform-origin: 0% 50%;  transform: scaleX(1);}

.listBnrGr li a {color: #009944; border-color: #009944;}
.listBnrGr li a::before {border-color: #009944;}
.listBnrGr li a::after {background-color: #009944; }

.listBnrRed li a {color: #e60012; border-color: #e60012;}
.listBnrRed li a::before {border-color: #e60012;}
.listBnrRed li a::after {background-color: #e60012; }

/* 追加 20230316 ------------------ */
/* indexCopy */
.indexCopy {width: 93.75%; text-align: center; margin: 0 auto 80px;}
.indexCopy p {font-size: 2rem;}

/* cookie 
.cookie-consent {display: flex;justify-content: center;align-items: center;position: fixed;bottom: 0;width: 100%;font-size: 1.4rem;color: #fff;background: rgba(0,0,0,.7);padding: 30px 0;box-sizing: border-box;visibility: hidden;z-index: 100;}
.cookie-consent.is-show {
visibility: visible;
}
.cookie-consent p {margin-bottom: 0;}
.cookie-consent p a {text-decoration: underline; color: #fff;}
.cookie-btn {justify-content: center; margin: 20px auto 0;}
.cookie-agree, .cookie-reject {background: #fff;color: #222;padding: 10px;margin: 0 10px;width: 200px;border-radius: 5px;text-align: center;}
.cookie-agree:hover, .cookie-reject:hover {cursor: pointer; opacity: 0.8;}
.cc-hide1 {display: none;}
.cc-hide2 {animation: hide 0.3s linear 0s;animation-fill-mode: forwards;}
@keyframes hide {
from {
  opacity: 1;
}
to {
  opacity: 0;
  visibility: hidden;
}
}
*/

/* ----------------------------------------------------
vision (common)
---------------------------------------------------- */
.visCopy01 {text-align: center; margin-bottom: 80px;}
.visCopy01  img {width: 90%; max-width: 366px;}
.visCopy02 {margin: 30px 0 0 0; }
.visCopy02  img {width: 100%; max-width: 406px;}
 
 /* solution */
.visSolution {background-image: url("../img/page/vision/line-top.png"), url("../img/page/vision/line-left.png"), url("../img/page/vision/line-bottom.png"), url("../img/page/vision/line-right.png"); background-position: left top,left top,  left bottom, right top; background-repeat:  repeat-x, repeat-y,  repeat-x ,repeat-y; }
.visSol-01 {margin-bottom: 50px; padding: 45px;}
.visArrow {margin: 0 auto; width: 128px;}
.visSolution h2 {font-size: 2.4rem; font-weight: 600; text-align: center; margin-bottom: 30px;}
.visSolution p {margin-bottom: 0; line-height: 1.6;}
.visContSolution {width: 30%;border: 2px solid #333;}
.visContSolution .visTtlSolution {background: #cccccc; text-align: center; padding: 20px;}
.visContSolution .visTtlSolution h3 { font-size: 2.2rem; margin-bottom: 10px;}
.visRead01 {padding: 20px; font-size: 1.4rem; }

/* 変更・追加  2ndPhase */
.visSol-02 {padding: 55px 47px; margin:50px auto;}
.visImgSolution {margin: 40px auto 0;  width: 706px;}
.visSolution.visSol-02 h2 {font-size: 1.8rem;}
.visSol-03  {margin:50px auto; font-size: 1.4rem;}
.visSol-03 h2 a {background: #00B9EB; color: #fff; font-weight: 600; text-align: center; font-size: 4.3rem; margin-bottom: 30px; padding: 10px; display: block;}

/* 変更 230616 */
.visTtlSolution {min-height: 166px;}
.visContSolution:not(:first-child) .visTtlSolution p {padding: 12px 0;}
.visRead01 { display: flex; display: -webkit-flex; align-items: center; min-height: 132px; }

 
/* ----------------------------------------------------
company (common)
---------------------------------------------------- */
/* message */
.comMsg { margin-bottom: 65px; flex-direction: row-reverse;}
.comMsg .comImgMsg {width:42%; margin: 0;}
.comMsg .hA {width: 52%;}
.comContMsg .comNameMsg {font-size: 2rem; margin: 0; line-height: 1.5;}
.comContMsg .comNameMsg span {font-size: 1.6rem;}

/* about */
.comAbtLogo {position: absolute; right: 0;top: 10px; margin: 0;display: flex; display: -webkit-flex;}
.comAbtLogo li:not(:last-child) {border-right: 1px solid #333; padding-right: 20px; margin-right: 20px;}
.comAbtLogo li:first-child img {width: 156px; height: auto;}
.comAbtLogo li:last-child img {width: 136px; height: auto;}
.comAbtTbl th {width: 25%; vertical-align: top;}

/* history */
.comHisTbl th{ width: 15%; vertical-align: top;}

/* director */
.comDirector {margin-bottom: 30px;}
.comDirector h2 { width: 16%;}
.comDirector .comDirTbl {margin: 0; width: 100%;}
.comDirTbl th {vertical-align: top;}
.comDirTbl td ul {margin: 0;}
.comDirDate {margin: 0; text-align: right; font-size: 1.4rem;}

/* network */
.comNetwork { margin-bottom: 65px;}
.comNetwork:last-child {margin-bottom: 0;}
.comNetwork h2 {border-top: 2px solid #006fbc; color: #006fbc; font-size: 2.4rem; padding: 15px 0;}
.comInrNetwork {position: relative;}
.comInrNetwork .comTxtNetwork {width: 50%; padding-bottom: 35px;}
.comInrNetwork .comMapNetwork {width: 50%;}
.comInrNetwork .comMapNetwork iframe {width: 100%; height: 200px;}
.comLinkNetwork {margin: 0; position: absolute; left: 0; bottom:0; }

/* group */
.comCathGroup {font-size: 2.4rem; margin-bottom: 20px;}
.comBnr01 img {width: 224px; height: auto;}

/* tokyuGroup */
.comGroup { margin-bottom: 65px;}
.comGroup:last-child {margin-bottom: 0;}
.comGroup h2 {border-top: 2px solid #00b9eb; color: #00b9eb; font-size: 2.4rem; padding: 15px 0;}
.comBusinessGrp { padding: 15px 0;}
.comCEOGrp, .comAdressGrp {border-top: 2px solid #eee; padding: 15px 0;}
.comBusinessGrp p:last-child, .comCEOGrp p:last-child, .comAdressGrp p {margin-bottom: 0;}
.comCEOGrp p span {min-width: 150px; display: inline-block;}
.comAdressGrp ul {font-size: 0; margin: 10px 0 30px;}
.comAdressGrp ul  li {display: inline-block; font-size: 1.6rem; line-height: 1.2;}
.comAdressGrp ul  li:not(:last-child) {border-right: 1px solid #333; margin-right: 1.6rem; padding-right: 1.6rem;}

/* ----------------------------------------------------
business (common)
---------------------------------------------------- */
/* index*/
.busIndexH2 {font-size: 3.4rem; text-align: center; margin-bottom: 40px;}
.busIndexH2 span {position: relative;}
.busIndexH2 span::before {content: ""; width: 100%; height: 1px; position: absolute; left: 0; bottom: -5px;}
.busIndexH2.busIndexCore span::before {background-color: #e60020;}
.busIndexH2.busIndexUniq span::before {background-color: #009ae1;}
.busFlexIndex {display: flex; display: -webkit-flex; justify-content: center; margin-bottom: 60px;}
.busFlexIndex  li { text-align: center; width: 18.75%; position: relative;}
.busFlexIndex  li img {max-width: 160px; height: auto;}
.busFlexIndex  li  .busPtIndex {position: absolute; left: 50%; top: 0; padding: 5px 10px; margin: 0; transform: translate(-50%, -50%); width: 140px;}
.busFlexIndex  li  .busPtIndex.busComIndex {background: #f5a200;}
.busFlexIndex  li  .busPtIndex.busMedIndex {background: #8fc31f;}
.busFlexIndex  li  .busPtIndex.busCRMIndex {background: #f9d0ba;}

.busShoulder {font-size: 2.2rem; margin-bottom: 30px;}
.busShoulder span {position: relative;}
.busShoulder span::before {content: ""; width: 100%; height: 1px; position: absolute; left: 0; bottom: -5px;}
.busShoulder.busCore span::before {background-color: #e60020;}
.busShoulder.busUniq span::before {background-color: #009ae1;}
.busIcon {margin: 0; position: absolute; right: 0; top: -15px; width: 152px; height: 152px;}

.busCoreSystem {display: flex; display: -webkit-flex; justify-content: space-between; margin-top: 20px;}
.busCoreSystem:first-of-type {margin-top: 60px;}
.busCoreSystem h2 {width: 105px; position: relative; z-index: 3;}
.busCoreSystem .subContCore {width: 590px;margin: 50px 0 0 0; position: relative;}
.busCoreSystem h2 span {display: flex; display: -webkit-flex; justify-content: center; align-items: center; background: url("../img/page/business/bg-busCoreSystem-01.png") center center no-repeat; background-size: cover; width: 106px; height: 106px; }
.lineLeft {margin: 0;width: 2px; height: 100%; background: #999; position: absolute; left: -50px; top: 7px;}
.busService .lineLeft {height: calc( 100% - 34px);}
.busCoreSystem ul  li {line-height: 1; margin-bottom: 15px; position: relative;}
.busCoreSystem ul  li::before {content: ""; width: 40px; height: 2px; background: #999; position: absolute; left: -50px; top: 7px;}
.busCoreSystem ul  li:first-child::before {width: 140px; left: -150px;}
.busCoreSystem ul  li h3 { font-weight: 600; margin-bottom: 10px;}
.busCoreSystem ul  li  p {font-weight: 500; line-height: 1.6; margin: 0 0 30px 0;}
.busCoreSystem ul  li  p.busImgCore {margin: 0; position: absolute; right: 0; top:0;}

.busUniqCont {margin: 50px 0; border-top: 2px solid #eee; padding: 30px 0 0 0;}
.busUniqCont h2 {font-size: 2.4rem; margin-bottom: 30px;}
.busUniqCont .busContUniq {width: 55%;}
.busUniqCont .busImgUniq {width: 37.5%; max-width: 300px;}
.busUniqCont.busSpace {border-color: #009944;}
.busUniqCont.busSpace h2 {color: #009944;}
.busUniqCont.busOoh {border-color: #9c549d;}
.busUniqCont.busOoh h2 {color: #9c549d;}
.busUniqCont.busBooks{border-color: #00b9eb;}
.busUniqCont.busBooks h2 {color: #00b9eb;}

/* design */
.busDesign01 {position: relative; padding-right: 158px;}
.busDesign01 .busImgCore {width: 118px;}

/* communication */
.busCommunication {position: relative; min-height: 400px;}
.busCommunication li a.linkExternal {color: #333; font-size: 1.6rem; font-weight: normal;}
.busImgCommunication {position: absolute; right: 0; top: 1vw; display: flex; display: -webkit-flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 386px;}
.busImgCommunication li {width: 100%; padding: 5px 10px 30px; text-align: center; text-align: left;}
.busImgCommunication li  img {max-width: 40%; width: auto;}

/* crm */
.busCRM01, .busCRM02 {position: relative;}
.busIconBottom {margin:  60px 0 0; text-align: center; font-size: 0;}
.busIconBottom li {display: inline-block; margin: 0 30px; text-align: center;}
.busIconBottom li  img {margin-bottom: 5px;}
.busIconBottom li:first-child img {width: 146px; }
.busIconBottom li:last-child img {width: 110px; }

/* ooh */
.busUniqCont .busContUniq h2 {margin-top: 50px;}
.busImgUniq ul {margin: 0;}
.busImgUniq ul li {margin-bottom: 30px;}
.busImgUniq ul li:last-child {margin-bottom: 0;}

/* 202403 追記 */
.busUniqCont .busContUniq .busCoreSystem h2 {font-size: 1.6rem; width: 90px; margin-top: 0; color: #333;}
.busUniqCont .busContUniq .busCoreSystem h2 span {width: 90px; height: 90px;}
.busUniqCont .busContUniq .busCoreSystem .subContCore {width: 320px ; margin: 40px 0 0 0;}
.busUniqCont .busContUniq .busCoreSystem ul li h3 {line-height: 1.5;}
.busUniqCont .busContUniq .busCoreSystem ul li:first-child::before {width: 100px; left: -110px;}
.busUniqCont .busContUniq .busCoreSystem ul li p{margin-bottom: 0;}
.busUniqCont .busContUniq .busCoreSystem:first-of-type { margin: 50px 0;}
.busUniqCont .busContUniq .busCoreSystem ul li .busIcon__track {margin-top: 30px;}
.busUniqCont .busContUniq .busCoreSystem ul li .busIcon__track img {max-width: 150px;}

#ooh-main.busContUniq {width:58%;}
#ooh-side.busImgUniq {width: 35%;}

/* sports */
.subImgSports {margin:  50px 0 0; text-align:right; font-size: 0;}
.subImgSports  li {width: 37.5%; max-width: 300px; display: inline-block; margin-left: 35px; }

/* publish */
.busBtnPublish {margin: 50px 0 0 0;}
.busBtnPublish a {display: block; width: 400px; padding: 20px 30px; background: #fff33f; position: relative;}
.busBtnPublish a::before {content: ""; width: 12px; height: 12px; border-top: 2px solid #333; border-right: 2px solid #333; position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg);}

.bookL { margin-top: 50px; padding-top: 50px;  border-top: 2px solid #eee;}
.bookL:first-of-type{margin-top: 0; padding-top: 0; border: none;}
.bookL .busImgBook {width:12.5%;}
.bookL .busImgBook img {max-width: 89px;}
.bookL .busContBook {width: 80%;}
.bookL .busContBook  h3 {font-size: 2rem; font-weight: 600; margin-bottom: 20px; line-height: 1.5;}
.bookL .busBookData {margin: 0 0 30px; font-size: 1.4rem;}
.bookL .busTxtBook {margin-left: 20%;}
.bookL .busTxtBook p:last-child {margin-bottom: 0;}

.flxBookS {margin-top:50px !important;}
.flxBookS:after {content:""; width: 30%;}
.bookS {width: 30%;  margin-top: 30px; padding-top: 30px;  border-top: 2px solid #eee;}
.bookS .busImgBook {width: 40%; max-width: 92px; margin: 0 auto 20px;}
.bookS h3 {line-height: 1.4; font-size: 1.3rem; font-weight: 600; margin-bottom: 20px;}
.bookS  p:last-child {margin-bottom: 0;}

/* brand */
.busBrand__icon{margin: min(5vw,60px) 0 0;}
.busBrand__icon img {width: min(20vw,240px);}


/* ----------------------------------------------------
sustainability (common)
---------------------------------------------------- */
.susBlock {border-top: 2px solid #eee; margin: 50px 0; padding-top: 30px;}
.susBlock:last-child {margin-bottom: 0;}
.susBlock h2 {font-size: 2rem; margin-bottom: 30px; line-height: 1.5; font-weight: 600;}
.susBlock .flex h2 {width: 30%; }
.susBlock .susContent {width: 65%; }
.susBlock .susContent p:last-child {margin-bottom: 0;}
.susH3 { font-weight: 600; font-size: 2rem; margin: 30px 0 15px;}

.susCol__cont {font-size: 1.4rem; border-top: 2px solid #333; margin-top:45px;}
.susCol__cont h3 {text-align: center; font-weight: 600; font-size: 1.6rem; padding: 30px 0;}
.susCol__cont p:last-child {margin-bottom: 0;}

.susCol3 {width: 30%; }
.susCol2 {width: 48%; }

.susDiverTbl {margin:  30px 0 0 0;}
.susDiverTbl th{width: 25%; vertical-align: top;}
.susDiverTbl  td p {margin: 0;}

.susDiverData {width: 100%; text-align: center;  line-height: 1.4; font-size: 1.5rem;}
.susDiverData th {background: #f9d0ba; border: 1px solid #333; font-weight: normal; padding: 10px 5px;}
.susDiverData td {background: #fff; border: 1px solid #333;  padding: 10px 5px; }
.susNoteDiver {font-size: 1.4rem; text-align: right;}
.susTxtDiver01 {font-weight: 600; font-size: 2rem; margin: 30px 0 0; line-height: 1.4;}
.susTxtDiver01  span {font-weight: normal; font-size: 1.6rem;}

.susSDGs th {width: 30%; vertical-align: top; padding: 15px 0; }
.imgSusSDGs {width: 210px; height: auto; display: block; margin:  15px 0 0;}

.susImgCSR {width: 196px; }
.susImgCSR-02 {width: 250px; }
.susNote {font-size: 1.4rem;}

.listBnrrSecurity {margin: 40px 0;}
.listBnrrSecurity li:not(:last-child) {margin-bottom: 10px;}
.listBnrrSecurity li a {display: block; border: 2px solid #006fbc; color: #006fbc; padding: 13px 20px; position: relative;}
.listBnrrSecurity li a::before {content: ""; width: 10px; height: 10px; border-top: 2px solid #006fbc; border-right: 2px solid #006fbc; position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg);}
.listBnrrSecurity li a::after {  content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: #006fbc; transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .5s;}
.listBnrrSecurity li a:hover {color: #fff;}
.listBnrrSecurity li a:hover::before {border-color: #fff;}
.listBnrrSecurity li a:hover::after{  transform-origin: 0% 50%;  transform: scaleX(1);}

.susDateSecurity li {text-align: right; font-size: 1.2rem; width: 100%; margin: 0 auto;}
.susImgSecurity {width: 100%; margin: 20px auto 10px; border: 3px solid #000; text-align: center; padding: 10px 20px;}
.susImgSecurity  img {max-width: 465px; width: 100%; height: auto;}

.susAdv h3 {margin-bottom: 30px;}
.susLogoAdv {margin: 30px 0 0; text-align: right; font-size: 1.2rem;}
.susLogoAdv li {display: inline-block ;margin-left: 30px; text-align: center;}
.susLogoAdv li img {width: 152px; margin: 0 0 10px 0;}

.susIndex {border-color: #9c549d;}
.susIndex h2 {color: #9c549d;}
.susHealth {border-color: #8fc31f;}
.susHealth h2  {color: #8fc31f;}
.susComp{border-color: #f5a200;}
.susComp h2 {color: #f5a200;}
.susDiver{border-color: #e60012;}
.susDiver h2 {color: #e60012;}
.susSDGs{border-color: #00b9eb;}
.susSDGs h2 {color: #00b9eb;}
.susCSR {border-color: #009944;}
.susCSR h2 {color: #009944;}
.susSecurity {border-color: #006fbc;}
.susSecurity h2 {color: #006fbc;}

/* policy */
.polContent {margin-bottom: 60px;}
.polContent:last-child {margin-bottom: 0;}
.polContent p:last-child, .polContent ul:last-child, .polContent dl:last-child {margin-bottom: 0;}
.polContent h2 {font-weight: 500; font-size: 2.4rem; color: #009ae1; margin-bottom: 20px;}

.polUL li { margin: 0 0 20px 0; padding-left: 56px; position: relative;}
.polUL li span {position: absolute; left: 0;}
.polDL dt {padding-left: 56px; position: relative;}
.polDL dt span {position: absolute; left: 0;}
.polDL dd {padding-left: 56px; margin-bottom: 20px;}

.polLinkList {margin:  60px 0 0 0;}
.polLinkList li {margin: 15px 0;}
.polLinkList li a {width: 400px; border: 2px solid #006fbc; color: #006fbc; padding: 15px  20px; position: relative; display: block;}
.polLinkList li a::before {content: ""; width: 10px; height: 10px; border-top: 2px solid #006fbc; border-right: 2px solid #006fbc; position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg);}
.polLinkList li a::after {  content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: #006fbc; transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .5s;}
.polLinkList li a:hover {color: #fff;}
.polLinkList li a:hover::before {border-color: #fff;}
.polLinkList li a:hover::after{  transform-origin: 0% 50%;  transform: scaleX(1);}

.polTxtR{text-align: right; line-height: 1.5;}

/* ----------------------------------------------------
news (common)
---------------------------------------------------- */
.newCovid {text-align: right; font-size: 1.2rem; color: #999; margin-bottom: 20px; position: absolute; right: 0;top: -40px;}
.newCovid a {color: #999; text-decoration: underline;}

/* tabmenu */
.tabs__body {
  display: none;
}
  .tabs__body.is-active {
    display: block; }

.tabWrapper {}
.tab{margin: 0; display: flex; flex-wrap: wrap;}
.tab li {width: 50%; cursor: pointer;}
.tab li{ display: block; background:#eee; color: #999; font-size: 1.8rem; padding:10px 20px;}
.tab li.is-active{ background:#8fc31f; color: #fff; cursor:default;} 
.tab li a {display: block;}
.area { display: none; }
.area.is-active { display: block; } 

.newsYear {text-align: center; font-size: 2.4rem; font-weight: 700; margin: 35px 0;}
.newsList {margin: 0;}
.newsList li {position: relative; border-top:2px solid #eee; padding: 15px 15px  15px 140px;}
.newsList li  span {position: absolute; left: 15px;}

/* ----------------------------------------------------
recruit (common)
---------------------------------------------------- */
.recContent {border-top: 2px solid #eee; margin-top: 90px; padding-top: 40px;}
.recContent:first-of-type {margin-top: 60px;}
.recCathMsg  {font-size: 2.4rem; color: #f5a200; margin-bottom: 20px;}

.recWrapNew {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap; flex-direction: row-reverse;}
.recWrapNew .recBnrNew {width: 30%; margin: 0;}
.recWrapNew .recBnrNew img {width: 100%;}

.recTxt {width: 60%;}
.recBnrCareer {width: 30%; margin: 0;}
.recBnrCareer li:first-child {margin-bottom: 15px;}
.recBnrCareer li a {display: block; border: 2px solid #f5a200; color: #f5a200; padding: 13px 20px; position: relative; font-size: 2rem;}
.recBnrCareer li a::before {content: ""; width: 10px; height: 10px; border-top: 2px solid #f5a200; border-right: 2px solid #f5a200; position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg);}
.recBnrCareer li a::after {  content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: #f5a200; transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .5s;}
.recBnrCareer li a:hover {color: #fff;}
.recBnrCareer li a:hover::before {border-color: #fff;}
.recBnrCareer li a:hover::after{  transform-origin: 0% 50%;  transform: scaleX(1);}
.recBnrCareer li.btnLinkExternal a:before {content: "\e89e"; font-family: 'Material Icons'; border: none;  transform: translateY(-50%) ; width: auto; height: auto;}
.recBnrCareer li.btnLinkExternal a:hover::before {color: #fff;}

/* application */
.recCareer {border-top: 2px solid #f5a200; padding-top: 20px; margin-bottom: 50px; }
.recCareer h2 {font-size: 2.4rem; margin-bottom: 20px;}
.recCareerTbl th {width: 15%; vertical-align: top;}
.recCareerTbl02 th {width: 60px;  vertical-align: top; font-size: 2rem;}
.recCareerTbl02 td { padding: 0 0 20px  55px;}
.recCareerTbl02 td  p:last-child {margin: 0;}
.recCareerTbl02 td h3 {font-size: 2rem; position: relative;}
.recCareerTbl02 td h3::before {content: ""; width: 30px; height: 2px; background: #333; position: absolute; left: -45px; top: 18px;}

.recNavLocal {font-size: 0; margin: 70px 0 0 0;}
.recNavLocal li {width: 400px; font-size: 1.6rem; margin-right: 40px; display: inline-block;}
.recNavLocal li a {display: block; width: 100%; padding: 15px 20px; border: 2px solid #f5a200; color: #f5a200; position: relative;}
.recNavLocal li a::before {content: ""; width: 10px; height: 10px; border-top: 2px solid #f5a200; border-right: 2px solid #f5a200; position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg);}
.recNavLocal li a::after {  content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: #f5a200; transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .5s;}
.recNavLocal li a:hover {color: #fff;}
.recNavLocal li a:hover::before {border-color: #fff;}
.recNavLocal li a:hover::after{  transform-origin: 0% 50%;  transform: scaleX(1);}

/* faq */
.recCareer h2.recQ {font-size: 2rem; padding-left: 45px; position: relative; font-weight: 600;}
.recCareer .recA {padding-left: 45px; position: relative;}
.recCareer h2.recQ::before {content: "Q"; position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #f5a200; font-size: 2.4rem;}
.recCareer .recA ::before {content: "A"; position: absolute; left: 10px; top: 2px; color: #f5a200; font-size: 2.4rem; line-height: 1;}


/* -------------------------------------------------------
contact (common)
--------------------------------------------------------- */
.contList {margin: 0 0 40px 0;}
.contList li {width: 47%; margin-top:50px; border: 2px solid #009944; }
.contList li a {width: 100%; height: 100%; display: flex; display: -webkit-flex; align-items: center; justify-content: center; color:#009944 ; text-align: center; padding: 20px; font-size: 2.2rem; line-height: 1.5; position: relative;}
.contList li a::after {  content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: #009944; transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .5s;}
.contList li a:hover {color: #fff;}
.contList li a:hover::after{  transform-origin: 0% 50%;  transform: scaleX(1);}

.conTbl {table-layout: fixed; margin: 50px 0 40px;}
.conTbl th {width: 20%;}
.conTbl input.text {width: 60%;}
.conTbl textarea {width: 100%;}
.conTbl td .conNote {font-size: 1.4rem; color: #999; margin: 5px 0 0 0;}
.conBtnArea {text-align: center;}
.conBtnArea .conBtnSubmit {border: 0; background: #009ae1; color: #fff; width: 280px; padding: 15px; font-size: 2rem;}
.conBtnArea .btnbox li {display: inline-block; margin:  0 10px;}
.conBtnArea .btnbox li .btnBack {border: 0; background: #666; color: #fff; width: 120px; padding: 15px; font-size: 2rem;}
.conBtnArea .btnbox li .btnSubmit {border: 0; background: #009ae1; color: #fff; width: 280px; padding: 15px; font-size: 2rem;}
.conTbl .error {font-size: 1.4rem; color:red; margin: 5px 0 0 0; }

/* ----------------------------------------------------
search(common)
---------------------------------------------------- */
#search .main {min-height: 450px;}
#search img {width: auto;}
.searchWrapper table {width: auto !important;}
.searchWrapper .gsc-input { width: 500px; padding-right: 0 !important;}
.searchWrapper .gsc-input-box {border-radius: 0; border: 1px solid #333; border-right: 0; padding: 0; }
.searchWrapper .gsc-input-box table {margin-bottom: 0;}
.searchWrapper .gsc-input-box table td input#gsc-i-id1 {height: 60px !important; outline: none;}
.searchWrapper .gsc-search-button {margin-left: 0!important; width: 80px; height: 60px;}
.searchWrapper .gsc-search-button .gsc-search-button-v2 {border: 1px solid #333; background: #eee; border-radius: 0; height: 100%;}
.searchWrapper .gsc-search-button .gsc-search-button-v2 svg {fill:#333; width: 25px; height: 25px;}
.searchWrapper .gsc-clear-button {opacity: 0;}
/*
#search .gcsc-more-maybe-branding-root > a {display: none;}
#search .gcsc-more-maybe-branding-box {display: none;}
*/
#search .gsc-selected-option-container {min-width: 100px;}

/* ----------------------------------------------------
footercontents(common)
---------------------------------------------------- */
/* shareholder */
.shContent {margin-top: 60px;}

/* sitemap */
.smFlex {margin: 50px 0 40px;}
.smFlexBottom {margin: 0;}
.smContent, .smFlexBottom  li {width: 30%;}
.smCategory {margin-bottom: 80px; }
.smCategory:last-of-type {margin-bottom: 0;}
.smCategory h2, .smFlexBottom  li h2 {font-size: 2.4rem; font-weight: 600; margin-bottom:20px;}
.smCategory ul {margin: 0;}
.smCategory ul li  {margin-bottom: 7px;}
.smCategory ul li ul {margin-left: 20px; margin-top: 10px;}
.smCompany h3 {font-size: 1.2rem; margin: 0 0 10px 0;}
.smCompany ul:first-of-type {margin-bottom: 40px !important;}

.smVision h2 a {color: #00b9eb;}
.smBusiness h2 a {color: #006fbc;}
.smCompany h2 a {color: #e60012;}
.smNews h2 a {color: #8fc31f;}
.smSustainability h2 a {color: #9c549d;}
.smRecruit a {color: #f5a200;}
.smContact a {color: #009944;}
.smShareholder a {color: #333333;}

/* 404 */
.nfBtn {margin: 40px 0 0;}
.nfBtn a {width: 400px; border: 2px solid #009ae1; color: #009ae1; padding: 15px 20px;  position: relative; display: block; }
.nfBtn a::before {content: ""; width: 10px; height: 10px; border-top: 2px solid #009ae1; border-right: 2px solid #009ae1; position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg);}.nfBtn a::after {  content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; background: #009ae1; transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .5s;}
.nfBtn a:hover {color: #fff;}
.nfBtn a:hover::before {border-color: #fff;}
.nfBtn a:hover::after{  transform-origin: 0% 50%;  transform: scaleX(1);}


/* ----------------------------------------------------
works (common)
---------------------------------------------------- */
.wrkIntro {}
.wrkTitle {font-size: 4.4rem; margin-bottom: 30px; border-bottom:1px solid #009AE1; }
.wrkTitlePast {font-size: 3rem; margin-bottom: 30px;}
.wrkTitlePast span {border-bottom:1px solid #F5A200; padding-bottom: 5px;}
.wrkCath {font-size: 2.4rem; font-weight: 500; margin-bottom: 10px;}
.wrkCategory {margin-top: 100px;}
.wrkCatTitle {font-size: 4.4rem; margin-bottom: 30px;}

.wrkChildCategory {margin: 30px 0 40px;  overflow: hidden;}
.wrkHeading {font-weight: 600; text-align: center; font-size: 3.2rem; padding: 10px; background: #ccc; margin-bottom: 30px; color: #fff;}
.wrkUnit:after{width: 30%; content: ""; display: block;}
.wrkBox {width: 30%; margin: 20px 0  50px;}
.wrkTitleBox {margin: 0; text-align: center; color: #fff; padding: 5px; background: #eee; line-height: 1.2;}
.wrkImgBox {margin-bottom: 15px;}
.wrkTxt p {margin-bottom: 0; line-height: 1.5;}

.wrkGrid {display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 5%; margin: 40px 0 160px; 	grid-template-areas: 	"areaA areaB areaC"	"areaD areaE areaC";}
.wrkGrid .wrkBox {width: 100%; margin: 0;}
.wrkBox:first-child{grid-area: areaA;}
.wrkBox:nth-child(2){grid-area: areaB;}
.wrkBox:nth-child(3){grid-area: areaC;}
.wrkBox:nth-child(4){grid-area: areaD;}
.wrkBox:nth-child(5){grid-area: areaE;}

.wrkHeading-blue {background: #00B9EB;}
.wrkHeading-green {background: #8FC31F;}
.wrkHeading-orange {background: #F5A200;}
.wrkUnit-blue .wrkTitleBox {background: #00B9EB;}
.wrkUnit-green .wrkTitleBox {background: #8FC31F;}
.wrkUnit-orange .wrkTitleBox {background: #F5A200;}

.wrkHeading-lv2 {font-size: 2.4rem; margin:  30px 0 10px;}
.wrkHeading-lv3 {margin: 60px 0 10px; font-size: 2rem;}
.wrkHeading-lv3:first-of-type {margin-top: 30px;}
.wrkUnit-3 li {width: 30%; margin-bottom: 30px; display: flex; display: -webkit-flex; flex-direction: column;}
.wrkUnit-3 li .wrkTitleBox {flex-grow: 1; align-items: center; display: flex; justify-content: center;}
.wrkUnit-3::after {content: ""; width: 30%; display: block;}
.wrkUnit-4 li {width: 23%; margin-bottom: 30px; display: flex; display: -webkit-flex; flex-direction: column;}
.wrkUnit-4 li .wrkTitleBox {flex-grow: 1; align-items: center; display: flex; justify-content: center;}
.wrkUnit-4::after {content: ""; width: 23%; display: block;}
.wrkListImg {overflow: hidden;}
.wrkListImg li {float: left; margin-right: 4%; max-width: 436px; }
.wrkListImg li:last-child {margin-right: 0;}
.wrkListImg li img {display: block; margin-bottom: 10px;}
.hd-alignment {padding-left: 6rem; position: relative;}
.hd-alignment span {position: absolute; left: 0;}

.btnWrkLink a {border: 1px solid #52B7E6; display: block; padding: 5px; color: #52B7E6; text-align: center; position: relative; font-size: 2.2rem;}
.btnWrkLink a::before {content: ""; width: 10px; height: 10px; border-top: 1px solid #52B7E6; border-right: 1px solid #52B7E6; position: absolute; right: 15px; top: 50%; transform: translateY(-50%) rotate(45deg);}
.wrkImgCap {margin: 0;}

.tblScroll {}
.wrkGolf {width: 100%; font-size: 1.3rem; text-align: center;}
.wrkGolf th {background: #00B9EB; border-right: 1px solid #fff; color: #fff; padding: 5px;}
.wrkGolf th:not(:first-child) {width: 9.5%;}
.wrkGolf td {border-right: 1px solid #D0CFCD; padding: 5px}
.wrkGolf th:last-child,.wrkGolf td:last-child {border-right: none;}
.wrkGolf tr:nth-child(even) {background: #EFF0F2;}
.wrkCopy {font-size: 1.2rem; text-align: right; color: #666; margin:  5px 0 !important;}

.teamTxt {text-align: center; margin:  15px 0 0;}

.ntwContDesc {border: 1px solid #269BDE; padding: 30px; }
.ntwContDesc h2 {font-size: 1.8rem; border-bottom: 1px solid #269BDE; margin-bottom: 10px;}
.ntwContDesc p {margin-bottom: 0;}
.ntwContDesc p:last-of-type {margin-top: 30px;}

.wrkDxImg {text-align: center; margin:  50px 0 100px;}
.wrkDxImg img {width: auto; max-width: 100%;}
.wrkDxImg-01 img {max-width: 70%;}
.wrkDxResult {text-align: center;}
.wrkDxResult h2 {text-align: center; font-size: 3rem; margin-bottom: 3rem;}
.wrkDxResult ul {margin: 0;}
.wrkDxResult ul li {margin-top: 2rem; border: 1px solid #009AE1; font-size: 4rem; color: #E60012; line-height: 1.2; padding: 15px;}
.wrkDxResult ul li span {color: #333; font-size: 2rem; display: block;}
/* ----------------------------------------------------
THE WAY WE WORK (Space)
---------------------------------------------------- */
.wrkSpace_flex {
  display: flex;
  flex-direction: column;
}
.wrkSpace_inner {
	flex-grow: 1; 
	
}
.wrkSpace_txt {
	flex-grow: 1;
}
.wrkSpaceExamples { color: #fff; margin-top: 2rem; font-size: 1.2rem; line-height: 1.7;}
.wrkSpaceExamples li { background-color: #aaa; padding: 3px 6px; margin-right: 5px; float: left; list-style: none;}
.wrkSpacebonrei { font-size: 1.6rem; }
.wrkSpacebonrei span { background-color: #aaa; padding: 6px 6px; margin-left: 0px; margin-right: 5px;  color: #fff; font-size: 1.2rem;line-height: 1.7;}
.wrkSpacebonrei .chousei { padding-top: 20px; margin-right: 20px; font-weight: normal;vertical-align : middle;}
.wrkSpacebonrei .sponly {display: none;}
@media (max-width: 800px) {
    .wrkSpacebonrei .sponly{
        display: block;
    }
}
/* ----------------------------------------------------
topics (common)
---------------------------------------------------- */
/* index */
#homTopics .inrContent {position: relative;}
.homMoreCurrent {margin: 40px 0 0; text-align: right;}
.homMoreCurrent a {position: relative; padding-left: 50px;}
.homMoreCurrent a::before { content: ""; width: 100%; height: 1px; background: #333; position: absolute; left: 0; bottom: -5px;}

/* category */
.topicLinkImg {margin: 0; border: 1px solid #009AE1;}
.topicLinkTxt h2 {margin: 0; width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.topicLinkTxt p { margin: 0; width: 100%; overflow: hidden; white-space: nowrap; line-height: 1.4; text-overflow: ellipsis;}
.topicLinkDate span {margin-right: 10px;}
 
.topicNew .topicsLink {margin-bottom: 40px;}
.topicNew .topicLinkImg {width: 11.5%;}
.topicNew .topicLinkTxt {width: 86%;}
.topicNew .topicLinkTxt h2 {font-size: 2rem;}

#navLocalBlock .topicsLink {align-items: center; margin-bottom: 25px; font-size: 1.5rem;}
#navLocalBlock .topicLinkImg {width: 25%;}
#navLocalBlock .topicLinkTxt {width: 70%;}
#navLocalBlock .topicLinkDate {font-size: 1.2rem;}

.topicCommon {margin-top: 80px;}
.topicContCommon {border-bottom: 1px solid #009AE1; padding: 15px 0 ;}
.topicContCommon p {margin: 0;}
.topicDateContCommon {width: 12%;}
.topicCatContCommon {width: 17%;}
.topicTtlContCommon {width: 70%;}

/* single */
.postTitle {font-size: 3rem; margin-bottom: 70px; line-height: 1.5;}
.postImg {border: 2px solid #009AE1;  text-align: center;  }
.postImg img {width: 100%; height: auto;}
.postDescription{margin: 80px 0 40px; font-size: 2.4rem;  line-height: 1.5; }
.postBlock:not(:last-child) {margin-bottom: 70px; }
.postBlock h1 {font-size: 2rem; margin-bottom: 25px;}	
.postBlock h2 {font-size: 1.8rem; margin: 20px 0;}	
.postBlock h3 {font-size: 1.7rem; margin: 20px 0;}	
.postBlock .postImbBlock {margin: 50px 0 30px; text-align: center;}	
.postBlock .postImbBlock img {max-height: 250px; max-width: 100%; width: auto;}
.postBlock a {text-decoration: underline;}
.postBlock ul {list-style: disc; padding-left: 2.5rem;}
.postBlock ol {list-style: decimal; padding-left: 2.5rem;}

.postBtn {margin-top: 70px;}
.postBtn li {width: 48%;}
.postBtn li a {display: block; border: 2px solid #006FBC; color: #006FBC; text-align: center; padding: 15px; position: relative; font-size: 1.9rem;}
.postBtn li a::after {content: ""; width: 100%; height: 100%; background:#006FBC; position: absolute; left: 0; top: 0; z-index: -1; transform-origin: 100% 50%; transform: scaleX(0); transition: transform ease .5s;}
.postBtn li a::before {content: ""; width: 12px; height: 12px; border-top: 2px solid #006FBC; border-right: 2px solid #006FBC; position: absolute; right: 15px; top: 50%; transform: translateY(-50%) rotate(45deg);}
.postBtn li a:hover {color: #fff;}
.postBtn li a:hover::before {border-color: #fff;}
.postBtn li a:hover::after{  transform-origin: 0% 50%;  transform: scaleX(1);}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (min-width:768px) {
/* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
/* hover */
a:hover {
  opacity: .8 !important; filter: alpha(opacity=80);
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
a img:hover {
  opacity: .8 !important; filter: alpha(opacity=80);
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
.clickable:hover {
  filter: alpha(opacity=80) !important;	opacity: .8 !important;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}
.clickable:hover {
  opacity: 0.7;
  -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
}

/* ----------------------------------------------------
header(pc)
---------------------------------------------------- */
#header {width: 100%; height: 80px; position: relative; z-index: 100;}
#header #lgHeader {position: absolute; left: 4%; top: 0; height: 80px; display: flex; display: -webkit-flex; align-items: center; z-index: 2;}
#header #lgHeader img {width: 283px; height: auto;}
#header #grandMenu {width: 100%;  height: 100%; padding:  0 4%; position: relative; background: #fff; display: flex; display: -webkit-flex; justify-content: flex-end;}

/* globalnavi */
#navGlobal { display: flex; display: -webkit-flex; margin-right: 176px; }
#navGlobal > li > a {display: flex; display: -webkit-flex; align-items: center; height: 100%; padding: 0 20px; color: #333; font-size: 1.8rem; }
#navGlobal > li > a:hover {background: #009ae1; color: #fff; opacity: 1 !important; filter: alpha(opacity=100);}
#navGlobal > li.active > a {background: #009ae1; color: #fff; }
#navGlobal > li > a.parentsLink {color: #009ae1; font-weight: 600;}
#navGlobal > li > a.parentsLink:hover, #navGlobal > li.active > a.parentsLink{color: #fff !important; font-weight: normal !important;}
#navGlobal .megamenu {position: absolute; left: 0;top: 80px; background: #009ae1; width: 100%; color: #fff;  padding: 50px 0; font-size: 2.2rem; display: none;z-index: 100; }
#navGlobal .megamenu ul {display: inline-block;}
#navGlobal .megamenu a {color: #fff;}
#navGlobal .megamenu > li {line-height: 2;}
#navGlobal .megamenu .megaFlex {display: flex; display: -webkit-flex; }
#navGlobal .megamenu .megaFlex .megaList:first-child {padding-right: 70px;}
#navGlobal .megamenu .megaFlex .megaList:last-child {padding-left: 70px; border-left: 2px solid #fff;}
#navGlobal .megamenu .megaFlex .megaList h2 {font-size: 1.4rem; position: relative; margin-bottom: 20px;}
#navGlobal .megamenu .megaFlex .megaArchive {width: 50%; max-width: 280px;}

}

/* ---------------------------------------------------------------
header setting
----------------------------------------------------------------- */
@media (max-width: 1580px) and (min-width: 768px) {
#header #lgHeader img {width: 17vw;}
.hdBtnSearch {margin-right: 1.5vw; }
.hdBtnSearch a {width: 2vw; height: 2vw;}
.hdBtnSearch a img {width: 1.3vw; }
#hdLang {font-size: 0.9vw;}
#hdLang li a {width: 2.6vw; height: 2vw;}

#navGlobal {margin-right: 9.2vw; }
#navGlobal > li > a {padding: 0 1.1vw;  font-size: 1.16vw;}
#navGlobal .megamenu {top: 80px; padding: 3.2vw 0; font-size: 1.4vw;}
#navGlobal .megamenu .megaFlex .megaList:first-child {padding-right: 5vw;}
#navGlobal .megamenu .megaFlex .megaList:last-child {padding-left: 5vw; }
#navGlobal .megamenu .megaFlex .megaList h2 {font-size: 0.9vw; margin-bottom: 1.66vw;}
#navGlobal .megamenu .megaFlex .megaList h2::before {width: 3.1vw; bottom: -0.65vw;}

}

@media (max-width: 800px) and (min-width: 768px) {
#navGlobal > li > a {padding: 0 1vw; }
#header #lgHeader img {width: 15vw;}
}

@media (min-width:768px) {
/* works (pc+tablet) */
.ntwImg {position: relative; margin: 175px 0 200px;}
.ntwLink{position: absolute; left: 0; top: 0; width: 100%; z-index: 1; margin: 0;}
.ntwLink li {cursor: pointer; position: absolute;height: 70px; }
.ntwLink li span {display: none;}
.ntwLink li.ntwLink-01 {width: 150px; height: 110px;  left: 190px; top: 380px;  }
.ntwLink li.ntwLink-02 {width: 310px; left: 130px; top: 90px;}
.ntwLink li.ntwLink-03 {width: 160px;  right: 150px; top: 180px;}
.ntwLink li.ntwLink-04 {width: 420px;  left: 50%; top: 20px; margin-left: -90px;}

.ntwContDesc {width: 630px; background: #fff; position: absolute; z-index: 5; display: none;}
.ntwContDesc.active {display: block;}
.btnCloseDesc {position: absolute; right: 15px; top: 15px; width: 40px; height: 40px; cursor: pointer; }
.btnCloseDesc::before {content: ""; width: 35px; height: 1px; background:#269BDE;  transform-origin: center center; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) rotate(45deg);}
.btnCloseDesc::after {content: ""; width: 35px; height: 1px; background:#269BDE;  transform-origin: center center; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) rotate(-45deg);}
.ntwContDesc-01 { left: 190px; top: 400px;}
.ntwContDesc-02 {left: -4%; top: 90px;}
.ntwContDesc-03 {right: -4%; top: 140px;}
.ntwContDesc-04 { left: 50%; top:-120px; margin-left: -120px;}

@media (max-width: 1400px){
.ntwImg { margin: 12.5vw 0 14vw; }
.ntwLink li  {height: 5vw;}
.ntwLink li.ntwLink-01 {width: 12.5vw; height: 9.16vw; top: 27vw;left: 13vw; }
.ntwLink li.ntwLink-02 {width: 22vw; left: 9.28vw; top: 6.4vw;}
.ntwLink li.ntwLink-03 {width: 11.4vw; right: 10.7vw; top: 12.8vw;}
.ntwLink li.ntwLink-04 {width: 30vw; top:1.4vw; margin-left: -6.4vw;}
.ntwContDesc {width: 50vw;  padding: 2vw;}
.btnCloseDesc { right: 1.5vw; top: 1.5vw; width: 2.8vw; height: 2.8vw; }
.btnCloseDesc::before {width: 2.5vw; }
.btnCloseDesc::after {width: 2.5vw;}
.ntwContDesc-01 { left: 13.57vw; top: 30vw;}
.ntwContDesc-02 {top: 6.4vw;}
.ntwContDesc-03 {top: 10vw;}
.ntwContDesc-04 { top:-8.57vw; margin-left: -8.57vw;}
.ntwContDesc h2 { font-size: 1.5vw;}

}

}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 1200px) and (min-width: 768px) {
/* ----------------------------------------------------
footer (<1200)
---------------------------------------------------- */
#pagetop a {height: 10vw;  padding-top: 3.5vw; font-size: 1.25vw;}
#pagetop a::before {width: 2.5vw; height: 2.5vw;}
#ftInfo {padding: 0.83vw 0 3.75vw; font-size: 1vw;}
#ftInfo .ftBanner {margin-bottom: 1.25vw;}
#ftInfo .ftBanner li {margin-right: 0.4vw; }
#ftInfo .ftLink li {font-size: 1vw; margin-left: 1.6vw;}

/* ----------------------------------------------------
home (<1200)
---------------------------------------------------- */
.homTitle {font-size: 3.66vw; margin-bottom: 4.16vw;}

#homVideo #video-btn {right: 2.5vw; bottom: 2.5vw; padding: 0.4vw 1.6vw; }

/* information */
#homInfo {padding: 3.33vw 0 5vw;}
#homInfo  .homTitle {margin-bottom: 2.5vw;}
.wrapListInfo {margin-bottom: 1.66vw;}
.listInfo {padding-left: 18.6vw; margin: 0 0 0.83vw;}
.listInfo .infNew {font-size: 1.16vw; width: 4vw; height: 2vw;}
.listInfo > ul {left: 5vw;}
.listInfo > ul > li {margin-right: 1.25vw;}
.listInfo > ul > li.infDate {min-width: 6.6vw; }
.listInfo > ul > li.infCat {font-size: 1.16vw; margin-right: 1.25vw;width: 4vw; height: 2vw;}
.infListLink li {margin-left: 2.5vw;}
.infListLink li.homLinkMore a {padding-left: 4.16vw;}
.infListLink li.homLinkMore a::before {bottom: -0.4vw;}
.infListLink li.homLinkCovid a {font-size: 1.16vw; padding: 0.4vw;}

/* 追加 2ndPhase */
#homWorks {margin: 10vw auto 13.3vw;}
.homContWorks {padding: 1.25vw 1.33vw 0; margin-top: 4vw;}
.homContWorks::before {height: 3.3vw; }
.homCatWorks {font-size: 1vw;  padding: 0.16vw 0.66vw; margin-bottom: 0.83vw;}

/* 20220701　色無 */
.homContWorks-nocolor {padding: 1.25vw 1.33vw 0; margin-top: 4vw;}
.homContWorks-nocolor::before {height: 3.3vw; }

.homContTopics  {padding: 1.25vw 1.33vw 0;  margin-top: 4.16vw;}
.homContTopics::before {height: 6vw; }
.homImgTopics {margin-bottom: 0.83vw;}
.homReadTopics ul li {padding-left: 1.336vw;   margin: 0.3vw 0;}
.homReadTopics ul li::before {width: 0.5vw; height: 0.5vw; left: 0.16vw; top: 0.6vw;}

.homTopicData {margin-bottom: 0.4vw;}
.homReadTopics h3 {font-size: 1.58vw; margin-bottom: 0.83vw;}

/* ----------------------------------------------------
underlayer module (<1200)
---------------------------------------------------- */
.topicPath { margin: 0.83vw auto;}
.topicPath li {font-size: 1vw;}
.topicPath li:not(:first-child) {padding: 0 0 0 1.25vw; margin-left: 0.4vw; }
.topicPath li:not(:first-child)::before {width: 0.5vw; height: 0.5vw; }
#catTitle {height: 14.58vw; }
#catTitle h2 { font-size: 4vw; }
.colFlex .mainWrapper {padding: 6.66vw 0 8.3vw; }
.colFlex #navLocalBlock {padding: 3.3vw 0 8.3vw 3.3vw; }
#navLocal ul  li a {padding: 0.4vw 0.83vw; margin-bottom: 0.4vw; }
.colSingle  .mainWrapper {padding: 6.66vw 0 8.3vw; }

.hA {font-size: 2.66vw; margin-bottom:2.5vw; }
.hA span {font-size: 1.66vw;  margin-left: 2.5vw;}
.hB {font-size: 2vw; margin-bottom: 2.5vw; }

/* table */
.tblA th, .tblA td {padding: 1.25vw;}

.linkExternal, .linkSmall {font-size: 1.16vw;}
.linkExternal::after {width: 1.66vw; height: 1.3vw;}
.linkPDF {padding-left: 6.6vw; margin-bottom: 0.4vw;}
.linkPDF .icPDF {padding: 0.25vw; width: 5.33vw; height: 2.33vw; font-size: 1.16vw;}
.linkPDF .icPDF em {padding-left:1.5vw; }
.linkPDF .icPDF em::before {width: 0.83vw; height: 1.16vw; }

/* list */
.listDot li, .listNum li  {margin-left: 1.83vw;}

/* indexList */
.indexList li {width: 23.5vw; height: 13.5vw; margin-bottom: 4.75vw;}
.indexList::after {width: 23.5vw;}
.indexList li a {font-size: 1.66vw; } 
.indexList li a em {font-size: 1.4vw; } 

/* 変更追加・20220609 */
.wrapListBnr {margin-top: 4vw;}
.listBnrCommon li:not(:last-child) {margin-bottom: 0.83vw;}
.listBnrCommon li a { padding: 1.08vw 1.66vw; }
.listBnrCommon li a::before {width: 0.83vw; height: 0.83vw; right: 1.66vw; }


/* ----------------------------------------------------
vision (<1200)
---------------------------------------------------- */
.visCopy01 {margin-bottom: 6.6vw;}
.visCopy01  img { max-width: 49.66vw;}
.visCopy02 {margin: 2.5vw 0 0 0; }
.visCopy02  img {max-width: 33.8vw;}

 /* solution */
.visSol-01 {margin-bottom: 4.16vw; padding: 3.75vw;}
.visArrow {width: 10.66vw;}
.visSolution h2 {font-size:2vw; margin-bottom: 2.5vw;}
.visSolution p {margin-bottom: 0; line-height: 1.6;}
.visContSolution .visTtlSolution {padding: 1.66vw;}
.visContSolution .visTtlSolution h3 { font-size: 1.7vw; margin-bottom: 0.83vw;}
.visRead01 {padding: 1.66vw; font-size: 1.16vw;}

/* 変更・追加  2ndPhase */
.visSol-02 {padding: 4.58vw 3.9vw; margin: 4.16vw auto;}
.visImgSolution {margin: 3.3vw auto 0;  width: 100%;}
.visSolution.visSol-02 h2 {font-size: 1.5vw;}
.visSol-03  {margin:4.16vw  auto; font-size: 1.16vw;}
.visSol-03 h2 a {font-size: 3.58vw; margin-bottom: 2.5vw; padding: 0.83vw;}

/* 変更 230616 */
.visTtlSolution {min-height: 13.83vw;}
.visContSolution:not(:first-child) .visTtlSolution p {padding: 1vw 0;}
.visRead01 {min-height: 11vw; }


/* ----------------------------------------------------
company (<1200)
---------------------------------------------------- */
/* message */
.comMsg { margin-bottom: 5.4vw;}
.comContMsg .comNameMsg {font-size: 1.66vw; }
.comContMsg .comNameMsg span {font-size:1.33vw;}

/* about */
.comAbtLogo {top: 0.83vw;}
.comAbtLogo li:not(:last-child) {padding-right: 1.66vw; margin-right: 1.66vw;}
.comAbtLogo li:first-child img {width: 13vw; }
.comAbtLogo li:last-child img {width: 11.33vw;}

/* director */
.comDirector {margin-bottom: 2.5vw;}
.comDirDate {font-size: 1.16vw;}

/* network */
.comNetwork { margin-bottom: 5.4vw;}
.comNetwork h2 {font-size: 2vw; padding: 1.25vw 0;}
.comInrNetwork .comTxtNetwork { padding-bottom: 2.9vw;}
.comInrNetwork .comMapNetwork iframe {height: 16.66vw;}

/* group */
.comCathGroup {font-size: 2vw;  margin-bottom: 1.66vw;}
.comBnr01 img {width: 18.6vw;}

/* tokyuGroup */
.comGroup { margin-bottom: 5.4vw;}
.comGroup h2{font-size: 2vw; padding: 1.25vw 0;}
.comBusinessGrp, .comCEOGrp, .comAdressGrp { padding: 1.25vw 0;}
.comCEOGrp p span {min-width: 12.5vw;}
.comAdressGrp ul {margin: 0.83vw 0 2.5vw;}
.comAdressGrp ul  li {font-size: 1.33vw; }
.comAdressGrp ul  li:not(:last-child) {margin-right: 1.33vw; padding-right: 1.33vw;}

/* ----------------------------------------------------
business (<1200)
---------------------------------------------------- */
/* index*/
.busIndexH2 {font-size: 2.83vw; margin-bottom: 3.3vw;}
.busIndexH2 span::before {bottom: -0.4vw;}
.busFlexIndex {margin-bottom: 5vw;}
.busFlexIndex  li img {max-width: 13.3vw; }
.busFlexIndex  li  .busPtIndex {padding: 0.4vw 0.83vw; width: 11.6vw;}

.busShoulder {font-size:1.83vw; margin-bottom: 2.5vw;}
.busShoulder span::before {bottom: -0.4vw;}
.busIcon {top: -1.25vw; width: 12vw; height: 12vw;}

.busCoreSystem {margin-top: 1.66vw;}
.busCoreSystem:first-of-type {margin-top: 5vw;}
.busCoreSystem h2 {width: 8vw; }
.busCoreSystem .subContCore {width: 49.16vw;margin: 4.16vw 0 0 0;}
.busCoreSystem h2 span { width: 8vw; height: 8vw; }
.lineLeft {left: -4.16vw; top: 0.58vw;}
.busService .lineLeft {height: calc( 100% - 2.83vw);}
.busCoreSystem ul  li {margin-bottom: 1.25vw;}
.busCoreSystem ul  li::before {width: 3.33vw;  left: -4.16vw; top: 0.58vw;}
.busCoreSystem ul  li:first-child::before {width: 11.66vw; left: -12.5vw;}
.busCoreSystem ul  li h3 { margin-bottom: 0.83vw;}
.busCoreSystem ul  li  p {margin: 0 0 2.5vw 0;}

.busUniqCont {margin: 4.16vw 0; padding: 2.5vw 0 0 0;}
.busUniqCont h2 {font-size: 2vw; margin-bottom: 2.5vw;}

/* design */
.busDesign01 {padding-right: 13.16vw;}
.busDesign01 .busImgCore {width: 9.83vw;}

/* communication */
.busCommunication {min-height: 33.33vw;}
.busCommunication li a.linkExternal {font-size: 1.3vw;}
.busImgCommunication {width: 30vw;}
.busImgCommunication li {padding: 0.4vw 1.66vw 1.66vw;}
/*.busImgCommunication li:nth-child(3) img {width: 4vw;}*/
.busImgCommunication li:nth-child(6) img {width: 6vw;}

/* crm */
.busIconBottom {margin:  5vw 0 0; }
.busIconBottom li { margin: 0 2.5vw; }
.busIconBottom li  img {margin-bottom: 0.4vw;}
.busIconBottom li:first-child img {width: 12vw; }
.busIconBottom li:last-child img{width: 9.16vw; }

/* ooh */
.busUniqCont .busContUniq h2 {margin-top: 4.16vw;}
.busImgUniq ul li {margin-bottom: 2.5vw;}

/* 202403 追記 */
.busUniqCont .busContUniq .busCoreSystem h2 {font-size: 1.3vw; width: 7.5vw;}
.busUniqCont .busContUniq .busCoreSystem h2 span {width: 7.5vw; height: 7.5vw;}
.busUniqCont .busContUniq .busCoreSystem .subContCore {width: 25vw ; margin: 3.3vw 0 0 0;}
.busUniqCont .busContUniq .busCoreSystem ul li:first-child::before {width: 8.3vw; left: -9.17vw;}
.busUniqCont .busContUniq .busCoreSystem:first-of-type { margin: 4.17vw 0;}
.busUniqCont .busContUniq .busCoreSystem ul li .busIcon__track {margin-top: 2.5vw;}
.busUniqCont .busContUniq .busCoreSystem ul li .busIcon__track img {max-width: 15vw;}

/* sports */
.subImgSports {margin:  4.16vw 0 0; }
.subImgSports  li {margin-left: 2.9vw; }

/* publish */
.busBtnPublish {margin: 4.16vw 0 0 0;}
.busBtnPublish a {width: 33.3vw; padding: 1.66vw 2.5vw;}
.busBtnPublish a::before {width: 1vw; height: 1vw;  right: 1.66vw;}

.bookL { margin-top: 4.16vw; padding-top: 4.16vw;  }
.bookL .busImgBook img {max-width: 7.41vw;}
.bookL .busContBook  h3 {font-size: 1.66vw; margin-bottom: 1.66vw;}
.bookL .busBookData {margin: 0 0 2.5vw; font-size: 1.16vw;}

.flxBookS {margin-top: 4.16vw !important;}
.bookS {margin-top: 2.5vw; padding-top: 2.5vw; }
.bookS .busImgBook {margin: 0 auto 1.66vw;}
.bookS h3 { font-size: 1.08vw;  margin-bottom: 1.66vw;}


/* ----------------------------------------------------
sustainability (<1200)
---------------------------------------------------- */
.susBlock { margin-top: 4.16vw; padding-top: 2.5vw;}
.susBlock h2 {font-size: 1.66vw; margin-bottom: 2.5vw;}
.susCol_cont {font-size: 1.16vw; margin-top: 2.5vw;}
h3.susCol__title {font-size: 1.33vw; padding: 2.5vw 0;}
.susH3 { font-size: 1.66vw; margin: 2.5vw 0 1.25vw;}
.susCol_cont { font-size: 1.16vw; margin-top:3.75vw;}
h3.susCol__title {font-size: 1.33vw; padding: 2.5vw 0;}


.susDiverTbl {margin:  2.5vw 0 0 0;}
.susDiverData {font-size: 1.25vw;}
.susDiverData th, .susDiverData td {padding: 0.83vw 0.4vw;}
.susNoteDiver {font-size: 1.16vw;}
.susTxtDiver01 {font-size: 1.66vw; margin: 2.5vw 0 0; }
.susTxtDiver01  span {font-size: 1.33vw;}

.susSDGs th {padding: 1.25vw 0; }
.imgSusSDGs {width: 17.5vw;  margin:1.25vw 0 0;}

.susImgCSR {width: 16.3vw; }
.susImgCSR-02 {width: 20.8vw; }
.susNote {font-size: 1.16vw;}

.listBnrrSecurity {margin: 3.3vw 0;}
.listBnrrSecurity li:not(:last-child) {margin-bottom: 0.83vw;}
.listBnrrSecurity li a { padding: 1.08vw 1.66vw; }
.listBnrrSecurity li a::before {width: 0.83vw; height: 0.83vw; right: 1.66vw; }
.susDateSecurity li { font-size: 1vw;}
.susImgSecurity {margin: 1.66vw auto;  border-width: 0.25vw;}

.susAdv h3 {margin-bottom: 2.5vw;}
.susLogoAdv {margin: 2.5vw 0 0; font-size: 1.0rem; }
.susLogoAdv li {margin-left: 2.5vw;}
.susLogoAdv li img {width: 12.6vw;}


/* policy */
.polContent {margin-bottom: 5vw;}
.polContent h2 {font-size: 2vw;  margin-bottom: 1.66vw;}

.polUL li { margin: 0 0 1.66vw 0; padding-left: 4.6vw; }
.polDL dt {padding-left: 4.6vw; }
.polDL dd {padding-left: 4.6vw; margin-bottom: 1.66vw;}

.polLinkList {margin:  5vw 0 0 0;}
.polLinkList li {margin: 1.25vw 0;}
.polLinkList li a {width: 33.3vw; padding: 1.25vw  1.66vw; }
.polLinkList li a::before { width: 0.83vw; height: 0.83vw; right: 1.66vw;}


/* ----------------------------------------------------
news (<1200)
---------------------------------------------------- */
.newCovid {font-size: 1vw; margin-bottom: 1.66vw; top: -3.3vw; right: 0;}

/* tabmenu */
.tab li { font-size: 1.5vw; padding:0.83vw 1.66vw;}
.newsYear {font-size: 2vw; margin: 2.9vw 0;}
.newsList li {padding: 1.25vw 1.25vw  1.25vw 11.66vw;}
.newsList li  span {left: 1.25vw;}

/* ----------------------------------------------------
recruit (<1200)
---------------------------------------------------- */
.recContent {margin-top: 7.5vw; padding-top: 3.3vw;}
.recContent:first-of-type {margin-top: 5vw;}
.recCathMsg  {font-size: 2vw;  margin-bottom: 1.66vw;}
.recWrapNew .recBnrNew {width: 40%; }
.recBnrCareer li:first-child {margin-bottom: 1.25vw;}
.recBnrCareer li a {padding: 1.08vw 1.66vw;font-size: 1.66vw;}
.recBnrCareer li a::before {width: 0.83vw; height: 0.83vw;  right: 1.66vw; }
.recTxt {width: 50%;}
.recBnrCareer {width: 40%; margin: 0;}

/* application */
.recCareer {padding-top: 1.66vw; margin-bottom: 4.16vw; }
.recCareer h2 {font-size: 2vw; margin-bottom: 1.66vw;}
.recCareerTbl02 th {width: 5vw;  font-size: 1.66vw;}
.recCareerTbl02 td { padding: 0 0 1.66vw  4.58vw;}
.recCareerTbl02 td h3 {font-size: 1.66vw;}
.recCareerTbl02 td h3::before { width: 2.5vw;  left: -3.75vw; top: 1.5vw;}

.recNavLocal { margin: 5.83vw 0 0 0;}
.recNavLocal li {width: 33.3vw; font-size: 1.33vw; margin-right: 3.3vw;}
.recNavLocal li a {padding: 1.25vw 1.66vw; }
.recNavLocal li a::before {width: 0.83vw; height: 0.83vw;  right: 1.66vw;}

/* faq */
.recCareer h2.recQ {font-size: 1.66vw; padding-left: 3.75vw; }
.recCareer .recA {padding-left: 3.75vw;}
.recCareer h2.recQ::before {left: 0.83vw;font-size: 2vw;}
.recCareer .recA ::before { left: 0.83vw; font-size: 2vw; }

/* ----------------------------------------------------
search(<1200)
---------------------------------------------------- */
#search .main {min-height: 37.5vw;}
.searchWrapper .gsc-input { width: 41vw; }
.searchWrapper .gsc-input-box table td input#gsc-i-id1 {height: 5vw !important; }
.searchWrapper .gsc-search-button { width: 7vw; height: 5vw;}
.searchWrapper .gsc-search-button .gsc-search-button-v2 svg {width: 2vw; height: 2vw;}

/* -------------------------------------------------------
contact (<1200)
--------------------------------------------------------- */
.contList {margin: 0 0 3.3vw 0;}
.contList li { margin-top:4.16vw; }
.contList li a {padding: 1.66vw; font-size: 1.83vw;}

.conTbl {margin: 4.16vw 0 3.3vw;}
.conTbl textarea {width: 100%;}
.conTbl td .conNote {font-size: 1.16vw;  margin: 0.4vw 0 0 0;}
.conBtnArea .conBtnSubmit {width: 23.3vw; padding: 1.25vw; font-size: 1.66vw;}
.conBtnArea .btnbox li {margin:  0 0.83vw;}
.conBtnArea .btnbox li .btnBack {width: 10vw; padding: 1.25vw; font-size: 1.66vw;}
.conBtnArea .btnbox li .btnSubmit { width: 23.3vw; padding: 1.25vw; font-size: 1.66vw;}
.conTbl .error {font-size: 1.66vw; margin: 0.4vw 0 0 0; }

/* ----------------------------------------------------
footercontents(<1200)
---------------------------------------------------- */
/* shareholder */
.shContent {margin-top: 5vw;}

/* sitemap */
.smFlex {margin: 4.16vw 0 3.3vw;}
.smCategory {margin-bottom: 6.66vw; }
.smCategory h2, .smFlexBottom  li h2 {font-size: 2vw; margin-bottom: 4vw;}
.smCategory ul li  {margin-bottom: 0.58vw;}
.smCategory ul li ul {margin-left: 1.66vw; margin-top: 0.83vw;}
.smCompany h3 {font-size: 1vw; margin: 0 0 0.83vw 0;}
.smCompany ul:first-of-type {margin-bottom: 3.3vw !important;}

/* 404 */
.nfBtn {margin: 3.3vw 0 0;}
.nfBtn a {width: 33.3vw; padding: 1.25vw 1.66vw;   }
.nfBtn a::before { width: 0.83vw; height: 0.83vw;  right: 1.66vw;}

/* ----------------------------------------------------
works (<1200)
---------------------------------------------------- */
.wrkTitle {font-size: 3.6vw; margin-bottom: 2.5vw;}
.wrkCath {font-size: 2vw; margin-bottom: 0.83vw;}
.wrkCategory {margin-top: 8.3vw;}
.wrkCatTitle {font-size: 3.6vw; margin-bottom: 2.5vw;}

.wrkChildCategory {margin: 2.5vw 0 3.3vw;}
.wrkHeading { font-size:2.6vw; padding: 0.83vw; margin-bottom: 2.5vw;}
.wrkBox {margin: 1.66vw 0  4.16vw; }
.wrkTitleBox { padding: 0.4vw; }
.wrkImgBox {margin-bottom: 1.25vw;}
.wrkGrid {margin: 3.3vw 0 26vw;}

.wrkHeading-lv2 {font-size: 2vw; margin:  2.5vw 0 0.83vw;}
.wrkHeading-lv3 {margin: 5vw 0 0.83vw; font-size: 1.66vw;}
.wrkHeading-lv3:first-of-type {margin-top: 2.5vw;}
.wrkUnit-3 li {margin-bottom: 2.5vw; }
.wrkUnit-4 li {margin-bottom: 2.5vw; }
.wrkListImg li {max-width: 47%;}
.wrkListImg li img { margin-bottom: 0.83vw;}
.hd-alignment {padding-left: 5vw; }
.btnWrkLink a {padding: 0.4vw; font-size: 1.83vw;}
.btnWrkLink a::before {width: 0.83vw; height: 0.83vw;  right: 1.25vw; }
.wrkGolf {font-size: 1.25vw;}
.wrkGolf th {padding: 0.4vw;}
.wrkGolf td {padding: 0.4vw}
.wrkCopy {font-size: 1vw; }

.wrkDxImg {margin: 4.16vw 0 8.3vw;}
.wrkDxResult h2 {font-size: 2.5vw; margin-bottom: .5vw;}
.wrkDxResult ul li {margin-top: 1.66vw; font-size: 3.3vw; padding: 1.25vw;}
.wrkDxResult ul li span {font-size: 1.66vw;}

/* ----------------------------------------------------
topics (<1200)
---------------------------------------------------- */
/* index */
.homMoreCurrent {margin-top: 3.3vw;}
.homMoreCurrent a {padding-left: 4.16vw;}
.homMoreCurrent a::before {bottom: -0.4vw;}

/* category */
.topicLinkDate span {margin-right: 0.83vw;}
.topicNew .topicsLink {margin-bottom: 3.3vw;}
.topicNew .topicLinkTxt h2 {font-size: 1.66vw;}
#navLocalBlock .topicsLink {margin-bottom: 2vw; font-size: 1.25vw;}
#navLocalBlock .topicLinkDate {font-size: 1vw;}
.topicCommon {margin-top: 6.6vw;}
.topicContCommon {padding: 1.25vw 0 ;}

/* single */
.postTitle {font-size: 2.5vw; margin-bottom: 5.8vw;}
.postImg img { max-height: 28.8vw; }
.postDescription {margin: 6.6vw 0 2vw; font-size: 2vw; }
.postBlock:not(:last-child) {margin-bottom: 5.8vw; }
.postBlock h1 {font-size: 1.66vw; margin-bottom: 2vw;}	
.postBlock h2 {font-size: 1.5vw; margin: 1.5vw 0;}	
.postBlock h3 {font-size: 1.45vw; margin: 1.5vw 0;}	
.postBlock .postImbBlock{margin: 3.3vw 0 2.5vw; }	
.postBlock .postImbBlock img {max-height: 17.5vw; }
.postBtn {margin-top: 5.8vw;}
.postBtn li a {padding: 1.25vw; font-size: 1.58vw;}
.postBtn li a::before {width: 1vw; height: 1vw; right: 1.25vw;}
.postBlock ul {padding-left: 2vw;}
.postBlock ol { padding-left: 2vw;}
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 767px) {
#header #lgHeader {position: absolute; left: 0; top: 0; display: flex; display: -webkit-flex; align-items: center;}
#btnGlobal {position: absolute;	right: 0;	top: 0;	z-index: 120;	background: #009ae1;	display: flex;	display: -webkit-flex;	justify-content: center;	align-items: center;}
#btnGlobal .btnWrapGlobal {	position: relative;}
#btnGlobal .btnLine { height: 3px; background: #fff; position: absolute; right:0; width: 100%;}
#btnGlobal .btnLine.btnLineT {  top: 0;}
#btnGlobal .btnLine.btnLineM { top: 50%; transform: translateY(-50%);}
#btnGlobal .btnLine.btnLineB { bottom: 0; }
#btnGlobal.active .btnLine {background: #fff;}
#btnGlobal.active .btnLine.btnLineT { display: none;}
#btnGlobal.active .btnLine.btnLineM { transform: translateY(0) rotate(45deg) ;}
#btnGlobal.active .btnLine.btnLineB { transform: rotate(-45deg); bottom:inherit; top: 50%;}
#btnGlobal .btnLine.btnLineM, #btnGlobal .btnLine.btnLineB {-moz-transition: all, ease-in-out, 0.3s;  -o-transition: all, ease-in-out, 0.3s;  -webkit-transition: all, ease-in-out, 0.3s; transition: all, ease-in-out, 0.3s;}
#grandMenu {background: #009ae1; width: 100%; position: absolute; z-index: 100;  left: 0;  display: none;  text-align: center;}
#grandMenu a {color: #fff;}
#grandMenu .megamenu {display: none;}

/* ----------------------------------------------------
footer (sp)
---------------------------------------------------- */
#ftInfo .ftBanner {display: flex; display: -webkit-flex; justify-content: space-between;}
#ftInfo .ftBanner li {margin-right: 0; display: block; }
#ftInfo .flex {flex-direction: inherit;}
#ftInfo .ftLink li {display: block;width: 100%;}
#ftInfo .ftLink li a {text-decoration: underline;}
#pagetop {overflow: hidden;}
#pagetop img {vertical-align: bottom;}
#pagetop .bgPageTop02 {left: -1px;}
#footer .copy{width: 100%; text-align: center;}

/* ----------------------------------------------------
home (sp)
---------------------------------------------------- */
/* information */
.listInfo {padding-left: 0; }
.listInfo .infNew {left: inherit; right: 0;}
.listInfo > ul {position: relative; left: inherit; top: inherit;}

/* contents */
.slick-current .catTitle {display: none;}
.slick-current .slideLink{display: block; background-size: auto 100%;}
.slick-prev {margin-left: 0; left: 4%;}
.slick-next {margin-left: 0; transform:translateX(0); left: inherit; right: 4%;}
.slick-current .bgSlideL::before {display: none;}

/* header（sp縦）------------------------------------ */
#header  {height: 16vw; position: relative; z-index: 100;}
#header #lgHeader {height: 16vw; padding: 4vw;}
#header #lgHeader img {height: 7vw; width: auto;}

#header #hdParts {right: 20vw; top: 0; height: inherit; }
.hdBtnSearch {margin-right: 4vw; }
.hdBtnSearch a {width: 6.4vw; height: 6.4vw; }
.hdBtnSearch a img {width: 6.4vw;}
#hdLang {font-size: 3vw;}
#hdLang li a {width: 8vw; height: 6.4vw; }
#btnGlobal {	width: 16vw;	height: 16vw;}
#btnGlobal .btnWrapGlobal {	width: 7vw;	height: 5vw;}
#grandMenu {top: 16vw; padding: 15vw 4vw; }
#navGlobal li { margin:3vw 0;}
#navGlobal li a {font-size: 5vw;}

/* footer（sp横） ------------------------------------ */
#footer {margin: 0;}
#pagetop a {height: 16vw;padding-top: 5vw; font-size: 3.2vw;}
#pagetop a::before {width: 5vw; height: 5vw; }
#ftInfo {padding: 6vw 0 4vw; font-size: 3vw;}
#ftInfo .ftBanner {margin-bottom: 3vw; }
#ftInfo .ftBanner li {width: 45%;}
#ftInfo .ftLink {margin-bottom: 3vw;}
#ftInfo .ftLink li {font-size: 3vw; margin: 1vw 0;}

/* home (sp縦)------------------------------------ */
.homTitle {font-size: 9vw; margin-bottom: 0; text-align: center;}

/* visual */
#homVisual {min-height: 56.26vw; background: #fff;}
/** video **/
#homVideo .imgPoster {z-index: 1;}
#homImgVisual {}

/* information */
#homInfo {padding: 8vw 0;}
#homInfo  .homTitle {margin-bottom: 4vw;}
.wrapListInfo {margin: 10vw 0 0;}
.listInfo {margin: 0 0 5vw;}
.listInfo .infNew {font-size: 3vw; width: 9.6vw; height: 4.8vw;}
.listInfo > ul > li {margin-right: 3vw;}
.listInfo > ul > li.infDate {min-width: inherit; }
.listInfo > ul > li.infCat {font-size: 3vw; margin-right: 3vw; width: 9.6vw; height: 4.8vw; margin-top: 1.2vw;}
.infTitle {line-height: 1.5;}
.infListLink {display: block; flex-wrap: wrap;}
.infListLink li {margin: 0 0 5vw;}
.infListLink li.homLinkMore a {padding-left: 10vw; }
.infListLink li.homLinkMore a::before {bottom: -1vw;}
.infListLink li.homLinkCovid a {width: 100%; text-align: center;}

/* contents */
#homContents {margin: 8vw 0 20vw; }
#homContents::before { height: 48vw;  top: 16vw; }
.slider{margin-top: 6vw;}
.slick-slide img {width: 70vw;}
.slider .slick-slide { transform: scale(0.66) translate(0,-10vw); padding-bottom: 6vw;  margin: 0;}
.slick-slide.slick-center{transform: scale(1) translate(0 , 0);}
.slideImg .slideLink {height: 16vw;} 
.slick-list{padding: 0 29% 0 0 !important;}
.slideImg .slideLink a {font-size:5.6vw; padding-left: 12vw;}
.slideImg .catTitle { font-size: 6vw; margin-top: -2.5vw;}
.slick-arrow {bottom: -12vw; width: 5.6vw; height: 5.6vw; }
.slick-arrow::before {width: 3.6vw; height: 3.6vw; }

/* 追加 2ndPhase */
#homWorks {margin: 10vw auto;}
.homContWorks {width: 48%; padding: 3vw 2vw 0;  margin-top: 6vw;}
.homContWorks::before {height: 8vw;}
.homCatWorks {font-size: 3.2vw; padding:0.4vw 1.2vw; margin-bottom: 2vw;}

/* 20220701　色無 */
.homContWorks-nocolor {width: 48%; padding: 3vw 2vw 0;  margin-top: 6vw;}
.homContWorks-nocolor::before {height: 8vw;}


#homTopics {margin: 10vw auto;}
.homContTopics  {width: 48%; padding: 3vw 2vw 0; margin-top: 8vw;}
.homContTopics::before {height: 20vw;}
.homDateTopics {left: 3.2vw; top: 2.2vw; }
.homImgTopics {margin-bottom: 2vw;}
.homReadTopics ul li {padding-left: 3vw; margin: 0.8vw 0;}
.homReadTopics ul li::before {width: 1.5vw; height: 1.5vw; left: 0; top: 2vw;}

.homTopicData {margin-bottom: 1vw; }
.homDateTopics,.homCatTopics { width: 100%; line-height: 1.4;}
.homDateTopics {font-size: 3.2vw;}
.homReadTopics h3 {font-size:4.4vw; margin-bottom: 2vw;}



@media (max-width: 767px) and (min-width: 600px) {
.slideImg .slideLink {height: inherit;} 
}


/* ----------------------------------------------------
underlayer module (sp)
---------------------------------------------------- */
.topicPath {margin: 2vw auto;}
.topicPath li {font-size: 3vw; }
.topicPath li:not(:first-child) {padding: 0 0 0 3vw; margin-left: 1vw; }
.topicPath li:not(:first-child)::before {idth: 1.2vw; height: 1.2vw; }

#catTitle {height: 20vw;}
#catTitle h2 {font-size: 6vw; font-weight: 600; }

#mainContent.colFlex {width: 100%; flex-direction: column-reverse;}
#news #mainContent.colFlex {margin-bottom: 5vw;  flex-direction: column;}
.colFlex {flex-wrap: wrap; }
.colFlex .mainWrapper {width: 100%; padding: 12vw 0; position: relative;}
.colFlex .main {width:92%; margin: 0 auto;}
.colFlex #navLocalBlock {width:100%; padding: 0; border-left: none; }
.colSingle .mainWrapper {padding: 12vw 0;}

#navLocalBlock {background: #009ae1; padding: 0;}
.btnNavLocal {display: block; text-align: center; padding: 3vw 4vw; position: relative; color: #fff;margin: 0; } 
.btnNavLocal::before {content: ""; width: 3vw; height: 0.5vw; background: #fff; position: absolute;  right: 4vw;  top: 50%; transform: translateY(-50%); transform-origin: center center; transition: 0.3s ease;}
.btnNavLocal::after {content: ""; width: 3vw; height: 0.5vw; background: #fff; position: absolute;  right: 4vw;  top: 50%; transform-origin: center center; transform:  translateY(-50%) rotate(90deg);transition: 0.3s ease;}
.btnNavLocal.active::before {transform: translateY(-50%) rotate(45deg); }
.btnNavLocal.active::after {transform: translateY(-50%) rotate(-45deg); }
#navLocalBlock ul  li.navTtlLocal  {color: #fff; font-size: 3.2vw;}
#navLocalBlock ul  li.navTtlLocal:not(:first-child)  {margin-top: 4vw;}
#navLocalBlock ul  li a { padding: 3vw 5vw; margin-bottom: 0; color: #fff; position: relative; border-top: 1px dotted #fff;}
#navLocalBlock ul  li a::before {content: ""; width: 2vw; height: 2vw; border-top: 1px solid #fff; border-right: 1px solid #fff; position: absolute; right: 5vw; top: 50%; transform:  translateY(-50%) rotate(45deg); }
.navLocal { display: none;}

.hA {font-size: 7vw; margin-bottom: 5vw; line-height: 1.6; }
.hA  span {font-size: 4.5vw; margin-left: 0; display: block;}
.hB{font-size: 5.5vw; margin-bottom: 2vw; }

/* table */
.table th, .table td {width: 100%; display: block;}
.tblA th {padding: 3vw 0 0; font-weight: 600;}
.tblA td {padding: 0 0 3vw; border-top: 0;}

.linkExternal {font-size: 3.8vw;}
.linkExternal::after {width: 4vw; height: 3.2vw; }
.linkPDF {padding-left: 16vw; margin-bottom: 1vw;}
.linkPDF .icPDF {padding: 0.6vw; width: 12.8vw; height: 5.6vw;font-size: 3vw; }
.linkPDF .icPDF em {padding-left: 3.6vw; }
.linkPDF .icPDF em::before {width: 2vw; height: 2.8vw; }

/* list */
.listDot li, .listNum li  {margin-left: 4.4vw;}

/* indexList */
.indexList {width: 100%; }
.indexList li {width: 44vw; height: 25.2765vw; margin-bottom: 5vw;}
.indexList::after {width: inherit;}
.indexList li a {font-size: 4.2vw; } 
.indexList li a em {font-size: 3.6vw; } 

/* 追加修正　20220609 */
.wrapListBnr {display: block; margin-top: 8vw;}
.listBnrCommon {width: 100%; }
.listBnrCommon li:not(:last-child) {margin-bottom: 2vw;}
.listBnrCommon li a {padding: 2.6vw 4vw; }
.listBnrCommon li a::before {width: 2vw; height:2vw; right: 4vw; }

/* 追加 20230316 ------------------ */
/* indexCopy */
.indexCopy {width: 100%; text-align:left; margin-bottom: 8vw;}
.indexCopy p {font-size: min(4.4vw , 2rem);}
.indexCopy p br {display:none;}

/* cookie 
.cookie-consent {font-size: 1.4rem; padding: 4vw 0;}
.cookie-btn {margin: 3vw auto 0; justify-content: space-between;}
.cookie-agree, .cookie-reject {padding: 2vw; margin: 0;width: 49%;}
 */
	
/* ----------------------------------------------------
vision (sp)
---------------------------------------------------- */
#vision #navLocalBlock {display: none;}
.visBtnSP{margin: 10vw 0 0;}
.visBtnSP a {display: block; width: 100%; padding: 4vw; border: 2px solid #009ae1; color: #009ae1; position: relative;}
.visBtnSP a::before {content: ""; width: 2vw; height: 2vw; border-top: 2px solid #009ae1; border-right: 2px solid #009ae1; position: absolute; right: 4vw; top: 50%; transform:translateY(-50%) rotate(45deg);}
.visCopy01 {margin-bottom: 10vw;} 
.visCopy02 {margin: 6vw 0 0 0; }

/* solution */
.visSol-01 {margin-bottom: 7vw; padding:7vw 5vw;}
.visArrow {width: 25.6vw;}
.visSolution h2 {font-size: 5.5vw;  margin-bottom: 6vw; line-height: 1.5;}
.visContSolution {width: 100%; margin-bottom: 5vw;}
.visContSolution:last-child {margin-bottom: 0;}
.visContSolution .visTtlSolution {padding: 4vw;}
.visContSolution .visTtlSolution h3 { font-size: 5.5vw; margin-bottom: 1vw;}
.visRead01 {padding: 4vw; font-size: 3.6vw}
.visImgSolution {margin: 5vw auto 0;  width: 100%;}

/* 変更・追加  2ndPhase */
.visSol-02 {padding:7vw 5vw; margin:7vw auto;}
.visSolution.visSol-02 h2 {font-size: 4.2vw;}
.visSol-03  {margin:7vw  auto; font-size: 3.8vw;}
.visSol-03 h2 a {font-size:6vw; margin-bottom: 6vw; padding: 3vw;}

/* 変更 230616 */
.visTtlSolution {min-height: inherit;}
.visContSolution:not(:first-child) .visTtlSolution p {padding: 0;}
.visRead01 { min-height: inherit; }


/* ----------------------------------------------------
company (sp)
---------------------------------------------------- */
/* message */
.comMsg { margin-bottom: 5.4vw; display: block;}
.comMsg .comImgMsg {width: 100%;}
.comMsg .hA {width: 100%;}
.comContMsg .comNameMsg {font-size: 5vw;}
.comContMsg .comNameMsg span {font-size: 4vw;}

/* about */
.comAbtLogo {position: relative; right: inherit; top: inherit; justify-content: space-between; margin-bottom: 5vw;}
.comAbtLogo::before {content: ""; width: 1px; height: 100%; background: #333; position: absolute; left: 50%; top: 0;}
.comAbtLogo li {width: 47%;}
.comAbtLogo li:not(:last-child) {padding-right: 0; margin-right: 0; border: none;}
.comAbtLogo li img {width: auto !important;}
.comAbtTbl th {width: 100%;}

/* history */
.comHisTbl td {border-top: none;}
.comHisTbl th {width: 100%;}

/* director */
.comDirector {margin-bottom: 6vw;}
.comDirector h2 { width: 100%;}
.comDirector .comDirTbl {width: 100%;}
.comDirTbl td ul::after{content:""; display: block; width:33%;}
.comDirTbl td ul li {width: 33%;}
.comDirTbl td {border-top: none;}
.comDirDate {font-size: 3.6vw;}

/* network */
.comNetwork { margin-bottom: 10vw;}
.comNetwork h2 {font-size: 5.5vw; padding: 3vw 0;}
.comInrNetwork .comTxtNetwork {width: 100%; padding-bottom: 5vw;}
.comInrNetwork .comMapNetwork {width: 100%;}
.comInrNetwork .comMapNetwork iframe { height: 40vw;}
.comLinkNetwork {position: relative; left: inherit; bottom: inherit;}

/* group */
.comCathGroup {font-size: 6vw; margin-bottom: 5vw; line-height: 1.5;}
.comBnr01 img {width: 44.8vw; }

/* tokyuGroup */
.comGroup { margin-bottom: 10vw;}
.comGroup h2{font-size: 5.5vw; padding: 3vw 0;}
.comBusinessGrp, .comCEOGrp, .comAdressGrp  { padding: 3vw 0;}
.comCEOGrp p span {min-width: 35vw; }
.comAdressGrp ul {margin:1vw 0 6vw;}
.comAdressGrp ul li {display: block; line-height: 1.6; font-size: 4vw}
.comAdressGrp ul  li:not(:last-child) {border-right:none; margin-right: 0; padding-right: 0;}

/* ----------------------------------------------------
business (sp)
---------------------------------------------------- */
/* index*/
.busIndexH2 {font-size: 7vw; margin-bottom: 8vw;}
.busIndexH2 span::before {bottom: -1vw;}
.busFlexIndex { justify-content: space-between; flex-wrap: wrap; margin-bottom: 5vw;}
.busFlexIndex:last-child {margin-bottom: 0;}
.busFlexIndex  li { width: 48%; margin-bottom: 10vw;}
.busFlexIndex  li img {width: 35vw;}
.busFlexIndex  li  .busPtIndex { padding: 1vw 2vw;  width: 35vw;}

.busShoulder {font-size: 5vw; margin-bottom: 6vw;}
.busShoulder span::before {bottom: -1vw;}
.busIcon { top: -6vw; width: 22vw; height: 22vw;}

.busCoreSystem {margin-top: 4vw; align-content: flex-start; flex-wrap: wrap;}
.busCoreSystem:first-of-type {margin-top: 12vw;}
.busCoreSystem h2 {width: 100%; background: url("../img/page/vision/line-top.png") left top repeat-x; font-size: 4.5vw;}
.busCoreSystem .subContCore {width: 100%; margin: 0; padding: 0; }
.busCoreSystem h2 span {width: 100%; height: auto; background: none; padding: 5vw; font-weight: 600;}
.lineLeft { display: none;}
.busCoreSystem ul  li {margin-bottom: 4vw; }
.busCoreSystem ul  li::before { content: none;}
.busCoreSystem ul  li h3 {  margin-bottom: 2vw;}
.busCoreSystem ul  li  p {margin: 0 0 8vw 0;}
.busCoreSystem ul  li:last-child p {margin-bottom: 0;} 

.busUniqCont {margin: 10vw 0; padding: 6vw 0 0 0;}
.busUniqCont h2 {font-size: 5.5vw; margin-bottom: 5vw;}
.busUniqCont .busContUniq {width: 100%; margin-bottom: 5vw;}
.busUniqCont .busImgUniq {width: 100%; max-width: inherit;}

/* design */
.busDesign01 {padding-right: 28vw;}
.busDesign01 .busImgCore {width: 23.6vw;}

/* communication */
.busCommunication {min-height: inherit;}
.busCommunication li a.linkExternal {font-size: 4vw; }
.busImgCommunication {width: 50vw; top: 14vw; right: 5vw;}
.busImgCommunication li {padding: 1vw 2vw; text-align: right;}
/* .busImgCommunication li:nth-child(3) img {width: 8vw;}*/
.busImgCommunication li:nth-child(6) img {width: 10vw;}

/* crm */
.busIconBottom {margin:  6vw 0 0; text-align: left; }
.busIconBottom li {display: block; margin: 5vw 0; text-align: left;}
.busIconBottom li  img {margin-bottom: 1vw;}

/* ooh */
.busUniqCont .busContUniq h2 {margin-top: 10vw;}
.busImgUniq ul li {margin-bottom: 3vw;}

/* 202403追記*/
.busUniqCont .busContUniq .busCoreSystem h2 {width: 100%; background: url("../img/page/vision/line-top.png") left top repeat-x; font-size: 4.5vw; margin-bottom: 0;}
.busUniqCont .busContUniq .busCoreSystem .subContCore {width: 100%; margin: 0; padding: 0; }
.busUniqCont .busContUniq .busCoreSystem h2 span {width: 100%; height: auto; background: none; padding: 5vw; font-weight: 600;}
.busUniqCont .busContUniq .busCoreSystem ul li h3 br {display: none;}
.busUniqCont .busContUniq .busCoreSystem:first-of-type {margin: 8vw 0;}
#ooh-main.busContUniq {width:100%;}
#ooh-side.busImgUniq {width: 100%;}


/* sports */
.subImgSports {margin:  10vw 0 0; text-align:left;}
.subImgSports  li {width: 100%; max-width: inherit; display: block; margin: 3vw 0 0 0; }

/* publish */
.busBtnPublish {margin: 10vw 0 0 0;}
.busBtnPublish a  { width: 100%; padding: 4vw; }
.busBtnPublish a::before {width: 2.4vw; height: 2.4vw; right: 4vw;}

.bookL { margin-top: 10vw; padding-top: 10vw; }
.bookL .busImgBook {width:25%;}
.bookL .busImgBook img {max-width: inherit;}
.bookL .busContBook {width: 70%;}
.bookL .busContBook  h3 {font-size: 4.2vw; margin-bottom: 2vw; }
.bookL .busBookData {margin: 0; font-size: 3.6vw;}
.bookL .busBookData li {line-height: 1.4; margin: 3px 0;}
.bookL .busTxtBook {margin-left: 0; margin-top: 4vw;}

.flxBookS {margin-top: 10vw !important;}
.flxBookS:after {width: 48%;}
.bookS {width: 48%;  margin-top: 6vw; padding-top: 6vw;  }
.bookS .busImgBook {max-width: inherit; margin: 0 auto 4vw;}
.bookS h3 { font-size: 3.2vw;  margin-bottom: 4vw;}

/* brand */
.busBrand__icon{margin: min(6vw,60px) 0 0;}
.busBrand__icon img {width: min(40vw,240px);}


/* ----------------------------------------------------
sustainability (sp)
---------------------------------------------------- */
.susBlock {margin: 10vw 0; padding-top: 6vw;}
.susBlock .flex h2 {font-size: 5.5vw; margin-bottom: 5vw; width: 100%;}
.susBlock .susContent {width: 100%; }
.susCol_cont {width: 100%; font-size: 3.6vw; margin-top: 7vw;}
.susCol__cont h3 {font-size: 4vw; padding: 4vw 0;}
.susH3 { font-size: 5vw; margin: 6vw 0 3vw;}
.susCol3,.susCol2 {width: 100%; }

.susDiverTbl {margin:  6vw 0 0 0;}
.susDiverTbl th,.susDiverTbl td{width: 100%;display: block;}

.susDiverData { font-size: 3.4vw;}
.susDiverData th, .susDiverData td {padding: 2vw;}
.susNoteDiver {font-size: 3vw; }
.susTxtDiver01 {font-size: 4.5vw; margin: 6vw 0 0; }
.susTxtDiver01  span {font-size: 4vw;}

.susSDGs th {width: 100%; padding: 3vw 0; }
.imgSusSDGs {width: 42vw; margin:  3vw 0 0;}

.susImgCSR {width: 39.2vw; }
.susImgCSR-02 {width: 50vw; }
.susNote {font-size: 3.6vw;}

.listBnrrSecurity {margin: 8vw 0;}
.listBnrrSecurity li:not(:last-child) {margin-bottom: 2vw;}
.listBnrrSecurity li a {padding: 2.6vw 4vw; }
.listBnrrSecurity li a::before {width: 2vw; height:2vw; right: 4vw; }
.susDateSecurity li {font-size: 3vw; width: 100%!important;}
.susImgSecurity {width: 100%; margin: 4vw auto;}

.susAdv h3 {margin-bottom: 6vw;}
.susLogoAdv {margin: 6vw 0 0; display: flex; display: -webkit-flex; justify-content: space-between;}
.susLogoAdv li {display: block;margin-left: 0; width: 48%; text-align: center;}
.susLogoAdv li img {width: 100%;}


/* policy */
.polContent {margin-bottom: 12vw;}
.polContent h2 {font-size: 5.5vw; margin-bottom: 4vw;}

.polUL li { margin: 0 0 4vw 0; padding-left: 11vw; }
.polDL dt {padding-left: 11vw; }
.polDL dd {padding-left: 11vw; margin-bottom: 4vw;}

.polLinkList {margin:  12vw 0 0 0;}
.polLinkList li {margin: 3vw 0;}
.polLinkList li a {width: 100%; padding: 4vw; }
.polLinkList li a::before {width: 2vw; height: 2vw; right: 4vw; }


/* ----------------------------------------------------
news (sp)
---------------------------------------------------- */
.newCovid {font-size: 3vw;  margin-bottom: 4vw; right: 0; top: -6vw; }

/* tabmenu */
.tab li { font-size: 4vw; padding: 2vw; text-align: center;}
.newsYear {font-size: 5.8vw; margin: 7vw 0;}
.newsList li {padding: 3vw;}
.newsList li  span {left: inherit; position:relative; display: block;}

/* ----------------------------------------------------
recruit(sp)
---------------------------------------------------- */
.recContent {margin-top: 10vw; padding-top: 6vw;}
.recContent:first-of-type {margin-top: 7vw;}
.recCathMsg  {font-size: 5.6vw; margin-bottom: 5vw; line-height: 1.5;}
.recWrapNew {flex-direction: column;}
.recWrapNew .recBnrNew {margin-bottom: 4vw; width: 100%;}

.recTxt {width: 100%;}
.recBnrCareer {width: 100%; margin: 5vw 0 0;}
.recBnrCareer li:first-child {margin-bottom: 3vw;}
.recBnrCareer li a {padding: 2.6vw 4vw;  font-size: 5vw;}
.recBnrCareer li a::before {width: 2vw; height: 2vw;  right: 4vw;}

/* application */
.recCareer {padding-top: 4vw; margin-bottom: 10vw; }
.recCareer h2 {font-size: 6vw; margin-bottom: 4vw;}
.recCareerTbl th {width: 100%;display: block;}
.recCareerTbl02 th {width: 12vw;  font-size: 4vw; display: table-cell;}
.recCareerTbl02 td {padding: 0 0 4vw  11vw;  display: table-cell;}
.recCareerTbl02 td h3 {font-size: 4.8vw; }
.recCareerTbl02 td h3::before { width: 6vw; height: 2px; left: -9vw; top: 3.6vw;}

.recNavLocal {margin: 12vw 0 0 0;}
.recNavLocal li {width: 100%; font-size: 4vw; margin: 0 0 4vw 0; display: block;}
.recNavLocal li a {padding: 4vw;}
.recNavLocal li a::before {width: 2vw; height: 2vw; right: 4vw; }

/* faq */
.recCareer h2.recQ {font-size: 5.5vw; padding-left: 9vw; line-height: 1.6;}
.recCareer .recA {padding-left: 9vw; }
.recCareer h2.recQ::before,.recCareer .recA ::before  {left: 0; font-size: 6.5vw; top: 0.8vw; line-height: 1;  transform: none;}

/* -------------------------------------------------------
contact (sp)
--------------------------------------------------------- */
.contList {margin: 8vw 0 0 0;}
.contList li {width: 48%; margin-top: 3vw;}
.contList li a {padding: 3vw; font-size: 4vw;}

.conTbl {table-layout: fixed; margin: 10vw 0 4vw;}
.conTbl th, .conTbl td {width: 100%; display: block; }
.conTbl input.text {width: 100%;}
.conTbl textarea {width: 100%;}
.conTbl td .conNote, .conTbl .error {font-size: 3.6vw; margin: 1vw 0 0 0; line-height: 1.5;}
.conBtnArea .conBtnSubmit, .conBtnArea .btnbox li .btnBack, .conBtnArea .btnbox li .btnSubmit { width: 100%; padding: 5vw; font-size: 5vw;}
.conBtnArea .btnbox li {display:block; margin:  0 0 3vw 0;}

/* ----------------------------------------------------
search(sp)
---------------------------------------------------- */
#search .main {min-height: 30vh;}
.searchWrapper .gsc-input { width: 84vw; }
.searchWrapper .gsc-input-box table td input#gsc-i-id1 {height: 10vw !important;}
.searchWrapper .gsc-search-button {width: 16vw; height: 10vw;}
.searchWrapper .gsc-search-button .gsc-search-button-v2 svg {width: 4.8vw; height: 4.8vw;}
.searchWrapper .gsc-clear-button {display: none;}


/* ----------------------------------------------------
footercontents(sp)
---------------------------------------------------- */
/* shareholder */
.shContent {margin-top: 12vw;}

/* sitemap */
.smFlex {margin:0;}
.smContent, .smFlexBottom  li {width: 100%;}
.smCategory {margin-bottom: 0; }
.smCategory h2{font-size: 5vw; margin:6vw 0 3vw;}
.smCategory ul li  {margin-bottom: 1.4vw;}
.smCategory ul li ul {margin-left: 4vw; margin-top: 2vw;}
.smCompany h3 {font-size: 3vw; margin: 0 0 2vw 0;}
.smCompany ul:first-of-type {margin-bottom: 5vw !important;}
 .smFlexBottom  li h2 {font-size: 5vw; margin: 5vw 0 0;}

/* 404 */
.nfBtn {margin: 8vw 0 0;}
.nfBtn a {width: 100%; padding: 4vw; }
.nfBtn a::before {width: 2vw; height: 2vw;right: 4vw; }

/* ----------------------------------------------------
works (sp)
---------------------------------------------------- */
.wrkTitle {font-size: 6vw; margin-bottom: 6vw; }
.wrkCath {font-size: 5vw; margin-bottom: 2vw;}
.wrkCategory {margin-top: 18vw; overflow: hidden;}
.wrkCatTitle {font-size: 6vw; margin-bottom: 4vw;}

.wrkChildCategory {margin: 5vw 0 8vw;}
.wrkHeading {font-size: 5vw; padding: 2vw; margin-bottom: 6vw;}
.wrkUnit:after{width: inherit; content:none; }
.wrkBox {width: 48%; margin: 4vw 0 ;}
.wrkTitleBox {padding: 1vw; font-size: 3.4vw;}
.wrkImgBox {margin-bottom: 3vw;}

.wrkGrid {display: grid; grid-template-columns: 1fr 1fr; gap: 4%; margin: 8vw 0 18vw; 	grid-template-areas: 	"areaA areaB " "areaC areaB"	"areaD areaE";}
.wrkGrid .wrkBox {width: 100%; margin: 0;}
.wrkBox:first-child{grid-area: areaA;}
.wrkBox:nth-child(2){grid-area: areaC;}
.wrkBox:nth-child(3){grid-area: areaB;}
.wrkBox:nth-child(4){grid-area: areaD;}
.wrkBox:nth-child(5){grid-area: areaE;}

.wrkHeading-lv2 {font-size: 5vw; margin: 4vw 0 2vw;}
.wrkHeading-lv3 {margin: 10vw 0 2vw; font-size: 4.5vw;}
.wrkHeading-lv3:first-of-type {margin-top: 4vw;}
.wrkUnit-3 li {width: 48%; margin-bottom: 6vw; }
.wrkUnit-3::after {width: 48%; }
.wrkUnit-4 li {width: 48%; margin-bottom: 6vw; }
.wrkUnit-4::after {width: 48%; }
.wrkListImg {}
.wrkListImg li {margin-right: 0; display: block; width:  100%; margin-bottom: 5vw; max-width: inherit;}
.wrkListImg li img {margin-bottom: 3vw;}
.hd-alignment {padding-left: 12vw; }

.btnWrkLink a {padding: 2vw;  font-size:4.2vw;}
.btnWrkLink a::before {width: 2vw; height: 2vw;  right: 3vw;}
.wrkCopy {font-size: 2.6vw; margin:  1vw 0 !important; text-align: left; line-height: 1.4;}

.wrkGolf { font-size: 3.8vw; }
.wrkGolf th {padding: 2vw;}
.wrkGolf td {padding: 2vw}

.tblScroll{	overflow: auto; white-space: nowrap;}
.tblScroll::-webkit-scrollbar{ height: 5px;}
.tblScroll::-webkit-scrollbar-track{ background: #F1F1F1;}
.tblScroll::-webkit-scrollbar-thumb { background: #BCBCBC;}

.ntwImgPhoto {margin: 8vw 0;}
.ntwLink {display: none;}
.ntwContDesc {padding: 5vw 4vw; margin: 6vw 0 0; display: block; width: 100%;}
.ntwContDesc h2 {font-size: 4.2vw;margin-bottom: 4vw; padding-bottom: 3vw; line-height: 1.5;}
.ntwContDesc p:last-of-type {margin-top: 6vw;}

.wrkDxImg {margin: 6vw 0 10vw;}
.wrkDxResult h2 {font-size: 6vw; margin-bottom: 3vw;}
.wrkDxResult ul li {margin-top: 3vw;  font-size:5vw; padding: 2vw; line-height: 1.5;}
.wrkDxResult ul li span {font-size: 3.2vw; }

/* ----------------------------------------------------
topics (sp)
---------------------------------------------------- */
/* index */
.homMoreCurrent {margin: 7vw 0 0;}
.homMoreCurrent a {padding-left: 10vw;}
.homMoreCurrent a::before { bottom: -1vw;}

/* category */
.topicsLink  {position: relative; display: block;}
.topicLinkImg {margin: 0; position: absolute; left: 0; top: 0; }
.topicLinkImg img {width: auto; height: 25vw;}
.topicInfTxt {height: 25vw; padding-left: 30vw; }
.topicLinkTxt .topicLinkDate {margin-bottom: 1.5vw; font-size: 3.6vw;}
.topicLinkTxt h2 {display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; width: auto; white-space: inherit; line-height: 1.5;}
.topicLinkTxt p.topicExcerpt { margin: 3.5vw 0 0; width: auto; overflow: inherit; white-space: inherit; text-overflow: inherit;}
.topicLinkDate span {margin-right: 2vw; display: block;}
.topicNew .topicsLink {margin-bottom: 8vw;}
.topicNew .topicLinkImg {width: auto; }
.topicNew .topicLinkTxt {width: 100%;}
.topicNew .topicLinkTxt h2 {font-size: 4.5vw;}

.topicCommon {margin-top: 12vw;}
.topicContCommon {padding: 4vw 0 ; justify-content: flex-start;}
.topicDateContCommon {width: auto; padding-right: 3vw;  font-size: 3.6vw;}
.topicCatContCommon {width: auto;  font-size: 3.6vw;}
.topicTtlContCommon {width: 100%; line-height: 1.5;}

/* single */
.postTitle {font-size: 5vw; margin-bottom: 8vw;}
.postImg img {max-height: 50vw; }
.postDescription {margin: 10vw 0 5vw; font-size: 4.6vw;}
.postBlock:not(:last-child) {margin-bottom: 12vw; }
.postBlock h1 {font-size: 4.6vw; margin-bottom: 3vw;}	
.postBlock h2 {font-size: 4.4vw; margin: 2vw 0;}	
.postBlock h3 {font-size: 4.2vw; margin: 2vw 0;}	
.postBlock .postImbBlock {margin: 8vw 0 3vw;}	
.postBlock .postImbBlock img {max-height: 42vw; max-width: 100%;}
.postBlock ul {padding-left: 4vw;}
.postBlock ol { padding-left: 4vw;}

.postBtn {margin-top: 12vw;}
.postBtn li {width: 100%; margin-bottom: 2vw;}
.postBtn li a {padding: 4vw;  font-size: 4.2vw;}
.postBtn li a::before { width: 2.4vw; height: 2.4vw; right: 3vw; }
}



/* privacy policy 追加訂正 20221114  */
.polChildUL{margin: 20px 0;}
.polChildUL li { margin: 0 0 20px 0; padding-left: 25px;}
.polDataTbl , .polInfoTbl {width: 100%;}
.polDataTbl th {width: 40%; background: #f3f3f3; border: 1px solid #ccc; padding: 20px;text-align: left; font-weight: normal;}
.polDataTbl td {border: 1px solid #ccc; padding: 20px;}
.polDataTbl th span, .polDataTbl td span {display: none;}
.polInfoTbl th {width: 16%;  padding: 5px;text-align: left; font-weight: normal; vertical-align: top;}
.polInfoTbl td {padding: 5px; vertical-align: top;}
/* privacy policy 追加訂正 20221202  */
.polTitleAdjust {padding-left: 4rem; position: relative;}
.polTitleAdjust span {position: absolute; left: 0;}
.polBtnAjust {margin-top: 15px !important;}

@media (max-width: 1200px) and (min-width: 768px) {
	.polChildUL{margin: 1.66vw 0;}
	.polChildUL li { margin: 0 0 1.66vw 0; padding-left: 2vw;}
	.polDataTbl th, .polDataTbl td {padding: 1.66vw;}
	.polInfoTbl th, .polInfoTbl td  {padding: 0.4vw;}
	/* privacy policy 追加訂正 20221202  */
	.polTitleAdjust {padding-left: 3.33vw;}
	.polBtnAjust {margin-top: 1.25px !important;}
}

@media (max-width: 767px) {
	.polChildUL{margin: 4vw 0;}
	.polChildUL li { margin: 0 0 4vw 0; padding-left: 6vw;}
	.polDataTbl {border-bottom: 1px solid #ccc;}
	.polDataTbl th span, .polDataTbl td span {display: block; font-weight: 600 ; margin-bottom: 2vw; }
	.polDataTbl th, .polDataTbl td {width: 100%;  padding: 3vw; display: block;border-bottom: none; }
	.polDataTbl th {background: inherit; border-bottom: none;}
	.polDataTbl td {border-top: none;}
	.polDataTbl tr:nth-child(even) {background: #f3f3f3;}
	.polInfoTbl tr {border-bottom: 1px solid #ccc;}
	.polInfoTbl th {width: 35%; vertical-align: top;}
	.polInfoTbl th, .polInfoTbl td {padding: 3vw 1vw;}
/* privacy policy 追加訂正 20221202  */
.polTitleAdjust {padding-left: 9vw; }
.polBtnAjust {margin-top: 6vw !important;}

}

/* TOPICS 追加訂正 20230512  */
.topics20230511_01 {font-size: 0.8em;}
.topics20230511_02 {font-size: 0.6em;}




/* TOPコメント 追加訂正 20240109  */
#comment_2024Box{
	margin: 40px auto;
	text-align: center;
	color: #000;
	font-size: 2.0rem;
}

@media (max-width: 767px) {
	#comment_2024Box{
		margin: 20px auto;
	font-size: 1.4rem;
		}
}
/* TOPコメント 追加訂正 20240119  */
.ekkyohouso_2024Box{
	margin: 20px 0;
	width: 200px;
	display: block;
}


/* コンプラお問い合わせ修正 20240618　*/
.noSaleCheck {text-align: center; margin: 0 auto min(2.5vw,30px); background: #f3f3f3; width: 80%; padding: min(2.5vw, 30px); }
.noSaleCheck label {cursor: pointer;}
.noSaleCheck label input {margin-right: 5px;}
.conBtnArea .conBtnSubmit.disable {background: #ddd !important;}

@media (max-width: 767px) {
.noSaleCheck {margin: 0 auto min(6vw,30px);  width: 100%; padding: min(4vw, 30px); text-align: left;}
.noSaleCheck label {display: inline-block; padding-left: 1em; text-indent:-1em;}
}

/* サスティナビリティ修正 20240618 */
.theme__program {font-weight: 600; color: #9c549d; }
.theme__logo {width: 80%;}

@media (max-width: 767px) {
.theme__logo {width: 50%;}

}

/* 役員修正　20240623 */
.tbl-member {width: 100%; border: 1px solid #ccc;}
.tbl-member th {padding: 0; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; width: calc(15em + 2px);}
.tbl-member th .tbl-menber__post {background: #f3f3f3; margin:0; display: flex; display: -webkit-flex; align-items: center; height: 100%; }
.tbl-member th .tbl-menber__post li {height: 100%; display: flex; display: -webkit-flex; align-items: center; padding: 0 1em; min-width: 7em; min-height: 6em;}
.tbl-member th .tbl-menber__post li:not(:first-child),  .tbl-member td.tb-member__role{border-left: 1px solid #ccc; }
.tbl-member td {border-bottom: 1px solid #ccc;  padding: 0 1em; }
.tbl-member td.tb-member__name {width: 10em; }

@media (max-width: 767px) {
.tbl-member {border-top: none;}
.tbl-member th, .tbl-member td {width: 100% !important; display: block;}
.tbl-member th {border-right: none; border-top: 1px solid #ccc; }
.tbl-member th .tbl-menber__post li {min-height: 3em;}
.tbl-member td {padding: 0.5em 1em;  vertical-align: middle; border-bottom: none;}
.tbl-member td.tb-member__role{border-left: none; }


}


/* article 追加 202501 --------------------------- */

.article {max-width: 980px; margin-inline: auto;}
.article .fc--bl {color: #009ae1;}
.article .fw--b {font-weight: bold;}

/*archive */
.article__index {border-top: 1px solid #009ae1; position: relative; padding: 2em 0 2em 10em;}
.article__index:last-child{border-bottom: 1px solid #009ae1; }
.article__index .article__data {position: absolute; left: 1em; margin: 0; color: #666;}
.article__index .article__cat {color: #009ae1; margin-bottom: 0;}
.article__index .article__title {margin: 0; font-size: min(1.833vw, 2.2rem);}
.article__index .article__title a:hover {text-decoration: underline;}

/* single */
.article__head h2 {font-weight: 600; font-size: min(4vw,4.8rem); margin-bottom: min(3.3vw, 40px); border-bottom: 1px solid #333; padding-bottom: min(1.25vw, 15px);}
.article__head h3 span {font-weight: 600; background:#009ae1; color: #fff; padding: min(0.4vw, 5px) min(1.25vw,15px);}
.article__head dl {margin: min(0.83vw, 10px) 0 0;}
.article__head dl dt {font-weight: 600;}
.article__post .preface {margin: min(4.16vw, 50px) auto 0; border: 1px solid #ccc; padding: min(4.16vw,50px);}

.article__body {margin-top: min(5vw, 60px); }
.article__body .img {text-align: center;}
.article__body img {width: auto; max-width: 80%; }

.article__body h2 {font-weight: 600; color: #009ae1; font-size: min(2.33vw, 2.8rem);position: relative; margin: min(8.3vw, 100px) auto min(2.5vw, 30px);}
.article__body .interview {margin: min(4.16vw, 50px) 0; }
.article__body .interview span {font-weight: 600;}
.article__body .interview .small {font-size: min(1.08vw,1.3rem); margin-top: 0.5em;}
.article__body .caption {font-size: min(1.16vw,1.4rem); margin-top: 0.5em;}

.floatR {float: right; margin-left: min(5vw, 60px);}
.article__body .floatR img {max-width: 100%;}
.article__head .listNote, .article__body .listNote {font-size: min(1.08vw,1.3rem); padding-left: 1.5em; text-indent: -1.5em;}

.article .mt20 {margin-top: min(1.66vw, 20px) !important;}
.article .mt30 {margin-top: min(2.5vw, 30px) !important;}
.article .mt40 {margin-top: min(3.3vw, 40px) !important;}
.article .mt50 {margin-top: min(4vw, 50px) !important;}
.article .mb00 {margin-bottom:0 !important;}
.article .mb20 {margin-bottom: min(1.66vw, 20px) !important;}
.article .mb30 {margin-bottom: min(2.5vw, 30px) !important;}
.article .mb40 {margin-bottom: min(3.3vw, 40px) !important;}
.article .mb50 {margin-bottom: min(4vw, 50px) !important;}

.article__footer {margin: min(8vw, 100px) 0;}
.article__footer .goArchive {margin: 0 auto; width: 100%; max-width: min(40vw,480px);}
.article__footer .goArchive a {display: block; border: 2px solid #009ae1; color: #009ae1; padding: min(1.66vw,20px) min(2.5vw,30px); position: relative; text-align: center; font-size: min(1.6vw,2rem);}
.article__footer .goArchive a::before {content: ""; width: min(1vw,12px); aspect-ratio: 1/1; border-right: 2px solid #009ae1; border-top: 2px solid #009ae1; position: absolute; right: min(2.5vw,30px); top: 50%; transform: translateY(-50%) rotate(45deg);}


@media (max-width: 767px) {
/*archive */
.article__index {padding: min(4vw, 20px) min(3vw, 15px);}
.article__index .article__data {position: relative; left: inherit; font-size: min(3.2vw, 1.3rem);}
.article__index .article__cat {font-size: min(3.6vw, 1.5rem);}
.article__index .article__title {font-size: min(4.2vw, 2.2rem); line-height: 1.4;}

/* single */

.article__head h2 { font-size: min(6.8vw,4.8rem); margin-bottom: min(6vw, 30px); text-align: left; line-height: 1.5; padding-bottom: min(3vw,15px);}
.article__head dl{font-size: min(3.4vw, 1.4rem);}
.article__head .preface {width: 100%; margin: min(5vw, 60px) auto 0;}

.article__body {margin-top: min(12vw, 60px); }
.article__body h2 {font-size: min(5.6vw, 2.8rem); margin: min(12vw, 80px) auto min(5vw, 30px); line-height: 1.5;}
.article__body .interview {margin: min(6vw, 30px) 0; }
.article__body .interview .small {font-size: min(3.6vw,1.4rem); }
.article__body .caption {font-size: min(3.8vw,1.4rem); margin-top: 0.5em;}
.floatR {float: none; margin: min(5vw, 60px) 0 0;}
.article__head .listNote, .article__body .listNote {font-size: min(3.2vw,1.3rem);}

.article .mt20 {margin-top: min(4vw, 20px) !important;}
.article .mt30 {margin-top: min(6vw, 30px) !important;}
.article .mt40 {margin-top: min(8vw, 40px) !important;}
.article .mt50 {margin-top: min(10vw, 50px) !important;}
.article .mb20 {margin-bottom: min(4vw, 20px) !important;}
.article .mb30 {margin-bottom: min(6vw, 30px) !important;}
.article .mb40 {margin-bottom: min(8vw, 40px) !important;}
.article .mb50 {margin-bottom: min(10vw, 50px) !important;}

.article__footer {margin: min(10vw, 100px) 0;}
.article__footer .goArchive {max-width: inherit;}
.article__footer .goArchive a {padding: min(4vw,20px) min(5vw,30px); font-size: min(4vw,2rem);}
.article__footer .goArchive a::before {width: min(2.4vw,12px); right: min(4vw,30px);}

}


/* article 202502 */
#article__202502 .mainVisual {text-align: center;}
#article__202502 .mainVisual img {width: auto; max-width: 100%; margin: 0 auto;}
#article__202502 .article__head h2 {line-height: 1.4;}
#article__202502 .article__head h2 span {display: block; font-size: min(3vw, 3.6rem);}
#article__202502 .article__head .preface {margin: min(1.66vw, 20px) auto min(3.3vw, 40px); padding: min(3.3vw, 40px); }
#article__202502 .article__head .preface .preface__title span {font-weight: 600; background:#009ae1; color: #fff; padding: min(0.8vw, 10px) min(1.25vw,15px); font-size: min(1.66vw, 20px); border-radius: 5px;}
#article__202502 .article__head .preface ul {margin-bottom: 0;}

#article__202502 .article__body {border-top: 1px solid #ccc; padding-top: min(5vw, 60px);}
#article__202502 .article__body .hA {font-size: min(2.83vw,3.4rem); font-weight: 600; margin-top: min(4.16vw,50px);}
#article__202502 .article__body .hB {margin: min(3.3vw,40px) 0 min(1.66vw, 20px);}
#article__202502 .article__body .hB.midashi-02 {padding-left: 1.25em; position: relative;}
#article__202502 .article__body .hB.midashi-02 span {position: absolute; left: 0;}

#article__202502 .cont__block {border-top: 1px dotted #ccc; margin: min(7.5vw, 90px) auto; }
#article__202502 .cont__block:last-child {margin-bottom: min(15vw, 180px);}

#article__202502 .cont__block .hC {font-size: min(2.167vw, 2.6rem); font-weight: 600; margin-top: min(5vw, 60px); text-align: center;}
#article__202502 .cont__block h2{margin-top: min(5vw, 60px) !important;}
#article__202502 .cont__block  a {color: #999; text-decoration: underline;}
#article__202502 .cont__block h4 {margin-top: min(5vw, 60px); font-weight: 600;}
#article__202502 .article__body img {width: auto; max-width: 100%; }

#article__202502 .art_202502__fukidashi {display: flex; display: -webkit-flex; justify-content: space-between; align-items: flex-end; width: 94%; margin: min(3.3vw, 40px) auto min(5vw,60px);}
.art_202502__txt {background: #c9ebf9; border-radius: min(1.25vw,15px); padding:  min(3.3vw, 40px); width: 68%; position: relative;}
.art_202502__txt::before {content: ""; background: url("../../article/img/202502/img-202502-02.png") center center / cover no-repeat; aspect-ratio: 36/35; position: absolute; right: 0; top:min(5vw, 60px); transform: translateX(100%); width: min(3vw, 36px);}
.art_202502__txt p {margin:0; }
.art_202502__img {width: 30%; margin: 0;}
.art_202502__img img {width: 100%; height: auto; max-width: inherit;}

.art_202502__flex {display: flex; display: -webkit-flex; justify-content: center; column-gap: 5px; margin: min(3.3vw, 40px) 0 min(5vw, 60px);}
.art_202502__flex li {flex: 1;}
.art_202502__flex li img {width: 100%; height: auto; max-width: inherit;}

@media (max-width: 767px) {
 #article__202502 .article__head h2 {font-size: min(6vw,4.8rem);}
 #article__202502 .article__head h2 span {font-size: min(5vw, 3.6rem);}
 #article__202502 .article__head .preface {margin: min(4vw, 20px) auto min(8vw, 40px);  padding: min(5vw, 40px);}
 #article__202502 .article__head .preface .preface__title span {padding: min(2vw, 10px) min(3vw,15px); font-size: min(4vw, 20px); }

 #article__202502 .article__body {padding-top: min(10vw, 60px);}

 #article__202502 .article__body .hA {font-size: min(6vw,3.4rem); margin-top: min(10vw,50px);}
 #article__202502 .article__body .hB {margin: min(8vw,40px) 0 min(4vw, 20px);}
 #article__202502 .cont__block {margin-top: min(12vw, 90px); }
 #article__202502 .cont__block .hC {font-size: min(5.3vw, 2.6rem);  margin-top: min(8vw, 60px); line-height: 1.4; }
 #article__202502 .cont__block .hC span {font-size: 3.5vw;}
 #article__202502 .cont__block h2 {margin-top: min(8vw, 60px) !important;}
 #article__202502 .cont__block h4 {margin-top: min(8vw, 60px);}
 

#article__202502 .art_202502__fukidashi {display: block; width: 94%; margin: min(6vw, 40px) auto min(12vw, 80px);}
.art_202502__txt { border-radius: min(3vw,15px); padding: min(6vw, 40px) min(6vw, 40px) min(12vw, 80px); width: 100%; }
.art_202502__txt::before {right:inherit; left: 5vw; top:inherit; bottom: 0;  transform: translate(0,100%) rotate(90deg) scale(1,-1); width: min(7.2vw, 36px);}
.art_202502__img {width: 70%; margin: -10vw auto 0; z-index: 10; position: relative;}
.art_202502__img img {width: 100%; height: auto; max-width: inherit;}

.art_202502__flex {display: block; margin: min(6vw, 40px) 0 min(8vw, 60px);}
.art_202502__flex li {margin-bottom: 3vw;}
 #article__202502 a.linkExternal::after {top:inherit; bottom: 0; transform: translate(150%, -25%);}
 #article__20250601 a.linkExternal::after {top:inherit; bottom: 0; transform: translate(150%, -25%);}
}

/* articl common */
.article__post .mainVisual {text-align: center;}
.article__post .mainVisual img {width: auto; max-width: 100%; margin: 0 auto;}
.article__post .article__head h2 {line-height: 1.4;}
.article__post .article__head h2 span {display: block; font-size: min(3vw, 3.6rem);}

.article__post  .preface {margin: min(1.66vw, 20px) auto min(3.3vw, 40px); padding: min(3.3vw, 40px); }
.article__post  .preface .preface__title span {font-weight: 600; background:#009ae1; color: #fff; padding: min(0.8vw, 10px) min(1.25vw,15px); font-size: min(1.66vw, 20px); border-radius: 5px;}
.article__post  .preface ul {margin-bottom: 0;}

.article__post .article__body .hA {font-size: min(2.83vw,3.4rem); font-weight: 600; margin-top: min(5vw,50px);}
.article__post .article__body .hB {margin: min(3.3vw,40px) 0 min(1.66vw, 20px); padding-left: 1.25em; position: relative;}
.article__post .article__body .hB.noNum {padding-left: 0;}
.article__post .article__body .hB span {position: absolute; left: 0;}
.article__post .article__body .hC {font-size: min(2vw,2.4rem); font-weight: 600; margin: min(3.3vw, 40px) 0 min(1.25vw, 15px);}
.article__post .article__body .hD {font-weight: 600;}
.article__post .readA {font-weight: 600; font-size: min(1.66vw, 2rem); margin: min(3.3vw, 40px) 0 0;}

.article__post .article__body .shoulder--A {font-style: normal; font-weight: 600; background:#009ae1; color: #fff; padding: min(0.4vw, 5px) min(5vw,60px); font-size: min(1.66vw, 20px); border-radius: 5px;}


.article__post .cont__block { margin: min(4.16vw, 50px) auto; }
.article__post .img-border {border: 1px solid #ccc; padding: 20px 0;}

.article__post .flex {display: flex; display: -webkit-flex; flex-wrap: wrap;}
.article__post .jc-sb {justify-content: space-between;}

.article__contact {width: 60%; margin: min(6.6vw,80px) auto 0; border: 1px solid #666; text-align: center; position: relative; padding: min(2.5vw,30px) min(1.66vw,20px) min(1.66vw,20px);}
.article__contact h3 {background: #8F8F8F; color: #fff; position: absolute; left: 50%; top: 0; transform: translate(-50%,-50%); border-radius: min(0.4vw, 5px); width: 8em; min-width: 40%;}
.article__contact p {margin-bottom: 0; font-size: min(1.66vw, 2rem);}
.article__contact p a {text-decoration: underline; color:#999999;}
.article__contact p a:hover{text-decoration: none;}

@media (max-width: 767px) {
 .article__post .article__head h2 {font-size: min(6vw,4.8rem);}
 .article__post .article__head h2 span {font-size: min(5vw, 3.6rem);}
 .article__post .article__head .preface {margin: min(4vw, 20px) auto min(8vw, 40px);  padding: min(5vw, 40px);}
 .article__post .article__head .preface .preface__title span,
 .article__post .preface .preface__title span {padding: min(2vw, 10px) min(3vw,15px); font-size: min(4vw, 20px); display: inline-block;; line-height: 1.4;}
 .article__post .article__head .preface .preface__title span {display: block;}
 
 .article__post .article__body .hA {font-size: min(5.6vw,3.4rem); margin-top: min(10vw,50px);}
 .article__post .article__body .hB {font-size: min(5.2vw,3.4rem);margin: min(8vw,40px) 0 min(4vw, 20px);}
 .article__post .article__body .hC {font-size: min(4.8vw,2.4rem);  margin: min(8vw, 40px) 0 min(3vw, 15px); line-height: 1.5;}
 .article__post .readA {font-size: min(4.2vw, 2rem); margin: min(6vw, 40px) 0 0;}
 .article__post .article__body .shoulder--A {padding: min(1vw, 5px) min(12vw,60px); font-size: min(4vw, 20px); display: inline-block; margin-bottom: 10px;}

 .article__post .cont__block { margin: min(10vw, 50px) auto; }
 .article__post .img-border {padding: 4vw;}
 .article__post .img-border img {width: 100%; height: auto; max-width: inherit;}

 .article__contact {width: 100%; margin: min(12vw,80px) auto 0;  padding: min(6vw,30px) min(4vw,20px) min(4vw,20px);}
 .article__contact h3 {border-radius: min(1vw, 5px); width: 60%;}
 .article__contact p {font-size: min(4vw, 2rem);}

}

/* article 202506 */
.art_2506 { margin-top: min(3.3vw, 40px);}
.art_2506__cont{width: 32%; border: 1px solid #ccc; padding: min(2.5vw,30px) min(0.83vw,10px) min(0.83vw,10px) min(0.83vw,10px); position: relative;}
.art_2506__cont h3 {position: absolute; left: 50%;top: 0; transform: translate(-50%, -50%); background: #009ae1; color: #fff; min-width: 80%; padding: min(0.4vw,5px) min(0.83vw, 10px); text-align: center; margin: 0; border-radius: min(0.4vw,5px);}

.art_2506__cont .cont__cond {padding-bottom: min(1.25vw,15px); margin-bottom: min(2.5vw,30px); border-bottom: 1px solid #aaa;}
.art_2506__cont .cont__cond p {margin: 0; width: 68%;}
.art_2506__cont .cont__cond p.cond__icon {width: 28%;}
.art_2506__cont .cont__cond p.cond__icon img {width: 100%;  max-width: 84px;}
.art_2506__cont .cont__main .img__person {margin: 0 auto min(2.5vw,30px); text-align: center;}
.art_2506__cont .cont__main .img__person img {width: 100%; max-width: 226px;}
.art_2506__cont .cont__main p:not(:last-child) {border-bottom: 1px dashed #ccc; padding-bottom: min(1.25vw, 15px);}

@media (max-width: 767px) {
 .art_2506 { margin-top: min(8vw, 40px);}
 .art_2506__cont{width: 100%; padding: min(8vw,50px) min(4vw,20px) min(4vw,20px) min(4vw,20px); margin-bottom: 8vw; }
 .art_2506__cont h3 {padding: min(1vw,5px) min(2vw, 10px);border-radius: min(1vw,5px); min-width: 50%;}
 .art_2506__cont .cont__cond {padding-bottom: min(3vw,15px); margin-bottom: min(6vw,30px);}
 .art_2506__cont .cont__main .img__person {margin: 0 auto min(6vw,30px);}
 .art_2506__cont .cont__main p:not(:last-child) {padding-bottom: min(3vw, 15px);}
}

/* articel 20250701 */
#article__20250701 .article__post .article__body .hA {margin-top: min(6.6vw, 80px);}
.mt80 {margin-top: min(6.6vw, 80px) !important;}
#article__20250701 .lg-toq {text-align: center; margin: 20px auto 0;}
#article__20250701 .lg-toq img {width: 215px; height: auto;}

@media (max-width: 767px) {
 #article__20250701 .article__body img {width: auto; max-width: 100%; }
}

/* articel 20250702 */
#article__20250702 .lg-service {max-width: 590px;}
.art_250702__flex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap; margin: min(4.16vw, 50px) auto 0;}
.art_250702__cont{width:49%;}
.art_250702__cont .art_250702__img {border: 1px solid #ccc; text-align: center; position: relative;}
.art_250702__cont .art_250702__img img {width: 100%; height: auto; max-width: 466px;}
.art_250702__cont .caption {text-align: center; font-size: min(1vw, 1.2rem);}
.art_250702__cont .lg-toq {text-align: center;}

@media (min-width: 768px) {
 .hvOver {cursor: pointer;}
 .art_250702--01 .hvArea {position: absolute; display: inline-block; width: min(12vw, 130px); height: min(10.5vw,112px); }
 .art_250702--01 .hvArea--01 {clip-path: polygon(0 0, 100% 0%, 50% 100%); left: 50%; top: 50%; transform: translate(-50%, -4%);}
 .art_250702--01 .hvArea--02 {clip-path: polygon(0 100%, 50% 0, 100% 100%);left: 50%; bottom: 0; transform: translate(4%, -26%);}
 .art_250702--01 .hvArea--03 {clip-path: polygon(0 100%, 50% 0, 100% 100%);left: 50%; bottom: 0; transform: translate(-104%, -26%);}
 .art_250702--01 .hvArea--04 {position: absolute; width: min(20vw,210px); height: min(1.9vw, 20px); left: 50%; bottom: 1%; transform: translateX(-50%);}
 .art_250702--02 .hvArea {position: absolute; } 
 .art_250702--02 .hvArea--05 {width: min(9vw, 100px); height: min(4vw,45px); right: 3.5%; top: 10%;}
 .art_250702--02 .hvArea--06 {width: min(8vw, 90px); height: min(4vw,45px); left: 4%; bottom: 17.5%;}
 .art_250702--02 .hvArea--07 {width: min(4.25vw,50px); height: min(4vw,45px); left: 2.8%; top: 10.5%;}
 .art_250702--02 .hvArea--08 {width: min(6.5vw,70px); height: min(4vw,45px); right: 4%; bottom: 17.5%;}
 
 .hvContent {position: absolute; background: url("../../article/img/20250702/bg-popup-01.svg") center bottom / 100% auto no-repeat; width: 224px; border-top: 1px solid #777; padding: 5px 10px 35px 10px; font-size: min(1vw, 1.2rem); text-align: left; display: none;}
 .hvContent a {display: block;}
 .hvContent h3 {color: #43b8ea; font-weight: 600; font-size: min(1.16vw, 1.4rem); text-align: center;}
 .hvContent p {line-height: 1.4; margin: 0;}
 .hvContent p.hvCont__btn {display: block; text-align: center; font-size: min(0.83vw, 10px); color: #fff; background: #43b8ea; border-radius: 5px; padding: 3px; margin-top: 5px;}
 .hvContent .btnClose {position: absolute; right: 0; top: 0; transform: translate(50%,-50%); width: min(2.5vw,30px); cursor: pointer;}
 
 #hvCont--01 { left: 50%; top: 0%; transform: translate(-50%, 18%);}
 #hvCont--02 { left: 50%; bottom: 0%; transform: translate(-18%, -48%);}
 #hvCont--03 { left: 50%; bottom: 0%; transform: translate(-80%, -48%);}
 #hvCont--04 { left: 50%; bottom: 0%; transform: translate(-50%, -12%);}
 #hvCont--05 { left: 62%; top: 0%; transform: translate(4%, -68%);}
 #hvCont--06 { left: 0; bottom: 0%; transform: translate(-27%, -40%);}
 #hvCont--07 { left: 0; top: 0%; transform: translate(-30%, -68%);}
 #hvCont--08 { left: 50%; bottom: 0%;transform: translate(30%, -40%);}
}

@media (max-width: 767px) {
.art_250702__flex {margin: min(4.16vw, 50px) auto 0;}
.art_250702__cont{width:100%;}
 .hvOver,  .hvContent {display: none;}
 .art_250702__cont .caption {font-size: min(3.2vw, 1.2rem);}
}


/* article__202508 */
#article__202508 .article__head h2 {font-size:min(3vw,3.6rem);}
#article__202508 .lg-service {max-width: 365px; margin: 0 auto; text-align: center;}
#article__202508 .article__body .img {width:80% ; max-width: 785px; margin: 0 auto; text-align: left;}
#article__202508 .article__body .img img {width: 100%; height: auto; max-width: inherit;}
.article__body .img p {font-size: min(1.08vw,1.3rem); margin-top: min(0.83vw, 10px )}
 
#article__202508 .prof__flex {display: flex; display: -webkit-flex; justify-content: space-between;}
#article__202508 .prof__img {width: 26%;}
#article__202508 .prof__img img {width: 100%; max-width: inherit;}
#article__202508 .prof__content {width: 68%;}
#article__202508 .prof__history {margin-bottom: min(1.25vw,15px); padding-bottom: min(1.25vw,15px); border-bottom: 1px dashed #ccc;}
#article__202508 .prof__history li {position: relative; padding-left: 4.5em; line-height: 1.4; margin: min(0.5vw,8px) 0;}
#article__202508 .prof__history li span {font-weight: 600; position: absolute; left: 0;}

@media (max-width: 767px) {
 #article__202508 .article__head h2 {font-size:min(6vw,3.6rem);}
 #article__202508 .article__body .img {width:80% ; max-width: 785px; margin: 0 auto; text-align: left;}
 .article__body .img p {font-size: min(3vw,1.3rem); margin-top: min(2vw, 10px); line-height: 1.4;}
 #article__202508 .article__body .preface__title {text-align: center;}
 #article__202508 .prof__flex {display:block;}
 #article__202508 .prof__img {width: 60%; margin: 0 auto 5vw;}
 #article__202508 .prof__content {width: 100%;}
 #article__202508 .prof__history {margin-bottom: min(3vw,15px); padding-bottom: min(3vw,15px);}
 #article__202508 .prof__history li { margin: min(1.6vw,8px) 0;}
}

/* article__202510 */
#article__202510 .article__head h2 {font-size:min(3vw,3.6rem);}
#article__202510 .article__body .img {width:84% ; max-width: 785px; margin: 0 auto; text-align: left;}
#article__202510 .article__body .img img {width: 100%; height: auto; max-width: inherit;}
#article__202510 .article__body .img h3 {font-weight: 600;font-size:min(1.6vw,2rem); margin-bottom: min(2.5vw,30px); color: #4D4D4D;}

#article__202510 .prof__flex {display: flex; display: -webkit-flex; justify-content: space-between;}
#article__202510 .prof__img {width: 26%;}
#article__202510 .prof__img img {width: 100%; max-width: inherit;}
#article__202510 .prof__content {width: 68%;}
#article__202510 .preface__title {margin: min(0.6vw,8px) 0; }
#article__202510 .preface__title span {font-size: min(1.3vw,16px);  text-align: center; display: inline-block; min-width:240px; padding: 5px;}

@media (max-width: 767px) {
 #article__202510 .article__head h2 {font-size:min(6vw,3.6rem);}
 #article__202510 .article__body .img {width:96% ; max-width: 785px; margin: 0 auto; text-align: left;}
 #article__202510 .article__body .img h3 {font-size:min(3.8vw,2rem); margin-bottom: min(5vw,30px); }
 #article__202510 .article__body .preface__title {text-align: center;}
 #article__202510 .prof__flex {display:block;}
 #article__202510 .prof__img {width: 60%; margin: 0 auto 5vw;}
 #article__202510 .prof__content {width: 100%;}
 #article__202510 .preface__title {margin: min(2vw,8px) 0; }
 #article__202510 .preface__title span {font-size: min(4.6vw,18px); display: block;}
}

/* article__202511 */
#article__202511 .article__head h2 .fw-normal {font-weight: normal;} 
#article__202511 .article__body img {max-width: 100%!important;}


/* business > space 202502追記 ----------------------------- */

.busSpaceBlock {margin-bottom:50px}
.busSpaceBlock p {margin-bottom: 0;}
.busSpaceBlock h3.busSol__title {font-size: min(1.16vw, 14px);}
.busSpaceBlock h3.busSol__title span {font-size: min(1.66vw,20px);}

.busSpace__flex {display: flex; display: -webkit-flex; justify-content: space-between;}

.busSpace__title {width: 30%; padding: min(2vw,25px); display: flex; display: -webkit-flex;justify-content: center; align-items: center; text-align: center; background: rgb(233,233,233); background: linear-gradient(0deg, rgba(233,233,233,1) 0%, rgba(173,173,173,1) 100%);}
.busSpace__txt {width: 65%;}

.busSpace__title__wrap {width: 100%;}
.busSpace__title .busSpace__title__en {margin: 0 auto 10px; text-align: center; color: #fff; font-size: min(1.66vw,20px); line-height: 1; padding-bottom: 10px; border-bottom: 1px solid #fff; }
.busSpace__title .busSpace__title__en span {font-size: min(1.16vw, 14px);}
.busSpace__title .busSpace__title__jp {font-size: min(1.5vw, 18px);}

.busSpace__txt h3 {font-weight: 600;font-size: min(1.5vw, 18px); color:#009944; margin-bottom: 10px;}
.busSpace__txt p {font-size: min(1.16vw, 14px); margin: 0;}

.wrapListBnr.jc-sb {justify-content: space-between; align-items: center;}

@media (max-width: 767px) {
 .busSpaceBlock {margin-bottom: 30px;}
 .busSpaceBlock h3.busSol__title {font-size: min(3.8vw, 14px);}
 .busSpaceBlock h3.busSol__title span {font-size: min(5vw,20px);}
 
 .busSpace__flex {display: block;}
 .busSpace__title {width: 100%; padding:min(5vw,25px); display: block; background: rgb(233,233,233);background: linear-gradient(270deg, rgba(233,233,233,1) 0%, rgba(173,173,173,1) 100%); margin-bottom: 20px;}
 .busSpace__txt {width: 100%;}
 
 .busSpace__title__wrap {display: flex; display: -webkit-flex; justify-content: space-between; align-items: center;}
 .busSpace__title .busSpace__title__en { width: 50%;  margin: 0; text-align: left; color: #fff; font-size: min(5vw,20px); padding-bottom: 0; border-right: 1px solid #fff; border-bottom: none;}
 .busSpace__title .busSpace__title__en span {font-size: min(3.8vw, 14px);}
 .busSpace__title .busSpace__title__jp {width: 50%; text-align: center; font-size: min(4.8vw, 20px);}
 .busSpace__txt h3 {font-size: min(4.8vw, 20px); line-height: 1.4;}
 .busSpace__txt p {font-size: min(3.8vw, 16px);}

 .wrapListBnr.jc-sb {display: block; margin-top: 60px;} 
}


