@charset "UTF-8";
/* デフォルト */

/* ここからページ固有のスタイルを記述 */


.sec10 {
    background-color: #FFFCFD;
    padding: 80px 0 100px;
    position: relative;
    z-index: 0;
}
.sec10::before {
    position: absolute;
    content: "";
    background-image: url(../img/petal01.png);
    background-size: 100%;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
    top: 0;
}
.sec10::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    background: url(../img/petal02.png) no-repeat bottom/100%;
    z-index: -1;
}
@media screen and (max-width:540px) {
    .sec10 {
        padding: 50px 0 80px;
    }
    .sec10::before {
        background-image: url(../img/petal01-sp.png);
    }
    .sec10::after {
        background: url(../img/petal02-sp.png) no-repeat bottom/100%;
        bottom: 0;
    }
}
.sec10 img {
    width: 278px;
    margin: 25px auto 0;
}

.sec10 h2 {
    text-align: left;
    margin-left: 100px;
    color: #0B3476;
    font-size: 24px;
    font-weight: normal;
    margin: 0 100px 16px;
    position: relative;
}
.sec10 h2::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    top: 40%;
    left: -3%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 12px 8px 0 8px;
    border-color: #0B3476 transparent transparent transparent;
}
@media screen and (max-width:540px) {
    .sec10 h2 {
        margin-left: 100px;
        font-size: 18px;
        margin: 0 20px 6px;
    }
    .sec10 h2::before {
        top: 40%;
        left: -2.5%;
        transform: translateX(-50%);
        border-style: solid;
        border-width: 9px 6.8px 0 6.8px;
        border-color: #0B3476 transparent transparent transparent;
    }
}

.box01 {
    background: #F0F0F0;
    margin: 0 auto 39px;
    padding: 25px 0 35px;
    z-index: 1;
    position: relative;
  }
.box01::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    bottom: -26px;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 14px 13px 0 13px;
    border-color: #D03F6B transparent transparent transparent;
}
@media screen and (max-width:540px) {
    .box01 {
        padding: 20px 0 30px;
        margin-bottom: 27px;
      }
    .box01::after {
        bottom: -19px;
        border-width: 10px 9px 0 9px;
    }
}

.box01 p {
    text-align: center;
}
.box01 p.title{
    font-size: 24px;
    font-weight: bold;
    color: #0B3476;
    margin-bottom: 15px;
}
@media screen and (max-width:540px) {
    .box01 p.title {
        font-size: 20px;
        font-weight: normal;
        margin-bottom: 5px;
    }
}
.box01 p.title.type02{
    color: #D03F6B;
}
.box01 p.record {
    font-size: 28px;
    font-weight: bold;
    color: #D03F6B;
}
@media screen and (max-width:540px) {
    .box01 p.record {
        font-size: 22px;
    }
}
.box01.red {
    background: #FFEDEF;
    margin: 0 auto 60px;
    position: relative;
}
.box01.red::before {
    position: absolute;
    content: "";
    background-image: url(../img/cherry.png);
    background-size: 100%;
    width: 101px;
    height: 109px;
    top: 5%;
    right: 4%;
}
.box01.red::after {
    display: none;
}
@media screen and (max-width:540px) {
    .box01.red {
        margin: 0 auto 40px;
    }
    .box01.red::before {
        width: 61px;
        height: 65.7px;
        top: 1.5%;
        right: 2.5%;
    }
}

.voice {
    background: white;
    width: 397px;
    margin: 25px auto 0;
    padding: 25px 30px;
    border-radius: 10px;
}
.voice.type02 {
    width: 254px;
    padding: 20px 23px;
    margin: 25px 0 0;
    border-radius: 10px;
}
.voice p {
    text-align: left;
    font-size: 16px;
}
@media screen and (max-width:540px) {
    .voice {
        width: 315px;
        margin: 15px auto;
        padding: 20px 22px 16px;
        border-radius: 10px;
    }
    .voice.type02 {
        width: 315px;
        padding: 20px 23px;
        margin: 15px auto;
        border-radius: 10px;
    }
    .voice p {
        font-size: 15px;
    }
}

.text-solid {
    padding-bottom: -1px;
    border-bottom: solid 2px #F98CAD;
  }
.text-solid.type02 {
    border-bottom: solid 2px #749EE1;
}

.parallel {
    display: flex;
    width: 438px;
    margin: 0 auto;
    align-items: center;
    gap: 15px;
}
.parallel img {
    width: 169px;
    margin: 0;
}
@media screen and (max-width:540px) {
    .parallel {
        display: block;
        width: 100%;
    }
    .parallel img {
        width: 219px;
        margin: 15px auto 0;
    }
}

.voice p.middle {
    margin: 13px auto;
}
.box01 p.empty {
    margin: 0 auto 12px;
}
.sec10 img.large {
    width: 403px;
}
