@charset "UTF-8";
/*----------------------------------
全体
----------------------------------*/
#rakuraku {
    color: #464646;
    letter-spacing: 0.1em;
    font-weight: normal;
}
.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;
}
.green {
    color: #78bfb6;
}
.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: #f2f8f7;
}
.ptb15 {
    padding: 1.5rem 0;
}
.pt10 {
    padding-top: 1rem;
}
/*----------------------------------
fv
----------------------------------*/
#rakuraku .fv {
    position: relative;
}
#rakuraku .fv h1 {
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
    z-index: 99;
    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: 1040px;
    margin: 0 auto;
    overflow: hidden;
    padding: 5% 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: #464646;
}
#rakuraku .ic_img {
    width: 100px;
    margin: 0 auto;
    padding-bottom: 1rem;
}
#rakuraku .sec__01 ul.fbox {
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 4em;
    margin-top: 6rem;
}
#rakuraku .sec__01 li {
    width: calc(100% / 3 - 3em);
}
#rakuraku .sec__01 li h3 {
    color: #78bfb6;
    font-size: 2.4rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
}
#rakuraku .sec__01 li p {
    font-size: 1.6rem;
    padding-top: 1rem;
    letter-spacing: 0.1em;
    font-weight: normal;
}
#rakuraku .sec__02 h2 {
    font-size: 3.2rem;
}
#rakuraku .sec__02 h2 span {
    font-size: 4rem;
    color: #78bfb6;
}
#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: 3.8rem;
    text-align: center;
    color: #78bfb6;
    letter-spacing: 0.15em;
    padding-bottom: 1rem;
    padding-top: 6rem;
    font-weight: normal;
}
#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;
}
#rakuraku .sec__04 .page__inner {
    padding: 0 0 5% 0;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    font-weight: normal;
}
#rakuraku .sec__04 ul li {
    font-size: 2.4rem;
    letter-spacing: 0.15em;
    margin-bottom: 2rem;
}
#rakuraku .sec__04 ul li a {
    color: #464646;
    /* border: 1px solid;
    padding: 2% 6%;*/
    display: inline-block;
    position: relative;
}
#rakuraku .sec__04 ul li a::after {
    content: "";
    position: absolute;
    top: 14px;
    right: -20px;
    display: block;
    height: 10px;
    width: 10px;
    vertical-align: middle;
    border-right: 1px solid;
    border-bottom: 1px solid;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
}
@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));
    }
    .notes {
        font-size: calc(20 * (100vw / 750));
        line-height: 1.35;
    }
    sup {
        font-size: 0.5em;
    }
    #rakuraku .fv h1 {
        top: 80%;
        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(44 * (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(44 * (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;
    }
    #rakuraku .sec__04 .page__inner {
        padding: 0 5% 15%;
        letter-spacing: 0.1em;
    }
    #rakuraku .sec__04 ul li {
        font-size: calc(30 * (100vw / 750));
        letter-spacing: 0.1em;
        margin-bottom: calc(30 * (100vw / 750));
    }
    #rakuraku .sec__04 ul li a::after {
        top: 9px;
        right: -10px;
        display: block;
        height: 6px;
        width: 6px;
    }
}