  @charset "UTF-8";



/*intro
--------------------------------- */
.intro{}

/* for sp*/
@media screen and (max-width: 767px) {
  .intro{}
}


/*town
--------------------------------- */
.town{
  padding: 0 0 140px 0;
}
.town .gaikan{
  margin: 100px 0 0 0;
}
.town .pointList{
  display: flex;
  flex-wrap: wrap; 
  justify-content: space-between;
  max-width: 880px;
  margin: 70px auto 0 auto;
}
.town .pointList section{
  width: calc((400 / 880) * 100%);
  margin: 80px 0 0 0;
}
.town .pointList section h5{
  padding: 0 0 0 0.15em;
  font-size: clamp(calc(20px * var(--font-markup)), calc(20vw / var(--vw-pc)), 20px);/*20 / 16*/
  line-height: 1.0;
  text-align: center;
  letter-spacing: 0.15em;
}
.town .pointList section h5::after{
  content: "";
  display: block;
  width: 100%;
  height: 10px;
  margin: 30px 0 0 0;
  background-color: transparent;  
  background-image: radial-gradient(circle, var(--color-key01) 1.5px, transparent 1.5px), radial-gradient(circle, var(--color-key01) 1.5px, transparent 1.5px);
  background-position: 0 3px, 4.5px 9px;
  background-size: 9px 12px;
}
.town .pointList section h5 + p{
  margin: 30px 0 0 0;
  text-align: left;
  letter-spacing: normal;
}
.town .pointList section figure{
  margin: 40px 0 0 0;
}



/* for sp*/
@media screen and (max-width: 767px) {
  .town{
    padding-bottom: 80px;
  }
  .town .gaikan{
    margin-top: 50px;
  }  
  .town .pointList{
    display: block;
    width: 85%;
    margin: 30px auto 0 auto;
  }
  .town .pointList section{
    width: 100%;
    margin-top: 40px;
  }
  .town .pointList section h5{
    font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-sp)), 16px);/*20 / 16*/
  }
  .town .pointList section h5::after{
    margin-top: 20px;
  }
  .town .pointList section h5 + p{
    margin-top: 20px;
  }
  .town .pointList section figure{
    margin-top: 30px;
  }
}
/* for SP landscape*/
@media screen and (max-width:767px) and (orientation: landscape) {

}

/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 834px) and (orientation:portrait) {
/*¿kÏò¤­¤Î¤ß¤ÎÓ›Êö --- iPad Pro12.9¤ÏPC±íÊ¾*/

}

/*guideline
--------------------------------- */
.guideline{
  padding: 130px 0;
  background: var(--color-def05);
}
.guideline ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 890px;
  margin: 0 auto;
}
.guideline ul li{
  width: calc((250 / 890) * 100%);
  margin: 80px 0 0 0;
}
.guideline ul li h5{
  margin: 25px 0 0 0;
  font-size: clamp(calc(18px * var(--font-markup)), calc(18vw / var(--vw-pc)), 18px);/*18 / 16*/
  text-align: center;
}
.guideline ul li p{
  margin: 25px 0 0 0;
  text-align: left;
}
.guideline .gaikan{
  margin: 100px 0 0 0;
}

/* for sp*/
@media screen and (max-width: 767px) {
  .guideline{
    padding: 60px 0;
  }
  .guideline ul{
    display: block;
    width: 85%;
  }
  .guideline ul li{
    width: 100%;
    margin-top: 40px;
  }
  .guideline ul li h5{
    margin-top: 15px;
    font-size: clamp(calc(18px * var(--font-markup)), calc(18vw / var(--vw-sp)), 18px);/*18 / 16*/
  }
  .guideline ul li p{
    margin-top: 15px;
  }
  .guideline .gaikan{
    margin-top: 50px;
  }
  
}


/*lp
--------------------------------- */
.lp{
  padding: 0 0 150px 0;
}
.lp > div{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.lp .lpFig{
  position: sticky;
  top: 165px;
  width: calc((590 / var(--cont-width-nv-pc)) * 100%);
}
.lp .lpFig .cap{
  margin-top: -1em;
  padding: 0 2em 0 0;
}
.lp .lpList{
  width: calc((460 / var(--cont-width-nv-pc)) * 100%);
}
.lp .lpList section{
  position: relative;
  padding-bottom: 50px;
}
.lp .lpList section + section{
  padding-top: 65px;
}
.lp .lpList section + section::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 10px;
  background-color: transparent;  
  background-image: radial-gradient(circle, var(--color-key01) 1.2px, transparent 1.2px), radial-gradient(circle, var(--color-key01) 1.2px, transparent 1.2px);
  /*background-position: 0 3px, 4.5px 9px;
  background-size: 9px 12px;*/
  background-position: 0 2.4px, 3.6px 7.2px;
  background-size: 7.2px 9.6px;
}

.lp .lpList section .num{
  width: 70px;
  margin: 0 auto;
  background: var(--color-key01);
  border-radius: 50%;
}
.lp .lpList section h4{
	margin: 24px 0 0 0;
	font-size: clamp(calc(20px * var(--font-markup)), calc(20vw / var(--vw-pc)), 20px);/*20 / 18*/
	font-weight: normal;
	font-weight: 400;
	text-align: center;
  letter-spacing: 0.15em;
  padding-left: 0.15em;
	line-height: 1.2;
  font-feature-settings: "palt";
}
.lp .lpList section .lead01{
	margin: 30px 0 0 0;
  text-align: left;
  font-feature-settings: "palt";
}
.lp .lpList section figure{
	margin: 20px 0 0 0;
}

/* for sp*/
@media screen and (max-width: 767px) {
  .lp{
    padding-bottom: 50px;
  }
  .lp > div{
    display: block;
  }
  .lp .lpFig{
    position: static;
    width: 100%;
  }
  .lp .lpList{
    width: 100%;
    padding-top: 30px;
  }
  .lp .lpList section{
    padding-bottom: 30px;
  }
  .lp .lpList section + section{
    padding-top: 45px;
  }
  .lp .lpList section + section::before{}

  .lp .lpList section .num{
    width: 70px;
  }
  .lp .lpList section h4{
    padding-left: 0.02em;
    font-size: clamp(calc(18px * var(--font-markup)), calc(18vw / var(--vw-sp)), 18px);/*20 / 18*/
    letter-spacing: 0.02em;
  }
  .lp .lpList section .lead01{
    margin-top: 20px;
  }
  .lp .lpList section figure{}
}



/*set aos
--------------------------------- */
/* for pc*/
@media screen and (min-width: 768px) {
}

/* for sp*/
@media screen and (max-width: 767px) {
}







