@charset "utf-8";

#question_container {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
}

:is([data-elem^="nthQ"], [data-elem="allQ"]) span {
    display: inline-block;
    min-width: 0.4em;
    text-align: center;
}
[data-elem="answer3rdContainer"][data-answer="1"] [data-elem="answer3rd"][data-value="1"],
[data-elem="answer3rdContainer"][data-answer="2"] [data-elem="answer3rd"][data-value="2"],
[data-elem="answer3rdContainer"][data-answer="3"] [data-elem="answer3rd"][data-value="3"],
[data-elem="answer3rdContainer"][data-answer="4"] [data-elem="answer3rd"][data-value="4"],
[data-elem="answer3rdContainer"][data-answer="5"] [data-elem="answer3rd"][data-value="5"] {
    opacity: 1;
}
/*
[data-elem="answer3rdContainer"][data-answer="1"] [data-elem="answer3rd"][data-value="1"]::after,
[data-elem="answer3rdContainer"][data-answer="2"] [data-elem="answer3rd"][data-value="2"]::after,
[data-elem="answer3rdContainer"][data-answer="3"] [data-elem="answer3rd"][data-value="3"]::after,
[data-elem="answer3rdContainer"][data-answer="4"] [data-elem="answer3rd"][data-value="4"]::after,
[data-elem="answer3rdContainer"][data-answer="5"] [data-elem="answer3rd"][data-value="5"]::after {
    content: "✓";
    color: #fff;
    font-family: var(--design-font);
    font-size: 24px;
}
*/

.question div {
    display: block;
}

.underLn {
    transition: .2s;
    padding-top: 1px;
    border-bottom: solid 2px #ccc;
}

/* ---------------------------------------------------------
        デザイン設定
-----------------------------------------------------------*/
/* 質問ナンバーデザイン共通 */
._numDesign {
    width: 74px;
    height: 74px;
    background-color: var(--black);
    padding: 6px;
    transform: rotate(45deg);
}

._numDesign > ._flameW {
    padding: unset;
}

._numDesign div {
    display: flex;
    justify-content: center;
    align-items: center;
}

._numDesign div p {
    color: var(--white);
    transform: rotate(-45deg);
    font-family: var(--design-font);
    font-size: 30px;
}


/* スマホ表示 */
@media screen and (max-width: 600px) {
    ._numDesign {
        width: 68px;
        height: 68px;
        max-width: 14vw;
        max-height: 14vw;
        padding: 5px;
    }
    ._numDesign div p {
        font-size: 5vw;
    }
}



/* ---------------------------------------------------------
        見出し
-----------------------------------------------------------*/
#question_container .stepHeading {
    display: block;
    width: max-content;
    text-align: center;
    font-family: var(--design-font);
    font-size: 44px;
    border-bottom: solid 1px var(--black);
    padding-bottom: 2px;

    margin: var(--int4) auto 10px;
}

.stepMarker {
    width: max-content;
    display: flex;
    justify-content: space-between;
    margin: 0 auto var(--int3);
}

.stepMarker li {
    width: 12px;
    height: 12px;
    background-color: var(--black);
    border-radius: 50%;
    opacity: .3;
}

.stepMarker li:nth-of-type(2) {
    margin: 0 30px 0 10px;
    transform: scale(.7);
}

.stepMarker li.nowQuestion {
    opacity: 1;
}

.stepMarker-slideAnime {
    animation-duration: 0.8s;
    animation-timing-function:cubic-bezier(0.37, -0.24, 0.31, 1.5);
}

/* スマホ表示 */
@media screen and (max-width: 600px) {
    #question_container .stepHeading {
        font-size: 34px;
    }
    .stepMarker li {
        width: 10px;
        height: 10px;
    }
}


/* ------------------------------------
        カウンター
--------------------------------------*/
.counter_container {
    width: max-content;
    display: flex;
    align-items: center;
    gap: 24px;
    margin: 0 auto var(--int3);
}

.counter_container ul {
    min-width: 134px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    margin: 0 auto;
    text-wrap :nowrap;
}


.counter_container ul li {
    font-size: 24px;
    font-family: var(--design-font);
}

.counter_container ul:nth-of-type(1) li:nth-of-type(1)::after,
.counter_container ul:nth-of-type(1) li:nth-of-type(2)::after {
    content: '・';
    margin-left: 4px;
}

.counter_container ul:nth-of-type(2) li:nth-of-type(2)::before,
.counter_container ul:nth-of-type(2) li:nth-of-type(3)::before {
    content: '・';
    margin-right: 4px;
}

.counter_container figure {
    width: 16px;
}
.counter_container figure:nth-of-type(1) {
    transform:rotate(-90deg);
}
.counter_container figure:nth-of-type(2) {
    transform:rotate(90deg);
}


/* スマホ表示 */
@media screen and (max-width: 600px) {
    .counter_container {
        width: var(--def-width);
        gap: 16px;
        display: grid;
        grid-template-columns: 3fr 1fr 1fr 1fr 3fr;
    }
    .counter_container ul { min-width: 100px;}
    .counter_container ul li {
        font-size: 4.2vw;
        text-align: center;
    }
    .counter_container figure {
        width: 14px;
        margin: auto;
    }
}


/* ---------------------------------------------------------
        1st.メイン
-----------------------------------------------------------*/
/* 質問 */
.answerCounter1st {
    width: var(--def-width);
    margin: 0 auto var(--int4);
}

.question1st_container p {
    height: 130px;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
    width: var(--def-width);
    font-size: var(--question-text);
    text-align: center;
    background: var(--white);
    line-height: 30px;
    border-radius: 14px;
    margin: 0 auto var(--int4);
    padding: 0 20px;
    box-shadow: 0 2px 8px rgba(9,9,9,.1);
}


/* 回答ボタン */
.answer1st {
    width: var(--def-width);
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 0 auto var(--int4);
}

.answer1st button {
    width: 110px;
    height: 60px;
    font-family: var(--pickup-font);
    font-size: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
}

.answer1st button:nth-of-type(3) {
    width: 60px;
    border-radius: 50%;
}

.answer1st button:hover {
    opacity: 1;
}


/* スマホ表示 */
@media screen and (max-width: 600px) {
    .question1st_container p {
        line-height: 24px;
        height: 110px;
    }

    .answer1st {
        justify-content: space-between;
        gap: 8px;
    }

    .answer1st button {
        width: calc(100%/5);
        height: 50px;
        font-size: 3.6vw;
        border-radius: 4px;
        opacity: 1;
    }

    .answer1st button:nth-of-type(3) {
        width: 50px;
    }
}



/* 進行パラメーター */
.CountNumber {
    display: flex;
    justify-content: center;
    font-family: var(--design-font);
    font-size: 28px;
}

.CountNumber {
    margin: 0 auto var(--int1);
    text-align: center;
}

.answerParameter {
    width: var(--max-width);
    max-width: 980px;
    height: 5px;
    margin: var(--int1) auto 0;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    background: var(--black);
}

.paraWhite {
    width: var(--max-width);
    height: 100%;
    position: absolute;
    right: 0;
    background: var(--white);
}


/* スマホ表示 */
@media screen and (max-width: 600px) {
    .CountNumber {
        margin: 0 auto var(--int1);
        text-align: center;
        font-size: 22px;
    }

    .answerParameter {
        width: var(--max-width);
    }

    .answerParameter,
    .paraWhite {
        height: 3px;
    }
}



/* 選択ボタン */
.attachedButton_container {
    width: var(--def-width);
    max-width: 980px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin: 0 auto var(--int5);
}
.attachedButton_container > div {
    display: flex;
    justify-content: center;
    gap: 20px;
}
.attachedButton_container > :is(.left, .right),
.attachedButton_container :is(#backQuestion, #skipPhase) {
    width: 120px;
}

/* PC用設定 */
@media screen and (min-width: 601px) {
    .attachedButton_container {
        width: calc(var(--def-width) - 20px)
    }
    .attachedButton_container button {transform: scale(1.2);}
}

/* スマホ表示 */
@media screen and (max-width: 600px) {
    .attachedButton_container > div {
        gap: 8px;
    }
}

.questionNumber._2nd,
.questionNumber._3rd {
    margin: 0 auto var(--int3);
}
.question2nd_container > p,
.question3rd_container > p {
    font-size: var(--question-text);
    margin-bottom: var(--int2);
    padding-top: var(--int1);
    text-align: center;
}
/* ---------------------------------------------------------
        2nd.メイン
-----------------------------------------------------------*/
.question2nd_container {
    width: var(--def-width);
    max-width: 980px;
    text-align: center;
    margin: 0 auto var(--int3);
}


.question2nd_container ul li {
    width: var(--max-width);
    height: 130px;
    background-color: var(--black);
    color: var(--white);
    padding: 10px;
    margin-bottom: var(--int1);
    font-size: var(--question-text);
    transition: .2s;
    position: relative;
}

.question2nd_container ul li span {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.question2nd_container ul li:hover::before {
    content: '▶';
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    pointer-events: none;
}

.question2nd_container ul li > ._flameW {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
}

.question2nd_container ul li:hover {
    cursor: pointer;
    opacity: .5;
}

@media screen and (max-width: 650px) {
    .question2nd_container ul li:hover::before {
        content: '';
    }

    .question2nd_container ul li:hover {
        cursor: unset;
        opacity: 1;
    }
}

.step_attention {
    width: var(--max-width);
    background-color: var(--white);
    color: #555;
    position: fixed;
    bottom: 0;
    left: 0;
    text-align: center;
    z-index: 100;
    padding: 4px 0;
    font-size: 14px;
    box-shadow: 0 0 5px rgba(0,0,0,.1);
    opacity: .9;
}


/* スマホ表示 */
@media screen and (max-width: 600px) {
    .question2nd_container ul li {
        height: 100px;
    }

    .question2nd_container > p {
        width: max-content;
        border-bottom: solid 1px var(--black);
        padding-bottom: 2px;
        margin-left: auto;
        margin-right: auto;
    }

    .step_attention {
        position: static;
        width: 90%;
        max-width: fit-content;
        padding: 10px 20px;
        margin: 0 auto;
        border-radius: 20px;
        margin-bottom: var(--int5);
        transform: rotate(-1deg);
        text-align: center;
        color: #555;
        opacity: 1;
    }

    .step_attention span {
        display: inline-block;
    }
}


/* ---------------------------------------------------------
        3rd.メイン
-----------------------------------------------------------*/
.question3rd_container {
    margin: var(--int4) auto;
}

.answer3rd {
    width: var(--def-width);
    max-width: 680px;
    display: flex;
    justify-content: center;
    align-content: center;
    margin: 0 auto var(--int3);
}
.question3rd_container > p {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.answer3rd dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}
.answer3rd .di {
    display: flex;
    flex-direction: column;
}
.answer3rd dt {
    order: 2;
    color: var(--black);
    text-align: center;
    font-family: var(--design-font);
    font-size: 32px;
}
.answer3rd dd {
    order: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 80px;
    margin-bottom: var(--int1);
}
.answer3rd button {
    width: var(--max-width);
    background-color: var(--black);
    border-radius: 100%;
    transform: translateZ(0);
    position: relative;
    font-family: var(--design-font);
}
.answer3rd button[data-value="1"],
.answer3rd button[data-value="5"] {
    width: 80px;
    height: 80px;
}
.answer3rd button[data-value="2"],
.answer3rd button[data-value="4"] {
    width: 64px;
    height: 64px;
}
.answer3rd button[data-value="3"] {
    width: 52px;
    height: 52px;
}

.partitionLine._3rd {
    margin-bottom: 0;
}

.finishBtn {
    margin: 0 auto var(--int4);
}

/* 回答マーカー */
.answerMarker {
    position: fixed;
    top: calc(60px + var(--int3));
    left: 20px;
}

.answerMarker li {
    width: 14px;
    height: 14px;
    background-color: #555;
    border-radius: 50%;
    margin-bottom: var(--int2);
    opacity: .3;
}

.answerMarker li._answered {
    opacity: 1;
}


/* ---------------------------------------------------------
        simple.メイン
-----------------------------------------------------------*/
._simpleQdesign ul li {
    height: fit-content;
    margin-bottom: var(--int2);
    border-radius: 10px;
    padding: 0;
}

._simpleQdesign ul li > span {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 20px;
}




/* スマホ表示 */
@media screen and (max-width: 600px) {
    .answer3rd {
        width: var(--def-width);
        max-width: 352px;
    }
    .answer3rd dt {
        font-size: 28px;
    }
    .answer3rd dd {
        height: 50px;
    }
    .answer3rd button[data-value="1"],
    .answer3rd button[data-value="5"] {
        width: 50px;
        height: 50px;
    }
    .answer3rd button[data-value="2"],
    .answer3rd button[data-value="4"] {
        width: 34px;
        height: 34px;
    }
    .answer3rd button[data-value="3"] {
        width: 26px;
        height: 26px;
    }

    .answerMarker {
        left: 4%;
        display: flex;
        gap: 10px;
    }
    .answerMarker li {
        width: 10px;
        height: 10px;
    }
}

/* ------------------------------------
        魔法陣
--------------------------------------*/
.magicCircle {
    width: 680px;
    height: 680px;
    left: auto;
    right: -120px;
    top: 38%;
    transform: translateX(-50%) translateY(-50%);
    opacity: .05;
    animation: 240s linear infinite magicRotate;
}

@keyframes magicRotate{
    0%{ transform:rotate(0);
    }
    100%{ transform:rotate(360deg); }
  }

/* スマホ表示 */
@media screen and (max-width: 600px) {
    .magicCircle {
        width: 480px;
        height: 480px;
        max-width: none;
        min-width: 0;
        left: -30%;
        top: auto;
        bottom: -160px;
        transform: translateX(-50%) translateY(-50%);
    }
}
