@charset "UTF-8";

/*    ––––––––––––––––––––––––––––––––––––––––––––––––––
共通
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*color*/
:root {
    --black: #2F363D;
    --blue: #0066CC;
    --darkblue: #004A99;
    --lightblue: #D4E8FC;
    --lightgray: #F0F5FA;
    --lightyellow: #99CCFF;
    --skyblue: #4EAEFF;
    --bluegray: #AEBAC6;
    --navy: #003366;
    --white: #fff;

}


/* fontsize*/
:root {
    --160px: 10rem;
    --140px: 8.75rem;
    --130px: 8.125rem;
    --120px: 7.5rem;
    --100px: 6.25rem;
    --90px: 5.625rem;
    --80px: 5rem;
    --76px: 4.75rem;
    --72px: 4.5rem;
    --70px: 4.375rem;
    --64px: 4rem;
    --60px: 3.75rem;
    --56px: 3.5rem;
    --54px: 3.375rem;
    --50px: 3.125rem;
    --40px: 2.5rem;
    --38px: 2.375rem;
    --36px: 2.25rem;
    --32px: 2rem;
    --28px: 1.75rem;
    --24px: 1.5rem;
    --22px: 1.375rem;
    --20px: 1.25rem;
    --18px: 1.125rem;
    --16px: 1rem;
    --14px: 0.875rem;
    --12px: 0.75rem;
    --10px: 0.625rem;
}

html {
    scroll-behavior: smooth;
    overflow: auto;
}

body {
    font-size: var(--16px);
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: 0.065rem;
    font-family: "Noto Sans JP", sans-serif !important;
    color: var(--black);
    overflow: hidden;
    background-color: var(--lightgray);
}

h2 {
    font-size: var(--32px);
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}


h3 {
    font-size: var(--32px);
    font-weight: bold;
    text-align: center;
    position: relative;
    margin-bottom: 45px;
}

h3:after {
    position: absolute;
    bottom: -25px;
    left: 0;
    right: 0;
    width: 70px;
    height: 3px;
    content: '';
    margin: auto;
    border-radius: 2px;
    background: var(--blue);
}

.en {
    font-family: "DM Sans", sans-serif;
}

.en-title {
    font-family: "DM Sans", sans-serif;
    font-size: var(--72px);
    line-height: 0.6;
    margin-bottom: 40px;
    letter-spacing: 0.4rem;
}

.en-title span {
    font-family: "Noto Sans JP", sans-serif;
    color: var(--blue);
    font-size: var(--22px);
    letter-spacing: 0.04rem;
}


/* PC、スマホ表示 */
.pc {
    display: block !important;
}

.sp {
    display: none !important;
}

@media only screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }
}


.btn {
    background-color: var(--black);
    font-size: var(--28px);
    color: var(--white);
    border-radius: 70px;
    font-weight: bold;
    position: relative;
    padding: 33px 100px 35px 80px;
    transition: 0.5s;
}

.btn:after {
    position: absolute;
    content: '';
    display: inline-block;
    width: 35px;
    height: 35px;
    right: 20px;
    margin-top: 4px;
    background-image: url(../img/btn-icon-arrow01.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
}

.btn:hover {
    color: var(--white);
    background-color: var(--blue);
}

.btn-wh {
    background-color: var(--white);
    font-size: var(--28px);
    color: var(--blue);
    border-radius: 70px;
    font-weight: bold;
    position: relative;
    padding: 33px 100px 35px 80px;
    transition: 0.5s;
}

.btn-wh span {
    display: block;
    position: absolute;
    font-size: var(--18px);
    text-align: center;
    background-color: var(--blue);
    color: var(--white);
    border-radius: 50px;
    padding: 10px;
    width: 58%;
    margin: auto;
    left: 0;
    right: 0;
    top: -20px;
}

.btn-wh:after {
    content: '';
    display: inline-block;
    width: 35px;
    height: 35px;
    right: 20px;
    margin-top: 4px;
    background-image: url(../img/btn-icon-arrow02.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
}


.btn-wh:hover {
    color: var(--white);
    background-color: var(--darkblue);
}

.mb80 {
    margin-bottom: 80px;
}

table {
    /*display: block;
    overflow-x: scroll;*/
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

/*    –––––––––––––––––––––––––––––––––––––––––––––––
FV (merrybiz style)
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.pc_none {
    display: block;
}

@media screen and (min-width: 1024px) {
    .pc_none {
        display: none;
    }
}

.sp_only {
    display: block;
}

@media screen and (min-width: 768px) {
    .sp_only {
        display: none;
    }
}

#fv.fv-merrybiz {
    background-color: transparent;
    padding: 0;
    position: relative;
    min-height: auto;
}

.fv-main_visual {
    background: linear-gradient(135deg, #0066CC 0%, #4EAEFF 100%);
    padding-top: 8px;
    padding-bottom: 20px;
    position: relative;
}

@media screen and (min-width: 768px) {
    .fv-main_visual {
        padding-bottom: 150px;
    }
}

@media screen and (min-width: 1120px) {
    .fv-main_visual {
        padding-top: 8px;
        padding-bottom: 190px;
    }
}

.fv-main_inner {
    margin-top: 24px;
    padding: 0 5%;
}

@media screen and (min-width: 768px) {
    .fv-main_inner {
        width: 90%;
        margin: 0 auto;
        padding: 0;
    }
}

@media screen and (min-width: 1120px) {
    .fv-main_inner {
        max-width: 1100px;
    }
}

.fv-main_title h1 {
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
}

@media screen and (min-width: 376px) {
    .fv-main_title h1 {
        font-size: 40px;
    }
}

@media screen and (min-width: 768px) {
    .fv-main_title h1 {
        text-align: left;
        margin-top: 56px;
        font-size: 48px;
        position: relative;
        z-index: 2;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_title h1 {
        font-size: 64px;
    }
}

@media screen and (min-width: 1440px) {
    .fv-main_title h1 {
        margin-top: 60px;
        font-size: 80px;
    }
}

.fv-main_title h1 .en {
    color: #FFD700;
    font-family: "DM Sans", sans-serif;
}

.fv-main_image {
    width: 70%;
    margin: 12px auto 16px;
}

.fv-main_image img {
    width: 100%;
    height: auto;
    display: block;
}

@media screen and (min-width: 768px) {
    .fv-main_image {
        width: 55%;
        position: absolute;
        top: 40px;
        left: 45%;
        z-index: 1;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_image {
        width: 500px;
        top: 60px;
        left: auto;
        right: 5%;
        margin-left: 0;
        max-width: 500px;
    }
}

@media screen and (min-width: 1440px) {
    .fv-main_image {
        width: 580px;
        top: 60px;
        right: 8%;
        max-width: 580px;
    }
}

.fv-main_text {
    color: #fff;
}

@media screen and (min-width: 768px) {
    .fv-main_text {
        position: relative;
        z-index: 2;
    }
}

.fv-main_text h2 {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    margin-bottom: 0;
}

@media screen and (min-width: 376px) {
    .fv-main_text h2 {
        font-size: 18px;
    }
}

@media screen and (min-width: 768px) {
    .fv-main_text h2 {
        text-align: left;
        margin-top: 24px;
        font-size: 24px;
    }
}

@media screen and (min-width: 1440px) {
    .fv-main_text h2 {
        font-size: 32px;
        margin-top: 20px;
    }
}

.fv-main_text p {
    text-align: center;
    font-size: 14px;
    margin-top: 16px;
    line-height: 1.5;
    margin-bottom: 0;
}

@media screen and (min-width: 376px) {
    .fv-main_text p {
        font-size: 16px;
    }
}

@media screen and (min-width: 768px) {
    .fv-main_text p {
        text-align: left;
        font-size: 16px;
    }
}

@media screen and (min-width: 1440px) {
    .fv-main_text p {
        margin-top: 18px;
        font-size: 18px;
        line-height: 1.8;
    }
}

.fv-main_contact {
    background: var(--blue);
    padding: 5%;
}

@media screen and (min-width: 768px) {
    .fv-main_contact {
        border-radius: 20px;
        margin: -120px 5% 0;
        position: relative;
        z-index: 1;
        padding: 20px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contact {
        max-width: 1100px;
        margin: -140px 5% 0;
        padding: 40px 40px 24px;
    }
}

@media screen and (min-width: 1200px) {
    .fv-main_contact {
        margin: -140px auto 0;
    }
}

@media screen and (min-width: 768px) {
    .fv-main_contact li {
        width: 100%;
    }
}

.fv-main_contact li a {
    background-color: #FFD700;
    height: 64px;
    color: var(--blue);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: 0.3s;
}

.fv-main_contact li a:hover {
    opacity: 0.8;
    color: var(--blue);
}

@media screen and (min-width: 768px) {
    .fv-main_contact li a {
        width: 100%;
        height: 80px;
        max-width: 100%;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contact li a {
        width: 100%;
        height: 100px;
        max-width: 100%;
    }
}

@media screen and (min-width: 1240px) {
    .fv-main_contact li a {
        justify-content: flex-start;
    }
}

.fv-main_contact li a p {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    width: 100%;
    margin-bottom: 0;
}

@media screen and (min-width: 1240px) {
    .fv-main_contact li a p {
        justify-content: flex-start;
    }
}

.fv-main_contact li a p>span {
    display: block;
    line-height: 1;
    font-size: 16px;
    margin-left: 8px;
}

@media screen and (min-width: 376px) {
    .fv-main_contact li a p>span {
        font-size: 19px;
    }
}

@media screen and (min-width: 768px) {
    .fv-main_contact li a p>span {
        letter-spacing: -1px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contact li a p>span {
        font-size: 23px;
    }
}

@media screen and (min-width: 1240px) {
    .fv-main_contact li a p>span {
        font-size: 26px;
    }
}

@media screen and (min-width: 1440px) {
    .fv-main_contact li a p>span {
        letter-spacing: 0;
        margin-left: 10px;
    }
}

.fv-main_contact li a p>span span {
    display: block;
    line-height: 1;
    font-size: 10px;
    margin-top: 6px;
}

@media screen and (min-width: 376px) {
    .fv-main_contact li a p>span span {
        font-size: 12px;
    }
}

@media screen and (min-width: 768px) {
    .fv-main_contact li a p>span span {
        letter-spacing: -1px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contact li a p>span span {
        font-size: 14px;
        margin-top: 10px;
    }
}

@media screen and (min-width: 1240px) {
    .fv-main_contact li a p>span span {
        font-size: 15px;
    }
}

@media screen and (min-width: 1440px) {
    .fv-main_contact li a p>span span {
        letter-spacing: 0;
    }
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn {
        display: flex;
        list-style: none;
        padding: 0;
        margin: 0;
    }
}

.fv-main_contactBtn {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fv-main_contactBtn-document a {
    position: relative;
}

@media screen and (min-width: 1240px) {
    .fv-main_contactBtn-document a {
        background-image: url(../img/btn-icon-arrow02.png);
        background-position: center right 16px;
        background-repeat: no-repeat;
        background-size: 24px;
    }
}

.fv-main_contactBtn-document a p:before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background-color: var(--blue);
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2018H16V16H8V18ZM8%2014H16V12H8V14ZM6%2022C5.45%2022%204.97917%2021.8042%204.5875%2021.4125C4.19583%2021.0208%204%2020.55%204%2020V4C4%203.45%204.19583%202.97917%204.5875%202.5875C4.97917%202.19583%205.45%202%206%202H14L20%208V20C20%2020.55%2019.8042%2021.0208%2019.4125%2021.4125C19.0208%2021.8042%2018.55%2022%2018%2022H6ZM13%209V4H6V20H18V9H13Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-document a p:before {
        background-size: 38px auto;
        background-position: center;
        width: 56px;
        height: 56px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contactBtn-document a p:before {
        background-size: 41px auto;
        width: 64px;
        height: 64px;
        position: relative;
        margin-left: 16px;
    }
}

.fv-main_contactBtn-contact {
    margin-top: 12px;
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-contact {
        margin-top: 0;
        margin-left: 20px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contactBtn-contact {
        margin-left: 40px;
    }
}

.fv-main_contactBtn-contact a {
    position: relative;
}

@media screen and (min-width: 1240px) {
    .fv-main_contactBtn-contact a {
        background-image: url(../img/btn-icon-arrow02.png);
        background-position: center right 16px;
        background-repeat: no-repeat;
        background-size: 24px;
    }
}

.fv-main_contactBtn-contact a p:before {
    content: "";
    display: block;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background-color: var(--blue);
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M20%204H4C2.9%204%202.01%204.9%202.01%206L2%2018C2%2019.1%202.9%2020%204%2020H20C21.1%2020%2022%2019.1%2022%2018V6C22%204.9%2021.1%204%2020%204ZM20%208L12%2013L4%208V6L12%2011L20%206V8Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-contact a p:before {
        background-size: 32px auto;
        width: 56px;
        height: 56px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contactBtn-contact a p:before {
        background-size: 36px auto;
        width: 64px;
        height: 64px;
        margin-left: 16px;
    }
}

.fv-main_contactBtn-tel {
    margin-top: 12px;
    font-family: "DM Sans", sans-serif;
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-tel {
        margin-top: 20px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contactBtn-tel {
        margin-top: 24px;
    }
}

.fv-main_contactBtn-tel a {
    display: flex;
    align-items: center;
    height: 64px;
    border-radius: 32px;
    border: 2px solid #FFD700;
    text-decoration: none;
    position: relative;
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-tel a {
        border: none;
        max-width: none;
        cursor: default;
    }

    .fv-main_contactBtn-tel a:hover {
        opacity: 1;
    }
}

.fv-main_contactBtn-tel p {
    display: block;
    padding-left: 72px;
    width: 100%;
    margin-bottom: 0;
}

.fv-main_contactBtn-tel p span {
    display: block;
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-tel p {
        display: flex;
        align-items: center;
        margin: 0 auto;
        padding-left: 0;
        justify-content: center;
    }
}

.fv-main_contactBtn-tel p:before {
    content: "";
    position: absolute;
    display: block;
    top: -2px;
    left: -2px;
    width: 64px;
    height: 64px;
    background-color: #FFD700;
    border-radius: 50%;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M6.62%2010.79C8.06%2013.62%2010.38%2015.94%2013.21%2017.38L15.41%2015.18C15.69%2014.9%2016.08%2014.82%2016.43%2014.93C17.55%2015.3%2018.75%2015.5%2020%2015.5C20.55%2015.5%2021%2015.95%2021%2016.5V20C21%2020.55%2020.55%2021%2020%2021C10.61%2021%203%2013.39%203%204C3%203.45%203.45%203%204%203H7.5C8.05%203%208.5%203.45%208.5%204C8.5%205.25%208.7%206.45%209.07%207.57C9.18%207.92%209.1%208.31%208.82%208.59L6.62%2010.79Z%22%20fill%3D%22%230066CC%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 32px;
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-tel p:before {
        position: static;
        margin-right: 8px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contactBtn-tel p:before {
        width: 70px;
        height: 70px;
        background-size: 40px;
    }
}

.fv-main_contactBtn-telText {
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-telText {
        font-size: 14px;
        margin-right: 8px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contactBtn-telText {
        font-size: 18px;
    }
}

@media screen and (min-width: 1240px) {
    .fv-main_contactBtn-telText {
        font-size: 20px;
    }
}

@media screen and (min-width: 1440px) {
    .fv-main_contactBtn-telText {
        margin: 0 24px;
    }
}

.fv-main_contactBtn-telNumWrap {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-top: 2px;
}

@media screen and (min-width: 376px) {
    .fv-main_contactBtn-telNumWrap {
        display: flex !important;
    }
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-telNumWrap {
        align-items: center;
    }
}

.fv-main_contactBtn-telNum {
    color: #FFD700;
    font-weight: bold;
    font-size: 25px;
    letter-spacing: -1px;
    line-height: 1;
    position: relative;
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-telNum {
        padding-left: 40px;
        font-size: 36px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contactBtn-telNum {
        padding-left: 48px;
        font-size: 44px;
    }
}

@media screen and (min-width: 1240px) {
    .fv-main_contactBtn-telNum {
        padding-left: 48px;
        font-size: 48px;
    }
}

@media screen and (min-width: 1440px) {
    .fv-main_contactBtn-telNum {
        letter-spacing: 0.1px;
    }
}

.fv-main_contactBtn-telTime {
    font-size: 10px;
    color: #fff;
    font-weight: bold;
    margin-left: 4px;
    font-family: "Noto Sans JP", sans-serif;
}

@media screen and (min-width: 768px) {
    .fv-main_contactBtn-telTime {
        font-size: 14px;
    }
}

@media screen and (min-width: 1024px) {
    .fv-main_contactBtn-telTime {
        font-size: 18px;
    }
}

@media screen and (min-width: 1240px) {
    .fv-main_contactBtn-telTime {
        font-size: 20px;
    }
}

@media screen and (min-width: 1440px) {
    .fv-main_contactBtn-telTime {
        margin-left: 8px;
        letter-spacing: 0.5px;
    }
}

/* モバイル専用スタイル (767px以下) */
@media screen and (max-width: 767px) {
    .fv-main_visual {
        padding-top: 20px;
        padding-bottom: 30px;
    }

    .fv-main_inner {
        margin-top: 16px;
    }

    .fv-main_title h1 {
        font-size: 32px;
        padding: 0 10px;
    }

    .fv-main_image {
        width: 70%;
        margin: 20px auto;
    }

    .fv-main_text h2 {
        font-size: 16px;
        padding: 0 10px;
    }

    .fv-main_text p {
        font-size: 14px;
        padding: 0 10px;
        line-height: 1.6;
    }

    .fv-main_contact {
        padding: 20px 15px;
    }

    .fv-main_contactBtn-document,
    .fv-main_contactBtn-contact {
        margin-bottom: 16px;
    }

    .fv-main_contact li a {
        height: auto;
        padding: 16px 10px;
    }

    .fv-main_contact li a p>span {
        font-size: 14px;
        margin-left: 5px;
    }

    .fv-main_contact li a p>span span {
        font-size: 10px;
        margin-top: 4px;
    }

    .fv-main_contactBtn-document a p:before,
    .fv-main_contactBtn-contact a p:before {
        width: 40px;
        height: 40px;
        background-size: 20px;
        flex-shrink: 0;
    }

    .fv-main_contactBtn-tel {
        margin-top: 15px;
    }

    .fv-main_contactBtn-tel a {
        height: auto;
        padding: 12px 10px;
        justify-content: center;
        flex-direction: column;
    }

    .fv-main_contactBtn-tel p {
        padding-left: 0;
        text-align: center;
        width: auto;
    }

    .fv-main_contactBtn-tel p:before {
        display: none;
    }

    .fv-main_contactBtn-telText {
        font-size: 11px;
    }

    .fv-main_contactBtn-telNum {
        font-size: 20px;
    }

    .fv-main_contactBtn-telTime {
        font-size: 9px;
    }
}

/* 極小画面用 (375px以下) */
@media screen and (max-width: 375px) {
    .fv-main_title h1 {
        font-size: 28px;
    }

    .fv-main_contact li a p>span {
        font-size: 12px;
    }

    .fv-main_contactBtn-telNum {
        font-size: 18px;
    }
}


/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec01
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec01 {
    padding: 100px 0;
    background-color: var(--white);
}

#sec01 img {
    margin: 0 auto 10px;
    width: 150px;
}

#sec01 p {
    font-weight: bold;
    text-align: center;
    font-size: var(--22px);
    line-height: 1.55;
}




/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec02
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec02 {
    background-color: var(--black);
    background-image: url(../img/sec02-bg01.png), url(../img/sec02-bg02.png);
    background-position: top left, bottom right;
    background-repeat: no-repeat;
    background-size: auto;
    padding: 100px 15px;
    position: relative;
}

#sec02 .box {
    background-color: var(--white);
    border-radius: 6px;
    padding: 60px 30px;
    max-width: 800px;
    margin: 0 auto;
}

#sec02 .box ul {
    margin: 0 auto;
    font-size: var(--22px);
    font-weight: 400;
    list-style: none;
}

#sec02 .box ul li {
    margin-bottom: 20px;
    position: relative;
}

#sec02 .box ul li:before {
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    background-image: url(../img/check-icon.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    margin: 0 10px 5px 0;
}

#sec02 .box ul li:last-child {
    margin-bottom: 0px;
}

#sec02 img {
    position: absolute;
    width: 400px;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -90px;
}




/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec03
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec03 {
    background: linear-gradient(180deg, rgba(78, 174, 255, 1) 0%, rgba(0, 102, 204, 1)100%);
    padding: 160px 15px 100px;
    border-radius: 0 0 50px 50px;
    z-index: 10;
}

#sec03 h2 {
    text-align: left;
}

#sec03 h2 img {
    width: 440px;
}

#sec03 p {
    font-weight: bold;
    font-size: var(--24px);
    margin: 0 0 60px 7px;
}

#sec03 .illust {
    margin: 20px 0 0 -25px;
}

#sec03 .box {
    background-color: var(--white);
    border-radius: 6px;
    padding: 65px 30px 40px;
}

#sec03 .box .inner {
    max-width: 800px;
    margin: 0 auto;
}

#sec03 .box h3 {
    margin-bottom: 70px;
}

#sec03 .box img {
    width: 200px;
    margin-bottom: 20px;
}

#sec03 .box .band {
    color: var(--white);
    font-size: var(--24px);
    margin-bottom: 20px;
}

#sec03 .box .band span {
    background-color: var(--black);
    border-radius: 50px;
    padding: 7px 50px;
}

#sec03 .box p {
    font-size: var(--22px);
    line-height: 1.6;
}

#sec03 .box .col-lg-4 {
    position: relative;
}

#sec03 .box .col-lg-4 .triangle {
    position: absolute;
    width: 20px;
    bottom: 38%;
    right: -5%;
}

#sec03 .box .line img {
    margin-bottom: 20px;
    width: 100%;
}

#sec03 .box .marker {
    font-size: var(--32px);
    text-align: center;
    line-height: 2;
    margin-top: 30px;
}

#sec03 .box .marker span {
    background: linear-gradient(transparent 75%, var(--skyblue) 80%);
}

#sec03 .box .employee {
    width: 230px;
}



/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec04
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec04 {
    background-color: var(--lightgray);
    padding: 140px 15px;
}

#sec04 .deco-title {
    color: var(--blue);
    text-align: center;
    font-weight: 600;
    font-size: var(--22px);
    line-height: 1.6;
    margin-bottom: 25px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: end;
}

#sec04 .deco-title:before {
    content: '';
    display: inline-block;
    width: 35px;
    height: 35px;
    background-image: url(../img/sec04-deco01.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    margin-right: 25px;
}


#sec04 .deco-title:after {
    content: '';
    display: inline-block;
    width: 35px;
    height: 35px;
    background-image: url(../img/sec04-deco02.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    margin-left: 25px;
}


#sec04 p {
    text-align: center;
    font-size: var(--22px);
    font-weight: 500;
    margin-bottom: 50px;
}

#sec04 .box {
    background-color: var(--white);
    border-radius: 6px;
    padding: 45px;
    margin-bottom: 20px;
}

#sec04 .box img {
    border-radius: 6px;
    margin-bottom: 30px;
}

#sec04 .box h4 {
    color: var(--blue);
    font-size: var(--28px);
    font-weight: bold;
    text-align: center;
    border-bottom: solid 1px var(--bluegray);
    padding-bottom: 25px;
    margin-bottom: 25px;
}

#sec04 .box ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

#sec04 .box ul li {
    font-weight: 500;
    font-size: var(--18px);
    position: relative;
    text-indent: -1.2em;
    padding-left: 1em;
    margin-bottom: 10px;
    line-height: 1.45;
    letter-spacing: 0.08rem;
}

#sec04 .box ul li span {
    font-size: var(--16px);
}

#sec04 .box ul li:before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/check-icon.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    margin: 0 7px 3px 0;
}


#sec04 .creative-box {
    padding-bottom: 120px;
}

#sec04 .under-text {
    font-size: var(--16px);
    font-weight: 500;
    margin: 20px 0 0;
}



/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec05
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec05 {
    background-color: var(--white);
    padding: 140px 15px;
}

#sec05 h2 {
    font-family: "DM Sans", sans-serif;
    font-weight: 900;
    font-size: var(--130px);
    color: var(--lightblue);
    line-height: 0.15;
    margin: 60px 0;
    letter-spacing: 0.45rem;
}

#sec05 h2 strong {
    font-family: "Noto Sans JP", sans-serif;
    color: var(--black);
    font-size: var(--36px);
    font-weight: bold;
    letter-spacing: 0.09rem;
}

#sec05 h2 .en {
    font-family: "DM Sans", sans-serif;
    font-size: var(--100px);
}

#sec05 h2 span {
    color: var(--blue);
}

#sec05 .box {
    background-color: var(--lightgray);
    border-radius: 6px;
    max-width: 650px;
    position: relative;
    margin-bottom: 60px;
}

#sec05 .box img {
    position: absolute;
    width: 300px;
}

#sec05 .box-left {
    padding: 50px 120px 50px 50px;
}

#sec05 .box-left img {
    right: -28%;
    bottom: 0;
}

#sec05 .box-right {
    padding: 50px 50px 50px 120px;
    margin-left: 22%;
}

#sec05 .box-right img {
    left: -32%;
    bottom: 0;
}


#sec05 .box .en {
    color: var(--blue);
    font-weight: 700;
    font-size: var(--72px);
    line-height: 0.5;
    margin-bottom: 25px;
    letter-spacing: 0.2rem;
}

#sec05 .box .en span {
    font-size: var(--20px);
    margin-right: 5px;
    letter-spacing: 0.02rem;
}

#sec05 .box h5 {
    font-weight: 600;
    font-size: var(--28px);
    border-bottom: solid 1px var(--blue);
    padding-bottom: 25px;
    margin-bottom: 25px;
    line-height: 1.5;
}

#sec05 .box ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

#sec05 .box ul li {
    font-weight: 500;
    font-size: var(--20px);
    position: relative;
    margin-bottom: 20px;
    text-indent: -1.7em;
    padding-left: 1.5em;
}

#sec05 .box ul li:last-child {
    margin-bottom: 0px;
}

#sec05 .box ul li:before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(../img/check-icon.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    margin: 0 10px 5px 0;
}

#sec05 .box span {
    font-size: var(--16px);
}

#sec05 .btn {
    margin-top: 40px;
}



/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec06
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec06 {
    background-color: var(--lightgray);
    padding: 120px 15px;
}

#sec06 .box {
    background-color: var(--white);
    border-radius: 6px;
    padding: 60px 30px;
    text-align: center;
    margin-bottom: 40px;
}

#sec06 .box .inner {
    max-width: 800px;
    margin: 0 auto;
}

#sec06 .box h4 {
    color: var(--blue);
    font-size: var(--32px);
    font-weight: bold;
    border-bottom: solid 1px var(--bluegray);
    padding-bottom: 25px;
    margin-bottom: -10px;
}

#sec06 .box .price {
    font-weight: bold;
    font-size: var(--32px);
    margin-bottom: -10px;
}

#sec06 .box .price span {
    color: var(--black);
    font-size: var(--100px);
    font-family: "DM Sans", sans-serif;
    letter-spacing: 0.5rem;
}

#sec06 .box .item {
    font-weight: bold;
    background-color: var(--lightgray);
    font-size: var(--20px);
    padding: 17px 10px;
    border-radius: 6px;
    color: var(--blue);
}

#sec06 .under-text {
    text-align: center;
    font-size: var(--20px);
    font-weight: 500;
}



/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec07
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec07 {
    background-color: var(--white);
    padding: 140px 30px;
}

#sec07 h3 {
    margin: 70px 0;
}

#sec07 h4 {
    text-align: center;
    font-weight: bold;
    font-size: var(--28px);
    margin-bottom: 40px;
    position: relative;
}

#sec07 h4:before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(../img/check-icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 7px;
    /*left: 0;
    right: 0;
    margin: 0 auto 10px;*/
}

#sec07 .box {
    background-color: var(--lightgray);
    border-radius: 6px;
    padding: 60px;
    text-align: center;
    margin-bottom: 40px;
}

#sec07 .box img {
    margin-bottom: 10px;
    width: 140px;
}

#sec07 .box h5 {
    font-size: var(--28px);
    font-weight: bold;
    line-height: 1.3;
    border-bottom: solid 1px var(--blue);
    padding-bottom: 25px;
    margin-bottom: 25px;
}

#sec07 .box h5 span {
    color: var(--blue);
    font-size: var(--16px);
}

#sec07 .box ul {
    text-align: left;
    padding-left: 0px;
    list-style: none;
    margin-bottom: 0;
}

#sec07 .box ul li {
    position: relative;
    font-weight: bold;
    font-size: var(--20px);
}

#sec07 .box ul li p {
    font-size: var(--16px);
    font-weight: 500;
}

#sec07 .box ul li:before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(../img/check-icon.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    margin: 0 3px 5px 0;
}

#sec07 .box ul li:last-child {
    margin-bottom: 0px;
}


#sec07 table {
    width: 100%;
}

#sec07 table th {
    background-color: var(--black);
    border: solid 1px var(--bluegray);
    color: var(--white);
    font-family: 500;
    font-size: var(--20px);
    padding: 15px;
}

#sec07 table td {
    border: solid 1px var(--bluegray);
    padding: 25px 15px;
    font-weight: bold;
    font-size: var(--22px);
}

#sec07 table td .en {
    font-size: var(--40px);
    letter-spacing: 0.2rem;
}

#sec07 table th,
#sec07 table td {
    text-align: center;
}

#sec07 .triangle {
    margin: 20px 0;
    width: 50px;
}


#sec07 .deco {
    position: relative;
    text-align: center;
    font-size: var(--32px);
    font-weight: bold;
}

#sec07 .deco span {
    color: var(--blue);
    font-size: var(--60px);
}

#sec07 .deco .small {
    font-size: var(--40px);
}

#sec07 .deco:before {
    content: '';
    position: absolute;
    width: 80px;
    height: 140px;
    background-image: url(../img/sec07-deco01.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: -80px;
    top: -7px;
}

#sec07 .deco:after {
    content: '';
    position: absolute;
    width: 80px;
    height: 140px;
    background-image: url(../img/sec07-deco02.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 5px;
    top: -7px;
}

#sec07 .js-scrollable {
    max-width: 1140px;
    margin: 0 auto;
}


#sec07 .js-scrollable thead th {
    font-size: var(--20px);
    line-height: 1.2;
}

#sec07 .js-scrollable thead th:first-child {
    width: 15%;
}

#sec07 .js-scrollable thead th span {
    font-size: var(--14px);
}


#sec07 .js-scrollable thead .ai {
    background-color: var(--blue);
    border: solid 6px var(--blue);
    width: 30%;
}

#sec07 .js-scrollable thead .ai img {
    width: 180px;
}

#sec07 .js-scrollable tbody td:first-child {
    font-size: var(--20px) !important;
    font-weight: bold;
}

#sec07 .js-scrollable tbody .ai {
    background-color: var(--lightgray);
    color: var(--blue);
    font-weight: bold;
}

#sec07 .js-scrollable tbody td img {
    margin-bottom: 5px;
    width: 50px;
}

#sec07 .js-scrollable tbody td {
    font-size: var(--16px);
    font-weight: 500;
}

#sec07 .js-scrollable tbody .cost td {
    font-size: var(--22px);
    font-weight: bold;
    letter-spacing: 0.2rem;
}

#sec07 .js-scrollable tbody .cost td .en {
    font-size: var(--40px);
}

#sec07 .js-scrollable tbody .ai {
    border-left: solid 6px var(--blue);
    border-right: solid 6px var(--blue);
}


#sec07 .js-scrollable tbody tr:last-child .ai {
    border-bottom: solid 6px var(--blue);
}



/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec08
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec08 {
    background-color: var(--lightgray);
    padding: 120px 15px;
}

#sec08 .box {
    background-color: var(--white);
    border-radius: 6px;
    padding: 35px 35px 20px 15px;
    margin: 0 auto 10px;
    max-width: 800px;
}

#sec08 .box .en {
    font-weight: bold;
    color: var(--blue);
    font-size: var(--24px);
}

#sec08 .box h5 {
    font-weight: bold;
    font-size: var(--22px);
    margin-bottom: 10px;
}

#sec08 .box p {
    font-size: var(--18px);
    font-weight: 500;
    text-align: justify;
}

#sec08 .triangle {
    margin: -50px 0 0px;
    width: 50px;
}

#sec08 .btn {
    margin-top: 50px;
}


/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec09
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec09 {
    background-color: var(--white);
    padding: 120px 15px;
}

#sec09 img {
    border-radius: 6px;
}

#sec09 h2 {
    margin-bottom: 80px;
}

#sec09 h5 {
    font-weight: bold;
    font-size: var(--22px);
    line-height: 1.8;
    position: relative;
    margin-bottom: 50px;
}

#sec09 h5:after {
    position: absolute;
    bottom: -25px;
    left: 0;
    width: 70px;
    height: 3px;
    content: '';
    border-radius: 3px;
    background: var(--blue);
}

#sec09 p {
    font-size: var(--18px);
    text-align: justify;
}



/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec10
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec10 {
    /*background-color: var(--lightgray);*/
    background-color: var(--white);
    padding: 120px 15px;
}

#sec10 h2 .small {
    color: var(--black);
    font-weight: bold;
    font-family: "DM Sans", sans-serif;
    font-size: var(--50px);
}


#sec10 .box {
    /*background-color: var(--white);*/
    background-color: var(--lightgray);
    border-radius: 6px;
    margin-bottom: 20px;
    padding: 30px 30px 10px;
    /*padding: 30px 30px 15px 65px;*/
    position: relative;
    cursor: pointer;
    cursor: hand;
}

#sec10 .box .nav-open:after {
    content: "＋";
    position: absolute;
    margin-top: -10px;
    right: 0;
    font-size: 2rem;
    font-weight: 500;
}

#sec10 .box .active_menu:after {
    content: "－";
}

#sec10 .box .question {
    font-weight: bold;
    font-size: var(--20px);
    position: relative;
}

/*#sec10 .box .question:before {
    content: url(../img/sec10-icon01.png);
    scale: 0.35;
    position: absolute;
    margin: -12px 0 0 -55px;
}*/

#sec10 .box .question:before {
    content: '';
    display: inline-block;
    width: 45px;
    height: 45px;
    background-image: url(../img/sec10-icon01.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    margin-right: 15px;
}

#sec10 .box .answer {
    display: none;
}


#sec10 .box .answer p {
    font-weight: 500;
    font-size: var(--18px);
    position: relative;
    padding-top: 10px;
}

/*#sec10 .box .answer p:before {
    content: url(../img/sec10-icon02.png);
    scale: 0.35;
    position: absolute;
    margin: -30px 0 0 -70px;
}*/

#sec10 .box .answer p:before {
    content: '';
    display: inline-block;
    width: 45px;
    height: 45px;
    background-image: url(../img/sec10-icon02.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    margin-right: 15px;
}

#sec10 .box .answer ul {
    list-style: none;
    padding-left: 0;
    padding-left: 60px;
}

#sec10 .box .answer ul li {
    margin-bottom: 20px;
    font-weight: 500;
    position: relative;
}

#sec10 .box .answer ul li:before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url(../img/check-icon.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
    margin: -5px 5px 0 0;
}

#sec10 .box .answer ul li span {
    font-weight: bold;
    font-size: var(--18px);
}




/*    –––––––––––––––––––––––––––––––––––––––––––––––
sec11
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#sec11 {
    background-image: url(../img/sec11-bg-dummy.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    padding: 200px 15px 230px;
}

#sec11 .box {
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 6px;
    margin-bottom: 20px;
    padding: 70px 50px;
}

#sec11 .box img {
    margin-bottom: 30px;
    width: 200px;
}

#sec11 .box h3 {
    margin-bottom: 60px;
}

#sec11 .box h5 {
    text-align: center;
    font-weight: bold;
    line-height: 1.65;
    font-size: var(--20px);
    position: relative;
}

#sec11 .box h5:before {
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    background-image: url(../img/check-icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    left: 0;
    right: 0;
    margin: 0 auto 10px;
}

#sec11 .box p {
    font-weight: 500;
    text-align: justify;
}



/*    –––––––––––––––––––––––––––––––––––––––––––––––
form
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#form {
    background-color: var(--black);
    text-align: center;
    padding: 120px 15px 10px;
    border-radius: 50px 50px 0 0;
    margin-top: -40px;
}


#form .box {
    /*max-width: 800px;*/
    margin: 0 auto;
    background-color: var(--white);
    border-radius: 6px;
    margin-bottom: 80px;
    /*padding-top: 50px;*/
    max-width: 650px;
    padding-top: 15px;
}

#form h2 {
    font-size: var(--36px);
    color: var(--white);
}

#form p {
    color: var(--blue);
    font-size: var(--22px);
    font-weight: bold;
    margin-bottom: 40px;
}

#form iframe {
    border-radius: 6px;
    /*margin-bottom: 80px;*/
    margin-bottom: 0px;
}

#form iframe html {
    overflow-y: auto;
}

#form h3 {
    color: var(--white);
    font-size: var(--22px);
    margin-bottom: 20px;
}

#form .tel {
    color: var(--white) !important;
    font-size: var(--64px);
    margin-bottom: 60px;
}

#form .tel a {
    pointer-events: none;
    text-decoration: none;
    color: var(--white);
}

#form .tel span {
    font-size: var(--40px);
}

#form .copyright {
    color: var(--white);
    font-size: var(--12px);
    margin-bottom: 0;
}


/*フォーム内スタイル変更検証*/
iframe .v-text-field.v-text-field--enclosed .v-text-field__details {
    display: none !important;
}


.v-text-field.v-text-field--enclosed .v-text-field__details {
    display: none !important;
}




/*251021フォームスタイル追加分*/
#form .box-fix {
    text-align: left;
    padding: 45px;
}


#form .box-fix p {
    color: var(--black);
    font-size: var(--16px);
    margin-bottom: 10px;
    font-weight: 500;
}

#form .box-fix p span {
    font-weight: 400;
}

#form .box-fix .hissu {
    color: var(--white);
    font-size: var(--12px);
    background-color: red;
    padding: 2px 5px 3px;
    line-height: 1;
    border-radius: 3px;
    white-space: nowrap;
    margin-right: 7px;
}

#form .box-fix .nini {
    color: var(--white);
    font-size: var(--12px);
    background-color: #999;
    padding: 2px 5px 3px;
    line-height: 1;
    border-radius: 3px;
    white-space: nowrap;
    margin-right: 7px;
}

#form .box-fix div {
    margin-bottom: 25px;
}


#form .box-fix div input {
    background-color: #f0f0f0;
    border: solid 0px #999;
    border-width: 0px 0px 2px;
    border-radius: 3px 3px 0 0;
    font-size: var(--16px);
    padding: 15px;
    width: 100%;
}


#form .box-fix div select {
    background-color: #f0f0f0;
    border: solid 0px #999;
    border-width: 0px 0px 2px;
    border-radius: 3px 3px 0 0;
    font-size: var(--16px);
    padding: 15px 15px 15px 15px;
    width: 100%;
}

#form .box-fix div .d-flex input {
    transform: scale(0.6);
    margin-right: 7px;
    width: 30px;
}

#form .box-fix textarea {
    border: solid 1px #ccc;
    padding: 20px;
    line-height: 1.5;
    width: 100%;
    min-height: 170px;
}

#form .box-fix .kiyaku {
    border: solid 1px #ccc;
    padding: 20px;
    max-height: 320px;
    overflow: scroll;
}

#form .box-fix .kiyaku::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 5px;
}

#form .box-fix .kiyaku::-webkit-scrollbar {
    width: 7px;
}

#form .box-fix .kiyaku p {
    font-size: 13px;
    font-weight: 400;
    text-align: justify;
    margin-bottom: 20px;
    letter-spacing: 0.03rem;
}

#form .box-fix .kiyaku ol {
    padding-left: 25px;
}

#form .box-fix .kiyaku ol li {
    font-size: 13px;
    font-weight: 400;
    text-align: justify;
    letter-spacing: 0.03rem;
    margin-bottom: 20px;
}

#form .box-fix .kiyaku ol li p {
    margin: 15px 0 0px;
}

#form .box-fix .kiyaku ol li ol {
    list-style: none;
    padding-left: 5px;
    margin-top: 10px;
}

#form .box-fix .kiyaku ol li ol li {
    margin-bottom: 12px;
}

#form .box-fix #submit {
    background-color: var(--blue);
    color: var(--white);
    font-size: var(--18px);
    border: solid 0px;
    padding: 12px;
    letter-spacing: 0.08rem;
    border-radius: 50px;
    margin-top: 15px;
    width: 100%;
}

#form .box-fix .error {
    color: red;
    font-size: 13px;
    display: block;
    margin: 5px 0 0;
}

#form .box-fix .trial-error {
    margin: -20px 0 0 15px;
}

#form .box-fix .kiyaku-error {
    margin: -45px 0 0 5px;
}

#form .box-fix .mb0 {
    margin-bottom: 0px !important;
}


#form .confirm .lead {
    text-align: center;
    color: red;
    margin-bottom: 40px;
}

#form .confirm .btn-default {
    background-color: #999 !important;
    color: var(--white);
    font-size: var(--18px);
    border: solid 0px;
    padding: 12px;
    letter-spacing: 0.08rem;
    border-radius: 50px;
    width: 100%;
}

#form .confirm .btn-default:after {
    background-image: none;
}

#form .confirm .btn {
    background-color: var(--blue);
    color: var(--white);
    font-size: var(--18px);
    border: solid 0px;
    padding: 12px;
    letter-spacing: 0.08rem;
    border-radius: 50px;
    width: 100%;
}

#form .confirm .btn:after {
    background-image: none;
}

/*768px以下*/
@media (max-width: 768px) {
    #form .box-fix {
        padding: 45px 20px;
    }
}



/*    –––––––––––––––––––––––––––––––––––––––––––––––
form thanksページ
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#thanks header {
    /*padding: 15px;*/
    padding: 40px 15px 0;
    text-align: center;
}

#thanks header .logo {
    /*max-width: 160px;*/
    max-width: 350px;
}

#thanks section {
    min-height: 75vh;
}

#thanks .box {
    background-color: var(--white);
    border-radius: 6px;
    padding: 60px 30px;
    max-width: 800px;
    margin: -10px auto 60px;
    text-align: center;
}

#thanks .box p {
    margin-bottom: 15px;
    font-size: var(--18px);
}

#thanks .box .btn {
    font-size: var(--18px);
    margin-top: 30px;
    padding: 23px 80px 25px 80px;
}

#thanks .box .btn:after {
    position: absolute;
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    right: 20px;
    margin-top: -2px;
    background-image: url(../img/btn-icon-arrow01.png);
    background-size: contain;
    vertical-align: middle;
    background-repeat: no-repeat;
}


#thanks .copyright {
    text-align: center;
    font-size: var(--12px);
}


/*    –––––––––––––––––––––––––––––––––––––––––––––––
Footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#footer {
    background-color: var(--black);
    color: var(--white);
}

#footer .footer-main {
    padding: 60px 0 40px;
}

#footer .footer-logo {
    font-size: 28px;
    font-weight: bold;
    color: var(--white);
    text-decoration: none;
    display: inline-block;
    margin-bottom: 15px;
}

#footer .footer-logo:hover {
    color: var(--skyblue);
}

#footer .footer-tagline {
    font-size: var(--18px);
    font-weight: bold;
    color: var(--skyblue);
    margin-bottom: 10px;
}

#footer .footer-description {
    font-size: var(--14px);
    line-height: 1.8;
    color: #aaa;
    margin-bottom: 0;
}

#footer .footer-nav h4 {
    font-size: var(--16px);
    font-weight: bold;
    margin-bottom: 20px;
    color: var(--white);
}

#footer .footer-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer .footer-nav ul li {
    margin-bottom: 12px;
}

#footer .footer-nav ul li a {
    color: #aaa;
    text-decoration: none;
    font-size: var(--14px);
    transition: 0.3s;
}

#footer .footer-nav ul li a:hover {
    color: var(--skyblue);
}

#footer .footer-contact h4 {
    font-size: var(--16px);
    font-weight: bold;
    margin-bottom: 20px;
    color: var(--white);
}

#footer .footer-tel {
    margin-bottom: 5px;
}

#footer .footer-tel a {
    font-size: var(--32px);
    font-weight: bold;
    color: var(--skyblue);
    text-decoration: none;
    font-family: "DM Sans", sans-serif;
}

#footer .footer-tel a:hover {
    color: var(--white);
}

#footer .footer-tel-note {
    font-size: var(--12px);
    color: #aaa;
    margin-bottom: 20px;
}

#footer .footer-cta-btn {
    display: inline-block;
    background-color: var(--blue);
    color: var(--white);
    padding: 12px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-size: var(--14px);
    font-weight: bold;
    transition: 0.3s;
}

#footer .footer-cta-btn:hover {
    background-color: var(--skyblue);
    color: var(--white);
}

#footer .footer-bottom {
    background-color: #1a1f24;
    padding: 20px 0;
    text-align: center;
}

#footer .footer-bottom p {
    margin-bottom: 0;
    color: #666;
    font-size: var(--12px);
}

/* Footer レスポンシブ */
@media (max-width: 991px) {
    #footer .footer-logo-area {
        margin-bottom: 40px;
    }

    #footer .footer-nav {
        margin-bottom: 30px;
    }

    #footer .footer-contact {
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) {
    #footer .footer-main {
        padding: 40px 0 30px;
    }

    #footer .footer-logo {
        font-size: 24px;
    }

    #footer .footer-tagline {
        font-size: var(--16px);
    }

    #footer .footer-nav h4,
    #footer .footer-contact h4 {
        font-size: var(--14px);
        margin-bottom: 15px;
    }

    #footer .footer-tel a {
        font-size: var(--28px);
    }

    #footer .footer-cta-btn {
        display: block;
        text-align: center;
    }
}


/*768px以下*/
@media (max-width: 768px) {
    #thanks header .logo {
        max-width: 280px;
    }

    #thanks section {
        min-height: auto;
    }

    #thanks h3 {
        line-height: 1.6;
        font-size: var(--20px);
    }

    #thanks .box p {
        font-size: var(--16px);
    }

    #thanks .box .btn {
        font-size: var(--16px);
        margin-top: 30px;
        padding: 23px 50px 25px 50px;
    }
}





/*    –––––––––––––––––––––––––––––––––––––––––––––––
レスポンシブ
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*1920px以下1440px以上*/
/*@media screen and ( max-width:1899px)  and (min-width:1441px) {
    #fv .deco:after {
    right: 0px;
}
}*/

/*1800px以下1440px以上*/
/*@media screen and ( max-width:1800px)  and (min-width:1441px) {
    #fv .inner {
    padding: 40px 12%;
    margin: 0px auto;
}
}*/

/*1500px以下992px以上*/
@media screen and (max-width:1500px) and (min-width:1280px) {

    /*FV
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #fv .inner {
        max-width: 90%;
        bottom: 200px;
        /*max-width: 87%;*/
        /*height: 80vh;*/
        /*bottom: 230px;*/
        margin-bottom: 45px;
    }


    #fv .catch {
        font-size: var(--50px);
    }

    #fv .catch .en {
        font-size: var(--56px);
    }

    #fv .logo {
        margin-bottom: 15px;
        /*width: 550px;*/
        width: 90%;
    }

    #fv p {
        font-size: var(--16px);
    }

    #fv .deco:before {
        position: absolute;
        width: 70px;
        height: 130px;
        top: 8px;
    }

    #fv .deco:after {
        width: 70px;
        height: 130px;
        top: 8px;
        right: -5%;
    }

    #fv .deco {
        padding: 50px 0 0 9%;
    }


    #fv .deco .en {
        font-size: var(--80px);
    }


    #fv .illust {
        max-width: 100%;
        padding-right: 0px;
        position: absolute;
        bottom: -8%;
    }


    #fv .btn-band {
        padding: 30px;
    }


    /*sec01
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec01 .col-lg-2 {
        flex: 20%;
        max-width: 20%;
    }

    #sec01 p {
        font-size: var(--18px);
    }
}


/*1280px以下992px以上*/
@media screen and (max-width:1279px) and (min-width:992px) {

    /*FV
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #fv .inner {
        max-width: 90%;
        bottom: 240px;
        margin-bottom: 65px;
    }

    #fv .catch {
        font-size: var(--38px);
    }

    #fv .catch .en {
        font-size: var(--40px);
    }

    #fv .logo {
        margin-bottom: 15px;
        width: 90%;
    }

    #fv p {
        font-size: var(--16px);
    }

    #fv .deco {
        padding: 40px 0 0 10%;
    }

    #fv .deco:before {
        position: absolute;
        width: 60px;
        height: 120px;
        top: 3px;
    }

    #fv .deco:after {
        width: 60px;
        height: 120px;
        top: 3px;
        right: -5%;
    }

    #fv .deco strong {
        font-size: var(--20px);
    }

    #fv .deco .en {
        font-size: var(--64px);
    }

    #fv .btn-band .btn,
    #fv .btn-band .btn-wh {
        max-width: 100%;
    }

    #fv .btn-band .btn {
        padding: 28px 60px 30px 30px;
    }

    #fv .btn-band .btn-wh {
        padding: 28px 60px 30px 30px;
    }

    #fv .illust {
        max-width: 100%;
        padding-right: 0px;
        position: absolute;
        bottom: -13%;
    }


    /*sec01
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec01 p {
        font-size: var(--18px);
    }

    /*sec03
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec03 p {
        font-size: var(--20px);
    }

    /*sec04
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec04 .creative-box {
        padding-bottom: 70px;
    }

    /*sec05
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec05 .col-lg-9 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }

    #sec05 .box {
        max-width: 75%;
    }
}



/*992px以下768px以上*/
@media screen and (max-width:991px) and (min-width:769px) {

    /*FV
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #fv .inner {
        max-width: 650px;
        margin: 0 auto;
        /*padding-bottom: 250px;*/
        position: inherit;
        padding-bottom: 0;
    }

    #fv .catch,
    #fv h1,
    #fv p {
        text-align: center;
    }

    #fv .deco p {
        text-align: left;
    }

    #fv .illust {
        position: inherit;
        max-width: 100%;
        padding-right: 0px;
        bottom: 0px;
        right: 0;
    }

    #fv .btn-band .btn {
        margin-bottom: 35px;
    }

    #fv .btn-band .btn-wh {
        margin-bottom: 0px;
    }


    /*sec01
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec01 {
        padding: 40px 0 15px;
    }

    #sec01 img {
        margin: -10px 20px 0 0px;
        width: 120px;
        height: 120px;
    }

    #sec01 p {
        text-align: left;
        font-size: var(--20px);
        margin-bottom: 0;
    }

    #sec01 .col-11 {
        display: flex;
        align-items: center;
        margin-bottom: 25px;
    }

    /*sec03
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec03 .box .marker {
        font-size: var(--28px);
    }

    #sec03 .box .col-lg-4 .triangle {
        transform: rotate(90deg);
        width: 30px;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
    }

    #sec03 .box .icon {
        margin-top: 20px;
    }

    #sec03 h2 {
        text-align: center;
    }

    #sec03 p {
        text-align: center;
        margin: 0 0 40px 0px;
    }

    #sec03 .illust {
        margin: 0 auto;
        display: block;
        width: 60%;
    }


    /*sec04
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec04 .creative-box {
        padding-bottom: 45px;
    }


    /*sec05
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec05 h2 {
        margin: 60px 0 80px;
    }

    #sec05 .box-left {
        padding: 120px 30px 40px 30px;
    }

    #sec05 .box-left img {
        right: 0;
        left: 0;
        margin: auto;
        bottom: inherit;
        top: -10%;
        width: 200px;
    }

    #sec05 .box {
        margin-bottom: 60px;
        max-width: 100%;
    }

    #sec05 .box .en {
        text-align: center;
        font-size: var(--56px);
        line-height: 0.9;
        margin: 20px 0 10px;
    }

    #sec05 .box .en span {
        font-size: var(--16px);
        margin-right: 0px;
    }

    #sec05 .box h5 {
        text-align: center;
    }

    #sec05 .box ul li {
        margin-bottom: 15px;
        text-indent: -2em;
        padding-left: 1.5em;
    }

    #sec05 .box-right {
        padding: 80px 30px 40px 30px;
        margin-left: 0;
    }

    #sec05 .box-right img {
        right: 0;
        left: 0;
        margin: auto;
        bottom: inherit;
        top: -10%;
        width: 200px;
    }

    #sec05 .box span {
        font-size: var(--14px);
    }

    #sec05 .btn {
        margin-top: 0px;
    }


    #sec05 #box01 {
        padding: 180px 30px 40px 30px;
    }

    #sec05 #box02 {
        padding: 120px 30px 40px 30px;
    }

    #sec05 #box04 {
        padding: 150px 30px 40px 30px;
    }


    /*sec06
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec06 .box .item {
        font-size: var(--18px);
    }

    /*sec07
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec07 .box {
        padding: 60px 30px;
    }

    /*sec08
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec08 .box .en {
        text-align: center;
    }

    #sec08 .box h5 {
        text-align: center;
    }


    /*sec10
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec10 .box .answer p {
        text-indent: -2.8em;
        padding-left: 1.6em;
        line-height: 2;
        margin-left: 25px;
    }

    #sec10 .box .answer ul {
        padding-left: 60px;
    }
}



/*768px以下550px以上*/
@media screen and (max-width:768px) and (min-width:550px) {

    /*FV
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #fv .inner {
        max-width: 550px;
        position: inherit;
    }

    #fv .logo {
        margin: 0 auto 15px;
        width: 85%;
        display: block;
    }

    #fv p {
        font-size: var(--18px) !important;
        margin-bottom: 25px;
    }

    #fv .catch {
        font-size: var(--32px) !important;
    }

    #fv .catch .en {
        font-size: var(--38px) !important;
    }

    #fv .deco strong {
        font-size: var(--24px) !important;
    }

    #fv .deco .en {
        font-size: var(--60px) !important;
    }

    #fv .deco:before {
        width: 60px !important;
        height: 120px !important;
    }

    #fv .deco:after {
        width: 60px !important;
        height: 120px !important;
    }

    #fv .illust {
        position: inherit;
        bottom: 0px;
        right: 0;
        max-width: 100%;
        padding-right: 0;
    }


    /*sec01
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec01 .col-11 {
        -ms-flex: 0 0 60%;
        flex: 0 0 60%;
        max-width: 60%;
    }

    /*sec03
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec03 .illust {
        width: 50% !important;
    }

    /*sec05
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec05 .box {
        max-width: 100%;
    }
}


/*768px以下*/
@media (max-width: 768px) {
    h2 {
        font-size: var(--28px);
        line-height: 1.4;
        margin-bottom: 15px;
    }

    h3 {
        font-size: var(--24px);
        margin-bottom: 45px;
    }

    .en-title {
        font-size: var(--64px);
        line-height: 0.5;
        margin-bottom: 30px;
    }

    .en-title span {
        font-size: var(--16px);
    }

    .btn {
        font-size: var(--16px);
        padding: 25px;
        width: 100%;
    }

    .btn:after {
        width: 22px;
        height: 22px;
        right: 15px;
        margin-top: 0px;
    }

    .btn-wh {
        font-size: var(--16px);
        padding: 20px;
        width: 100%;
    }

    .btn-wh span {
        font-size: var(--12px);
        padding: 8px;
        width: 65%;
    }

    .btn-wh:after {
        width: 22px;
        height: 22px;
        right: 15px;
        margin-top: 0px;
    }

    .mb80 {
        margin-bottom: 60px;
    }

    /*FV
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #fv {
        /*padding: 25px 10px 0;*/
        padding: 0;
    }

    #fv .inner {
        /*padding: 0px 0 200px;*/
        margin: 0 auto;
        position: inherit;
        padding: 25px 10px 0;
    }

    #fv .catch .en {
        font-size: var(--28px);
        letter-spacing: 0.3rem;
    }

    #fv .catch {
        font-size: var(--28px);
        line-height: 1.35;
        margin-bottom: 10px;
        text-align: center;
    }

    #fv .logo {
        margin-bottom: 10px;
    }

    #fv p {
        font-size: var(--14px);
        margin-bottom: 25px;
    }

    #fv .deco {
        padding: 0px;
        text-align: center;
        line-height: 1.3;
    }

    #fv .deco:before {
        width: 50px;
        height: 110px;
        top: -7px;
        left: -15px;
    }

    #fv .deco:after {
        width: 50px;
        height: 110px;
        top: -7px;
        right: -20px;
    }

    #fv .deco .en {
        font-size: var(--50px);
    }

    #fv .deco strong {
        font-size: var(--20px);
        margin-left: 5px;
    }

    #fv .illust {
        margin-top: -30px;
        position: inherit;
        bottom: 0px;
        max-width: 100%;
        padding-right: 0;
    }

    #fv .btn-band {
        padding: 20px 15px;
    }

    #fv .btn-band .btn {
        margin: 0 0px 28px 0;
        padding: 20px;
    }

    #fv .btn-band .btn-wh {
        margin: 0px;
        padding: 20px;
    }


    /*sec01
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec01 {
        padding: 40px 0 15px;
    }

    #sec01 img {
        margin: -10px 10px 0 0px;
        width: 80px;
        height: 80px;
    }

    #sec01 p {
        text-align: left;
        font-size: var(--16px);
        margin-bottom: 0;
    }

    #sec01 .col-11 {
        display: flex;
        align-items: center;
        margin-bottom: 25px;
    }


    /*sec02
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec02 {
        padding: 90px 15px;
    }

    #sec02 h3 {
        font-size: var(--22px);
        line-height: 1.6;
    }


    #sec02 .box {
        padding: 45px 30px;
    }

    #sec02 .box ul {
        font-size: var(--16px);
        padding: 0;
    }

    #sec02 .box ul li {
        text-indent: -1.5em;
        padding-left: 1em;
        line-height: 1;
    }

    #sec02 .box ul li:before {
        width: 20px;
        height: 20px;
        margin: 0 5px 5px 0;
    }

    #sec02 img {
        width: 260px;
        bottom: -60px;
    }


    /*sec03
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec03 {
        padding: 100px 10px 60px;
        border-radius: 0 0 20px 20px;
    }

    #sec03 h2 {
        text-align: center;
    }

    #sec03 p {
        text-align: center;
        font-size: var(--18px);
        margin: 0 0 30px 0;
    }

    #sec03 .illust {
        margin: 0px auto;
        width: 80%;
        display: block;
    }

    #sec03 .box {
        text-align: center;
        margin: 0 5px;
    }

    #sec03 .box h3 {
        margin-bottom: 40px;
    }

    #sec03 .box p {
        margin: 0 0 60px 0;
    }

    #sec03 .box .col-lg-4 .triangle {
        transform: rotate(90deg);
        width: 30px;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
    }

    #sec03 .box .icon {
        margin-top: 20px;
    }

    #sec03 .box .marker {
        line-height: 1.8;
        margin: 10px 0 20px;
        font-size: var(--28px);
    }

    #sec03 .box .employee {
        width: 200px;
    }

    /*sec04
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec04 {
        padding: 60px 0px;
    }

    #sec04 .deco-title {
        font-size: var(--20px);
    }

    #sec04 .deco-title:before {
        margin-right: 8px;
    }

    #sec04 .deco-title:after {
        margin-left: 8px;
    }

    #sec04 p {
        font-size: var(--16px);
        margin-bottom: 40px;
    }

    #sec04 .box {
        padding: 30px;
    }

    #sec04 .box h4 {
        font-size: var(--22px);
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    #sec04 .creative-box {
        padding-bottom: 30px;
    }



    /*sec05
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec05 {
        padding: 100px 15px;
    }

    #sec05 h2 {
        font-size: var(--76px);
        margin: 0px 0 100px;
        line-height: 0.5;
    }

    #sec05 h2 strong {
        font-size: var(--28px);
    }

    #sec05 h2 .en {
        font-size: var(--80px);
    }

    #sec05 .box-left {
        padding: 80px 30px 40px 30px;
    }

    #sec05 .box-left img {
        right: 0;
        left: 0;
        margin: auto;
        bottom: inherit;
        top: -10%;
        width: 180px;
    }

    #sec05 .box {
        margin-bottom: 70px;
    }

    #sec05 .box .en {
        text-align: center;
        font-size: var(--56px);
        line-height: 0.9;
        margin: 20px 0 10px;
    }

    #sec05 .box .en span {
        font-size: var(--16px);
        margin-right: 0px;
    }

    #sec05 .box h5 {
        text-align: center;
        font-size: var(--24px);
    }

    #sec05 .box ul li {
        font-size: var(--16px);
        margin-bottom: 15px;
        text-indent: -2em;
        padding-left: 1.5em;
    }

    #sec05 .box-right {
        padding: 80px 30px 40px 30px;
        margin-left: 0;
    }

    #sec05 .box-right img {
        right: 0;
        left: 0;
        margin: auto;
        bottom: inherit;
        top: -10%;
        width: 180px;
    }

    #sec05 .box span {
        font-size: var(--14px);
    }

    #sec05 .btn {
        margin-top: 0px;
    }


    #sec05 #box01 {
        padding: 120px 30px 40px 30px;
    }

    #sec05 #box02 {
        padding: 60px 30px 40px 30px;
    }

    #sec05 #box04 {
        padding: 100px 30px 40px 30px;
    }



    /*sec06
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec06 {
        padding: 80px 15px 60px;
    }

    #sec06 .box {
        padding: 40px 30px;
        margin-bottom: 30px;
    }

    #sec06 .box h4 {
        font-size: var(--22px);
        padding-bottom: 25px;
        margin-bottom: -10px;
    }

    #sec06 .box .price {
        font-size: var(--28px);
        margin-bottom: -10px;
    }

    #sec06 .box .price span {
        font-size: var(--80px);
        letter-spacing: 0.5rem;
    }

    #sec06 .box .item {
        font-size: var(--18px);
        padding: 15px 10px;
    }

    #sec06 .under-text {
        font-size: var(--16px);
    }


    /*sec07
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec07 {
        padding: 100px 0px;
    }

    #sec07 .inner {
        padding: 0 15px;
    }

    #sec07 h3 {
        font-size: var(--28px);
        margin: 50px 0 70px;
    }

    #sec07 h4 {
        font-size: var(--24px);
        margin-bottom: 25px;
        line-height: 1.5;
    }

    #sec07 h4:before {
        content: '';
        display: block;
        width: 22px;
        height: 22px;
        background-image: url(../img/check-icon.png);
        background-size: contain;
        background-repeat: no-repeat;
        margin-right: 0px;
        left: 0;
        right: 0;
        margin: 0 auto 5px;
    }

    #sec07 .box {
        padding: 40px 30px 20px;
        margin-bottom: 20px;
    }

    #sec07 .box h5 {
        font-size: var(--24px);
    }

    #sec07 .box ul li {
        font-size: var(--18px);
    }

    #sec07 .box ul li p {
        font-size: var(--14px);
    }

    #sec07 table th {
        font-size: var(--18px);
        padding: 25px 15px;
    }

    #sec07 table td {
        font-size: var(--18px);
        line-height: 1.2;
    }

    #sec07 table td .en {
        font-size: var(--36px);
    }

    #sec07 .deco span {
        font-size: var(--40px);
    }

    #sec07 .deco .small {
        font-size: var(--28px);
    }

    #sec07 .deco {
        font-size: var(--22px);
        line-height: 1.4;
        margin-left: 5px;
    }

    #sec07 .deco:before {
        margin-left: -20px;
        left: 0;
        top: -20px;
    }

    #sec07 .deco:after {
        margin-right: -20px;
        right: 0;
        top: -20px;
    }

    #sec07 .js-scrollable {
        margin-left: 30px;
    }

    #sec07 .js-scrollable thead th {
        font-size: var(--18px);
    }

    #sec07 .js-scrollable tbody td:first-child {
        font-size: var(--16px) !important;
        padding: 10px;
    }

    #sec07 .js-scrollable tbody td img {
        margin-bottom: 8px;
    }

    #sec07 .js-scrollable tbody .ai {
        padding: 30px;
    }



    /*sec08
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec08 {
        padding: 85px 0px 60px;
    }

    #sec08 .box {
        padding: 40px 15px;
        margin: 0 auto 10px;
    }

    #sec08 .box .en {
        font-size: var(--22px);
        margin-bottom: 5px;
    }

    #sec08 .box h5 {
        font-size: var(--20px);
        margin-bottom: 15px;
        text-align: center;
    }

    #sec08 .box p {
        font-size: var(--14px);
        line-height: 1.65;
    }

    #sec08 .btn {
        margin-top: 40px;
    }

    /*sec09
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec09 {
        padding: 100px 15px 60px;
    }

    #sec09 h2 {
        margin-bottom: 40px;
    }

    #sec09 img {
        margin-bottom: 20px;
    }

    #sec09 h5 {
        font-size: var(--18px);
        line-height: 1.7;
    }

    #sec09 p {
        font-size: var(--14px);
    }



    /*sec10
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec10 {
        padding: 80px 0px 60px;
    }

    #sec10 .box {
        margin-bottom: 10px;
        padding: 20px 40px 10px 15px;
    }

    #sec10 .box .nav-open:after {
        margin-top: 10px;
        top: 0;
        bottom: 0;
        margin: auto;
        right: -50px;
        font-size: 1.3rem;
    }

    #sec10 .box .question {
        font-size: var(--16px);
        text-indent: -2.8em;
        padding-left: 1.7em;
        line-height: 1.2;
        margin-left: 20px;
    }

    #sec10 .box .question:before {
        width: 35px;
        height: 35px;
        margin-right: 8px;
    }

    #sec10 .box:after {
        top: 22%;
        right: 30px;
        font-size: 1.5rem;
    }

    #sec10 .box .answer p:before {
        width: 35px;
        height: 35px;
        margin-right: 8px;
    }

    #sec10 .box .answer p {
        font-size: var(--14px);
        text-indent: -2.8em;
        padding-left: 1.6em;
        line-height: 2;
        margin-left: 20px;
    }

    #sec10 .box .answer ul {
        padding-left: 40px;
    }

    #sec10 .box .answer ul li {
        font-size: var(--14px);
    }

    #sec10 .box .answer ul li span {
        font-size: var(--16px);
    }



    /*sec11
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec11 {
        padding: 60px 0px 200px;
        background-color: #A8CCFF;
        background-image: url(../img/sec11-bg-sp-dummy.jpg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: bottom center;
        background-repeat: no-repeat;
    }

    #sec11 .box {
        margin-bottom: 20px;
        padding: 60px 30px 30px;
    }

    #sec11 .box img {
        width: 140px;
    }

    #sec11 .box h5 {
        font-size: var(--18px);
    }

    #sec11 .box p {
        font-size: var(--14px);
        line-height: 1.65;
        margin-bottom: 30px;
    }


    /*form
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #form {
        padding: 60px 0px 10px;
        border-radius: 20px 20px 0 0;
        margin-top: -40px;
    }

    #form h2 {
        font-size: var(--32px);
    }

    #form h3 {
        font-size: var(--18px);
        line-height: 1.6;
        margin-bottom: 30px;
    }

    #form h3:after {
        bottom: -20px;
    }

    #form p {
        font-size: var(--18px);
    }

    #form .tel {
        font-size: var(--32px);
        color: var(--white) !important;
    }

    #form .tel span {
        font-size: var(--22px);
    }
}



/*350px以下*/
@media (max-width: 350px) {

    /*FV
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #fv .btn-band {
        padding: 20px 5px;
    }

    #fv .catch {
        font-size: var(--24px);
    }

    #fv .deco:before {
        width: 40px;
        height: 100px;
    }

    #fv .deco:after {
        width: 40px;
        height: 100px;
    }

    #fv .deco strong {
        font-size: var(--18px);
    }

    #fv .deco .en {
        font-size: var(--40px);
    }

    /*sec01
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec01 p {
        font-size: var(--14px);
    }


    /*sec03
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec03 p {
        font-size: var(--14px);
    }

    #sec03 .box p {
        font-size: var(--20px);
    }

    #sec03 .box .marker {
        font-size: var(--24px);
    }

    /*sec04
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec04 .under-text {
        font-size: var(--14px);
    }

    /*sec05
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec05 h2 {
        font-size: var(--60px);
    }

    #sec05 h2 strong {
        font-size: var(--24px);
    }

    #sec05 h2 .en {
        font-size: var(--72px);
    }

    #sec05 .box h5 {
        font-size: var(--20px);
    }

    #sec05 .btn {
        padding: 25px 30px 25px 15px;
    }

    /*sec06
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec06 .box .price {
        font-size: var(--20px);
    }

    #sec06 .box .price span {
        font-size: var(--64px);
    }

    /*sec07
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec07 h4 {
        font-size: var(--22px);
    }

    #sec07 .deco:before {
        width: 60px;
        height: 120px;
        top: -5px;
    }

    #sec07 .deco:after {
        width: 60px;
        height: 120px;
        margin-right: -15px;
        top: -5px;
    }

    #sec07 .deco span {
        font-size: var(--38px);
    }

    /*sec08
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec08 .box h5 {
        font-size: var(--18px);
    }

    /*sec11
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #sec11 h3 {
        font-size: var(--20px);
    }

    #sec11 .box h5 {
        font-size: var(--16px);
    }

    /*form
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    #form h2 {
        font-size: var(--28px);
    }

    #form .tel {
        font-size: var(--28px);
    }
}