@charset "utf-8";
/* CSS Document */
.keyvisual{padding-bottom: 0;padding-top: 0;}
.keyvisual_inner{position: relative;}
.keyvisual_txt_wrap{position: absolute;top: 50%;left: 50%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);} 
.keyvisual_txt{color:#fff;text-shadow: 0px 0px 3px var(--color-green), 0px 0px 2px var(--color-green);display: flex;flex-direction: column; max-width: 375px;text-align: center;margin: 0 auto;letter-spacing: .05em;}
.keyvisual_txt h2{font-size:30px;white-space: nowrap;font-weight:600}
.keyvisual_txt p{font-family:Century Gothic,sans-serif;}
.keyvisual_img{background:url("../img/bg01_sp.webp");background-position: top center;background-repeat: no-repeat;background-size: cover;min-height: 280px}
@media only screen and (min-width:768px){
.keyvisual_img{background:url("../img/bg01.webp");background-repeat: no-repeat;background-size: cover;}
}
/*1段目*/
section{text-align: center}
.com_photo{display: block;margin: 0 auto;width: 100%;max-width: 900px;}
.com_photo img{width: 100%}
h3.catch {
    font-size: clamp(1.375rem, 1.057rem + 1.59vw, 2.25rem);
    font-weight: 700;
}
h4.catch_sub {
    font-size: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
    font-weight: 700;
    margin: 0 auto 1em;
    text-align: center !important;
}
dl{display: flex;flex-direction: column;margin: 0 auto;width: 100%;/*max-width: 900px;*/gap:15px; }
dl div{background: #fff;display: flex;flex-direction: column;gap:15px; box-shadow: var(--box-shadow);padding: 10px}
dt{width: 100%}
dt img{width: 100%}
dd{width: 100%;padding: 0px 10px 10px;margin: 0;}
dd h3{font-weight: 500;font-size:clamp(1.25rem, 1.114rem + 0.68vw, 1.625rem);position: relative;}
@media only screen and (min-width:768px){
dl div{background: #fff;display: flex;flex-direction: row;gap:15px; }
dt{width: 30%}
dd{width: 70%;padding: 10px 10px 10px 0px;margin: 0;text-align: left}

}

.ttl02 {
  position: relative;
  display: inline-block;
  padding: 0 55px;font-size: clamp(1.375rem, 1.057rem + 1.59vw, 2.25rem);
    font-weight: 700;color: var(--color-green);margin-bottom: 0.5em
}

.ttl02:before, .ttl02:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 3px;
  background-color: var(--color-green);
}

.ttl02:before {
  left:0;
}
.ttl02:after {
  right: 0;
}

p.ttl02_sub {
    font-size:clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
    font-weight: 700;
    margin: 0 auto 1em;
    text-align: left !important;color: var(--color-green);
}
section:nth-child(3){background: #fff}

