@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
font-family: "Noto Sans JP", sans-serif;100 to 900
font-family: "Oswald", serif;200 to 700
font-family: "Jost", sans-serif;
}
}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body {color: #000; line-height: 1.8; background: #fff; font-family: "Noto Sans JP", sans-serif;}
a {color: #000; text-decoration: none;}
a:hover {text-decoration: underline;}
.clickable a, .clickable a:hover {}
.flex {display: flex; display: -webkit-flex; justify-content: space-between; flex-wrap: wrap;}
.inrContent {width: 80%; max-width: 1200px; margin:0 auto; position: relative;}
img {width: 100%; height: auto;}
.br_spOnly{display:none;}
.br_pcOnly{display:block;}
#wrapper{display:block; position: relative;}


/*　上に上がる動き　*/
#page-top.UpMove{animation: UpAnime 0.5s forwards; z-index: 99;}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#page-top.DownMove{animation: DownAnime 0.5s forwards; z-index: 99;}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}

@keyframes fade {
   0% {opacity: 0; }
   100% {opacity: 1; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (min-width:768px) {
/* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
/* hover */
a:hover {
  opacity: .6 !important; filter: alpha(opacity=60);
  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: .6 !important; filter: alpha(opacity=60);
  -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=60) !important;	opacity: .6 !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;
}
	


/* ----------------------------------------------------
header (common)
---------------------------------------------------- */
#header {
  position: fixed;
  left: 50%;
  top: 0;
  transform: translateX(-50%); /* ← これは最初のヘッダー用（中央揃え） */
  z-index: 99;
  width: 93%;
  transition: opacity 0.4s ease-out;
}
#header.visible {position: fixed; left: 0; top: 0; transform: none;  width: 100%; opacity: 0; animation: fade 1s ease forwards; background-color: white;}
#header .headerWrap{background-color: white; border-radius: 35px;}	
#header .headerInner{width:97%; margin: 0 auto; padding: min(1.33vw, 20px) 0;}
#header.visible .headerInner{padding: 0 0 min(1.33vw, 20px) 0;}

#hd-logo p{width: min(22vw, 330px);}
.hedBtWrap{align-items: center;}

.hedBtWrap ul li{position: relative; padding: 0 1.2em 0 0.2em; font-size: min( 1.067vw , 1.6rem );}
.hedBtWrap ul li::after{position: absolute; top: 0; right: 0; content: "｜";}
.hedBtWrap ul li:last-child::after{content: "";}
.hedBtWrap ul li a{font-weight: 600;}
.hedBtWrap ul li span{position: relative; padding-left: 1em;}	
.hedBtWrap ul li span::before{position: absolute; top: 50%; left: 0; transform: translateY(-50%); content: ""; background: url("../img/common/iconLink01.svg") no-repeat 0 0; width: min(1.133vw, 17px); height: min(1.133vw, 17px);}	
.headEntry{width:97%; margin: min(1.133vw, 17px) auto;}
.headEntry ul{justify-content: flex-end;}
.headEntry ul .linkRec-top a{background-color: #7B8392; border-radius: 35px; color: white; padding: 0.3em 1em;}
.headEntry ul .linkRec-top a span{position: relative; padding-left: 1.5em;}
.headEntry ul .linkRec-top a span::before{position: absolute; top: 50%; left: 0; transform: translateY(-50%); content: ""; background: url("../img/common/iconLink01.svg") no-repeat 0 0; width: min(1.333vw, 20px); height: min(1.333vw, 20px);}	
.headEntry ul .entryBt a{background-color: #DC0032; border-radius: 35px; color: white; padding: 0.3em 1em; margin-left: 0.5em;}
.headEntry ul .entryBt a span{position: relative; padding-left: 1.5em;}
.headEntry ul .entryBt a span::before{position: absolute; top: 50%; left: 0; transform: translateY(-50%); content: ""; background: url("../img/common/iconEntry.svg") no-repeat 0 0; width: min(1.333vw, 20px); height: min(1.333vw, 20px);}	
}

/* ----------------------------------------------------
Top
---------------------------------------------------- */
#homVisual {position: relative; overflow: hidden;}
.homImg video {width: 100vw; height: 100vh; object-fit: cover; display: block;}
.homCopyVisual{position:absolute; bottom: 5%; left: 3%; font-family: "Oswald"; font-size: min( 6.667vw , 10rem ); font-weight: 400; line-height: 1; color: white; text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
 }

/*キーワード*/
.homeKeyword{margin-top: min( 11.33vw , 170px ); background-color: #DC0032; background-image: url("../img/top/imgKeyword.jpg"); background-repeat: no-repeat; background-position: left center; background-size:60% auto; justify-content: flex-end;}
.homeKeyword .keywordInner{width: 40%; padding: min( 4vw , 60px ) 0;}
/*.keywordInner h3{width: 85%; margin: 0 auto; color: white; position: relative;}
.keywordInner h3::before{position: absolute; top: 0; left: 0; content: ""; background-color: white; width: 5%; height: 1px;}	
.keywordInner h4{width: 63%; margin: min( 4vw , 60px ) auto 0 auto; color: white; font-size: min(2.667vw, 4rem); font-weight: 600; line-height: 1.4;}*/
.keywordInner p{width: 63%; margin: 1.5em auto min( 4vw , 60px ) auto; color: white; line-height: 2.4;}

.keywordInner h3 {width: 63%; position: relative; display: flex; flex-direction: column; align-items: flex-start; margin: 0 auto; color: white;}
.keywordInner h3 .emSpan {font-size: min(4.33vw, 6.5rem); font-weight: 500; letter-spacing: -0.05em; line-height: 1.3;}
.keywordInner .jpSpan {color: white;}
.keywordInner .jpline {background-color: white;}


/*-------トップのコンテンツリンクボタン個別指定*/
.keywordInner .btAria{width: min( 25vw , 375px ); margin: 0 auto;}
.homeInterview .btAria,.homeBusiness .btAria,.homeWorks .btAria,.homeOfficeTour .btAria{width: min( 25vw , 375px );}
/*トップのコンテンツリンクボタン*/
.btLink01,.btLink02 {position: relative; display: block; padding: 1rem 2rem; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-transition: color 0.7s ease-in-out; transition: color 0.7s ease-in-out; text-align: center; vertical-align: middle; overflow: hidden;}
.btLink01 {color: white; border: 1px solid #fff;}
.btLink02 {color: #DC0032; border: 1px solid #DC0032; background-color: white;}
.btLink01 span,.btLink02 span {position: relative; z-index: 2; display: inline-block; transition: color 0.7s ease-in-out;}
.btLink02:hover,.btLink01:hover {opacity: 1!important;}
.btLink01:hover span {color: #DC0032;}
.btLink02:hover span {color: #fff;}
.btLink01::after {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: white; z-index: 1; opacity: 0; transition: opacity 0.7s ease-in-out;}
.btLink02::after {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #DC0032; z-index: 1; opacity: 0; transition: opacity 0.7s ease-in-out;}
.btLink01:hover::after,.btLink02:hover::after {opacity: 1;}
.btLink01::before {position: absolute; bottom: 0; right: 0; width: 10%; height: 400%; content: ""; background: #fff; z-index: 0; -webkit-transition: all 0.7s ease-in-out; transition: all 0.7s ease-in-out; -webkit-transform: translate(50%, 50%) rotate(45deg) scale(1); transform: translate(50%, 50%) rotate(45deg) scale(1);}
.btLink02::before {position: absolute; bottom: 0; right: 0; width: 10%; height: 400%; content: ""; background: #DC0032; z-index: 0; -webkit-transition: all 0.7s ease-in-out; transition: all 0.7s ease-in-out; -webkit-transform: translate(50%, 50%) rotate(45deg) scale(1); transform: translate(50%, 50%) rotate(45deg) scale(1);}
.btLink01:hover::before,.btLink02:hover::before {width: 100%; height: 100%; -webkit-transform: translate(50%, 50%) rotate(45deg) scale(10); transform: translate(50%, 50%) rotate(45deg) scale(10);}
.btLink01:not(:hover)::before,.btLink02:not(:hover)::before {-webkit-transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out;}
.btLink01 span::before {position: absolute; content: ""; top: 50%; left: -2em; transform: translateY(-50%); background: url("../img/common/iconLink01.svg") no-repeat 0 0; width: min(1.333vw, 20px); height: min(1.333vw, 20px);}
.btLink02 span::before {position: absolute; content: ""; top: 50%; left: -2em; transform: translateY(-50%); background: url("../img/common/iconLink02.svg") no-repeat 0 0; width: min(1.333vw, 20px); height: min(1.333vw, 20px); -webkit-transition: all 0.7s ease-in-out; transition: all 0.7s ease-in-out;}
.btLink02:hover span::before {background: url("../img/common/iconLink03.svg") no-repeat 0 0; width: min(1.333vw, 20px); height: min(1.333vw, 20px); -webkit-transition: all 0.7s ease-in-out; transition: all 0.7s ease-in-out;}
.btLink02 span.noIcon::before {background: none;}


/*トップページのカセット*/
.topCaset{margin-top: min( 16vw , 240px );}
.topCaset .inrContent{justify-content: flex-end;}
.topCaset.homeBusiness .inrContent{justify-content: flex-start;}
.topCaset .casetInner{width: 40%; padding: min( 8.667vw , 130px ) 0 0 0; position: relative; z-index: 1; flex-flow: column; align-items: flex-end;}
.topCaset.homeBusiness .casetInner{align-items: flex-start;}
.topCaset .casetInner::after{position: absolute; top:80px; left: 0; content: ""; width: 68%; height: min( 32vw , 480px );}
.topCaset.homeBusiness .casetInner::after{right: 0; left: inherit; top: 80px;}


.casetInner .casetTextbox {width: 70%; margin: 0 0 0 30%; position: relative;}
.topCaset.homeBusiness .casetInner .casetTextbox {margin: 0 0 0 0;}
.homeOfficeTour .casetTextbox {display: inline-block; position: relative;}
.casetTextbox h3 {width: 100%; position: relative; display: flex; flex-direction: column; align-items: flex-start;}
.casetTextbox h3 .emSpan {font-size: min(4.33vw, 6.5rem); font-weight: 500; letter-spacing: -0.05em; line-height: 1.3;}
.jpSpanWrap {position: relative; display: block; width: 100%;}
.jpSpan {display: inline-block; font-size: min(1.333vw, 2rem); font-weight: normal; position: relative; padding-right: 1em; white-space: nowrap;}
.jpline {position: absolute;
  top: 50%;
  right: 0;
  width: calc(100% - var(--jpSpan-width, 0px)); /* 変数適用 */
  height: 1px;
  background-color: black;
  transform: translateY(-50%);}
.casetInner p{margin: 1.5em 0 min( 5.33vw , 80px ) 0; line-height: 2.0;}

/*インタビュー画像指定*/
.homeInterview{background: url("../img/top/imgInterview.jpg") no-repeat 0 0; background-size: 66% auto; }
.homeInterview .casetInner::after{background: url("../img/top/imgInterview-s.jpg") no-repeat 0 0; background-size: cover; z-index: -1;}
/*事業紹介画像指定*/
.homeBusiness{background: url("../img/top/imgBusiness.jpg") no-repeat right 0; background-size: 66% auto; }
.homeBusiness .casetInner::after{background: url("../img/top/imgBusiness-s.jpg") no-repeat 0 0; background-size: cover; z-index: -1;}
/*仕事を知る画像指定*/
.homeWorks{background: url("../img/top/imgWorks.jpg") no-repeat 0 0; background-size: 66% auto; }
.homeWorks .casetInner::after{background: url("../img/top/imgWorks-s.jpg") no-repeat 0 0; background-size: cover; z-index: -1;}

/*オフィスツアー*/
.homeOfficeTour{background: url("../img/top/imgOffice.jpg") no-repeat 0 0; background-size: 100% auto; margin-top: min( 11.33vw , 170px );}
.homeOfficeTour .inrContent{padding-top: min( 26vw , 450px );}
.homeOfficeTourRead{margin-top: 1.5em;}
.homeOfficeTourRead p{width: 58%;}

/*トップ3カラム*/
.top3clum{margin-top: min( 16vw , 240px );}
.top3clum li{width: 30%; position: relative; padding-bottom: 2.5em;}
.top3clum li p{position: relative; margin-top: 0.5em; line-height: 1.3; font-size: min( 1.865vw , 2.8rem ); text-decoration: underline; font-weight: 600; display: inline-block; padding-right: 1.3em;}
.top3clum li p::after{position: absolute; top: 50%; right: 0; transform: translateY(-50%); content: ""; background: url("../img/common/iconLink02.svg") no-repeat 0 0; width: min(1.333vw, 20px); height: min(1.333vw, 20px); }
.top3clum li p.nolinkIcon::after{background: none; }
.top3clum li span{display: block; font-size: min( 1.067vw , 1.6rem );}
.top3clum li::after{position: absolute; bottom: 0; left: 0; content: "→"; color: #DC0032;}



/* ----------------------------------------------------
共通
---------------------------------------------------- */
.contVisual{height: min(36.67vw, 550px); flex-flow: column; justify-content: center; margin-bottom: min(8.667vw, 130px);}
.contVisual .contTitle{font-size: min(4.33vw, 6.5rem); font-weight: 500; letter-spacing: -0.03em; line-height: 1.3; color: white; position: relative; margin: 0 auto; width: 92%; padding-top: min(3.33vw, 50px);}
.contVisual .contTitle span{font-size: min(1.333vw, 2rem); font-weight: normal; letter-spacing: 0; display: block;}
.contVisual .contTitle::before{position: absolute; content: ""; top: min(3.33vw, 50px); left: 0; width: min(3.33vw, 50px); height: 1px; background-color: white;}
.contentRead{text-align: center; font-size: min(1.333vw, 2rem); display: block; line-height: 2.4;}
.contentCathi{text-align: center; font-size: min(2.267vw, 3.4rem); display: block; font-weight: 600; letter-spacing: 0.3em; margin-bottom: 1em; line-height: 1.3;}


/* ----------------------------------------------------
キーワード
---------------------------------------------------- */
#keyword .contVisual{background: url("../img/keyword/visual.jpg") no-repeat 0 0; background-size: cover;}
.keywordBlock01{position: relative; margin-top: min(8.667vw, 130px);}
.keywordBlock01::before{position: absolute; content: ""; top: 50%; left: 40%; transform: translate(-50%,-50%); background-color: #FCE6EB; width: min(56.667vw, 850px); height: min(50vw, 750px); z-index: -1;}
.keywordBlock01 .keywordImg{position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 51%;}
.keywordBlock01 .inrContent{justify-content: flex-end;}
.keywordBlock02{position: relative; margin-top: min(8.667vw, 130px);}
.keywordBlock02::before{position: absolute; content: ""; top: min(7.33vw, 110px); left: 50%; transform: translateX(-50%); background-color: #FCE6EB; width: min(53.3vw, 800px); height: min(29.33vw, 440px); z-index: -1;}
.keywordBlock02 .keywordImg{position: absolute; top: 0; right: 0; width: 51%;}
.contkeywordInner{width: 40%; margin-top: 2em; min-height: min(51.4vw, 770px); padding-top: 5em;}
.keywordBlock02 .contkeywordInner{width: 40%; padding-top: 3.5em; min-height: min(45vw, 770px);}
@media (min-width: 1500px) {
.keywordBlock02 .contkeywordInner{min-height: 45vw;}
/*.keywordBlock01 .keywordImg{max-height: 540px; width: auto;}
.keywordBlock02 .keywordImg{max-height: 715px; width: auto;}*/
}
.contkeywordInner aside{color: #DC0032; display: block;}
.contkeywordInner .keyTitle{width: 100%; flex-wrap: nowrap; align-items: flex-start;}
.contkeywordInner .keyTitle .keyNum{font-size: min(6.667vw, 10rem); letter-spacing: 0; color: #F5B3C2; font-weight: 800; display: inline-flex; width: 2.2em; line-height: 0.8;}
.contkeywordInner .keyTitle .keyTx{font-size: min(3.067vw, 4.6rem); font-weight: 800; line-height: 1.2; display: inline-flex; padding-top: 0.7em; width: 100%;}
.contkeywordInner .keyCopy{font-size: min(1.93vw, 2.9rem); line-height: 1.5; margin: 0.5em 0 0.5em 0; font-weight: 600;}
.contkeywordInner .keyCopy span{color: white; background-color: #DC0032; padding: 0 0.2em; line-height: 1.7;}


.contkeywordInner .keyCopy .bdRed{color: white; background-color: #DC0032; padding: 0 0.2em; line-height: 1.7;}
.contkeywordInner .keyCopy .pdR-pc{padding-right: 0.2em;}
.contkeywordInner .keyCopy .pdL-pc{padding-left: 0.2em;}
.contkeywordInner .keyText{line-height: 1.8;}
.linkPage{border: 1px solid #999; margin-top: 1em; padding: 0.5em; justify-content: space-between; background:rgba(255,255,255,0.8) }
.linkPage dt{width: 20%;}
.linkPage dt span{background-color: #ccc; padding: 0 0.3em; font-weight: 700;}
.linkPage dd{width: 80%; justify-content: flex-start;}
.linkPage dd a{margin-right: 0.5em; text-decoration: underline; position: relative; padding-right: 1.3em;}
.linkPage dd a::after{position: absolute; top: 55%; right: 0; transform: translateY(-50%); content: ""; width: min(1.333vw, 20px); height: min(1.333vw, 20px); background: url("../img/keyword/icon-page.svg") no-repeat 0 0;}


.contkeywordInner h5{font-size: min(1.93vw, 2.9rem); font-weight: 800; line-height: 1.2; display: inline-flex; padding-top: 0.7em; width: 100%;}



/* ----------------------------------------------------
インタビュー
---------------------------------------------------- */
#interview .contVisual{background: url("../img/interview/visual.jpg") no-repeat 0 0; background-size: cover;}
.interviewBlock{margin-top: min(8.667vw, 130px); position: relative;}
.interviewBlock::after{position: absolute; top: 5%; right: 0; content: ""; background-color: #eee; width: 75%; height: min(29vw, 435px); z-index: -1;}
.interviewBlock.hm02::after{right: inherit; left: 0;}
.interviewBlock.hm02{margin-top: min(15.33vw, 230px); position: relative;}
.intTxBox{width: 44%;}
.intTxBox h3{position: relative; padding-left: min(3.667vw, 55px); line-height: 1.3;}
.hm02 .intTxBox h3{padding-left: 0; padding-right: min(3.667vw, 55px); text-align: right;}
.intTxBox h3::before{position: absolute; content: ""; width: 3px; height: 100%; background-color: #EEEEEE; top: 0; left: 0;}
.intTxBox h3::after{position: absolute; content: ""; width: 3px; height: 30%; background-color: #DC0032; top: 0; left: 0;}
.hm02 .intTxBox h3::before{left: inherit; right: 0;}
.hm02 .intTxBox h3::after{left: inherit; right: 0;}
.intTxBox h3 span{color: #DC0032;}
.intTxBox h3 p{font-size: min(3.667vw, 5.4rem); font-weight: 300;}
.intTxBox h4{font-size: min(2.133vw, 3.2rem); font-weight: 700; line-height: 1.4; margin: min(5.33vw, 80px) 0 min(1.333vw, 20px) 0;}
.humanDate{width: 40%; padding: 0 0 min(4vw, 60px) 5%; align-items: flex-end; justify-content: flex-end;}
.hm02 .humanDate{padding: 0 5% min(4vw, 60px) 0; align-items: flex-end; justify-content: flex-start;}
.humanDateInner{background-color: white; border-radius: 20px; box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4); padding: 1em 1.5em;}
.humanDateInner dl{margin: 0.65em 0; font-size: min(1.067vw, 1.6rem); justify-content: flex-start; font-weight: 500; align-items: flex-start; line-height: 1.4;}
.humanDateInner dl dt{background-color: #ECEFF7; text-align: center; margin-right: 1em; padding: 0 0.5em;}
.hm02 .humanDateInner dl dt{background-color: #FCE6EB;}
.humanIllust{width: 14%;}
.intContBlock{margin-top: min(11.33vw, 170px);}
.int2clum{margin-bottom: min(7.33vw, 110px);}
.int2clum p{width: 50%;}
.int2clum .intContTx{width: 44%;}
.intContBlock h5{font-size: min(1.867vw, 2.8rem); font-weight: 800; padding-bottom: 0.3em; color: #405CA9;}
.intContBlock.hm02 h5{color: #DC0032;}
.intContTx h5:nth-of-type(2){margin-top: min(3.667vw, 55px);}
/*.intContBlock:last-of-type h5{color: #DC0032!important;}
.int1clum{padding-bottom: min(7.33vw, 110px);}
.intContBlock:last-of-type .int1clum{padding-bottom: 0 !important;}*/


/* ----------------------------------------------------
オフィスツアー
---------------------------------------------------- */
#officetour .contVisual{background: url("../img/office-tour/visual.jpg") no-repeat 0 0; background-size: cover;}
.officePoint{margin-top: min(8.667vw, 130px); position: relative; background-color: white; border-radius: 20px; box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4); padding: min(4vw, 60px);}
.officePoint h3{font-size: min(3.6vw, 5.4rem); color: #DC0032; font-weight: 300;}
.officePoint ul li{width: 47%; position: relative; background-color: white; border: 3px solid #DC0032; padding: 3vw 2vw 1.5vw 2vw; margin: min(3.33vw, 50px) 0 min(1.33vw, 20px) 0; line-height: 1.7;}
.officePoint ul li::after{position: absolute; bottom: min(-1.33vw, -20px); right: min(-1.33vw, -20px); content: ""; background-color: #FCE6EB; width: 100%; height: 100%; z-index: -1;}
.officePoint ul li .pointNum{position: absolute; top: min(-1.33vw, -20px); left: -3px; background-color: #DC0032; color: white; font-size: min(1.067vw, 1.6rem); border: 3px solid #DC0032; line-height: 1; text-align: center;}
.officePoint ul li .pointNum span{font-size: min(2.226vw, 3.4rem); font-weight: 800; display: block;}
.officePoint h4{font-size: min(1.533vw, 2.3rem); color: #DC0032; font-weight: 600;}
/*.officeBlock{margin-top: min(8.667vw, 130px); position: relative; padding-top: min(8.667vw, 130px); margin-bottom: min(8.667vw, 130px);}
.officeBlock::after{position: absolute; top: 5%; right: 0; content: ""; background-color: #eee; width: 75%; height: min(33.33vw, 500px); z-index: -1;}
.officeBlock.hm02::after{right: inherit; left: 0;}*/

/*.hm02 .officeBlock h3{padding-left: 0; padding-right: min(3.667vw, 55px); text-align: right;}*
.hm02 .officeBlock h3::before{left: inherit; right: 0;}
.hm02 .officeBlock h3::after{left: inherit; right: 0;}*/
/*.officeBlock ul{margin-top: min(3.667vw, 55px); justify-content: flex-start; gap:2%;}
.officeBlock ul li{width: 32%; margin-bottom: min(2.667vw, 40px);}
.offClum01,.offClum02,.offClum03{margin-top: min(5.33vw, 80px);}*/
.officeBlock h3{position: relative; padding-left: min(3vw, 45px); line-height: 1.3;}
.officeBlock h3::before{position: absolute; content: ""; width: 3px; height: 100%; background-color: #EEEEEE; top: 0; left: 0;}
.officeBlock h3::after{position: absolute; content: ""; width: 3px; height: 30%; background-color: #DC0032; top: 0; left: 0;}
.officeBlock h3 span{color: #DC0032;}
.officeBlock h3 p{font-size: min(3vw, 4.5rem); font-weight: 300;}
.officeBlock h3 p small{font-size: min(1.467vw, 2.2rem); display: block;}
.officeBlock h4{font-size: min(1.867vw, 2.8rem); font-weight: 700; line-height: 1.4; margin: 1em 0 0.4em 0; padding-left: min(3vw, 45px)}
.intRead{margin-bottom: min(2.667vw, 40px); padding-left: min(3vw, 45px);}

.offBlock01 {position: relative; width: 100%; margin: min(12.667vw, 190px) 0; /*padding-bottom: 37.52%;*/}
.offBlock01 .offBg {position: absolute; top: min(10vw, 150px); left: 0; width: 53%; height: min(45.33vw, 680px); background-color: #eee; z-index: -2;}
.offBlock01 .offImg {position: absolute; top: 0; right: 0; width: 56%; z-index: -1; height: auto; max-height: 100%;}
.offBlock01 .offClum {position: relative; width: 33%; margin-top: min(3.33vw, 50px); height: min(38vw, 570px);}
.offBlock01 .offGallery {position: relative; width: 100%; height: min(30.667vw, 460px); margin-top: min(3.33vw, 50px); padding: 0;}
@media (max-width: 1800px) {
.offBlock01 .offClum {height: min(30vw, 570px);}
}
@media (max-width: 1500px) {
.offBlock01 .offClum {height: min(32vw, 570px); width: 37%;}
}
@media (max-width: 1300px) {
.offBlock01 .offClum {height: min(35vw, 570px); width: 37%;}
}
@media (max-width: 1200px) {
.offBlock01 .offClum {height: min(35vw, 570px); width: 33%;}
}



.offBlock01 .offGallery li {position: absolute;}
.offBlock01 .offGallery li.p01 {top: min(17.33vw, 260px); left: 0; width: 23%; z-index: 2;}
.offBlock01 .offGallery li.p02 {top: min(1.533vw, 23px); left: min(5.8vw, 87px); width: 39%; z-index: 1;}
.offBlock01 .offGallery li.p03 {top: min(10.2vw, 153px); left: min(30.667vw, 460px); width: 32%; z-index: 2;}
.offBlock01 .offGallery li.p04 {top: 0; right: 0; width: 35%; z-index: 1;}

.offBlock02 {position: relative; width: 100%; padding-bottom: 34.78%;}
.offBlock02 .offBg {position: absolute; top: min(3.33vw, 50px); right: 0; width: 57%; height: min(25.33vw, 380px); background-color: #eee; z-index: -2;}
.offBlock02 .offImg {position: absolute; top: min(6.667vw, 100px); bottom:0; left: 0; width: 47%; z-index: -1; height: auto; max-height: 100%;}
.offBlock02 .offClum {position: relative; width: 45%;}
.offBlock02 .flex{justify-content: flex-end;}
.offClum ul{position: relative; height: auto;}
.offClum li{position: absolute;}
.offBlock02 .offClum li.p01{top: min(3vw, 45px); left: 0; width: 55%; z-index: 1;}
.offBlock02 .offClum li.p02{top: 0; right: 0; width: 50%; z-index: 2;}

.offBlock03 {position: relative; width: 100%; padding-bottom: 18.78%;}
.offBlock03 .offBg {position: absolute; top: min(10vw, 150px); left: 0; width: 57%; height: min(25.33vw, 380px); background-color: #eee; z-index: -2;}
.offBlock03 .offImg {position: absolute; top: 0; right: 0; width: 47%; z-index: -1; height: auto; max-height: 100%;}
.offBlock03 .offClum {position: relative; width: 45%; margin-top: min(3.33vw, 50px);}
.offBlock03 .offClum li.p01{top: min(3vw, 45px); left: 0; width: 55%; z-index: 1;}
.offBlock03 .offClum li.p02{top: 0; right: 0; width: 50%; z-index: 2;}


/*OFFICEマップ*/
.officeMap {
    margin: min(5.33vw, 80px) auto;
    position: relative;
}

/* ボタン（点滅アイコン） */
.blinkingPoint {
    position: absolute;
    z-index: 2; /* ポップアップより下 */
    display: inline-block; /* クリック範囲を適切に設定 */
    cursor: pointer; /* 常にポインタを表示 */
}

.blinkingPoint img {
    width: min(12.533vw, 47px);
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

/* 点滅アニメーション */
.blinking {
    animation: blink 1s ease-in-out infinite alternate;
}

@keyframes blink {
    0% { opacity: 0.3; }
    100% { opacity: 1; }
}

/* ボタンの位置 */
.blink01 { top: min(23.33vw, 350px); left: min(19.467vw, 292px); }
.blink02 { top: min(23.33vw, 350px); left: min(30vw, 450px); }
.blink03 { top: min(51vw, 765px); left: min(36vw, 540px); }
@media (max-width: 1500px) {
.blink01 { top: 23.3vw; left: 19vw; }
.blink02 { top: 23.3vw; left: 29.3vw; }
.blink03 { top: 50.5vw; left: 35.5vw; }	
}
@media (max-width: 1200px) {
.blinkingPoint img {width: 3.5vw;}
}



/* ポップアップ */
.offPop {
    width: min(15.667vw, 235px);
    position: absolute;
    opacity: 0; /* 初期は透明 */
    transition: opacity 0.3s ease-in-out;
    pointer-events: none; /* 初期はクリックできない */
    z-index: 3; /* ボタンより前面 */
}

/* 各ポップアップの位置 */
.popup01 { top: min(23.33vw, 350px); left: min(13.33vw, 200px); transform: translateY(-100%); }
.popup02 { top: min(23.33vw, 350px); left: min(24vw, 360px); transform: translateY(-100%); }
.popup03 { top: min(51vw, 765px); left: min(30vw, 450px); transform: translateY(-100%); }

/* マウスオーバー時のボタン */
.blinkingPoint:hover img {
    transform: scale(1.2);
    opacity: 1 !important;
}

/* ポップアップの表示 (data-popup 属性を利用) */
.blinkingPoint:hover ~ .offPop[data-popup="popup01"],
.blinkingPoint:hover ~ .offPop[data-popup="popup02"],
.blinkingPoint:hover ~ .offPop[data-popup="popup03"] {
    opacity: 1;
    pointer-events: auto;
}










/* ----------------------------------------------------
いなべ市について
---------------------------------------------------- */
#inabe .contVisual{background: url("../img/inabe/visual.jpg") no-repeat 0 0; background-size: cover;}

.aboutInabeMap{margin-top: min(8.667vw, 130px); position: relative;}
.mapUnder{margin-top: 1.5em;}
.mapUnder p{font-weight: 600;}
.mapUnder dl{justify-content: flex-start;}
.mapUnder dt{position: relative; width: 7em;}
.mapUnder dt::after{position: absolute; top: 0; right: 0; content: "：";}
.mapUnder dd{}


.aboutInabe{margin-top: min(15.33vw, 230px); position: relative;}
.aboutInabe::after{position: absolute; top: -13%; left: 50%; transform: translateX(-50%); content: ""; background: url("../img/inabe/inabeMap.svg") no-repeat center top; width: min(45.533vw, 683px); height: min(58vw, 870px); z-index: -1;}
.aboutInabe ul{margin-top: min(5.33vw, 80px);}
.aboutInabe ul li{width: 30%; margin-top: 4em;}
.aboutInabe ul li:nth-child(2){margin-top: 0;}
.circle{width: 100%; aspect-ratio: 1 / 1; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; text-align: center;}
.circle p{margin: 0; font-weight: bold; width: min(5vw, 75px);}
.abInaText {margin-top: 1.3em; padding-bottom: 1.1em;}
.abInaText h4 {font-size: min(1.53vw, 2.3rem); margin-bottom: 0.5em; font-weight: 600;}
.ccle01{border: solid 1px #FF9967;}
.ccle02{border: solid 1px #DC0032;}
.ccle03{border: solid 1px #DC466C;}
.ccle01 .abInaText h4 {color: #FF9967;}
.ccle02 .abInaText h4 {color: #DC0032;}
.ccle03 .abInaText h4 {color: #DC466C;}
.inabeSpot{background: url("../img/inabe/spotBack.jpg") 0 0 no-repeat; background-size: 100% auto; padding-top: min( 23vw , 345px ); margin-top: min(8.667vw, 130px);}
.inabeSpotInner{background-color: white; margin: 0 auto; width: 95%; padding-top: min( 9.33vw , 140px );}
.spotClum{margin-top: min( 4.667vw , 70px );}
.spotClum div{width: 30%;}
.spotClum .spotTitle{font-size: min( 1.865vw , 2.8rem ); font-weight: 600; margin: 0.7em 0 0.2em 0; letter-spacing: -0.01em;}
.inabeGraph{margin-top: min(8.667vw, 130px);}
.inabeGraph p{width: 51%; margin: min( 4.667vw , 70px ) auto 0 auto;}
.inabeGraph span{width: 30%; margin: 1em auto min( 4.667vw , 70px ) auto; text-align-last: center; display: block; padding: 0.5em 1.5em; border: 1px solid #ccc;}
.inabeCharm01 h3.contentCathi{padding-bottom: 2em;}
.inabeCharm01,.inabeCharm02{margin-top: min(8.667vw, 130px); position: relative;}
.inabeCharm01::before,.inabeCharm02::before
{position: absolute; content: ""; top: 50%; transform: translate(-50%,-50%); background-color: #FCE6EB; width: min(56.667vw, 850px); height: min(46.667vw, 700px); z-index: -1;}
.inabeCharm01::before{left: 60%;}
.inabeCharm02::before{left: 40%;}
.inabeCharm01 .charmImg,.inabeCharm02 .charmImg{position: absolute; top: 50%; transform: translateY(-50%); width: 44%;}
@media (min-width: 1500px) {
.inabeCharm01 .charmImg,.inabeCharm02 .charmImg{max-height: 540px; width: auto;}
}
.inabeCharm01 .charmImg{right: 0;}
.inabeCharm02 .charmImg{left: 0;}
.inabeCharm02 .inrContent{justify-content: flex-end;}
.charmInner{width: 50%; min-height: min(46.667vw, 700px);}
.charmInner aside{color: #DC0032; display: block;}
.charmInner h4{font-size: min(2.4vw, 3.6rem); font-weight: 600; margin: 0 0 1em 0;}
.charmInner ul li{list-style: disc; margin-left: 1em; line-height: 1.3; margin-bottom: 1.2em;}







/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#footer {position: relative; z-index: 2; margin-top: min( 16vw , 240px ); background: url("../img/common/footer.jpg") no-repeat center center; background-size: cover; text-align: center; padding: min(5.33vw, 80px) 0 min(1.33vw, 20px) 0;}

#footer .inrContent{flex-flow: column; align-items: center;}
.ftCatch{width: min( 38vw , 570px );}
.ftEntry{width: 50%; margin: min( 4.667vw , 70px ) 0;}
.ftEntry a{background-color: #DC0032; border-radius: 35px; color: white; padding: 0.5em 1em; margin-left: 0.5em; font-size: min( 1.733vw , 2.6rem ); display: block;}
.ftEntry a span{position: relative; padding-left: 1.5em;}
.ftEntry a span::before{position: absolute; top: 50%; left: 0; transform: translateY(-50%); content: ""; background: url("../img/common/iconEntry.svg") no-repeat 0 0; width: min(1.333vw, 20px); height: min(1.333vw, 20px);}	
#footer .linkText,#footer .linkText a{color: white;}
.ftCopyright{color: white; font-size: min( 1.067vw , 1.6rem ); margin-top: min( 2.33vw , 35px );}

#page-top a{width:min( 4.667vw , 70px ); transition:all 0.3s; z-index: 99;}
/*リンクを右下に固定*/
#page-top {position: fixed; right: 2%; z-index: 99; opacity: 0; transform: translateY(100px); width:min( 4.667vw , 70px );}


@media (max-width: 1500px) {
.hedBtWrap ul li{font-size: min( 1.067vw , 1.6rem );}
	

}

	
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 1200px) and (min-width: 768px) {

ul{margin-bottom:0!important;}

}
@media (max-width: 1024px) and (min-width: 768px) {
@media (orientation: landscape) {

}
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (max-width: 767px) {
.inrContent {width: 90%;}
.br_spOnly{display:block;}
.br_pcOnly{display:none;}
.order1{order:1;}
.order2{order:2;}

	
/*ハンバーガー*/
#btnGlobal {position: fixed; right: 3.5%; top: min(3vw,20px); z-index: 120;display: flex; display: -webkit-flex; flex-wrap: wrap; flex-direction: column; justify-content: center; border: 1px solid #333; border-radius: 2vw; width: min(12vw,90px); aspect-ratio: 1/1; background: #fff;}
#btnGlobal .btnWrapGlobal {	position: relative;	width: min(4vw,28px);	height: min(3.2vw,27px); margin: 0 auto min(1vw,10px);}
#btnGlobal .btnLine { height: 1px; background: #333; 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 .btnGlobal__txt {font-size:min(3vw,24px); line-height: 1.2; width: 100%; text-align: center;}

#btnGlobal.active {border-color: #fff; background: #DC0032; }
#btnGlobal.active .btnGlobal__txt {color: #fff;}
#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: #DC0032; width: 100%; height: 100%; position: fixed; z-index: 100!important;  left: 0; top: 0; display: none; overflow: auto; padding: 20vw 8%;}
#grandMenu a {color: #fff;}
#grandMenu #navGlobal {position: relative; right: inherit; display: block; height: 100%;}
#grandMenu #navGlobal > li {border-bottom: 1px dashed #fff; line-height: 1; margin: 0 auto;}
#grandMenu #navGlobal > li a {display: block; position: relative; margin-right:0; font-size: min(4vw,20px); font-weight: 600; padding: 4.5vw 0 4.5vw 1.5em;}
#grandMenu #navGlobal > li a::before {content: ""; width: 1em; height: 2px; background: #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#header .headInner ul li:last-child a{margin-right:0;}

#grandMenu #navGlobal li a::after {content:""; position: absolute;  top: 50%; border-top:2px solid #fff; border-right: 2px solid #fff; transform:  rotate(45deg) translateX(-50%); transition: all 0.3s  ease; right: 2vw; width: 2vw; height: 2vw;}
#grandMenu #navGlobal li a span::after {content:""; position: absolute; top: inherit; transition: all 0.3s  ease; right: 2vw; background: url("../img/common/iconLink01.svg") no-repeat 0 0; width: 5vw; height: 5vw; z-index: 2;}	
	

	
	
	
/* ----------------------------------------------------
header (common)
---------------------------------------------------- */
#header  {position: fixed; left: 0; top: 0; z-index: 100; width: 100%; background: rgba(255, 255, 255, 1);height: min(18vw,130px); display: flex; align-items: center;}
#header.fixed {position: fixed; background: rgba(255, 255, 255, 1);}
.headerInner{width:93%; margin: 3vw auto; justify-content: flex-start; }
#hd-logo{width: 80%; margin: 0;}
#hd-logo p{width: 100%; margin: 0;}
.headEntry{width:100%; position: fixed; background-color: white; bottom: 0;}
.headEntry ul{justify-content: center;}
.headEntry ul li{width: 50%;}	
.headEntry ul .linkRec-top a{background-color: #7B8392; color: white; padding: 0.6em 1em; width: 100%; display: block; text-align: center;}
.headEntry ul .linkRec-top a span{position: relative; padding-left: 1.5em; font-size: 4.5vw;}
.headEntry ul .linkRec-top a span::before{position: absolute; top: 50%; left: 0; transform: translateY(-50%); content: ""; background: url("../img/common/iconLink01.svg") no-repeat 0 0; width: 5vw; height: 5vw;}	
.headEntry ul .entryBt a{background-color: #DC0032; color: white; padding: 0.6em 1em; width: 100%; display: block; text-align: center;}
.headEntry ul .entryBt a span{position: relative; padding-left: 1.5em; font-size: 4.5vw;}
.headEntry ul .entryBt a span::before{position: absolute; top: 50%; left: 0; transform: translateY(-50%); content: ""; background: url("../img/common/iconEntry.svg") no-repeat 0 0; width: 5vw; height: 5vw;}
	

/* ----------------------------------------------------
Top
---------------------------------------------------- */
.homCopyVisual{bottom: 10%; font-size: 14vw;
 }

/*キーワード*/
.homeKeyword{margin-top: 15vw; background-color: #DC0032; background-image: none; justify-content: center;}
.homeKeyword .keywordInner{width: 85%; padding: 8vw 0;}
/*.keywordInner h3{width: 100%; font-size: 4vw;}
.keywordInner h4{width: 100%; margin: 6vw auto 0 auto; font-size: 5.2vw;}*/
.keywordInner p{width: 100%; margin: 1.5em auto 6vw auto;}
	
.keywordInner h3 {width: 100%;}
.keywordInner h3 .emSpan {font-size: 6.4vw;}
.keywordInner .jpSpan {color: white; background-color: #DC0032;}
.keywordInner .jpline {background-color: white;}
	
	

/*-------トップのコンテンツリンクボタン個別指定*/
.keywordInner .btAria{width: 70%;}
.homeInterview .btAria,.homeBusiness .btAria,.homeWorks .btAria,.homeOfficeTour .btAria{width: 70%; margin: 0 auto;}
/*トップのコンテンツリンクボタン*/
.btLink01 span::before {width: 5vw; height: 5vw;}
.btLink02 span::before {width: 5vw; height: 5vw;}
.btLink02:hover span::before {width: 5vw; height: 5vw;}
	
/*トップページのカセット*/
.topCaset{margin-top: 20vw;}
.topCaset .inrContent{justify-content: flex-start;}
.topCaset .casetInner{width: 100%; padding: 49vw 0 0 0;}
.topCaset .casetInner::after{bottom: 4vw; width: 68%; height: 30vw;}
.topCaset.homeBusiness .casetInner::after{right: 0; left: inherit;}
.casetInner .casetTextbox {width: 100%; margin: 0 0 0 0;}
.topCaset.homeBusiness .casetInner .casetTextbox {margin: 0 0 0 0;}
.homeOfficeTour .casetTextbox {display: block; position: relative;}
.casetTextbox h3 .emSpan {font-size: 6.7vw;}
.jpSpanWrap {position: relative; display: block; width: 60%;}
.jpSpan {display: inline-block; font-size: 3.7vw; background-color: white; z-index: 2;}
.jpline {left: 0; width: 100%!important;}
.casetInner p{margin: 1.5em 0 5vw 0;}

/*インタビュー画像指定*/
.homeInterview{background-size: 76% auto;}
/*事業紹介画像指定*/
.homeBusiness{background-size: 76% auto;}
/*仕事を知る画像指定*/
.homeWorks{background: url("../img/top/imgWorks.jpg") no-repeat 0 0; background-size: 76% auto; }
	
/*オフィスツアー*/
.homeOfficeTour{margin-top: 20vw;}
.homeOfficeTour .inrContent{padding-top: 35vw;}
.homeOfficeTourRead p{width: 100%; margin-bottom: 5vw;}

/*トップ3カラム*/
.top3clum{margin-top: 20vw;}
.top3clum li{width: 47%; padding-bottom: 1.6em; margin-bottom: 5.3vw;}
.top3clum li p{font-size: 3.8vw;}
.top3clum li p::after{width: 3vw; height: 3vw; }
.top3clum li span{font-size: 2.6vw; line-height: 1.2; letter-spacing: -0.06em;}
	

/* ----------------------------------------------------
共通
---------------------------------------------------- */
.contVisual{height: 58vw; margin-bottom: 10vw;}
.contVisual .contTitle{font-size: 6.8vw; padding-top: 13vw;}
.contVisual .contTitle span{font-size: 3.4vw;}
.contVisual .contTitle::before{top: 13vw; width: 5vw; }
.contentRead{font-size: 3.4vw; line-height: 1.8;}
.contentCathi{font-size: 4.2vw;}	
	
	

/* ----------------------------------------------------
キーワード
---------------------------------------------------- */
#keyword .contVisual{background: url("../img/keyword/visual.jpg") no-repeat center 0; background-size: cover;}
.keywordBlock01{position: relative; height: inherit; margin-top: 8vw;}
.keywordBlock01::before{top: 48%; left: inherit; right: 0; transform: none; width: 60vw; height: 50vw;}
.keywordBlock01 .keywordImg{position: relative; top: inherit; left: 0; transform: none; width: 80%;}
.keywordBlock02{position: relative; margin-top: 8vw;}
.keywordBlock02::before{top: 48%; left: inherit; right: 0; transform: none; width: 53vw; height: 40vw;}
.keywordBlock02 .keywordImg{position: relative; top: inherit; right: inherit; width: 80%;}
.contkeywordInner{width: 100%; margin-top: 2em;}
.keywordBlock02 .contkeywordInner{width: 100%; margin-top: 2em; min-height: inherit; padding-top: 0;}
.contkeywordInner .keyTitle .keyNum{font-size: 14vw; width: 2.2em;}
.contkeywordInner .keyTitle .keyTx{font-size: 6.2vw; padding-top: 0.7em;}
.contkeywordInner h5{font-size: 4.3vw;}
.contkeywordInner .keyCopy{font-size: 4.3vw;}
.contkeywordInner .keyCopy .bdRed{margin-right: 0.2em;}
.contkeywordInner .keyCopy .pdR-pc{padding-right: 0;}
.contkeywordInner .keyCopy .pdL-pc{padding-left: 0;}
.contkeywordInner .keyCopy .pdR-sp{padding-right: 0.2em;}
.contkeywordInner .keyCopy .pdL-sp{padding-left: 0.2em;}
.inabeCharm01 h3.contentCathi{padding-bottom: 1em!important;}
.contkeywordInner .keyText{margin-bottom: 2em;}
.linkPage{margin-bottom: 1.5em;}	
.linkPage dd a::after{width: 3vw; height: 3vw;}
	
/* ----------------------------------------------------
インタビュー
---------------------------------------------------- */
.interviewBlock{margin-top: 12vw;}
.interviewBlock::after{height: 55vw;}
.interviewBlock.hm02{margin-top: 20.66vw;}
.intTxBox{width: 100%;}
.intTxBox h3{padding-left: 7.33vw; }
.hm02 .intTxBox h3{padding-right: 7.33vw;}
.intTxBox h3 p{font-size: 6vw;}
.intTxBox h4{font-size: 4vw; margin: 6vw 0 2.66vw 0;}
.humanDate{width: 72%; padding: 0 0 5vw 0; align-items: flex-end; justify-content: flex-start;}
.hm02 .humanDate{padding: 0 0 5vw 0; align-items: flex-end; justify-content: flex-start;}
.humanDateInner{padding: 1em 1em;}
.humanDateInner dl{font-size: 3vw;}
.humanDateInner dl dt{margin-right: 0.5em; padding: 0 0.4em;}
.humanIllust{width: 22%;}
.intContBlock{margin-top: 10vw;}
.int2clum{margin-bottom: 5vw;}
.int2clum p{width: 100%; margin-bottom: 5vw;}
.int2clum .intContTx{width: 100%;}
.intContBlock h5{font-size: 3.8vw;}
.intContTx h5:nth-of-type(2){margin-top: min(3.667vw, 55px);}	
	
	
/* ----------------------------------------------------
オフィスツアー
---------------------------------------------------- */
.officePoint{margin-top: 8vw; position: relative; padding: 6vw;}
.officePoint h3{font-size: 6.2vw;}
.officePoint ul li{width: 100%; position: relative; margin: 7vw 0 2vw 0; line-height: 1.7;}
.officePoint ul li::after{bottom: -3vw; right: -3vw;}
.officePoint ul li .pointNum{top: -3vw; left: -3px; font-size: 2.8vw;}
.officePoint ul li .pointNum span{font-size:4.4vw;}
.officePoint h4{font-size: 3.6vw; margin-top: 1em;}
/*.officeBlock{padding-top: 12vw; margin-bottom: 10vw;}*/
.officeBlock::after{height: 55vw;}
.officeBlock.hm02::after{right: inherit; left: 0;}
.officeBlock h3{padding-left: 7.33vw;}
.hm02 .officeBlock h3{padding-left: 0; padding-right: min(3.667vw, 55px); text-align: right;}
.officeBlock h3 p{font-size: 6vw;}
.officeBlock h3 p small{font-size: 3.2vw; display: block;}
.officeBlock h4{font-size: 4vw; margin-bottom: 2.66vw;}
.offClum01,.offClum02,.offClum03{margin-top: 6vw;}
/*.officeBlock ul{margin-top: 4vw}
.officeBlock ul li{width: 32%; margin-bottom: 3vw;}*/	
	

/*.offClum01 .offLeft,.offClum02 .offRight,.offClum03 .offLeft{width: 100%;}
.offClum01 .offRight,.offClum02 .offLeft,.offClum03 .offRight{width: 100%;}
.offClum01 .intRead,.offClum02 .intRead,.offClum03 .intRead{margin-bottom: 6vw;}
.offClum01 .offLeft li,.offClum02 .offRight li,.offClum03 .offLeft li{width: 100%;}
.offClum01 .offLeft li:first-child{width: 100%;}
.offClum01 li,.offClum02 li,.offClum03 li{margin-bottom: min(2.667vw, 40px);}*/
	
.offBlock01 {margin-top: 12vw; margin-bottom: 0;}
.offBlock01 .offBg {top: 20vw; left: 0; width: 70%; height: 50vw;}
.offBlock01 .offImg {display: none;}
.offBlock01 .offClum {position: relative; width: 100%; margin-top: 5vw; height: inherit}
.offBlock01 .offGallery {position: relative; width: 100%; height: inherit; margin-top: min(3.33vw, 50px); padding: 0;}
.offBlock01 .offGallery li {position: relative; margin-bottom: 3vw;}
.offBlock01 .offGallery li.p01,
.offBlock01 .offGallery li.p02,
.offBlock01 .offGallery li.p03{top: inherit; left: inherit; width: 100%;}
.offBlock01 .offGallery li.p04 {top: inherit; right: inherit; width: 100%;}

.offBlock02 {margin-top: 12vw; padding-bottom: 0;}
.offBlock02 .offBg {top: 20vw; right: inherit; left: 0; width: 70%; height: 50vw;}
.offBlock02 .offImg {display: none;}
.offBlock02 .offClum {position: relative; width: 100%; margin-top: 5vw;}
.offBlock02 .flex{justify-content: flex-end;}
.offClum ul{position: relative; height: auto;}
.offClum li{position: relative; margin-bottom: 3vw;}
.offBlock02 .offClum li.p01{top: inherit; left: inherit; width: 100%;}
.offBlock02 .offClum li.p02{top: inherit; right: inherit; width: 100%;}

.offBlock03 {margin-top: 12vw; padding-bottom: 0;}
.offBlock03 .offBg {top: 20vw; left: inherit; width: 70%; height: 50vw;}
.offBlock03 .offImg {display: none;}
.offBlock03 .offClum {position: relative; width: 100%; margin-top: 5vw;}
.offBlock03 .offClum li.p01{top: inherit; left: inherit; width: 100%;}
.offBlock03 .offClum li.p02{top: inherit; right: inherit; width: 100%;}	
	
	
/* ボタンの位置 */
.blink01 { top: 23vw; left: 23.5vw; }
.blink02 { top: 23vw; left: 35vw; }
.blink03 { top: 53vw; left: 43.5vw; }	

.offPop {display: none !important;}
	
	
	
/* ----------------------------------------------------
いなべ市について
---------------------------------------------------- */
.aboutInabe{margin-top: 18vw;}
.aboutInabe::after{width: 91.067vw; height: 116vw; top: 0;}
.aboutInabe ul{margin-top: 8vw;}
.aboutInabe ul li{width: 100%; margin-top: 0;}
.aboutInabe ul li:nth-child(2){margin-top: 0;}
.circle{border-radius: 0; flex-direction: row; align-items: flex-start; justify-content: center; text-align: left; aspect-ratio:auto; margin-bottom: 5vw;}
.circle p{margin: 0 5% 0 0; width: 20%;}
.abInaText {margin-top: 0; padding-bottom: 0; width: 80%;}
.abInaText h4 {font-size: 3.7vw; margin-bottom: 0.1em; font-weight: 600;}
.ccle01{border: none;}
.ccle02{border: none;}
.ccle03{border: none;}
.inabeSpot{padding-top: 25vw; margin-top: 12vw;}
.inabeSpotInner{width: 95%; padding-top: 10vw;}
.spotClum{margin-top: 6vw;}
.spotClum div{width: 47.5%; margin-bottom: 3vw;}
.spotClum .spotTitle{font-size: 3.4vw; letter-spacing: -0.015em;}
.inabeGraph{margin-top: 12vw;}
.inabeGraph p{width: 100%; margin: 6vw auto 0 auto;}
.inabeCharm01,.inabeCharm02{margin-top: 12vw;}
.inabeCharm01::before,.inabeCharm02::before
{top: inherit; bottom: 10%; transform: translate(-50%,0); width: 57vw; height: 47vw;}
.inabeCharm01::before{left: 40%;}
.inabeCharm02::before{left: 60%;}
.inabeCharm01 .charmImg,.inabeCharm02 .charmImg{position: relative; top: inherit; bottom: 0; transform: none; width: 64%;}
.inabeCharm01 .charmImg{right: 0; margin-left:36%;}
.inabeCharm02 .charmImg{left: 0;}
.charmInner{width: 100%; min-height: inherit;}
.charmInner h4{font-size: 4vw;}
.charmInner ul{padding-bottom: 5vw;}
.charmInner ul li{list-style: disc; margin-left: 1em; line-height: 1.3; margin-bottom: 1.2em;}
	
	
	
/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
#footer {margin-top: 30vw; padding: 8vw 0 16vw 0;}
#home #footer {margin-top: 15vw; padding: 8vw 0 16vw 0;}
.ftCatch{width: 90%; margin-bottom: 5vw;}
.ftEntry{display: none;}
.ftCopyright{font-size: 2.8vw; line-height: 1.2; margin: 5vw 0;}

#page-top a{width:10vw; z-index: 99;}
/*リンクを右下に固定*/
#page-top {width:10vw; z-index: 99;}

.ftEntBt{justify-content: center; margin: 5vw 0 2em 0;}
	
	#footer h3.ctTitle span{font-size:7vw;}

}
