/* --------------------------------------------------
Stylesheet: top.css
Description: 下層ページスタイル
-------------------------------------------------- */

/* hero 共通 */

.page-hero{
padding-top:82px;
padding-bottom:0;
}

.page-hero h1{
  position: absolute;
  top: 68%;
  left: 50%;
  transform: translate(-50%, -50%);
  color:#FFF;
  font-weight:700;
width:100%;
text-align:center;
}

/* ###################
 * land builin
 * ################### */
 
.landbuilin-sec01-wapper{
padding:25px 40px 40px;
}

.landbuilin-sec01-wapper p{
font-size:1.2rem;
line-height:2.0;
}

.landbuilin-sec01-2-wapper p,.landbuilin-sec01-3-wapper p{
font-size:1.1rem;
}

.landbuilin-sec01-3-wapper{
position: relative;
}

.landbuilin-sec01-3-wapper p{
position:absolute;
font-weight:700;
top: 15px;
left: 50px;
}

.landbuilin-sec01-4-wapper h3{
color:#0065B3;
text-align:center;
}

.landbuilin-sec02-1-wapper .landbuilin-sec02-1-inner-l{
margin-left:80px;
}

.landbuilin-sec02-1-wapper .landbuilin-sec02-1-inner-r{
margin-left:-140px;
}

.landbuilin-sec03-1-inner{
padding:40px;
background:#FFF;
}

.landbuilin-sec03-1-inner h4{
font-size:1.1rem;
}

.landbuilin-sec03-1-inner p{
font-size:0.9rem;
}

.landbuilin-sec03-1-wapper a{
transition: opacity 0.5s ease;
}

.landbuilin-sec03-1-wapper a:hover{
opacity:0.5;
}

.builin .landbuilin-sec01-3-wapper p{
position:static;
}

.builin section.landbuilin-sec02{
padding-bottom:0;
}


/* ###################
 * works
 * ################### */

.works-sec01-wapper{
padding:25px 40px 40px;
}

.works-sec01-wapper h2{
font-weight: 700;
color: #0065B3
}

.works-sec01-wapper h3{
font-size:1rem;
font-weight: 700;
color: #0065B3
}

.works-sec01-wapper h2 span{
color:#FFF;
display: inline-block;
width: 300px;
text-align: center;
padding: 4px 0;
border-radius: 100px;
font-size: 1.5rem;
margin-right:25px;
}

.works-sec01-wapper table{
width:100%;
}

.works-sec01-wapper table tr{
margin-bottom:3px;
}

.works-sec01-wapper table th{
width:30%;
font-weight:normal;
padding:3px 10px;
}

.works-sec01-wapper table th span{
padding:3px 10px;
background:#D4EAEE;
text-align:center;
display: block;
}

.works-sec01-wapper table td{
width:70%;
padding:6px 10px;
}

/* ページ切り替え */

.works-page {
  display: none;
}
.works-page.active {
  display: block;
  position: relative;
}

.works-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
}

.works-nav button {
  background: none;
  border: none;
  font-size: 17px;
  cursor: pointer;
  color: #0065B3;
}

.dots {
  display: flex;
  gap: 10px;
}

.dot {
  width: 10px;
  height: 10px;
  background: #ccc;
  border-radius: 50%;
  display: inline-block;
}

.dot.active {
  background: #0065B3;
}



/* ###################
 * voice
 * ################### */

.voice-sec01-wapper{
padding: 10px 40px 25px;
}

.voice-hospital .voice-sec01-wapper,
.voice-land .voice-sec01-wapper,
.voice-helth .voice-sec01-wapper{
padding: 40px;
}

.voice-sec01-wapper h3{
font-size:1.1rem;
}

.voice-sec01-wapper .btn-area a{
margin-left: auto;
margin-right: 0;
}

/* voice single */

.voice-single h3{
color:#0065B3;
font-size: 1.6rem;
font-weight: 700;
}

.voice-single h4{
border-top:solid 1px #000;
padding:40px 0;
line-height: 1.5;
}

.voice-single h4+p{
background:#E8EFF3;
padding:25px;
}

.voice-single h4+p span{
display:block;
font-weight:700;
color:#0065B3;
}

.voice-single h5{
font-size:1.2rem;
font-weight:700;
color:#0065B3;
}

.voice-single ul{
padding:0;
}

.voice-single ul li{
border-top:solid 1px #CCC;
padding:20px 5px 5px;
}

.voice-single ul li:last-child{
border-bottom:solid 1px #CCC;
}

.voice-land .voice-single h4{
padding:20px 0;
}

/* ###################
 * qa
 * ################### */

section.qa-sec01,section.qa-sec02,section.qa-sec03,section.qa-sec04{
padding-bottom:0;
}

section.qa-sec02,section.qa-sec03,section.qa-sec04{
padding-top:40px;
}

.qa h3{
font-size: 1.2rem;
color: #FFF;
background: #0065B3;
padding:15px 10px;
}

/* ボタン内のレイアウトを整える */
.accordion-button {
  display: flex;
  align-items: center;
  gap: 10px;
font-weight: 700;
color:#0065B3;
background: #E5EDF0!important;
line-height: 1.5;
}

/* Q1などの丸アイコン */
.q-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #0065B3;   /* 青 */
  color: #fff;
  font-weight: 600;
  font-size: 1.2rem;
  flex-shrink: 0;
}

/* 回答ブロック全体のレイアウト */
.answer-block {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px;
}

.accordion-body{
background:#F4F4F4;
}

/* 左側の「A」ラベル */
.answer-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #FEABAC;
  font-weight: 700;
  font-size: 2rem;
  flex-shrink: 0;
margin-left:20px;
}

/* 右側の回答テキスト */
.answer-text {
  font-size: 1rem;
  color: #000;
  line-height: 1.5;
}

/* ###################
 * contact
 * ################### */

.contactinfo-sec01-wapper{
color:#0065B3;
border:solid 1px #0065B3;
text-align:center;
padding:0;
}

.contactinfo-sec01-inner-top{
padding:40px 40px 20px;
}

.contactinfo-sec01-inner-top p span{
font-size:1.8rem;
padding-left:10px;
}

.contactinfo-sec01-inner-bottom{
padding:40px 40px 20px;
background:#E7EFF2;
}

.contactinfo-sec01-inner-bottom h3{
font-size:1.2rem;
font-weight:700;
}

.contactinfo section.contact{
display:none;
}

/* ###################
 * corpgov collab
 * ################### */

.corpgov-sec01 .section-title p,.collab-sec01 .section-title p{
font-size:2.6rem;
color:#0065B3;
margin-bottom:40px;
}

.city-map-wrapper {
  position: relative;
}

/* 共通リンクスタイル */
.map-link {
  position: absolute;
  display: inline-block;
  padding: 10px 12px;
  font-size: 1rem;
  border-radius: 5px;
border:solid 2px #0065B3;
background-color: rgba(255, 255, 255, 0.7);
  color: #0065B3;;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  white-space: nowrap;
  transition: all 0.2s ease;
line-height: 1.2;
width:130px;
text-align:center;
}

.map-link:hover {
background:#0065B3;
color:#FFF;
}

/* 位置指定 */
.link-hotel { top: 12%; left: 18%; }
.link-conveni { top: 32%; left: 5%; }
.link-university { top: 50%; left: 22%; }
.link-government { top: 25%; right: 52%; }
.link-company { top: 39%; left: 46%;}
.link-colab { top: 69%; left: 42%;}
.link-highway { bottom: 4%; left: 37%; }
.link-railway { bottom: 28%; right: 25%; }
.link-airport { bottom: 18%; right: 8%; }

.link-care { bottom: 50%; left: 20%; }
.link-drug { bottom: 52%; right: 41%; }
.link-hospital { bottom: 35%; right: 13%; }

.corpgovcollab-inner{
padding:25px 25px 15px;
border:none;
}

.corpgovcollab-inner h3{
color:#0065B3;
font-size:1.4rem;
text-align:center;
}

.corpgov-sec02-wapper p{
min-height:236px;
}

.collab-sec02-wapper p{
min-height:231px;
}

.corpgovcollab-inner img,.facil-hel-sec03 img{
margin:10px 0;
}

.corpgovcollab-inner .btn-area a{
width:100%;
}

/* ###################
 * facility healthcare
 * ################### */

.facil-hel .page-hero h1{
top:63%;
}

.facil-hel-sec01-wapper p{
text-align:center;
font-size:1.4rem;
color:#0065B3;
font-weight:700;
border-top:solid 2px #0065B3;
border-bottom:solid 2px #0065B3;
padding:20px 0;
}

.facil-hel-inner{
padding:25px 25px 15px;
cursor: pointer;
transition: all 0.3s ease;
}

.facil-hel-inner a{
display:block;
}

.facil-hel-inner:hover{
background:#0065B3;
color:#FFF!important;
}
.facil-hel-inner:hover h4{
color:#FFF!important;
}

.facil-hel-sec02 h3{
font-size:1.4rem;
font-weight:600;
text-align:center;
background:#0065B3;
border-radius:50px;
padding:5px 0;
color:#FFF;
}

.facil-hel-sec02 h4{
font-size:1.2rem;
font-weight:600;
text-align:center;
}

.facil-hel-sec02 img{
margin:10px 0;
}

section.facil-hel-sec03{
padding-top:0;
}

.facil-hel-sec03 h4{
font-size:1.2rem;
font-weight: 600;
text-align: center;
color:#0065B3;
}


/* ########################
 * Responsive design CSS
 * ######################## */

@media (max-width: 1450px) {
.works-sec01-wapper h2{
text-align:center;
}
.works-sec01-wapper h2 span{
display:block;
margin:0 auto;
margin-bottom:15px;
width:350px;
}
}

@media (max-width: 1399.98px) {
.corpgov-sec02-wapper p{
min-height:287px;
}
.collab-sec02-wapper p{
min-height:288px;
}
.landbuilin-sec02-1-inner-r h3{
font-size:1.5rem;
}
}

@media (max-width: 1199.98px) {
.landbuilin-sec02-1-wapper .landbuilin-sec02-1-inner-l{
margin-left:0px;
}
.landbuilin-sec02-1-wapper .landbuilin-sec02-1-inner-r{
margin-left:0px;
}
.corpgov-sec02-wapper p{
min-height:345px;
}
.collab-sec02-wapper p{
min-height:375px;
}
}

@media (max-width: 991.98px) {
.landbuilin-sec01-4-wapper img{
margin:0 auto;
max-width:60%
}
.landbuilin-sec01-wapper img,.landbuilin-sec03-1-inner img{
margin:0 auto;
}
.works-sec01-wapper img,.voice-sec01-wapper img{
margin:0 auto;
}
.corpgov-sec02-wapper p,.collab-sec02-wapper p{
min-height:auto;
}
.corpgov-sec01 .section-title p,
.collab-sec01 .section-title p{
font-size:3.8vw;
text-align: center;
}
.mt-3rem{
margin-top:3rem;
}
.mt-1rem{
margin-top:1rem;
}
}

@media (max-width: 767.98px) {
.page-hero{
padding-top:62px;
}
.landbuilin-sec01-3-wapper p{
top:-20px;
left:15px;
}
.landbuilin-sec01-wapper p{
font-size:0.9rem;
line-height:1.8;
}
.answer-label{
margin-left:0;
}
.map-link{
padding:5px 10px;
font-size:2.2vw;
width:auto;
}
.facil-hel-sec01-wapper p{
font-size:3.8vw;
text-align:left;
}
.facil-hel .page-hero h1 {
top:66%;
}
}

@media (max-width: 575.98px) {
.landbuilin-sec01-4-wapper h3,.landbuilin-sec02-1-inner-r h3{
font-size:5.8vw;
}
.works-sec01-wapper h2 span{
width:85%;
}
.works-sec01-wapper h2{
font-size:6.2vw;
}
.works-sec01-wapper table{
font-size:0.7rem;
}
.works-sec01-wapper table th{
padding:3px 5px;
width:35%;
}
.works-sec01-wapper table td{
padding:3px 5px;
width:65%;
}
.hospital-v01 h3,.hospital-v01 h4{
font-size:5vw;
}
.accordion-button{
font-size:0.9rem;
}
.answer-text{
font-size:0.8rem;
}
.qa h3{
font-size:1.1rem;
}
.contactinfo-sec01-inner-top p{
text-align:center;
}
.contactinfo-sec01-inner-top p span{
display:block;
padding:0
}
.contactinfo-sec01-inner-bottom h3{
font-size:4.6vw;
}
.corpgov-sec01 .section-title p,
.collab-sec01 .section-title p{
font-size:4.8vw;
}
}



