@charset "UTF-8";

body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #333;
}

.inner {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    padding: 115px 50px;
}

.hp-font-roboto {
    font-family: 'Roboto', sans-serif !important;
}

.hp-ta-center {
    text-align: center !important;
}

.hp-sp-show {
    display: none !important;
}

@media (max-width:850px) {
    .inner {
        padding-top: 80px;
        padding-bottom: 95px;
    }
}

@media (max-width:750px) {
    .inner {
        padding: 50px 20px;
    }

    .hp-sp-show {
        display: block !important;
    }
}

/* 見出し */
/*====================*/
.lv2-heading {
    color: #26466d;
    letter-spacing: .06em;
    font-weight: 700;
    font-size: 40px;
    text-align: center;
    margin-bottom: 54px;
}

.lv2-heading::after {
    content: "";
    display: block;
    width: 50px;
    height: 4px;
    background: #26466d;
    margin: 24px auto 0;
}

.lv2-heading.lv2-heading--white {
    color: #fff;
}

.lv2-heading.lv2-heading--white::after {
    background: #fff;
}

@media (max-width:750px) {
    .lv2-heading {
        font-size: 25px;
        margin-bottom: 27px;
    }

    .lv2-heading::after {
        width: 25px;
        margin: 12px auto 0;
        height: 3px;
    }
}

/* header */
/*====================*/
.header {
    height: 100px;
}

.header__inner {
    display: flex;
    align-items: center;
    padding: 0 110px;
    height: 100px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 9999;
}

.header__col1 {
    width: 306px;
}

.header__col2 {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.header__logo a {
    display: block;
}

.header__logo img {
    width: 100%;
}

.header__btn {
    display: block;
}

.header__btn img {
    width: 100%;
}

.header__nav {
    display: flex;
    align-items: center;
}

.header__btn-wrapper {
    width: 300px;
    margin-left: 90px;
}

@media (min-width:1025px) {

    .header__logo a,
    .header__btn {
        transition: .3s ease;
    }

    .header__logo a:hover,
    .header__btn:hover {
        opacity: .7;
    }
}

@media (max-width:1440px) {
    .header__btn-wrapper {
        margin-left: 45px;
    }
}

@media (max-width:1279px) {
    .header__inner {
        padding: 0 20px;
    }

    .header__col1 {
        width: 250px;
    }

    .header__btn-wrapper {
        width: 250px;
    }
}

@media (max-width:1024px) {
    .header {
        height: 60px;
    }

    .header__inner {
        height: 60px;
        padding-right: 5px;
    }

    .header__btn-wrapper {
        width: 210px;
    }

    .header__col1 {
        width: 214px;
    }
}

@media (max-width:750px) {
    .header__col1 {
        max-width: 214px;
        width: 100%;
        flex-shrink: 1;
    }

    .header__btn-wrapper {
        width: 120px;
    }
}

/* G-Nav */
/*====================*/
.g-nav__list {
    display: flex;
}

.g-nav__item {
    margin-left: 70px;
}

.g-nav__item a {
    display: inline-block;
    padding: 3px;
    color: #26466d;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: .06em;
}

@media (hover:hover) {
    .g-nav__item a {
        transition: .15s ease;
    }

    .g-nav__item a:hover {
        color: #ff9f41;
    }
}

@media (max-width:1440px) {
    .g-nav__item {
        margin-left: 45px;
    }
}

@media (max-width:1024px) {
    .g-nav {
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        background: #fff;
        overflow: hidden;
        height: 0;
    }

    .g-nav__list {
        padding: 38px 36px 45px;
        display: block;
    }

    .g-nav__item {
        font-size: 20px;
        text-align: center;
        margin: 0;
    }

    .g-nav__item a {
        padding: 20px 10px;
        display: block;
        border-bottom: 1px solid #26466d;
    }
}

/* G-Nav-Btn */
/*====================*/
.g-nav-btn {
    display: none;
}

@media (max-width:1024px) {
    .g-nav-btn {
        display: block;
        width: 60px;
        height: 60px;
        z-index: 9999;
        position: relative;
        touch-action: manipulation;
        right: 0;
    }

    .g-nav-btn__in {
        display: block;
        width: 37px;
        height: 22px;
        margin: 0 auto;
        position: relative;
    }

    .g-nav-btn__bar {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 3px;
        background-color: #26466d;
        transition: all 250ms ease-out;
        opacity: 1;
    }

    .g-nav-btn__bar:nth-child(2) {
        top: 9px;
        transform-origin: 0 0;
    }

    .g-nav-btn__bar:nth-child(3) {
        top: 19px;
    }

    .g-nav-btn__label {
        display: block;
        text-align: center;
        font-size: 10px;
        line-height: 1;
        margin-bottom: 6px;
        font-weight: 700;
        letter-spacing: 0;
        transition: .15s ease;
    }

    .g-nav-btn__label::before {
        content: "\30E1\30CB\30E5\30FC";
    }

    .is-open .g-nav-btn__label::before {
        content: "\9589\3058\308B";
    }

    .is-open .g-nav-btn__bar:nth-child(1) {
        top: 13px;
        transform: rotate(45deg);
    }

    .is-open .g-nav-btn__bar:nth-child(2) {
        opacity: 0;
    }

    .is-open .g-nav-btn__bar:nth-child(3) {
        top: 13px;
        transform: rotate(-45deg);
    }
}

@keyframes openAnim {
    0% {
        height: 0px;
    }

    99% {
        height: var(--nav-height);
    }

    100% {
        height: auto;
    }
}

@keyframes closeAnim {
    0% {
        height: var(--nav-height);
    }

    100% {
        height: 0px;
    }
}

@media (max-width:1024px) {
    .g-nav.is-open {
        animation: openAnim 0.5s forwards;
    }

    .g-nav.is-close {
        animation: closeAnim 0.5s forwards;
    }
}

/* FV */
/*====================*/
.fv__mv img {
    width: 100%;
}

/* appeal */
/*====================*/
.appeal .inner {
    padding-top: 63px;
    padding-bottom: 66px;
}

.appeal__heading {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-bottom: 24px;
}

.appeal__heading::before,
.appeal__heading::after {
    content: "";
    display: inline-block;
    font-size: 36px;
    font-weight: 700;
    color: #26466d;
}

.appeal__heading::before {
    content: "\5c";
    margin-right: 52px;
}

.appeal__heading::after {
    content: "\2f";
    margin-left: 52px;
}

.appeal__heading-in {
    display: inline-block;
    max-width: 360px;
    width: 100%;
}

.appeal__heading-in img {
    width: 100%;
}

.appeal__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: .06em;
    text-align: center;
    background: #ff9f41;
    color: #fff;
    position: relative;
    height: 106px;
    border-radius: 8px;
    border-bottom: 6px solid #ff7e00;
    padding: 0 calc(22% + 74px);
}

.appeal__btn-icno {
    width: 74px;
    height: 74px;
    background: #fff283;
    color: #26466d;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    border-radius: 90px;
    letter-spacing: .1em;
    position: absolute;
    left: 22%;
    top: 50%;
    transform: translateY(-50%);
}

@media (min-width:1025px) {
    .appeal__btn {
        transition: .3s ease;
    }

    .appeal__btn:hover {
        opacity: .7;
    }
}

@media (max-width:959px) {
    .appeal__btn {
        padding: 0 calc(11.5% + 74px);
        font-size: 26px;
    }

    .appeal__btn-icno {
        left: 11.5%;
    }
}

@media (max-width:750px) {
    .appeal .inner {
        padding-top: 32px;
        padding-bottom: 33px;
    }

    .appeal__heading {
        margin-bottom: 12px;
    }

    .appeal__heading::before,
    .appeal__heading::after {
        font-size: 26px;
    }

    .appeal__heading::before {
        margin-right: 26px;
    }

    .appeal__heading::after {
        margin-left: 26px;
    }

    .appeal__btn {
        font-size: 20px;
        padding: 0 calc(11% + 37px);
        height: 70px;
    }

    .appeal__btn-icno {
        width: 37px;
        height: 37px;
        font-size: 12px;
        left: 11%;
    }
}

@media (max-width:480px) {
    .appeal__btn {
        padding: 0 calc(7% + 37px);
    }

    .appeal__btn-icno {
        left: 7%;
    }
}

@media (max-width:427px) {
    .appeal__btn {
        font-size: 16px;
    }
}

/* worries */
/*====================*/
.worries {
    background: url(../img/worries/bg.png)no-repeat;
    background-position: center bottom;
    background-size: cover;
    position: relative;
    margin-bottom: -26px;
    z-index: 8;
}

.worries .inner {
    padding-bottom: 0;
    padding-top: 96px;
    max-width: 940px;
}

.worries__heading {
    color: #fff;
    font-size: 40px;
    letter-spacing: .06em;
    font-weight: 700;
    margin-bottom: 40px;
}

.worries__cont {
    display: flex;
    flex-wrap: wrap;
    padding-left: 14%;
}

.worries__cont-col1 {
    width: calc(100% - 200px);
}

.worries__cont-col2 {
    width: 200px;
    align-self: flex-end;
}

.worries__item {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: .06em;
    color: #fff;
    margin-bottom: 30px;
    padding-left: 44px;
    position: relative;
}

.worries__item:last-of-type {
    margin-bottom: 0;
}

.worries__item::before {
    content: "";
    width: 33px;
    height: 30px;
    background: url(../img/worries/check.png)no-repeat;
    background-position: center;
    background-size: contain;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.worries__item-em {
    color: #fff7b7;
    font-size: 1.17em;
}

.worries__cont-character {
    transform: translateY(-25px);
}

.worries__cont-character img {
    width: 100%;
}

@media (max-width:1279px) {
    .worries__cont-character {
        transform: translateY(-24px);
    }
}

@media (max-width:959px) {
    .worries .inner {
        padding-top: 67px;
    }

    .worries__cont-character {
        transform: translateY(-22px);
    }

    .worries__cont {
        padding-left: 5%;
    }
}

@media (max-width:850px) {
    .worries__heading {
        font-size: 30px;
    }

    .worries__item {
        font-size: 20px;
    }
}

@media (max-width:750px) {
    .worries .inner {
        padding-top: 38px;
        padding-bottom: 68px;
    }

    .worries__heading {
        font-size: 18px;
        margin-bottom: 30px;
    }

    .worries__cont-col1 {
        width: calc(100% - 100px);
    }

    .worries__cont-col2 {
        width: 100px;
    }

    .worries__cont-character {
        transform: translateY(49px);
    }

    .worries__item {
        padding-left: 34px;
        font-size: 16px;
    }

    .worries__item::before {
        width: 23px;
        height: 20px;
    }
}


/* メリット */
/*====================*/
.merit {
    background: #fffce1;
    position: relative;
    z-index: 0;
}

.merit .inner {
    padding-top: 32px;
}

.merit__head {
    display: flex;
    flex-direction: row-reverse;
    max-width: 890px;
    width: 100%;
    margin-left: auto;
}

.merit__character {
    width: 44%;
}

.merit__heading {
    width: 56%;
    padding: 60px 0 0 26px;
}

.merit__character img {
    width: 100%;
}

.merit__heading img {
    width: 100%;
}

.merit__body {
    background: #fff;
    padding: 40px 90px 75px;
    position: relative;
    border-radius: 10px;
}

.merit__body::before {
    content: "";
    position: absolute;
    background: url(../img/merit/body-icon.png)no-repeat;
    background-size: contain;
    background-position: center;
    width: 110px;
    height: 112px;
    display: block;
    left: -27px;
    top: 8px;
}

.merit__lv3-heading {
    display: flex;
    align-items: flex-end;
    background: linear-gradient(transparent 60%, rgba(255, 228, 0, 0.4) 60%);
    padding: 0 5px 10px;
    max-width: 708px;
    width: 100%;
    margin: 0 auto 58px;
}

.merit__lv3-heading img {
    width: 100%;
}

.merit__lv3-heading-in01 {
    margin-right: 8px;
}

.merit__lv3-heading-in02 {
    margin-right: 4px;
}

/* List */
.merit__item {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 4px dashed #fff499;
    padding: 48px 0;
}

.merit__item:first-of-type {
    padding-top: 0;
}

.merit__item:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

.merit__item:nth-child(2n) {
    flex-direction: row-reverse;
}

.merit__item-icon {
    text-align: center;
    width: 320px;
}

.merit__item-icon img {
    max-width: 100%;
}

.merit__item-body {
    width: calc(100% - 320px);
    padding-right: 20px;
}

.merit__item-ttl {
    display: flex;
    align-items: center;
}

.merit__item-ttl-num {
    width: 100px;
    flex-shrink: 0;
}

.merit__item-ttl-num img {
    width: 100%;
}

.merit__item-ttl-txt {
    font-size: 30px;
    letter-spacing: .06em;
    color: #26466d;
    font-weight: 700;
    margin-left: 18px;
    border-bottom: 4px solid #fff499;
    padding-bottom: 6px;
}

.merit__item-disc {
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0;
    line-height: 1.44;
    margin-top: 21px;
}

/* Icon */
.merit__bg-icon01,
.merit__bg-icon02,
.merit__bg-icon03 {
    position: absolute;
    z-index: -8;
}

.merit__bg-icon01 img,
.merit__bg-icon02 img,
.merit__bg-icon03 img {
    max-width: 100%;
}

.merit__bg-icon01 {
    /* bottom: 606px; */
    bottom: 31.5%;
    left: 7.7%;
    width: 132px;
}

.merit__bg-icon02 {
    /* bottom: 163px; */
    left: 7.1%;
    bottom: 8.48%;
    width: 285px;
}

.merit__bg-icon03 {
    right: 10.8%;
    /* bottom: 383px; */
    bottom: 19.9%;
    width: 168px;
}

@media (max-width:1599px) {
    .merit__bg-icon01 {
        left: 3.85%;
    }

    .merit__bg-icon02 {
        left: 3.55%;
        width: 235px;
    }

    .merit__bg-icon03 {
        right: 5.4%;
        width: 118px;
    }
}

@media (max-width:1024px) {

    .merit__bg-icon01,
    .merit__bg-icon02,
    .merit__bg-icon03 {
        display: none;
    }
}

@media (max-width:959px) {
    .merit__item-ttl-txt {
        font-size: 27px;
    }

    .merit__item-disc {
        font-size: 16px;
    }
}

@media (max-width:850px) {
    .merit__item-body {
        width: calc(100% - 224px);
    }

    .merit__item-icon {
        width: 224px;
    }

    .merit__item-ttl-num {
        width: 50px;
    }

    .merit__item-ttl-txt {
        font-size: 23px;
    }
}

@media (max-width:750px) {
    .merit__heading {
        padding: 30px 0 0 13px;
    }

    .merit__lv3-heading {
        margin-bottom: 27px;
        background: none;
        display: block;
        padding: 0;
    }

    .merit__lv3-heading-in01,
    .merit__lv3-heading-in02,
    .merit__lv3-heading-in03 {
        display: block;
        padding: 0 5px;
        background: linear-gradient(transparent 60%, rgba(255, 228, 0, 0.4) 60%);
        width: 100%;
    }

    .merit__lv3-heading-in01 {
        max-width: 238px;
        margin: 0 auto 5px;
    }

    .merit__lv3-heading-in02 {
        max-width: 55px;
        margin: 0 auto 5px;
    }

    .merit__lv3-heading-in03 {
        max-width: 112px;
        margin: 0 auto;
    }

    .merit__body {
        padding: 40px 45px 37px;
    }

    .merit__body::before {
        width: 55px;
        height: 56px;
        left: -18px;
    }

    .merit__item {
        padding: 24px 0;
        display: block;
    }

    .merit__item-body {
        padding-right: 0;
        width: 100%;
        margin-bottom: 12px;
    }

    .merit__item-icon {
        width: 100%;
        max-width: 224px;
        margin: 0 auto;
    }
}

/* Cv */
/*====================*/
.cv {
    background: url(../img/cv/bg.png)no-repeat;
    background-position: center;
    background-size: cover;
}

.cv .inner {
    padding-top: 94px;
    padding-bottom: 94px;
}

.cv__btn-unit {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0 -80px;
}

.cv__btn-wrapper {
    width: calc(50% - 80px);
    margin: 0 0 0 80px;
}

.cv__btn {
    display: block;
}

.cv__btn-catch {
    margin-bottom: 34px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 42px;
}

.cv__btn-catch::before,
.cv__btn-catch::after {
    content: "";
    display: block;
    font-size: 30px;
    font-weight: 700;
    color: #26466d;
    letter-spacing: .06em;
}

.cv__btn-catch::before {
    content: "\5c";
    margin-right: 36px;
}

.cv__btn-catch::after {
    content: "\2f";
    margin-left: 36px;
}

.cv__btn-catch-in {
    display: inline-block;
    width: 100%;
}

.cv__btn-catch-in01 {
    max-width: 284px;
}

.cv__btn-catch-in02 {
    max-width: 314px;
}

.cv__btn-catch img {
    width: 100%;
}

.cv__btn img {
    width: 100%;
}

/* tel */
.cv__tel {
    color: #26466d;
    text-align: center;
    margin-top: 46px;
}

.cv__tel-ttl,
.cv__tel-num,
.cv__tel-time {
    line-height: 1;
}

.cv__tel-ttl {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: .06em;
}

.cv__tel-num {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 48px;
    margin-top: 24px;
    pointer-events: none;
}

@media (max-width:750px) {
    .cv__tel-num {
        pointer-events: auto;
    }
}

.cv__tel-num i {
    font-size: .75em;
    margin-right: 10px;
}

.cv__tel-time {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    font-size: 18px;
    margin-top: 19px;
}

.cv__tel-time-num {
    font-weight: 500;
    font-size: 1.22em;
}

@media (min-width:1025px) {
    .cv__btn {
        transition: .3s ease;
    }

    .cv__btn:hover {
        opacity: .7;
    }
}

@media (max-width:959px) {
    .cv__btn-unit {
        margin: 0 0 0 -56px;
    }

    .cv__btn-wrapper {
        width: calc(50% - 56px);
        margin: 0 0 0 56px;
    }
}

@media (max-width:850px) {
    .cv__btn-catch {
        margin-bottom: 24px;
    }

    .cv__btn-unit {
        margin: 0 0 0 -40px
    }

    .cv__btn-wrapper {
        width: calc(50% - 40px);
        margin: 0 0 0 40px;
    }
}

@media (max-width:750px) {
    .cv .inner {
        padding-top: 47px;
        padding-bottom: 47px;
    }

    .cv__btn-catch {
        margin-bottom: 17px;
    }

    .cv__tel {
        margin-top: 23px;
    }

    .cv__tel-ttl {
        font-size: 20px;
    }

    .cv__tel-num {
        font-size: 38px;
        margin-top: 12px;
    }

    .cv__tel-time {
        margin-top: 10px;
        font-size: 14px;
    }

    .cv__btn-catch::before,
    .cv__btn-catch::after {
        font-size: 25px;
    }

    .cv__btn-catch::before {
        margin-right: 17px;
    }

    .cv__btn-catch::after {
        margin-left: 17px;
    }
}

@media (max-width:599px) {
    .cv__btn-unit {
        display: block;
        margin: -20px 0 0 0;
    }

    .cv__btn-wrapper {
        width: 100%;
        margin: 20px 0 0 0;
    }

    .cv__btn-catch {
        height: auto;
    }
}

/* 導入事例 */
/*====================*/
.works {
    background: #f1faff;
    position: relative;
    z-index: 0;
}

.works__list {
    display: flex;
    flex-wrap: wrap;
    margin: -48px 0 0 -40px;
}

.works__item {
    width: calc(50% - 40px);
    margin: 48px 0 0 40px;
    background: #fff;
    border-radius: 10px;
    padding: 20px 20px 32px;
}

.works__item-ttl {
    font-weight: 700;
    font-size: 18px;
    color: #26466d;
    letter-spacing: .06em;
    text-align: center;
    padding: 0 0 15px;
    border-bottom: 4px dashed #c8ecff;
    margin-bottom: 16px;
}

.works__item-icon {
    max-width: 100px;
    width: 100%;
    margin: 0 auto 13px;
}

.works__item-icon img {
    width: 100%;
}

.works__item-icon-caption {
    color: #26466d;
    letter-spacing: .06em;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 15px;
}

.works__item-graph {
    margin-bottom: 19px;
}

.works__item-graph img {
    width: 100%;
}

/* 概要 */
.works__summary {
    padding-bottom: 17px;
    margin-bottom: 14px;
    border-bottom: 4px dashed #c8ecff;
}

.works__summary-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.works__summary-item+.works__summary-item {
    margin-top: 14px;
}

.works__summary-head {
    background: #7dd0fc;
    color: #fff;
    font-weight: 500;
    letter-spacing: .06em;
    width: 90px;
    text-align: center;
    line-height: 1;
    padding: 7px;
    border-radius: 90px;
}

.works__summary-body {
    letter-spacing: .06em;
    color: #26466d;
    font-weight: 500;
    width: calc(100% - 90px);
    padding-left: 16px;
    font-size: 18px;
}

.works__summary-body i {
    margin: 0 13px;
}

.works__summary-price {
    display: inline-block;
    color: #ff9f41;
    margin-left: 8px;
}

.works__summary-price-num {
    font-size: 1.77em;
    line-height: 1;
    font-weight: 700;
    transform: translateY(1px);
    display: inline-block;
}

/* テキスト */
.works__disc {
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.375;
}

.works__l-icon01,
.works__l-icon02,
.works__l-icon03,
.works__r-icon01,
.works__r-icon02,
.works__r-icon03,
.works__r-icon04 {
    position: absolute;
    z-index: -8;
}

.works__l-icon01 img,
.works__l-icon02 img,
.works__l-icon03 img,
.works__r-icon01 img,
.works__r-icon02 img,
.works__r-icon03 img,
.works__r-icon04 img {
    max-width: 100%;
}

/* 左側 */
.works__l-icon01 {
    /* left: 376px; */
    left: 19.5%;
    top: 107px;
    width: 150px;
}

.works__l-icon02 {
    /* left: 76px; */
    left: 3.95%;
    top: 588px;
    width: 124px;
}

.works__l-icon03 {
    /* left: 140px; */
    left: 7.29%;
    bottom: 687px;
    width: 124px;
}

/* 右側 */
.works__r-icon01 {
    /* right: 224px; */
    right: 11.6%;
    top: 196px;
    width: 117px;
}

.works__r-icon02 {
    /* right: 92px; */
    right: 4.79%;
    top: 636px;
    width: 185px;
}

.works__r-icon03 {
    /* right: 240px; */
    right: 12.5%;
    bottom: 845px;
    width: 150px;
}

.works__r-icon04 {
    /* right: 116px; */
    right: 6%;
    bottom: 589px;
    width: 96px;
}

@media (max-width:1499px) {
    .works__l-icon01 {
        left: 9.75%;
        width: 100px;
    }

    .works__l-icon02 {
        left: 1.975%;
        width: 74px;
    }

    .works__l-icon03 {
        left: 3.645%;
        width: 74px;
    }

    /* 右側 */
    .works__r-icon01 {
        right: 5.8%;
        width: 67px;
    }

    .works__r-icon02 {
        right: 2.395%;
        width: 135px;
    }

    .works__r-icon03 {
        right: 6.25%;
        width: 100px;
    }

    .works__r-icon04 {
        right: 3%;
        width: 96px;
    }
}

@media (max-width:1024px) {

    .works__l-icon01,
    .works__l-icon02,
    .works__l-icon03,
    .works__r-icon01,
    .works__r-icon02,
    .works__r-icon03,
    .works__r-icon04 {
        display: none;
    }
}

@media (max-width:750px) {
    .works__summary-head {
        width: 80px;
        font-size: 14px;
    }

    .works__summary-body {
        width: calc(100% - 80px);
        font-size: 14px;
    }

    .works__summary-body i {
        margin: 0 6px
    }

    .works__summary-price {
        margin-left: 4px;
    }

    .works__disc {
        font-size: 15px;
    }

    .works__list {
        display: block;
        margin: 0;
    }

    .works__item {
        width: 100%;
        margin: 0;
    }

    .works__item-graph {
        max-width: 430px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .works__item+.works__item {
        margin-top: 24px;
    }

}

/* 案件紹介 */
/*====================*/
.case {
    background: url(../img/case/bg.png)no-repeat;
    background-position: center;
    background-size: cover;
}

.case__item {
    border: 4px solid #26466d;
    background: #fff;
    border-radius: 10px;
    padding: 16px 16px 32px;
    cursor: grab;
    height: auto;
    outline: none;
    -webkit-transform: translate3d(0, 0, 0);
}

.case__item-ttl {
    text-align: center;
    font-size: 22px;
    letter-spacing: .06em;
    font-weight: 700;
    margin-bottom: 29px;
    line-height: 1;
}

.case__item-ttl-num {
    display: inline-block;
    color: #fff7b7;
    font-size: 1.63em;
    transform: translateY(1px);
    margin-left: 8px;
}

.case__item-ttl-in {
    display: inline-block;
    background: #26466d;
    color: #fff;
    padding: 9px 11px;
}

.case__item-txt-box {
    max-width: 180px;
    width: 100%;
    margin: 0 auto;
}

.case__item-txt {
    font-size: 18px;
    letter-spacing: .06em;
    font-weight: 500;
    line-height: 1.66;
    color: #26466d;
}

.case__item-lv4-ttl {
    text-align: center;
    font-size: 24px;
    letter-spacing: .06em;
    font-weight: 700;
    color: #26466d;
}

.case__item-lv4-ttl-in {
    display: inline-block;
    border-bottom: 4px dashed #fde67c;
    padding-bottom: 8px;
    margin-bottom: 8px;
}

.case__item-txt-box+.case__item-lv4-ttl,
.case__item-txt+.case__item-lv4-ttl {
    margin-top: 16px !important;
}

.case-swiper-wrapper {
    position: relative;
}

.case-swiper__prev,
.case-swiper__next {
    width: 60px;
    height: 60px;
    display: block;
    background: #fde67c;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 90px;
    font-size: 36px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    transition: .15s ease;
}

.case-swiper__prev {
    left: -85px
}

.case-swiper__next {
    right: -85px;
}

.case-swiper__next.swiper-button-disabled,
.case-swiper__prev.swiper-button-disabled {
    opacity: .65;
    pointer-events: none;
}

@media (min-width:1025px) {

    .case-swiper__next:hover,
    .case-swiper__prev:hover {
        opacity: .7;
    }
}

@media (max-width:1279px) {
    .case-swiper-wrapper {
        padding: 0 40px;
    }

    .case-swiper__next {
        right: -40px;
    }

    .case-swiper__prev {
        left: -40px;
    }
}

@media (max-width:959px) {
    .case-swiper-wrapper {
        padding: 0 20px;
    }

    .case-swiper__prev,
    .case-swiper__next {
        width: 40px;
        height: 40px;
        font-size: 26px;
    }

    .case__item-txt {
        font-size: 16px;
    }
}

@media (max-width:850px) {
    .case-swiper-wrapper {
        max-width: 640px;
        width: 100%;
        margin: 0 auto;
    }

    .case__item-txt-box {
        max-width: 190px;
    }
}

@media (max-width:750px) {
    .case .inner {
        padding-left: 0;
        padding-right: 0;
    }

    .case-swiper-wrapper {
        padding: 0;
    }

    .case-swiper__prev,
    .case-swiper__next {
        display: none !important;
    }

    .case__item {
        padding: 16px;
    }

    .case__item-ttl {
        font-size: 18px;
    }

    .case__item-lv4-ttl {
        font-size: 16px;
    }

    .case__item-txt {
        font-size: 14px;
    }

}


/* 登録までの流れ */
/*====================*/
.flow__list {
    display: flex;
    margin: 0 0 0 -14px;
    overflow: hidden;
}

.flow__item {
    width: calc(100% / 6 - 14px);
    margin: 0 0 0 14px;
    background: #fff;
}

.flow__item-num {
    max-width: 60px;
    width: 100%;
    margin: 0 auto 8px;
}

.flow__item-num img {
    width: 100%;
}

.flow__item-icon {
    max-width: 150px;
    width: 100%;
    margin: 0 auto 14px;
    position: relative;
}

.flow__item-icon::before {
    content: "";
    position: absolute;
    left: 0;
    width: 1000px;
    background: #26466d;
    height: 10px;
    top: 50%;
    transform: translateY(-50%);
    z-index: -8;
}

.flow__item-icon img {
    width: 100%;
}

.flow__item-ttl {
    text-align: center;
    color: #7dd0fc;
    letter-spacing: .06em;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 1.05em;
}

.flow__item-txt {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .06em;
    color: #26466d;
    line-height: 1.5;
}

@media (max-width:959px) {
    .flow__item-ttl {
        font-size: 16px;
    }
}

@media (max-width:850px) {
    .flow__item-txt {
        font-size: 12px;
    }
}

@media (max-width:750px) {
    .flow__list {
        flex-wrap: wrap;
        margin: -28px 0 0 -14px;
    }

    .flow__item {
        width: calc(100% / 3 - 14px);
        margin: 28px 0 0 14px;
    }

    .flow__item-icon::before {
        content: none;
    }
}


/* よくあるご質問 */
/*====================*/
.faq {
    background: #ffd0a3;
}

.faq__item {
    background: #fff;
    border-radius: 10px;
    padding-right: 30px;
    padding-left: 30px;
}

.faq__item+.faq__item {
    margin-top: 35px;
}

.faq__item-head {
    display: flex;
    align-items: center;
    color: #26466d;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .06em;
    position: relative;
    cursor: pointer;
    margin: 0 -30px;
    padding: 20px 60px 20px 30px;
}

.faq__item-head::before,
.faq__item-head::after {
    color: #ff9f41;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-family: "Font Awesome 5 Free";
    font-size: 30px;
    font-weight: 900;
    transition: .15s ease;
}

.faq__item-head::before {
    content: "\2b";
    opacity: 1;
}

.faq__item-head::after {
    content: "\f068";
    opacity: 0;
}

.faq__item-head.is_active::before {
    opacity: 0;
}

.faq__item-head.is_active::after {
    opacity: 1;
}

.faq__item-q {
    width: 29px;
    display: block;
    margin-right: 40px;
    flex-shrink: 0;
}

.faq__item-q img {
    width: 100%;
}

.faq__item-body {
    height: 0;
    overflow: hidden;
}

.faq__item-txt {
    font-size: 18px;
    letter-spacing: .06em;
    font-weight: 500;
    line-height: 1.33;
    padding: 22px 20px 32px 69px;
    border-top: 4px dashed #ffd1a3;
}

@media (min-width:1025px) {
    .faq__item-head {
        transition: .3s ease;
    }

    .faq__item-head:hover {
        opacity: .7;
    }
}

@media (max-width:850px) {
    .faq__item+.faq__item {
        margin-top: 25px;
    }

    .faq__item-head {
        font-size: 20px;
    }

    .faq__item-txt {
        font-size: 16px;
    }
}

@media (max-width:750px) {
    .faq__item+.faq__item {
        margin-top: 17px;
    }

    .faq__item-head {
        font-size: 15px;
    }

    .faq__item-q {
        width: 15px;
        margin-right: 20px;
    }

    .faq__item-head::before,
    .faq__item-head::after {
        font-size: 15px;
    }

    .faq__item-txt {
        font-size: 14px;
        padding: 22px 20px 32px 34px
    }
}

/* 無料会員登録フォーム */
/*====================*/
.register {
    background: #fffce1;
}

.register-form {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

.register-form__field-wrap input,
.register-form__txtarea-wrap textarea,
.register-form__select {
    font-size: 17px;
    letter-spacing: .06em;
    font-weight: 500;
    outline: none;
    padding: 13px 20px;
}

.register-form__field-wrap input,
.register-form__txtarea-wrap textarea,
.register-form__select {
    width: 100%;
    background: #f4f4f4;
    border-radius: 4px;
}

/* セレクト */
.register-form__select-wrap {
    position: relative;
    max-width: 260px;
}

.register-form__select-wrap::before {
    content: "▼";
    position: absolute;
    font-size: 14px;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

/* Tel */
.register-form__field-wrap.register-form__field-wrap--tel {
    max-width: 176px;
}

/* テキストエリア */
.register-form__txtarea-wrap textarea {
    width: 100%;
    resize: none;
}

.register-form {
    background: #fff;
    border-radius: 10px;
    padding: 60px 60px 70px;
}

.register-form__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px 0;
    border-bottom: 2px solid #e6e6e6;
}

.register-form__item:nth-last-child(2) {
    border-bottom: none;
    padding-bottom: 0;
}

.register-form__item-head {
    width: 210px;
}

.register-form__item-body {
    width: calc(100% - 210px);
}

.register-form__item-label {
    color: #26466d;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .06em;
    display: inline-flex;
    align-items: center;
}

.register-form__item-label::after {
    content: "\4EFB\610F";
    display: inline-block;
    background: #8e8e8e;
    color: #fff;
    font-size: 12px;
    letter-spacing: .06em;
    line-height: 1;
    padding: 5px;
    margin-left: 10px;
}

.register-form__item-label.is-required::after {
    content: "\5FC5\9808";
    background: #ff7d70;
}

.register-form__btn-wrap {
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    margin-top: 50px;
    margin: 35px 0 0 -15px;
}

.register-form__btn {
    text-align: center;
    display: inline-block;
    background: #ff9f41;
    border-bottom: 3px solid #ff7e00;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .06em;
    max-width: 300px;
    width: 100%;
    padding: 22px;
    border-radius: 4px;
}

.register-form__btn.register-form__btn--return {
    background: #9e9e9e;
    border-bottom: 3px solid #828282;
}

.register-form__btn {
    margin: 15px 0 0 15px;
}

/*　プレースホルダー */
::placeholder {
    color: #d6d6d6;
}

/* 旧Edge対応 */
::-ms-input-placeholder {
    color: #d6d6d6;
}

/* IE対応 */
:-ms-input-placeholder {
    color: #d6d6d6;
}

/* チェックボックス */
.register-form__check-group {
    margin: -8px 0 0 -16px;
}

.register-form__check {
    line-height: 1;
    margin: 8px 0 0 16px;
    display: inline-block;
}

.register-form__check input {
    display: none;
}

.register-form__check-txt {
    font-size: 17px;
    font-weight: 500;
    letter-spacing: .06em;
    padding-left: 30px;
    position: relative;
    display: inline-block;
}

.register-form__check-txt::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 2px solid #333;
    border-radius: 4px;
}

.register-form__check-txt::after {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    color: #ff7d70;
    font-size: 14px;
    top: 50%;
    transform: translateY(-50%);
    left: 3.5px;
    opacity: 0;
    transition: .1s ease;
}

input:checked+.register-form__check-txt::after {
    opacity: 1;
}

.register-form__check-note {
    color: #ff7d70;
    font-size: 12px;
    letter-spacing: .06em;
    font-weight: 500;
    padding-left: 30px;
}

/*　エラー */
.parsley-errors-list {
    color: #ff7d70;
    margin-top: 5px;
    font-weight: 500;
    font-size: .9em;
}

.register .lv2-heading br {
    display: none;
}

.register__lv2-heading-in {
    display: inline-block;
    position: relative;
    padding-left: 80px;
    padding-right: 80px;
}

.register__free {
    display: inline-block;
    position: absolute;
    left: 0;
    top: -45px;
    max-width: 72px;
}

/* 個人情報のお取り扱いについて */
.register-form__privacy {
    margin-top: 35px;
}

.register-form__privacy-head {
    margin-bottom: 17px;
    font-size: 17px;
    color: #26466d;
    font-weight: 700;
    letter-spacing: .06em;
}

.register-form__privacy-box {
    height: 270px;
    padding: 17px;
    border: 1px solid #d7dde0;
    border-radius: 4px;
    overflow-x: hidden;
    overflow-y: scroll;
}

.register-form__privacy-block+* {
    margin-top: 15px;
}

.register-form__privacy-ttl {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 17px;
    font-size: 17px;
    color: #26466d;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.35;
}

.register-form__privacy-subttl {
    padding-left: 1.35em;
    text-indent: -1.35em;
    margin-bottom: 7px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.35;
}

.register-form__privacy-txt {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.35;
}

.register-form__privacy-txt+* {
    margin-top: 15px;
}

.register-form__privacy-txt a {
    color: #59a4ff;
    text-decoration: underline;
    transition: opacity .3s ease;
}

.register-form__agree-wrap {
    margin-top: 20px;
    text-align: center;
}

.register-form__agree-wrap br {
    display: none;
}

@media (hover: hover) {
    .register-form__privacy-txt a:hover {
        opacity: .7;
    }
}

.register-form__privacy-txt a:focus-visible {
    opacity: .7;
}

@media (min-width:1025px) {
    .register-form__btn {
        transition: .3s ease;
    }

    .register-form__btn:hover {
        opacity: .7;
    }
}

@media (max-width:850px) {
    .register-form {
        padding-left: 45px;
        padding-right: 45px;
    }

    .register .lv2-heading {
        font-size: 32px;
    }
}

@media(max-width:750px) {
    .register .inner {
        padding-top: 70px;
    }

    .register .lv2-heading {
        font-size: 23px;
    }

    .register__free {
        top: -55px;
        max-width: 67px;
        left: 20px;
    }

    .register__lv2-heading-in {
        padding-left: 60px;
        padding-right: 60px;
    }

    .register .lv2-heading br {
        display: block;
    }

    .register-form {
        padding: 10px 30px 35px;
    }

    .register-form__item {
        display: block;
    }

    .register-form__item-head {
        width: 100%;
        margin-bottom: 15px;
    }

    .register-form__item-body {
        width: 100%;
    }

    .register-form__check-txt,
    .register-form__field-wrap input,
    .register-form__txtarea-wrap textarea,
    .register-form__select {
        font-size: 16px;
    }

    .register-form__check-group {
        margin: -16px 0 0 -16px;
    }

    .register-form__check {
        margin: 16px 0 0 16px;
    }

    .register-form__btn-wrap {
        margin-top: 25px;
    }

    .register-form__btn {
        font-size: 16px;
        padding: 20px;
    }

    .register-form__select-wrap::before {
        font-size: 12px;
    }

    .register-form__check-note {
        margin-top: 8px;
    }

    .register-form__privacy {
        margin-top: 25px;
    }

    .register-form__privacy-head {
        margin-bottom: 15px;
    }

    .register-form__privacy-box {
        padding: 15px;
    }

    .register-form__privacy-block+* {
        margin-top: 13px;
    }

    .register-form__privacy-ttl {
        margin-bottom: 15px;
        font-size: 15px;
    }

    .register-form__privacy-subttl {
        margin-bottom: 5px;
        font-size: 13px;
    }

    .register-form__privacy-txt {
        font-size: 13px;
    }

    .register-form__privacy-txt+* {
        margin-top: 13px;
    }

    .register-form__agree-wrap .register-form__check-txt {
        font-size: 15px;
        line-height: 1.25;
        text-align: left;
    }

    .register-form__agree-wrap br {
        display: block;
    }
}

/* 会社概要 */
/*====================*/
.company {
    background: #ffd0a3;
}

.company__table-wrap {
    background: #fff;
    padding: 47px 100px 65px;
    border-radius: 10px;
}

.company__table {
    width: 100%;
}

.company__table th,
.company__table td {
    letter-spacing: .06em;
    line-height: 1.625;
    padding: 18px 40px;
    vertical-align: middle;
}

.company__table th {
    color: #26466d;
    font-weight: 700;
    border-bottom: 4px solid #26466d;
    text-align: center;
}

.company__table td {
    font-weight: 500;
    border-bottom: 2px solid #e6e6e6;
}

.company__table td a {
    color: #26466d;
}

@media (max-width:959px) {
    .company__table-wrap {
        padding-left: 50px;
        padding-right: 50px;
    }

    .company__table th,
    .company__table td {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width:850px) {
    .company__table-wrap {
        padding: 27px 40px 55px;
    }

    .company__table th,
    .company__table td {
        font-size: 14px;
    }
}

@media (max-width:750px) {
    .company__table-wrap {
        padding: 27px 20px 32px;
    }

    .company__table th {
        width: 80px;
    }

    .company__table th,
    .company__table td {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* footer */
/*====================*/
.footer {
    width: 100%;
    background: #13202f;
}

.footer__inner {
    padding-block: 55px;
}

.footer__links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

.footer__links .footer__links-item {
    position: relative;
}

.footer__links .footer__links-item:not(:last-child)::before {
    content: '';
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translate(50%, -40%);
    width: 1px;
    height: 110%;
    background: #fff;
}

.footer__link {
    font-size: 16px;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.05em;
    transition: opacity 0.3s ease;
}

@media(hover: hover) {
    .footer__link:hover {
        opacity: 0.7;
    }
}

.footer__link:focus-visible {
    opacity: 0.7;
}


.footer__copy {
    display: block;
    padding-bottom: 14px;
    font-size: 14px;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: center;
}

@media (max-width:850px) {
    .footer__inner {
        padding-block: 35px;
    }

    .footer__links {
        gap: 30px;
    }

    .footer__links .footer__links-item:not(:last-child)::before {
        right: -15px;
    }

    .footer__link {
        font-size: 14px;
    }

    .footer__copy {
        padding-bottom: 12px;
        font-size: 12px;
    }
}