@charset "UTF-8";

/*================================================================
# section-title01
================================================================ */
.second-layer .section-title01__jp strong {
    font-size: 48px;
}

/*================================================================
#anchor
================================================================ */
.anchor .anchor__list {
    width: calc(100% / 4 - 16px);
}

/*================================================================
.intro
================================================================ */
.intro {
    margin-top: -40px;
}

.intro .wrap {
    position: relative;
}

.intro .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.intro .left {
    width: 280px;
    position: relative;
}

.intro .right {
    width: 500px;
    padding-right: 64px;
}

.anchor .anchor__ul {
    margin-left: 0;
    flex-direction: column;
}

.anchor .anchor__list {
    width: 100%;
    margin: 0;
}

.anchor .anchor__list:nth-child(n + 2) {
    margin-top: 16px;
}

.intro .sub-title {
    font-weight: 700;
    color: #7a7870;
}

.intro .title {
    margin-top: 8px;
    font-size: 32px;
}

.intro .text {
    margin-top: 16px;
    line-height: 2;
}

.intro .intro__img01 {
    position: absolute;
    bottom: -58px;
    left: 220px;
}

.intro .intro__img02 {
    position: absolute;
    right: 7px;
    bottom: -62px;
    z-index: 1;
}

/*================================================================
# チェックポイントベスト7
================================================================ */

.second-layer .container01 .slick-img img {
    border-radius: 40px;
}

.second-layer .container01 .text-area {
    min-height: 500px;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

/*================================================================
#ファミリーステイ
================================================================ */
.section-title01__img {
    width: 720px;
    position: absolute;
    right: -160px;
    bottom: 0px;
}

.family-trip .section-title02 .sub-title {
    font-family: "Roboto";
    font-size: 24px;
    letter-spacing: 0;
}

.family-trip .section-title02 .sub-title strong {
    color: var(--green);
}

.family-trip .section-title02 {
    justify-content: start;
}

.family-trip .point01_img20 {
    width: 320px;
    position: absolute;
    top: -180px;
    right: -9px;
}

.family-trip .point01_img20 .point01_img20__img img {
    border: 8px solid #fff;
    border-radius: 8px;
}

.family-trip .point01_img20__sub-title {
    margin-top: 16px;
}

.family-trip .point01_img20__title {
    font-size: 20px;
    color: var(--green);
}

.family-trip .point01_img20__text {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 400;
}

.point02 .box01 .middle {
    margin-top: 0;
}

.family-trip .point02__title {
    margin-top: 64px;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}

.family-trip .point02 .container {
    margin: 40px 0 0 -40px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
}

.family-trip .point02 .box01 {
    width: calc(100% / 2 - 40px);
    margin-left: 40px;
    padding: 40px;
    border-radius: 40px;
    background-color: rgba(87, 174, 82, 0.15);
}

.family-trip .point02 .box01:nth-child(n + 3) {
    margin-top: 40px;
}

.family-trip .point02 .box01 .number {
    margin: auto;
    top: -48px;
    right: 0;
    left: 0;
    font-size: 20px;
    font-weight: 700;
    color: var(--green);
    letter-spacing: 0.1em;
}

.family-trip .point02 .box01 .number span {
    position: relative;
}

.family-trip .point02 .box01 .number span:before {
    width: 2px;
    height: 100%;
    background-color: var(--green);
    position: absolute;
    content: "";
    top: 0;
    left: -20px;
    transform: rotate(-35deg);
}

.family-trip .point02 .box01 .number span:after {
    width: 2px;
    height: 100%;
    background-color: var(--green);
    position: absolute;
    content: "";
    top: 0;
    right: -20px;
    transform: rotate(35deg);
}

.family-trip .point02 .box01 .title {
    margin-top: 16px;
    font-size: 24px;
}

.family-trip .point02 .box01 .title small {
    margin-left: 4px;
    font-size: 14px;
}

.family-trip .point02 .box01 .sub-title {
    font-size: 14px;
    color: var(--black);
}

.family-trip .point02 .box01 .middle img {
    border-radius: 16px;
}

.family-trip .point02 .box01 .text {
    margin-top: 8px;
    line-height: 1.618;
}

.family-trip .point03 {
    margin-top: 100px;
    position: relative;
}

.family-trip .family-trip__illust01 {
    position: absolute;
    top: 26px;
    right: -13px;
}

.family-trip .point03 .full-width {
    padding-bottom: 40px;
}

.family-trip .point03 .full-width:before {
    width: 100%;
    height: 400px;
    opacity: 0.2;
    background-color: var(--green);
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    z-index: -1;
}

@media screen and (min-width: 1601px) {
    .family-trip .full-width .slick-slider {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .family-trip .full-width .slick-slider .slick-slide img {
        border-radius: 4px;
    }
}

.family-trip .slick-slider.slider04 .slick-slide {
    width: 561px;
}

.family-trip .point03 .slider {
    margin-top: 40px;
}

.family-trip .point03 .slider .name {
    margin-top: 16px;
    font-size: 20px;
    font-weight: 700;
}

.family-trip .point03 .slider .text {
    margin-top: 8px;
    font-size: 14px;
    color: var(--gray);
}

.family-trip .point03 .black-btn-wrap {
    margin-top: 24px;
}

.family-trip .point04 .number {
    margin-bottom: 24px;
    opacity: 1;
    position: relative;
    top: 0;
    left: 0;
    font-size: 20px;
    font-weight: 700;
    color: var(--green);
    letter-spacing: 0.1em;
}

.family-trip__illust02 {
    position: absolute;
    top: -21px;
    right: 48px;
}

/*================================================================
# 赤ちゃん＆キッズ旅
================================================================ */
.baby-journey .section-title01__img {
    width: 640px;
    position: absolute;
    right: -140px;
    bottom: 0px;
}

.baby-journey_illust01 {
    position: absolute;
    bottom: -100px;
    left: -260px;
}

.baby-journey_illust02 {
    position: absolute;
    right: -100px;
    bottom: 24px;
}

.baby-journey_illust03 {
    position: absolute;
    bottom: 13px;
    left: -260px;
}

.baby-journey_illust04 {
    position: absolute;
    right: 34px;
    bottom: 38px;
}

.baby-journey_illust05 {
    position: absolute;
    bottom: -53px;
    left: -187px;
}

.baby-journey_illust06 {
    position: absolute;
    right: -242px;
    bottom: 72px;
}

.baby-journey .lend {
    margin-top: 24px;
    font-size: 14px;
}

.lend__title {
    font-weight: 700;
}

.baby-journey .lend .lend__list {
    margin: 4px 0 0 1em;
    display: flex;
    flex-wrap: wrap;
}

.baby-journey .lend .lend__list li {
    margin-right: 24px;
    color: var(--gray);
}

/*================================================================
# マタニティ旅
================================================================ */
.maternity-trip .section-title01__img {
    width: 640px;
    position: absolute;
    right: -140px;
    bottom: 0px;
}

.maternity-trip_illust01 {
    position: absolute;
    bottom: -12px;
    left: -173px;
}

.maternity-trip_illust02 {
    position: absolute;
    right: -119px;
    bottom: 24px;
}

.maternity-trip_illust03 {
    position: absolute;
    bottom: -70px;
    left: -184px;
}

.maternity-trip_illust04 {
    width: 379px;
    position: absolute;
    bottom: -42px;
    left: -306px;
}

/*================================================================
# 3世代旅
================================================================ */
.generation-trip .section-title01__img {
    width: 640px;
    position: absolute;
    right: -130px;
    bottom: 0px;
}

.generation-trip_illust01 {
    position: absolute;
    bottom: -12px;
    left: -223px;
}

.generation-trip_illust02 {
    position: absolute;
    right: -255px;
    bottom: -65px;
}

.generation-trip_illust03 {
    width: 380px;
    position: absolute;
    bottom: -58px;
    right: -210px;
}

.generation-trip_illust04 {
    width: 379px;
    position: absolute;
    bottom: -42px;
    left: 318px;
}