@charset "utf-8";
body {
    overflow-x: hidden;
}

img {
    width: 100%;
    vertical-align: bottom;
    display: block;
    line-height: 0;
    font-size: 0;
}

#firstView {
    position: relative;
}

.animatedParent {
    position: relative;
}

main {
    overflow: hidden;
    font-family: "Noto Sans JP", sans-serif;
}

.fadeInUpShort {
    animation-duration: 0.4s !important;
}

.lp-wrapper {
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
}

header a[href="https://www.legitscript.com/websites/?checker_keywords=pesod.jp"] {
    position: absolute;
    top: 10px;
    right: 10px;
}

@media only screen and (max-width: 767px) {
    header a[href="https://www.legitscript.com/websites/?checker_keywords=pesod.jp"] img {
        width: 70px;
        height: 60px;
    }
}

/* =============================================
    offer
=============================================*/

.btn_contact {
    width: calc(700/750*100%);
    margin: 0 auto;
    cursor: pointer;
    transition: opacity 0.4s ease-in-out;
    opacity: 1;
    animation: btn_heartbeat 2s ease-in-out infinite;
}

@keyframes btn_heartbeat {
    0% {
        transform: scale(1);
        transform-origin: center;
    }
    30% {
        transform: scale(1);
    }
    35% {
        transform: scale(1.1);
        transform-origin: center;
    }
    40% {
        transform: scale(0.8);
        transform-origin: center;
    }
    45% {
        transform: scale(1.05);
        transform-origin: center;
    }
    100%,
    60% {
        transform: scale(1);
        transform-origin: center;
    }
}

.btn_contact:hover {
    opacity: 0.7;
}

.btn-wrap {
    background-image: url(../img/offer-bg.jpg);
    background-size: cover;
}

.offer .btn_head {
    width: calc(334/750*100%);
    margin: 0 auto 3%;
}

/* =============================================
    care
=============================================*/

.faq_slider {
    background: #FFF;
}

.faq_slider h2 {
    width: calc(392/750*100%);
    margin: 8% auto 5%;
}

.faq_slider .faq_slider-wrapper {
    width: 92%;
    margin: 0 auto;
}

.faq_slider .slider01 .prev-arrow {
    position: absolute;
    top: 38.5%;
    left: .4%;
    width: min(calc(57/750*100%), 57px);
    z-index: 1000;
    cursor: pointer;
}

.faq_slider .slider01 .next-arrow {
    position: absolute;
    top: 38.5%;
    right: .4%;
    width: min(calc(57/750*100%), 57px);
    z-index: 1000;
    cursor: pointer;
}

.faq_slider .slider01 .slick-dots {
    padding: 4% 0 8%;
    position: relative;
    display: flex;
    justify-content: center;
}

.faq_slider .slider01 .slick-dots li {
    margin: 0 2%;
}

.faq_slider .slider01 .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 15px;
    height: 15px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: #a0a0a0;
    border-radius: 50%;
}

.slider01 .slick-dots li.slick-active button {
    background: #01a3d3;
}

.faq_slider {
    background-size: cover;
    position: relative;
}

.faq_slider .slider02 .prev-arrow {
    position: absolute;
    top: 38.5%;
    left: .4%;
    width: min(calc(57/750*100vw), 57px);
    z-index: 1000;
    cursor: pointer;
}

.faq_slider .slider02 .next-arrow {
    position: absolute;
    top: 38.5%;
    right: .4%;
    width: min(calc(57/750*100vw), 57px);
    z-index: 1000;
    cursor: pointer;
}

.faq_slider .slider02 .slick-dots {
    padding: 6% 0 9%;
    position: relative;
    display: flex;
    justify-content: center;
}

.faq_slider .slider02 .slick-dots li {
    margin: 0 2%;
}

.faq_slider .slider02 .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 15px;
    height: 15px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: #a0a0a0;
    border-radius: 50%;
}

.faq_slider .slider02 .slick-dots li.slick-active button {
    background: #01a3d3;
}

/* =============================================
    faq_ara
=============================================*/

.faq-area {}

.faq-area h2 {
    width: calc(392/750*100%);
    margin: 8% auto 6%;
}

.faq-area .accordion {
    width: calc(634/750*100%);
    margin: 0 auto 9%;
    border: 3px solid #e0e2ea;
    border-radius: 5px;
    position: relative;
}

.faq-area .accordion dt {
    color: #272a2e;
    font-size: min(calc(30/750*100vw), 30px);
    vertical-align: top;
    display: flex;
    cursor: pointer;
    padding: calc(37/750*100%);
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.faq-area .accordion dt:after {
    content: "";
    display: block;
    background-image: url(../img/faq-icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: min(calc(30/750*100%), 30px);
    padding-top: min(calc(18/750*100%), 18px);
    position: absolute;
    right: 3%;
    top: 45%;
    transition: all ease 0.3s;
    transform: rotate(180deg);
}

.faq-area .accordion dt.selected:after {
    transform: rotate(0deg);
}

.faq-area .accordion dt p {
    width: 100%;
}

.faq-area .accordion dt.selected {
    border-bottom: 3px solid #e0e2ea;
}

.faq-area .accordion dt p {
    line-height: calc(40/32);
    margin-left: 3%;
    display: inline-block;
}

.faq-area .accordion dt:before {
    content: "";
    display: inline-block;
    background-image: url(../img/faq_icon_q.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(49/634*100%);
    padding-top: calc(35/634*100%);
    margin-top: 1%;
}

.faq-area .accordion>dd {
    padding: calc(37/750*100%) calc(37/750*100%) calc(50/750*100%);
    color: #3a312c;
    display: none;
}

.faq-area .accordion dd:before {
    content: "";
    display: inline-block;
    background-image: url(../img/faq_icon_a.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(49/634*100%);
    padding-top: calc(35/634*100%);
    margin-bottom: 3%;
}

.faq-area .accordion dd p {
    font-size: min(calc(25/750*100vw), 25px);
    line-height: calc(40/25);
}

.faq-area .accordion dd p+p {
    margin-top: 1.5em;
}

.faq-area .accordion dd h4 {
    margin-top: 1.5em;
    font-size: min(calc(25/750*100vw), 25px);
    font-weight: 600;
    margin-bottom: 3%;
}

.faq-area .accordion dd dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    border: 1px solid #000;
    margin-bottom: 3%;
}

.faq-area .accordion dd dl dt {
    width: 25%;
    font-size: min(calc(25/750*100vw), 25px);
    display: flex;
    align-items: center;
    padding: calc(20/750*100%);
    cursor: default;
}

.faq-area .accordion dd dl dt:after {
    content: none;
}

.faq-area .accordion dd dl dt:not(:last-of-type) {
    border-bottom: 1px solid #000;
}

.faq-area .accordion dd dl dt:before,
.faq-area .accordion dd dl dd:before {
    content: none;
}

.faq-area .accordion dd dl dd {
    width: 69%;
    border-left: 1px solid #000;
    font-size: min(calc(25/750*100vw), 25px);
    line-height: 1.4;
    padding: calc(20/750*100%);
}

.faq-area .accordion dd dl dd:not(:last-of-type) {
    border-bottom: 1px solid #000;
}

.faq-area .accordion dd p span {
    font-weight: 600;
}

.faq-area .accordion dd ol li {
    font-size: min(calc(25/750*100vw), 25px);
    padding-left: 1em;
    line-height: calc(40/25);
}

.faq-area .accordion dd ol li a {
    border-bottom: 1px solid currentColor;
}

.faq-area .about_table {
    border: 1px solid #059ed1;
    border-radius: 5px;
    width: calc(634/750*100%);
    margin: 0 auto 9%;
}

.faq-area .about_table dt {
    background-color: #059ed1;
    font-size: min(calc(40/750*100vw), 40px);
    text-align: center;
    color: #FFF;
    padding: calc(37/750*100%);
}

.faq-area .about_table dd {
    padding: calc(37/750*100%);
    font-size: min(calc(25/750*100vw), 25px);
    line-height: calc(37/25);
}

.faq-area .about_table dd h3 {
    color: #03248b;
    font-weight: 500;
    border-bottom: 1px solid currentColor;
    display: inline-block;
}

.faq-area .about_table dd ol li:not(:last-of-type) {
    margin-bottom: 1.5em;
}

.faq-area .about_table dd h4 {
    font-weight: 600;
}

.faq-area .about_table dd p+h4 {
    margin-top: 1em;
}

.faq-area .about_table dd p a {
    border-bottom: 1px solid currentColor;
}

.faq-area .about_table dd .name {
    color: #000;
    border-bottom: none;
    margin-bottom: 1em;
    font-weight: 700;
}

/* footer */

footer {
    background-color: #059ed1;
    padding: 5% 0 5%;
}

footer ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: calc(560/750*100%);
    margin: 0 auto;
    line-height: 2.3;
}

footer ul li a {
    font-size: min(calc(20/750*100vw), 20px);
    color: #FFF;
    border-bottom: 1px solid currentColor;
}

footer ul li:nth-of-type(1),
footer ul li:nth-of-type(2) {
    margin-right: 5%
}

footer ul li:last-of-type {
    margin-left: 10%;
}

footer .copy {
    text-align: center;
    color: #FFF;
    font-size: min(calc(20/750*100vw), 20px);
    margin-top: 7%;
}

/* floating */

/* ---------------------------------------------"
追従ボタン
--------------------------------------------- */

.bl_floatArea {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 999;
    opacity: 1;
    transition: all ease .4s;
    box-sizing: border-box;
}

.bl_floatArea.is_show {
    visibility: visible;
    opacity: 1;
}

.bl_floatArea_inner {
    max-width: 700px;
    margin: auto;
    box-sizing: border-box;
}

/* ボタン */

.bl_floatArea_btn {
    display: block;
}

.bl_floatArea_btn img {
    width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* 背景色付き ver */

.bl_floatArea.bl_floatArea__bg {
    background-color: rgba(255 255 255 .5);
}

/* パディングなし ver */

.bl_floatArea.bl_floatArea__p0 .bl_floatArea_inner {
    padding: 0;
}

.is-bnrHide {
    visibility: hidden;
    opacity: 0 !important;
}

/* =============================================
    法令表記
=============================================*/

body.law {
    line-height: normal;
}

.law .ol {
    margin-top: 30px;
}

.law ol>li {
    margin-bottom: 15px;
    font-weight: bold;
}

.law div {
    font-weight: normal;
}

.law div.indent {
    margin: 0 0 0 14px;
    line-height: 1.5em;
    padding-top: 5px;
}

.law main {
    background-image: url(img/15_bg.jpg);
    background-size: 100%;
    background-position: top;
    background-repeat: repeat-y;
    padding: 4vw;
    font-family: 'Noto Sans JP', sans-serif;
}

.law h1 {
    text-align: center;
    margin: 1vw 0px 3vw;
    color: #1096da;
    font-size: 6.2vw;
    letter-spacing: 0.7vw;
}

::marker {
    font-weight: bold;
}

.law h2 {
    font-size: 4.8vw;
    letter-spacing: 0.7vw;
    margin-top: 7vw;
}

.law h3 {
    font-size: 3.8vw;
    letter-spacing: 0.7vw;
    margin-top: 4.8vw;
    margin-left: 1.8vw;
}

@media only screen and (min-width:600px) {
    /* =============================================
        法令表記
    =============================================*/
    .law main {
        padding: 2vw;
    }
    .law h1 {
        font-size: 36px;
        letter-spacing: 5px;
    }
    .law h2 {
        font-size: 29px;
        letter-spacing: 5px;
        margin-top: 48px;
    }
    .law h3 {
        font-size: 23px;
        letter-spacing: 3px;
        margin-top: 22px;
        margin-left: 14px;
    }
    .law h4 {
        margin-top: 15px;
    }
}