@charset "UTF-8";

/* ---------------------------------------------
*   common
--------------------------------------------- */
.l-contents *,
.l-contents *::before,
.l-contents *::after {
    box-sizing: border-box;
}

.l-contents a,
.l-contents a:hover {
    text-decoration: none;
}

.l-contents img {
    width: 100%;
}

.l-contents {
    position: relative;
    background-color: #fff;
}

@media print and (min-width: 768px), screen and (min-width: 768px) {
    .pc-hide {
        display: none !important;
    }
}
@media screen and (min-width: 768px) {
    .adlp-outer {
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }

    .adlp-wrapper {
        min-width: min(calc((1920 / 1080) * 100vw), 1920px);
        max-width: 1920px;
        margin: 0 auto;
    }
}

/* ---------------------------------------------
*   main contents
--------------------------------------------- */
.adlp-wrapper .text-link {
    position: absolute;
    display: block;
    text-indent: -9999px;
    font-size: 0;
    width: min(calc(46 / 1080 * 100vw), 46px);
    height: min(calc(18 / 1080 * 100vw), 18px);
}

@media screen and (max-width: 767px) {
    .adlp-wrapper .text-link {
        width: calc(60 / 750 * 100vw);
        height: calc(20 / 750 * 100vw);
    }
}

.fv {
    position: relative;
}


.fv .adlp-accordion__header {
    padding-top: min(calc(30 / 1080 * 100vw), 30px);
}

@media screen and (max-width: 767px) {
    .fv .adlp-accordion__header {
        padding-top: calc(40 / 750 * 100vw);
    }
}

.fv .adlp-accordion__header.--img::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    background: url(../img/fv_hbg.png), url(../img/fv_hbg_sp.png);
    opacity: 0;
    pointer-events: none;
}

.fv .adlp-accordion__header.--img.--open {
    background: url(../img/fv_hbg.png) center/cover no-repeat;
}

@media screen and (max-width: 767px) {
    .fv .adlp-accordion__header.--img.--open {
        background: url(../img/fv_hbg_sp.png) center/cover no-repeat;
    }
}

.sec01 {
    position: relative;
}

.sec01 a img {
    display: block;
}

.sec01 .sec01__text1 {
    position: absolute;
    width: min(calc(35 / 1080 * 100vw), 35px);
    top: min(calc(356 / 1080 * 100vw), 356px);
    left: min(calc(751 / 1080 * 100vw), 751px)
}

.sec01 .sec01__text2 {
    position: absolute;
    width: min(calc(35 / 1080 * 100vw), 35px);
    top: min(calc(1123 / 1080 * 100vw), 1123px);
    left: min(calc(1161 / 1080 * 100vw), 1161px)
}


@media screen and (max-width: 767px) {
    .sec01 .sec01__text1 {
        width: calc(54 / 750 * 100vw);
        top: calc(530 / 750 * 100vw);
        left: calc(590 / 750 * 100vw);
    }
    .sec01 .sec01__text2 {
        width: calc(54 / 750 * 100vw);
        top: calc(1598 / 750 * 100vw);
        left: calc(452 / 750 * 100vw);
    }
}

.sec02 {
    position: relative;
}

.sec02__accordion .adlp-accordion {
    background: #EEEEEE;
}

.sec02__accordion .adlp-accordion__header.--img {
    background: #DDF0F9;
    width: min(calc(1000 / 1080 * 100vw), 1000px);
    margin: 0 auto;
    padding-top: 0;
    margin-top: 0;
    -webkit-tap-highlight-color: transparent;
}

@media screen and (max-width: 767px) {
    .sec02__accordion .adlp-accordion__header.--img {
        width: calc(690 / 750 * 100vw);
        padding: 0 calc(30 / 750 * 100vw);
        margin-top: 0;
    }
}

.sec02__acc-text {
    color: #999;
    background: #DDF0F9;
    width: min(calc(1000 / 1080 * 100vw), 1000px);
    font-size: min(calc(12 / 1080 * 100vw), 12px);
    padding: min(calc(46 / 1080 * 100vw), 46px) min(calc(100 / 1080 * 100vw), 100px) 1px;
    margin: 0 auto -1px;
    line-height: 1.4;
}

@media screen and (max-width: 767px) {
    .sec02__acc-text {
        font-size: calc(20/ 750 * 100vw);
        padding: calc(39 / 750 * 100vw) calc(30 / 750 * 100vw) 1px;
    }
}

.sec02__acc-text a {
    color: #999;
    word-break: break-all;
    text-decoration: underline;
}


.sec02__accordion .adlp-accordion__body {
    position: relative;
}

@media screen and (max-width: 767px) {
    .sec02__accordion .adlp-accordion__body {
        padding: 0 calc(30 / 750 * 100vw);
    }
}

.sec02_link1 {
    position: absolute;
    top: min(calc(115 / 1080 * 100vw), 115px);
    left: min(calc(560 / 1080 * 100vw), 560px);
    width: min(calc(800 / 1080 * 100vw), 800px);
    height: min(calc(34 / 1080 * 100vw), 34px);
}

@media screen and (max-width: 767px) {
    .sec02_link1 {
        top: calc(254 / 750 * 100vw);
        left: calc(60 / 750 * 100vw);
        width: calc(589 / 750 * 100vw);
        height: calc(55 / 750 * 100vw);
    }
}

.sec02_link2 {
    position: absolute;
    top: min(calc(253 / 1080 * 100vw), 253px);
    left: min(calc(965 / 1080 * 100vw), 965px);
    width: min(calc(175 / 1080 * 100vw), 175px);
    height: min(calc(17 / 1080 * 100vw), 17px);
}

@media screen and (max-width: 767px) {
    .sec02_link2 {
        top: calc(690 / 750 * 100vw);
        left: calc(202 / 750 * 100vw);
        width: calc(277 / 750 * 100vw);
        height: calc(25 / 750 * 100vw);
    }
}

.sec02 .adlp-cta__btn {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    bottom: min(calc(60 / 1080 * 100vw), 60px);
    margin-top: min(calc(974 / 1080 * 100vw), 974px);
    width: min(calc(503 / 1080 * 100vw), 503px);
}

@media screen and (max-width: 767px) {
    .sec02 .adlp-cta__btn {
        bottom: calc(85 / 750 * 100vw);
        width: calc(694 / 750 * 100vw);
    }
}

.fv .fv__btn1 {
    display: block;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    bottom: min(calc(40 / 1080 * 100vw), 40px);
    width: min(calc(503 / 1080 * 100vw), 503px);
}

@media screen and (max-width: 767px) {
    .fv .fv__btn1 {
        bottom: calc(50 / 750 * 100vw);
        width: calc(694 / 750 * 100vw);
    }
}

footer:has(.l-footer-html-igniture-slim:first-child) {
    margin-top: 0;
    margin-bottom:  min(calc(106 / 1080 * 100vw), 106px);
}

@media screen and (max-width: 767px) {
    footer:has(.l-footer-html-igniture-slim:first-child) {
        margin-bottom: calc(122 / 750 * 100vw);
    }
}

.adlp-accordion__wrapper {
    display: flex;
    flex-direction: column;
    gap: min(calc(30 / 1080 * 100vw), 30px);
}
@media screen and (max-width: 767px) {
    .adlp-accordion__wrapper {
        gap: calc(30 / 750 * 100vw);
    }
}
.adlp-accordion__header {
    position: relative;
    z-index: 2;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

@media screen and (max-width: 767px) {
    .adlp-accordion__header {
        margin-top: calc(-40 / 750 * 100vw);
        padding-top: calc(40 / 750 * 100vw);
    }
}

.adlp-accordion__header img {
    display: block;
    width: min(calc(518 / 1080 * 100vw), 518px);
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .adlp-accordion__header img {
        width: calc(690 / 750 * 100vw);
    }
}
.adlp-accordion__header.--img > span:last-child {
    display: none;
}
.adlp-accordion__header.--img.--open > span:first-child {
    display: none;
}
.adlp-accordion__header.--img.--open > span:last-child {
    display: block;
}
.adlp-accordion__body {
    display: none;
    position: relative;
}
.adlp-accordion__body__inner {
    display: flex;
    align-items: flex-start;
    padding: min(calc(20 / 1080 * 100vw), 20px) min(calc(40 / 1080 * 100vw), 40px);
}
@media screen and (max-width: 767px) {
    .adlp-accordion__body__inner {
        padding: 0 calc(40 / 750 * 100vw) calc(40 / 750 * 100vw);
    }
}
.adlp-accordion__text {
    color: var(--base-666, #666);
    font-size: min(calc(12 / 1080 * 100vw), 12px);
}
@media screen and (max-width: 767px) {
    .adlp-accordion__text {
        color: var(--base-666, #666);
        font-size: calc(20 / 750 * 100vw);
        word-break: break-all;
    }
}
.adlp-accordion__text a {
    color: var(--base-666, #666);
    text-decoration: underline !important;
}

/*  cv
--------------------------------------------- */
.cv {
    position: relative;
}

.cv .adlp-cta__btn {
    width: min(calc(485 / 1080 * 100vw), 485px);
    display: block;
    position: absolute;
}

@media screen and (max-width: 767px) {
    .cv .adlp-cta__btn,
    .cv .adlp-cta__tel {
        width: calc(690 / 750 * 100vw);
        left: 50%;
        transform: translateX(-50%);
        display: block;
        position: absolute;
    }
}

.cv01 .adlp-cta__btn {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50% , 0);
    margin-top: min(calc(541 / 1080 * 100vw), 541px);
}

.cv01 .text-link {
    text-indent: -9999px;
    width: min(calc(34 / 1080 * 100vw), 34px);
    bottom: min(calc(290 / 1080 * 100vw), 290px);
    left: min(calc(1180 / 1080 * 100vw), 1180px);
}

@media screen and (max-width: 767px) {
    .cv01 .adlp-cta__btn {
        margin-top: calc(720 / 750 * 100vw);
        left: 50%;
    }

    .cv01 .adlp-cta__tel {
        top: 0;
        margin-top: calc(990 / 750 * 100vw);
    }

    .cv01 .text-link {
        width: calc(57 / 750 * 100vw);
        bottom: calc(437 / 750 * 100vw);
        left: calc(224 / 750 * 100vw);
    }
}

.cv02 .adlp-cta__btn {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    top: 0;
    margin-top: min(calc(974 / 1080 * 100vw), 974px);
    width: min(calc(503 / 1080 * 100vw), 503px);
}

.cv02 .text-link {
    bottom: min(calc(165 / 1080 * 100vw), 165px);
    left: min(calc(655 / 1080 * 100vw), 655px);
}

.cv02 .text-link.--n01 {
    top: min(calc(617 / 1080 * 100vw), 617px);
    left: min(calc(1141 / 1080 * 100vw), 1141px);
}

@media screen and (max-width: 767px) {
    .cv02 .adlp-cta__btn {
        margin-top: calc(1189 / 750 * 100vw);
        left: 50%;
        width: calc(694 / 750 * 100vw);
    }

    .cv02 .text-link {
        bottom: calc(410 / 750 * 100vw);
        left: calc(420 / 750 * 100vw);
    }

    .cv02 .text-link.--n01 {
        top: calc(878 / 750 * 100vw);
        left: calc(260 / 750 * 100vw);
    }
}

.cv03 .adlp-cta__btn {
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    margin-bottom: min(calc(95 / 1080 * 100vw), 95px);
    width: min(calc(503 / 1080 * 100vw), 503px);
}

.cv03 .text-link {
    text-indent: -9999;
    width: min(calc(34 / 1080 * 100vw), 34px);
    bottom: min(calc(318 / 1080 * 100vw), 318px);
    left: min(calc(1180 / 1080 * 100vw), 1180px);
}


@media screen and (max-width: 767px) {
    .cv03 .adlp-cta__btn {
        width: calc(694 / 750 * 100vw);
        margin-bottom: calc(148 / 750 * 100vw);
    }
    .cv03 .text-link {
        width: calc(57 / 750 * 100vw);
        bottom: calc(508 / 750 * 100vw);
        left: calc(227 / 750 * 100vw);
    }
}

.cv04 .adlp-cta__btn {
    left: 50%;
    top: min(calc(105 / 1080 * 100vw), 105px);
    transform: translateX(-50%);
    width: min(calc(503 / 1080 * 100vw), 503px);
}

@media screen and (max-width: 767px) {
    .cv04 .adlp-cta__btn {
        width: calc(694 / 750 * 100vw);
        top: calc(112 / 750 * 100vw);
    }
}


.cv:not(.cv03) {
    position: relative;
}

@media screen and (max-width: 767px) {
    .cv:not(.cv03) {

    }
}

.cv .adlp-accordion {
    width: min(calc(920 / 1080 * 100vw), 920px);
    margin: max(calc(82 / 1080 * -100vw), -82px) auto 0;
}

@media screen and (max-width: 767px) {
    .cv .adlp-accordion {
        width: calc(690 / 750 * 100vw);
        margin: calc(110 / 750 * -100vw) auto 0;
    }
}

.cv .adlp-accordion__header {
    width: min(calc(518 / 1080 * 100vw), 518px);
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .cv .adlp-accordion__header {
        width: 100%;
    }
}

.cv .adlp-accordion__body {
    margin-top: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
    .cv .adlp-accordion__body {
        margin-top: calc(60 / 750 * 100vw);
    }
}

/*  sec04
--------------------------------------------- */
.sec04 .sec04__cv,
.sec04 .adlp-accordion {
    background: #004098;
    padding: 0 0 min(calc(48 / 1080 * 100vw), 48px);
}

@media screen and (max-width: 767px) {
    .sec04 .adlp-accordion {
        width: 100%;
        padding: 0 0 calc(46 / 750 * 100vw);
    }
}

.sec04 .adlp-accordion__header {
    width: min(calc(518 / 1080 * 100vw), 518px);
    margin: 0 auto;
    padding: 0;
}

@media screen and (max-width: 767px) {
    .sec04 .adlp-accordion__header {
        width: calc(690 / 750 * 100vw);
        margin: 0 auto;
        padding: 0;
    }
}

.sec04 .adlp-accordion__body {
}

@media screen and (max-width: 767px) {
    .sec04 .adlp-accordion__body {
    }
}


.sec04 .adlp-cta__btn {
    width: min(calc(503 / 1080 * 100vw), 503px);
    display: block;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .sec04 .adlp-cta__btn {
        width: calc(694 / 750 * 100vw);
    }
}

/*  sec06
--------------------------------------------- */
.sec06 {
    position: relative;
}

.sec06 .adlp-accordion__wrapper {
    background: #004098;
    padding-bottom: min(calc(48 / 1080 * 100vw), 48px);
    margin-top: max(calc(82 / 1080 * -100vw), -82px);
}

.sec06 .text-link {
    bottom: min(calc(165 / 1080 * 100vw), 165px);
    left: min(calc(655 / 1080 * 100vw), 655px);
}

@media screen and (max-width: 767px) {
    .sec06 .adlp-accordion__wrapper {
        padding-bottom: calc(46 / 750 * 100vw);
        margin-top: calc(110 / 750 * -100vw);
    }

    .sec06 .text-link {
        bottom: calc(410 / 750 * 100vw);
        left: calc(420 / 750 * 100vw);
    }
}

.sec06 .adlp-accordion {
    margin: 0 auto;
    width: min(calc(920 / 1080 * 100vw), 920px);
}

@media screen and (max-width: 767px) {
    .sec06 .adlp-accordion {
        width: calc(690 / 750 * 100vw);
    }
}

.sec06 .adlp-accordion__header {
    width: min(calc(518 / 1080 * 100vw), 518px);
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .sec06 .adlp-accordion__header {
        width: calc(690 / 750 * 100vw);
        margin: 0 auto;
    }
}

.sec06 .adlp-accordion__body {
    margin-top: min(calc(40 / 1080 * 100vw), 40px);
    width: min(calc(920 / 1080 * 100vw), 920px);
}

@media screen and (max-width: 767px) {
    .sec06 .adlp-accordion__body {
        margin-top: calc(60 / 750 * 100vw);
        width: calc(690 / 750 * 100vw);
    }
}

.sec06 .adlp-accordion__body__inner {
    position: relative;
}

@media screen and (max-width: 767px) {
}

/*  sec08
--------------------------------------------- */
.sec08 {
    position: relative;
}

.sec08 .text-link {
    bottom: min(calc(114 / 1080 * 100vw), 114px);
    left: min(calc(1048 / 1080 * 100vw), 1048px);
}

@media screen and (max-width: 767px) {
    .sec08 .text-link {
        bottom: calc(150 / 750 * 100vw);
        left: calc(225 / 750 * 100vw);
    }
}

/*  sec09
--------------------------------------------- */
.sec09 {
    background: var(--base-grey_4, #f5f5f6);
    padding-bottom: min(calc(96 / 1080 * 100vw), 96px);
}

.sec09 .adlp-accordion {
    border-radius: min(calc(14 / 1080 * 100vw), 14px);
    background: #fff;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .sec09 .adlp-accordion {
        border-radius: calc(14 / 750 * 100vw);
    }
}

.sec09 .adlp-accordion__wrapper {
    width: min(calc(1000 / 1080 * 100vw), 1000px);
    margin: 0 auto;
    gap: min(calc(40 / 1080 * 100vw), 40px);
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 767px) {
    .sec09 .adlp-accordion__wrapper {
        width: calc(690 / 750 * 100vw);
        gap: calc(40 / 750 * 100vw);
    }
}

.sec09 .adlp-accordion__header img {
    width: 100% !important;
}

.sec09 .adlp-accordion__body-inner {
    position: relative;
}

.sec09 .adlp-accordion__body-inner .txt-anchor {
    position: absolute;
    display: block;
    width: min(calc(46 / 1080 * 100vw), 46px);
    aspect-ratio: 46/24;
    top: min(calc(43 / 1080 * 100vw), 43px);
    left: min(calc(330 / 1080 * 100vw), 330px);
}

@media screen and (max-width: 767px) {
    .sec09 .adlp-accordion__body-inner .txt-anchor {
        position: absolute;
        display: block;
        width: calc(88 / 750 * 100vw);
        aspect-ratio: 44/18;
        top: calc(44 / 750 * 100vw);
        left: calc(470 / 750 * 100vw);
    }
}

/*  sec10
--------------------------------------------- */
.sec10 {
    position: relative;
}

.sec10 .campaign_info {
    position: absolute;
    left: 50%;
    top: min(calc(200 / 1080 * 100vw), 200px);
    width: min(calc(982 / 1080 * 100vw), 982px);
    transform: translateX(-50%);
    aspect-ratio: 1000 / 370;
    overflow-y: scroll;
}

@media screen and (max-width: 767px) {
    .sec10 .campaign_info {
        top: calc(238 / 750 * 100vw);
        width: calc(690 / 750 * 100vw);
        transform: translateX(-50%);
        height: calc(900 / 750 * 100vw);
        overflow-y: scroll;
    }
}

.campaign_info__inner {
    position: relative;
}

@media screen and (min-width: 768px) {
    .campaign_info__inner {
        padding-bottom: min(calc(40 / 1080 * 100vw), 40px);
        background: var(--base-grey_4, #f5f5f6);
    }
}

.sec10 .campaign__btn {
    width: min(calc(590 / 1080 * 100vw), 590px);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: block;
}

@media screen and (max-width: 767px) {
    .sec10 .campaign__btn {
        width: calc(590 / 750 * 100vw);
        margin-left: calc(20 / 750 * -100vw);
    }
}

.sec10 .campaign__btn.--btn01 {
    top: min(calc(1033 / 1080 * 100vw), 1033px);
}

@media screen and (max-width: 767px) {
    .sec10 .campaign__btn.--btn01 {
        top: calc(2131 / 750 * 100vw);
    }
}

.sec10 .campaign__btn.--btn02 {
    bottom: min(calc(40 / 1080 * 100vw), 40px);
}

@media screen and (max-width: 767px) {
    .sec10 .campaign__btn.--btn02 {
        bottom: calc(28 / 750 * 100vw);
    }
}

@media screen and (max-width: 767px) {
    .sec10 .adlp-cta__tel {
        width: calc(670 / 750 * 100vw);
        display: block;
        margin-bottom: calc(265 / 750 * 100vw);
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
    }
}

/*  floating
--------------------------------------------- */
.adlp-floating {
    visibility: hidden;
    opacity: 0;
    transition:
        opacity 0.2s ease-out,
        visibility 0.2s ease-out;
    background: #fff;
    display: block;
    width: min(calc(1920 / 1080 * 100vw), 1920px);
    padding: min(calc(8 / 1080 * 100vw), 8px) 0;
    z-index: 90;
    position: fixed;
    bottom: 0;
}

@media screen and (max-width: 767px) {
    .adlp-floating {
        padding: calc(16 / 750 * 100vw) 0;
        width: 100%;
        min-width: auto;
    }
}

/* 表示状態 */
.adlp-floating.--show {
    visibility: visible;
    opacity: 1;
}

/* position:fixed状態 */
.adlp-floating.--fixed {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: min(calc(1920 / 1080 * 100vw), 1920px);
}

@media screen and (max-width: 767px) {
    .adlp-floating.--fixed {
        width: 100%;
    }
}

/* position:static状態（エリア内に配置） */
.adlp-floating.--static {
    position: static;
    left: auto;
    transform: none;
    bottom: auto;
}

.adlp-floating__inner {
    margin: 0 auto;
    width: min(calc(1080 / 1080 * 100vw), 1080px);
    display: flex;
    gap: min(calc(34 / 1080 * 100vw), 34px);
    align-items: center;
    justify-content: flex-start;
}

@media screen and (max-width: 767px) {
    .adlp-floating__inner {
        width: 100%;
        padding: 0 calc(30 / 750 * 100vw);
        gap: calc(10 / 750 * 100vw);
    }
}

.adlp-fl__btn.--btn01 {
    width: min(calc(292 / 1080 * 100vw), 292px);
    pointer-events: none;
}

@media screen and (max-width: 767px) {
    .adlp-fl__btn.--btn01 {
        width: calc(340 / 750 * 100vw);
        pointer-events: auto;
    }
}

.adlp-fl__btn.--btn02 {
    width: min(calc(500 / 1080 * 100vw), 500px);
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .adlp-fl__btn.--btn02 {
        width: calc(690 / 750 * 100vw);
    }
}

.adlp-cta__btn:hover,
.adlp-fl__btn:hover,
.campaign__btn:hover {
    opacity: 0.7;
}
