@charset "euc-jp";

html,
body {
    height: 100%;
}

body {
    font-family: YuMincho, serif;
    font-family: "Outfit", "Noto Sans JP", sans-serif;
    background: #364e75;
}

.outfit {
    font-family: "Outfit", sans-serif;
    font-optical-sizing: auto;
}

sup {
    font-size: 13px;
    color: inherit;
    vertical-align: super;
    top: 0;
}

header.header-ptn02 {
    padding: 0.5rem;
    background: #fff;
}

header.header-ptn02 .logo-area {
    max-width: 200px;
}

.cta-btn a {
    background: #E63D50;
    color: #fff;
}

.cta-btn a:hover {
    background: #ffb60e;
    color: #222;

}


/*FV*/
#fv.layout-tate {
    background: url(../images/fv-bg-pc.png);
    background-size: cover;
    background-position: center;
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    padding: 5% 0 4%;
}

#fv:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #151434bd;
    display: block;
}

#fv.layout-tate .fv-txt h1.lp-main-txt {
    color: #fff;
    letter-spacing: 3px;
    line-height: 1.6;
    text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.6);
    margin: 0 0 56px 0;
    font-weight: 500;
}

#fv.layout-tate .fv-txt h1.lp-main-txt span {
    color: inherit;
    padding: 0 1.5rem;
    display: block;
    width: fit-content;
    margin: 0 auto 1.5rem;
    position: relative;
}

#fv.layout-tate .fv-txt h1.lp-main-txt span:before {
    content: "";
    width: 2px;
    height: 100%;
    background: #fff;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(-30deg);
    box-shadow: 3px 3px 5px 1px rgba(0, 0, 0, 0.6);
}

#fv.layout-tate .fv-txt h1.lp-main-txt span:after {
    content: "";
    width: 2px;
    height: 100%;
    background: #fff;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    transform: rotate(30deg);
    box-shadow: 3px 3px 5px 1px rgba(0, 0, 0, 0.6);
}

#fv.layout-tate .fv-txt h1.lp-main-txt strong {
    color: inherit;
    font-size: 150%;
    line-height: 1.4;
}

.outfit {
    color: inherit;
}

.pc-view {
    display: block;
}

.sp-view {
    display: none;
}

#fv i.outfit {
    color: #fff;
    font-style: normal;
    letter-spacing: 3px;
    font-weight: 600;
}

#fv.layout-tate .fv-txt {
    z-index: 1;
}

figure.fv-appeal {
    position: absolute;
    top: -4rem;
    right: 13rem;
    width: 10%;
    max-width: 230px;
}

figure.fv-wild-line {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 0;
    opacity: 0.3;
    width: 50%;
    transform: translate(-50%, 3rem);
}

.cta-btn.ctn-bdr-radi {
    font-family: "Noto Sans JP", sans-serif;
}

.cta-btn.ctn-bdr-radi span {
    color: #fff;
    width: fit-content;
    font-size: 1.2rem;
    padding: 0 1.5rem;
    letter-spacing: 2px;
    margin: 0 auto 1.5rem;
    display: block;
    font-weight: 600;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
    position: relative;
}

.cta-btn.ctn-bdr-radi span:before {
    content: "";
    width: 2px;
    height: 100%;
    background: #fff;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(-30deg);
    box-shadow: 3px 3px 5px 1px rgba(0, 0, 0, 0.6);
}

.cta-btn.ctn-bdr-radi span:after {
    content: "";
    width: 2px;
    height: 100%;
    background: #fff;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    transform: rotate(30deg);
    box-shadow: 3px 3px 5px 1px rgba(0, 0, 0, 0.6);
}

.follow p {
    font-size: 1.1rem;
    letter-spacing: 2px;
    padding: 0 1.5rem;
    display: block;
    font-weight: 600;
    font-family: "Noto Sans JP", sans-serif;
    position: relative;
    width: fit-content;
    margin: 1rem auto;
    color: #1d0f03;
}

.follow p:before {
    content: "";
    width: 2px;
    height: 100%;
    background: #1d0f03;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(-30deg);
}

.follow p:after {
    content: "";
    width: 2px;
    height: 100%;
    background: #1d0f03;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    transform: rotate(30deg);
}

/*logoリスト*/
ul.slider-logo {
    background: #fff;
    padding: 2rem 0;
    margin: 0 0 5rem;
}

.slider-logo li {
    padding: 0 20px;
    box-sizing: border-box;
}

.slider-logo li img {
    width: 100%;
    margin: 8px 0;
}

/*logoリスト*/

/*コンテンツ*/
section>div {
    padding: 0;
}

.background {
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    position: fixed;
    background-position: center center;
    opacity: 0;
    -webkit-background-size: cover;
    background-size: cover;
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
}

.show .background {
    opacity: 1;
    z-index: 0;
}

section .contents-wrap {
    padding: 10% 5%;
    background-color: #151434bd;
    color: #fff;
    width: 94%;
    margin: 0 auto;
    max-width: 1440px;
    box-shadow: 5px 5px 15px 0px rgb(0 0 0 / 50%);
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    border-radius: 5px;
}

.contents-wrap.no-1 {
    margin-bottom: 5%;
}

.main-title {
    font-size: 2.8rem;
    color: #ffffff;
    text-align: center;
    margin-bottom: 3rem;
}

.main-title span {
    font-size: 1.2rem;
    color: #ffffff;
    display: block;
}

.cont-ptn03-box {
    margin: 0 0 3rem 0;
}


.no-btm-mgn {
    margin-bottom: 0;
}

div#content01 {
    height: 100%;
}

#content01_bg {
    background-image: url("../images/content01-bg.png");
}

#content02_bg {
    background-image: url("../images/content02-bg.png");
}

#content03_bg {
    background-image: url("../images/content03-bg.png");
}

#content04_bg {
    background-image: url("../images/content04-bg.png");
}

@media screen and (max-width: 768px) {
    #content01_bg {
        background-image: url("../images/content01-bg-sp.png");
    }

    #content02_bg {
        background-image: url("../images/content02-bg-sp.png");
    }

    #content03_bg {
        background-image: url("../images/content03-bg-sp.png");
    }

    #content04_bg {
        background-image: url("../images/content04-bg-sp.png");
    }
}

h2.contents-ttl {
    font-size: 2.8rem;
    font-weight: normal;
    padding: 0 2rem 2rem 2rem;
    border-bottom: 2px solid #fff;
    margin: 0 auto 2rem;
    text-align: center;
    width: fit-content;
    color: #fff;
    letter-spacing: 4px;
}

section.chance h2.contents-ttl {
    text-align: left;
    margin-left: 0;
    padding: 0 2rem 2rem 0.5rem;
    line-height: 1.5;
}

section.chance h2.contents-ttl strong {
    color: inherit;
    font-weight: inherit;
    font-size: 140%;
}

p.headline-caption,
p.capt {
    font-size: 1.2rem;
    line-height: 1.8;
    color: #fff;
    letter-spacing: 0.15rem;
}

p.headline-caption {
    text-align: center;
}

p.notice {
    color: #fff;
    line-height: 1.8;
    font-size: 90%;
}

/*chance*/
section.chance {
    padding-top: 0;
    margin-top: 0;
}

section.chance .cont-ptn03-txt {
    width: 60%;
    padding: 0 4% 0 0;
    order: 1;
}

section.chance figure.cont-ptn03-img {
    width: 40%;
    order: 2;
}

/*chance*/

/*function*/
section.function .cont-ptn01-box {
    margin: 2rem 0;
    background: #fff;
    padding: 24px;
    border-radius: 5px;
    box-shadow: 1px 1px 5px 2px rgba(0, 0, 0, 0.2);
}

section.function .cont-ptn01-box h3.cont-ptn01-ttl {
    width: 100%;
    justify-content: center;
    font-weight: 600;
    min-height: 2rem;
}

/*function*/

/*support*/
.support-block {
    background: #fff;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 24px;
    margin: 24px 0;
}

.support-block h3 {
    width: 100%;
    text-align: center;
    font-size: 2rem;
    padding: 1rem 0 4rem;
    color: #0b4c95;
}

.support-block-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.support-block-wrap div {
    display: flex;
    flex-wrap: wrap;
    border: 2px solid #284993;
    justify-content: center;
    padding: 24px;
    padding-top: 40px;
    position: relative;
    border-radius: 5px;
}

.support-block-wrap div:before {
    content: "";
    background: #284993;
    position: absolute;
    top: 0;
    left: 50%;
    color: #fff;
    transform: translate(-50%, -50%);
    font-size: 1.2rem;
    padding: 5px 32px;
    border-radius: 3px;
}

.support-block-wrap div.support-block-75 {
    width: calc(75% - 6px);
}

.support-block-wrap div.support-block-75:before {
    content: "無料";
}

.support-block-wrap div.support-block-25 {
    width: calc(25% - 6px);
}

.support-block-wrap div.support-block-25:before {
    content: "有料";
}

.support-block-wrap div dl {
    width: 100%;
    text-align: center;
}

.support-block-wrap div.support-block-75 dl {
    width: 33.333%;
}

.support-block-wrap div dl dt {
    color: #0b4c95;
    font-size: 1.5rem;
    padding: 1rem 0;
}

.support-block-wrap div dl dd span {
    background: #547fc5;
    color: #fff;
    padding: 8px 24px;
    margin: 8px auto;
    display: block;
    width: fit-content;
    border-radius: 5px;
}

.support-block-wrap div dl dd ul li {
    line-height: 2.2;
    font-weight: bold;
    font-size: 1.1rem;
}

.support-block-wrap div.support-block-75 dl:nth-of-type(2) {
    border-left: 2px dashed #670d00;
    border-right: 2px dashed #670d00;
}

/*support*/

/*fee*/
p.tab-catch {
    width: fit-content;
    background: #fff;
    margin: 3rem auto 0;
    font-size: 1.8rem;
    line-height: 1;
    padding: 16px 32px;
    border-radius: 30px;
}

#Fee .tabbox {
    padding: 40px 0;
    border-radius: 10px;
    position: relative
}

#Fee .tabbox .tab {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2%;
}

#Fee .tabbox .tab li {
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    position: relative;
    cursor: pointer;
    border: 1px solid #fff;
    padding: 8px 24px;
    border-radius: 50px;
    color: #fff;
    transition: all 0.2s ease-out;
}

#Fee .tabbox .tab li:hover {
    background: #fff;
    color: #000;
    transition: all 0.2s ease-out;
}

#Fee .tabbox .tab li.select {
    background: #fff;
    color: #000;
}

#Fee .tabbox .content {
    padding-top: 40px
}

#Fee .tabbox .content {
    padding-top: 32px;
}

#Fee .tabbox .content .hide {
    display: none;
}

#Fee .tabbox .content .cell .flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

#Fee .tabbox .content .cell .flex dl {
    padding: 40px;
    width: 31.6%;
    text-align: center;
    background-color: #fff;
    box-shadow: 0 10px 10px rgba(57, 93, 180, .1);
    border-radius: 10px;
}

#Fee .tabbox .content .cell .flex dl:nth-last-child(1) {
    border-right: none;
}

#Fee .tabbox .content .cell .flex dl dt {
    font-weight: 700;
    font-size: 1.5rem;
    text-align: center;
    padding: 0 0 0.5rem 0;
    color: #0b4c95;
}

#Fee .tabbox .content .cell .flex dl dd {
    position: relative;
    padding-top: 1.5rem;
}

#Fee .tabbox .content .cell .flex dl dd .off {
    width: 100%;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    color: #FF4354;
    position: absolute;
    top: 0;
    left: 0;
}

#Fee .tabbox .content .cell .flex dl dd .off span {
    font-size: 130%;
    color: #FF4354;
}

#Fee .tabbox .content .cell .flex dl dd .price {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

#Fee .tabbox .content .cell .flex dl dd .price .en {
    font-size: 3.5rem;
    padding: 0 4px 0 0;
}

#Fee .tabbox .content .cell .flex dl dd .sub {
    font-size: 1rem;
    line-height: 1;
    padding-top: 16px;
}

/*fee*/

/*good-cospa*/
figure.cospa-graph {
    width: 80%;
    max-width: 840px;
    margin: 0 auto 40px;
    background: #fff;
    padding: 40px;
    border-radius: 5px;
}

/*good-cospa*/

/*user-voice*/
ul.reputation-slide {
    overflow: hidden;
}

ul.reputation-slide li {
    background: #fff;
    padding: 24px;
    border-radius: 5px;
    box-shadow: 1px 1px 5px 2px rgba(0, 0, 0, 0.5);
    margin: 16px;
    position: relative;
    min-height: 40rem;
}

ul.reputation-slide li figure {
    border: 1px solid #c8c8c8;
    border-radius: 4px;
    overflow: hidden;
}


ul.reputation-slide li:hover figure {
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease-out;
}

ul.reputation-slide li figure.case-p {
    position: absolute;
    top: 36%;
    left: 75%;
    padding: 0;
    border: 3px solid #fff;
    border-radius: 200px;
    overflow: hidden;
    width: 6rem;
    height: 6rem;
    filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.2));
    display: none;
}

ul.reputation-slide li p:first-of-type {
    text-align: center;
    color: #284993;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.4;
    padding: 1.2rem 0 0 0;
}

ul.reputation-slide li p:first-of-type span {
    font-size: 1rem;
    display: block;
    background: #284993;
    color: #fff;
    line-height: 1;
    padding: 8px 24px;
    margin: 8px auto 0;
    border-radius: 20px;
    width: fit-content;
}

ul.reputation-slide li p+p {
    font-size: 1rem;
    line-height: 1.8;
    margin: 1rem 0 0 0;
}

/*
voice
*/

section#Voice {
    padding-bottom: 30px;
}

#CaseLogo {
    background-color: #fff;
    margin-top: 0;
    padding-top: 100px;
}

.voice-list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1280px;
    margin: 1% auto;
    justify-content: space-between;
}

.voice-list+p.voice-notice {
    text-align: right;
    font-size: 13px;
    max-width: 1280px;
    margin: 0 auto;
    color: #fff;
}

.voice-item {
    width: 32%;
    background: #fff;
    padding: 24px 16px;
    border-radius: 10px;
    box-shadow: 0 10px 20px rgba(57, 98, 132, .1);
}

.voice-item-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 0 15px 0;
    flex-wrap: wrap;
}

.voice-item-inner+p {
    line-height: 1.8;
    font-size: 1.0rem;
}

.voice-item .image {
    width: 25%;
}

.voice-item .item {
    width: 65%;
    text-align: left;
    padding: 0 0 0 5%;
}

.voice-item .item p {
    font-size: 30px;
    margin: 0 0 5px 0;
}

.voice-item .item .overview {
    text-align: left;
    font-size: 1.0rem;
    margin: 0;
    font-weight: bold;
}

.voice-item .item .overview span {
    background: #0b4c95;
    margin: 5px 10px 5px 0;
    color: #ffffff;
    width: 100%;
    display: inline-block;
    text-align: center;
    font-size: 13px;
    padding: 6px;
    line-height: 1;
    max-width: 82px;
    font-weight: 400;
}

.star5_rating {
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC;
    font-size: 1.6rem;
}

.star5_rating:before,
.star5_rating:after {
    content: '★★★★★';
    font-size: 1.6rem;
}

.star5_rating:after {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffba42;
}

.star5_rating[data-rate="4.5"]:after {
    width: 90%;
}

.liner {
    background: linear-gradient(transparent 60%, #ffc3c3 60%);
}

.reputation-block {
    padding: 3% 0;
}

/*user-voice*/

/*annotation*/
.annotation-wrap {
    background: #ffffffc4;
    padding: 8px 16px;
    margin-top: 56px;
    height: 10rem;
    overflow-y: scroll;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .1) inset;
}

.annotation-wrap p {
    font-size: 0.8rem;
    line-height: 1.6;
    padding: 0.5rem 0;
}

/*annotation*/

/*footer*/
.ftr-ptn01 {
    position: relative;
    z-index: 1;
    padding: 0 0 164px 0;
}

/*footer*/

@media (max-width:1440px) {
    figure.fv-appeal {
        top: -3rem;
        right: 9rem;
    }

    h2.contents-ttl {
        font-size: 2.2rem;
    }

    p.headline-caption,
    p.capt {
        font-size: 1.1rem;
    }

    .support-block-wrap div {
        padding: 40px 16px 16px;
    }

    .support-block-wrap div dl dt {
        font-size: 1.3rem;
        padding: 0 0 0.5rem 0;
    }
}

@media (max-width:1280px) {
    #fv.layout-tate .fv-txt h1.lp-main-txt {
        font-size: 2.6rem;
        margin: 0 0 40px 0;
    }

    figure.fv-appeal {
        right: 11rem;
    }

    ul.slider-logo {
        padding: 1rem 0;
    }

    p.headline-caption,
    p.capt {
        font-size: 1rem;
    }

    .support-block-wrap div dl dd ul li {
        line-height: 1.8;
        font-size: 1rem;
    }

    ul.reputation-slide li {
        min-height: 37rem;
    }

    ul.reputation-slide li p:first-of-type {
        font-size: 1rem;
    }

    ul.reputation-slide li p:first-of-type span {
        font-size: 0.8rem;
    }

    ul.reputation-slide li p:first-of-type span {
        font-size: 0.8rem;
    }

    /* Voice
    ----------------*/
    .voice-item {
        padding: 20px;
    }

    .voice-item .image {
        width: 30%;
    }

    .voice-item .item {
        width: 70%;
    }

    .voice-item .item .overview {
        font-size: 0.7rem;
    }

    .voice-item .item .overview span {
        margin: 10px;
        font-size: 1.0rem;
        max-width: 72px;
    }
}

@media (max-width:1160px) {}

@media (max-width:1024px) {
    h2.contents-ttl {
        font-size: 1.8rem;
    }

    p.headline-caption,
    p.capt {
        font-size: 0.8rem;
    }

    .cont-ptn01-box {
        width: 32%;
    }

    h3.cont-ptn01-ttl {
        font-size: 0.9rem;
    }

    p.cont-ptn01-txt {
        font-size: 0.8rem;
    }

    .support-block {
        padding: 32px;
    }

    .support-block h3 {
        font-size: 1.6rem;
        padding: 0 0 3rem;
    }

    .support-block-wrap div.support-block-75,
    .support-block-wrap div.support-block-25 {
        width: 100%;
    }

    .support-block-wrap div.support-block-75 {
        margin: 0 0 2rem 0;
    }

    .support-block-wrap div.support-block-25 dl {
        max-width: 100%;
    }

    .support-block-wrap div dl dd span {
        margin: 8px auto 16px;
        font-size: 1.2rem;
    }

    .support-block-wrap div.support-block-25 ul {
        width: 60%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
    }

    .support-block-wrap div.support-block-25 ul li {
        width: 50%;
    }

    #Fee .tabbox .content .cell .flex dl dd .price .en {
        font-size: 2.5rem;
        padding: 0 4px 0 0;
    }

    ul.reputation-slide li {
        min-height: 32rem;
    }

    ul.reputation-slide li p+p {
        font-size: 0.8rem;
    }

    .voice-item-inner {
        flex-direction: column;
    }

    .voice-item .image {
        width: 50%;
    }

    .voice-item .item {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .voice-item .item p {
        text-align: center;
    }
}

/*TAB*/
@media (max-width:768px) {
    .pc-view {
        display: none;
    }

    .sp-view {
        display: block;
    }

    #fv.layout-tate {
        background: url(../images/fv-bg-sp.png);
        background-size: cover;
        height: 90%;
    }

    #fv.layout-tate .fv-txt h1.lp-main-txt {
        font-size: 2.2rem;
        margin: 0 0 48px 0;
    }

    #fv.layout-tate .fv-txt h1.lp-main-txt span {
        padding: 0 1rem;
    }

    figure.fv-appeal {
        right: 8rem;
        top: -10rem;
        width: 18%;
    }

    .cta-btn.ctn-bdr-radi span {
        font-size: 60%;
        padding: 0 1rem;
    }

    h2.contents-ttl {
        font-size: 1.4rem;
    }

    section.chance .cont-ptn03-txt {
        width: 70%;
    }

    section.chance figure.cont-ptn03-img {
        width: 30%;
    }

    section.function .cont-ptn01-box {
        padding: 16px;
    }

    .support-block-wrap div {
        padding: 16px;
    }

    .support-block-wrap div dl,
    .support-block-wrap div.support-block-75 dl {
        width: 100%;
        padding: 2rem 0;
    }

    .support-block-wrap div.support-block-75 dl:nth-of-type(2) {
        border-left: none;
        border-right: none;
        border-top: 2px dashed #284993;
        border-bottom: 2px dashed #284993;
    }

    .support-block-wrap div.support-block-75 ul {
        width: 80%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
    }

    .support-block-wrap div.support-block-75 ul li {
        width: 50%;
    }

    p.tab-catch {
        font-size: 1.3rem;
    }

    #Fee .tabbox .content .cell .flex dl {
        padding: 24px;
    }

    #Fee .tabbox .content .cell .flex dl dt {
        font-size: 1.1rem;
    }

    #Fee .tabbox .content .cell .flex dl dd .price {
        font-size: 1.2rem;
    }

    #Fee .tabbox .content .cell .flex dl dd .price .en {
        font-size: 2rem;
    }

    ul.reputation-slide li {
        padding: 16px;
        margin: 8px;
    }

    .voice-item {
        padding: 30px;
        width: 80%;
        margin: 0 auto 10%;
    }

    .voice-item:last-of-type {
        margin-bottom: 3%;
    }

    .star5_rating:before,
    .star5_rating:after {
        font-size: 2rem;
    }

    .voice-item .item .overview {
        font-size: 18px;
        padding: 0 10%;
    }

    .voice-item .item .overview span {
        font-size: 16px;
        max-width: 140px;
    }

    .voice-item p {
        font-size: 16px;
    }

    .voice-list+p.voice-notice {
        text-align: center;
        font-size: 14px;
        width: 80%;
    }
}

@media (max-width:580px) {
    figure.fv-appeal {
        right: 3rem;
        top: -8rem;
    }

    #fv.layout-tate .fv-txt h1.lp-main-txt {
        font-size: 1.8rem;
    }

    section.chance .cont-ptn03-txt {
        width: 100%;
        order: 2;
    }

    section.chance figure.cont-ptn03-img {
        width: 100%;
        order: 1;
        margin: 0 0 1rem 0;
        padding: 0 10%;
    }

    section.chance h2.contents-ttl {
        text-align: center;
        padding: 1rem 0;
        margin: 0 auto 1rem;
    }

    section.function .cont-ptn01-box {
        width: 80%;
        margin: 3% 10%;
    }

    h2.contents-ttl {
        font-size: 1.4rem;
        padding: 0 0 1rem 0;
    }

    .support-block {
        padding: 24px;
    }

    .support-block h3 {
        font-size: 1.2rem;
        padding: 0 0 2rem;
    }

    .support-block-wrap div {
        padding: 24px 16px 16px;
    }

    .support-block-wrap div.support-block-75 ul,
    .support-block-wrap div.support-block-25 ul {
        width: 100%;
    }

    #Fee .tabbox .content .cell .flex dl dd .price .en {
        font-size: 1.4rem;
    }

    #Fee .tabbox .content .cell .flex dl dd .sub {
        font-size: 0.8rem;
        line-height: 1;
        padding-top: 12px;
    }

    #Fee .tabbox .content .cell .flex dl dd .off {
        font-size: 0.8rem;
    }

    .follow p {
        font-size: 0.9rem;
        padding: 0 1rem;
    }

    .voice-item .item .overview {
        padding: 5% 0;
    }
}

/*SMP*/
@media (max-width:480px) {
    sup {
        font-size: 9px;
    }

    #fv.layout-tate .fv-txt h1.lp-main-txt {
        margin: 0 0 40px 0;
        font-size: 1.4rem;
    }

    figure.fv-appeal {}

    .support-block-wrap div.support-block-75 ul li,
    .support-block-wrap div.support-block-25 ul li {
        width: 100%;
    }

    p.tab-catch {
        font-size: 1.1rem;
    }

    #Fee .tabbox {
        padding: 24px 0;
    }

    #Fee .tabbox .tab li {
        font-size: 14px;
        padding: 4px 16px;
    }

    #Fee .tabbox .content .cell .flex dl {
        padding: 16px;
        width: 100%;
        margin: 0 0 1rem;
        display: flex;
        align-items: center;
    }

    #Fee .tabbox .content .cell .flex dl:last-of-type {
        margin-bottom: 0;
    }

    #Fee .tabbox .content .cell .flex dl dt {
        font-size: 1.1rem;
        width: 30%;
        padding: 0;
    }

    #Fee .tabbox .content .cell .flex dl dd {
        width: 70%;
        padding: 0 0 0 1.5rem;
    }

    #Fee .tabbox .content .cell .flex dl dd .off {
        width: fit-content;
        top: 50%;
        transform: translateY(-50%);
    }

    figure.cospa-graph {
        width: 100%;
        padding: 10px;
    }

    .annotation-wrap p {
        font-size: 0.7rem;
    }

    .voice-item {
        padding: 25px;
        width: 100%;
        margin: 0 auto 10%;
    }

    .star5_rating:before,
    .star5_rating:after {
        font-size: 3rem;
    }

    .voice-item .item .overview {
        font-size: 18px;
    }

    .voice-item .item .overview span {
        font-size: 16px;
        max-width: 140px;
    }
}

@media (max-width:414px) {
    #fv.layout-tate {
        padding: 20% 0 0 0;
    }

    #fv.layout-tate .fv-txt h1.lp-main-txt {
        font-size: 1.4rem;
        margin: 0 0 24px 0;
        font-weight: 600;
        letter-spacing: 1px;
    }

    #fv.layout-tate .fv-txt h1.lp-main-txt span {
        font-size: 70%;
        letter-spacing: 1px;
    }

    #fv.layout-tate .fv-txt h1.lp-main-txt strong {
        font-size: 180%;
        line-height: 1.2;
    }

    #fv i.outfit {
        letter-spacing: 2px;
        font-size: 160%;
        font-weight: 500;
    }

    figure.fv-appeal {
        right: 1rem;
        top: -8rem;
        width: 30%;
    }

    .cta-btn.ctn-bdr-radi span {
        font-size: 1.0rem;
        margin: 0 auto 1rem;
    }

    section.chance h2.contents-ttl,
    h2.contents-ttl {
        padding: 1.5rem 0 .5rem;
        font-size: 1.4rem;
        letter-spacing: 1px;
    }

    p.headline-caption,
    p.capt {
        font-size: 1.0rem;
    }

    section.chance figure.cont-ptn03-img {
        padding: 0;
    }

    h3.cont-ptn01-ttl {
        font-size: 0.8rem;
        padding: 0;
    }

    p.cont-ptn01-txt {
        font-size: 0.7rem;
    }

    p.notice {
        font-size: 70%;
    }

    .support-block h3 {
        font-size: 1.6rem;
    }

    .support-block-wrap div:before {
        font-size: 1.2rem;
    }

    .support-block-wrap div {
        padding: 16px 16px 8px;
    }

    .support-block-wrap div dl dt {
        font-size: 1.4rem;
    }

    .support-block-wrap div dl dd ul li {
        line-height: 2;
        font-size: 1.2rem;
    }

    .support-block-wrap div.support-block-75 {
        gap: 0;
    }

    p.tab-catch {
        font-size: 1.0rem;
        margin: 1rem auto 0;
        padding: 13px;
    }

    #Fee .tabbox .tab {
        gap: 4%;
    }

    #Fee .tabbox .tab li {
        font-size: 14px;
        padding: 6px 12px;
    }

    #Fee .tabbox .content .cell .flex dl dt {
        font-size: 1.0rem;
    }

    #Fee .tabbox .content .cell .flex dl dd .price {
        font-size: 1.0rem;
    }

    #Fee .tabbox .content .cell .flex dl dd .price .en {
        font-size: 1.8rem;
        padding: 0 2px 0 0;
    }

    #Fee .tabbox .content .cell .flex dl dd .sub {
        padding-top: 6px;
    }

    ul.reputation-slide li {
        min-height: 26rem;
    }

    ul.reputation-slide li p:first-of-type {
        font-size: 0.8rem;
        padding: 1rem 0 0 0;
    }

    ul.reputation-slide li p:first-of-type {
        font-size: 0.8rem;
        padding: 1rem 0 0 0;
    }

    ul.reputation-slide li p+p {
        font-size: 0.7rem;
        line-height: 1.6;
    }

    .ftr-ptn01 {
        padding: 0 0 135px 0;
    }

    .follow p {
        font-size: 1.0rem;
        padding: 0 1rem;
    }

    .voice-item .item .overview {
        text-align: center;
    }

    .voice-item .item .overview span {
        max-width: 100%;
        margin: 10px 0;
    }

    .voice-item p {
        font-size: 16px;
    }
}

@media (max-width:390px) {
    #fv.layout-tate .fv-txt h1.lp-main-txt {
        font-size: 1.1rem;
    }

    #fv.layout-tate .fv-txt h1.lp-main-txt span {
        font-size: 80%;
        padding: 0 0.6rem;
    }

    ul.slider-logo {
        padding: 0;
    }

    .main-title {
        font-size: 1.4rem;
        color: #ffffff;
        text-align: center;
        margin-bottom: 2rem;
    }

    .main-title span {
        font-size: .9rem;
        color: #ffffff;
        display: block;
        padding-bottom: 10px;
    }

    .support .main-title {
        margin-bottom: 0;
    }
}

@media (max-width:375px) {}

