@charset "UTF-8";
*,:before,:after  {
    box-sizing: border-box;
    background-repeat: no-repeat
}
:before,:after  {
    text-decoration: inherit;
    vertical-align: inherit
}
:where(:root)  {
    cursor: default;
    line-height: 1.5;
    overflow-wrap: break-word;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%
}
:where(body)  {
    margin: 0
}
:where(h1)  {
    font-size: 2em;
    margin: .67em 0
}
:where(dl,ol,ul) :where(dl,ol,ul)  {
    margin: 0
}
:where(hr)  {
    color: inherit;
    height: 0
}
:where(nav) :where(ol,ul)  {
    list-style-type: none;
    padding: 0
}
:where(nav li):before  {
    content: "​";
    float: left
}
:where(pre)  {
    font-family: monospace,monospace;
    font-size: 1em;
    overflow: auto
}
:where(abbr[title])  {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}
:where(figure)  {
    margin: 0;
}
:where(b,strong)  {
    font-weight: bolder
}
:where(code,kbd,samp)  {
    font-family: monospace,monospace;
    font-size: 1em
}
:where(small)  {
    font-size: 80%
}
:where(audio,canvas,iframe,img,svg,video)  {
    vertical-align: middle
}
:where(iframe)  {
    border-style: none
}
:where(svg:not([fill]))  {
    fill: currentColor
}
:where(table)  {
    border-collapse: collapse;
    border-color: inherit;
    text-indent: 0
}
:where(button,input,select)  {
    margin: 0
}
:where(button,[type=button i],[type=reset i],[type=submit i])  {
    -webkit-appearance: button
}
:where(fieldset)  {
    border: 1px solid #a0a0a0
}
:where(progress)  {
    vertical-align: baseline
}
:where(textarea)  {
    margin: 0;
    resize: vertical
}
:where([type=search i])  {
    -webkit-appearance: textfield;
    outline-offset: -2px
}
::-webkit-inner-spin-button,::-webkit-outer-spin-button  {
    height: auto
}
::-webkit-input-placeholder  {
    color: inherit;
    opacity: .54
}
::-webkit-search-decoration  {
    -webkit-appearance: none
}
::-webkit-file-upload-button  {
    -webkit-appearance: button;
    font: inherit
}
:where(dialog)  {
    background-color: #fff;
    border: solid;
    color: #000;
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: fit-content
}
:where(dialog:not([open]))  {
    display: none
}
:where(details > summary:first-of-type)  {
    display: list-item
}
:where([aria-busy=true i])  {
    cursor: progress
}
:where([aria-controls])  {
    cursor: pointer
}
:where([aria-disabled=true i],[disabled])  {
    cursor: not-allowed
}
:where([aria-hidden=false i][hidden])  {
    display: initial
}
:where([aria-hidden=false i][hidden]:not(:focus))  {
    clip: rect(0,0,0,0);
    position: absolute
}
html,body  {
    min-height: 100vh
}
html  {
    display: flex;
    flex-direction: column;
    font-size: 62.5%;
}
@media only screen and (max-width: 1000px)  {
    html  {
        font-size: 01vw;
    }
}
@media only screen and (max-width: 767px)  {
    html  {
        font-size: 62.5%;
    }
}
body  {
    display: flex;
    flex-direction: column;
    font-family: "メイリオ", meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", arial, helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.75;
    background: #fff;
    color: #000;
    min-width: 320px;
    word-wrap: break-word;
    overflow-wrap: break-word
}
@media screen and (min-width: 768px),print  {
    body  {
        font-size:16px
    }
}
li  {
    list-style-type: none
}
a  {
    color: #000;
    text-decoration: none
}
a:hover,a:active,a:focus-visible  {

}
em  {
    font-style: normal;
    font-weight: 700
}
strong  {
    font-weight: 700
}
sup  {
    font-size: 12px
}
i  {
    font-style: italic
}
img  {
    display: block;
    max-width: 100%;
    height: auto
}
p,ul,ol,dl,dt,dd,table,h1,h2,h3,h4,h5,h6,blockquote,form  {
    margin: 0;
    padding: 0
}
dfn,cite  {
    font-style: normal
}
small  {
    font-size: 14px
}
table  {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}
input:not([type=checkbox]):not([type=radio]):not([type=number]),select,button,textarea  {
    -webkit-appearance: none;
    appearance: none;
    font-family: Noto Sans JP,Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,メイリオ,Meiryo,Arial,sans-serif
}
input[type=number]  {
    -webkit-appearance: none;
    -moz-appearance: textfield
}
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button  {
    -webkit-appearance: none;
    margin: 0
}
input[type=reset],input[type=image],input[type=submit],input[type=button],button,select  {
    cursor: pointer
}
button  {
    background: none;
    border-radius: 0;
    border: 0;
    padding: 0;
    line-height: 1.4
}
select::-ms-expand  {
    display: none
}
::placeholder  {
    color: #000;
    opacity: 1
}
:-ms-input-placeholder  {
    color: #000
}




.l-header_1  {
    min-height: 50px;
    padding: 14px 0px;
    background: #fff;
    border-bottom: solid 1px #ddd;
}
@media screen and (max-width: 767px)  {
    .l-header_1 {
        padding: 0px 0px 0px 5px;
        justify-content: space-between;
        border-bottom: none;
    }
}
.l-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1240px;
    padding: 0 2rem;
}
@media screen and (max-width: 767px)  {
    .l-header__inner {
        padding: 0;
    }
}
@media screen and (max-width: 767px)  {
    .l-header .c-btn-header  {
        display:none
    }
}
@media screen and (min-width: 768px),print  {
    .l-header  {
        background-color: #f5f5f5;
        box-shadow: 0 0 12px #0000001f;
        position: relative;
    }
}


/*footer*/
.c-container {
    max-width: 1110px;
    margin: 0 auto;
    padding: 0 2rem;
}
@media screen and (max-width: 980px)  {
    .c-container {
        padding: 0 1rem;
    }
}
.l-footer  {
    padding: 4rem 1.5rem 6rem;
    position: relative;
    background-color: #e5e5e5;
    font-size: 1.6rem;
}
@media screen and (max-width: 767px)  {
    .l-footer  {
        padding: 2rem 0 6rem 0;
        font-size: 1.3rem;
    }
}
.l-footer__inner {
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width: 767px)  {
    .l-footer__inner {
        flex-direction: column;
        align-items: center;
    }
    .l-footer__copyright {
        margin-top: 1rem;
    }
}
.l-footer__listItem  {
    display: inline-block;
    margin-right: 1.6rem;
}
@media screen and (max-width: 767px)  {
    .l-footer__listItem  {
        margin: 0 1.5rem;
    }
}

.l-footer__info {
    margin-bottom: 5rem;
    color: #505050;
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: center;
}
@media screen and (max-width: 767px) {
    .l-footer__info {
        margin-bottom: 3rem;
        font-size: 1.2rem;
    }
}


/*kv*/
.l-section-kv {
/*    background: url(../img/bg_kv.png), linear-gradient(90deg, rgb(14 21 37) 0%, rgb(18 31 57) 100%);*/
background-image: url(../img/bg_kv_left.png), /* 一番上：左画像 */ url(../img/bg_kv_right.png), /* 中間：右画像 */ linear-gradient(to right, #F89101, #FFBD52);
background-repeat: no-repeat, no-repeat, no-repeat;
background-position: left center, right center, center center;
background-size: contain, contain, cover;
    color: #FFF;
}
@media screen and (max-width: 767px)  {
    .l-section-kv {
        background: var(--color-primary-o1);
    }
}
.l-section-kv--wrap {
    max-height: 400px;
    margin: 0 auto;
}
@media screen and (max-width: 767px)  {
    .l-section-kv--wrap {
        max-height: inherit;
    }
}
.c-container-kv {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.5rem 2rem;
    height: 100%;
    position: relative;
}
@media screen and (max-width: 1100px)  {
    .c-container-kv {
        background-size: 400px auto;
    }
}
@media screen and (max-width: 767px)  {
    .c-container-kv {
        padding: 2.0rem 0 2.5rem 0;
    }
}

.l-section-kv--inner{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    position: relative;
}
.kv-text{
    width: 55%;
}
.kv-img{
    width: 45%;
    flex:1;
}
@media screen and (max-width: 767px)  {
    .kv-sp{
        max-width: 480px;
        margin: 0 auto;
    }
}



.l-section-kv__h1 {
    margin: 0 0 20px 0;
}
@media screen and (max-width: 767px)  {
    .l-section-kv__h1 {
    }
}
.l-section-kv__cta {
    display: flex;
    gap: 12px;
    position: absolute;
    bottom: 30px;
}
@media screen and (max-width: 1060px),print  {
    .l-section-kv__cta {
        bottom: 15px;
    }
}
@media screen and (max-width: 767px),print  {
    .l-section-kv__cta {
        position: relative;
        gap: 6px;
        align-items: center;
        max-width: 100%;
        justify-content: center;
        bottom: inherit;
        padding: 0 .8rem;
    }
}
.l-btn-inquiry__item {

}
@media screen and (max-width: 768px),print  {
    .l-btn-inquiry__item {
        max-width: 400px;
        width: 50%;
    }
}
.l-btn-kv-inquiry  {
    color: #fff;
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 12px 45px 12px 65px;
    border-radius: 100px;
    box-shadow:0 4px 6px rgb(0 0 0 / 35%);
    transition: color .3s,border-color .3s,background-color .3s;
    position: relative;
}
@media screen and (max-width: 768px),print  {
    .l-btn-kv-inquiry  {
        font-size: 2.0rem;
        padding: 12px 15px 12px 30px;
        position: relative;
    }
}
.l-btn-kv-icon-blank::after {
    background-image: url(../img/icon_blank_white.svg);
}
.l-btn-kv-inquiry .l-btn-kv-icon-blank {
    position: relative;
}
.l-btn-kv-inquiry .l-btn-kv-icon-blank::after {
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.3rem;
    height: 1.2rem;
    position: absolute;
    right: -2rem;
    top: 0;
    bottom: 0;
    margin: auto;
}
@media screen and (max-width: 768px),print  {
    .l-btn-kv-inquiry .l-btn-kv-icon-blank::after  {
        width: 1.0rem;
        height: 1.0rem;
        right: -1.5rem;
    }
}
.l-btn-kv-icon-contact::before,
.l-btn-kv-icon-trial::before {
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    width: 2.5rem;
    height: 2.5rem;
    position: absolute;
    left: -3.2rem;
    top: 0;
    bottom: 0;
    margin: auto;
}
@media screen and (max-width: 768px),print  {
    .l-btn-kv-icon-contact::before, .l-btn-kv-icon-trial::before  {
        width: 2.0rem;
        height: 2.0rem;
        left: -2.5rem;
    }
}
.l-btn-kv-icon-contact::before {
    background-image: url(../img/icon_contact_white.svg);
}
.l-btn-kv-icon-trial::before {
    background-image: url(../img/icon_trial_white.svg);
}
@media screen and (max-width: 767px),print  {
    .l-btn-kv-inquiry  {
        position: relative;
    }
}
@media screen and (max-width: 480px),print  {
    .l-btn-kv-inquiry  {
        font-size: 1.6rem;
    }
}



.l-section-anchor__inner  {
    margin: 0 auto;
    max-width: 1060px
}
@media screen and (min-width: 768px),print  {
    .l-section-anchor  {
        padding:0 15px;
        border-bottom: solid 1px #ddd;

    }
    .sticky_item{
        position: sticky;
        top: 0;
        z-index: 100;
        background-color: #f5f5f5;
    }
}



/*--------------------------
common
---------------------------*/
section{
    position: relative;
    z-index: 0;
}
.l-section__inner  {
    margin: 0 auto;
    max-width: 1100px;
    padding: 50px 15px;
}
@media screen and (min-width: 768px),print  {
    .l-section__inner  {
        padding: 70px 20px;
    }
}

/* section title */
.c-hdg-section  {
    font-size: 2.5rem;
    line-height: 1.5;
    font-weight: 700;
    text-align: center;
    position: relative;
    margin: 0 0 40px
}
.c-hdg-section::after  {
    display: block;
    position: absolute;
    content: "";
    background:linear-gradient(90deg, var(--main, #F89A01) 0%, #FFEB6C 49.04%, #68BBFF 100%);
    width: 40px;
    height: 5px;
    bottom: -15px;
    left: 0;
    right: 0;
    margin: auto
}
@media screen and (min-width: 768px),print  {
    .c-hdg-section  {
        font-size:4.0rem;
        line-height: 1.4;
        padding-top: 0px;
        margin-bottom: 60px
    }
    .c-hdg-section::after  {
        width: 50px;
        height: 5px;
        bottom: -20px;
    }
}

/* bg */
.bg-dod{
    background-image: url(../img/bg_dod.png);
    background-repeat: repeat;
}
@media screen and (max-width: 767px),print  {
    .bg-dod{
        background-size: 16px auto;
    }
}
.bg-circle::before{
    position: absolute;
    content: "";
    background-image: url(../img/bg_circle.png);
    background-size: contain;
    width: 30vw;
    height: 30vw;
    max-width: 370px;
    max-height: 370px;
    z-index: -1;
}
.bg-circle-lt::before{
    top: 0;
    left: 0;
}
.bg-circle-rt::before{
    top: 0;
    right: 0;
    transform: scaleX(-1);
}
.bg-circle-lb::before{
    bottom: 0;
    left: 0;
    transform: rotate(-90deg);
}
.bg-circle-rb::before{
    bottom: 0;
    right: 0;
    transform: rotate(-90deg) scaleX(-1);
}


/* text shadow */
.txt-shadow{
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.15);
}



/* ==================== */
/* custom property */
/* ==================== */
:root {
    --color-primary-b-old: #333;
    --color-primary-b: #0c0c0c;
    --color-deep-contrast: #fff;

    --color-primary-g1:#767676;
    --color-primary-g2:#F4F2F0;

    --color-primary-o1: #F89A01;
    --color-primary-o2: #E65722;
    --color-primary-o3: #FFEFDD;
    --color-primary-o4: #FEE1B7;

    --color-primary-b1: #1277C9;
    --color-primary-b2: #5EB1F5;
}

/* color */
.color-o1{
    color: var(--color-primary-o1);
}
.color-o2{
    color: var(--color-primary-o2);
}
.color-b1{
    color: var(--color-primary-b1);
}


/* bg color */
.bg-color-o3{
    background: var(--color-primary-o3);
}

.bg-color-g2{
    background: var(--color-primary-g2);
}

/* リスト */
.c-list{
    padding-left: 20px;
}
.c-list li{
    list-style-type: disc;
    font-size:1.6rem;
}

/* font wight */
.fw-bold{
    font-weight: bold;
}



/*--------------------------
intro
---------------------------*/
.l-section-intro .l-section__inner {
   padding-top: 110px;
}
@media screen and (max-width: 767px)  {
    .l-section-intro .l-section__inner {
        padding-top: 70px;
     }
}

.l-section-intro__contents  {
    display: flex;
    flex-wrap: nowrap;
    gap: 32px;
}
@media screen and (max-width: 767px)  {
    .l-section-intro__contents  {
        margin: 0 auto;
        flex-direction: column;
        gap: 60px;
        max-width: 480px;
    }
}
.l-section-intro__box  {
    width: 33.3%;
    padding: 6rem 1rem 4rem;
    background: #fff;
    border:4px solid var(--color-primary-o1);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    justify-content: space-between;
}
@media screen and (max-width: 767px)  {
    .l-section-intro__box  {
        width: 100%;
        padding: 4rem 1rem 3rem;
        gap: 10px;
    }
}

/* merit number */
.l-section-intro__number{
    position: absolute;
    top: -45px;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--color-primary-o1);
    color: #fff;
    width: 9rem;
    height: 9rem;
    border-radius: 90px;
    text-align: center;
    justify-content: center;
    gap: 5px;
    padding-top: 8px;
}
.l-section-intro__number span{
    display: block;
    line-height: 100%;
}
.l-section-intro__number .number_title{
    font-size: 1.7rem;
}
.l-section-intro__number .number_count{
    font-size: 3.2rem;
}
@media screen and (max-width: 767px)  {
    .l-section-intro__number{
        width: 7rem;
        height: 7rem;
        gap: 0;
    }
    .l-section-intro__number .number_title{
        font-size: 1.3rem;
        margin-bottom: 3px;
    }
    .l-section-intro__number .number_count{
        font-size: 2.6rem;
    }
}


.l-section-intro__box + .l-section-intro__box  {
}
@media screen and (max-width: 767px)  {
    .l-section-intro__box + .l-section-intro__box {
    }
}
.l-section-intro__title {
    line-height: 1.6;
    text-align: center;
}
.l-section-intro__title span{
    display: block;
    line-height: 1.4;
}
.l-section-intro__title .title_sub{
    font-size: 1.8rem;
    color: var(--color-primary-o2);
    margin-bottom: 8px;
}
.l-section-intro__title .title_main{
    font-size: 2.6rem;
}
@media screen and (max-width: 767px)  {
    .l-section-intro__title .title_sub{
        margin-bottom: 5px;
    }
    .l-section-intro__title .title_main{
        font-size: 2.5rem;
    }
.img-merit{
    max-width: 200px;
    }
}



/*--------------------------
l-section-a：イノベーション
---------------------------*/
.l-section-a__contents  {
}
@media screen and (max-width: 767px)  {
    .l-section-a__contents  {
        margin: 0 auto;
    }
}


/* 下向き三角 */
.a__contents-area li{
    position: relative;
    margin-bottom: 60px;
}
.a__contents-area li:last-of-type{
    margin-bottom: 0;
}
.a__contents-area li::after{
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: var(--color-primary-g1) transparent transparent transparent;
    border-width: 26px 40px 0px 40px;
    bottom: -40px;
    left: 0;
    right: 0;
    margin: auto;
}
.a__contents-area li:last-of-type::after{
    content:none;
}

@media screen and (max-width: 767px)  {
    .a__contents-area li::after{
        border-width: 20px 40px 0px 40px;
    }
}


/* a__contents-01 */
.a__contents-01{
    display: flex;
    gap: 15px;
    justify-content: center;
    position: relative;
    align-items: center;
    flex-direction: row-reverse;
}
.a__contents-01 .bubble_text{
    position: relative;
    display: inline-block;
    margin-left: 20px;
    padding: 20px;
    border-radius: 6px;
    background-color: #ffffff;
    text-align: left;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: #000000;
}
.a__contents-01 .bubble_text::after {
    content: "";
    position: absolute;
    top: 40%;
    left: 0;
    border-style: solid;
    border-width: 9px 24px 9px 0;;
    border-color: transparent #ffffff transparent transparent;
    translate: -100% -50%;
    transform: skew(0, 15deg);
    transform-origin: right;
  }
  .bubble_text p{
    font-size: 1.6rem;
    line-height: 1.5;
  }

@media screen and (max-width: 767px)  {
    .a-01-img{
        width: 120px;
    }
    .a__contents-01{
        flex-direction: column;
        gap: 5px;
    }
    .a__contents-01 .bubble_text{
        margin: 0 0 20px 0;
    }
    .a__contents-01 .bubble_text::after {
        bottom: 0;
        top: inherit;
        left: 50%;
        border-width: 20px 11px 0 11px;
        translate: -50% 100%;
        border-color: #ffffff transparent transparent;
    }
}


/* a__contents-02 */
.a__contents-02{
    
}
.a__content-02-ttl{
    background: var(--color-primary-o1);
    color: var(--color-deep-contrast);
    text-align: center;
    font-size: 2.8rem;
    padding: 13px 15px 11px 15px;
    line-height: 1.3;
    border-radius: 10px 10px 0 0;
}
.a__contents-02-main{
    background: var(--color-deep-contrast);
    border-radius: 0 0 10px 10px;
    padding: 4rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}
.a__contents-02-main p{
    font-weight: bold;
    text-align: center;
    font-size: 2.0rem;
    line-height:1.5;
}
@media screen and (max-width: 767px)  {
    .a__content-02-ttl{
        font-size: 2.2rem;
    }
    .a__contents-02-main{
        padding: 2rem;
        gap: 1.5rem;
    }
    .a__contents-02-main p{
        font-size: 1.8rem;
        text-align: left;
    }
}


/* a__contents-02 */
@media screen and (max-width: 767px)  {
    .a-02-img img{
        max-width: 400px;
        margin: 0 auto;
        width: 100%;

    }
    .a__contents-03 {
        margin-top: -20px;
    }
}


/* a__contents-03 */
.a__contents-03{
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    margin-top: -30px;
}
.a-03-01-img{
    padding-left: 40px;
    box-sizing: content-box;
}
@media screen and (max-width: 767px)  {
    .a-03-01-img{
        padding-left: 15px;
    }
}



/*--------------------------
l-section-b
---------------------------*/
.l-section-b  {
    position: relative;
    z-index: 0;
}
.l-section-b .l-section__inner{
    padding-bottom: 10px;
}

.l-section-b__contents  {
    display: flex;
    flex-wrap: nowrap;
    gap: 3.2rem;
    padding-left: 40px;
}
@media screen and (max-width: 767px)  {
    .l-section-b__contents  {
        margin: 0 auto;
        flex-direction: column;
        padding-left: 35px;
        max-width: 480px;
    }
}
.l-section-b__contents_list{
    width: 25%;
}
.l-section-b__contents_list h3{
    text-align: center;
    font-size: 2.2rem;
}
@media screen and (max-width: 767px)  {
    .l-section-b__contents_list{
        width: 100%;
        flex-direction: row;
        gap: 15px;
    }
    .l-section-b__contents_list h3{
        font-size: 1.8rem;
    }
}

.l-section-b__box  {
    padding: 3.0rem 1.5rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-direction: column;
}
@media screen and (max-width: 767px)  {
    .l-section-b__box  {
        width: 100%;
        flex-direction: row;
        padding: 2rem 2rem 2rem 1.5rem ;
        gap: 10px;
        align-items: center;
    }
}
.l-section-b__box_Issues{
    background: var(--color-primary-g1);
    position: relative;
    margin-bottom: 25px;
}
@media screen and (max-width: 767px)  {
    .l-section-b__box_Issues {
        margin-bottom: 15px;
    }
}
.l-section-b__contents_list .l-section-b__box_Issues::before{
    content: "課題";
    left: -30px;
    position: absolute;
    writing-mode: vertical-rl;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: auto;
    display: table;
    color: var(--color-primary-g1);
    font-size: 2.8rem;
    font-weight: bold;
}

.l-section-b__box_Issues::after{
    content: "";
    position: absolute;
    bottom: -17px;
    left: 0;
    right: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: var(--color-primary-g1) transparent transparent transparent;
    border-width: 20px 30px 0px 30px;
}
@media screen and (max-width: 767px)  {
    .l-section-b__box_Issues::after{
        bottom: -10px;
        border-width: 20px 25px 0px 25px;
    }
}

.l-section-b__box_answer{
    background: var(--color-primary-o1);
    position: relative;
}
.l-section-b__contents_list .l-section-b__box_answer::before{
    content: "解決";
    left: -30px;
    position: absolute;
    writing-mode: vertical-rl;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: auto;
    display: table;
    color: var(--color-primary-o1);
    font-size: 2.8rem;
    font-weight: bold;
}
@media screen and (max-width: 767px)  {
    .l-section-b__box::before{
        left: -20px !important;
        font-size: 1.8rem !important;
    }
}

.l-section-b__contents_list:not(:first-of-type) .l-section-b__box_Issues::before,
.l-section-b__contents_list:not(:first-of-type) .l-section-b__box_answer::before{
    content: none;
}
@media screen and (max-width: 767px)  {
    .l-section-b__contents_list:not(:first-of-type) .l-section-b__box_Issues::before{
        content: "課題";
    }
    .l-section-b__contents_list:not(:first-of-type) .l-section-b__box_answer::before{
        content: "解決";
    }
}


.l-section-b__title {
    font-size: 1.8rem;
    color: #fff;
    text-align: center;
    line-height: 1.5;
}
.l-section-b__img {
}
.l-section-b__img img {
    margin: auto;
}

.l-section-b-message{
    margin-top: 30px;
}
.l-section-b-message p{
    font-size: 3.6rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}
@media screen and (max-width: 767px)  {
    .l-section-b__img{
        width: 100px;
    }
    .l-section-b__title {
        text-align: left;
        font-size: 1.6rem;
        flex: 1;
    }
    .l-section-b-message p{
        font-size: 2rem;
    }
}


.section-round{
    background: url(../img/bg_round.svg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 130px;
    background-position: center top;
    margin-bottom: -1px;
}
@media screen and (max-width: 767px)  {
    .section-round{
        height: 50px;

        background-color: var(--color-primary-o3); /* 背景色 */
        background-image: url('../img/bg_round.svg'); /* 背景画像 */

        background-size: 100% auto;
    }
}
@media screen and (min-width: 1600px)  {
    .section-round{
        height: 180px;
    }
}


/*--------------------------
l-section-c：仕組み
---------------------------*/
.l-section-c  {
}
.l-section-c .l-section__inner{
    padding-top: 10px;
}

.l-section-c__contents  {
    background: var(--color-deep-contrast);
    padding:4rem;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
@media screen and (max-width: 767px)  {
    .l-section-c__contents  {
        margin: 0 auto;
        flex-direction: column;
        margin-top: 50px;
        padding:3rem 2rem;
    }
}

.l-section-c__contents .c-lead{
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 25px;
}
@media screen and (max-width: 767px)  {
    .l-section-c__contents .c-lead{
        font-size: 1.8rem;
    }
}
@media screen and (max-width: 767px)  {
.l-section-c__contents .c-img img{
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
    }
}
.c-img-02 img{
    margin: 0 auto;
}
@media screen and (max-width: 767px)  {
    .c-img-02 img{
        margin: 0 auto;
        max-width: 300px;
        width: 100%;
    }
}

.l-section-c__contents .c-text{
    font-size: 1.5rem;
    margin-top: 10px;
}
@media screen and (max-width: 767px)  {
    .l-section-c__contents .c-text{
        text-align: left;
        margin-top: 20px;
    }
}

/* スキル説明 */
.l-section-c__contents .c-aside{
    background: #F0EFEF;
    margin-top: 15px;
    border-radius: 10px;
    width: 100%;
    padding: 2rem;;
}

/* 注釈 */
.l-section-c__contents .c-small{
    margin-top: 20px;
    font-size: 1.3rem;
}
@media screen and (max-width: 767px)  {
    .l-section-c__contents .c-small{
        text-align: left;
    }
}



/*--------------------------
l-section-dl：download
---------------------------*/
.l-section-dl__contents{
    background: #E5F3FF;
    border-radius: 10px;
    padding: 0 50px;
    margin-top: 32px;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 767px)  {
    .l-section-dl__contents{
        padding: 0 20px;
    }
}

/* 左上の三角 */
.l-section-dl__contents::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 100px solid #7DC4FF; 
    border-right: 100px solid transparent;
    z-index: 0;
    pointer-events: none;
    border-top-left-radius: 10px;
}

/* 右下の三角 */
.l-section-dl__contents::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 100px solid #7DC4FF;
    border-left: 100px solid transparent;
    z-index: 0;
    pointer-events: none;
    border-bottom-right-radius: 10px;
}

.dl-box{
    display: flex;
    justify-content: center;
    gap: 2rem;
    align-items: center;
}
@media screen and (max-width: 767px)  {
    .dl-box{
        flex-direction: column;
        padding: 30px 0;
        gap: 1rem;
        z-index: 1;
        position: relative;
    }
}


.l-section-dl__contents img{
    position: relative;
    bottom: -25px;
    z-index: 2;
}
@media screen and (max-width: 994px)  {
    .l-section-dl__contents img{
        width: 40%;
    }
}
@media screen and (max-width: 767px)  {

    .l-section-dl__contents img {
        bottom: inherit;
        width: 70%;
        max-width: 300px;
    }
  }

.dl-lead{
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
}
.dl-lead::before {
    content: "＼";
    margin-right: 5px;
  }
  .dl-lead::after {
    content: "／";
    margin-left: 5px;
  }
@media screen and (max-width: 767px)  {
  .dl-lead {
    font-size: 2.0rem;
  }
}

  /* dl btn */
.dl-box-btn{
    width: 50%;
}
.c-btn-download {
    background-color: var(--color-primary-o1);
    box-shadow: 0 4px 0 0 #C07700;
    transition: .3s;
}
.c-btn-download:hover{
    opacity: .8;
}
.c-btn-icon-download::before {
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    width: 3rem;
    height: 3rem;
    position: absolute;
    left: -4rem;
    top: 0;
    bottom: 0;
    margin: auto;
    background-image: url(../img/icon_download_white.svg);
}
@media screen and (max-width: 767px)  {
    .dl-box-btn {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .c-btn-download {
        margin-top: 0 !important;
    }
}



/*--------------------------
l-section-d
---------------------------*/
.l-section-d  {

}
.l-section-d__contents{
    display: flex;
    position: relative;
}
.l-section-d__contents::after{
    content: "";
    position: absolute;
    top: 50px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-image: url(../img/img-section-d-05.png);
    width: 170px;
    height: 170px;
    background-size: cover;
}
@media screen and (max-width: 767px)  {
    .l-section-d__contents{
        flex-direction: column;
        gap: 20px;
        max-width: 480px;
        margin: auto;
    }
    .l-section-d__contents::after{
        content: none;
        width: 100px;
        height: 100px;
        left: inherit;
        right: -10px;
        top: 0;
    }
}


.l-section-d__contents_column{
    width: 50%;
    padding: 4rem;
}
.d-column-ttl{
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 10px;
}
@media screen and (max-width: 767px)  {
    .l-section-d__contents_column{
        width: 100%;
        padding: 2rem 1.5rem;
    }
    .d-column-ttl{
        font-size: 2.0rem;
    }
}
/* 組織・経営部門 */
.d-management{
    border-radius: 10px 0 0 10px;
    background: #FDD395;
}
@media screen and (max-width: 767px)  {
    .d-management{
        border-radius: 10px;
    }
}

/* 社員 */
.d-employee{
    border-radius: 0 10px 10px 0;
    background: var(--color-primary-o3);
}
@media screen and (max-width: 767px)  {
    .d-employee{
        border-radius: 10px;
    }
}

/* 各box*/
.d-column_box{
    display: flex;
    gap: 2rem;
    flex-direction: column;
}
.d-column_list{
    background: var(--color-deep-contrast);
    border-radius: 10px;
    display: flex;
    gap: 15px;
    padding: 20px;
    align-items: flex-start;
}
.d-column_list_text_box{
    display: flex;
    flex-direction: column;
    gap:5px;
}
.d-column_list_ttl{
    font-size: 1.8rem;
}
@media screen and (max-width: 767px)  {
    .d-column_box{
        gap: 1rem;
    }
    .d-column_list{
        flex-direction: column;
        align-items: center;
        gap: 10px;
        position: relative;
    }
    .d-column_list_ttl{
        text-align: center;
    }
}



/*--------------------------
l-section-e
---------------------------*/
.l-section-e .l-section__inner  {
    max-width: 1190px;
    padding-bottom: 0;
}

/* jirei main img */
.e__contents_title{
    max-width: 1060px;
    margin: auto;
    background: var(--color-deep-contrast);
    border: 1px solid #E5E5E5;
    display: grid;
    align-items: center;
    margin-bottom: 35px;
    grid-template-columns: repeat(2, 1fr);
}
.e__contents_title h3{
    font-size: 2.4rem;
    margin: 0 auto;
}
@media screen and (max-width: 767px)  {
    .e__contents_title{
        display: flex;
        flex-direction: column;
        margin-bottom: 20px;
    }
    .e__contents_title img{
        width: 100%;
    }
    .e__contents_title h3{
        font-size: 1.8rem;
        margin: 15px auto;
    }
}

/* grid layout */
.l-section-e__contents  {
    background-image: linear-gradient(transparent 0 50%, var(--color-primary-o3) 50% 100%);
}
.l-section__inner_grid{
    max-width: 1150px;
    margin: auto;
    padding: 0 15px;
}
@media screen and (max-width: 767px)  {
    .l-section-e__contents  {
        background-image: linear-gradient(transparent 0 80%, var(--color-primary-o3) 80% 100%);
    }
}
.grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px 50px;
    padding: 0 40px 40px 40px;
    background: #fff;
}

.grid-item1, .grid-item2 {
}
.grid-item3 {
grid-column: 1 / -1;
}
  
@media (max-width: 767px) {
    .grid-container {
        grid-template-columns: 1fr;
        padding: 0 25px 25px 25px;
    }
    .grid-item3 {
        grid-column: auto;
    }
}


/* jirei title*/
.e-box-ttl{
    font-size: 2.0rem;
    position: relative;
    padding: 0px 0 8px 0px;
    margin-bottom: 15px;
}
.e-box-ttl::before{
    content: "";
    width: 100%;
    height: 4px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #EFEFEF;
}
.e-box-ttl::after{
    content: "";
    width: 100px;
    height: 4px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: var(--color-primary-o1);
}
@media (max-width: 767px) {
    .e-box-ttl{
        font-size: 1.8rem;
    }
}

/* grid-item3 */
.grid-item3 p{
    font-size: 1.6rem;
}
.grid-item3 span{
    font-weight: bold;
}



/* voice */
.l-section-e-voice .l-section__inner{
    padding-top: 60px;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
@media screen and (max-width: 767px)  {
    .l-section-e-voice .l-section__inner{
        padding-top: 40px;
    }
}

/* voice title */
.e-section-ttl{
    font-size: 3.0rem;
    margin-bottom: 25px;
}
@media screen and (max-width: 767px)  {
    .e-section-ttl{
        font-size: 2.0rem;
        margin-bottom: 10px;
    }
}

/* gridlayout */
.grid-col3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3列 */
    gap: 30px 20px;
  }
  
  .col3-item {
    box-sizing: border-box;
  }
  
@media screen and (max-width: 767px)  {
    .grid-col3 {
        grid-template-columns: 1fr; /* 1列にする */
        grid-template-columns:repeat(2, 1fr);
        gap: 30px 15px;
    }
}

/*　voice */
.voice_wrap{
    padding-bottom: 30px;
}
.bubble_text_voice{
    position:relative;
    padding: 30px 15px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.voice_wrap .bubble_text_voice:nth-of-type(even){
    background: var(--color-deep-contrast);
}
.voice_wrap .bubble_text_voice:nth-of-type(odd){
    background: var(--color-primary-o4);
}
.bubble_text_voice::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 20px 11px 0 11px;
    translate: -50% 100%;
    transform-origin: top;
}

.voice_wrap .bubble_text_voice:nth-of-type(even)::after{
    border-color: var(--color-deep-contrast) transparent transparent;
}
.voice_wrap .bubble_text_voice:nth-of-type(odd)::after{
    border-color: var(--color-primary-o4) transparent transparent;
}
.voice_wrap .bubble_text_voice:nth-of-type(1)::after,
.voice_wrap .bubble_text_voice:nth-of-type(2)::after,
.voice_wrap .bubble_text_voice:nth-of-type(4)::after{
    transform: skew(40deg);
}
.voice_wrap .bubble_text_voice:nth-of-type(3)::after,
.voice_wrap .bubble_text_voice:nth-of-type(5)::after,
.voice_wrap .bubble_text_voice:nth-of-type(6)::after{
    transform: skew(-40deg);
}

.bubble_text_voice p{
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.5;
}
@media screen and (max-width: 1110px) and (min-width: 768px) {
    .bubble_text_voice p{
        text-align: left;
    }
}
@media screen and (max-width: 767px)  {
    .bubble_text_voice{
        padding: 22px 20px;
    }
    .voice_wrap .bubble_text_voice:nth-of-type(2),
    .voice_wrap .bubble_text_voice:nth-of-type(3),
    .voice_wrap .bubble_text_voice:nth-of-type(6){
        background: var(--color-deep-contrast);
    }
    .voice_wrap .bubble_text_voice:nth-of-type(1),
    .voice_wrap .bubble_text_voice:nth-of-type(4),
    .voice_wrap .bubble_text_voice:nth-of-type(5){
        background: var(--color-primary-o4);
    }
    .voice_wrap .bubble_text_voice:nth-of-type(1)::after,
    .voice_wrap .bubble_text_voice:nth-of-type(4)::after,
    .voice_wrap .bubble_text_voice:nth-of-type(5)::after{
        border-color: var(--color-primary-o4) transparent transparent;
        transform: skew(40deg);
    }
    .voice_wrap .bubble_text_voice:nth-of-type(2)::after,
    .voice_wrap .bubble_text_voice:nth-of-type(3)::after,
    .voice_wrap .bubble_text_voice:nth-of-type(6)::after{
        border-color: var(--color-deep-contrast) transparent transparent;
        transform: skew(-40deg);
    }
    .bubble_text_voice p{
        text-align: left;
        font-size: 1.5rem;
        line-height: 1.5;
    }
}



/*--------------------------
l-section-f：reason
---------------------------*/
.l-section-f__contents  {
    display: flex;
    flex-wrap: nowrap;
    gap: 3.2rem;
}
@media screen and (max-width: 767px)  {
    .l-section-f__contents  {
        max-width: 480px;
        margin: 0 auto;
        flex-direction: column;
        gap: 2rem;
    }
}
.l-section-f__box  {
    width: 33.3%;
    display: flex;
    padding: 4rem 1.6rem;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    border-radius: 10px;
    border: 4px solid var(--color-primary-o1);
    background: var(--color-primary-o3);
}
@media screen and (max-width: 767px)  {
    .l-section-f__box  {
        width: 100%;
        padding: 3rem 2rem;
        gap: 1.5rem;
    }
}

/* icon */
.l-section-f__img img {
    margin: auto;
}
@media screen and (max-width: 767px)  {
    .l-section-f__img {
        width: 120px;
    }
}

/* title */
.l-section-f__title {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
@media screen and (max-width: 767px)  {
    .l-section-f__title {
        font-size: 2.0rem;
        gap: 1rem;
    }
}
.l-section-f__title span{
    display: block;
    line-height: 100%;
}
.l-section-f__title .number_count{
    color: var(--color-primary-g1);
    font-size: 1.6rem;
}
.l-section-f__title .l-section-f__title_main{
    font-size: 2.4rem;
    line-height: 1.4;
}
@media screen and (max-width: 767px)  {
    .l-section-f__title .number_count{
        font-size: 1.5rem;
    }
    .l-section-f__title .l-section-f__title_main{
        font-size: 2.2rem;
        gap: 1rem;
    }
}

/* text */
.l-section-f__txt {
    font-size: 1.6rem;
    line-height: 1.6;
}
.l-section-f__txt span{
    font-weight: bold;
}
@media screen and (max-width: 767px)  {
    .l-section-f__txt {
        font-size: 1.6rem;
    }
}



/*--------------------------
l-section-g：service
---------------------------*/
.l-section-g .l-section__inner{
    max-width: 940px;
}
@media screen and (max-width: 767px)  {
    .l-section-g__contents{
        max-width: 480px;
        margin: 0 auto;
    }
}
.section-g-box{
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-weight: bold;
    border-width: 2px;
    border-style: solid;
}
.section-g-title{
    font-size: 3.0rem;
    position: relative;
    display: inline-block;
    padding-left: 50px;
}
.section-g-box p{
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.5;
}
@media screen and (max-width: 767px)  {
    .section-g-title{
        font-size: 2.0rem;
        margin-bottom: 10px;
        padding-left: 45px;
    }
    .section-g-box p{
        font-size: 1.6rem;
    }
}


/* trial */
.section-g-trial{
    margin-bottom: 32px;
    background: var(--color-deep-contrast);
}
.section-g-trial .section-g-box{
    border-color: #3AB951;
    color: #3AB951;
}
.section-g-trial .section-g-box a{
    color: #3AB951;
    
    padding: 40px 20px;
    width: 100%;
    text-align: center;
}
.section-g-trial .section-g-title{
    padding-right: 25px;
    text-decoration: underline;
}
.section-g-trial .section-g-box a:hover h3,
.section-g-trial .section-g-box a:hover p{
    text-decoration: none !important;
}
.section-g-trial .section-g-box a:hover{
    background: #dff3e2;
    border-radius: 10px;
}
@media screen and (max-width: 767px)  {
    .section-g-trial{
        margin-bottom: 15px;
    }
    .section-g-trial .section-g-box a{
        padding:30px 20px;
    }
}


/* plan */
.section-g-plan{
    display: flex;
    gap: 35px;
}

.section-g-plan .section-g-box{
    width: 50%;
    border-color: var(--color-primary-o1);
    background: var(--color-primary-o3);
    padding: 40px 20px;
}

@media screen and (max-width: 767px)  {
    .section-g-plan {
        flex-direction: column;
        gap: 15px;
    }
    .section-g-plan .section-g-box{
        padding: 30px 20px;
        width: 100%;
    }
}

/* icon */
.g-icon::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 45px;
    height: 45px;
    background-size: cover;
}
.icon-trial::before{
    background-image: url(../img/icon-trial.png);
}
.icon-calendar::before{
    background-image: url(../img/icon-calendar.png);
}
.icon-graph::before{
    background-image: url(../img/icon-graph.png);
}
@media screen and (max-width: 767px)  {
    .g-icon::before{
        width: 35px;
        height: 35px;
    }
}
/* trial blank */
.icon-trial::after{
    background-image: url(../img/icon_blank_green.png);
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 16px;
    height: 14px;
    background-size: cover;
}


/*--------------------------
faq
---------------------------*/
.l-section-faq  {
}
.l-section-faq__contents{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    max-width: 900px;
    margin: 0 auto;
}

.l-section-faq__contents .accordion {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.03);
}
.l-section-faq__contents .accordion:last-of-type {
    margin-bottom: 0;
}
.l-section-faq__contents .accordion .accordion_ttl  {
    margin: 0;
    cursor: pointer;
    position: relative;
    padding: 25px 30px;
    transition: opacity .3s;
}
.l-section-faq__contents .accordion .accordion_ttl:hover{
  opacity: .6;
}
.l-section-faq__contents .accordion.open .accordion_ttl {
    padding: 25px 30px;
}
.l-section-faq__contents .accordion .accordion_ttl h3 {
    font-size: 1.8rem;
    position: relative;
    padding-left: 60px;
    padding-right: 30px;
}
.l-section-faq__contents .accordion .accordion_ttl h3::before  {
    content: "Q";
    color: #fff;
    background: var(--color-primary-o1);
    font-size: 2.2rem;
    width: 40px;
    height: 40px;
    display: inline-flex;
    left: 0;
    position: absolute;
    top: -5px;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    border-radius: 50px;
    line-height: 2;
}
.l-section-faq__contents .accordion-content  {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.4s ease;
    position: relative;
    padding-left: 50px;
}
.l-section-faq__contents .accordion-content::before  {
    content: "A";
    color: #fff;
    background: var(--color-primary-b2);
    font-size: 2.2rem;
    width: 40px;
    height: 40px;
    display: inline-flex;
    left: 30px;
    position: absolute;
    top: 20px;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    border-radius: 50px;
    line-height: 2;
}
.l-section-faq__contents .accordion-content-inner p {
    margin-bottom: 20px;
    word-break: break-all;
}

.l-section-faq__contents .accordion-content-inner .faq_plan{
    display: flex;
    flex-wrap: nowrap;
    font-size: 1.6rem;
}
.l-section-faq__contents .accordion-content-inner .faq_plan dt{
    width: 165px;
}
.l-section-faq__contents .accordion-content-inner .faq_plan dd{
    flex:1;
}
@media screen and (max-width: 767px)  {
    .l-section-faq__contents .accordion-content-inner .faq_plan{
        flex-direction: column;
        margin-bottom: 20px;
    }
    .l-section-faq__contents .accordion-content-inner .faq_plan:last-of-type{
        margin-bottom: 0;
    }
    .l-section-faq__contents .accordion-content-inner .faq_plan dt{
        width: 100%;
    }
}


.l-section-faq__contents .accordion-content-inner p:last-of-type {
    margin-bottom: 0px;
    padding-left: 0;
}
.l-section-faq__contents .accordion.open .accordion-content  {
    opacity: 1;
    padding: 25px 30px 25px 90px;
    position: relative;
}

.l-section-faq__contents .accordion.open .accordion-content::after{
    content: "";
    width: 95%;
    height: 1px;
    background: #D9D9D9;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.l-section-faq__contents .accordion .accordion_ttl h3::after {
    content:"";
    position: absolute;
    right:0;
    top:0;
    background: #888;
    width: 18px;
    height: 18px;
    border-radius: 30px;
    bottom: 0;
    margin: auto;
}
.l-section-faq__contents .accordion.open .accordion_ttl h3::after {
    background: var(--color-primary-g1);
}
/* ＋/− アイコン（CSSで描画） */
.l-section-faq__contents .arrow_icon::before,
.l-section-faq__contents .arrow_icon::after  {
    content: "";
    position: absolute;
    top: 50%;
    right: 34px;
    width: 10px;
    height: 2px;
    background: #fff;
    transition: opacity 0.3s ease;
    z-index: 1;
}
/* ::before → 横棒（常に表示） */
.l-section-faq__contents .arrow_icon::before  {
    transform: translateY(-50%);
}
/* ::after → 縦棒（開いたときは非表示にして「−」に） */
.l-section-faq__contents .arrow_icon::after  {
    transform: translateY(-50%) rotate(90deg);
}
.l-section-faq__contents .accordion.open .arrow_icon::after  {
    opacity: 0;
}
.l-section-faq__contents .accordion-content  {
    padding-left: 40px;
}
.l-section-faq__contents .accordion-content-inner p {
    font-size: 1.6rem;
}


@media screen and (max-width: 767px)  {
    .l-section-faq__contents{
        gap: 1.5rem;
    }
    .l-section-faq__contents .accordion-content {
        padding: 0;
    }
    .l-section-faq__contents .accordion.open .accordion-content {
        padding: 15px 20px 15px 55px;
    }
    .l-section-faq__contents .accordion .accordion_ttl {
        padding: 15px;
    }
    .l-section-faq__contents .accordion .accordion_ttl:hover{
        opacity: 1;
      }
    .l-section-faq__contents .accordion.open .accordion_ttl {
        padding: 15px;
    }
    .l-section-faq__contents .accordion .accordion_ttl h3 {
        padding-left: 40px;
        font-size: 1.6rem;
    }
    .l-section-faq__contents .accordion .accordion_ttl h3::before  {
        font-size: 1.6rem;
        width: 30px;
        height: 30px;
        top: -2px;
    }
    .l-section-faq__contents .accordion-content::before  {
        font-size: 1.6rem;
        width: 30px;
        height: 30px;
        left: 15px;
        top: 12px;
    }
    .l-section-faq__contents .arrow_icon::after,
    .l-section-faq__contents .arrow_icon::before  {
        right: 19px;
    }
    
}







/* header btn */

@media screen and (min-width: 768px),print  {
    .l-btn-header {
        display: flex;
        justify-content: flex-end;
    }
}
.l-header__logo {
    margin-right: 20px;
}
@media screen and (min-width: 768px),print  {
    .l-header__logo {
        margin-right: 20px;
    }
}
@media screen and (max-width: 768px),print  {
    .l-header__logo img{
        width: 200px;
    }
}

@media screen and (max-width: 768px),print  {
    .l-btn-header {
        display: flex;
    }
}
.l-btn-header__contact,
.l-btn-header__trial {
    color: #FFF;
    font-size: 0.9rem;
    text-align: center;
    display: block;
    padding: 40px 3px 5px 3px;
    width: 100%;
    transition: opacity .3s;
    position: relative;
    font-weight: bold;
    min-width: 75px;
    box-shadow: none;
}
@media screen and (min-width: 768px),print  {
    .l-btn-header__contact,
    .l-btn-header__trial {
        font-size: 1.6rem;
        width: auto;
        position: relative;
        font-weight: bold;
        border-radius: 100px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.3);
        padding: 9px 40px 9px 50px;
        min-width: inherit;
    }
}
@media screen and (min-width: 915px),print  {
    .l-btn-header__contact,
    .l-btn-header__trial {
        font-size: 1.7rem;
        font-weight: bold;
        position: relative;
        border-radius: 100px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.3);
        padding: 9px 40px 9px 50px;
        min-width: inherit;
        width: auto;
    }
}
.l-btn-inquiry .l-btn-icon-blank {
    position: relative;
}
.l-btn-inquiry .l-btn-icon-blank::after {
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
    height: 10px;
    position: absolute;
    right: -2rem;
    top: 0;
    bottom: 0;
    margin: auto;
}
@media screen and (max-width: 768px),print  {
    .l-btn-inquiry .l-btn-icon-blank::after  {
        width: 18px;
        height: 15px;
        right: -2.5rem;
        content:none;
    }
}
.l-btn-icon-contact::before,
.l-btn-icon-trial::before {
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    width: 25px;
    height: 25px;
    position: absolute;
    left: -3rem;
    top: 0;
    bottom: 0;
    margin: auto;
}
@media screen and (max-width: 768px),print  {
    .l-btn-icon-contact::before, .l-btn-icon-trial::before  {
        left: -3.8rem;
    }
}
.l-btn-header__contact  {
    background-color: #22B8C9;
    margin-right: 15px;
    box-shadow: 0 4px 0 0 #1D8894;
}
@media screen and (max-width: 767px),print  {
    .l-btn-header__contact  {
        margin: 0;
        box-shadow: none;
    }
}
.l-btn-header__trial  {
    background-color: #3AB951;
    box-shadow: 0 4px 0 0 #2B8F3D;
}
@media screen and (max-width: 767px),print  {
    .l-btn-header__trial  {
        box-shadow: none;
    }
}
@media screen and (max-width: 767px),print  {
    .l-btn-header__contact .l-btn-icon-contact::before,
    .l-btn-header__trial .l-btn-icon-trial::before {
        left: 0;
        right: 0;
        top: -48px;
    }
}
.l-btn-header__contact:hover,
.l-btn-header__trial:hover {
    text-decoration: none;
    opacity: 0.8;
}
.c-btn-inquiry__item {
    width: 100%;
    max-width: 495px;
}
@media screen and (max-width: 768px),print  {
    .c-btn-inquiry__item {
        max-width: 400px;
    }
}
.c-btn-inquiry  {
    color: #fff;
    font-size: 3.0rem;
    font-weight: 700;
    text-align: center;
    display: block;
    padding: 20px 30px 20px 50px;
    border-radius: 100px;
    transition: color .3s,border-color .3s,background-color .3s;
    line-height: 1.4;
}
@media screen and (max-width: 768px),print  {
    .c-btn-inquiry  {
        font-size: 2.0rem;
        padding: 12px 20px 12px 30px;
    }
}
.c-btn-icon-blank::after,
.l-btn-icon-blank::after {
    background-image: url(../img/icon_blank_white.svg);
}
.c-btn-inquiry .c-btn-icon-blank {
    position: relative;
}
.c-btn-inquiry .c-btn-icon-blank::after {
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.8rem;
    height: 1.6rem;
    position: absolute;
    right: -2.8rem;
    top: 0;
    bottom: 0;
    margin: auto;
}
@media screen and (max-width: 768px),print  {
    .c-btn-inquiry .c-btn-icon-blank::after  {
        width: 1.6rem;
        height: 1.3rem;
        right: -2.0rem;
    }
}
.c-btn-icon-contact::before,
.c-btn-icon-trial::before {
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    width: 3.0rem;
    height: 3.0rem;
    position: absolute;
    left: -4.0rem;
    top: 0;
    bottom: 0;
    margin: auto;
}
@media screen and (max-width: 768px),print  {
    .c-btn-icon-contact::before, .c-btn-icon-trial::before  {
        width: 2.4rem;
        height: 2.4rem;
        left: -3.0rem;
    }
}
.c-btn-icon-contact::before,
.l-btn-icon-contact::before {
    background-image: url(../img/icon_contact_white.svg);
}
.c-btn-icon-trial::before,
.l-btn-icon-trial::before {
    background-image: url(../img/icon_trial_white.svg);
}
@media screen and (max-width: 767px),print  {
    .c-btn-inquiry  {
        margin: 10px auto 0;
    }
}
.c-btn-contact {
    background-color: #22B8C9;
    box-shadow: 0 5px 0 0 #1D8894;
}
.c-btn-trial {
    background-color: #3AB951;
    box-shadow: 0 5px 0 0 #2B8F3D;
}
.c-btn-contact:hover,.c-btn-contact:active,.c-btn-contact:focus-visible  {
    text-decoration: none;
    background: #5abbc8;
}
.c-btn-trial:hover,.c-btn-trial:active,.c-btn-trial:focus-visible  {
    text-decoration: none;
   background: #67bb6f;

}


/* inquiry area */
.l-section-inquiry  {
    padding: 0 15px;
    background-image:
    url('../img/bg_cta_left.png'),
    url('../img/bg_cta_right.png'), 
    linear-gradient(to right, #F89101, #FFBD52);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: left center, right center, center center;
  background-size: contain, contain, cover;
}
@media screen and (max-width: 767px),print  {
    .l-section-inquiry  {
        background-image:
        url('../img/bg_cta_left.png'),
        url('../img/bg_cta_right.png'),
        linear-gradient(to right, #F89101, #FFBD52);
      background-repeat: no-repeat, no-repeat, no-repeat;
      background-position: left top, right bottom, center center;
      background-size: 150px 150px, 150px 150px, cover;
    }
}
.l-section-inquiry__title {
    color: #fff;
    font-size: 3.5rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 15px;
}
@media screen and (max-width: 767px),print  {
    .l-section-inquiry__title {
        font-size: 2.2rem;
        line-height: 1.5;
        margin-bottom: 0px;
    }
}
.l-section-inquiry__inner  {
    margin: 0 auto;
    max-width: 1060px;
    padding: 40px 0 45px 0;
}
@media screen and (max-width: 767px),print  {
    .l-section-inquiry__inner  {
        display: block;
        padding: 30px 0 40px 0;
    }
}
.c-btn-inquiry__list {
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 30px;
}
@media screen and (max-width: 767px),print  {
    .c-btn-inquiry__list {
        flex-direction: column;
        gap: 5px;
        align-items: center;
    }
}

/* page top */
.c-btn-pagetop  {
    width: 40px;
    height: 40px;
    background: #111;
    box-shadow: 0 0 12px #0000001f;
    display: block;
    position: absolute;
    bottom: 10px;
    right: 10px;
    transition: opacity .3s
}
@media screen and (min-width: 768px),print  {
    .c-btn-pagetop  {
        width: 56px;
        height: 56px;
        top:-30px;
        right: 30px
    }
}
.c-btn-pagetop:hover,.c-btn-pagetop:active,.c-btn-pagetop:focus-visible  {
    opacity: .7
}
.c-btn-pagetop:before  {
    content: '';
    width: 15px;
    height: 15px;
    border-top: solid 3px #FFF;
    border-right: solid 3px #FFF;
    position: absolute;
    left: 13px;
    top: 18px;
    transform: rotate(-45deg);
}
@media screen and (min-width: 768px),print  {
    .c-btn-pagetop:before  {
        content: '';
        width: 20px;
        height: 20px;
        left: 18px;
        top: 24px;
    }
}
.c-list-anchor__item  {
    border-bottom: solid 1px #ddd
}
.c-list-anchor__link  {
    font-size: 1.6rem;
    line-height: 1.4;
    padding: 5px 40px 5px 15px;
    position: relative;
    display: flex;
    align-items: center;
    min-height: 55px;
    transition: opacity .3s
}
.c-list-anchor__link::before,
.c-list-anchor__link::after  {
    content: "";
    width: 8px;
    height: 2px;
    display: inline-block;
    border-radius: 10px;
    background-color: var(--color-primary-g1);
    position: absolute;
    bottom: 0px;
    top: 0;
    right: 15px;
    margin: auto;
    transition: all 0.3s ease;
}
.c-list-anchor__link::before  {
    transform: rotate(315deg);
}
.c-list-anchor__link::after  {
    right: 20px;
    transform: rotate(45deg);
}
.c-list-anchor__link:hover,.c-list-anchor__link:active,.c-list-anchor__link:focus-visible  {
    text-decoration: none;
    opacity: .6
}
@media screen and (min-width: 768px),print  {
    .c-list-anchor  {
        display:flex;
        justify-content: space-around;
    }
    .c-list-anchor__item  {
        border-bottom: none;
    }
    .c-list-anchor__link  {
        font-size: 1.6rem;
        padding: 5px 10px 10px 10px;
        min-height: 60px;
        justify-content: center;
        height: 100%;
        text-align: center
    }
    .c-list-anchor__link::before,
    .c-list-anchor__link::after  {
        content: "";
        width: 8px;
        height: 2px;
        display: inline-block;
        border-radius: 10px;
        background: var(--color-primary-g1);
        position: absolute;
        bottom: 10px;
        top: inherit;
        right: 0;
        left: 0;
        margin: auto;
        transition: all 0.3s ease;
    }
    .c-list-anchor__link::before  {
        bottom: 10px;
        transform: rotate(315deg);
        left: 5px;
    }
    .c-list-anchor__link::after  {
        bottom: 10px;
        transform: rotate(45deg);
        right: 5px;
    }
    .c-list-anchor__link em {
        font-weight: normal;
        display: inline-block;
    }
}
.c-txt-section  {
    font-size: 1.6rem;
    line-height: 1.875;
    margin: auto;
    margin-bottom: 20px;
}
@media screen and (min-width: 768px),print  {
    .c-txt-section  {
        font-size:1.8rem;
        line-height: 2;
        text-align: center;
        margin-bottom: 40px;
    }
}

/* 汎用 */
.u-display-inline  {
    display: inline
}
.u-display-inlineBlock  {
    display: inline-block
}
.u-display-block  {
    display: block
}
@media screen and (min-width: 768px),print  {
    .u-hidden-pc  {
        display:none
    }
    .u-hidden-mid  {
        display:none
    }
}
@media screen and (max-width: 1170px)  {
    .u-hidden-mid  {
        display:block
    }
}
@media screen and (max-width: 767px)  {
    .u-hidden-sp  {
        display:none
    }
}
@media screen and (max-width: 1110px) and (min-width: 768px) {
    .u-hidden-tb {
        display: none;
    }
    .u-block-tb {
        display: block;
    }
}
.mb10 {
    margin-bottom: 10px;
}
.mb20 {
    margin-bottom: 20px;
}
.l-section-bnr  {
    opacity: 0;
    position: fixed;
    right: 0;
    bottom: -140px;
    z-index: 100;
    transition: bottom 0.4s ,opacity 0.4s;
    padding: 10px 8px 12px 8px;
    background: rgb(255 255 255 / 95%);
    width: 100%;
    box-shadow: 6px 0px 10px rgba(0, 0, 0, 0.30);
}
@media screen and (min-width: 768px),print  {
    .l-section-bnr  {
        padding: 13px 20px;
        bottom: -240px;
    }
}
@media screen and (max-width: 767px),print  {
    .l-section-bnr  {
        right: auto;
        padding-top: 6px;
    }
}
.l-section-bnr.active {
    bottom: 0px;
    opacity: 1;
}
@media screen and (min-width: 768px),print  {
    .l-section-bnr.active {
        bottom: 0px;
    }
}
.l-section-bnr.active.end {
    bottom: -230px;
    z-index: 100;
}
@media screen and (min-width: 768px),print  {
    .l-section-bnr.active.end {
        bottom: -240px;
    }
}
.l-section-bnr__inner {
    display: flex;
    margin: 0 auto;
    max-width: 1060px;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
@media screen and (max-width: 767px),print  {
    .l-section-bnr__inner {
        flex-direction: column;
        gap: 5px;
    }
}
.l-section-bnr__title {
    font-size: min(2.0vw, 2.4rem);
    font-weight: bold;
}
@media screen and (max-width: 994px),print  {
    .l-section-bnr__title {
        font-size: 1.8rem;
    }
}
@media screen and (max-width: 767px),print  {
    .l-section-bnr__title {
        font-size: 1.5rem;
    }
}
.l-section-bnr__link  {
    display: flex;
    transition: transform .3s;
    filter: drop-shadow(0 0 8px rgba(0,0,0,.24));

    justify-content: end;
}
@media screen and (max-width: 767px),print  {
    .l-section-bnr__link {
        width: 100%;
        justify-content: center;
    }
}
.l-btn__contact,
.l-btn__trial {
    color: #FFF;
    font-size: 1.7rem;
    text-align: center;
    padding: 9px 50px 9px 60px;
    width: auto;
    border-radius: 100px;
    transition: opacity .3s;
    position: relative;
    font-weight: bold;
}
@media screen and (max-width: 994px),print  {
    .l-btn__contact, .l-btn__trial {
        padding: 9px 40px 9px 50px;
    }
}
@media screen and (max-width: 767px),print  {
    .l-btn__contact,
    .l-btn__trial {
        font-size: 1.8rem;
    }
    .l-btn__contact .l-btn-icon-contact::before, .l-btn__trial .l-btn-icon-trial::before  {
        width: 1.8rem;
        height: 2.0rem;
        left: -2.8rem;
    }
    .l-btn__contact .l-btn-icon-blank::after,
    .l-btn__trial .l-btn-icon-blank::after {
        width: 1.5rem;
        height: 1.2rem;
        right: -2rem;
    }
}
@media screen and (max-width: 480px),print  {
    .l-btn__contact,
    .l-btn__trial {
        font-size: 1.4rem;
        width: 100%;
        padding: 9px 20px 9px 30px;
    }
    .l-btn__contact .l-btn-icon-blank::after, .l-btn__trial .l-btn-icon-blank::after  {
        width: 12px;
        height: 9px;
        right: -1.6rem;
    }
    .l-btn__contact .l-btn-icon-contact::before, .l-btn__trial .l-btn-icon-trial::before  {
        left: -2.2rem;
    }
}
.l-btn__contact  {
    background-color: #22B8C9;
    margin-right: 10px;
    box-shadow: 0 4px 0 0 #1D8894;
}
@media screen and (max-width: 480px),print  {
    .l-btn__contact  {
        margin-right: 5px;
    }
}
.l-btn__trial  {
    background-color: #3AB951;
    box-shadow: 0 4px 0 0 #2B8F3D;
}
.l-btn__contact:hover,
.l-btn__trial:hover {
    text-decoration: none;
    opacity: 0.8;
}