@charset "utf-8";
#image {
  max-width: 1200px;
  margin: auto;
}
#image ul {
  padding: 0;
}
#planBox #plan01 ol li:before {
  background: #ab103a;
}
.flexBox1 ul li h4, .flexBox2 ul li h4, .flexBox3 ul li h4, .flexBox4 ul li h4 {
  padding: 10px 0 5px 0;
  margin: 0;
}
.flexBox1 .dcolor, .flexBox2 .dcolor, .flexBox3 .dcolor, .flexBox4 .dcolor {
  background: #ede8e1;
}
.flexBox2 ul li {
  padding: 0 0 40px;
}
.flexBox2 ul li p.text {
  padding: 0 10px;
  text-align: left;
  line-height: 1.4em;
  font-size: 90%;
}
/*----------------------------------------------------------- LOCATION */

#location #S01 h3 {
  margin: 20px 0;
  padding: 10px 0;
  background: #79ae81;
  color: #fff;
}
#location h4 {
  font-size: 110%;
  text-align: center;
  font-weight: 500;
}
#location .flexBox3 ul {
  justify-content: center;
}
#location .flexBox3 ul h4 {
  margin: 15px 0 10px;
}
#location .flexBox3 ul h4 small {
text-align: center;}

#location ul li p {
    padding: 0 0 30px;
    font-size: 90%;
    text-align: left;
}

#location #S02 h3 {
  margin: 20px 0;
  padding: 10px 0;
  background: #b39577;
  color: #fff;
}
#location #S02 h4 {
  text-align: center;
  font-size: 120%;
  font-weight: 500;
  padding: 10px 10px;
  margin: 0;
}
#location #S02 h5 {
  font-size: 100%;
  font-weight: 600;
  margin: 0;
  padding: 10px 10px 0;
}
#location h2 small {
  text-align: center;
}
#location #S02 {
    background: #f1efe5;
}


#location #lifeInfoBox .lifeInfoList dl dt:before {
    counter-increment: countnum 1;
    content: counter(countnum) " ";
    background-color: #72746c;
    color: #fff;
    display: inline-block;
    line-height: 22px;
    text-align: center;
    height: 22px;
    width: 22px;
    border-radius: 50%;
    margin: 0 10px 0 0;
}

#location #lifeInfoBox .lifeInfoList dl.life01 dt:before {
    background-color: #a68c2c;
}
#location #lifeInfoBox .lifeInfoList dl.life02 dt:before {
background-color: #0d6fb8;
}
#location #lifeInfoBox .lifeInfoList dl.life03 dt:before {
background-color: #07913a;
}
#location #lifeInfoBox .lifeInfoList dl.life04 dt:before {
background-color: #b18247;
}
#location #lifeInfoBox .lifeInfoList dl.life05 dt:before {
background-color: #920783;
}



#carBox {
  padding: 0;
}
#carBox .contents {}
#carBox .contentsDetail {
  padding: 40px 20px;
  background: #e7f4f8;
}
#carBox h2 strong {
  display: block;
  font-weight: 500;
  letter-spacing: 2px;
  padding: 0 0 10px;
}
#ac01 {
  padding: 10px;
  margin: auto;
  width: 80%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffffa8;
}
#ac01 em {
  font-style: normal;
  font-weight: 600;
}
#ac01 span {
  display: flex;
  justify-content: center;
  align-items: baseline;
  padding: 0;
}
#ac01 h3 {
  text-align: center;
}
#ac01 strong {
  font-size: 240%;
  font-weight: 600;
  display: inline-block;
  margin: 0 4px;
  color: #cc0000;
}
#ac01 small {
  padding: 0;
}
#ac02 {
  display: flex;
  flex-flow: column;
  align-items: center;
}
#ac02 ul {
  width: 80%;
}
#ac02 li {
  padding: 10px;
  margin: 0 0 10px;
  background: #4DACD5;
  background: linear-gradient(45deg, rgba(77, 172, 213, 1) 0%, rgba(59, 89, 121, 1) 100%);
}
#ac02 h4 {
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding: 0 0 10px;
  margin: 0;
}
#ac02 em {
  font-style: normal;
  font-weight: 600;
  color: #fff;
}
#ac02 span {
  display: flex;
  justify-content: center;
  align-items: baseline;
  padding: 0;
  font-size: 150%;
  font-weight: 600;
  margin: 0 10px;
  color: #fff;
}
#ac02 strong {
  font-size: 140%;
  font-weight: 600;
}
#ac02 small {
  padding: 0;
}

/*----------------------------------------------------------- equipment */
#equipment #S01, #equipment #S02, #equipment #S03, #equipment #S04, #equipment #S05, #equipment #S06, #equipment #S07 {
  padding: 10px 10px 50px;
}
#equipment #S01 h3, #equipment #S02 h3, #equipment #S03 h3, #equipment #S04 h3, #equipment #S05 h3, #equipment #S06 h3, #equipment #S07 h3 {
  padding: 10px;
  border-top: none;
  border-bottom: none;
}
#equipment #S01 h3 {
  color: #ffffff;
  background: #ab103a;
}
#equipment #S02 h3, #equipment #S03 h3 {
  color: #ffffff;
  background: #136c58;
}
#equipment #S04 h3, #equipment #S05 h3, #equipment #S06 h3, #equipment #S07 h3 {
  color: #ffffff;
  background: #886523;
}
#planBox .detail {
  padding: 0 0 80px;
}
#planBox #plan01 ol li:before {
  background: #db5d84;
}
#planBox #plan02 ol li:before {
  background: #58aea2;
}
#planBox #plan03 ol li:before {
  background: #946f4e;
}
#planBox #plan04 ol li:before {
  background: #3491bc;
}
#planBox #plan01 ol li:before {
  content: "■";
  background: inherit;
  color: #db5d84;
  margin: 0;
}
#planBox h3 {
  color: #fff;
  border-top: none;
  border-bottom: none;
  padding: 10px;
}
#planBox .detail h3 {
  background: #946f4e;
}
#planBox #plan01 h3 {
  background: #db5d84;
}
#planBox #plan02 h3 {
  background: #f08d2c;
}
#planBox #plan03 h3 {
  background: #3491bc;
}
#planBox .detail h4 {
  color: #946f4e;
}
#planBox #plan01 h4 {
  color: #db5d84;
}
#planBox #plan02 h4 {
  color: #f08d2c;
}
#planBox #plan03 h4 {
  color: #3491bc;
}
#planBox h3 {
  text-align: center;
}
#planBox h4 {
  text-align: center;
}
#planBox h5 {
  text-align: center;
}
#planBox p {
  text-align: center;
}
#equipment #plan01 ol {
  width: auto;
  max-width: fit-content;
  margin: auto;
}
#itemL01 h3 {
  background-image: url("../_img/equipment/page_title_001.jpg");
}
#itemL02 h3 {
  background-image: url("../_img/equipment/page_title_002.jpg");
}
#itemL03 h3 {
  background-image: url("../_img/equipment/page_title_003.jpg");
}
.itemList ul {
  padding: 0 0 60px;
}
.imgBox {
  padding: 30px 0;
}
.flexBox5 ul {
  display: flex;
}
.flexBox5 ul li {
  width: calc(100% / 5 - 10px);
  margin: 5px;
}
#ptPoint h3, #ptPoint p {
  text-align: center;
}
#ptPoint p {
  padding-bottom: 30px;
}
#ptPoint ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-top: 40px;
}
#ptPoint ul li {
  width: 19.8%;
  background-color: rgba(239, 241, 239, 1.00);
  padding: 20px 11px 20px;
}
#ptPoint ul li p {
  padding-bottom: 0px;
}
#ptPoint ul li p:nth-child(1) {
  color: rgba(0, 69, 48, 1.00);
  margin-bottom: 7px;
}
#ptPoint ul li p:nth-child(2) {
  font-size: 19px;
}
#ptPoint ul li p:nth-child(2) span {
  font-size: 13px;
  display: block;
}
#ptEquipmentSection02 .S01 p {
  text-align: center;
  padding: 30px 0;
}
#ptEquipmentSection02 .S01 ul {
  justify-content: center;
}
#ptEquipmentSection02 .S01 ul li {
  width: 240px;
  margin: 0px 10px;
}
.centerbox {
  text-align: center;
}
#ptEquipmentSection02 .S02 ul li:nth-child(1) {
  width: 60%;
  text-align: left;
}
#ptEquipmentSection02 .S02 div {
  margin-bottom: 70px;
}
#ptEquipmentSection02 .S02 .flexBox2 {
  padding: 0 0;
}
#ptEquipmentSection02 .flexBox2 ul li {
  width: 35%;
}
#ptEquipmentSection03 h2 {
  margin-bottom: 30px;
}
.pt_equipment_list_col04 .centerbox {
  margin-bottom: 60px;
}
.S201 div div {
  margin-top: 70px;
}
.S201 div div h4 {
  padding: 0;
  margin: 10px;
  font-size: 16px;
}
.S201 div div h4 span {
  font-size: 12px;
  display: block;
}
.S201 h3 {
  font-weight: 400;
}
.S201 h3 span {
  display: block;
  background-color: rgba(80, 114, 110, 1.00);
  color: #FFF;
  margin-bottom: 20px;
  padding: 10px;
}
#location h2 {
  letter-spacing: 3px;
}
#ptAccessRoute p {
  padding: 20px 0;
  text-align: center;
}
#Page #ptAccessRoute p {
  text-align: center;
}
#access_top ul {
  justify-content: center;
}
#lifeInformation dl dt:before {
  display: none;
}
#lifeInformation {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  counter-reset: inherit;
}
#busBox .busTime {
  padding: 50px;
}
#busBox .busTime ul li h3:before {
  border: 1px solid #ffffff;
  padding: 0px 10px;
  border-radius: 20px;
}
#busBox h3 {
  text-align: center;
}
#busBox .busTime ul li {
  width: calc(100% / 2 - 20px);
  margin: 10px;
}
.flexBox3 ul li {
  text-align: center;
}
#visualBox {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}
#visualBox .content {
  width: 100%;
}
#swiperBox {
  width: 100%;
  height: 100%;
  position: relative;
}
#swiperBox .swiper-button-next, #swiperBox .swiper-button-prev {
  color: #f2f5f4;
}
#swiperBox .swiper-slide {
  position: relative;
}
#swiperBox .swiper-slide ul {
  position: absolute;
  bottom: 23%;
  right: 0;
  display: flex;
  justify-content: flex-end;
  width: 45%;
}
.swiper {
  width: 100%;
  height: 100%;
}
.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#pageMenu {
  display: none;
}
#pageMenu ul {
  display: flex;
  justify-content: center;
}
#addC {}
#addC .imgBox {
  padding: 0;
}
#addC h2 {
  background: rgb(0, 152, 117);
  background: linear-gradient(90deg, rgba(0, 152, 117, 1) 24%, rgba(0, 80, 36, 1) 100%);
  color: #fff;
  padding: 10px;
  text-align: center;
  margin: 0 0 15px;
}
#addC h3 {
  background: #57996a;
  color: #fff;
  padding: 10px;
  text-align: center;
}
#addC .img {
  position: relative;
}
#addC .attentionBox {
  padding: 10px 0;
}
.attentionBox p {
  text-align: left;
  font-size: 80%;
}
#addC .img span {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 0 10px 5px 0;
  color: #fff;
  font-size: 80%;
}
#addC .img span.bk {
  color: #333;
}
#a01 h2 br {
  display: none;
}
#a01 p {
  font-size: 110%;
  font-weight: 500;
}
#a02 h3 br {
  display: none;
}
#a02 p {
  text-align: right;
}
#a03 p {
  font-size: 80%;
}
#a03 .img span {
  font-size: 70%;
}
#a03 p br {
  display: none;
}
#addC .leftBox {
  padding: 0 20px 0 0;
}
.flexBox2 ul li, .flexBox2 ul li:last-child {
  width: calc(100% / 2 - 10px);
  margin: 10px;
  padding: 0;
  /* margin: 0; */
}
.flexBox3 ul li {
  width: calc(100% / 3 - 10px);
  margin: 5px;
  /* padding: 10px; */
  /* margin: 0; */
}
.flexBox2 ul li:first-child, .flexBox3 ul li:first-child {
  margin-left: 0;
}
.flexBox2 ul li:last-child, .flexBox3 ul li:last-child {
  margin-right: 0;
}
.flexBox1, .flexBox2, .flexBox3, .flexBox4 {
  padding: 0;
}
#eqItem #ptEquipmentSection03 .pt_equipment_list_col04 > ul > li {
  border-bottom: none;
}
#location ul li h5 strong {
  font-weight: 500;
  font-size: 150%;
  color: #20634c;
}
#location ul li h5 small {
    padding: 5px 0 10px;
    text-align: center;
    color: #666;
    font-size: 70%;
}
#location #c01 ul li p {
  padding: 0 10px 30px;
  text-align: left;
  font-size: 90%;
  line-height: 1.6em;
}
#location #c01 {
    background: #f1f4ee;
    padding: 10px 20px;
}
#location #c01 p {
    padding: 0 0 30px;
}

#location .flexBox1 {
    max-width: 800px;
    margin: 0 auto 40px;
}
#c02 {
    padding: 20px 30px;
    background: #f2eedc;
}
#c02 p, #c03 p {
  padding: 10px 0 20px;
  line-height: 1.6em;
}
#c03 ul {
  justify-content: center;
}
#c03 ul li {
  width: auto;
}
#itemListBox .flexBox4 ul {
  justify-content: center;
}
#Page #itemListBox .flexBox4 ul li {
  padding: 0;
}
#Page #itemListBox .flexBox4 ul li h5 {
  color: #333;
  text-align: center;
}
#Page #itemListBox .flexBox4 ul li p {
  padding: 0;
}
#itemListBox .pt_equipment_list_col04 > ul::before,
#itemListBox .pt_equipment_list_col04 > ul::after,
#itemListBox .pt_equipment_list_col04 > ul > li {
    width: 32%;
    margin: 0 0 30px 0;
}
#lifeInfoBox .lifeInfoList dl dt:before {
    background-color: #a68c2d;
}
/*----------------------------------------------------------- 1200px */
@media screen and (max-width: 1200px) {
  #a03 p br {
    display: block;
  }
}
/*----------------------------------------------------------- 1000px */
@media screen and (max-width: 1000px) {
  #ptPoint ul li {
    width: 45%;
    margin: 5px;
  }
  .S201 div ul {
    flex-wrap: wrap;
  }
  .S201 div .bakery li {
    margin-bottom: 30px;
    width: 100%;
  }
  .S201 div ul li span {
    display: block;
    margin-top: 10px;
  }
  .S201 div div {
    margin-top: 30px;
  }
  #location #S03 ul li {
    width: 100%;
  }
  #location #S03 .flexBox4 ul li {
    width: 100%;
  }
}
/*----------------------------------------------------------- 860px */
@media screen and (max-width: 860px) {
  #a02 h3 br {
    display: block;
  }
  #swiperBox .swiper-slide ul {
    display: none;
  }
  #pageMenu {
    display: block;
  }
  .flexBox3 ul li {
    width: calc(100% / 2 - 20px);
    margin: 10px;
  }
  .flexBox4 ul li {
    width: calc(100% / 2 - 20px);
  }
}
/*----------------------------------------------------------- 800px */
@media screen and (max-width: 800px) {
  #addC .img span, #a03 .img span {
    font-size: 60%;
  }
  #addC .detailBox {
    flex-flow: column;
  }
  #addC .leftBox {
    padding: 0;
  }
  #a01 p {
    font-size: 100%;
  }
  #a03 p {
    font-size: 90%;
  }
  #locBox ul li {
    width: calc(100% / 2 - 10px);
  }
  .flexBox4 ul li {
    width: calc(100% / 2 - 20px);
    margin: 10px;
  }
}
/*----------------------------------------------------------- 680px */
@media screen and (max-width: 680px) {
  #ptPoint ul li {
    width: 100%;
  }
  #ptPoint ul li p:nth-child(2) {
    font-size: 18px;
  }
  .pt_mv_text_02 {
    padding: 0 20px;
  }
  .pt_subpage section:nth-child(n+3) {
    padding: 30px 0;
  }
  #ptLocationSection01 .S01, #ptLocationSection01 .S02 {
    margin-bottom: 30px;
  }
  #ptLocationSection01 .S01 ul li {
    width: 100%;
    margin-bottom: 10px;
  }
  #ptLocationSection01 .S02 ul li {
    width: 49%;
    margin-bottom: 3px;
  }
  #ptLocationSection01 .S03 ul li {
    width: 100%;
    margin-bottom: 5px;
  }
  .S201 div ul li {
    width: 100%;
  }
  #location h2 {
    font-size: 20px !important;
  }
  #image ul {
    flex-flow: column;
    padding: 20px;
  }
  #image ul li {
    width: 100%;
  }
  #addC .flexBox3 ul {
    display: flex;
  }
  #a01 h2 br {
    display: block;
  }
  #a01 .flexBox3 ul {
    flex-flow: column;
  }
  #a01 .flexBox3 ul li {
    width: 100%;
    padding: 0;
    margin: 0 0 20px;
  }
  #addC h2 {
    font-size: 120%;
  }
  #addC h3 {
    font-size: 100%;
  }
  #a01 p {
    font-size: 110%;
  }
  #a03 p {
    font-size: 70%;
  }
  #planBox h3 {
    text-align: left;
  }
  #planBox h4 {
    text-align: left;
  }
  #planBox h5 {
    text-align: left;
  }
  #planBox p {
    text-align: left;
  }
  #ac01 {
    width: 100%;
  }
  #ac02 ul {
    width: 100%;
  }
  #ac02 h4 {
    flex-flow: column;
    align-items: center;
    padding: 0;
  }
  #itemListBox .pt_equipment_list_col04 > ul::before,
#itemListBox .pt_equipment_list_col04 > ul::after,
#itemListBox .pt_equipment_list_col04 > ul > li {
    width: 48%;
    margin: 0 0 30px 0;
}
}
/*----------------------------------------------------------- 480px */
@media screen and (max-width: 480px) {
  .flexBox2 ul li, .flexBox2 ul li:last-child {
    width: 100%;
    margin: 10px 0;
  }
  .flexBox3 ul li {
    width: 100%;
    margin: 10px 0;
  }
  .flexBox4 ul li {
    width: 100%;
    margin: 10px 0;
  }
  #locBox ul li {
    width: 100%;
  }
  #c03 ul {
    flex-flow: column;
  }
  #c03 ul li {
    width: 100%;
    box-sizing: border-box;
    margin: 10px 0;
  }
  #location #S01 h3 {
    padding: 10px 10px;
  }
  #itemListBox .flexBox4 ul {
    justify-content: flex-start;
  }
  #Page #itemListBox .flexBox4 ul li {
    padding: 0;
    width: 46%;
    margin: 5px;
  }
  #Page #itemListBox .flexBox4 ul li h5 {
    text-align: left;
  }
  #Page #itemListBox .flexBox4 ul li p {
    padding: 0;
    font-size: 80%;
  }
}