@charset "UTF-8";
/*----------------------------------
全体
----------------------------------*/
#rakuraku {
    color: #333;
}
.t-center {
    text-align: center;
}
.t-left {
    text-align: left;
}
.t-right {
    text-align: right;
}
.block {
    display: block;
}
img, iframe {
    display: block;
}
img {
    width: 100%;
    height: auto;
    margin: 0 auto;
}
a:hover img {
    opacity: 0.8;
}
sup {
    font-size: x-small;
}
.pc {
    display: block;
}
.mobi {
    display: none;
}
.fbox {
    display: flex;
}
/*----------------------------------
文字スタイル
----------------------------------*/
strong, b, .strong {
    font-weight: bold;
}
.red {
    color: #e62626;
}
.pink {
    color: #E5657E;
}
.marker-y {
    background: linear-gradient(transparent 65%, #ff6 50%);
}
.notes {
    font-size: 0.8em;
}
.fnt26 {
    font-size: 2.6rem;
    letter-spacing: 0.15em;
}
.fnt20 {
    font-size: 2rem;
    letter-spacing: 0.15em;
}
.fnt-inter {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 1.5em;
}
.bg-g {
    background-color: rgba(233, 213, 205, .5);
}
.ptb15 {
    padding: 1.5rem 0;
}
.pt10 {
    padding-top: 1rem;
}
.pt60 {
    padding-top: 6rem;
}
/*----------------------------------
fv
----------------------------------*/
#rakuraku .fv {
    position: relative;
}
#rakuraku .fv h1 {
    top: 50%;
    left: 14%;
    transform: translateY(-50%);
    z-index: 0;
    position: absolute;
    display: inline-block;
    background: #fff;
    font-size: 38px;
    font-weight: normal;
    letter-spacing: 0.15em;
    padding: calc(7.8 * (100vw / 1920)) calc(17.5 * (100vw / 1920));
}
#rakuraku .fv picture {
    width: calc(1500 * (100vw / 1920));
}
/*----------------------------------
メイン部分
----------------------------------*/
#rakuraku .page__inner {
    width: 980px;
    margin: 0 auto;
    overflow: hidden;
    padding: 4% 0;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    font-weight: normal;
}
#rakuraku h2 {
    font-size: 38px;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-align: center;
    color: #333;
}
#rakuraku .ic_img {
    width: 100px;
    margin: 0 auto;
    padding-bottom: 1rem;
}
#rakuraku .sec__01 ul.fbox {
    flex-wrap: wrap;
    justify-content: center;
    gap: 4em;
    margin-top: 6rem;
}
#rakuraku .sec__01 li {
    width: calc(100% / 3 - 6rem);
}
#rakuraku .sec__01 li h3 {
    color: #E5657E;
    font-size: 2rem;
    font-weight: 400;
    text-align: center;
}
#rakuraku .sec__02 h2 {
    font-size: 2rem;
}
#rakuraku .sec__02 h2 span {
    font-size: 3.6rem;
    color: #E5657E;
}
#rakuraku .sec__02 .page__lead, #rakuraku .sec__03 .page__lead {
    font-size: 2.6rem;
    text-align: center;
    padding-bottom: 2rem;
}
#rakuraku .sec__02 h3 {
font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.05em;
    padding-top: 6rem;
    font-weight: 600;
}
#rakuraku .sec__03 .fbox {
    justify-content: flex-start;
    gap: 3em;
    margin-top: 6rem;
}
#rakuraku .sec__03 .fbox:nth-child(1) .__text {
    width: 454px;
}
#rakuraku .sec__03 .fbox:nth-child(1) .__img {
    width: calc(100% - 454px - 2em);
}
#rakuraku .sec__03 .fbox:nth-child(2) .__text {
    width: 454px;
}
#rakuraku .sec__03 .fbox:nth-child(2) .__img {
    width: 420px;
    margin-left: 1.5rem;
}
#rakuraku .sec__03 a {
    text-decoration: underline;
    word-wrap: break-word;
}

@media screen and (max-width: 767px) {
    #rakuraku {
        font-size: calc(30 * (100vw / 750));
        line-height: 1.5;
    }
    .pc {
        display: none;
    }
    .mobi {
        display: block;
    }
    .wrapper {
        width: 100%;
    }
    .fnt26 {
        font-size: calc(38 * (100vw / 750));
        letter-spacing: 0.1em;
        line-height: 1.35;
    }
    .fnt20 {
        font-size: calc(32 * (100vw / 750));
        letter-spacing: 0.1em;
        line-height: 1.35;
    }
    .ptb15 {
        padding: calc(35 * (100vw / 750)) 0;
        text-align: left;
    }
    .pt10 {
        padding-top: calc(30 * (100vw / 750));
    }
    .pt60 {
        padding-top: calc(60 * (100vw / 750));
    }
    .notes {
        font-size: calc(20 * (100vw / 750));
        line-height: 1.35;
    }
    sup {
        font-size: 0.5em;
    }
    #rakuraku .fv h1 {
        top: 14%;
        font-size: calc(60 * (100vw / 750));
        left: 50%;
        width: 67%;
        transform: translateX(-50%);
    }
    #rakuraku .page__inner {
        width: 100%;
        padding: 15% 5%;
        box-sizing: border-box;
        font-size: calc(30 * (100vw / 750));
    }
    #rakuraku h2 {
        font-size: calc(54 * (100vw / 750));
        line-height: 1.5;
    }
    #rakuraku .sec__01 ul.fbox {
        justify-content: space-between;
        gap: 2em;
        margin-top: 3rem;
    }
    #rakuraku .sec__01 li {
        width: calc(100% / 2 - 1em);
    }
    #rakuraku .sec__01 li h3 {
        font-size: calc(34 * (100vw / 750));
        line-height: 1.35;
    }
    #rakuraku .sec__01 li p {
        font-size: calc(26 * (100vw / 750));
        line-height: 1.35;
    }
    #rakuraku .sec__02 h2 {
        font-size: calc(38 * (100vw / 750));
        line-height: 1.35;
        letter-spacing: 0.1em;
    }
    #rakuraku .sec__02 h2 span {
        font-size: calc(54 * (100vw / 750));
    }
    #rakuraku .sec__02 h3 {
        font-size: calc(30 * (100vw / 750));
        letter-spacing: 0.1em;
    }
    #rakuraku .sec__02 .page__lead, #rakuraku .sec__03 .page__lead {
        font-size: calc(38 * (100vw / 750));
        line-height: 1.35;
        padding-top: 2rem;
    }
    #rakuraku .sec__03 .fbox {
        display: block;
        margin-top: 3.5rem;
    }
    #rakuraku .sec__03 .fbox:nth-child(1) .__text, #rakuraku .sec__03 .fbox:nth-child(2) .__text {
        width: 100%;
    }
    #rakuraku .sec__03 .fbox:nth-child(1) .__img, #rakuraku .sec__03 .fbox:nth-child(2) .__img {
        width: 100%;
        margin-top: 2rem;
        margin-left: 0;
    }

}