/*//////////
common 追加
/////////*/
.pc {
    display: inline-block;
}


@media (max-width: 767px) {
    .pc {
        display: none;
    }
}

p {
    font-size: 1.8rem;
}

p.txt {
    padding: 4rem 0 0;
}

h2 {
    font-size: 3.2rem;
    font-weight: 800;
    line-height: 1.25;
}

h2+p {
    padding-top: 4rem;
}

h3 {
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1.25;
}

.grid-wrap {
    display: grid;
    margin: auto;
    grid-auto-rows: auto;
}

.grid-col2 {
    gap: 2rem;
    grid-template-columns: 1fr 1fr;
}

@media (max-width: 1024px) {
    .grid-col2 {
        grid-template-columns: repeat(1, 1fr);
        gap: 0 40px;
    }
}

@media (max-width: 550px) {
    .grid-col2 {
        grid-template-columns: repeat(1, 1fr);
    }
}

.grid-col2 li {}

.col2-imagebox {
    padding: 0;
}

@media (max-width: 1024px) {
    .col2-imagebox {
        padding: 0 8rem;
    }
}

@media (max-width: 550px) {
    .col2-imagebox {
        padding: 0;
    }
}

.col2-leadbox {
    padding: 2rem;

}

.imagebox {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.imagebox img {
    object-fit: contain;
}

@media (max-width: 820px) {
    .imagebox img {
        max-width: 100%;
    }
}

@media (max-width: 550px) {
    .imagebox img {
        padding: 0;
    }
}


.main-contents .section+.section .section-inner {
    padding-top: 56px;
}


/*////////////////////////////////////////////////////////////
インライン記述部分移動ここから
///////////////////////////////////////////////////////////*/

/* ヘッダーアナウンスエリア */
div#header-column {
    display: none;
}


div#fti-announce {
    max-width: 1280px;
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

div#fti-logo-area {
    position: relative;
    min-height: 94px;
}

p#fti-symbol {
    margin-top: 30px;
}

p#fti-symbol img {
    /* width: auto; */
    /* height: 60px;  */
    max-width: inherit;
    width: 202px;
    height: auto;
}

div#fti-txt-area {
    min-height: 94px;
    width: 100%;
    /* border: 1.5px solid #c6c6c0; */
    /* border: 1px solid #41A1BE; */
    border-radius: 10px;
    /* background-color: #eee; */
    padding: 8px 16px;
    display: flex;
    align-items: center;
    margin: 8px 16px 0 8px;
    background-image: linear-gradient(315deg, rgba(38, 243, 58, 0.2), rgba(4, 202, 255, 0.2));
}

div#fti-txt-area>p {
    margin-bottom: 0;
}

@media only screen and (max-width: 1280px) {
    div#fti-logo-area {
        padding: 0 8px
    }
}

@media only screen and (max-width: 1000px) {
    div#fti-announce {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        position: relative;
    }

    div#fti-logo-area {
        min-height: inherit;
    }

    p#fti-symbol {
        margin-top: 12px;
    }

    p#fti-symbol img {
        /* height: 55px; */
    }

    div#fti-txt-area {
        min-height: inherit;
    }
}

@media only screen and (max-width: 768px) {
    div#fti-announce {
        display: block;
    }

    div#fti-txt-area {
        margin: 8px;
        width: fit-content;
    }
}

@media only screen and (max-width: 480px) {
    div#fti-logo-area {
        padding: 0 16px;
    }

    p#fti-symbol {
        margin-top: 8px;
    }
}

/*main nav border delete*/
.c-nav-header-wrap {
    border-top: none;
}


/*hero area */
.c-hero-2nd {
    background-image: url(/jp/imagesgig5/kv_tcm102-7672163_tcm102-2750236-32.jpg);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: cover;
    aspect-ratio: 16 / 4;
    /* アスペクト比を保持してレスポンシブ */
}

@media screen and (max-width: 1028px) {
    .c-hero-2nd {
        aspect-ratio: 16 / 5;
        /* アスペクト比を保持してレスポンシブ */
    }
}

@media screen and (max-width: 820px) {
    .c-hero-2nd {
        display: block;
        height: auto;
        background-image: none;
        aspect-ratio: inherit;
    }
}

.c-hero-2nd .c-hero-2nd_grad {
    width: 55%;
}

@media screen and (max-width: 820px) {
    .c-hero-2nd .c-hero-2nd_grad {
        width: 100%;
    }
}

.c-hero-2nd .c-hero-2nd_grad::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(55deg, rgba(4, 70, 135, 1) 64%, rgba(65, 161, 190, 1) 85%, rgba(87, 199, 133, 1) 97%);
    clip-path: polygon(0 0, 100% 0, 86% 100%, 0% 100%);
}

@media screen and (max-width: 820px) {
    .c-hero-2nd .c-hero-2nd_grad::before {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    }
}


.c-hero-2nd_pt {
    width: 45%;
}

@media screen and (max-width: 820px) {
    .c-hero-2nd_pt {
        position: relative;
        width: 100%;
        height: 0;
        padding-top: calc(885 / 1497* 100%);
        min-height: 0;
        background-position: center;
        background-image: url(/jp/imagesgig5/sp_kv_tcm102-7672196_tcm102-2750236-32.jpg);
        background-repeat: no-repeat;
    }
}

.c-hero-2nd-isnt-mark .c-hero-2nd_textcol {
    max-width: 702px;
    padding-right: 14.4%;
    filter: drop-shadow(0px 0px 60px rgba(0, 0, 0, 1));
}

@media (max-width: 768px) {
    .c-hero-2nd-isnt-mark .c-hero-2nd_textcol {
        padding-right: 0;
    }
}


.c-hero-2nd-isnt-mark .c-hero-2nd_title {
    font-size: 4rem !important;
}


/*footer Area*/

/* 31 */
.sp-only {
    display: none;
}

/* 98 */
section.active {
    opacity: 1;
    top: 0;
}

/* 108 */
@media (max-width: 768px) {
    .sp-only {
        display: block;
    }
}

/* 325 */
.product-cta {
    display: flex;
    justify-content: center;
    background: #ececec;
    padding: 60px 0;
    position: relative;
}

/* 332 
.explanatory-text {
max-width: 1000px;
width: 95%;
margin: 20px auto 20px;
text-align: center;
}
*/


/* 338 */
.product-cta h2 {
    font-size: 2.4rem;
    font-weight: 700;
}

.product-cta h3 {
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 24px;
}

/* 341 */
.product-cta__block {
    width: 50%;
    padding: 0 5vw;
}

/* 345 */
.product-cta__block:first-child:after {
    content: '';
    width: 2px;
    height: 250px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: block;
    background-color: #cccccc;
}

/* 360 */
.product-cta__block p {
    margin: 30px auto 0 auto;
    text-align: center;
    line-height: 28px;
    font-size: 1.4rem;
}

/* 366 */
.product-cta__block .tel-num {
    display: block;
    font-size: 3.3rem;
}

/* 370 */
.cta-btn {
    background-color: #044687;
    text-align: center;
    margin: auto;
    padding: 0px;
}

/* 376 */
.cta-btn.lightblue {
    padding: 0px;
    background-color: #1991c0;
}

/* 380 */
.cta-btn a {
    color: white;
    font-size: 1.8rem;
    display: block;
    line-height: 6rem;
    position: relative;
}

/* 387 */
.cta-btn a span {
    position: relative;
}

/* 390 */
.cta-btn a span::before {
    content: '';
    background-image: url(https://www.fsastech.com/ja-jp/img/common/icon-mail.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    /*     height: 16px; */
    height: 18px;
    display: block;
    position: absolute;
    top: 55%;
    left: -30px;
    transform: translateY(-50%);
}

/* 403 */
.cta-btn.lightblue a span::before {
    background-image: url(https://www.fsastech.com/ja-jp/img/common/icon-tel.png);
    width: 23px;
    height: 30px;
}

/* 409
.cta-btn a::after, .cta-btn.lightblue a::after {
content: '';
background-image: url(https://www.fsastech.com/ja-jp/img/common/arrow-white.png);
background-repeat: no-repeat;
background-size: contain;
width: 12px;
height: 17px;
display: block;
position: absolute;
}
*/

/* 409 webのみ*/
.cta-btn.web a::after {
    content: '';
    background-image: url(https://www.fsastech.com/ja-jp/img/common/arrow-white.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 12px;
    height: 17px;
    display: block;
    position: absolute;
}

/* 419 */
.cta-btn a::after {
    top: 23px;
    right: 1vw;
}

/* 441 */
@media (max-width: 950px) {
    .product-cta__block {
        width: 50%;
        padding: 0 4vw;
    }
}

/* 447 */
@media (max-width: 768px) {
    .product-cta {
        flex-direction: column;
        gap: 65px 0;
    }
}

/* 451 */
@media (max-width: 768px) {
    .product-cta__block {
        width: 90%;
        margin: auto;
    }
}

/* 455 */
@media (max-width: 768px) {
    .product-cta__block .tel-num {
        font-size: 5.5vw;
    }
}

/* 458 */
@media (max-width: 768px) {
    .product-cta__block:first-child:after {
        width: 80%;
        height: 1px;
    }
}

/* 462 */
@media (max-width: 768px) {
    .product-cta h3 {
        font-size: 3.64vw;
    }
}

/* 465 */
@media (max-width: 768px) {
    .cta-btn a {
        line-height: 9rem;
        font-size: 3.12vw;
    }
}

/* 469 */
@media (max-width: 768px) {
    .cta-btn a::after {
        top: 38px;
        right: 6vw;
    }
}

/* 473 */
@media (max-width: 768px) {
    .cta-btn a span::before {
        left: -7vw;
        width: 5.5vw;
        height: 4vw;
    }
}

/* 478 */
@media (max-width: 768px) {
    .cta-btn.lightblue a span::before {
        width: 5vw;
        height: 6.6vw;
    }
}

/* 482 */
@media (max-width: 768px) {
    .explanatory-text {
        font-size: 3.64vw;
        margin: 4% auto 6%;
    }
}

/* 486 */
@media (max-width: 768px) {
    .product-cta__block p {
        font-size: 3.12vw;
        line-height: normal;
    }
}

/* 12 */
section.primergy-consultation {
    /*    max-width: 1000px; */
    max-width: 1100px;
    width: 95%;
    /*    margin: 100px auto; */
    margin: 0 auto 100px;
}

/* 180 */
@media (max-width: 768px) {
    section.primergy-consultation {
        width: 90vw;
    }
}

/* 183 */
@media (max-width: 768px) {
    .product-cta {
        padding-top: 4vw;
    }
}

/* 186 */
@media (max-width: 768px) {
    .product-cta__block p {
        margin: 5vw auto 0 auto;
        font-size: 3.12vw;
    }
}

/* 257 */
@media (max-width: 768px) {
    .product-cta__block:first-child .cta-btn a {
        font-size: 2.86vw;
        line-height: 12.63vw;
    }
}

/* 266 */
@media (max-width: 768px) {
    .product-cta__block .tel-num {
        line-height: 16.92vw;
    }
}

/* 269 */
@media (max-width: 768px) {
    .cta-btn a::after {
        top: 51%;
        transform: translateY(-50%);
    }
}

/* 273 */
@media (max-width: 768px) {
    .product-cta__block:first-child:after {
        top: 43.5vw;
        transform: translate(-50%, 0);
    }
}


/* フッターお問い合わせ注意書き */
div#foot-fti-announce {
    background: #3c3c3c;
    color: #fff;
    padding: 16px;
    text-align: center;
}

div#foot-fti-announce>p {
    display: block;
    max-width: 1200px;
    margin: auto;
}

/*////////////////////////////////////////////////////////////
インライン記述部分移動ここまで
///////////////////////////////////////////////////////////*/


/*contents*/
/*===========
attention
===========*/

#attention .col2-leadbox {
    padding: 2rem 2rem 2rem 8rem;

}

@media (max-width: 820px) {
    #attention .col2-leadbox {
        padding: 4rem 0;
    }
}

#attention p.txt {
    margin-top: 4rem;
}

@media (max-width: 820px) {
    #attention p.txt {
        margin-top: 0;
        padding: 0 0 4rem;
    }
}

#attention .imagebox {
    background: #f3f3f3;
    border-radius: 2rem;
    padding: 4rem;
}

@media (max-width: 1024px) {
    #attention .imagebox {
        margin-top: 0;
        padding: 4rem;
    }
}

@media (max-width: 550px) {
    #attention .imagebox {
        padding: 2rem;
    }
}


/*===========
merit
===========*/
#merit {
    background-color: rgba(65, 161, 190, .25);
}


#merit .col2-leadbox {
    padding: 0 8rem 0 0;

}

@media (max-width: 820px) {
    #merit .col2-leadbox {
        padding: 0 0 2rem 0;
    }

    #merit h2 {
        text-align: center;
    }
}

#merit .col2-imagebox {
    margin: 4rem 0 0;
}

@media (max-width: 550px) {
    #merit .col2-imagebox {
        padding: 0;
    }
}

#merit .col2-imagebox h3 {
    text-align: center;

}

@media (max-width: 768px) {
    #merit .col2-imagebox h3 {
        padding: 2rem 0;
    }

}

/*===========
usecace
===========*/
#usecace {
    background-color: #f3f3f3;
}

#usecace h2 {
    text-align: center;
}

#usecace h3 {
    text-align: center;
    padding: 5rem 0;
}

@media (max-width: 768px) {
    #usecace h3 {
        padding: 2rem 0 4rem;
    }
}

#usecace .aiflow li {
    position: relative;
    background: #fff;
    margin-bottom: 4rem;
    border-radius: 2rem;
    padding: 4rem;
}

@media (max-width: 1024px) {
    #usecace .aiflow li {
        padding: 2rem 1.5rem;
    }
}

#usecace .aiflow li:last-child {
    padding-bottom: 0;
}

#usecace .aiflow li .number {
    position: absolute;
    top: -2rem;
    left: 2rem;
    padding: .5rem 2rem 1rem;
    color: #fff;
    background: #044687;
    font-size: 2.4rem;
    clip-path: polygon(0% 0%, 100% 0, 100% 90%, 60% 90%, 50% 100%, 40% 90%, 0 90%);
}


#usecace .aiflow li h4 {
    position: relative;
    padding-left: 0;
    padding-top: 2rem;
    font-size: 3rem;
    line-height: 1.5;
    margin-bottom: 4rem;
}

@media (max-width: 550px) {
    #usecace .aiflow li h4 {
        font-size: 2.4rem;
    }
}

#usecace .aiflow li h4 span {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0 2rem;
    color: #fff;
    background: #044687;
    border-radius: 4px;
}

#usecace .aiflow li h4 span:after {
    position: absolute;
    top: calc(50% - 7px);
    right: -8px;
    width: 0;
    height: 0;
    content: '';
    border-width: 7px 0 7px 12px;
    border-style: solid;
    border-color: transparent transparent transparent #044687;
}


#usecace .aiflow .result-box {
    display: flex;
}

@media (max-width: 840px) {
    #usecace .aiflow .result-box {
        flex-direction: column;
    }
}


#usecace .aiflow .result-box {
    counter-reset: alpha;
}

#usecace .aiflow .result-box li p.title {
    padding: 5px 10px 5px 72px;
    font-size: 2rem;
    font-weight: 800;
    position: relative;
    line-height: 1.25;
    display: flex;
    align-items: center;
    min-height: 6rem;
}


#usecace .aiflow .result-box li p.title:before {
    counter-increment: alpha;
    content: counter(alpha, upper-alpha);
    position: absolute;
    top: calc(50% - 25px);
    left: 1rem;
    display: block;
    padding: 0 2rem;
    background: #85c023;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 5rem;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

#usecace .aiflow .result-box li img {
    margin-top: 0 !important;
}

/*===========
product
===========*/
#product {}

#product h2 {
    text-align: center;
    padding-bottom: 4rem;
}

#product h3.title-a,
#product h3.title-b {
    position: relative;
}

#product h3.title-a::before {
    position: absolute;
    bottom: -.5rem;
    left: 0;
    width: 20rem;
    height: 4px;
    content: '';
    background-image: linear-gradient(to right, #41a1be 0%, #85c023 100%);
}

#product h3.title-b::before {
    position: absolute;
    bottom: -.5rem;
    left: 0;
    width: 39rem;
    height: 4px;
    content: '';
    background-image: linear-gradient(to right, #41a1be 0%, #85c023 100%);
}

@media (max-width: 409px) {
    #product h3.title-b::before {
        width: 25rem;
    }
}

@media (max-width: 550px) {
    #product h3.title-b {
        padding-top: 4rem;
    }
}

#product .col2-leadbox {
    padding: 0 8rem 2rem 0;
}

@media (max-width: 1023px) {
    #product .col2-leadbox {
        padding: 0;
    }
}

@media (max-width: 1024px) {
    #product .col2-imagebox {
        padding: 0 16rem;
    }
}

@media (max-width: 820px) {
    #product .col2-imagebox {
        padding: 0 8rem;
    }
}

@media (max-width: 550px) {
    #product .col2-imagebox {
        padding: 0 2rem;
    }
}

@media (max-width: 820px) {
    #product .col2-imagebox .imagebox img {
        padding: 0 8rem;
    }
}

#product .point-list {
    padding-bottom: 4rem;
}

#product ul.point-list {
    position: relative;
    padding: 2rem;
    list-style-type: none;
    margin: 34px 0;
    background: #f3f3f3;
    border-radius: 1rem;
}

#product ul.point-list li {
    padding: 0 0.5em;
    margin-bottom: 2rem;
    border-left: solid 4px #40a0bc;
    font-size: 1.6rem;
}

#product ul.point-list li:last-child {
    margin-bottom: 0;
}

#product .btn-a:hover,
#product .btn-a:active,
#product .btn-a:focus {
    border-color: #40a0bc
}

#product .btn-a:hover:before,
#product .btn-a:active:before,
#product .btn-a:focus:before {
    border-color: #40a0bc
}

#product .btn-a {
    margin: 4rem 0;
}

@media (max-width: 550px) {
    #product .btn-a {
        margin: 2rem 0;
    }
}

/*===========
leadarea
===========*/
#leadarea {
    margin-bottom: 8rem;
    background-image: radial-gradient(rgba(0, 0, 0, .25) 30%, rgba(0, 0, 0, 0) 31%), radial-gradient(rgba(0, 0, 0, .25) 30%, rgba(0, 0, 0, 0) 31%);
    background-size: 8px 8px !important;
    background-position: 0 0, 4px 4px;
    background-color: rgb(25 145 192)
}

#leadarea img {
    filter: drop-shadow(0 0 .75rem #126484);
}

@media (max-width: 550px) {
    #leadarea .col2-imagebox {
        padding: 0;
    }
}

.link-btn a {
    display: inline-block;
    width: 95%;
    position: relative;
    cursor: pointer;
    transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}

@media (max-width: 820px) {
    .link-btn a {
        width: 100%;
    }
}

@media (max-width: 820px) {
    .link-btn a:first-child {
        margin-bottom: 4rem;
    }
}

.link-btn a:hover {
    background-position: right center;
    background-size: 200% auto;
    -webkit-animation: pulse 2s infinite;
    animation: ripple 1.5s infinite;
}

@keyframes ripple {
    0% {
        box-shadow: 0 0 0 0 #fff;
    }

    70% {
        box-shadow: 0 0 0 10px rgb(27 133 251 / 0%);
    }

    100% {
        box-shadow: 0 0 0 0 rgb(27 133 251 / 0%);
    }
}