@charset "UTF-8";

body {
    opacity: 0;
    animation: bodyAppear .6s .3s forwards;
}

@keyframes bodyAppear {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/*============================
	kv
============================*/
.kv {
    margin: 120px auto 0;
}

.kv__img img {
    object-fit: cover;
    width: 100%;
    height: 800px;
    max-height: calc(100vh - 260px);
}

.kv__txtwrap {
    width: 100%;
    max-width: 1520px;
    position: absolute;
    top: 60%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 99;
    padding: 0 380px 0 4%;
}
/* .kv__txt--inner{
    max-width: 717px;
    width: 40%;
} */
.kv__copy {
    max-width: 567px;
    width: 50%;
    margin-bottom: 3%;
}

.kv__h3 {
    font-size: min(2.6rem, 1.8vw);
    margin-bottom: 2%;
}

.kv__txt {
    letter-spacing: .1em;
    line-height: 2;
    font-size: min(1.6rem, 1.1vw);
}

.kv__movie {
    width: 280px;
    position: absolute;
    bottom: 10%;
    right: 3%;
    z-index: 99;
}

.kv__movie a {
    display: block;
    width: 100%;
    height: 100%;
}

.kv__movie .poster {
    pointer-events: none;
}

.kv__movie img {
    display: block;
    width: 220px;
    margin: 0 auto 10px;
}

.kv__movie iframe {
    width: 100%;
    height: 160px;
}

.moddal-area {
    display: none;
}

.iframewrap {
    padding-top: 56.25%;
    width: 100%;
    position: relative;
}

.moddal-iframe {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.modaal-close:after,
.modaal-close:before {
    background: #ccc;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
    background: #f08200;
}

@media screen and (max-width:1024px) {
    .kv {
        margin: 62px auto 0;
    }

    .kv__img img {
        height: 500px;
    }

    .kv__txtwrap {
        top: 60%;
        left: 50%;
        padding: 0 300px 0 3%;
    }

    .kv__copy {
        max-width: 400px;
        width: 80%;
        margin-bottom: 30px;
    }

    .kv__h3 {
        font-size: min(2rem, 2vw);
        margin-bottom: 20px;
    }

    .kv__txt {
        font-size: min(1.4rem, 1.4vw);
        letter-spacing: .05em;
        line-height: 2;
    }

    .kv__movie {
        width: 240px;
        bottom: 10%;
        right: 3%;
    }

    .kv__movie img {
        width: 100px;
        margin: 0 auto 10px;
    }

    .kv__movie iframe {
        height: 160px;
    }
}


@media screen and (max-width:767px) {
    .kv {
        margin: 52px auto 0;
    }

    .kv__img img {
        height: 280px;
    }

    .kv__txtwrap {
        top: 35%;
        left: 50%;
        padding: 0 3% 0 5%;
    }
    .kv__txt--inner{
        width: 100%;
    }

    .kv__copy {
        width: 50%;
        margin-bottom: 10px;
    }

    .kv__txtwrap--sp {
        padding: 20px 5%;
    }

    .kv__h3 {
        font-size: min(1.4rem, 3.2vw);
        margin-bottom: 0;
    }

    .kv__txt {
        font-size: 1.4rem;
        letter-spacing: .05em;
        line-height: 2;
    }

    .kv__movie {
        width: 120px;
        bottom: 20px;
        right: auto;
        left: 5%;
        position: absolute;
    }

    .kv__movie img {
        width: 100px;
        margin: 0 auto 5px;
    }

    .kv__movie iframe {
        height: 70px;
    }

    .modaal-content-container {
        padding: 10px;
    }

}

/*============================
bnr
============================*/
.bnr {
    padding: 10px 0;
    background: #faf9f7;
}

.bnr__ttl {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 0;
}

.bnr__ttl .color-ma {
    font-size: 3rem;
}

.bnr .swiper-wrapper {
    transition-timing-function: linear;
    align-items: center;
}

.bnr__item {
    margin: 0 10px;
}

.bnr__item.bnr01 {
    max-width: 127px;
}

.bnr__item.bnr02 {
    max-width: 132px;
}

.bnr__item.bnr03 {
    max-width: 110px;
}

.bnr__item.bnr04 {
    max-width: 104px;
}

.bnr__item.bnr05 {
    max-width: 232px;
}

.bnr__item.bnr06 {
    max-width: 93px;
}

.bnr__item.bnr07 {
    max-width: 166px;
}

.bnr__item.bnr08 {
    max-width: 177px;
}

.bnr__item.bnr09 {
    max-width: 89px;
}

.bnr__item.bnr10 {
    max-width: 230px;
}

.bnr__item.bnr11 {
    max-width: 181px;
}

.bnr__item.bnr12 {
    max-width: 160px;
}

.bnr__item.bnr13 {
    max-width: 140px;
}

.bnr__item.bnr14 {
    max-width: 173px;
}

.bnr__item.bnr15 {
    max-width: 180px;
}

.bnr__item {
    transform: scale(.9);
}

@media screen and (max-width:1024px) {
    .bnr {
        padding: 30px 0;
    }

    .bnr__ttl {
        font-size: 2rem;
        margin-bottom: 30px;
    }

    .bnr__ttl .color-ma {
        font-size: 2.4rem;
    }

    .bnr__item {
        margin: 0 -10px;
        transform: scale(.7);
    }

}

@media screen and (max-width:767px) {
    .bnr {
        padding: 20px 0 10px;
    }

    .bnr__ttl {
        font-size: 1.6rem;
        margin-bottom: 0;
    }

    .bnr__ttl .color-ma {
        font-size: 2rem;
    }

}

/*============================
	cv
============================*/
.cv {
    padding: 30px 0;
}

.cv__copy {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}

.cv__btn {
    margin: 0 3%;
}

.cv__btn a {
    display: block;
    width: 290px;
    max-width: 100%;
    line-height: 65px;
    border-radius: 32.5px;
    font-weight: bold;
    letter-spacing: .1em;
    text-align: center;
    padding: 0 1em;
    font-size: 1.8rem;
    color: #fff;
    position: relative;
    background: #ffb000;
    border: solid 1.5px #ffb000;
    transition: .3s ease-out;
}

.cv__btn i {
    margin-right: .5em;
}

.cv__contact a {
    background: #f08200;
    border-color: #f08200;
}

.cv__btn a:hover {
    background: #fff;
    color: #ffb000;
}

.cv__contact a:hover {
    color: #f08200;
}

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

    .cv {
        padding: 40px 0;
    }

    .cv__copy {
        font-size: 1.6rem;
        margin-bottom: 20px;
    }

    .cv__btn {
        margin: 0 3%;
    }

    .cv__btn a {
        width: 240px;
        line-height: 50px;
        border-radius: 25px;
        font-size: 1.6rem;
    }

}

@media screen and (max-width:767px) {
    .cv {
        padding: 30px 0;
    }

    .cv__copy {
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .cv__btn {
        margin: 0 auto;
    }

    .cv__btn a {
        width: 240px;
        line-height: 45px;
        border-radius: 22.5px;
        font-size: 1.4rem;
        margin: 0 auto;
    }

    .cv__dl a {
        margin: 0 auto 15px;
    }


}


/*============================
  voice
============================*/
.voice {
    padding: 80px 1% 100px;
    background: #fffae9;
}

.voice__ttl {
    text-align: center;
    font-size: 2.6rem;
    margin-bottom: 50px;
    line-height: 1.5;
}

.voice__item {
    width: 49%;
    max-width: 800px;
    margin: 0 .5%;
    margin-bottom: 60px;
}

.voice__item:last-child {
    margin-bottom: 0;
}

.voice__ill {
    width: 180px;
}

.voice__txtwrap {
    width: calc(100% - 180px);
    padding: 0 0 0 30px;

}

.voice__txt {
    min-height: 150px;
    background-color: #fff;
    width: 100%;
    border-radius: 5px;
    position: relative;
    padding: 1.5em;
    box-shadow: 5px 5px #ffb000;
}

.voice__txt::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 20px 7.5px 0;
    border-color: transparent #ffb000 transparent transparent;
    left: -20px;
    top: calc(50% + 2px);
    transform: translate(0, -50%);

}
.voice__txt::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 20px 7.5px 0;
    border-color: transparent #fff transparent transparent;
    left: -20px;
    top: 50%;
    transform: translate(0, -50%);

}

.voice__txt .txt {
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: .05em;
}

@media screen and (max-width:1024px) {
    .voice {
        padding: 60px 3% 80px;
    }

    .voice__ttl {
        font-size: 2rem;
        margin-bottom: 40px;
    }

    .voice__item {
        width: 49%;
        margin: 0 .5%;
        margin-bottom: 40px;
    }

    .voice__ill {
        width: 120px;
    }

    .voice__txtwrap {
        width: calc(100% - 120px);
        padding: 0 0 0 20px;

    }

    .voice__txt {
        min-height: auto;
        width: 100%;
        border-radius: 5px;
        padding: 1em;
    }

    .voice__txt::before {
        border-width: 7.5px 20px 7.5px 0;
        left: -20px;
    }

    .voice__txt .txt {
        font-size: 1.4rem;
    }
}

@media screen and (max-width:767px) {
    .voice {
        padding: 40px 5% 60px;
    }

    .voice__ttl {
        font-size: 1.6rem;
        margin-bottom: 30px;
    }

    .voice__item {
        width: 100%;
        margin: 0 auto;
        margin-bottom: 30px;
        display: flex;
        align-items: center;
    }

    .voice__ill {
        width: 80px;
    }

    .voice__txtwrap {
        width: calc(100% - 80px);
        padding: 0 0 0 20px;

    }

    .voice__txt {
        border-radius: 5px;
        padding: 1em;
    }

    .voice__txt::before {
        border-width: 7.5px 15px 7.5px 0;
        left: -15px;
    }

    .voice__txt .txt {
        font-size: 1.2rem;
    }
}

/*============================
   worry
============================*/
.worry {
    padding: 80px 0 100px;
    background: #faf9f7;
}

.worry::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 60px 60px 0 60px;
    border-color: #faf9f7 transparent transparent transparent;
    bottom: -60px;
    left: 50%;
    transform: translate(-50%);
}

.worry__ttl {
    font-size: 2.6rem;
    width: fit-content;
    margin: 0 auto 70px;
    position: relative;
    line-height: 1;
}

.worry__ttl .color-ma {
    font-size: 3rem;
}

.worry__ttl::before {
    content: "";
    position: absolute;
    width: 2px;
    height: 30px;
    background: #111;
    left: -1em;
    bottom: 5px;
    transform: rotate(-20deg);
}

.worry__ttl::after {
    content: "";
    position: absolute;
    width: 2px;
    height: 30px;
    background: #111;
    right: -1em;
    bottom: 5px;
    transform: rotate(20deg);
}

.worry__ul {
    width: fit-content;
    padding: 0 5% 0 0;
}

.worry__illu {
    max-width: 164px;
}

.worry__ul img {
    position: absolute;
    top: 5px;
    left: 0;
    width: 26px;
    margin-right: 1em;
}

.worry__ul li {
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: .5em;
    padding-left: 45px;
    position: relative;
}
.worry__ul li .bold{
    text-decoration: underline;
    text-decoration-color: #f08200; 
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}
@media screen and (max-width:1024px) {
    .worry {
        padding: 60px 0 80px;
    }

    .worry::before {
        border-width: 50px 50px 0 50px;
        bottom: -50px;
    }

    .worry__ttl {
        font-size: 2rem;
        margin: 0 auto 40px;
    }

    .worry__ttl .color-ma {
        font-size: 2.4rem;
    }

    .worry__ttl::before {
        width: 2px;
        height: 25px;
        left: -1em;
        bottom: 5px;
    }

    .worry__ttl::after {
        width: 2px;
        height: 25px;
        right: -1em;
        bottom: 5px;
    }

    .worry__ul {
        padding: 0 5% 0 0;
    }

    .worry__illu {
        max-width: 120px;
    }

    .worry__ul img {
        top: 4px;
        left: 0;
        width: 20px;
    }

    .worry__ul li {
        font-size: 1.6rem;
        margin-bottom: .5em;
        padding-left: 35px;
    }
}

@media screen and (max-width:767px) {
    .worry {
        padding: 60px 0;
    }

    .worry::before {
        border-width: 40px 40px 0 40px;
        bottom: -40px;
    }

    .worry__ttl {
        font-size: 1.6rem;
        margin: 0 auto 30px;
        text-align: center;
    }

    .worry__ttl .color-ma {
        font-size: 1.8rem;
        display: block;
    }

    .worry__ttl::before {
        width: 2px;
        height: 25px;
        left: -2em;
        bottom: -3px;
    }

    .worry__ttl::after {
        width: 2px;
        height: 25px;
        right: -2em;
        bottom: -3px;
    }

    .worry__ul {
        padding: 0;
        margin-bottom: 30px;
    }

    .worry__illu {
        max-width: 100px;
        margin: 0 auto 0 10%;
    }

    .worry__ul img {
        top: 4px;
        left: 0;
        width: 16px;
    }

    .worry__ul li {
        font-size: 1.4rem;
        margin-bottom: .5em;
        padding-left: 25px;
    }
}

/*============================
    recruit / strength
============================*/
.recruit {
    padding: 80px 0 0;
}

.str__copy {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 100px;
}

.str__copy .small {
    font-size: 1.8rem;
    display: block;
}

.str__item {
    background: linear-gradient(transparent 0%, transparent 80px, #faf9f7 80px, #faf9f7 100%);
}

.str__imgwrap {
    width: 50%;
    padding: 0 8% 0 0;
}

.str__txtwrap {
    width: 50%;
    padding: 50px 0 0;
}

.str__txtwrap--inner {
    max-width: 640px;
}
.str__img{
    border-radius: 10px;
    overflow: hidden;
}
.str__img img{
    object-fit: cover;
    width: 100%;
    height: 500px;
}
.str__ttl {
    margin-bottom: 30px;
    font-size:  min(4.5rem,3vw);
    letter-spacing: .05em;
    font-weight: bold;
}

.str__ttl .font-en {
    text-align: center;
    font-size: 5rem;
    color: #fff0d0;
    letter-spacing: .05em;
    line-height: 1;
    display: block;
    margin-bottom: .5em;
}

.str__ttl .color-ma {
    line-height: 1;
    color: #fcc345;
    letter-spacing: .05em;
}

.str__ttl .boxtxt {
    display: inline-block;
    line-height: 55px;
    border-radius: 10px;
    background: #f08200;
    color: #fff;
    font-size: min(4rem,3vw);
    margin-right: 10px;
    padding: 0 .5em;
    letter-spacing: .1em;
}

.str__txt {
    font-size: 1.8rem;
    line-height: 2;
}

@media screen and (max-width:1024px) {
    .recruit {
        padding: 60px 0 0;
    }

    .str__copy {
        font-size: 2.4rem;
        margin-bottom: 60px;
    }

    .str__copy .small {
        font-size: 1.4rem;
    }

    .str__item {
        background: linear-gradient(transparent 0%, transparent 50px, #faf9f7 50px, #faf9f7 100%);
    }

    .str__imgwrap {
        width: 50%;
        padding: 0 5% 20px 0;
    }
    .str__img img{
        height: 330px;
    }
    .str__txtwrap {
        width: 50%;
        padding: 30px 0 0;
    }

    .str__ttl {
        margin-bottom: 20px;
        font-size:  min(3rem,3vw);
    }

    .str__ttl .font-en {
        font-size: min(4rem, 4vw);
    }

    .str__ttl .boxtxt {
        line-height: 40px;
        border-radius: 10px;
        font-size: min(3rem,2.8vw);
        margin-right: 10px;
        padding: 0 .5em;
    }

    .str__txt {
        font-size: 1.4rem;
    }
}

@media screen and (max-width:767px) {
    .recruit {
        padding: 60px 0 0;
    }

    .recruit .inner__large {
        padding: 0;
    }

    .str__copy {
        font-size: 1.8rem;
        margin-bottom: 40px;
    }

    .str__copy .small {
        font-size: 1.2rem;
        margin-top: 5px;
    }

    .str__item {
        padding: 0 5%;
        background: linear-gradient(transparent 0%, transparent 30%, #faf9f7 30%, #faf9f7 100%);
    }

    .str__imgwrap {
        width: 100%;
        padding: 0;
        margin: 0 auto 30px;
    }
    .str__img img{
        height: auto;
    }
    .str__txtwrap {
        width: 100%;
        padding: 0 0 20px;
    }

    .str__ttl {
        margin-bottom: 20px;
        font-size: 2rem;
    }

    .str__ttl .font-en {
        font-size: 3rem;

    }

    .str__ttl .boxtxt {
        line-height: 30px;
        border-radius: 5px;
        font-size: 2rem;
        margin-right: 5px;
    }

    .str__txt {
        font-size: 1.4rem;
    }
}

/*============================
  raise
============================*/
.raise {
    padding: 160px 0 0;
}

.raise .str__imgwrap {
    width: 50%;
    padding: 0 0 0 8%;
}


.raise .str__txtwrap--inner {
    max-width: 640px;
    margin: 0 0 0 auto;
    padding: 0 5% 0 0;
}


.raise .str__ttl .font-en {
    margin-left: .75em;

}

.raise__lesson {
    background: #faf9f7;
    padding: 60px 1% 50px;
}

.raise__lesson--inner {
    max-width: 1280px;
    margin: 0 auto;
}

.raise__h3 {
    font-size: 2.6rem;
    width: fit-content;
    white-space: nowrap;
    margin: 0 auto 40px;
    padding-bottom: 1em;
    border-bottom: solid 1px #f08200;
}

.raise__tabwrap {
    margin-bottom: 30px;
}

.raise__tab {
    width: 19%;
    height: 65px;
    border-radius: 5px;
    background: #f1eee7;
    text-align: center;
    cursor: pointer;
    transition: .3s ease-out;
    position: relative;
    color: #727171;

}

.raise__tab .txt {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    font-size: 2rem;
    line-height: 1.2;
}

.raise__tab .txt .small {
    font-size: 1.6rem;
    display: block;
}

.raise__tab.active {
    background: #f08200;
    color: #fff;
}

.raise__atcwrap {
    padding: 0 5%;
}

.raise__atc {
    display: none;
}

.raise__atc.atc01 {
    display: block;
}

.raise__h4 {
    font-size: 2.4rem;
    margin-bottom: 40px;
}

.raise__atc--inner {
    padding: 0 5%;
}

.raise__h5 {
    line-height: 55px;
    width: fit-content;
    color: #fff;
    padding: 0 1.5em;
    font-size: 2.2rem;
    background: #ffb000;
    border-radius: 10px;
    margin-bottom: 30px;
}

.raise__ul {
    margin-left: 5%;
}

.raise__ul li {
    font-size: 2rem;
    margin-bottom: .5em;
}

@media screen and (max-width:1024px) {
    .raise {
        padding: 100px 0 0;
    }

    .raise .str__imgwrap {
        width: 50%;
        padding: 0 0 0 5%;
    }


    .raise .str__txtwrap--inner {
        margin: 0 0 0 auto;
        padding: 0 5% 0 0;
    }



    .raise__lesson {
        padding: 50px 0 40px;
    }

    .raise__h3 {
        font-size: 2rem;
        margin: 0 auto 30px;
        padding-bottom: 1em;
    }

    .raise__tabwrap {
        margin-bottom: 30px;
    }

    .raise__tab {
        width: 19%;
        height: 50px;
    }

    .raise__tab .txt {
        font-size: 1.4rem;
        line-height: 1.2;
        letter-spacing: 0;
    }

    .raise__tab .txt .small {
        font-size: 1rem;
        display: block;
        letter-spacing: 0;
    }

    .raise__atcwrap {
        padding: 0 5%;
    }


    .raise__h4 {
        font-size: 1.8rem;
        margin-bottom: 30px;
    }

    .raise__atc--inner {
        padding: 0 5%;
    }

    .raise__h5 {
        line-height: 40px;
        padding: 0 1em;
        font-size: 1.8rem;
        border-radius: 10px;
        margin-bottom: 20px;
    }

    .raise__ul {
        margin-left: 0;
    }

    .raise__ul li {
        font-size: 1.6rem;
        margin-bottom: .5em;
    }
}

@media screen and (max-width:767px) {
    .raise {
        padding: 60px 0 0;
    }

    .raise .inner__large {
        padding: 0;
    }

    .raise__item {
        display: flex;
        flex-direction: column-reverse;
    }

    .raise .str__imgwrap {
        width: 100%;
        padding: 0;
    }


    .raise .str__txtwrap--inner {
        margin: 0 auto;
        padding: 0;
    }


    .raise__lesson {
        padding: 40px 0 30px;
    }

    .raise__h3 {
        font-size: 1.6rem;
        margin: 0 auto 30px;
        padding-bottom: 1em;
    }

    .raise__tabwrap {
        margin-bottom: 20px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .raise__tab {
        width: 31%;
        margin: 0 1% 10px;
        height: 40px;
        border-radius: 5px;
    }

    .raise__tab .txt {
        font-size: 1.2rem;
    }

    .raise__tab .txt .small {
        font-size: 1rem;
    }

    .raise__atcwrap {
        padding: 0 5%;
    }


    .raise__h4 {
        font-size: 1.4rem;
        margin-bottom: 20px;
        text-align: justify;
    }

    .raise__atc--inner {
        padding: 0;
    }

    .raise__h5 {
        line-height: 30px;
        padding: 0 1em;
        font-size: 1.4rem;
        border-radius: 5px;
        margin-bottom: 15px;
    }

    .raise__ul {
        margin-left: 0;
    }

    .raise__ul li {
        font-size: 1.3rem;
        margin-bottom: .5em;
        text-indent: -1em;
        padding-left: 1em;

    }

}

/*============================
	resolve
============================*/

.resolve {
    padding: 180px 0 0;
}

.resolve__h3 {
    text-align: center;
    font-size: 2.6rem;
    text-decoration: underline;
    text-decoration-color: #f08200;
    text-underline-offset: 10px;
    margin-bottom: 50px;
}

.resolve__h4 {
    font-size: 2.2rem;
    margin-bottom: 30px;
}

.resolve__atc--item {
    margin-bottom: 70px;
}

.resolve__atc--item:last-child {
    margin-bottom: 0;
}

.resolve__ico {
    width: 140px;
}

.resolve__txtwrap {
    width: calc(100% - 140px);
    padding: 0 0 0 3%;
}

.resolve__h5 {
    font-size: 2.4rem;
    margin-bottom: .5em;
}

.resolve__txt {
    font-size: 1.8rem;
    font-weight: 500;
}

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

    .resolve {
        padding: 100px 0 0;
    }

    .resolve__h3 {
        font-size: 2rem;
        text-underline-offset: 6px;
        margin-bottom: 40px;
    }

    .resolve__h4 {
        font-size: 1.8rem;
        margin-bottom: 20px;
    }

    .resolve__atc--item {
        margin-bottom: 40px;
    }

    .resolve__ico {
        width: 100px;
    }

    .resolve__txtwrap {
        width: calc(100% - 100px);
        padding: 0 0 0 3%;
    }

    .resolve__h5 {
        font-size: 1.8rem;
        margin-bottom: .5em;
    }

    .resolve__txt {
        font-size: 1.4rem;

    }
}

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

    .resolve {
        padding: 80px 0 0;
    }

    .resolve .inner__large {
        padding: 0;
    }

    .resolve__h3 {
        font-size: 1.6rem;
        text-underline-offset: 6px;
        margin-bottom: 30px;
    }

    .resolve__h4 {
        font-size: 1.8rem;
        margin-bottom: 20px;
    }

    .resolve__atc--item {
        margin-bottom: 30px;
        display: flex;
    }

    .resolve__ico {
        width: 50px;
    }

    .resolve__txtwrap {
        width: calc(100% - 50px);
        padding: 0 0 0 3%;
    }

    .resolve__h5 {
        font-size: 1.4rem;
        margin-bottom: .5em;
    }

    .resolve__txt {
        font-size: 1.3rem;

    }
}


/*============================
   comparison
============================*/
.comparison {
    padding: 80px 0 120px;
}

.comp__ttl {
    font-size: 3rem;
    padding: 0 1em 1em;
    background: url(../img/top/comp_ttl_fukidashi.png) no-repeat center bottom/contain;
    margin: 0 auto 40px;
    width: fit-content;
}

.comp__lead {
    text-align: center;
    margin-bottom: 50px;
}

.comp__tbl {
    width: 100%;
}

.comp__tbl th {
    width: 25%;
    padding: 1em;
    font-size: 2rem;
    text-align: center;
    line-height: 1.2;
    vertical-align: middle;
}

.comp__tbl td {
    padding: 1em;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.2;
    vertical-align: middle;
    background-color: #faf9f7;
    border-bottom: solid 1px #c5c5c5;
    border-right: solid 1px #c5c5c5;
}

.comp__tbl td:first-child,
.comp__tbl td:last-child {
    border-right: none;
}

.comp__tbl td:first-child {
    font-size: 2rem;
}

.comp__tbl tr:last-child td {
    border-bottom: none;
}

/* .comp__tbl .th01 {
    border-radius: 10px 0 0 0;
} */

.comp__tbl .th03 {
    border-radius: 0 10px 0 0;
}

.comp__tbl .bg00 {
    background: #ccc;
}

.comp__tbl .bg01 {
    background: #f08200;
}

.comp__tbl .bg02 {
    background: #ffb000;
}

.comp__tbl .bg03 {
    background: #ffdf98;
}

.comp__tbl .bg04 {
    background: #f1eee7;
}

.comp__tbl td .mark {
    display: block;
}

@media screen and (max-width:1024px) {
    .comparison {
        padding: 60px 0 80px;
    }

    .comp__ttl {
        font-size: 2rem;
        padding: 0 1em 1em;
        background: url(../img/top/comp_ttl_fukidashi.png) no-repeat center bottom/contain;
        margin: 0 auto 30px;
    }

    .comp__lead {
        margin-bottom: 30px;
    }

    .comp__tbl th {
        width: 25%;
        padding: 1em;
        font-size: min(1.6rem, 1.6vw);
    }

    .comp__tbl td:first-child {
        font-size: min(1.6rem, 1.6vw);
    }

    .comp__tbl td {
        padding: 1em;
        font-size: min(1.4rem, 1.4vw);
    }

    /* .comp__tbl .th01 {
        border-radius: 10px 0 0 0;
    } */

    .comp__tbl .th03 {
        border-radius: 0 10px 0 0;
    }

}

@media screen and (max-width:767px) {
    .comparison {
        padding: 40px 0 60px;
    }

    .comparison .inner {
        padding: 0;
    }

    .comp__ttl {
        font-size: 1.6rem;
        padding: 0 1em 1em;
        background: url(../img/top/comp_ttl_fukidashi.png) no-repeat center bottom/contain;
        margin: 0 auto 20px;
    }

    .comp__lead {
        margin-bottom: 30px;
        text-align: left;
        padding: 0 5%;
    }

    .comp__tblwrap {
        overflow: hidden;
        overflow-x: scroll;
    }

    .comp__tbl {
        min-width: 770px;
    }

    .comp__tbl th {
        width: 25%;
        padding: 1em;
        font-size: 1.4rem;
    }

    .comp__tbl td:first-child {
        font-size: 1.4rem;
    }

    .comp__tbl td {
        padding: 1em;
        font-size: 1.2rem;
    }

    /* .comp__tbl .th01 {
        border-radius: 5px 0 0 0;
    } */

    .comp__tbl .th03 {
        border-radius: 0 5px 0 0;
    }

}


/*============================
   flow
============================*/
.flow {
    padding: 100px 0 120px;
    background: #fffae9;
}

.flow__ttl {
    font-size: 3rem;
    width: fit-content;
    margin: 0 auto 40px;
    position: relative;
    line-height: 1;
}


.flow__ttl::before {
    content: "";
    position: absolute;
    width: 2px;
    height: 30px;
    background: #f08200;
    left: -1em;
    bottom: 0;
    transform: rotate(-20deg);
}

.flow__ttl::after {
    content: "";
    position: absolute;
    width: 2px;
    height: 30px;
    background: #f08200;
    right: -1em;
    bottom: 0;
    transform: rotate(20deg);
}

.flow__item {
    background: #fff;
    padding: 40px 5%;
    max-width: 1000px;
    margin: 0 auto;
}

.flow__item.item05 {
    margin-bottom: 80px;
}

.flow__ico {
    width: 30%;
}

.flow__txtwarp {
    width: 65%;
}

.flow__arw {
    width: 47px;
    margin: 20px auto;
}

.flow__ico img {
    object-fit: contain;
    max-width: 153px;
    height: 143px;
    margin: 0 auto;
    display: block;
}

.item01 .flow__ico img {
    max-width: 120px;
}

.item02 .flow__ico img {
    max-width: 153px;
}

.item03 .flow__ico img {
    max-width: 142px;
}

.item04 .flow__ico img {
    max-width: 116px;
}

.item05 .flow__ico img {
    max-width: 120px;
}

.flow__h3 {
    font-size: 3rem;
    margin-bottom: 30px;
    line-height: 1;
}

.flow__h3 .color-ma {
    font-size: 3.6rem;
    line-height: 1;

}

.flow__txt {
    font-size: 2rem;
    font-weight: 500;
}

.flow .cv__btn {
    margin: 20px 0 0;

}

.flow .cv__btn a {
    line-height: 50px;
}

.relation__box {
    padding: 30px 5%;
    background: url(../img/top/bg_relation.png) no-repeat center center/cover;
    border-radius: 10px;
}

.relation__img {
    max-width: 485px;
    width: 45%;
}

.relation__txtwrap {
    width: 50%;
}

.relation__h3 {
    font-size: 2.4rem;
    padding: 0 1em;
    background: #fff;
    line-height: 45px;
    margin-bottom: 30px;
    width: fit-content;
}

.reration__txt {
    color: #fff;
    letter-spacing: .075em;
}

.reration__txt .bd {
    text-decoration: underline;
    text-underline-offset: 5px;
}

@media screen and (max-width:1024px) {
    .flow {
        padding: 60px 0 80px;
    }

    .flow__ttl {
        font-size: 2.4rem;
        margin: 0 auto 30px;
    }

    .flow__ttl::before {
        width: 2px;
        height: 25px;
        left: -1em;
    }

    .flow__ttl::after {
        width: 2px;
        height: 25px;
        right: -1em;
    }

    .flow__item {
        padding: 30px 5%;
        margin: 0 auto;
    }

    .flow__item.item05 {
        margin-bottom: 60px;
    }

    .flow__ico {
        width: 30%;
    }

    .flow__txtwarp {
        width: 65%;
    }

    .flow__arw {
        width: 35px;
        margin: 15px auto;
    }

    .flow__ico img {
        transform: scale(.8);
        margin: 0 auto;
    }

    .flow__h3 {
        font-size: 2rem;
        margin-bottom: 20px;
    }

    .flow__h3 .color-ma {
        font-size: 2.6rem;

    }

    .flow__txt {
        font-size: 1.6rem;
    }

    .flow .cv__btn {
        margin: 15px 0 0;

    }

    .flow .cv__btn a {
        line-height: 40px;
    }

    .relation__box {
        padding: 30px 5%;
        background: url(../img/top/bg_relation.png) no-repeat center center/cover;

    }

    .relation__img {
        width: 45%;
    }

    .relation__txtwrap {
        width: 50%;
    }

    .relation__h3 {
        font-size: 1.8rem;
        padding: 0 1em;
        line-height: 35px;
        margin-bottom: 20px;
    }

    .reration__txt .bd {
        text-underline-offset: 5px;
    }
}

@media screen and (max-width:767px) {
    .flow {
        padding: 60px 0;
    }

    .flow__ttl {
        font-size: 2rem;
        margin: 0 auto 30px;
    }

    .flow__ttl::before {
        width: 2px;
        height: 20px;
        left: -1em;
    }

    .flow__ttl::after {
        width: 2px;
        height: 20px;
        right: -1em;
    }

    .flow__item {
        padding: 30px 5%;
        margin: 0 auto;
    }

    .flow__item.item05 {
        margin-bottom: 40px;
    }

    .flow__ico {
        width: 100%;
        margin-bottom: 20px;
    }

    .flow__txtwarp {
        width: 100%;
    }

    .flow__arw {
        width: 30px;
        margin: 10px auto;
    }

    .flow__ico img {
        transform: scale(.8);
        margin: 0 auto;
    }

    .flow__h3 {
        font-size: 1.6rem;
        margin-bottom: 15px;
    }

    .flow__h3 .color-ma {
        font-size: 2rem;

    }

    .flow__txt {
        font-size: 1.4rem;
    }

    .flow .cv__btn {
        margin: 20px 0 0;

    }

    .flow .cv__btn a {
        line-height: 40px;
    }

    .relation__box {
        padding: 30px 5%;
        border-radius: 5px;

    }

    .relation__img {
        width: 100%;
        margin-bottom: 30px;
    }

    .relation__txtwrap {
        width: 100%;
    }

    .relation__h3 {
        font-size: 1.6rem;
        padding: 0 .5em;
        line-height: 30px;
        margin-bottom: 15px;
    }

    .reration__txt .bd {
        text-underline-offset: 5px;
    }
}

/*============================
case
============================*/
.case {
    padding: 90px 0 100px;
    background: #faf9f7;
}

.case__ttl {
    text-align: center;
    font-size: 3rem;
    margin-bottom: 70px;
    position: relative;
}

.case__ttl::before {
    content: "";
    position: absolute;
    width: 40px;
    height: 2px;
    background: #f08200;
    bottom: -20px;
    left: 50%;
    transform: translate(-50%);
}

.case__lead {
    text-align: center;
    margin-bottom: 50px;
}

.case__item {
    width: 47%;
    max-width: 570px;
}

.case__img {
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 35px;
}

.case__h3 {
    font-size: 2.2rem;
    min-height: 3.5em;
    display: block;
    border-bottom: solid 1px #727171;
    padding-bottom: .5em;
    margin-bottom: .5em;
}

.case__h4 {
    font-size: 1.7rem;
    margin-bottom: 30px;
}

.case__btn {
    width: 250px;
    line-height: 55px;
    background: #727171;
    color: #fff;
    border-radius: 27.75px;
    text-align: center;
    padding: 0 1em;
    font-size: 1.8rem;
}

@media screen and (max-width:1024px) {
    .case {
        padding: 60px 0 80px;
    }

    .case__ttl {
        font-size: 2.4rem;
        margin-bottom: 40px;
    }

    .case__ttl::before {
        width: 30px;
        height: 2px;
        bottom: -15px;
    }

    .case__lead {
        margin-bottom: 30px;
    }

    .case__item {
        width: 48%;
    }

    .case__img {
        border-radius: 10px;
        margin-bottom: 20px;
    }

    .case__h3 {
        font-size: min(1.8rem, 1.8vw);
        min-height: 3.5em;
        padding-bottom: .5em;
        margin-bottom: .5em;
    }

    .case__h4 {
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .case__btn {
        width: 200px;
        line-height: 45px;
        border-radius: 22.5px;
        font-size: 1.4rem;
    }
}

@media screen and (max-width:767px) {
    .case {
        padding: 60px 0;
    }

    .case__ttl {
        font-size: 1.8rem;
        margin-bottom: 30px;
    }

    .case__ttl::before {
        width: 30px;
        height: 2px;
        bottom: -15px;
    }

    .case__lead {
        margin-bottom: 30px;
    }

    .case__item {
        width: 100%;
    }

    .case__item.item01 {
        margin-bottom: 30px;
    }

    .case__img {
        border-radius: 10px;
        margin-bottom: 20px;
    }

    .case__h3 {
        font-size: 1.6rem;
        min-height: auto;
        padding-bottom: .5em;
        margin-bottom: .5em;
    }

    .case__h4 {
        font-size: 1.4rem;
        margin-bottom: 20px;
    }

    .case__btn {
        width: 200px;
        line-height: 40px;
        border-radius: 20px;
        font-size: 1.4rem;
    }
}

/*============================
  faq
============================*/
.faq {
    padding: 100px 0 80px;
    background: #faf9f7;
}



.faq__atc {
    margin-bottom: 70px;
}

.faq__atc:last-child {
    margin-bottom: 0;
}

.faq__q {
    font-size: 2rem;
    border-bottom: solid 1px #c0c0c0;
    margin-bottom: 1em;
    padding: 0 3em .5em;
    position: relative;
    cursor: pointer;
}

.faq__q .txt-en {
    font-size: 2.4rem;
    left: .5em;
    top: 0;
    line-height: 1;
}

.faq__q .ac__mark {
    position: absolute;
    top: 50%;
    right: .5em;
    height: 17px;
    width: 3px;
    background: #f08200;
    transform: translate(0, -50%);
    transition: .3s;

}

.faq__q .ac__mark::before {
    content: "";
    position: absolute;
    height: 3px;
    width: 17px;
    background: #f08200;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    transition: .3s;

}

.faq__q.close .ac__mark {
    transform: translate(0, -50%) rotate(90deg);

}

.faq__q.close .ac__mark::before {
    opacity: 0;

}

.faq__a {
    font-size: 2rem;
    padding: 0 0 .5em 3em;
    position: relative;
    display: none;
}

.faq__a .txt-en {
    font-size: 2.4rem;
    left: .5em;
    top: 0;
    line-height: 1;
    color: #ffb000;
}

.faq__txt {
    font-size: 2rem;
    text-align: center;
}

@media screen and (max-width:1024px) {
    .faq {
        padding: 80px 0;
    }


    .faq__atc {
        margin-bottom: 40px;
    }


    .faq__q {
        font-size: 1.6rem;
        margin-bottom: 1em;
        padding: 0 3em .5em;
    }

    .faq__q .txt-en {
        font-size: 2rem;
        left: .5em;
        top: 0;
    }

    .faq__q .ac__mark {
        top: 50%;
        right: .5em;
        height: 14px;
        width: 2px;
    }

    .faq__q .ac__mark::before {
        height: 2px;
        width: 14px;
    }


    .faq__a {
        font-size: 1.6rem;
        padding: 0 0 .5em 3em;
    }

    .faq__a .txt-en {
        font-size: 2rem;
        left: .5em;
        top: 0;
    }

    .faq__txt {
        font-size: 1.6rem;
    }
}

@media screen and (max-width:767px) {
    .faq {
        padding: 60px 0;
    }

    .faq__atc {
        margin-bottom: 30px;
    }


    .faq__q {
        font-size: 1.3rem;
        margin-bottom: 1em;
        padding: 0 2em .5em 3em;
    }

    .faq__q .txt-en {
        font-size: 1.6rem;
        left: .5em;
        top: 0;
    }

    .faq__q .ac__mark {
        top: 50%;
        right: .5em;
        height: 12px;
        width: 2px;
    }

    .faq__q .ac__mark::before {
        height: 2px;
        width: 12px;
    }


    .faq__a {
        font-size: 1.3rem;
        padding: 0 0 .5em 3em;
    }

    .faq__a .txt-en {
        font-size: 1.6rem;
        left: .5em;
        top: 0;
    }
    .faq__txt {
        font-size: 1.4rem;
        text-align: left;
    }
}

/*============================
  contact
============================*/
.contact {
    padding: 100px 0;
}

.contact .mt100{
	margin-top: 100px;
}

.contact .txt_c{
	text-align: center;
}

.contact__ttl {
    text-align: center;
    font-size: 3rem;
    margin-bottom: 100px;
    position: relative;
}

.contact__ttl::before {
    content: "";
    position: absolute;
    width: 40px;
    height: 2px;
    background: #f08200;
    bottom: -20px;
    left: 50%;
    transform: translate(-50%);
}

.contact__form {
    max-width: 860px;
    margin: 0 auto;
}

@media screen and (max-width:1024px) {
    .contact {
        padding: 80px 0;
    }

    .contact__ttl {
        font-size: 2.4rem;
        margin-bottom: 60px;
    }

    .contact__ttl::before {
        width: 30px;
        height: 2px;
        bottom: -15px;
    }

    .contact__form {
        margin: 0 auto;
    }
}

@media screen and (max-width:767px) {
    .contact {
        padding: 60px 0;
    }

    .contact__ttl {
        font-size: 2rem;
        margin-bottom: 40px;
    }

    .contact__ttl::before {
        width: 30px;
        height: 2px;
        bottom: -15px;
    }

    .contact__form {
        margin: 0 auto;
    }
}

.form__item {
  padding-bottom: 40px;
  width: 100%;
  align-items: center;
}
@media screen and (max-width:767px) {
  .form__item {
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
  }
}
.form__item:nth-child(5) {

}
.form__item__label {
  width: 100%;
  margin-bottom: 10px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 18px;
}
@media screen and (max-width:767px) {
  .form__item__label {
    max-width: inherit;
  margin-bottom: 5px;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
}
.form__item__label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
@media screen and (max-width:767px) {
  .form__item__label.isMsg {
    margin-top: 0;
  }
}
.form__item__label__required {
  border-radius: 6px;
  margin-left: 8px;
  padding-top: 4px;
  padding-bottom: 4px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: #f08200;
  color: #fff;
  font-size: 12px;
}
@media screen and (max-width:767px) {
  .form__item__label__required {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
  }
}

.form__item__label__sub {
  width: 100%;
  margin-bottom: 5px;
  margin-top: 15px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 14px;
}

.form__item__input {
  border-radius: 6px;
  margin-left: 20px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  width: 400px;
  background: #f5f2ed;
  font-size: 18px;
}
@media screen and (max-width:767px) {
  .form__item__input {
    margin-left: 0;
    margin-top: 5px;
    height: 40px;
    flex: inherit;
    font-size: 15px;
    width: 100%;
  }
}
.form__item__textarea {
  border-radius: 6px;
  border: none;
  margin-left: 20px;
  padding-left: 1em;
  padding-top: 1em;
  height: 216px;
  width: 100%;
  max-width: 800px;
  background: #f5f2ed;
  font-size: 18px;
}
@media screen and (max-width:767px) {
  .form__item__textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}
.form__btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 400px;
    margin: 30px auto 0;
    padding: .9em 2em;
    border: none;
    border-radius:40px;
    background-image: linear-gradient(45deg, #ffc107, #ff7b5f);
    color: #fff;
    font-weight: 600;
    font-size: 1.28em;
}
@media screen and (max-width:767px) {
  .form__btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 80%;
    font-size: 16px;
  }
}

.form__selectbox {
    position: relative;
	margin-left: 20px;
}

.form__selectbox::before,
.form__selectbox::after {
    position: absolute;
    content: '';
    pointer-events: none;
}

@media screen and (max-width:767px) {
  .form__selectbox::before,
  .form__selectbox::after {
    margin-top: 14px;
  }
}

.form__selectbox::before {
    display: inline-block;
    right: 0;
    width: 2.8em;
    height: 2.8em;
    border-radius: 0 3px 3px 0;
    background-color: #f08200;
}

.form__selectbox::after {
    position: absolute;
    top: 50%;
    right: 1.4em;
    transform: translate(50%, -50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
}

.form__selectbox select {
    appearance: none;
    width: 400px;
    height: 2.8em;
    padding: .4em 3.6em .4em .8em;
    border: none;
    border-radius: 3px;
    background-color: #f5f2ed;
    color: #333;
    font-size: 1em;
    cursor: pointer;
}

@media screen and (max-width:767px) {
  .form__selectbox select {
    width: 100%;
  }
}


.form__selectbox select:focus {
    outline: 2px solid #f08200;
}

.form__checkbox {
	margin-left: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: .5em 2em;
    border: none;
}

.form__checkbox label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}

.form__checkbox label::before,
.form__checkbox label:has(:checked)::after {
    content: '';
}

.form__checkbox label::before {
    width: 17px;
    height: 17px;
    border-radius: 3px;
    background-color: #f5f2ed;
}

.form__checkbox label:has(:checked)::before {
    background-color: #f08200;
}

.form__checkbox label:has(:checked)::after {
    position: absolute;
    top: 6px;
    left: 6px;
    transform: rotate(45deg);
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
}

.form__checkbox input {
    display: none;
}

.form__txt p{
	margin-bottom: 20px;
	font-size: 14px;
}

.form__txt a{
	text-decoration: underline;
}

/*============================
   company
============================*/
.company {
    padding: 100px 0;
    background: #fffae9;

}

.company__ttl {
    text-align: center;
    font-size: 3rem;
    margin-bottom: 100px;
    position: relative;
}

.company__ttl::before {
    content: "";
    position: absolute;
    width: 40px;
    height: 2px;
    background: #f08200;
    bottom: -20px;
    left: 50%;
    transform: translate(-50%);
}

.company__left {
    width: 40%;
}

.company__right {
    width: 55%;
}

.company__img {
    max-width: 570px;
}

.company__dl dt {
    float: left;
}

.company__dl dd {
    font-weight: 500;
    padding: 0 0 .5em 30%;
    border-bottom: solid 1px #c0c0c0;
    margin-bottom: 1em;
}

.company__dl dd.last {
    margin-bottom: 0;
    min-height: 4em;
}

@media screen and (max-width:1024px) {
    .company {
        padding: 80px 0;

    }

    .company__ttl {
        font-size: 2.4rem;
        margin-bottom: 60px;
        position: relative;
    }

    .company__ttl::before {
        width: 30px;
        height: 2px;
        bottom: -15px;
    }

    .company__left {
        width: 40%;
    }

    .company__right {
        width: 57%;
    }

    .company__dl dt {
        float: left;
        font-size: 1.2rem;
        letter-spacing: 0;
    }

    .company__dl dd {
        padding: 0 0 .5em 120px;
        margin-bottom: 1em;
        font-size: 1.2rem;
        letter-spacing: 0;
    }

    .company__dl dd.last {
        min-height: 4em;
    }
}

@media screen and (max-width:767px) {
    .company {
        padding: 60px 0;

    }

    .company__ttl {
        font-size: 2rem;
        margin-bottom: 40px;
    }

    .company__ttl::before {
        width: 30px;
        height: 2px;
        bottom: -15px;
    }

    .company__left {
        width: 100%;
        margin-bottom: 30px
    }

    .company__right {
        width: 100%;
    }

    .company__dl dt {
        float: left;
        font-size: 1.2rem;
        letter-spacing: 0;
    }

    .company__dl dd {
        padding: 0 0 .5em 130px;
        margin-bottom: 1em;
        font-size: 1.2rem;
        letter-spacing: 0;
    }

    .company__dl dd.last {
        min-height: 4em;
    }
}

/*============================
  document
============================*/
.document {
    padding: 100px 0 0;
}

.document__ttl {
    text-align: center;
    font-size: 3rem;
    margin-bottom: 100px;
    position: relative;
}

.document__ttl::before {
    content: "";
    position: absolute;
    width: 40px;
    height: 2px;
    background: #f08200;
    bottom: -20px;
    left: 50%;
    transform: translate(-50%);
}

.document__form {
    max-width: 1055px;
    margin: 0 auto;
}

@media screen and (max-width:1024px) {
    .document {
        padding: 80px 0 0;
    }

    .document__ttl {
        font-size: 2.4rem;
        margin-bottom: 60px;
    }

    .document__ttl::before {
        width: 30px;
        height: 2px;
        bottom: -15px;
    }

    .document__form {
        margin: 0 auto;
    }
}

@media screen and (max-width:767px) {
    .document {
        padding: 60px 0 0;
    }

    .document__ttl {
        font-size: 2rem;
        margin-bottom: 40px;
    }

    .document__ttl::before {
        width: 30px;
        height: 2px;
        bottom: -15px;
    }

    .document__form {
        margin: 0 auto;
    }
}


/********** infinity-scroll-leftここから **********/
@keyframes infinity-scroll-left {
    from {
      transform: translateX(0);
    }
      to {
      transform: translateX(-100%);
    }
    }
    .scroll-infinity{
        margin: 30px 0;
    }
    .scroll-infinity__wrap {
      display: flex;
      overflow: hidden;
      margin: 30px 0;
    }
    .scroll-infinity__list {
      display: flex;
      list-style: none;
      padding: 0
    }
    .scroll-infinity__list--left {
      animation: infinity-scroll-left 80s infinite linear 0.5s both;
    }
    .scroll-infinity__item {
      /*width: calc(100vw / 6);*/
      width: 5300px;
      margin-right: 40px;
    }
    .scroll-infinity__item>img {
      width: 100%;
    }
  /********** infinity-scroll-leftここまで **********/