html, body {
    font-family: Arial, "Noto Sans JP", "ヒラギノ角ゴ ProN", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, sans-serif;
    background-image: url("../images/bg_.jpg");
    background-repeat: repeat;
    background-size: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
header, footer, div, section, article, nav, a, p, span, ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, img, dl, dt, dd, form, input, textarea {
    box-sizing: border-box;
}
::selection {
    background: #ddd;
}
::-moz-selection {
    background: #ddd;
}
a {
    color: #000;
    text-decoration: none;
}
a:hover {
    opacity: 0.7;
    cursor: pointer;
}
img {
    max-width: 100%;
    max-height: 100%;
    display: inline-block;
}
ol, ul {
    list-style: none;
}
table {
    margin: 40px 0;
    width: 100%;
}
table tr {}
table th {
    background-color: #e9f0f3;
    font-weight: lighter;
    padding: 15px 20px;
    border-bottom: 2px solid #fff;
}
table td {
    background-color: #f8f8f9;
    border-bottom: 2px solid #fff;
    padding: 15px 20px;
}
.clear {
    clear: both;
}
.center {
    text-align: center;
}
.small {
    font-size: 80%;
}
.big {
    font-size: 140%;
}
.red {
    color: #991818;
}
.orenge {
    color: #ffa800;
}
/* ページトップ */
#pagetop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999;
}
#pagetop i {
    padding-top: 11px;
}
#pagetop a {
    display: block;
    z-index: 999;
    border-radius: 30px;
    width: 40px;
    height: 40px;
    background-color: #bbb;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    box-sizing: border-box;
}
#pagetop a:hover {
    text-decoration: none;
    opacity: 0.7;
}
.count2.scrollin {
    -moz-transition-delay: 200ms !important;
    -webkit-transition-delay: 200ms !important;
    -o-transition-delay: 200ms !important;
    -ms-transition-delay: 200ms !important;
}
.count3.scrollin {
    -moz-transition-delay: 400ms !important;
    -webkit-transition-delay: 400ms !important;
    -o-transition-delay: 400ms !important;
    -ms-transition-delay: 400ms !important;
}
/* ロード画面 */
#container {
    display: none;
}
#loading {
    width: 100%;
    height: 100vh;
    background: #FA0057;
    display: flex;
    justify-content: center;
    align-items: center;
}
#loading .logo {
    width: 200px;
    animation: pulse 1s infinite;
}
.full {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}
.full img {
    display: block;
    width: 100%;
    height: auto;
}
.contactmail .header {
    top: 0;
}
.contactmail .header__inner {
    display: block;
    width: 300px;
    margin: 0;
}
.contactmail .header__inner::before {
    display: none;
}
.contactmail .header__companyname {
    position: absolute;
    top: 50%;
    left: 50px;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
}
#form {
    position: relative;
}
/* CONTACT */
.contact form {
    width: 50%;
    margin: 0 auto;
    padding-bottom: 100px;
}
.contact form.kakunin {
    width: 70%;
}
.contact__list {
    width: 100%;
    position: relative;
}
.contact__list>li {
    width: 100%;
    padding: 8px 0;
}
.contact__list__ques {
    width: 100%;
    vertical-align: middle;
    padding-right: 5%;
    letter-spacing: 0.1em;
    font-size: 17px;
    margin-bottom: 0.5em;
}
.contact__list__ans {
    width: 100%;
}
.contact__list>li:last-child .contact__list__ques {
    vertical-align: top;
    padding-top: 1em;
}
.contact__list__ans input, .contact__list__ans select, .contact__list__ans textarea {
    border-radius: 0;
}
.contact__list__ans input, .contact__list__ans select {
    padding-left: 1em;
    padding-right: 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    background: #fff;
    border: 1px solid #000;
    font-size: 1em;
    letter-spacing: 0.1em;
    box-sizing: border-box;
}
.contents__inner input::placeholder, .contents__inner textarea::placeholder {
    color: #bababa;
}
.contact__list__ans select {
    color: #000000;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    position: relative;
}
.contact__list__ans--select {
    position: relative;
}
.contact__list__ans--select::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    position: absolute;
    top: 48%;
    right: 3%;
    -webkit-transform: translate(0, -50%) rotate(135deg);
    -moz-transform: translate(0, -50%) rotate(135deg);
    -o-transform: translate(0, -50%) rotate(135deg);
    transform: translate(0, -50%) rotate(135deg);
}
.contact__list__ans textarea {
    padding: 1em;
    height: 10vw;
    flex: 1;
    width: 100%;
    max-width: 100%;
    background: #fff;
    border: 1px solid #000;
    font-size: 17px;
    letter-spacing: 0.1em;
    box-sizing: border-box;
}
.required {
    color: #dd434e;
    font-size: 0.8em;
    padding-left: 5px;
}
.contact__list__ans .note {
    color: #777;
    font-size: 0.8em;
    padding-top: 5px;
}
.contact__check {
    text-align: center;
    padding: 3vw 0;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
}
.contact__check--parts {
    display: none;
}
.contact__check--label {
    padding-left: 30px;
    position: relative;
    display: inline-block;
    cursor: pointer;
}
.contact__check--label::before {
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #000;
}
.contact__check--parts:checked+.contact__check--label::after {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 5px;
    width: 10px;
    height: 10px;
    background-color: #000;
}
.contact__btn {
    width: 70%;
    margin: 0 auto 5vw;
    overflow: hidden;
    position: relative;
    text-align: center;
}
.contact__btn__send, .contact__btn__clear, .contact__btn__back {
    width: 45%;
    padding: 0 5%;
    margin: 0 2px;
    text-align: center;
    font-size: 15px;
    font-weight: 400;
    color: #fff;
    background-color: #013484;
    border: none;
    padding: 20px 0;
    letter-spacing: 0.2em;
    cursor: pointer;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
    position: relative;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    -webkit-border-radius: 0;
}
.contact__btn__back {
    width: auto;
    padding: 10px 50px;
    display: inline-block;
}
.contact__btn__send {
    float: right;
}
.contact__btn__send.only {
    float: none;
    width: 80%;
    margin: 0 auto;
}
.contact__btn__clear {
    float: left;
}
.contact__btn.disable::after {
    content: "";
    width: 100%;
    height: 105%;
    position: absolute;
    top: -2%;
    left: 0px;
    background-color: rgba(255, 255, 255, 0.7);
    cursor: default;
}
.contactmail .contact__btn.disable::after {
    display: none;
}
/* フォーム確認 */
.form-kakunin__ttl {
    text-align: center;
    font-size: 25px;
    line-height: 1em;
    margin-bottom: 20px;
}
.form-kakunin__txt {
    text-align: center;
    font-size: 15px;
    margin-bottom: 20px;
}
.formTable {
    width: 100%;
    margin: 0 auto;
}
table.formTable th {
    width: 30%;
}
table.formTable td, table.formTable th {
    padding: 10px;
    border-bottom: 1px solid #ccc;
    text-align: left;
}
.form-kakunin .contact__btn {
    margin-top: 60px;
}
.error_messe {
    padding: 5px;
    color: #dd434e;
}
.contactmail {
    min-height: 100vh;
    padding-bottom: 3vh;
    margin-top: 40px;
}
.contact__thanks {
    text-align: center;
    margin: 50px 0;
}
.contact__cap {
    width: 50%;
    margin: 0 auto 80px;
    font-size: 1em;
    font-weight: 400;
    line-height: 2em;
}
.contactmail .footer {
    position: absolute;
    bottom: 0;
    left: 0;
}
.contactmail .section__ttl::after {
    opacity: 1;
}
.top-banner {
    /*コレ*/
    text-align: center;
    padding: 10px;
}
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.cp_qa .cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 0 1em 0;
    color: #fff;
}
.cp_qa .cp_actab input {
    position: absolute;
    opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
    line-height: 1.6em;
    position: relative;
    display: block;
    margin: 0 0 0 0;
    padding: 1em 2em 1em 2.5em;
    cursor: pointer;
    text-indent: 1em;
    border-radius: 0.5em;
    background: #009a9b;
}
.cp_qa .cp_actab label::before {
    margin-left: -2em;
    padding-right: 0.5em;
    content: 'Q';
}
.cp_qa .cp_actab label:hover {
    transition: all 0.3s;
    color: #fff;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
    line-height: 2em;
    position: absolute;
    top: 0;
    right: 0;
    content: '+';
    display: inline-block;
    width: 2em;
    height: 2em;
    -webkit-transition: transform 0.4s;
    transition: transform 0.4s;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
    position: relative;
    overflow: hidden;
    max-height: 0;
    padding: 0 0 0 2.5em;
    -webkit-transition: max-height 0.2s;
    transition: max-height 0.2s;
    border-radius: 0 0 0.5em 0.5em;
}
.cp_qa .cp_actab .cp_actab-content::before {
    position: absolute;
    margin: 0.4em 0 0 -1em;
    padding: 0;
}
.cp_qa .cp_actab .cp_actab-content p {
    margin: 1em 1em 1em 0;
    color: black;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked~.cp_actab-content {
    max-height: 40em;
    border: 10px solid #009a9b;
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked~label {
    color: #fff;
    border-radius: 0.5em 0.5em 0 0;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked+label::after {
    -webkit-transform: rotateZ(45deg);
    transform: rotateZ(45deg);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}
/*　PC ------------------------------------------------------------------------------------------------*/
@media (min-width: 769px) {
    .sp {
        display: none !important;
    }
    body {
        font-size: 18px;
        min-width: 900px;
        line-height: 2rem;
        overflow-x: hidden;
        font-weight: 400;
        color: #444;
        margin: 0;
    }
    h2 {
        font-size: 240%;
        line-height: 1.5;
        margin-bottom: 40px;
    }
    h4 {
        font-size: 130%;
        text-align: center;
        margin: 15px auto;
        color: #ffa800;
        line-height: 2rem;
        font-weight: bold;
    }
    u {
        text-decoration: none;
        border-bottom: 1px solid;
        padding-bottom: 2px;
    }
    .content {
        max-width: 1020px;
        margin: 0px auto 0;
        padding-bottom: 0px;
    }
    .content2 {
        max-width: 1020px;
        margin: -260px auto 40px;
        padding: 0px 5%;
        padding-bottom: 30px;
        background: #fff;
    }
    .content3 {
        max-width: 1020px;
        margin: 0px auto 0;
        padding: 0px 5%;
        margin-top: -24%;
        margin-bottom: 120px;
    }
    .content4 {
        max-width: 1020px;
        margin: 0px auto 0;
        padding: 0px 5%;
        margin-top: -5%;
    }
    .content5 {
        max-width: 1020px;
        margin: 0px auto 0;
        padding: 0px 5%;
        margin-top: -9%;
    }
    .content6 {
        max-width: 1020px;
        margin: -98px auto -60px;
        padding: 0px 5%;
        padding-bottom: 30px;
        background: #fff;
    }
    .content7 {
        max-width: 1020px;
        margin: 0px auto 0;
        padding: 0px 5%;
        margin-top: -29%;
        margin-bottom: 130px;
    }
    .left-img {
        width: 42%;
        float: left;
        padding: 0px auto;
        overflow: hidden;
    }
    .right-img {
        width: 55%;
        float: right;
        padding: 0px auto;
        overflow: hidden;
    }
    .column {
        width: 30.8%;
        height: auto;
        margin: 0 12px 20px;
        float: left;
        overflow: hidden;
        border-radius: 10px;
    }
    .column img {
        width: 100%;
        float: left;
        overflow: hidden;
        border-radius: 10px;
        margin-bottom: 20px;
    }
    .column p {
        font-size: 90%;
        line-height: 1.8rem;
    }
    .q {
        font-size: 110%;
        font-weight: bold;
        line-height: 2.8rem;
        margin-bottom: 5px;
    }
    .alert {
        max-width: 1020px;
        padding-top: 10px;
        padding-bottom: 10px;
        display: block;
        margin: 0 auto;
        text-align: center;
        font-size: 22px;
        font-weight: bold;
        color: #E20057;
    }
    .slick-box figure {
        width: 220px;
        margin: 0 0px 0px;
        text-align: center;
    }
    .slick-box figure .li-img {
        position: relative;
        margin-bottom: 0px;
    }
    .slick-box figure .li-img img {
        display: block;
        margin: 0 auto;
    }
    .slick-box figure .li-img .place {
        background: #111;
        color: #fff;
        font-weight: bold;
        line-height: 26px;
        border-radius: 13px;
        width: 100px;
        position: absolute;
        bottom: 10px;
        left: 50%;
        font-size: 90%;
        margin-left: -50px;
    }
    .swiper-wrapper {
        padding-bottom: 80px;
    }
    .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 8px;
    }
    .swiper-pagination-bullet-active {
        background: #fff;
    }
    .swiper-button-next {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23020434'%2F%3E%3C%2Fsvg%3E");
    }
    .swiper-button-prev {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23020434'%2F%3E%3C%2Fsvg%3E");
    }
    .sec-07 {
        position: relative;
        background-size: contain;
    }
    .sec-07 .ico_offer {
        height: 80px;
        display: block;
        margin-bottom: 15px;
    }
    .sec-07 .span1 {
        display: block;
        font-weight: bold;
        font-size: 130%;
        line-height: 1.6;
        margin-bottom: 1em;
    }
    .sec-07 h2 {
        font-size: 270%;
        line-height: 1.3;
        margin-bottom: 50px;
    }
    .sec-07 table {
        width: 100%;
        border-collapse: collapse;
        font-size: 100%;
    }
    .sec-07 table th, .sec-07 table td {
        text-align: left;
        border: solid 0px #666;
    }
    .sec-07 table th {
        background: #111;
        color: #fff;
        text-align: left;
        font-size: 150%;
        padding: 0;
    }
    .sec-07 table td {
        padding: 0.4em 0em;
        font-size: 16px;
    }
    .sec-07 table td.bold {
        font-weight: normal;
    }
    .sec-07 a.btn_cta {
        display: block;
        width: 70%;
        margin: 20px auto 0px;
        animation: pulse 1s infinite;
    }
    .sec-08 .ico_qa {
        height: 60px;
        display: block;
        margin-bottom: 5px;
    }
    .sec-08 h2 {
        font-size: 270%;
        line-height: 1.3;
        margin-bottom: 30px;
    }
    .sec-08 dt, .sec-08 dd {
        padding-left: 2em;
        position: relative;
    }
    .sec-08 dd {
        font-weight: bold;
        margin-bottom: 1.5em;
    }
    .sec-08 dt:before {
        content: "Q.";
        color: #0098DB;
        position: absolute;
        left: 0;
        top: 0;
        font-weight: bold;
    }
    .sec-08 dd:before {
        content: "A.";
        color: #E6065C;
        position: absolute;
        left: 0;
        top: 0;
    }
    .sec-08 .img_08 {
        width: 100%;
        display: block;
    }
    .sec-09 .ico_message {
        height: 90px;
        display: block;
        margin-bottom: 15px;
    }
    .sec-09 h2 {
        font-size: 270%;
        line-height: 1.3;
    }
    .sec-09 ul {
        margin: 60px 0;
    }
    .sec-09 ul li {
        display: block;
        padding-left: 30px;
        margin-left: 15px;
        position: relative;
        font-weight: bold;
        font-size: 110%;
    }
    .sec-09 ul li:before {
        content: "";
        width: 15px;
        height: 15px;
        background: url(../images/sec-01/ico_check.png) center center no-repeat;
        background-size: contain;
        position: absolute;
        left: 0;
        top: 8px;
    }
    .sec-09 .logo09 {
        display: block;
        width: 350px;
        margin: 100px auto 50px;
    }
    .cp_qa *, .cp_qa *:after, .cp_qa *:before {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .cp_qa .cp_actab {
        position: relative;
        overflow: hidden;
        width: 80%;
        margin: 0 auto 1em;
        color: #fff;
    }
    .cp_qa .cp_actab input {
        position: absolute;
        opacity: 0;
    }
    /* 質問 */
    .cp_qa .cp_actab label {
        line-height: 1.6em;
        position: relative;
        display: block;
        margin: 0 0 0 0;
        padding: 1em 2em 1em 2.5em;
        cursor: pointer;
        text-indent: 1em;
        border-radius: 0.5em;
        background: #009a9b;
    }
    .cp_qa .cp_actab label::before {
        margin-left: -2em;
        padding-right: 0.5em;
        content: 'Q';
    }
    .cp_qa .cp_actab label:hover {
        transition: all 0.3s;
        color: #fff;
    }
    /* --質問の＋アイコン */
    .cp_qa .cp_actab label::after {
        line-height: 2em;
        position: absolute;
        top: 0;
        right: 0;
        content: '+';
        display: inline-block;
        width: 2em;
        height: 2em;
        -webkit-transition: transform 0.4s;
        transition: transform 0.4s;
    }
    /* 答え */
    .cp_qa .cp_actab .cp_actab-content {
        position: relative;
        overflow: hidden;
        max-height: 0;
        padding: 0 0 0 2.5em;
        -webkit-transition: max-height 0.2s;
        transition: max-height 0.2s;
        border-radius: 0 0 0.5em 0.5em;
    }
    .cp_qa .cp_actab .cp_actab-content::before {
        position: absolute;
        margin: 0.4em 0 0 -1em;
        padding: 0;
    }
    .cp_qa .cp_actab .cp_actab-content p {
        margin: 1em 1em 1em 0;
        color: black;
    }
    /* 質問を開いた時の仕様 */
    /* --答えの高さ */
    .cp_qa .cp_actab input:checked~.cp_actab-content {
        max-height: 40em;
        border: 10px solid #009a9b;
    }
    /* 質問をクリックした時のアイコンの動き */
    .cp_qa .cp_actab input:checked~label {
        color: #fff;
        border-radius: 0.5em 0.5em 0 0;
    }
    /* 質問をクリックした時の+の動き */
    .cp_qa .cp_actab input[type=checkbox]:checked+label::after {
        -webkit-transform: rotateZ(45deg);
        transform: rotateZ(45deg);
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
    }
    /* CONTACT */
    .contact__cap {
        width: 65%;
    }
    .contact form {
        width: 80%;
    }
    .contact__btn {
        width: 90%;
    }
    footer {
        background: #013484;
        text-align: center;
        font-size: 14px;
    }
    footer .content {
        padding: 60px 0;
    }
    footer .logo_footer {
        display: block;
        width: 350px;
        margin: 0 auto 20px;
    }
    /* ヘッダー動き */
    header .fade1 {
        animation: fade 1.5s;
    }
    header .fade2 {
        animation: fadee 3.5s;
    }
    header .fade3 {
        animation: fadeee 4s;
    }
    header .fade4 {
        animation: fadeeee 3.5s;
    }
    @keyframes fade {
        from {
            transform: scale3d(1.1, 1.1, 1.05);
            opacity: 0;
        }
        50% {
            transform: scale3d(1.1, 1.1, 1.05);
            opacity: 0;
        }
        to {
            transform: scale3d(1, 1, 1);
            opacity: 1;
        }
    }
    @keyframes fadee {
        from {
            transform: translateY(-30px);
            opacity: 0;
        }
        57% {
            transform: translateY(-30px);
            opacity: 0;
        }
        to {
            transform: scale3d(1, 1, 1);
            opacity: 1;
        }
    }
    @keyframes fadeee {
        from {
            transform: scale3d(1.1, 1.1, 1.1);
            opacity: 0;
        }
        75% {
            transform: scale3d(1.1, 1.1, 1.1);
            opacity: 0;
        }
        to {
            transform: scale3d(1, 1, 1);
            opacity: 1;
        }
    }
    @keyframes fadeeee {
        from {
            transform: translateY(20px);
            opacity: 0;
        }
        60% {
            transform: translateY(20px);
            opacity: 0;
        }
        to {
            transform: translate(0, 0);
            opacity: 1;
        }
    }
}
/*　スマホ ------------------------------------------------------------------------------------------------*/
@media (max-width: 768px) {
    .pc {
        display: none !important;
    }
    body {
        font-size: 15px;
        line-height: 1.7rem;
        font-family: Arial, "Noto Sans JP", "ヒラギノ角ゴ ProN", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, sans-serif;
    }
    h2 {
        font-size: 150%;
        line-height: 1.4;
        margin-bottom: 20px;
    }
    h4 {
        font-size: 130%;
        text-align: center;
        margin: 10px auto;
        color: #ffa800;
        line-height: 1.8rem;
        font-weight: bold;
    }
    u {
        text-decoration: none;
        border-bottom: 1px solid;
        padding-bottom: 2px;
    }
    section {
        overflow: hidden;
    }
    .content {
        max-width: 100%;
        padding: 0px 5%;
        margin-top: -20px;
    }
    .content2 {
        max-width: 100%;
        background: #fff;
        margin-top: -250px;
        margin-left: 34px;
        margin-bottom: 80px;
    }
    .content3 {
        max-width: 100%;
        padding: 0px 5%;
        margin-top: -50%;
        margin-bottom: 24px;
    }
    .content4 {
        max-width: 100%;
        padding: 0px 5%;
        margin-top: -10%;
    }
    .content5 {
        max-width: 100%;
        padding: 0px 5%;
        margin-top: -10%;
    }
    .left-img {
        width: 100%;
        float: center;
        padding: 0px auto;
        overflow: hidden;
    }
    .left-img2 {
        width: 90%;
        float: center;
        padding: 0px auto;
        overflow: hidden;
    }
    .right-img {
        width: 100%;
        float: center;
        padding: 0px auto;
        margin: auto;
        overflow: hidden;
    }
    .column {
        width: 90%;
        height: auto;
        margin: 0 auto;
        float: center;
        overflow: hidden;
        border-radius: 10px;
    }
    .column img {
        width: 100%;
        float: center;
        overflow: hidden;
        border-radius: 10px;
        margin-bottom: 0px;
    }
    .column p {
        font-size: 100%;
        line-height: 1.7rem;
        margin-bottom: 25px;
    }
    .q {
        font-size: 110%;
        font-weight: bold;
        line-height: 2rem;
    }
    .alert {
        max-width: 100%;
        padding-top: 10px;
        padding-bottom: 10px;
        display: block;
        margin: 0 auto;
        text-align: center;
        font-size: 18px;
        font-weight: bold;
        color: #E20057;
    }
    .big1 {
        font-size: 150%;
        line-height: 1.4;
        display: block;
        text-align: center;
    }
    .big2 {
        font-size: 110%;
        line-height: 1.4;
    }
    .swiper-button-next {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
        right: 0;
        background-size: 30px 30px;
    }
    .swiper-button-prev {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
        left: 0;
        background-size: 30px 30px;
    }
    .img_02 {
        display: block;
        margin: 40px auto 0;
    }
    .cta2-1 .span1 {
        display: block;
        font-weight: bold;
        line-height: 1.7;
    }
    .cta2-1 p {
        text-align: left;
    }
    .cta2-1 a.btn_cta {
        display: block;
        width: 100%;
        margin: 20px auto 0px;
        animation: pulse 1s infinite;
    }
    .slick-box figure {
        width: 120px;
        margin: 0 5px 15px;
        text-align: center;
    }
    .slick-box figure .li-img {
        position: relative;
        margin-bottom: 8px;
    }
    .slick-box figure .li-img img {
        display: block;
        margin: 0 auto;
    }
    .slick-box figure .li-img .place {
        background: #111;
        color: #fff;
        font-weight: bold;
        line-height: 1.8;
        border-radius: 13px;
        width: 60px;
        position: absolute;
        bottom: 5px;
        left: 50%;
        font-size: 75%;
        margin-left: -30px;
    }
    .swiper-wrapper {
        padding-bottom: 50px;
    }
    .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 8px;
    }
    .swiper-pagination-bullet-active {
        background: #fff;
    }
    .sec-07 .ico_offer {
        display: block;
        margin: 0 auto 10px;
        height: 50px;
    }
    .sec-07 .span1 {
        display: block;
        font-weight: bold;
        font-size: 110%;
        line-height: 1.6;
        margin-bottom: 0.5em;
        text-align: left;
    }
    .sec-07 h2 {
        font-size: 150%;
        line-height: 1.4;
        margin-bottom: 40px;
        text-align: left;
    }
    .sec-07 table {
        width: 100%;
        border-collapse: collapse;
        font-size: 80%;
        text-align: left;
    }
    .sec-07 table th, .sec-07 table td {
        border: solid 0px black;
        text-align: left;
    }
    .sec-07 table th {
        background: #111;
        text-align: left;
        padding: 0.3em 0em;
        color: #000;
    }
    .sec-07 table td {
        padding: 0.5em 0em;
        color: #000;
    }
    .sec-07 table td.bold {
        font-weight: bold;
    }
    .sec-07 a.btn_cta {
        display: block;
        width: 90%;
        margin: 20px auto 0px;
        animation: pulse 1s infinite;
    }
    .contactmail .header__companyname {
        box-shadow: none;
    }
    .header__companyname a {
        line-height: 1;
    }
    .contactmail .header__companyname {
        left: 5%;
    }
    /* CONTACT */
    .contact form {
        width: 100%;
        padding-bottom: 5em;
    }
    .contact__list>li {
        display: block;
    }
    .contact__list__ques, .contact__list__ans {
        display: block;
        width: 100%;
    }
    /* フォーム確認 */
    .contact__list>li {
        padding: 5px 0 10px;
    }
    .contact__list__ques {
        padding-right: 0;
    }
    .contact__list__ans input, .contact__list__ans select, .contact__list__ans textarea {
        box-sizing: border-box;
    }
    .contact__list__ans textarea {
        height: 50vw;
    }
    .contact__btn {
        width: 100%;
    }
    .contact__btn__send, .contact__btn__clear, .contact__btn__back {
        float: none;
        display: block;
        width: 60%;
        margin: 15px auto;
    }
    .contact__btn.disable::after {
        width: 100%;
        height: 110%;
        position: absolute;
        top: -5%;
        left: 0;
    }
    .formTable {
        width: 90%;
    }
    .contactmail .contents__inner, .contact form.kakunin {
        width: 100%;
    }
    .contact__cap {
        width: 85%;
        margin-bottom: 50px;
        font-size: 0.9em;
        font-weight: 400;
    }
    .contact__check--label {
        margin-bottom: 2em;
    }
    footer {
        background: #013484;
        color: #fff;
        text-align: center;
        font-size: 12px;
        padding-top: 40px;
    }
    footer .content {
        padding: 40px 0;
        color: #000;
    }
    footer .logo_footer {
        display: block;
        width: 250px;
        margin: 0 auto 15px;
    }
}
#faq {
    background: #ebf5fe;
    background-size: cover;
    background-position: center;
    padding: 60px 0;
	margin-top: -40px;
}
.faq_i {
    padding: 30px;
    border-radius: 30px;
    margin-bottom: 20px;
    transition: 0.5s;
    background: #fff;
    color: #333;
}
.faq_i.open {
    border-radius: 30px;
}
.faq_i .ico {
    background: #013484;
    color: #fff;
    display: flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    margin-right: 20px;
    font-weight: 600;
    flex-shrink: 0;
}
.faq_i h3 {
    margin-top: 11px;
    font-weight: 600;
}
.faq_i p {
    margin-top: 5px;
}
.faq_i .q {
    position: relative;
    cursor: pointer;
}
.faq_i .q:after {
    content: "×";
    font-size: 1.8rem;
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: rotate(45deg) translate(-10px, -50%);
    color: #333;
    transition: 0.5s;
}
.faq_i.open .q:after {
    top: 50%;
    right: 0px;
    transform: rotate(0) translate(0, -50%);
}
.faq_i .a {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e3e3e3;
    display: none;
}
.flex {
    display: flex;
}
.flex_w {
    flex-wrap: wrap;
}
.in_in {
    width: 1000px;
    margin: 0 auto;
    position: relative;
    z-index: 3;
}
.sec_ttl_w {
    margin-bottom: 60px;
    text-align: center;
    line-height: 1;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
@media screen and (max-width: 750px) {
    #faq {
        position: relative;
    }
    .faq_i {
        border-radius: 30px;
        padding: 7.5% 5%;
    }
    .faq_i .q .flex {
        padding-right: 30px;
    }
    .faq_i h3 {
        margin-top: 3px;
        font-size: 1rem;
        line-height: 1.7rem;
    }
    .faq_i .ico {
        width: 30px;
        height: 30px;
        margin-right: 20px;
    }
    .in, .in_in {
        width: 90%;
        margin: 0 auto;
    }
    .flex_w_sp {
        flex-wrap: wrap;
    }
    .sec_ttl_w {
        line-height: 1.25;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}


/* === ヘッダー画像の“切れ/食い込み”だけ直す：ボタン無変更 === */
header{
  line-height: 0;
  font-size: 0;
  display: flow-root;   /* 次要素のmargin食い込み防止 */
}
header h1{ margin:0; padding:0; line-height:0; font-size:0; }
header img,
header picture,
header picture > img{
  display:block;        /* グローバルの inline-block を打ち消し */
  width:100%;
  height:auto;
}
/* ヘッダー直後要素の上マージンを無効化（ボタンには影響なし） */
header + .content,
header + .content2,
header + .content3,
header + .content4,
header + .content5,
header + .content6,
header + .content7,
header + section{
  margin-top:0 !important;
}

header{
  line-height:0;
  font-size:0;
  display:flow-root; /* 次要素のmargin食い込み防止 */
}
header img,
header picture,
header picture>img{
  display:block;     /* 画像のベースライン隙間を消す */
  width:100%;
  height:auto;
}
/* ヘッダー直後だけ上マージン無効化（ボタン・フォーム等は不変） */
header + .content,
header + section{
  margin-top:0 !important;
}

/* --- ヘッダー直下の食い込み＆余白を完全に封じる（ボタンは不変） --- */
header { line-height: 0; font-size: 0; display: flow-root; }

/* UAスタイルの h1 既定マージン(0.67em) がギャップを作るのを確実に無効化 */
header h1 { margin: 0; padding: 0; font-size: 0; line-height: 0; }

/* 画像のベースライン隙間を消す（既に似た指定があっても最後に再宣言） */
header img, header picture, header picture > img { display: block; width: 100%; height: auto; }

/* ヘッダーの次のブロックの“上だけ”を 0 に（他セクションやフォームは不変） */
header + .content,
header + section { margin-top: 0 !important; }


/* ヘッダー画像だけは max-height:100% を無効化して自然高さで表示 */
header img { 
  display: block;
  width: 100%;
  height: auto;
  max-height: none !important;
}

/* 念のため、ヘッダーでクリップされないように */
header { overflow: visible !important; }

/* ヘッダー画像が下で欠ける・空白が出る対策（ボタンは触らない） */
header { display: flow-root; }                    /* マージン折り畳み停止 */
header h1, header h1 img, header > img.sp { 
  display:block; margin:0; line-height:0;
}
header h1 img, header > img.sp { 
  width:100%; height:auto; max-height:none !important; vertical-align:bottom;
}
/* ヘッダー直後の “食い込み” をピンポイントで無効化 */
header + .content3 { margin-top: 0 !important; }

/* 1) ヘッダーを基準箱にする（子の絶対配置用） */
header { position: relative; }

/* 2) ボタンラッパー(.content7)だけ “絶対配置” にしてレイアウトから外す
      → いまの見た目位置は維持（オフセット指定しないので静的位置そのまま） */
header .content7 { position: absolute; }

/* 3) ヘッダー画像のベースライン隙間を消す（高さ不足による下端切れ防止） */
header h1, header h1 img, header > img.sp {
  display:block; margin:0; line-height:0;
}

header > .content7{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  /* 下からの距離（画面幅で自動調整：20px〜64px）*/
  bottom: clamp(120px, 21vw, 600px); 

  /* 既存のレイアウト指定を無効化してズレを防ぐ */
  top: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: auto !important;

  z-index: 5;
}


/* SPだけ：ヘッダーのボタン画像を大きく */
@media (max-width: 768px){
  header .content7 a > img.sp{
    width: 90vw !important;   /* ここを上げれば更に大きく、下げれば小さく */
    max-width: none !important;
    height: auto !important;
    display: block;
  }
}


