@charset "utf-8";
html {
    font-size: 62.5%;
}
body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.5;
    color: #333;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overscroll-behavior-y: none;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset;
}
.oswald {
    font-family: Oswald, sans-serif;
    font-weight: 400;
}
.dblock,
.pc {
    display: block;
}
.iblock {
    display: inline-block;
}
.dnone,
.sp {
    display: none;
}
.tac {
    text-align: center;
}
.tar {
    text-align: right;
}
.relative {
    position: relative;
}
.z1 {
    z-index: 1;
}
#container {
    max-width: 75rem;
    margin: 0 auto;
    overflow: hidden;
    background: #fff;
}
.box {
    position: relative;
    padding-left: 2rem;
    padding-right: 2rem;
}
.m_box {
    position: relative;
    padding-left: 5rem;
    padding-right: 5rem;
}
.s_box {
    position: relative;
    padding-left: 8rem;
    padding-right: 8rem;
}
.white_box {
    border: 0.3rem solid #75b14c;
    background: #fff;
    border-radius: 1.8rem;
}
.flex {
    display: flex;
}
.sec,
.sec_rev {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sec_rev {
    flex-direction: row-reverse;
}
.jcc {
    justify-content: center;
}
.aic {
    align-items: center;
}
.w320 > li {
    width: 32rem;
}
.mb5 {
    margin-bottom: 0.5rem;
}
.mb10 {
    margin-bottom: 1rem;
}
.mb15 {
    margin-bottom: 1.5rem;
}
.mb20 {
    margin-bottom: 2rem;
}
.mb25 {
    margin-bottom: 2.5rem;
}
.mb30 {
    margin-bottom: 3rem;
}
.mb35 {
    margin-bottom: 3.5rem;
}
.mb40 {
    margin-bottom: 4rem;
}
.mb45 {
    margin-bottom: 4.5rem;
}
.mb50 {
    margin-bottom: 5rem;
}
.mb60 {
    margin-bottom: 6rem;
}
.mb75 {
    margin-bottom: 7.5rem;
}
.mb90 {
    margin-bottom: 9rem;
}
.mb120 {
    margin-bottom: 12rem;
}
.mb150 {
    margin-bottom: 15rem;
}
.mb330 {
    margin-bottom: 33rem;
}
.pb5 {
    padding-bottom: 0.5rem;
}
.pb15 {
    padding-bottom: 1.5rem;
}
.pb30 {
    padding-bottom: 3rem;
}
.pb40 {
    padding-bottom: 4rem;
}
.pb45 {
    padding-bottom: 4.5rem;
}
.pb60 {
    padding-bottom: 6rem;
}
.pb90 {
    padding-bottom: 9rem;
}
.pb120 {
    padding-bottom: 12rem;
}
.pb150 {
    padding-bottom: 15rem;
}
.pt15 {
    padding-top: 1.5rem;
}
.pt30 {
    padding-top: 3rem;
}
.pt40 {
    padding-top: 4rem;
}
.pt45 {
    padding-top: 4.5rem;
}
.pt50 {
    padding-top: 5rem;
}
.pt60 {
    padding-top: 6rem;
}
.pt70 {
    padding-top: 7rem;
}
.pt90 {
    padding-top: 9rem;
}
.pt120 {
    padding-top: 12rem;
}
.ptb15 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.ptb20 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.ptb30 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.ptb60 {
    padding-top: 6rem;
    padding-bottom: 6rem;
}
.ptb90 {
    padding-top: 9rem;
    padding-bottom: 9rem;
}
.p30 {
    padding: 3rem;
}
.pl15 {
    padding-left: 1.5rem;
}
.plr30 {
    padding-left: 3rem;
    padding-right: 3rem;
}
.plr60 {
    padding-left: 6rem;
    padding-right: 6rem;
}
.ptb45 {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}
.c_img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.r_img {
    display: block;
    margin-left: auto;
}
.img_h {
    transition: 0.3s;
}
.img_h:hover {
    opacity: 0.8;
}
.white_bg {
    background: #fff;
}
.grey_bg {
    background: #f0f5eb;
}
.grey_bg02 {
    background: #f5f5f5;
}
.green_bg {
    background: #75b14c;
}
.lgreen_bg {
    background: #82bf5a;
}
.lgreen_bg02 {
    background: #75b14c;
}
.lgreen_bg03 {
    background: #529e20;
}
.white {
    color: #fff;
}
.yellow {
    color: #ffff4b;
}
.black {
    color: #333;
}
.grey {
    color: #999;
}
.lgreen {
    color: #75b14c;
}
.orange {
    color: #ff7e15;
}
.skew {
    position: relative;
}
.skew::after,
.skew::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    bottom: 0;
}
.skew01::before {
    border-bottom: 6rem solid #fff;
    border-right: 75rem solid transparent;
}
.skew02::after {
    top: 0;
    border-top: 6rem solid #fff;
    border-left: 75rem solid transparent;
}
.fs14 {
    font-size: 1.4rem;
}
.fs20 {
    font-size: 2rem;
}
.fs22 {
    font-size: 2.2rem;
}
.fs24 {
    font-size: 2.4rem;
}
.fs25 {
    font-size: 2.5rem;
}
.fs26 {
    font-size: 2.6rem;
}
.fs28 {
    font-size: 2.8rem;
}
.fs30 {
    font-size: 3rem;
}
.fs32 {
    font-size: 3.2rem;
}
.fs34 {
    font-size: 3.4rem;
}
.fs36 {
    font-size: 3.6rem;
}
.fs38 {
    font-size: 3.8rem;
}
.fs40 {
    font-size: 4rem;
}
.fs41 {
    font-size: 4.1rem;
}
.fs42 {
    font-size: 4.2rem;
}
.fs44 {
    font-size: 4.4rem;
}
.fs46 {
    font-size: 4.6rem;
}
.fs48 {
    font-size: 4.8rem;
}
.fs49 {
    font-size: 4.9rem;
}
.fs50 {
    font-size: 5rem;
}
.fs52 {
    font-size: 5.2rem;
}
.fs54 {
    font-size: 5.4rem;
}
.fs58 {
    font-size: 5.8rem;
}
.fs64 {
    font-size: 6.4rem;
}
.fs66 {
    font-size: 6.6rem;
}
.fs68 {
    font-size: 6.8rem;
}
.fs70 {
    font-size: 7rem;
}
.fs72 {
    font-size: 7.2rem;
}
.fs74 {
    font-size: 7.4rem;
}
.fs78 {
    font-size: 7.8rem;
}
.fs80 {
    font-size: 8rem;
}
.fs84 {
    font-size: 8.4rem;
}
.fs92 {
    font-size: 9.2rem;
}
.fs100 {
    font-size: 10rem;
}
.fw100 {
    font-weight: 100;
}
.fw300 {
    font-weight: 300;
}
.fw400 {
    font-weight: 400;
}
.fw500 {
    font-weight: 500;
}
h2,
h3,
h4,
h5,
strong {
    font-weight: 500;
}
mark {
    display: inline-block;
    position: relative;
    z-index: 1;
    line-height: 1;
}
.marker01::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1.6rem;
    width: 100%;
    height: 3.1rem;
    background: url(../img/mi/under.webp) no-repeat center top;
    background-size: cover;
    z-index: -1;
}
.marker::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.6rem;
    width: 100%;
    height: 1.4rem;
    background: #ffff4b;
    z-index: -1;
}
.wavyline02::after,
.wavyline::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1.4rem;
    width: 100%;
    height: 0.8rem;
    z-index: -1;
}
.wavyline::after {
    background: url(../img/common/waveline01.webp) no-repeat center top;
    background-size: cover;
}
.wavyline02::after {
    background: url(../img/common/wavyline02.webp) no-repeat center top;
    background-size: cover;
}
.speech {
    position: relative;
    z-index: 1;
    padding: 0 3rem;
}
.speech::after,
.speech::before {
    content: "";
    position: absolute;
    height: 100%;
    z-index: -1;
    bottom: 0;
}
.speech::before {
    left: 0;
}
.speech::after {
    right: 0;
}
.speech01::after,
.speech01::before {
    width: 2.7rem;
    height: 4.7rem;
}
.speech01::before {
    background: url(../img/common/bln01_l.webp) no-repeat center top;
    background-size: cover;
}
.speech01::after {
    background: url(../img/common/bln01_r.webp) no-repeat center top;
    background-size: cover;
}
.speech02::after,
.speech02::before {
    width: 2.7rem;
    height: 4.9rem;
}
.speech02::before {
    background: url(../img/common/bln02_l.webp) no-repeat center top;
    background-size: cover;
}
.speech02::after {
    background: url(../img/common/bln02_r.webp) no-repeat center top;
    background-size: cover;
}
.speech03::after,
.speech03::before {
    width: 2.8rem;
    height: 4.4rem;
    bottom: -0.5rem;
}
.speech03::before {
    background: url(../img/common/bln03_l.webp) no-repeat center top;
    background-size: cover;
}
.speech03::after {
    background: url(../img/common/bln03_r.webp) no-repeat center top;
    background-size: cover;
}
.ttl_speech {
    position: relative;
    z-index: 1;
}
.ttl_speech::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3.4rem;
    width: 100%;
    height: 1.8rem;
    z-index: -1;
}
.ttl_speech01::after {
    background: url(../img/common/speech01.webp) no-repeat center top;
    background-size: cover;
}
.ttl_speech02::after {
    background: url(../img/common/speech02.webp) no-repeat center top;
    background-size: cover;
}
.ttl_dot::after {
    bottom: 0;
    height: 0.3rem;
    background: url(../img/common/dot.svg) no-repeat center top;
    background-size: cover;
}
.italic {
    font-style: italic;
}
.lh1 {
    line-height: 1;
}
.lh11 {
    line-height: 1.1;
}
.lh12 {
    line-height: 1.2;
}
.lh15 {
    line-height: 1.5;
}
.lh18 {
    line-height: 1.8;
}
.lsm3 {
    letter-spacing: -0.3rem;
}
.lsm30 {
    letter-spacing: -3rem;
}
.ls0 {
    letter-spacing: 0;
}
.ts_y {
    text-shadow: 0.2rem 0.2rem 0 #ffff4b;
}
@media screen and (max-width: 749px) {
    html {
        font-size: 1.33333vw;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}
.relative {
    position: relative;
}
