@charset "utf-8";

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
reason,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
}

/* Typography
 * *********************************** */
html {}

body {
    background-color: #efefef;
    font-size: 85%;
    letter-spacing: 0.05em;
    font-family:
        Noto Sans JP, Yu Gothic, YuGothic, Hiragino Kaku Gothic ProN, Meiryo, sans-serif;
    font-weight: 200;
    color: #222;
    line-height: 170%;
    text-align: justify;
    text-justify: inter-ideograph;
}

html,
body {
    height: 100%;
}

li {
    margin-left: 1.0em;
    text-indent: -1.0em;
    list-style: none;
}

.fa-circle {
    font-size: 7px;
    padding: 0 2px 0 2px;
    vertical-align: middle;
    color: #333;
    margin-left: 1.0em;
    text-indent: -1.0em;
}

.bold {
    font-weight: bold;
}

.mt10 {
    margin-top: 10px;
}

.mb7 {
    margin-bottom: 7px;
}

img {
    width: 100%;
}

.tx1 {
    font-size: 130%;
    text-align: center;
    font-weight: bold;
    line-height: 1.7;
    display: inline;
}

.marker {
    background: linear-gradient(transparent 65%, #b0e0e6 45%);
}

.mar {
    background: linear-gradient(transparent 70%, #fff360 70%);
}

.marker7 {
    background: linear-gradient(transparent 0%, #fff89f 0%);
}

.red {
    color: #ff000f;
}

.bold {
    font-weight: bold;
}


/* kiyaku
 * *********************************** */
#kiyaku {
    max-width: 1040px;
    width: 90%;
    padding: 5%;
    margin: auto;
    background-color: #fff;
}

#kiyaku h1 {
    font-size: 150%;
    margin: 50px 0 20px;
}

#kiyaku h1 span {
    color: #92894e;
    padding-right: 5px;
}

#kiyaku h2 {
    font-size: 115%;
    margin: 30px 0 10px;
}

#kiyaku h3 {
    font-size: 95%;
    padding-top: 5px;
}

#kiyaku p {
    padding: 5px 0px 5px 10px;
}

#kiyaku .p-area {
    padding: 5px 0px 5px 40px;
}

#kiyaku li {
    padding: 5px 0px 5px 20px;
    list-style: none;
}

.mt30 {
    margin: 30px 0;
}

.ar {
    text-align: right;
}

a.out {
    color: #333;
}

a.out[href^="http"]:after,
a.out[href^="//"]:after {
    margin: 0 0 0 3px;
    font-family: "Font Awesome 5 Free";
    content: '\f35d';
    font-weight: 900;
}

/* howto
 * *********************************** */
#howto {
    max-width: 1040px !important;
    padding: 0;
    margin: 0 auto;
}

#howto img {
    width: 100%;
}

/* compensation and about
 * *********************************** */
#compensation,
#trouble-support,
#about,
#various {
    max-width: 1040px;
    width: 90%;
    padding: 5%;
    margin: auto;
    background-color: #fff;
    padding-bottom: 80px;
}

#compensation h1,
#trouble-support h1,
#about h1,
#various h1 {
    text-align: center;
    font-size: 150%;
    margin: 50px 0 40px;
}

#compensation h1 img,
#various h1 img {
    width: 70px;
    display: block;
    margin: auto;
    padding-bottom: 20px;
}

#compensation h2,
#trouble-support h2,
#about h2,
#various h2 {
    font-size: 115%;
    margin: 30px 0 15px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}

.sml_tx {
    font-size: 80%;
    color: #999;
    line-height: 160%;
    padding-top: 7px;
}

/* notification
 * *********************************** */
#notification {
    max-width: 1040px;
    width: 90%;
    padding: 5%;
    margin: auto;
    background-color: #fff;
    height: 100%;
    min-height: 100%;
    /* 最小の高さ */
}

body>#notification {
    height: auto;
    /* 要素を超えた分の背景が伸びないブラウザ用 */
}

#notification h1 {
    text-align: center;
    font-size: 150%;
    margin: 50px 0 50px;
}

#notification h2 {
    font-size: 100%;
    font-weight: normal;
    border-bottom: 1px dotted #ccc;
    padding: 5px 0 15px;
    text-align: justify;
    text-justify: inter-ideograph;
}

.day {
    font-size: 100%;
    color: #b8860b;
    font-weight: bold;
    font-family: Century Gothic;
}

/* guide and faq
 * *********************************** */
#guide,
#faq {
    max-width: 1040px;
    width: 90%;
    padding: 5%;
    margin: auto;
    background-color: #fff;
    padding-bottom: 80px;
}

#guide h1,
#faq h1 {
    font-size: 150%;
    margin: 50px 0 20px;
}

#guide h1 span {
    color: #92894e;
    padding-right: 5px;
}

#guide h2,
#faq h2 {
    font-size: 115%;
    margin: 30px 0 10px;
}

#guide h3 {
    font-size: 95%;
    padding-top: 5px;
}

#guide img {
    padding: 5px 0;
}

#guide .sml_tx {
    font-size: 80%;
    color: #999;
    line-height: 160%;
    padding-top: 5px;
}

.area1 {
    background-color: #efefef;
    padding: 7px;
    margin: 20px 0;
}

.line1 {
    border-bottom: 1px dotted #ccc;
    margin: 10px 0;
}

.box1 {
    display: inline-block;
    border: #b8860b solid 1px;
    width: 20px;
    height: 20px;
    text-align: center;
}

/******** */

ul.faq_mokuji {
    padding: 25px 0 15px 15px;
}

ul.faq_mokuji a {
    list-style: none;
    text-decoration: none;
    color: #222;
}

ul.faq_mokuji li {
    padding-bottom: 5px;
}

.fa-chevron-circle-down {
    padding-right: 3px;
}

.qa {
    margin-left: -15px;
    color: #888;
    font-family: Century Gothic;
}

.cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
}

.cp_actab input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.cp_actab label {
    position: relative;
    display: block;
    padding: 20px 40px 20px 30px;
    cursor: pointer;
    margin: 10px 0 0;
    background: #efefef;
}

/* :checked */
.cp_actab input:checked~.tab_tx {
    max-height: 800px;
}

/* Icon */
.cp_actab label::after {
    line-height: 3;
    position: absolute;
    top: 0;
    right: 4%;
    display: block;
    height: 3em;
    -webkit-transition: all 0.35s;
    transition: all 0.35s;
    text-align: center;
    font-size: 20px;
}

.cp_actab input[type=checkbox]+label::after {
    content: '+';
}

.cp_actab input[type=checkbox]:checked+label::after {
    transform: rotate(315deg);
}

.tab_tx {
    overflow: hidden;
    max-height: 0;
    -webkit-transition: max-height 0.35s;
    transition: max-height 0.35s;
    color: #333333;
    background: #f2f2f2;
}

.tab_tx p {
    margin: 1em;
}

.tx_pd {
    padding: 20px 30px 30px
}

.ans_part {
    font-size: 130%
}

.ans_part span {
    color: #d01137;
    font-size: 100%;
    padding: 0 0 0 5px
}

.ans_part span span {
    font-size: 150%;
}




/* various
 * *********************************** */

#various img {
    margin: 50px 0 30px;
}

.subti {
    text-align: center;
    font-size: 120%;
    padding: 0px 0 20px;
}

.subti:before {
    content: '＼ ';
}

.subti:after {
    content: ' ／';
}




/* camp
 * *********************************** */

#camp {
    max-width: 1040px;
    width: 100%;
    padding: 0;
    margin: auto;
    background-color: #fff;
    padding-bottom: 80px;
}

#camp .step {
    background-color: #fdf1d7;
    padding: 7%;
}

#camp .step_in {
    background-color: #fff;
    border-radius: 5px;
    padding: 5%;
    text-align: center;
}

#camp .step_img {
    width: 180px;
    margin: 10px auto;
    margin-bottom: 50px;
}

#camp .step_ti {
    font-size: 4vw;
    font-weight: bold;
    margin: 50px 0 10px;
}

#camp .step_tx {
    font-size: 7vw;
    font-weight: bold;
    margin: 0px 0 15px;
    letter-spacing: 2px;
}

#camp h2 {
    font-size: 6vw;
    margin: 30px 0 15px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}

#camp .camp_in {
    padding: 5%;
}

#camp .title {
    font-weight: bold;
    font-size: 4vw;
    margin-top: 30px;
}

#camp .txt {
    font-weight: nomal;
    font-size: 3.7vw;
}

#camp li {
    font-size: 3.7vw;
}






/* que1ans1
 * *********************************** */

#q1a {
    max-width: 1040px;
    width: 100%;
    padding: 0;
    margin: auto;
    background-color: #fff;
    padding-bottom: 80px;
}

#q1a .step {
    background-color: #fff;
    padding: 30px 2%;
}

#q1a .step .line {
    border-bottom: 1px dotted #ccc;
    margin: 40px 0;
}


.q1a_l {
    font-size: small;
    position: relative;
    width: 77%;
    display: inline-block;
    vertical-align: top;
    margin-left: 4%;
    margin-right: 3%;
    margin-bottom: 10px;
    box-sizing: border-box;
}

.q1a_r {
    font-size: small;
    position: relative;
    width: 94%;
    display: inline-block;
    vertical-align: top;
    margin-right: 4%;
    margin-left: 2%;
    margin-bottom: 10px;
    box-sizing: border-box;
    text-align: right;
}

.q1a_l .name,
.q1a_r .name {
    font-size: 13px;
    color: #555;
    font-weight: bold;
}

.q1a_img-left {
    width: 14%;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 10px;
    box-sizing: border-box;
    text-align: right;
    padding-top: 13px;
}

.q1a_img-left img {
    width: 100%;
    max-width: 75px !important;
    border-radius: 50%;
}

.q1a_text-l {
    display: inline-block;
    background-color: #dfebff;
    padding: 12px;
    border-radius: 5px;
    font-size: medium;
    font-size: 14px;
}

.q1a_text-l:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 10px 5px 0px;
    border-color: transparent #dfebff transparent transparent;
    top: 30px;
    left: -10px;
}

.q1a_text-r {
    display: inline-block;
    text-align: left;
    background-color: #ffe8d5;
    padding: 12px;
    border-radius: 5px;
    font-size: medium;
    font-size: 14px;
    margin-bottom: 10px;
}

.q1a_text-r:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 10px;
    border-color: transparent transparent transparent #ffe8d5;
    top: 30px;
    right: -10px;
}

@media (max-width: 767px) {

    .q1a_l .name,
    .q1a_r .name {
        font-size: 3.8vw;
    }

    .q1a_text-r,
    .q1a_text-l {
        font-size: 4vw;
    }
}

/*主な共通部分は省略*/


.camp_btn {
    width: 70%;
    font-size: 4.8vw;
    background-color: #efb929;
    cursor: pointer;
    text-align: center;
    color: #fff;
    border-radius: 0.5rem;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    padding: 20px 25px;
    margin: 30px 0 50px;
    border-bottom: solid 4px #d69f10;
    position: relative;
    display: inline-block;
    font-weight: bold;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.camp_btn:active {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    border-bottom: none;
}

.fa-position-left {
    position: absolute;
    top: calc(50% - .5em);
    left: 1rem;
}

.fa-position-right {
    position: absolute;
    top: calc(50% - .5em);
    right: 1rem;
}



#compensation h1,
#trouble-support h1,
#about h1,
#various h1 {
    text-align: center;
    font-size: 150%;
    margin: 50px 0 40px;
}

#compensation h1 img,
#trouble-support h1 img,
#various h1 img {
    width: 70px;
    display: block;
    margin: auto;
    padding-bottom: 20px;
}

.sml_tx {
    font-size: 80%;
    color: #999;
    line-height: 160%;
    padding-top: 7px;
}



/* delivery-kit 
 * *********************************** */
#delivery-kit {
    max-width: 1040px;
    width: 90%;
    padding: 5%;
    margin: auto;
    background-color: #fff;
    padding-bottom: 80px;
}

#delivery-kit h1 {
    text-align: center;
    font-size: 150%;
    margin: 50px 0 40px;
}

#delivery-kit h1 img {
    width: 70px;
    display: block;
    margin: auto;
    padding-bottom: 20px;
}

#delivery-kit h2 {
    font-size: 115%;
    margin: 30px 0 15px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}

#delivery-kit h3 {
    font-size: 100%;
    margin: 30px 0 10px;
}

.sml_tx {
    font-size: 80%;
    color: #999;
    line-height: 160%;
    padding-top: 7px;
}

.mtmb10 {
    margin: 10px 0 20px 0;
}

#trouble-support {
    max-width: 1040px;
    width: 90%;
    padding: 0;
    margin: auto;
    background-color: #fff;
    padding-bottom: 80px;
}

#trouble-support section:not(.voice) {
    padding: 5%;
}


@media only screen and (min-width: 768px) {
    #trouble-support .top_flex {
        display: flex;
        justify-content: center;
        align-items: center;
        max-width: 820px;
        margin: auto;
    }

    #trouble-support .top_flex:nth-child(even) {
        flex-direction: row-reverse;
    }

    #trouble-support .main_image {
        width: 50%;
        padding: 0 2%;
    }

    #trouble-support .main_lead {
        width: 50%;
    }

    #trouble-support .top_memo {
        max-width: 820px;
        margin: 32px auto 0;
    }

}

#trouble-support .main_image {
    max-width: 620px;
    margin: 32px auto 0;
}

#trouble-support h3 {
    position: relative;
    padding-left: 2.5rem;
}

#trouble-support h3::before {
    content: attr(date-num);
    display: inline-block;
    font-size: 1em;
    color: #a0870c;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0;
}

#trouble-support .stepbox {
    margin-top: 24px;
    padding-top: 24px;
    border-top: solid 1px #555;
}

#trouble-support .stepbox:first-child {
    border-top: 0;
    padding-top: 0;
}

#trouble-support .sub_stepbox {
    margin-top: 32px;
}

@media only screen and (min-width: 768px) {
    #trouble-support .sub_stepflex {
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        flex-wrap: wrap;
    }

    #trouble-support .sub_stepbox {
        width: 50%;
        padding: 0 2.5%;
        display: flex;
        flex-direction: column;
    }

    #trouble-support .sub_stepflex p {
        margin-bottom: 24px;
    }

    #trouble-support .sub_stepflex .step_image {
        width: 62%;
        margin-top: auto;
    }
}

#trouble-support .sub_stepbox h4 {
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: dotted 1px #92894e;
}

#trouble-support .step_image {
    width: 92%;
    max-width: 640px;
    margin: 24px auto 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 6px 3px 12px rgba(45, 45, 45, 0.12);
}


#trouble-support .link_block {
    margin: 40px auto 0;
}

#trouble-support .link_block ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

#trouble-support .link_block ul li {
    display: inline-block;
    text-indent: 0;
    margin-top: 16px;
}

#trouble-support .link_block ul li a {
    display: inline-block;
    padding: 8px 32px 8px 20px;
    background: #92894e;
    color: #fff;
    font-size: 14px;
    line-height: 1.2;
    font-weight: bold;
    border-radius: 100px;
    text-decoration: none;
    text-align: center;
    position: relative;
}

#trouble-support .link_block ul li a::after {
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-width: 2px 2px 0 0;
    border-style: solid;
    border-color: #fff;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: rotate(45deg);
    transform-origin: right top;
}

/*口コミ*/
#trouble-support .voice {
    margin-top: 60px;
    padding: 10px 0;
    position: relative;
    text-align: center;
    background: #faf5eb;
    font-size: 100%;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 600;
    color: #333
}

.voice .container {
    max-width: 1200px;
    padding: 10px;
    position: relative;
    width: 100%;
    margin: 0px auto;
    text-align: left;
}

.v_box_in {
    background: #fff;
    border: 1px solid #111;
    padding: 28px 40px;
}

.product {
    font-size: 100%;
    font-weight: bold;
    display: inline-block;
    margin: 0;
    line-height: 1;
}

.product span {
    font-size: 140%;
    vertical-align: sub;
    margin-right: 20px;
}

.personal {
    display: inline-block;
    font-size: 100%;
    line-height: 2;
    padding: 7px 12px;
    float: right;
}

.voice .tex-gold {
    border-top: 1px dashed #CCC;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.6;
    margin: 12px 0 20px;
    padding-top: 16px;
    color: #a0870c;
    letter-spacing: 2px;
}

.tx_com {
    line-height: 1.8;
    font-size: 90%;
    letter-spacing: 1px;
}

.fa-quote-left:before {
    content: "\f10d";
    bottom: 10px;
    position: relative;
    margin-right: 10px;
}

.fa-quote-right:before {
    content: "\f10e";
    top: 10px;
    position: relative;
    margin-left: 10px;
}


.tx_star {
    background: linear-gradient(transparent 60%, #ff6 60%);
    margin: 0 0 20px 0px;
    display: inline-block;
    font-size: 100%;
}

.tx_star span {
    margin-left: 10px;
}

.star5_rating {
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC;
}

.star5_rating:before,
.star5_rating:after {
    content: '★★★★★';
}

.star5_rating:after {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32;
}

.star5_rating[data-rate="5"]:after {
    width: 100%;
}

/* 星5 */
.star5_rating[data-rate="4.5"]:after {
    width: 90%;
}

/* 星4.5 */
.star5_rating[data-rate="4"]:after {
    width: 80%;
}

/* 星4 */
.star5_rating[data-rate="3.5"]:after {
    width: 70%;
}

/* 星3.5 */
.star5_rating[data-rate="3"]:after {
    width: 60%;
}

/* 星3 */
.star5_rating[data-rate="2.5"]:after {
    width: 50%;
}

/* 星2.5 */
.star5_rating[data-rate="2"]:after {
    width: 40%;
}

/* 星2 */
.star5_rating[data-rate="1.5"]:after {
    width: 30%;
}

/* 星1.5 */
.star5_rating[data-rate="1"]:after {
    width: 20%;
}

/* 星1 */
.star5_rating[data-rate="0.5"]:after {
    width: 10%;
}

/* 星0.5 */
.star5_rating[data-rate="0"]:after {
    width: 0%;
}

/* 星0 */


@media screen and (max-width:767px) {
    .voice {
        padding: 20px 0;
    }

    .v_box_in {
        background: #fff;
        border: 1px solid #111;
        padding: 20px 5% 40px;
        text-align: justify;
    }

    .product {
        margin-top: 10px;
    }

    .voice .tex-gold {
        font-size: 5.5vw;
        margin: 10px 0 30px;
        padding-top: 30px;
        text-align: center;
    }

    .voice_area p {
        font-size: 3.8vw;
        float: none;
        text-align: center;
        line-height: 1.6;
    }

    .personal {
        display: block;
        font-size: 100%;
        line-height: 1;
        padding: 7px 0;
        float: none;
    }

    .tx_com {
        text-align: left;
        font-size: 4.0vw;
    }

    .tx_star {
        font-size: 4.8vw;
    }
}