/* ==========================================================================
トップページ
========================================================================== */
/* トップページ共通
---------------------------------*/
.title-flex{
    display: flex;
    position: absolute;
    align-items: center;
    gap: 4px;
    left: 0;
    right: 0;
    margin: auto;
    width: fit-content;
}

.title-flex img{
    filter: saturate(110%);
}

h3.index__areaTitle{
    font-family: var(--maru);
    font-size: 28px;
    font-weight: bold;
    color: #285396;
    max-width: 90%;
    margin: 0 auto;
    top: -21px;
}

.index a.btn{
    display: flex;
    align-items: center;
    width: fit-content;
    margin: 0 auto;
    border-radius: 8px;
    padding: 13px 22px;
    font-size: 20px;
    font-weight: 500;
    gap: 8px;
    transition: all .5s;
}


.index a.btn.more>img{
    width: 140px;
    max-width: 20vw;
}

.index a.btn.demo{
    border: 3px solid #3B4E60;
    color: #3B4E60;
}

a.btn:hover{
    transform: scale(1.02);
}

.reversal{transform: scale(-1, 1);}

@media screen and (max-width: 480px){
    a.btn{
        font-size: 16px;
    }

    h3.index__areaTitle{
        font-size: 6vw;
        top: -4vw;
    }
}


/* ファーストビュー
---------------------------------*/
.firstviewArea{
    background-color: #E9EDF4;
    position: relative;
    width: 96vw;
    margin: 0 auto 96px;
    border-radius: 0 0 48px 48px;
}

.itBadge{
    position: absolute;
    left: calc(50vw + 428px);
    bottom: 70px;
    width: 10%;
    max-width: 180px;
}

.firstviewArea .innerFlex{
    display: flex;
    align-items: center;
    justify-content: center;
}



.fvGraphic{filter: saturate(115%);}

.firstviewArea .pc{display: block;}
.firstviewArea .sp{display: none;}

.fvGraphic.pc{
    width: 48vw;
    max-width: 768px;
    margin-left: -1%;
}

.fvText.pc{
    width: 37vw;
    max-width: 580px;
    margin-bottom: min(3vw, 48px);
}

.appLinks img{
    max-height: 56px;
    height: 3.5vw;
    width: auto;
    margin: 32px 0;
}

.fvGroups img{
    height: 11.5vw;
    max-height: 192px;
    filter: saturate(115%);
    width: auto;
}

.fvGroups img:first-of-type{
    margin-right: 16px;
}

.fvBtnArea{
    display: flex;
    justify-content: center;
    gap: 12px;
    position: absolute;
    bottom: -33.5px;
    right: 0;
    left: 0;
    margin: auto;
}

.fvBtnArea>a{
    width: 40%;
    max-width: 420px;
    font-size: 24px;
    font-weight: 600;
    padding: 4px;
    border-radius: 50vh;
    text-align: center;
    transition: .4s;
}

.fvBtnArea>a>div{
    border-radius: 50vh;
    padding: 16px 8px;
}

.fvBtnArea a.inquiry{
    background-image:  linear-gradient(to bottom, #ffbf1c 0%, #d15700 100%);
    box-shadow: 0px 4px 0px 0px #d15700;
}

.fvBtnArea a.demo{
    background-color: #3b4d60;
    box-shadow: 0px 4px 0px 0px #3b4d60;
}

.fvBtnArea a.inquiry div{
    background-color: #fa8100;
    color: #fff;
    text-shadow: 0px 0px 10px rgb(217, 87, 31);
}

.fvBtnArea a.demo div{
    background-color: #fff;
    color: #3b4d60;
    display: flex;
    gap: 4px;
    align-items: center;
    justify-content: center;
}

.fvBtnArea>a.demo:hover,.fvBtnArea>a.inquiry:hover{
    transition: .4s;
    transform: translateY(4px);
    box-shadow: none;
}



@media screen and (max-width: 1600px){
    .appLinks img{
        margin: 2vw 0;
    }

    .itBadge{
        left: unset;
        right: 8vw;
        bottom: 13%;
    }
}

@media screen and (max-width: 880px){
    .fvBtnArea>a{
        width: 40%;
        max-width: 420px;
        font-size: 2.5vw;
    }

    .fvBtnArea>a>div{
        border-radius: 50vh;
        padding: 12px 6px;
    }
}

@media screen and (max-width: 660px){
    .firstviewArea{
        margin: 0 auto 174px;
        text-align: center;
        padding: 8vw 0;
        background-color: unset;
        background-image: url("../img/fvBg-sp.png"),linear-gradient(#E9EDF4,#E9EDF5);
        background-size: contain;
        background-position: 50% 50%;
    }

    .firstviewArea .pc{display: none;}
    .firstviewArea .sp{display: block;}

    .itBadge{display: none;}

    .fvGraphic.sp{
        width: 96%;
        margin: 32px auto 0;
    }

    .firstviewArea .innerFlex{
        display: block;
    }

    .fvText.sp{
        width: 80%;
        margin: 0 auto;
    }

    .appLinks img{
        height: 48px;
    }

    .fvGroups img{
        max-height: none;
        height: 25vw;
    }

    .fvBtnArea{
        display: block;
        bottom: -108px;
    }

    .fvBtnArea>a{
        display: block;
        width: 70%;
        margin: 0 auto 12px;
        font-size: 18px;
    }
}

@media screen and (max-width: 440px){
    .firstviewArea{
        padding: 8vw 0 10vw;
    }

    .fvBtnArea>a{
        width: 85%;
    }

    .fvGroups img{
        height: 30vw;
    }

    .fvGroups img:first-of-type{
        margin-right: 8px;
    }
}

/* 導入実績のロゴ
---------------------------------*/
.logoArea{
    border: #E9EDF4 4px solid;
    border-radius: 12px;
    width: 1600px;
    max-width: 90%;
    margin: 0 auto 72px;
    position: relative;
}

#partner:before {
    content: "";
    display: block;
    height: 64px;
    margin-top: -64px;
    opacity: 0;
}

.logoArea h4{
    color: #152e47;
    font-size: 20px;
    font-weight: bold;
    position: absolute;
    top: -16px;
    background-color: #fff;
    padding: 0 24px;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-block;
    width: fit-content;
}

.logoArea__logos{
    width: 94%;
    margin: 0 auto;
    padding: 48px 0 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 32px 24px;
    justify-content: center;
    align-items: center;
}

.logoArea__logos>img{
    height: 40px;
    width: auto;
}

@media screen and (max-width: 660px){
    .logoArea{
        margin: 0 auto 32px;
    }

    .logoArea h4{
        padding: 0 8px;
        font-size: 18px;
    }

    .logoArea__logos{
        width: 96%;
        padding: 32px 0 24px;
        gap: 24px;
    }

    .logoArea__logos>img{
        height: 20px;
    }
}

/* PRtimesへの動線バナー
---------------------------------*/
.box-storybnr{
    width: 1000px;
    max-width: 90%;
    margin: -24px auto 48px;
    box-shadow: 0px 6px 0px 0px rgba(146, 146, 146, 0.2);
    transition: all .5s;
}

.box-storybnr:hover {
    filter: brightness(101%);
    transform: translateY(6px);
    box-shadow: none;
}

.box-storybnr img{
    width: 100%;
}

@media screen and (max-width: 660px){
    .box-storybnr{
        margin-top: 0;
    }
}

@media screen and (max-width: 480px){
.box-storybnr{
    display: none;
}
}

/* 最新情報
---------------------------------*/
.newsArea{margin-bottom: 128px;}

.newsArea__inner{
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 0;
    font-size: 18px;
    font-weight: 500;
    text-align: right;
}

.newsArea__inner h5{
    padding-bottom: 4px;
    width: 100%;
    border-bottom: #3B4E60 1px solid;
    color: #3B4E60;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 16px;
    text-align: left;
}

.newsArea__inner .single{
    display: flex;
    align-items: center;
    gap: 48px;
    margin-bottom: 8px;
}

.newsArea__inner .single p.date{
    color: #969696;
}

.newsArea__inner .single a.headline{
    color: #395B90;
    text-align: left;
}

.newsArea__inner a.more{
    position: relative;
    padding: 0 0 0 16px;
    color: #464646;
}

.newsArea__inner a.more::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border: 7px solid transparent;
    border-left: 8px solid #708AB5;
}

@media screen and (max-width: 660px){
    .newsArea{
        margin-bottom: 72px;
    }

    .newsArea__inner{
        font-size: 16px;
        width: 92%;
    }

    .newsArea__inner .single{
        gap: 16px;
    }

    .newsArea__inner .single:last-of-type{
        margin-bottom: 16px;
    }
}

@media screen and (max-width: 400px){
    .newsArea__inner{
        text-align: left;
    }

    .newsArea__inner .single{
        display: block;
    }
}



/* Phollyでできること
---------------------------------*/
.functionArea{
    width: 90%;
    max-width: 1320px;
    margin: 0 auto 112px;
    border: #B2BEDB 6px solid;
    padding: 64px 0 48px;
    border-radius: 12px;
    position: relative;
}

.functionArea .title-flex{
    top: -44px;
    background-color: #fff;
    padding: 0 16px;
}

.functionArea .title-flex>img{
    width: 112px;
    height: auto;
}

.functionArea__inner{
    width: 90%;
    margin: 0 auto 36px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 0;
    text-align: center;
}

@media (hover: none) {
    .functionArea__inner{
        pointer-events: none;
    }
}

.functionArea__inner .single{
    width: 25%;
}

.functionArea__inner .single img{
    filter: saturate(130%);
    max-width: 100%;
    width: 60%;
    margin: 0 auto 8px;
    height: auto;
}

.functionArea__inner .single h6{
    font-size: 18px;
    font-weight: 600;
    color: #486798;
    margin-bottom: 4px;
}

.functionArea__inner .single p{
    text-align: left;
    color: #464646;
    width: 85%;
    margin: 0 auto;
}

.functionArea+a.more{
    margin-bottom: 16px;
}

.functionArea+a.more+a.demo{
    margin-bottom: 44px;
}

@media screen and (max-width: 700px){
    .functionArea__inner{
        justify-content: flex-start;
        /* gap: 0; */
    }

    .functionArea__inner .single{
        width: calc(50%);
    }

    .functionArea .title-flex>img{
        width: 20vw;
        height: auto;
    }

    .functionArea .title-flex {
        top: -7vw;
    }

    .functionArea {
        padding: 48px 0 32px;
        margin: 0 auto 88px;
        border-width: 4px;
    }

    .functionArea+a.more+a.demo {
        margin-bottom: 96px;
    }
}

/* サポート
---------------------------------*/
.supportArea{
    text-align: center;
    margin: -88px 0 112px;
}

.supportArea h4{
    font-family: var(--maru);
    font-size: min(3.8vw, 20px);
    font-weight: bold;
    color: #285396;
    border: 2px solid #F5F7FB;
    border-radius: 8px;
    display: inline-block;
    margin-inline: auto;
    position: relative;
    top: 44px;
    padding: 12px 20px;
    background-color: white;
}

.supportArea__inner{
    display: block;
    margin-inline: auto;
    max-width: 700px;
    width: 90%;
    background-color: #F5F7FB;
    border-radius: 8px;
}

.supportArea__inner .mainImg{
    width: 90%;
    padding: 64px 0 28px;
}

/* 料金プラン
---------------------------------*/
.planArea{
    padding: 72px 0 48px;
    position: relative;
    margin-bottom: 88px;
}

.planArea .title-flex{
    top: -56px;
    padding: 0 28px;
}

.planArea__inner{
    background-color: #fff;
    max-width: 800px;
    width: 90%;
    border-radius: 8px;
    font-family: var(--maru);
    font-size: 20px;
    color: #285396;
    margin: 0 auto 24px;
    padding: 40px 16px;
    font-weight: bold;
    line-height: 1;
}

.planArea__inner p{
    width: fit-content;
    /* margin-left: auto; */
    margin-inline: auto;
    position: relative;
    line-height: 48px;
}

/* .planArea__inner p::before{
    position: absolute;
    content: "";
    width: 18vw;
    background-image: url(../img/model-plan.png);
    aspect-ratio: 1/1.237;
    background-size: contain;
    left: calc(-18vw - 16px);
    top: -1vw;
    border-radius: 8px;
    z-index: 5;
} */

/* .planArea__inner p::after{
    position: absolute;
    content: "";
    width: 18vw;
    left: calc(-18vw - 24px);
    top: calc(-1vw + 8px);
    border-radius: 8px;
    aspect-ratio: 1/1.237;
    background-color: white;
} */


.planArea__inner .big{
    font-size: 32px;
    color: #152e47;
}

.planArea__inner .underline{
    padding-bottom: 4px;
    border-bottom: 6px #FED430 double;
}

.plan .planArea__inner p::after,.plan .planArea__inner p::before{
    display:none
}

.plan .planArea__inner p{
    margin-inline: auto;
}

@media screen and (min-width: 1280px) {

    .planArea__inner{
        max-width: 880px;
    }

    /* .planArea__inner p::before{
        width: 35%;
        top: -25%;
        left: -40%;
    }

    .planArea__inner p::after{
        left: calc(-40% + -12px);
        top: calc(-25% + 12px);
        width: 35%;
    } */

}

@media screen and (max-width: 920px) {
    .planArea__inner p{
        margin-right: auto;
    }

    .planArea__inner p::before,.planArea__inner p::after{
        background: none;
    }
}

@media screen and (max-width: 660px) {
    .planArea__inner{
        font-size: 16px;
        word-break: break-all;
    }

    .planArea__inner .big{
        font-size: 24px;
    }

    .planArea__inner br{
        height: 16px;
    }

    .planArea__inner .underline{
        padding-bottom: 2px;
        border-bottom: 4px #FED430 double;
    }

    .planArea__inner p{
        line-height: 1.6;
    }
}

@media screen and (max-width: 440px) {
    .planArea .title-flex img{
        width: 80px;
    }

    .planArea .title-flex{
        top: -41px;
    }
}

/* 入学前プレ学習プラン
---------------------------------*/
/* 開発プランと共通 */
.prestudyArea, .ordermadeArea{
    margin-bottom: 48px;
    padding: 64px 0;
    text-align: center;
    line-height: 1.8;
}

.prestudyArea__inner, .ordermadeArea__inner{
    width: 90%;
    max-width: 880px;
    margin: 0 auto;
    background-color: #FFFCF1;
    border: 4px solid #F5E3AA;
    border-radius: 8px;
    padding: 12px 0 40px;
}

.prestudyArea__title, .ordermadeArea__title{
    font-size: 24px;
    font-family: var(--maru);
    font-weight: bold;
    color: #fff;
    padding: 8px 24px;
    border-radius: 20px 4px;
    display: inline-block;
    top: -42px;
    position: relative;
}

/* プレ学習プランのみ */
.prestudyArea__inner{
    background-image: url(../img/prestudy_bg01.png), url(../img/prestudy_bg02.png);
    background-repeat: no-repeat,no-repeat;
    background-position: left top, right 16px bottom 16px;
    background-size: 300px, 120px;
    color: #12436C;
    padding-inline: 12px;
}

@media screen and (max-width: 970px) {
    .prestudyArea__inner{
        background-image: none;
    }
}

.prestudyArea__title{
    background: linear-gradient(180deg, #FFC7BC 0%, #F198A7 100%);
}

.prestudyArea__inner h5{
    font-family: var(--maru);
    font-size: 19px;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    margin-top: 24px;
    gap: 4px;
}

.prestudyArea__inner h5::before{
    content: "";
    border-radius: 50vh;
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(180deg, #FFC7BC 0%, #F198A7 100%);
}


.prestudyArea__inner p{
    max-width: 480px;
    margin-inline: auto;
}

.prestudyArea__inner p span{
    color: white;
    font-family: var(--maru);
    border-radius: 4px;
    background: linear-gradient(180deg, #F4A99E 0%, #F08F9E 100%);
    padding: 8px;
}

.prestudyArea__inner p span:not(:last-of-type){
    margin-right: 4px;
}

.prestudyArea__inner p:has(.price){
    border-radius: 2px;
    border: 1px solid #FDC0BA;
    background: #FFF;
    line-height: 1.5;
    padding: 16px 8px;
}

.prestudyArea__inner p span.price{
    color: #12436C;
    font-size: 30px;
    font-weight: bold;
    padding: 0;
    background: none;
}

.prestudyArea a.btn.more{
    margin-top: 40px;
    background-image: linear-gradient(90deg, #FB7F91 0%, #FFDBA3 100%);
}

/* 開発プランへの導線
---------------------------------*/
.ordermadeArea{
    margin-bottom: 88px;
}

.ordermadeArea__title{
    background: linear-gradient(180deg, #5DC0BB 0%, #0094B5 100%);
}

.ordermadeArea__innerFlex{
    position: relative;
    display: flex;
    z-index: 2;
    align-items: center;
    justify-content: center;
    margin: 0 auto 40px;
    padding: 0 10%;
    flex-direction: row-reverse;
}

.ordermadeArea__innerFlex::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 90%;
    background-color: #fff;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: -1;
}
.ordermadeArea__innerFlex .pc{
    /* width: 30%; */
    max-width: 35%;
    margin-left: -24px;
    margin-top: -24px;
}

.ordermadeArea__innerFlex p{
    color: #12436C;
    font-family: var(--maru);
    font-weight: bold;
    text-align: left;
    /* width: 55%; */
}

.ordermadeArea__innerFlex .underline{
    padding-bottom: 2px;
    border-bottom: 4px #FED430 solid;
}

.ordermadeArea__smallTitle{
    padding-left: 10%;
    text-align: left;
    font-size: 20px;
    font-family: var(--maru);
    color: #434343;
    align-items: center;
    display: inline-flex;
    width: 100%;
}

.ordermadeArea__smallTitle::before{
    content: "";
    width: 18px;
    height: 18px;
    display: inline-block;
    background: linear-gradient(135deg, #5DC0BB 0%, #0094B5 100%);
    margin-right: 6px;
    border-radius: 50vh;
}

.ordermadeArea__funcList{
    padding-inline: 10%;
    text-align: left;
    color: #48596A;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.ordermadeArea__funcList span{
    background-color: white;
    padding: 8px;
    border: #5DC0BB 1px solid;
    display: block;
    font-weight: bold;
    line-height: 1;
}

.ordermadeArea__funcList .nomal{
    border: none;
    background: none;
    padding: 0;
    padding-top: 12px;
    font-weight: 400;
    margin-left: 0;
}

.ordermadeArea__annotation{
    padding-left: 10%;
    text-align: left;
    color: #0490A9;
    font-weight: bold;
    margin-bottom: 40px;
}

.ordermadeArea__price {
    display: block;
    padding-left: 10%;
    width: 360px;
    max-width: 80%;
    box-sizing: content-box;
    margin-bottom: 64px;
}

.ordermadeArea a.btn.more{
    background-image: linear-gradient(90deg, #0094B5 0%, #5DC0BB 100%);
}

@media screen and (max-width: 880px) {
    .ordermadeArea__innerFlex{
        display: block;
        background-color: white;
        margin-top: 8px;
        margin-bottom: 32px;
        padding-bottom: 16px;
    }

    .ordermadeArea__innerFlex::before {
        display: none;
    }

    .ordermadeArea__innerFlex .pc{
        margin: 0;
        margin-bottom: 16px;
        margin-top: -24px;
        max-width: 95%;
        width: 240px;
    }
}

@media screen and (max-width: 660px) {
.prestudyArea__title,.ordermadeArea__title{
        font-size: 20px;
        padding: 6px 20px;
        top: -38px;
    }
}


/* ご利用事例
---------------------------------*/
.introArea{
    text-align: center;
    margin-bottom: 88px;
}

.introArea__inner{
    max-width: 1200px;
    width: 85%;
    margin: 56px auto 24px;
    text-align: end;
    font-weight: 500;
}

.introArea__inner:has(.articleList){
    margin-bottom: 88px;
}

.introArea__inner>div{
    display: flex;
    gap: 24px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.introArea__inner .single{
    max-width: calc((100% - 48px)/3);
    background-color: #F5F7FB;
    border-radius: 16px;
    transition: all .5s;
}

.introArea__inner .single:hover{
    transform: scale(1.02);
}

.introArea__inner .single>img{
    width: 100%;
    border-radius: 16px;
}

.introArea__inner .single>p{
    color: #464646;
    padding: 16px;
    text-align: center;
}

.introArea a.more{
    position: relative;
    padding: 0 0 0 16px;
    color: #464646;
    text-align: left;
}

.introArea a.more::before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    border: 7px solid transparent;
    border-left: 8px solid #708AB5;
}

.introArea__inner+a.btn.demo{
    margin-bottom: 48px;
}

.introArea:has(.articleList) a.more::before{
    display: none;
}


.introArea .articleList{
    display: flex;
    margin: 0 auto 32px;
    width: 880px;
    max-width: 96%;
    list-style: none;
    gap: 1.5%;
}

.introArea .articleList li{
    width: 33%;
    border-radius: 8px;
    overflow: hidden;
    border: 1.5px solid #4D6996;
    transition: all .5s;
}

.introArea .articleList li:hover {
    transform: scale(1.02);
}

.introArea .articleList li h4{
    font-size: 16px;
    line-height: 1.5;
    color: #3B4D60;
    font-family: var(--maru);
    width: 90%;
    text-align: start;
    margin: 12px auto;
}

.introArea .articleList li img{
    max-width: 100%;
    border-radius: 0;
}

.introArea a.btn.more {
    position: unset;
    padding: 13px 22px;
    color: white;
    text-align: unset;
}

.introArea.kodawari{
    margin: 88px auto 0;
}

@media screen and (max-width: 880px){
    .introArea__inner{
        width: 96%;
        margin: 24px auto 24px;
    }

    .introArea__inner>div{
        gap: 8px;
        justify-content: center;
    }

    .introArea__inner .single{
        max-width: calc((100% - 16px)/3);
        border-radius: 4px;
    }

    .introArea__inner .single>img{
        border-radius: 4px;
    }
}

@media screen and (max-width: 480px){
    .introArea__inner>div{
        display:block;
    }

    .introArea__inner{
        width: 80%;
    }

    .introArea__inner .single{
        margin-bottom: 16px;
        max-width: 100%;
        display: block;
        border-radius: 16px;
    }

    .introArea .articleList{
        display: block;
        max-width: 100%;
    }

.introArea .articleList li{
    width: 100%;
    margin-bottom: 32px;
}
}

/* ご利用事例ページ_Phollyのこだわり_よみもの
---------------------------------*/
.articleArea{
    margin-bottom: 128px;
    margin-top: -64px;
    padding-top: 64px;
}

.articleArea .introArea__inner{
    text-align: center;
}

.articleArea .introArea__inner h6,.articleArea .introArea__inner h3{
    font-family: var(--maru);
    font-size: 20px;
    font-weight: bold;
    color: #464646;
}

.articleArea .introArea__inner h3{
    font-size: 28px;
    background-color: #fffceb;
    border-radius: 16px;
    padding: 8px 32px;
    margin: 4px 0 16px;
    display: inline-block;
    color: #285396;
    border: #ffeb9e double 6px;
}

.articleArea .lead{
    margin-bottom: 16px;
    line-height: 1.7;
    color: #464646;
}

/* Phollyのこだわり_よみものへの導線
---------------------------------*/
.toArticleArea{
    text-align: center;
    padding: 16px 0 32px;
    margin-bottom: 64px;
}

.toArticleArea .index__areaTitle{
    position: relative;
    top: -36px;
}

.toArticleArea .introArea__inner{
    margin: 0 auto 24px;
}

/* よくある質問への導線
---------------------------------*/
.toFaqArea{
    text-align: center;
    padding: 16px 0 32px;
}

.toFaqArea .index__areaTitle{
    position: relative;
    top: -36px;
}

.toFaqArea__flex{
    text-align: start;
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 880px;
    margin: -16px auto 24px;
    width: 90%;
    font-family: var(--maru);
    font-size: 20px;
    color: #285396;
    font-weight: bold;
    line-height: 1.8;
    flex-direction: row-reverse;
}

.toFaqArea__flex p{
    flex-grow: 1;
}

.toFaqArea__flex img{
    width: 22%;
}

@media screen and (min-width: 1280px) {
    .toFaqArea__flex{
        max-width: 920px;
    }

    .toFaqArea__flex img{
        width: 24%;
    }
}

@media screen and (max-width: 880px){
    .toFaqArea__flex{
        font-size: 18px;
    }
}

@media screen and (max-width: 660px){
    .toFaqArea__flex{
        display: block;
    }

    .toFaqArea__flex img{
        width: 35%;
        margin: 0 auto 24px;
        display: block;
    }
}

@media screen and (max-width: 480px){
    .toFaqArea__flex{
        font-size: 16px;
    }
}

/* お問い合わせ
---------------------------------*/
.inquiryArea{
    text-align: center;
    padding: 72px 0 48px;
    position: relative;
}

.inquiryArea h3.index__areaTitle{
    /* position: absolute; */
    /* top: -21px; */
    left: 0;
    right: 0;
    margin: auto;
}

.inquiryArea__inner{
    width: 1000px;
    max-width: 90%;
    padding-top: 64px;
    display: flex;
    gap: 32px;
    margin: 0 auto;
    justify-content: center;
}

.inquiryArea__inner .single{
    /* background-color: #fff; */
    background-color: #F5F7FB;
    padding: 48px 24px 32px;
    width: 50%;
    border-radius: 32px;
    position: relative;
}

.inquiryArea__inner .single .icon{
    position: absolute;
    height: 56px;
    top: -28px;
    left: 0;
    right: 0;
    margin: auto;
}

.inquiryArea__inner .single h5{
    color: #3B4E60;
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 24px;
}

.inquiryArea__inner .single .text{
    color: #464646;
    margin-bottom: 16px;
}

.inquiryArea__inner .single p.important{
    font-size: 36px;
    font-family: var(--maru);
    color: #35969F;
    font-weight: bold;
}

.inquiryArea__inner .single a.important{
    gap: 4px;
    background-color: #35969F;
    color: #fff;
    display: flex;
    padding: 12px 24px;
    justify-content: center;
    width: fit-content;
    margin: 0 auto;
    border-radius: 50vh;
    font-family: var(--maru);
    font-weight: bold;
    font-size: 20px;
    transition: all .5s;
}

.inquiryArea__inner .single a.important:hover{
    transform: scale(1.02);
}

@media screen and (max-width: 880px){
    .inquiryArea__inner{
        display: block;
    }

    .inquiryArea__inner .single{
        width: 80%;
        margin: 0 auto;
    }

    .inquiryArea__inner .single.tel{
        margin-bottom: 64px;
    }
}

@media screen and (max-width: 480px){
    .inquiryArea__inner .single{
        width: 100%;
    }

    .inquiryArea__inner .single a.important{
        font-size: 16px;
    }

    .inquiryArea__inner br{
        display: none;
    }
}

/* Facebook
---------------------------------*/
.facebookArea{
    text-align: center;
    padding: 72px 0 160px;
    position: relative;
}


.fb_link {
    margin: 32px auto 0;
    display: block;
    max-width: 500px;
}

.facebookArea>img{
    position: absolute;
    bottom: 104px;
    width: 80px;
    height: auto;
    right: 0;
    left: 525px;
    margin: auto;
}

@media screen and (max-width: 660px) {
    .facebookArea>img{display: none;}

    .facebookArea{
        text-align: center;
        padding: 48px 0 104px;
    }

    .facebookArea>div{
        width: 90%;
        margin: 0 auto;
    }
}



/* ぺーやん紹介
---------------------------------*/
.pedroArea{
    text-align: center;
    padding: 48px 0 56px;
    position: relative;
}

.pedroArea h3.index__areaTitle{
    position: absolute;
    top: -21px;
    left: 0;
    right: 0;
}

.pedroArea>img{
    width: 720px;
    max-width: 85%;
}

.pedroArea table{
    text-align: left;
    font-weight: 500;
    color: #3B4E60;
    margin: 0 auto;
    font-size: 20px;
    line-height: 2;
}

.pedroArea table .left {
    color: #3bc3bc;
    padding-right: 24px;
}

.pedroArea a.btn{
    display: flex;
    align-items: center;
    width: fit-content;
    margin: 0 auto;
    padding: 13px 22px;
    font-weight: 500;
    gap: 8px;
    transition: all .5s;

    font-family: var(--maru);
    color: #3C4E60;
    border: solid #3C4E60 1.5px;
    border-radius: 8px;
    background-color: #fff;
    margin-block: 16px;
    font-size: 16px;
}

@media screen and (max-width: 660px) {
    .pedroArea table{
        font-size: 16px;
        line-height: 1.6;
        max-width: 96%;
    }

    .pedroArea table .left{
        min-width: 40px;
        padding-right: 0;
    }
}

@media screen and (max-width: 480px){
    .pedroArea h3.index__areaTitle{
        font-size: 6vw;
    }
}

/* ==========================================================================
機能ページ
========================================================================== */
/* 機能一覧
---------------------------------*/
.functionListArea{
    display: flex;
    margin: 40px auto 0;
    width: 1112px;
    max-width: 96%;
    gap: 24px 15px;
    flex-wrap: wrap;
    justify-content: center;
}

.functionListArea .single{
    padding: 24px 4px 8px;
    border-radius: 8px;
    background-color: #fff;
    /* width: calc(33.333% - 10px); */
    width: calc(25% - 12px);
    filter: drop-shadow(0px 5px 3px rgba(100, 100, 100, 0.1));
}

.functionListArea .single:is(:nth-of-type(2), :nth-of-type(4), :nth-of-type(5), :nth-of-type(7)){
    background-color: #fcf7ef;
    filter: drop-shadow(0px 5px 3px rgba(100, 100, 100, 0.15));
}

.functionListArea .single .icon{
    height: 80px;
    width: auto;
    filter: saturate(110%);
}

.functionListArea .single p{
    margin: 16px 0;
    font-size: 18px;
    font-weight: 500;
    color: #222d37;
}

@media screen and (max-width: 800px) {
    .functionListArea{
        max-width: 90%;
    }
    .functionListArea .single .icon{
        height: 64px;
        width: auto;
    }

    .functionListArea .single p{
        font-size: 16px;
    }
}

@media screen and (max-width: 660px){
    .functionListArea{
        justify-content: flex-start;
        margin: 24px auto 0;
        gap: 24px 12px;
    }

    .functionListArea .single{
        padding: 24px 4px 8px;
        border-radius: 8px;
        background-color: #fff;
        width: calc(50% - 6px);
    }

    .functionListArea .single:is(:nth-of-type(3), :nth-of-type(6)){
        background-color: #fcf7ef;
    }

    .functionListArea .single:is(:nth-of-type(1), :nth-of-type(4),:nth-of-type(5)){
        background-color: #fff;
    }


/* .functionListArea .single:nth-of-type(3){background-color: #fcf7ef;}
.functionListArea .single:nth-of-type(4){background-color: #fff;} */
}

/* 機能紹介
---------------------------------*/
.functionWrapper{
    padding-top: 160px;
}

.functionSingle{
    padding: 104px 0 64px;
    margin-bottom: 160px;
    position: relative;
    text-align: center;
}

.functionSingle:last-of-type{
    margin-bottom: 72px;
}

@media screen and (max-width: 480px){
    .functionWrapper{
        padding-top: 120px;
    }

    .functionSingle{
        padding: 72px 0 48px;
        margin-bottom: 120px;
    }

    .functionSingle:last-of-type{
        margin-bottom: 80px;
    }
}

/* 各機能 - タイトル
---------------------------------*/
.functionTitleArea{
    position: absolute;
    border-radius: 8px;
    background-color: #fff;
    border: #285396 3px solid;
    width: 325px;
    margin: 0 auto;
    font-family: var(--maru);
    text-align: center;
    color: #152e47;
    font-size: 24px;
    font-weight: bold;
    top: -56px;
    left: 0;
    right: 0;
    margin: auto;
}

.functionTitleArea .inner{
    width: 100%;
    height: 100%;
    position: relative;
    padding: 56px 32px 32px;
}

.functionTitleArea .icon{
    height: 80px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -40px;
    padding: 0 16px;
    background-color: #fff;
}

@media screen and (max-width: 480px){
    .functionTitleArea{
        width: 280px;
        font-size: 20px;
        top: -56px;
    }

    .functionTitleArea .inner{
        padding: 40px 24px 24px;
    }

    .functionTitleArea .icon{
        height:64px;
        top: -32px;
        padding: 0 12px;
    }
}

/* 各機能 - 概要文
---------------------------------*/

.functionSingle>.text{
    width: 50%;
    margin: 0 auto 32px;
    line-height: 1.7;
}

@media screen and (max-width: 660px){
    .functionSingle>.text{
        width: 88%;
        margin: 0 auto 16px;
        line-height: 1.5;
        text-align: left;
    }
}

/* 各機能 - モックアップ
---------------------------------*/
.functionSingle .mockArea{
    width: 800px;
    max-width: 80%;
    margin: 0 auto 80px;
    position: relative;
}

.functionSingle .mockArea>img{
    width: 100%;
}

.functionSingle .mockArea>div{
    width: 240px;
    height: 240px;
    padding: 16px;
    border-radius: 50vh;
    background: linear-gradient(-45deg, #6ae2de 0%, #ffeea8 100%);
    text-align: center;
    font-family: var(--maru);
    color: #152e47;
    display: table;
    font-weight: bold;
    font-size: 18px;
    position: absolute;
}

.functionSingle .mockArea>div p{
    display: table-cell;
    vertical-align: middle;
    background: #fff;
    border-radius: 50vh;
}

.functionSingle .mockArea .left01{
    left: -5vw;
    bottom: 0;
}
.functionSingle .mockArea .right01{
    right: -5vw;
    top: 0;
}
.functionSingle .mockArea .left02{
    left: -5vw;
    top: 0;
}
.functionSingle .mockArea .right02{
    right: -5vw;
    bottom: 0;
}

/* 【2025追加】各機能 - できること
---------------------------------*/
.dekiruArea{
    width: 720px;
    max-width: 80%;
    margin: 0 auto 40px;
    color: #152e47;
    font-family: var(--maru);
}

.dekiruArea div:has(.title){
    position: relative;
    margin-bottom: 32px;
}

.dekiruArea h4{
    font-size: 20px;
    position: relative;
    z-index: 5;
    margin-inline: auto;
    background-color: #F5F7FB;
    padding: 0 22px;
    width: fit-content;
}

.dekiruArea .line{
    position: absolute;
    content: "";
    position: absolute;
    background-color: #152e47;
    height: 1px;
    width: 100%;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    display: inline-block;
}


.dekiruArea .listArea{
    width: 90%;
    margin-inline: auto;
    display: block;
}

.dekiruArea .listArea:has(img){
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
}

.dekiruArea .listArea ul{
    list-style: none;
    font-weight: bold;
    width: 100%;
}

.dekiruArea .listArea:has(img) ul{
    width: 70%;
    max-width: 70%;
    text-align: left;
}

.dekiruArea .listArea li{
    background-color: white;
    padding: 2px 20px 2px 14px;
    margin: 0 auto 10px;
    width: fit-content;
    display: block;
    font-size: 18px;
    align-items: center;
}

.dekiruArea .listArea:has(img) li{
    margin-left: unset;
}


.dekiruArea .listArea li::before{
    content: "";
    display: inline-block;
    margin-right: 4px;
    width: 16px;
    aspect-ratio: 1/1;
    background-image: url(../img/function-list.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
}

.dekiruArea .listArea li:last-of-type{margin-bottom: 0;}

.dekiruArea .listArea img{
    width: 28%;
    border-radius: 12px;
    box-shadow: 12px 12px 0px 0px #FFF;
}


@media screen and (max-width: 660px) {
    .dekiruArea .listArea{
        width: 100%;
    }

    .dekiruArea .listArea:has(img){
        display: block;
    }

    .dekiruArea .listArea:has(img) ul{
        width: 100%;
        max-width: unset;
    }

    .dekiruArea .listArea img{
        width: 60%;
        max-width: 320px;
        box-shadow:none;
        border-radius: 2px;
        margin-bottom: 24px;
    }
}

/* 【2025追加】各機能 - メディア記事
---------------------------------*/
.functionSingle .articleLink{
    width: 720px;
    font-family: var(--maru);
    max-width: 80%;
    margin: 0 auto 24px;
    border-radius: 4px;
    border: #285396 1.5px solid;
    display: flex;
    box-shadow: 0px 4px 0px 0px #C4C9DD;
    background-color: white;
    gap: 16px;
    text-align: left;
    padding: 16px;
    transition: all .5s;
}

.functionSingle .articleLink:hover{
    transform: scale(1.02);
}

.functionSingle .articleLink .thumbnail{
    border-radius: 4px;
    width: 200px;
    max-width: 30%;
}

.functionSingle .articleLink>div{
    padding-top: 8px;
}

.functionSingle .articleLink .title{
    color: #3B4D60;
    font-size: 18px;
}

.functionSingle .articleLink span{
    padding: 4px 16px;
    display: inline-block;
    border-radius: 50vh;
    color: #285396;
    border: 1px solid #C4D2E5;
    margin-bottom: 4px;
    background-color: #F5F7FB;
}

@media screen and (max-width: 660px) {
    .functionSingle .articleLink{
        width: 320px;
        max-width: 90%;
        flex-wrap: wrap;
        justify-content: center;
        font-size: 15px;
        gap: 2px;
    }

    .functionSingle .articleLink .thumbnail{
        width: 85%;
        max-width: unset;
    }

    .functionSingle .articleLink>div{
        text-align: center;
    }
}


/*  機能ページ - 推奨環境
---------------------------------------------*/
.systemArea{
    text-align: center;
    padding-bottom: 96px;
}

.systemArea table{
    width: 800px;
    max-width: 90%;
    margin-inline: auto;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 32px;
}

.systemArea table th {
    border: 2px solid #285396;
    border-bottom: none;
    width: 50%;
    text-align: center;
    background: #28529617;
    font-weight: bold;
    padding: 16px;
}

.systemArea table th:first-of-type,.systemArea table td:first-of-type{
    border-right: none;
}

.systemArea table td{
    border: 2px solid #285396;
    padding: 16px;
    text-align: left;

}

.systemArea table li{
    list-style: none;
}


@media screen and (max-width: 880px){
    .functionSingle .mockArea>div{
        width: 28vw;
        height: 28vw;
        font-size: 2.5vw;
        padding: 1.8vw;
    }

    .functionSingle .mockArea .left01{
        left: -8vw;
        bottom: 0;
    }
    .functionSingle .mockArea .right01{
        right: -8vw;
        top: 0;
    }
    .functionSingle .mockArea .left02{
        left: -8vw;
        top: 0;
    }
    .functionSingle .mockArea .right02{
        right: -8vw;
        bottom: 0;
    }
}

@media screen and (max-width: 480px){
    .functionSingle .mockArea{
        max-width: 96%;
        margin: 0 auto 33vw;
    }

    .functionSingle .mockArea>div p{
    background-color: rgba(255, 255, 255, .95);
    }

    .functionSingle .mockArea>div{
        width: 36vw;
        height: 36vw;
        font-size: 3.5vw;
        padding: 1.8vw;
        background: linear-gradient(-45deg, rgba(106, 226, 222, .9) 0%, rgba(255, 238, 168, .9) 100%);
    }

    .functionSingle .mockArea .left01,.functionSingle .mockArea .left02{
        left: -1vw;
        top: unset;
        bottom: -15vw;
    }
    .functionSingle .mockArea .right01,.functionSingle .mockArea .right02{
        right: -1vw;
        top: unset;
        bottom: -15vw;
    }

}

/* 【2025追加】機能 - Pholly活用術
---------------------------------*/
.tipsArea .index__areaTitle{
    margin-bottom: 16px;
    text-align: center;
}

.tipsArea .articleList{
    display: flex;
    margin: 0 auto 144px;
    width: 880px;
    max-width: 96%;
    justify-content: center;
    flex-wrap: wrap;
    list-style: none;
    gap: 16px;
}

.tipsArea .articleList li{
    width: calc((100% - 32px) / 3);
    border-radius: 8px;
    overflow: hidden;
    border: 1.5px solid #4D6996;
    transition: all .5s;
}

.tipsArea .articleList li:hover {
    transform: scale(1.02);
}

.tipsArea .articleList li h4{
    font-size: 16px;
    line-height: 1.5;
    color: #3B4D60;
    font-family: var(--maru);
    width: 90%;
    margin: 12px auto;
}

.tipsArea .articleList li img{
    max-width: 100%;
}

@media screen and (max-width: 660px) {
    .tipsArea .articleList{
        gap: 12px;
    }

    .tipsArea .articleList li{
        width: calc((100% - 24px) / 2);
    }
}


/* 各機能 - よくあるお悩み
---------------------------------*/
.nayamiArea{
    position: relative;
    padding: 56px 32px 40px;
    border-radius: 8px;
    margin: 0 auto 64px;
    background-color: #fff;
    /* width: 800px; */
    /* max-width: 70%; */
    width: fit-content;
}

.nayamiTitle,.solTitle{
    position: absolute;
    top: -27.5px;
    margin: auto;
    left: 0;
    right: 0;
}

.nayamiArea h4, .solArea h4{
    position: relative;
    padding: 12px 16px 12px 56px;
    background-color: #fff;
    border: #d3d3d3 4px solid;
    border-radius: 50vh;
    width: fit-content;
    display:inline-block;
}

.nayamiArea h4::before,.solArea h4::before{
    position: absolute;
    content: "";
    left: -16px;
    top: -8px;
    width: 64px;
    height: 64px;
    background-image: url(../img/icon-nayami.svg);
    background-size: 40px;
    background-position: 55% 49%;
    background-color: #d3d3d3;
    border-radius: 50vh;
}

.nayamiFlex{
    display: flex;
    justify-content: center;
    gap: 12px;
    align-items: center;
}

.nayamiFlex img:first-of-type{
    width: 80px;
    height: 80px;
}

.nayamiFlex img:nth-of-type(2){
    width: 48px;
    height: auto;
}

.nayamiFlex>p{
    background-color: #909090;
    color: #fff;
    padding: 24px;
    border-radius: 50vh;
    max-width: 320px;
}

@media screen and (max-width: 660px){
    .nayamiArea{
        max-width: 96%;
    }
}

@media screen and (max-width: 480px){
    .nayamiArea{
        padding: 56px 8px 40px;
        max-width: unset;
        width: 96%;
    }

    .nayamiFlex{
        gap: 0;
    }

    .nayamiFlex img:first-of-type{
        width: 16vw;
        height: auto;
        margin-top: auto;
    }

    .nayamiFlex img:nth-of-type(2){
        width: 7vw;
        margin: 0 4px 0 2px;
        height: auto;
    }

    .nayamiFlex>p {
        padding: 16px;
    }
}

/* 各機能 - Phollyで解決！
---------------------------------*/
.solArea{
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    padding: 56px 0 40px;
    background-color: #fff;
    border-radius: 8px;
    border: #B2BEDB 5px solid;
}

.solArea::before,.solArea::after{
    position: absolute;
    content: "";
    width: 5px;
    height: 75%;
    background-color: #fff;
    top: 0;
    bottom: 0;
    margin: auto;
}

.solArea::before{left: -5px;}
.solArea::after{right: -5px;}


.solArea h4{
    border: #708AB5 4px solid;
    padding: 12px 16px 12px 76px;
}

.solArea h4::before{
    left: -16px;
    top: -16px;
    width: 80px;
    height: 80px;
    filter: saturate(120%);
    background-image: url(../img/icon-solution.svg);
    background-size: 40px;
    background-position: 50% 50%;
    background-color: #fffbe9;
    border: #486798 5px solid;
}

.solFlex{
    display:flex;
    align-items: center;
    justify-content: center;
    width: 90%;
    gap: 8px;
    margin: 0 auto;
}

.solFlex>img{
    width: 30%;
    filter: saturate(110%);
    border-radius: 0 16px 0 16px;
}

.solFlex h5{
    font-family: var(--maru);
    font-weight: bold;
    color: #3d3d3d;
    font-size: 20px;
}

.solFlex h5 span{
    background-image: linear-gradient(to right, rgba(255, 238, 168, .7), rgba(138, 226, 223, .7));
	background-repeat: no-repeat;
	background-size: 100% 45%;
	background-position: bottom;
}

.solFlex .innerFlex{
    border-radius: 4px;
    background-color: #6481AF;
    color: #fff;
    text-align: left;
    max-width: 90%;
    width: fit-content;
    padding: 24px;
    margin: 16px auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.solFlex .innerFlex>img{
    width: 64px;
}

.solFlex ul{
    list-style: none;
    font-weight: 500;
}

.solFlex .text{
    text-align: left;
}

.solArea.deco .text{
    width: 95%;
    margin-left: auto;
    padding: 16px;
    border-radius: 8px;
    background-color: #fffbe9;
}

.solArea.deco>img{
    position: absolute;
    width: 104px;
    right: -24px;
    bottom: -48px;
    z-index: 5;
}

.solArea .commentWrapper{
    max-width: 800px;
}

.solArea .commentFlex{
    display: flex;
    width: 70%;
    gap: 8px;
    align-items: center;
    margin-bottom: 16px;
}

.solArea .commentFlex.fullWidth{width: 90%; margin-right:auto; margin-left: auto;}

.solArea .commentFlex:last-of-type{
    margin-bottom: 0;
}

.solArea .commentFlex.right{
    margin-left: auto;
}

.solArea .commentFlex img{
    width: 88px;
}

.solArea .commentFlex>div{position: relative;}

.solArea .commentFlex>div:before{
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -20px;
    font-size: 14px;
    color: #909090;
}

.solArea .commentFlex>div.student:before{content: "学生";}
.solArea .commentFlex>div.teacher:before{content: "教員";}

.onePoint{
    position: relative;
    width: 80%;
    max-width: 880px;
    margin: 56px auto;
    padding: 12px 24px 24px;
    background-color: #fff;
    border-radius: 16px;
    text-align: left;
}

.onePoint>div{
    display: flex;
    /* margin-top: 48px; */
    gap: 16px;
    align-items: center;
}

.onePoint>div p{
    margin-top: 24px;
}

.onePoint>div p br{
    content: "";
    display: block;
    height: 8px;
}

.onePoint h6{
    position: absolute;
    left: -24px;
    top: -24px;
    background-color: #486798;
    color: #fff;
    font-size: 16px;
    border-radius: 50vh;
    padding: 16px 24px;
}

.onePoint img{
    width: 20%;
}

@media screen and (max-width: 880px){
    .solArea{
        width: 80%;
        padding: 56px 0 40px;
    }

    .solFlex{
        display:block;
    }

    .solFlex>img{
        width: 78%;
        margin-bottom: 16px;
    }

    .solArea.deco .text{
        width: 100%;
        margin: 0 auto;
    }

    .solArea .commentFlex{
        width: 80%;
        margin-bottom: 24px;
    }

    .solArea .commentFlex.fullWidth{width: 100%;}

}

@media screen and (max-width: 660px){
    .solFlex .innerFlex{
        padding: 16px;
        gap: 4px;
    }
    .solFlex .innerFlex>img{
        width: 48px;
    }

    .onePoint{
        width: 90%;
        margin: 32px auto;
        padding: 0 0 16px 0;
        border-radius: 8px;
        text-align: center;
    }

    .onePoint>div{
        display: block;
    }

    .onePoint>div p{
        text-align: left;
        width: 90%;
        margin: 16px auto;
    }

    .onePoint h6{
        text-align: center;
        position: static;
        border-radius: 8px;
        width: 100%;
        padding: 16px 24px;
    }

    .onePoint img{
        width: 50%;
        max-width: 200px;
    }
}

@media screen and (max-width: 480px){
    .solArea{
        width: 94%;
        padding: 56px 0 40px;
        border-width: 3px;
    }

    .solArea::before,.solArea::after{
    display: none;
    }

    .solFlex{
        width: 88%;
    }

    .solFlex h5{
        font-size: 18px;
    }

    .solFlex .innerFlex{
        display: block;
        padding: 24px 8px;
        max-width: 100%;
    }

    .solFlex .innerFlex ul{
        width: fit-content;
        margin: 0 auto;
    }

    .solFlex .innerFlex li:not(:last-of-type){
        margin-bottom: 4px;
    }

    .solFlex .innerFlex>img{
        display: none;
    }

    .solArea.deco .text{
        width: 96%;
    }

    .solArea .commentFlex{
        width: 100%;
        margin-bottom: 36px;
    }

    .solArea .commentFlex img{
        width: 64px;
    }
}


/* ==========================================================================
お知らせ一覧
========================================================================== */
.newsList{
    width: 1400px;
    max-width: 90%;
    border: #285396 3px solid;
    background-color: #E9EDF4;
    border-radius: 8px;
    margin: 64px auto 24px;
    padding: 32px 0;
}

.newsList .single{
    display: flex;
    align-items: center;
    gap: 48px;
    font-weight: 500;
    border-bottom: #fff 2px solid;
    width: 90%;
    margin: 0 auto 8px;
    padding-bottom: 8px;
}

.newsList .single p.date{
    color: #395B90;

}

.newsList .single a.headline{
    text-align: left;
    color: #222d37;
}

@media screen and (max-width: 480px) {
    .newsList{
        margin: 32px auto 24px;
    }

    .newsList .single{
        gap: 16px;
    }
}

/* ==========================================================================
お知らせ個別記事
========================================================================== */
/*  お知らせ詳細  */
#breadcrumbs li {
	display:inline-block;
	padding-right:.8em;
}

#breadcrumbs li a {
	color: #4660a3;
	text-decoration:none;
}

#breadcrumbs li a:after {
	content:">";
	padding-left:.8em;
}

.boxNews{
    display: flex;
    width: 1400px;
    max-width: 90%;
    border: #285396 3px solid;
    background-color: #E9EDF4;
    border-radius: 8px;
    margin: 64px auto 104px;
    padding: 56px 24px;
    gap: 40px;
}

.boxNews h1{
    font-family: var(--maru);
    font-weight: bold;
    font-size: 32px;
    color: #285396;
    padding-bottom: 4px;
    border-bottom: 12px #fff double;
}

.boxNews .left{
    width: 80%;
}

.boxNews .left .inner{
    max-width: 660px;
    margin-inline: auto;
}

.boxNews .left p{
    margin: 16px 0;
    line-height: 1.5;
}

.boxNews .left img{
    max-width: 80%;
    display: block;
    margin: 16px auto;
}

.boxNews p.date{
    text-align: right;
    margin: 8px 0 32px;
}

.boxNews .right{
    border-radius: 8px;
    background-color: #fff;
    padding: 16px;
}

.boxNews .right h3{
    font-family: var(--maru);
    font-weight: bold;
    color: #285396;
    border-bottom: 4px #E9EDF4 solid;
    width: fit-content;
    margin: 0 auto 24px;
    padding: 0 8px 4px;
}

.boxNews .right li{
    list-style: none;
    padding-left: 16px;
    margin-bottom: 16px;
    color: #5F5F5F;
    text-decoration: underline;
    position: relative;
}

.boxNews .right li::before{
    content: "";
    position: absolute;
    top: 12px;
    left: 0;
    transform: translateY(-50%);
    border: 7px solid transparent;
    border-left: 8px solid #708AB5;
}

.left .wp-block-image a{pointer-events: none;}

.boxNews a{
    color: #285396;
    text-decoration: underline;
}

@media screen and (max-width: 880px) {
    .boxNews{
        display: block;
    }

    .boxNews .left{
        width: 100%;
    }

    .boxNews .right{
        margin-top: 44px;
        padding: 16px;
    }
}

@media screen and (max-width: 480px) {
    .boxNews{
        padding: 24px 16px;
    }

    .boxNews h1{
        font-size: 24px;
        border-bottom: 8px #fff double;
    }

    .boxNews .right {
        padding: 8px;
    }

    .boxNews .left img{
        max-width: 100%;
    }
}

/* ==========================================================================
読み物コンテンツ対応
========================================================================== */
.boxNews.yomimono{
    width: 880px;
    max-width: 90%;
    background-color: #f5f7fb;
    position: relative;
    overflow: hidden;
    margin-bottom: 40px;
}

.boxNews.yomimono::after{
    position: absolute;
    content: "コラム「知って納得！Phollyのこだわり」";
    color: white;
    font-family: var(--maru);
    font-weight: bold;
    background-color: #1c478b;
    width: 100%;
    text-align: center;
    height: 36px;
    line-height: 36px;
    top: 0;
    left: 0;
    font-size: min(4vw, 16px);
}

.boxNews.yomimono .left{
    width: 90%;
    max-width: 720px;
    margin-inline: auto;
}

.boxNews.yomimono p.question{
    font-weight: bold;
    margin-top: 48px!important;
    font-family: var(--maru);
    font-weight: bold;
    font-size: 18px;
    color: #1c478b;
    line-height: 1.4;
}

.boxNews.yomimono p{
    margin-block: 20px;
    line-height: 1.7;
    letter-spacing: .2px;
}

.boxNews.yomimono br{
    content: "";
    display: block;
    height: 24px;
}

.boxNews.yomimono span.strong{
    background-color: #ffeb9f;
    font-weight: bold;
    padding-inline: 2px;
}

.boxNews.yomimono .question span.strong {
    background: none;
    border-bottom: #1c478b 2px dotted;
}

.boxNews.yomimono figcaption{
    font-size: 14px;
    color: #6f6f6f;
    text-align: center;
    margin-top: -14px;
}

.yomimono .speaker{
    background-color: white;
    border-radius: 4px;
    padding: 12px 20px;
    display: inline-flex;
    gap: 8px;
    align-items: center;
    font-size: 14px;
    margin-right: 16px;
    margin-bottom: 4px;
    min-width: 240px;
}

.yomimono .speaker p{
    margin: 0;
    line-height: 1.3;
}

.yomimono .speaker img{
    width: 80px;
    aspect-ratio: 1/1;
    margin: 0;
}

.yomimono .speaker span{
    font-weight: bold;
    font-size: 18px;
}

.yomimono .speaker br{
    height: 0;
}

/* 関連記事 */
.related{
    width: 90%;
    max-width: 720px;
    margin-inline: auto;
    margin-bottom: 104px;
}

.related .single{
    display: flex;
    width: 100%;
    align-items: center;
    border-radius: 4px;
    border: 2px solid #235298;
    background-color: #F5F7FB;
    margin-bottom: 24px;
    transition: all .5s;
}

.related a:not(.single){
    display: block;
    margin-inline: auto;
    border-bottom: 1px solid black;
    padding-bottom: 4px;
    width: fit-content;
    transition: all .5s;
}

.related a:hover{
    transform: scale(1.02);
}

.related .single img{
    max-width: 35%;
}

.related .single .title{
    padding: 16px;
}



@media screen and (max-width: 480px) {
    .related .single img{
        max-width: 50%;
    }

    .related .single .title{
        padding: 12px;
    }
}

/* ==========================================================================
料金プラン
========================================================================== */
.plan .planArea{
    padding: 48px 0 32px;
    margin-bottom: 0;
}

.plan .planArea__inner{
    padding: 0;
}

.planList{
    padding-bottom: 30px;
    margin-bottom: 50px;
    overflow-x: scroll; /* safari対応 */
}

table.table-plan{
    width: 1200px;
    max-width: 96%;
    margin: 0 auto 64px;
    border: #285396 3px solid;
    border-collapse:separate;
    border-spacing: 0;
    border-radius: 8px;
	text-align: center;
}

table.table-plan.table-plan-price{
    margin-bottom: 8px;
}

table.table-plan th,.table-plan td{
    padding: 16px 8px;
    border-bottom: #285396 1px solid;
}

table.table-plan thead th.planLight {
    background: #e8f6f5;
}

table.table-plan thead th.planStandard {
    background: #85dddc;
}

table.table-plan thead th.planCustom {
    background: #19a7a6;
    color: #fff;
}

table.table-plan tbody tr td:not(:last-of-type){
    border-right: #285396 3px solid;
}

/* table.table-plan-price tbody tr td{
    border-right: #285396 3px solid;
} */

table.table-plan th{
    border-right: #285396 3px solid;
}

table.table-plan thead th:last-of-type{
    border-right: none;
}

table.table-plan thead th{
    border-bottom: #285396 3px solid;
}

table.table-plan thead th:first-of-type{
border-radius: 5px 0 0 0;
}
table.table-plan thead th:last-of-type{
    border-radius:  0  5px 0 0;
}

table.table-plan-price tbody {
    border-radius: 0 0 5px 5px;
}

table.table-plan tbody tr:last-of-type th{
    border-bottom: none;
}

table.table-plan tbody tr:last-of-type td{
    border-bottom: none;
    border-right: none;
}

table.table-plan-price tbody tr:last-of-type td{
    border-bottom: #285396 1px solid;
    border-right: #285396 3px solid;
}

table.table-plan-price tbody tr td{
    border-right: #285396 3px solid;
}

table.table-plan-price tbody tr td:last-of-type{
    border-left: none;
}

table.table-plan-price tbody tr:first-child td:last-child{
    border-right: none;
}

.table-plan-price_explain{
max-width: 1200px;
margin: 0 auto;
text-align: left;
color: #12436C;
}


@media screen and (max-width: 480px) {

    .plan .planArea{
        padding: 24px 0 16px;
        margin-bottom: 0;
    }

    table.table-plan{
        display: block;
        overflow-x: scroll;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        max-width: 90%;
    }
}

/* ==========================================================================
セキュリティ
========================================================================== */
.securityArea{
    padding: 64px 0 104px;
    display: flex;
    align-items: center;
    line-height: 1.5;
    gap: 24px;
    width: 1000px;
    max-width: 90%;
    margin: 0 auto;
}

.securityArea .logos{
    text-align: center;
}

.securityArea div p:first-of-type{
    margin-bottom: 16px;
}

.security .footer-jqa{
	border: #285396 1px solid;
    margin-top: 16px;
}

@media screen and (max-width: 660px){
    .securityArea{
        display: block;
        padding: 40px 0 72px;
    }

    .securityArea .logos{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
        margin-bottom: 24px;
    }

    .security .footer-jqa{
        margin-top: 0;
    }
}

/* セキュリティ_2024追加部分
---------------------------------------------*/
.security-detailArea section{
    width: 100%;
    background-color: #F0F3F8;
    text-align: center;
    margin-bottom: 80px;
}

.security-detailArea h4{
    display: inline-flex;
    align-items: center;
    color: white;
    font-family: var(--maru);
    gap: 8px;
    padding: 12px 16px;
    border-radius: 6px 20px;
    font-size: 24px;
    background: linear-gradient(180deg, #6A8CC3 0%, #346AA6 100%);
    position: relative;
    top: -24px;
}

.security-detailArea h4 img{
    width: 32px;
}

.security-detailInner{
    text-align: start;
    width: 880px;
    max-width: 90%;
    padding: 24px 0 8px;
    margin-inline: auto;
}

.security-detailArea h6{
    color: #35969F;
    background-color: #dbeef3;
    font-size: 20px;
    border: 3px solid white;
    font-family: var(--maru);
    border-radius: 50vh;
    display: inline-flex;
    align-items: center;
    padding-right: 16px;
    gap: 8px;
    margin-bottom: 20px;
}

.security-detailArea h6 .imgBox{
    width: 48px;
    height: 48px;
    border-radius: 50vh;
    background-color: #4EB5B1;
    display:flex;
    align-items: center;
    justify-content: center;
}

.security-detailArea h6 .imgBox img{
    width: 63%;
}

.security-detailArea table{
    text-align: start;
    border-collapse: collapse;
    margin-bottom: 64px;
    width: 100%;
}

.security-detailArea table th, .security-detailArea table td {
    border: solid 1.5px #4EB5B1;
    padding: 16px 8px 16px 16px;
}

.security-detailArea table th {
    font-family: var(--maru);
    color: #35969F;
    font-size: 16px;
    background-color: #F4FDFF;
    text-align: center;
    width: 40%;
}

.security-detailArea table td{
    color: #444;
    background-color: white;
}

.security-detailArea section:nth-of-type(odd){background-color: #EAF5F6;}
.security-detailArea section:nth-of-type(odd) h4{background: linear-gradient(180deg, #31C5BE 0%, #279EC3 100%);}
.security-detailArea section:nth-of-type(odd) h6{background-color: #d6e1e9; color: #43669E;}
.security-detailArea section:nth-of-type(odd) h6 .imgBox{background-color: #43669E;}
.security-detailArea section:nth-of-type(odd) table th,.security-detailArea section:nth-of-type(odd) table td{border-color: #43669E;}
.security-detailArea section:nth-of-type(odd) table th{background-color: #F5F7FB; color: #43669E;}

/* ==========================================================================
よくある質問
========================================================================== */
.faq .pageTitleArea{
    padding: 36px 0;
}

.faq .pageTitle-flex img{
    height: 96px;
}

.faqArea__inner .lead{
    text-align: center;
    max-width: 880px;
    width: 90%;
    font-family: var(--maru);
    font-size: 20px;
    color: #285396;
    margin: 0 auto;
    padding: 40px 0;
    font-weight: bold;
    line-height: 1.8;
}

.faqArea__inner .lead a{
    border-bottom: #285396 1px solid;
    padding-bottom: 4px;
}

.faqArea__typeFlex{
    display: flex;
    justify-content: center;
    gap: 16px;
    max-width: 560px;
    width: 80%;
    margin: 0 auto 64px;
}

.faqArea__typeFlex li{
    list-style: none;
    color: #fff;
    font-family: var(--maru);
    font-weight: bold;
    text-align: center;
    font-size: 20px;
    cursor: pointer;
    transition: all .4s;
    width: 25%;
}

.faqArea__typeFlex a{
    padding: 12px 8px;
    background-color: #6A8CC3;
    background-image:  linear-gradient(to bottom, #6A8CC3 0%, #164C88 100%);
    box-shadow: 0 2px 6px 0 rgba(22, 76, 136, .8);
    border-radius: 8px;
    display: block;
}

.faqArea__typeFlex li:hover{
    scale: 103%;
}

.faqArea__typeFlex img{
    width: 75%;
    margin: 0 auto 4px;
}

.faqContentArea{
    padding-bottom: 48px;
}

.faqTypeWrapper{
    margin-bottom: 72px;
}

.typeTitle{
    color: #285396;
    font-family: var(--maru);
    font-weight: bold;
    background-color: #F5F7FB;
    font-size: 28px;
    width: 100vw;
    padding: 16px 0;
    text-align: center;
    margin-bottom: 48px;
}

.faqSingle{
    max-width: 880px;
    width: 90%;
    margin: 0 auto 48px;
    color: #062951;
}

.faqSingle>p{
    padding: 12px;
    padding-left: 48px;
    line-height: 1.6;
    font-size: 18px;
    position: relative;
}

.faqSingle>p::before{
    content: "";
    position: absolute;
    left: 8px;
    top: 10px;
    width: 32px;
    height: 32px;
    border-radius: 50vh;
    background-size: 13px;
    background-repeat: no-repeat;
    background-position: center center;
}

.faqSingle .question::before{
    background-color: #4cc5be;
    background-image: url(../img/Q.svg);
}

.faqSingle .answer::before{
    background-color: #fd9500;
    background-image: url(../img/A.svg);
}

.faqSingle .question{
    font-weight: bold;
}

.faqSingle .answer{
    background-color: #fdf3e1;
}

.faqSingle .answer a{
    font-weight: 500;
    border-bottom: 1px solid #062951;
    word-wrap: break-word;
}

.faqSingle br{
    display: block;
    content: "";
    height: 8px;
}

.faqClosingArea{
    margin-bottom: 88px;
}

.faqClosingFlex{
    display: flex;
    margin: 0 auto;
    width: 96%;
    max-width: 1000px;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 48px;
    gap: 40px;
}

.faqClosing__fukidashi{
    background-color: #F5F7FB;
    position: relative;
    text-align: center;
    width: 100%;
    border-radius: 16px;
    font-family: var(--maru);
    font-size: 20px;
    color: #285396;
    padding: 32px 16px;
    font-weight: bold;
    line-height: 1.8;
}

.faqClosingFlex .model{
    width: 144px;
    border-radius: 50vh;
    aspect-ratio: 1/1;
}

.faqClosing__fukidashi::after{
    content: "";
    position: absolute;
    width: 32px;
    height: 32px;
    bottom: 0;
    top: 0;
    right: -32px;
    margin: auto;
    border: 16px solid transparent;
    border-left: 16px solid #F5F7FB;
}

@media screen and (min-width: 1280px) {
    .faqClosingFlex .model{
        width: 210px;
    }
}

@media screen and (max-width: 920px){
    .faqClosing__fukidashi{
        font-size: 18px;
    }
}

@media screen and (max-width: 660px){
    .faqArea__inner .lead{
        font-size: 18px;
        padding: 24px 0;
    }

    .faqArea__typeFlex li{
        font-size: 16px;
    }

    .faqArea__typeFlex img {
        width: 50%;
    }

    .faqClosing__fukidashi{
        font-size: 18px;
    }

    .faqClosingFlex{
        display: block;
    }

    .faqClosing__fukidashi{
        margin-bottom: 40px;
    }

    .faqClosing__fukidashi::after{
        bottom: -32px;
        top: unset;
        right: 0;
        left: 0;
        margin: auto;
        border: 16px solid transparent;
        border-top: 16px solid #F5F7FB;
    }

    .faqClosingFlex .model{
        display: block;
        margin-inline: auto;
    }
}

@media screen and (max-width: 480px){
    .faqArea__typeFlex{
        flex-wrap: wrap;
        width: 220px;
        justify-content: space-between;
        gap: 16px;
        margin-bottom: 40px;
    }

    .faqArea__typeFlex li{
        width: calc(50% - 8px);
    }

    .faqContentArea .typeTitle{
        margin-bottom: 32px;
    }

    .faqSingle{
        margin-bottom: 40px;
    }
}

/* ==========================================================================
無料トライアル
========================================================================== */
.trialtopArea{
    margin: 48px auto 120px;
    text-align: center;
}

.trialtopArea h3{
    font-family: var(--maru);
    font-weight: bold;
    color: #285396;
    font-size: 26px;
}

.trialtopArea>div{
    padding: 52px 40px 40px;
    background-color: #EAF5F6;
    border-radius: 4vw;
    width: fit-content;
    margin: -18px auto 32px;
    max-width: 96%;
}

.trialtopArea>div img{
    width: 720px;
    max-width: 100%;
}

.trialtopArea a{
    background-image: linear-gradient(135deg, #FFBD27, #ff8400);
    color: #fff;
    font-family: var(--maru);
    font-weight: bold;
    font-size: 20px;
    border-radius: 8px;
    padding: 20px 16px;
    box-shadow: 0px 4px 0px 0px rgba(234, 123, 2, 0.42);
    display: inline-block;
    width: fit-content;
}

.trial .faqList{
    margin-bottom: 120px;
}

.trial .monitor{
    display: flex;
    width: 800px;
    max-width: 96%;
    justify-content: center;
    gap: 16px 2%;
    flex-wrap: wrap;
    list-style: none;
    margin: 0 auto 72px;
}

.trial .monitor li{
    padding: 8px 16px;
    border-radius: 4px;
    border: #d3d3d3 solid 1px;
    width: 32%;
}

.trial .monitor li img{max-width: 100%;}

.trial .articleList{
    display: flex;
    margin: 0 auto 120px;
    width: 670px;
    max-width: 96%;
    justify-content: space-between;
    list-style: none;
}

.trial .articleList li{
    width: 48%;
    border-radius: 8px;
    overflow: hidden;
    border: 1.5px solid #4D6996;
}

.trial .articleList li h4{
    font-size: 16px;
    line-height: 1.5;
    color: #3B4D60;
    font-family: var(--maru);
    width: 90%;
    margin: 12px auto;
}

.trial .articleList li img{
    max-width: 100%;
}

@media screen and (max-width: 600px) {
    .trialtopArea h3{
        font-size: 4.2vw;
    }

    .trialtopArea>div{
        padding: 32px 16px 16px;
    }

    .trial .monitor li{
        width: 48%;
    }

}

/* ==========================================================================
コラムページ
========================================================================== */

/* コラム一覧ページ
---------------------------------------------*/

.columnArea{
    font-family: var(--maru);
    max-width: 880px;
    width: 85%;
    margin: 56px auto 144px;
}

.columnArea ul{list-style: none;}

.columnArea__lead{
    max-width: 780px;
    width: 100%;
    margin: 0 auto 56px;
    background-color: #FFFCF3;
    padding: 56px 8px;
    border-radius: 16px;
    position: relative;
}

.columnArea__lead>img{
    position: absolute;
    z-index: 5;
}

.columnArea__lead .concierge{
    left: 5%;
    max-width: 94px;
    bottom: 0;
}

.columnArea__lead .pedro{
    right: 3%;
    transform: scale(-1, 1);
    max-width: 138px;
    bottom: 24px;
}

.columnArea__lead::after{
    content: "";
    inset: 0;
    margin: auto;
    width: calc(100% - 24px);
    height: calc(100% - 24px);
    border-radius: 10px;
    border: 1px dashed #EEE4CA;
    display: block;
    position: absolute;
}

.columnArea__lead p{
    max-width: 420px;
    width: 90%;
    margin-inline: auto;
    color: #3B4D60;
}

.columnArea__lead p:not(:last-of-type){
    margin-bottom: 8px;
}

.columnArea__lead span{
    background-color: #ffb33950;
    padding-inline: 2px;
}

.columnArea__catlist{
    width: 100%;
    background-color: #F5F7FB;
    border: #B3BED6 1px solid;
    border-radius: 16px;
    text-align: center;
    padding: 24px 0;
    margin-bottom: 56px;
}

.columnArea__catlist h6{
    font-size: 20px;
    margin-bottom: 16px;
    color: #3b4d61;
}

.columnArea__catlist h6::before,.columnArea__catlist h6::after{
    content: "";
    width: 20%;
    height: 2px;
    background-color: #3b4d61;
    display: inline-block;
    margin-bottom: 6px;
}

.columnArea__catlist h6::before{
    margin-right: 16px;
}

.columnArea__catlist h6::after{
    margin-left: 16px;
}

.columnArea__catlist ul{
    list-style: none;
    justify-content: center;
    /* width: fit-content; */
    max-width: 630px;
    width: 90%;
    margin-inline: auto;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.columnArea__catlist ul li{
    border-radius: 50vh;
    background-color: #fff;
    color: #285396;
    border: #285396 2px solid;
    padding: 12px 18px;
    font-weight: bold;
    transition: all .2s;
}

.columnArea__catlist ul li.checked{
    background-color: #285396;
    color: white;
}

.columnArea__catlist ul li:hover{
    background-color: #285396;
    color: white;
}

.columnArea__articlelist{
    margin-bottom: 88px;
}

.columnArea__articlelist ul{list-style: none;}

.columnArea__articlelist>ul{
    display: flex;
    gap: 64px 20px;
    flex-wrap: wrap;
}

.columnArea__article{
    width: calc((100% - 40px)/3);
    position: relative;
    transition: all .5s;
}

.columnArea__article:hover{
    scale: 1.02;
}

.columnArea__article .article-thumb{
    max-width: 100%;
    border-radius: 4px;
    object-fit: cover;
    aspect-ratio: 3 / 2;
}

.columnArea__article .article-cat{
    width: fit-content;
    padding: 6px 10px;
    position: absolute;
    top: -14px;
    left: -8px;
    z-index: 2;
    background-color: #F5F7FB;
    border-radius: 50vh;
    border: #C4D2E5 1.25px solid;
    color: #285396;
}

.columnArea__article .article-title{
    font-size: 17.5px;
    line-height: 1.5;
    color: #3B4D60;
    margin: 8px 0;
}

.article-taglist{
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.article-taglist li{
    color: #4D4D4D;
    font-size: 14px;
    background-color: #ECE9E1;
    border-radius: 50vh 0px 0px 50vh;
}

.article-taglist li a{
    display: inline-block;
    padding: 4px 8px 4px 12px;
}

.columnArea__articlelist .article-taglist li{
    padding: 4px 8px 4px 12px;
}

.columnArea__articlelist .article-taglist li::before{
    content: "";
    display: inline-block;
    background-color: white;
    width: 10px;
    height: 10px;
    border-radius: 50vh;
    margin-right: 4px;
}

.articleInfo .article-taglist li{
    transition: .2s all;
}

.articleInfo .article-taglist li:hover{
    transform: translateY(-2px);
}

.articleInfo .article-taglist li a:before{
    content: "";
    display: inline-block;
    background-color: white;
    width: 10px;
    height: 10px;
    border-radius: 50vh;
    margin-right: 4px;
}

.columnArea__taglist{
    display: flex;
    justify-content: center;
    gap: 40px;
    width: 100%;
    border-top: #ECE9E1 2px solid;
    padding: 48px 0 0;
    align-items: flex-start;
}

.columnArea__taglist>div>div{
    margin-bottom: 8px;
    width: 64px;
    aspect-ratio: 1/1;
    border-radius: 50vh;
    background-image: url(../img/icon-tag-white.svg);
    background-repeat: no-repeat;
    background-position: 46% center;
    background-color: #C5C0B2;
}

.columnArea__taglist>div p{
    color: #A29D90;
}

.columnArea__taglist ul{
    display: flex;
    gap: 16px;
    align-items: flex-start;
    flex-wrap: wrap;
    max-width: 60%;
    justify-content: center;
}

.columnArea__taglist li{
    color: #4D4D4D;
    font-size: 14px;
    background-color: #ECE9E1;
    border-radius: 50vh 0px 0px 50vh;
    transition: all .2s;
}

.columnArea__taglist li:hover{
    transform: translateY(-2px);
}

.columnArea__taglist li a{
    display: inline-block;
    padding: 4px 8px 4px 12px;
}

.columnArea__taglist li a::before{
    content: "";
    display: inline-block;
    background-color: white;
    width: 10px;
    height: 10px;
    border-radius: 50vh;
    margin-right: 4px;
}

.columnArea__selectedtag{
    width: 100%;
    text-align: center;
    padding: 24px;
    background-color: #ECE9E1;
    border-radius: 8px;
    margin-bottom: 48px;
    position: relative;
}

.columnArea__selectedtag::after{
    content: "";
    inset: 0;
    margin: auto;
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    border-radius: 4px;
    border: 1px dashed #fefcf6;
    display: block;
    position: absolute;
}

.columnArea__selectedtag span{
    padding: 12px 16px;
    margin-left: 8px;
    border-radius: 8px;
    background-color: white;
}

#container {
    width: 100%;
    min-height: 100vh;
    position: relative;
    line-height: 1.5em;
}

#go2top {
    margin-bottom: 0;
    padding-top: 0;
    width: 60px;
    height: 60px;
    text-align: left;
    z-index: 100;
}

#go2top a {
    width: 60px;
    height: 60px;
    border-radius: 50vh;
    display: block;
    color: #fff;
  background:#496698;
  border: 1px solid #fff;
}

@media screen and (max-width: 880px){
    .columnArea__catlist ul li{
        padding: 8px 12px;
        font-size: 15px;
    }

    .columnArea__lead .concierge{
        width: 10vw;
        left: 1%;
    }

    .columnArea__lead .pedro{
        width: 14vw;
        right: 0%;
    }

    .columnArea__lead{
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 700px){
    .columnArea__lead{
        padding-block: 48px;
    }

    .columnArea__lead>img{
        display: none;
    }

}

@media screen and (max-width: 600px){
    .columnArea__articlelist>ul{
        gap: 32px 8px;
    }

    .columnArea__article{
        width: calc((100% - 16px) / 2);
    }
}

@media screen and (max-width: 440px){
    .columnArea__article .article-cat{
        font-size: 12.5px;

    }

    .article-taglist li{
        font-size: 12.5px;
    }

    .columnArea__catlist h6::before, .columnArea__catlist h6::after{
        display: none;
    }

    .columnArea__taglist{
        gap: 20px;
    }

    .columnArea__taglist>div>div{
        margin-inline: auto;
        width: 48px;
        background-size: 45%;
    }
}


/* コラムの記事詳細ページ
---------------------------------------------*/
.contentArea:has(.columnarticleArea){
    overflow-x: unset!important;
}

.columnarticleArea{
    max-width: 1100px;
    width: 90%;
    margin: 80px auto 144px;
    display: flex;
    justify-content: space-between;
    font-family: var(--maru);
}

.columnarticleArea li{
    list-style: none;
}

.columnarticleArea p{
    font-family: 'Noto Sans JP',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    text-align: justify;
}

.columnarticleArea main{
    flex-basis: 69%;
    max-width: 69%;
}

.columnarticleArea aside{
    flex-basis: 27%;
    /* position: sticky; */
    top: 120px;
    align-self: flex-start;
}

.columnarticleArea article{
    margin-bottom: 48px;
}

.columnarticleArea article .cover{
    width: 100%;
    max-width: 640px;
    border-radius: 8px;
    margin-bottom: 24px;
}

.columnarticleArea .articleInfo{
    text-align: center;
    margin: 0 0 48px;
}

.columnarticleArea .articleInfo .article-cat{
    border-radius: 50vh;
    background-color: #fff;
    color: #285396;
    border: #285396 1.5px solid;
    padding: 4px 16px;
    font-size: 15px;
    font-weight: bold;
    width: fit-content;
    /* display: inline-block; */
    transition: all .2s;
    margin-inline: auto;
}

/* .columnarticleArea .articleInfo .article-cat{
    background-color: #F5F7FB;
    color: #285396;
    border: #C4D2E5 1.25px solid;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: bold;
    max-width: 640px;
    margin-inline: auto;
    width: 100%;
    text-align: center;
    transition: all .2s;
} */

.columnarticleArea .articleInfo .article-cat:hover{
    background-color: #285396;
    color: white;
}

.columnarticleArea .articleInfo .article-title{
    color: #3B4D60;
    max-width: 640px;
    margin: 8px auto 16px;
    font-size: 28px;
    line-height: 1.4;
}

.columnarticleArea .article-taglist{
    justify-content: center;
}

.articleSummary{
    background-color: #eaf5f6a1;
    border-radius: 8px;
    padding: 16px;
    margin: 0 0 24px;
    line-height: 1.5;
    color: #3B4D60;
}

.articleSummary p{
    padding: 32px;
    border-radius: 5px;
    border: 1px dashed #4eb5b175;
    font-size: 15.5px;
}

.articleSummary br{
    content: "";
    display: block;
    height: 8px;
}

.articleToc{
    margin: 0 0 24px;
    padding: 24px;
    border-radius: 8px;
    border: 2px solid #eaf5f6;
    color: #3b4d61;
}

.articleToc li{
    display: inline-flex;
    align-items: center;
    width: 100%;
    gap: 8px;
    padding-left: 8px;
}

.articleToc li::before{
    border-radius: 50vh;
    content: "";
    min-width: 12px;
    height: 12px;
    border: #50b5b2 solid 1.5px;
}

.articleToc li:nth-of-type(even)::before{
    border-color: #44669e;
}

.articleToc li:not(:last-of-type){
    padding-bottom: 4px;
    border-bottom: 1px dashed #d7e1e2;
    margin-bottom: 8px;
}

/* 文中の装飾 ▼
---------------------------------------------*/

.articleBody h2{
    margin: 64px 0 24px;
    color: #3B4D60;
    position: relative;
    padding-left: 24px;
}

.articleBody h2::before {
    content: "";
    width: 6px;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: linear-gradient(to top, #43669E, #43669E 50%, #4EB5B1 51%, #4EB5B1 100%);
}

.articleBody img{
    width: 100%;
    max-width: 100%;
    margin:24px auto ;
    display: block;
}

.articleBody .flex{
    display: flex;
    gap: 16px;
    align-items: center;
}

.articleBody .float-right::after, .articleBody .float-left::after{
    content: "";
    display: block;
    clear: both;
}

.articleBody .float-right img, .articleBody .float-left img{
    margin: 0;
    max-width: 40%;
    height: auto;
}

.articleBody .float-right img{
    float: right;
    padding-left: 16px;
}

.articleBody .float-left img{
    float: left;
    padding-right: 16px;
}

.articleBody img.size-s{max-width: 50%;}
.articleBody img.size-m{max-width: 80%;}

.articleBody figcaption{
    font-family: 'Noto Sans JP',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 14px;
    color: #828282;
    text-align: center;
    margin: -14px auto 16px;
}

.articleBody p{
    margin-bottom: 16px;
    line-height: 1.6;
    letter-spacing: .2px;
}

.articleBody p br{
    content: "";
    display: block;
    height: 12px;
}

.articleBody p span.marker{
    background-color: #fff23950;
    padding-inline: 2px;
}

.articleBody p span.bold{
    font-weight: 600;
}

.articleBody a{
    color: #0094B5;
    text-decoration: underline;
    word-break: break-all;
}

.articleBody ul.dot{
    padding: 16px 8px 16px 16px;
    margin-block: 16px;
    border-left: 4px solid #CAE9E8;
    font-family: 'Noto Sans JP',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

.articleBody ul.dot li:not(:last-of-type){
    margin-bottom: 8px;
}

.articleBody ul.dot li:before{
    margin-right: 6px;
    margin-bottom: 3px;
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50vh;
    background-color: #71C4C1;
}

/* あんちょこ用↓ */

.articleBody pre+h2{
    margin-top: 8px;
}

.articleBody pre{
    margin-top: 64px!important;
}

/* 文中の装飾 ▲
---------------------------------------------*/

.relatedArticles{
    background-color: #F5F7FB;
    border-radius: 8px;
    width: 100%;
    padding: 36px 24px;
}

.relatedArticles h6{
    width: 80%;
    text-align: center;
    margin: 0 auto 16px;
    font-size: 20px;
    color: #285397;
}

.relatedArticles h6::before,.relatedArticles h6::after{
    content: "";
    max-width: 37%;
    width: 16vw;
    height: 2px;
    background-color: #285397;
    display: inline-block;
    margin-bottom: 6px;
}

.relatedArticles h6::before{
    margin-right: 16px;
}

.relatedArticles h6::after{
    margin-left: 16px;
}

.relatedArticles ul{
    width: 80%;
    margin: 0 auto 24px;
    display: flex;
    flex-wrap: wrap;
    row-gap: 24px;
    justify-content: space-between;
}

.relatedArticles .columnArea__article{
    width: 48%;
}

.relatedArticles a.btn.more{
    font-family: var(--maru);
    font-size: 16px;
    width: 80%;
    margin: 0 auto;
    justify-content: center;
    background: linear-gradient(90deg, #4154ad, #46a6ea);
}

aside .columnArea__catlist{
    border: none;
    margin-bottom: 32px;
    padding: 32px 8px;
}

aside .columnArea__catlist ul{
    justify-content: center;
    max-width: 100%;
    gap: 12px;
}

aside .columnArea__catlist ul li{
    padding: 8px 12px;
    font-size: 15px;
}

aside .columnArea__catlist h6::before,aside .columnArea__catlist h6::after{
    display: none;
}

aside .columnArea__taglist{
    display: block;
    border: 1px solid #C5C0B2;
    border-radius: 8px;
    padding: 32px 8px;
    margin-bottom: 32px;
}

aside .columnArea__taglist h6{
    color: #A49E90;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    justify-content: center;
    width: 100%;
    margin-bottom: 16px;
}

aside .columnArea__taglist ul{
    max-width: 100%;
    gap: 8px;
}

aside .ranking{
    border-radius: 8px;
    width: 100%;
    padding: 36px 24px 24px;
    background-color: #F5F7FB;
}

aside .ranking ul{
    width: 90%;
    margin: 0 auto;
}

aside .ranking>div{
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: #3B4D60 2px dashed;
    padding-bottom: 6px;
    margin-bottom: 24px;
}

aside .ranking h6{
    color: #3B4D60;
    font-size: 16px;
}

aside .ranking .pedro{
    width: 48px;
}

aside .ranking .article-title{
    font-size: 15px;
}

aside .ranking .columnArea__article{
    width: 100%;
}

aside .ranking .columnArea__article:not(:last-of-type){
    margin-bottom: 28px;
}

@media screen and (max-width: 880px){
    .columnarticleArea{
        display: block;
    }

    .columnarticleArea main{
        margin-bottom: 40px;
        max-width: unset;
    }

    aside .ranking ul{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        row-gap: 24px;
    }

    aside .ranking .columnArea__article{
        width: 48%;
    }
}

@media screen and (max-width: 600px){
    .relatedArticles ul{
        width: 100%;

    }

    aside .ranking ul{
        width: 100%;
    }

    .relatedArticles h6::before,.relatedArticles h6::after{
        display: none;
    }

    .articleSummary p{
        text-align: unset;
    }

    .columnarticleArea .articleInfo .article-title{
        font-size: 22px;
    }

    .articleBody .float-right img, .articleBody .float-left img{
        float: unset;
        width: 100%;
        max-width: 100%;
        margin: 24px auto;
        display: block;
        padding: 0;
    }

}

div.priceList-secTitle_wrapper{
    width: 90%;
    margin: 0 auto;
    max-width: 1200px;
}

h4.priceList-secTitle{
    font-family: var(--maru);
    color: #285396;
    background-color: #F5F7FB;
    text-align: center;
    padding: 24px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 24px;

}

table.table-plan{
    color: #12436C;
    font-size: 16px;

}

table.table-plan{
    max-width: 1200px;
    width: 100%;
    table-layout: fixed;
}

table.table-plan th.planCommon{
    background-color: #F3F6FF;
}

table.table-plan tr td.planLight{
    background: #e8f6f5;
}

table.table-plan tr td.planStandard{
    background: rgba(133, 221, 220, 0.5);
}

.planList .table-plan{
font-weight: bold;
    width: 1200px;
    max-width: 96%;
    margin: 0 auto 64px;
}