@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 */
#locBox {}
#locBox ul {
  justify-content: center;
}
#locBox ul li {
  width: calc(100% / 3 - 10px);
}
#location #S01 h3 {
    margin: 0 0;
    padding: 40px 0;
    /* background: #333333; */
    /* color: #fff; */
}
#location #S01 h4 {
  font-size: 110%;
  text-align: center;
  font-weight: 500;
}
#location #S01 .flexBox3 ul {
  justify-content: center;
}
#location #S01 .flexBox3 ul h4 {
  margin: 15px 0 10px;
}
#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: #e9efea;
}
#location #S03 {
  background: #f9eceb;
}
#location #S03 h2 strong {
  display: block;
  padding: 0 0 20px;
  letter-spacing: 1px;
  font-family: 'Noto Sans JP';
  font-weight: 600;
  font-size: 120%;
  color: #d6024f;
}
#location #S03 h3 {
  padding: 0 0 10px;
}
#location #S03 h3::before {
  content: "■";
  color: #e78e91;
}
#location #S03 .cap {
  text-align: left;
}
#location #S03 ul li {
  text-align: center;
  color: #ffffff;
  background: #e78e91;
  margin: 2px;
  padding: 10px;
  box-sizing: border-box;
  width: calc(100% / 3 - 5px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
}
#location #S03 .flexBox1 ul li {
  width: 100%;
}
#location #S03 .flexBox4 ul li {
  width: calc(100% / 4 - 5px);
}
#location #S03 ul li small {
  font-size: 13px;
  text-align: center;
  display: block;
}
#lifeInfoBox #life01 dl dt:before {
  background-color: #e61874;
}
#lifeInfoBox #life02 dl dt:before {
  background-color: #07913a;
}
#lifeInfoBox #life03 dl dt:before {
  background-color: #bd8006;
}
#lifeInfoBox #life04 dl dt:before {
  background-color: #118ccf;
}
#lifeInfoBox #life05 dl dt:before {
  background-color: #920883;
}
#location #lifeInfoBox dl dt:before {
    background-color: #b95877;
}
/*----------------------------------------------------------- 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: #036eb7;
}
#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: #036eb7;
}
#planBox #plan03 h3 {
  background: #3491bc;
}
#planBox .detail h4 {
  color: #946f4e;
}
#planBox #plan01 h4 {
  color: #db5d84;
}
#planBox #plan02 h4 {
  color: #036eb7;
}
#planBox #plan02 h6 {
    text-align: center;
    font-size: 100%;
    color: #036eb7;
}
#planBox #plan03 h4 {
  color: #3491bc;
}

#planBox h3 {
  text-align: center;
}
#planBox h4 {
  text-align: center;
}
#planBox h5 {
    text-align: center;
    padding: 10px 0;
    border-top: 1px dashed #999;
    border-bottom: 1px dashed #999;
    margin: 0 0 20px;
}
#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: #515050;
    font-size: 70%;
}
#location #c01 {
    background: #dfe7d6;
}
#location #c01 .flexBox2 ul li {
    width: calc(100% / 2 - 20px);
}
#location #c02 {background: #fcecdb;}
#location #c03 {background: #fcecdb;}


#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;
}
.textC {
    text-align: center;
    font-size: 110%;
    line-height: 1.6em;
    padding: 0 0 20px;
}
#ptLocationMap ul {justify-content: center; padding: 0 0 50px;}
/*----------------------------------------------------------- 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;
}
}
/*----------------------------------------------------------- 480px */
@media screen and (max-width: 480px) {
#location #c01 .flexBox2 ul li {
   width: 100%;
}
#location #c01 .flexBox2 ul li p {text-align: center;}


  .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%;
}
}