main {
  padding-top: 184px;
}
.heading-wrap {
  background-color: var(--color_primary_green);
  margin-inline: auto;
  margin-bottom: -205px;
  position: relative;
  display: grid;
  place-content: center;
  max-width: 1000px;
  height: 410px;
  border-radius: 100vmax;
}
.heading_wappen {
  position: absolute;
  z-index: 1;
  top: -24px;
  left: -30px;
  display: grid;
  place-content: center;
  width: 216px;
  height: 138px;
  border: 2px solid var(--color_primary_green);
  border-radius: 100vmax 100vmax 0 100vmax;
  background-color: #fff;
}
.heading_wappen_txt {
  font-size: 15px;
  line-height: calc(13.6841 / 7.5);
  text-align: center;
  color: var(--color_primary_green);
}
.heading-wrap h2 {
  font-family: var(--fontEnW);
  font-size: 70px;
  line-height: calc(40.2207 / 34.831);
  text-align: center;
  color: #fff;
}
.heading_txt {
  margin-top: 16px;
  font-size: 22.5px;
  letter-spacing: 0.065em;
  text-align: center;
  color: #fff;
  transform-origin: center;
  scale: 1.333 1;
}
@media all and (max-width:750px) {
  main {
    padding-top: calc((( 293 / var(--media_sp)) * 100) * var(--vw));
  }
  .heading-wrap {
    margin-bottom: calc((( -102 / var(--media_sp)) * 100) * var(--vw));
    position: relative;
    display: grid;
    place-content: center;
    max-width: 1000px;
    aspect-ratio: 1 / 1;
    height: auto;
    border-radius: 100vmax;
  }
  .heading_wappen {
    position: absolute;
    z-index: 1;
    top: calc((( -66 / var(--media_sp)) * 100) * var(--vw));
    left: 0;
    display: grid;
    place-content: center;
    width: calc((( 356 / var(--media_sp)) * 100) * var(--vw));
    height: calc((( 228 / var(--media_sp)) * 100) * var(--vw));
    border: 2px solid var(--color_primary_green);
    border-radius: 100vmax 100vmax 0 100vmax;
    background-color: #fff;
  }
  .heading_wappen_txt {
    font-size: calc((( 26 / var(--media_sp)) * 100) * var(--vw));
    line-height: calc(13.6841 / 7.5);
    text-align: center;
    color: var(--color_primary_green);
  }
  .heading-wrap h2 {
    font-family: var(--fontEnW);
    font-size: calc((( 73 / var(--media_sp)) * 100) * var(--vw));
    line-height: calc(21  / 18.25);
    text-align: center;
    color: #fff;
  }
  .heading_txt {
    margin-top: calc((( 12 / var(--media_sp)) * 100) * var(--vw));
    font-size: calc((( 26 / var(--media_sp)) * 100) * var(--vw));
    letter-spacing: 0.065em;
    text-align: center;
    color: #fff;
    transform-origin: center;
    scale: 1.333 1;
  }
}

.intro_bg-wrap {
  padding-top: 278px;
  background-color: #faf9f5;
  border-radius: 0 400px 0 0;
}
.intro_catch {
  margin-inline: auto;
  max-width: 1000px;
  font-size: 40px;
  letter-spacing: 0.015em;
  line-height: 1.5;
  text-align: center;
  color: var(--color_primary_green);
  transform-origin: center;
  scale: 1.3 1;
  width: 76.92307%;
}
.intro_lead {
  max-width: 1000px;
  margin-top: 10px;
  margin-inline: auto;
  font-size: 18px;
  letter-spacing: 0.035em;
  line-height: 2;
  text-align: center;
  color: #323232;
}
@media all and (max-width:750px) {
  .intro_bg-wrap {
    padding-top: calc((( 160 / var(--media_sp)) * 100) * var(--vw));
    background-color: #faf9f5;
    border-radius: 0 calc((( 110 / var(--media_sp)) * 100) * var(--vw)) 0 0;
  }
  .intro_catch {
    font-size: calc((( 55 / var(--media_sp)) * 100) * var(--vw));
    letter-spacing: 0.015em;
    line-height: calc(21.42 / 13.703);
    text-align: center;
    color: var(--color_primary_green);
    transform-origin: center;
    scale: 1.3 1;
    width: 76.92307%;
    margin-inline: auto;
  }
  .intro_lead {
    max-width: calc((( 630 / var(--media_sp)) * 100) * var(--vw));
    margin-inline: auto;
    font-size: calc((( 30 / var(--media_sp)) * 100) * var(--vw));
    letter-spacing: 0.035em;
    line-height: 2;
    text-align: left;
    color: #323232;
  }
}

.sec_bg-wrap {
  margin-bottom: -245px;
  padding-top: 90px;
  padding-bottom: 320px;
  background-color: #faf9f5;
  border-radius: 0 0 400px 400px;
}
.sec_grid-wrap {
  max-width: 1000px;
  margin-inline: auto;
  display: grid;
}

.sec_heading-wrap {
  max-width: 1000px;
  margin-inline: auto;
  align-self: start;
  display: flex;
  align-items: center;
  gap: 15px;
}
.sec_heading_ico {
  width: 64px;
}
.sec_heading {
  font-size: 28px;
  line-height: calc(21.1924 / 14);
  color: var(--color_primary_green);
  transform-origin: left;
  scale: 1.3 1;
}
.sec_heading_txt {
  display: block;
}
.sec_body {
  max-width: 1000px;
  margin-top: 55px;
  margin-inline: auto;
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 2;
  word-break: normal;
}

.sec_img .img_cap {
  font-size: 12px;
  line-height: calc(11 / 6);
  color: #4b4b4b;
  text-align: left;
}
.img_cap {
  margin-top: 12px;
  font-size: 12px;
  line-height: calc(11 / 6);
  color: #4b4b4b;
}
@media all and (min-width:751px) {
  .img_cap {
    text-align: right;
  }
}
.sec01-01,
.sec01-02,
.sec02-01 {
  max-width: 1000px;
  margin-inline: auto;
}
.sec01-02 {
  margin-top: 107px;
}
.sec02 {
  margin-top: 45px;
}
.sec02-01 {
  margin-top: 75px;
}

.sec_info-wrap {
  padding: 40px 0 35px;
  display: grid;
  place-content: center;
  background-color: var(--color_primary_green);
}
.sec_info {
  color: #fff;
}
.sec_info h4 {
  font-size: 29px;
  line-height: 1;
}
.sec_info_txt {
  margin-top: 12px;
  font-size: 12px;
  line-height: calc(11 / 6);
}

.notes {
  margin-top: 48px;
  margin-inline: auto;
  padding-top: 12px;
  max-width: 1000px;
  font-size: 12px;
  line-height: calc(11 / 6);
  color: #787878;
  border-top: 1px solid #dcdcdc;
}
@media all and (max-width:750px) {
  .sec_bg-wrap {
    margin-bottom: calc((( -570 / var(--media_sp)) * 100) * var(--vw));
    padding-top: calc((( 120 / var(--media_sp)) * 100) * var(--vw));
    padding-bottom: calc((( 600 / var(--media_sp)) * 100) * var(--vw));
    background-color: #faf9f5;
    border-radius: 0 0 400px 400px;
  }
  .sec_grid-wrap {
    max-width: 100%;
    margin-inline: auto;
    display: block;
  }

  .sec_heading-wrap {
    max-width: calc((( 630 / var(--media_sp)) * 100) * var(--vw));
    margin-inline: auto;
    margin-left: calc((( 60 / var(--media_sp)) * 100) * var(--vw));
    display: flex;
    align-items: center;
    gap: calc((( 20 / var(--media_sp)) * 100) * var(--vw));
  }
  .sec_heading_ico {
    width: calc((( 87 / var(--media_sp)) * 100) * var(--vw));
  }
  .sec_heading {
    font-size: calc((( 38 / var(--media_sp)) * 100) * var(--vw));
    line-height: calc(21.1924 / 14);
    color: var(--color_primary_green);
  }
  .sec_heading_txt {
    display: block;
    transform-origin: left;
    scale: 1.3 1;
  }
  .sec_body {
    max-width: calc((( 630 / var(--media_sp)) * 100) * var(--vw));
    margin-top: calc((( 36 / var(--media_sp)) * 100) * var(--vw));
    margin-inline: auto;
    font-size: calc((( 30 / var(--media_sp)) * 100) * var(--vw));
    letter-spacing: 0.03em;
    line-height: 2;
  }

  .sec_img_grid-container {
    width: calc((( 630 / var(--media_sp)) * 100) * var(--vw));
    margin-inline: auto;
  }
  .sec_img,
  .img-wrap {
    margin-top: calc((( 56 / var(--media_sp)) * 100) * var(--vw));
    width: calc((( 630 / var(--media_sp)) * 100) * var(--vw));
    margin-inline: auto;
  }
  .sec_img .img_cap {
    font-size: calc((( 24 / var(--media_sp)) * 100) * var(--vw));
    line-height: calc(11 / 6);
    color: #4b4b4b;
  }
  
  .img_cap {
    margin-inline: auto;
    width: calc((( 630 / var(--media_sp)) * 100) * var(--vw));
  }

  .sec01-01,
  .sec01-02,
  .sec02-01 {
    max-width: 1000px;
    margin-inline: auto;
  }
  .sec01-02 {
    margin-top: calc((( 80 / var(--media_sp)) * 100) * var(--vw));
  }
  .sec_info-wrap {
    padding: calc((( 48 / var(--media_sp)) * 100) * var(--vw)) calc((( 50 / var(--media_sp)) * 100) * var(--vw)) calc((( 48 / var(--media_sp)) * 100) * var(--vw)) calc((( 80 / var(--media_sp)) * 100) * var(--vw));
    margin-inline: auto;
    width: calc((( 630 / var(--media_sp)) * 100) * var(--vw));
    display: grid;
    place-content: center;
    background-color: var(--color_primary_green);
  }
  .sec_info {
    color: #fff;
  }
  .sec_info h4 {
    font-size: calc((( 36 / var(--media_sp)) * 100) * var(--vw));
  }
  .sec_info_txt {
    margin-top: calc((( 8 / var(--media_sp)) * 100) * var(--vw));
    font-size: calc((( 24 / var(--media_sp)) * 100) * var(--vw));
    line-height: 1.5;
    word-break: normal;
  }

  .notes {
    margin-top: calc((( 80 / var(--media_sp)) * 100) * var(--vw));
    margin-inline: auto;
    padding-top: calc((( 26 / var(--media_sp)) * 100) * var(--vw));
    max-width: calc((( 630 / var(--media_sp)) * 100) * var(--vw));
    font-size: calc((( 24 / var(--media_sp)) * 100) * var(--vw));
    line-height: calc(11 / 6);
    color: #787878;
    border-top: 1px solid #dcdcdc;
  }
}

.img-wrap.sec01_img01 {
  overflow: hidden;
  border-radius: 100vmax 100vmax 100vmax 0;
}
.sec_tenjin .sec_info-wrap {
  border-radius: 100vmax 0 100vmax 100vmax;
}
.img-wrap.sec01_img02 {
  overflow: hidden;
  border-radius: 0 100vmax 100vmax 100vmax;
}
.img-wrap.sec01_img03 {
  overflow: hidden;
  border-radius: 100vmax;
}
.sec_yurakucho .sec_info-wrap {
  border-radius: 0 100vmax 100vmax 100vmax;
}
.img-wrap.sec01_img04 {
  overflow: hidden;
  border-radius: 100vmax 100vmax 0 100vmax;
}
.sec_hacchobori .sec_info-wrap {
  border-radius: 100vmax 0 100vmax 100vmax;
}
.img-wrap.sec02_img01 {
  overflow: hidden;
  border-radius: 100vmax 100vmax 100vmax 0;
}
.img-wrap.sec02_img02 {
  overflow: hidden;
  border-radius: 100vmax;
}
@media all and (max-width:768px) {
  .img-wrap.sec01_img04 {
    overflow: hidden;
    border-radius: 100vmax;
  }
}

@media all and (min-width:751px) {
  .sec_grid-wrap {
    display: grid;
  }
  .sec01 .sec_grid-wrap {
    grid-template-columns: 2.4fr 2.25fr;
    gap: 0 65px;
  }
  .sec01 .sec_grid-wrap .sec_heading-wrap {
    margin-left: 0;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .sec01 .sec01_body01 {
    margin-top: 24px;
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .sec01 .sec_img.img-container {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
  }
  .sec02 > .sec_body {
    margin-top: 24px;
  }
  
  .sec_img_grid-container {
    display: grid;
  }
  .sec_tenjin .sec_img_grid-container {
    grid-template-columns: 3.1fr 1.9fr;
  }
  .sec_tenjin .sec01_img02 {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
  }
  .sec_tenjin .sec01_img03 {
    align-self: start;
    margin-left: 10px;
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }
  
  .sec_yurakucho .sec_relative-container {
    position: relative;
  }
  .sec_yurakucho .sec_info-wrap {
    position: absolute;
    z-index: 1;
    top: -40px;
    left: 0;
    width: 418px;
    height: 162px;
  }
  
  .sec_hacchobori .sec_img_grid-container {
    grid-template-columns: 2.5fr 2.5fr;
  }
  .sec_hacchobori .sec02_img01 {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
  }
  .sec_hacchobori .sec_info-wrap {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin-bottom: 20px;
  }
  .sec_hacchobori .sec02_img02 {
    align-self: start;
    margin-left: 20px;
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }
}
@media all and (max-width:750px) {
  .sec01 .sec_bg-wrap > .sec_body {
    margin-top: calc((( 72 / var(--media_sp)) * 100) * var(--vw));
  }
  .img-wrap.sec01_img03,
  .sec_info-wrap {
    margin-top: calc((( 8 / var(--media_sp)) * 100) * var(--vw));
  }
  .sec01-01 + .sec_body {
    margin-top: calc((( 110 / var(--media_sp)) * 100) * var(--vw));
  }
  .sec_hacchobori .sec02_img02 {
    margin-top: calc((( 8 / var(--media_sp)) * 100) * var(--vw));
  }
  .sec_hacchobori > .sec_body {
    margin-top: calc((( 70 / var(--media_sp)) * 100) * var(--vw));
  }
}