
body{
    margin:0;
    color: #003AE5;
    font-weight: 600;
    font-size: 16px;
    font-family: 'Hiragino Kaku Gothic Pro';
    position: relative;
}
.wrapper{
    overflow-x: hidden;
}
p{
    font-weight: 300;
    margin: 0;
}
img{
    width:100%
}
ul{
    list-style: none;
    padding: 0;
}
.sp{
    display: none;
}
.pc{
    display: block;
}
@media screen and ( max-width: 768px ) {
    body{
        padding-bottom: 245px;
    }
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
}
.index_section{
    max-width: 720px;
    margin: auto; 
}
.section{
    margin: 80px auto; 
}
.index_about.section{
    margin: 40px auto 80px; 
}
@media screen and ( max-width: 768px ) {
    .section{
        margin: 40px auto; 
    }
    .index_support.section{
        margin-bottom: 32px;
    }
    .index_partner.section{
        margin: 32px 0 40px;
    }
    .index_failure.section{
        margin-top: 32px;
    }

}
/*ヘッダー*/
.header{
    height: 100px;
    background: #003AE5;
}
.header_inner{
    padding-top: 20px;
}
.header_inner_nav_item_img{
    width:40px;
    height: 40px;
}
.header_inner_nav{
    display: flex;
    gap:24px;
    max-width: 660px;
    justify-content: space-around;
    margin: auto;
    font-weight: 600;
    font-size: 12px;
}
.header_inner_nav_item{
    text-align: center;
    min-width: 90px;
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 4px;
}
.header_inner_nav_item_link{
    height: 40px;
}
.header_inner_nav_item_link_text{
    color: #FFFFFF;
    text-decoration: none;
}
@media screen and ( max-width: 768px ) {
    .index_section{
        max-width: 366px;
        margin: auto 24px; 
    }
    .header{
        height: 51px;
        background: transparent;
    }

    * {
    box-sizing: border-box;
    }
    /* ハンバーガーメニュー */
    .o-hamburger {
        position: fixed;
        z-index: 999;
        top:0px;
        right: 0;
        z-index: 999;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        transition: 0.3s all ease-in-out;
        width: 81px;
        height: 51px;
        background-color: #003AE5;
        border-bottom-left-radius: 8px;
        border-left: 1px solid #FFFFFF;
        border-bottom: 1px solid #FFFFFF;
    }
    .o-hamburger:hover {
        cursor: pointer;
    }
    .o-hamburger span {
        position: relative;
        display: inline-block;
        width: 24px;
        height: 2px;
        background-color: #fff;
        transition: 0.3s all ease-in-out;
    }
    .o-hamburger span + span {
        margin-top: 4px;
    }

    /* Nav */
    .o-nav {
        background-color: #fff;
        position: fixed;
        z-index: 101;
        overflow-y: scroll;
        top: 0;
        right: -80%;
        padding-top: 50px;
        padding-bottom: 50px;
        transition: all 0.5s ease-out;
        width: 80%;
        height: 100%;
        opacity: 0;
        visibility: hidden;
    }
    .o-nav.is_active {
        background-color: #003AE5;
        visibility: visible;
        opacity: 1;
        right: 0;
    }
    .is_active .o-hamburger-line.first{
        transform: rotate(45deg);
        margin-top: 0;
        top: 6px;
    }
    .is_active .o-hamburger-line.second{
        background-color: transparent;
    }
    .is_active .o-hamburger-line.third{
        transform: rotate(-45deg);
        top: -6px;
        left: 0px;
    }
    .o-nav__item a {
        display: block;
    }
    .o-nav__item .header_inner_nav_item_link_text{
        font-weight: 600;
        font-size: 12px;
        margin-top: 8px;
    }
    .o-nav__list{
        display: flex;
        flex-wrap: wrap;
        gap: 24px;
        text-align: center;
        margin: 196px 40px auto;
    }
    .o-nav__list .o-nav__item{
        width: calc( 50% - 12px );
    }
    .header_inner_nav_item_link{
        margin-top: 8px;
    }
    .o-nav-bg {
        opacity: 0;
        visibility: hidden;
        transition: 0.5s all ease-in-out;
        width: 100%;
        height: 100%;
        position: fixed;
        z-index: 9;
        top: 0;
        left: 0;
    }
    .o-nav-bg.nav-open {
        visibility: visible;
        opacity: 1;
    }
}
/*〆ヘッダー*/
/*kv*/
.index_kv_inner_info_right_img{
    width: 100%;
}
.index_kv_inner_info{
    display: flex;
}
.index_kv_inner.section{
    max-width: 920px;
    margin: auto;
}
.index_kv_inner_info_left,
.index_kv_inner_info_right{
    width: 50%;
}
.index_kv_inner_info_left p{
    font-family: 'A P-OTF A1Gothic Std';
    font-style: normal;
    font-weight: 500;
    font-size: 48px;
    line-height: 160%;
    /* または77px */
    display: flex;
    align-items: center;
    color: #003AE5;
}
.index_kv_inner_info_left_img{
    width: 100%;
}
.index_kv_inner_info_left{
    position: relative;
}
.index_kv_inner_info_left_warrap{
    position: absolute;
    top: 30%;
}
.index_kv_inner_info_right_img{
    margin-top: -10px;
}
button{
    border: 1px solid #003AE5;
    border-radius: 30px;
    background: none;
    font-weight: 600;
    font-size: 16px;
    color: #003AE5;
    padding: 16px 72px;
}
.index_kv_inner_success{
    margin-top: -50px;
}
.index_kv_inner_success li{
    width: 240px;
    height: 80px;
    margin-right: 8px;
}
.index_kv_inner_info_button_download button{
    background: #FFD600;
    border: 1px solid #003AE5;
}
.index_kv_inner_info_button{
    display: flex;
    gap: 16px;
    margin-top: 40px;
}
.index_kv_inner_info_button div button{
    width: 240px;
    height: 48px;
    padding: 0;
    background: #fff;
}
.index_kv_inner_info_button button{
    padding: 16px 40px;
}
@media screen and ( max-width: 768px ) {
    .index_kv_inner_info_left_warrap{
        position: relative;
    }
    .index_kv_inner_info{
        display: block;
    }
    .index_kv_inner_info_left, .index_kv_inner_info_right{
        width: 100%;
    }
    .index_kv_inner_success{
        margin-top: -30px;
    }
    .index_kv_inner_success li{
        width: 160px;
        height: 56px;
    }
    .index_kv_inner_info_left_inner{
        margin: 16px 24px 0;
    }
    .index_kv_inner_info_right{
        margin-left: 41px;
    }
    .index_kv_inner_info_right_img{
        width: 87%;
        margin-top: -65px;
    }
}
/*〆kv*/
/*support*/
.index_support_inner_img_warrap{
    width: 394px;
    margin: auto;
}
.index_support_inner_img_warrap img{
    width: 100%;
}
.index_about_contact_inner_title p,
.index_about_price_title,
.index_support_inner_list_item p{
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    line-height: 100%;
}
.index_about_contact_inner_title p{
    font-weight: 600;
}
.index_support_inner_list_items{
    display: flex;
}
.index_support_inner_list_item img{
    width: 108px;
    height: 108px;
}
.index_support_inner_list_item p{
    text-align: center;
}
.index_support_inner_list_items{
    justify-content: center;
    gap: 60px;
    margin: 40px auto;
    padding: 0;
}
.index_support_inner_list_item .index_support_inner_img_line{
    height: auto;
    width: 100%;
}
.section_line{
    width: 100%;
}
@media screen and ( max-width: 768px ) {
    .index_support_inner_list_items{
        gap:31px;
        margin: 32px 0 16px;
    }
    .index_support_inner_list_item p{
        font-size: 12px;
    }
    .index_support_inner_list_item img{
        max-width: 69px;
        max-height: 61px;
        width: auto;
        height: auto;
    }
    .index_support_inner_list_item .index_support_inner_img_line.sp{
        width: 100%;
        max-width: 100%;
    }
    .index_support_inner_img_warrap{
        width: 296px;
    }
}
/*〆support*/
/*partner*/
.index_partner_selif{
    margin: auto;
    width: 320px;
}
.index_partner_selif_line{
    max-width: 320px;
    display: inline-block;
    position: relative;
    padding: 16px 34px;
    background: #fff;
    border: 3px solid #003AE5;
    border-radius: 8px;
  }
  .index_partner_selif_line::before{
    content: "";
    position: absolute;
    bottom: -20px;
    right: 40px;
    width: 0;
    height: 0;
    border-top: 20px solid #003AE5;
    border-left: 12px solid transparent;
    border-right: 14px solid transparent;
    transform-origin: left top;
    transform: skewX(40deg);
  }
  .index_partner_selif_line::after{
    content: "";
    position: absolute;
    bottom: -15px;
    right: 43px;
    width: 0;
    height: 0;
    border-top: 20px solid #fff;
    border-left: 12px solid transparent;
    border-right: 13px solid transparent;
    transform-origin: left top;
    transform: skewX(40deg);
  }
.index_partner_body_inner_list_items{
    padding: 0;
    margin: auto;
    position: relative;
}
.index_partner_inner_list_item_1{
    width: 320px;
    margin: 30px auto;
    padding-right: 22px;
}
.index_partner_inner_list_item_2{
    position: absolute;
    top: -40px;
    right: 110px;
    z-index: 1;
}
.index_partner_inner_list_item_2 img{
    width: 80px;
}
.index_partner_text{
    max-width: 452px;
    margin: auto;
    z-index: 2;
    position: relative;
}
.index_partner_body_inner_icons{
    width: 504px;
    margin: 30px auto 24px;
}
.index_partner_body p{
    margin: auto;
    max-width: 342px;
    text-align: center;
    font-weight: 300;
}
@media screen and ( max-width: 768px ) {
    .index_partner_inner_list_item_2{
        top: -10px;
        right: 10px;
    }
    .index_partner_inner_list_item_1 img{
        width: 240px;
    }
    .index_partner_inner_list_item_1{
        margin-bottom: 8px;
    }
    .index_partner_text img{
        width: 239px;
    }
    .index_partner_text{
       margin-left: 25px;
    }
    .index_partner_body_inner_icons_img.sp{
        display: flex;
        gap: 16px;
    }
    .index_partner_body_inner_icons{
        width: auto;
    }
    .index_partner_body_inner_icons_item{
        width: calc(100% / 2 - 8px);
    }
    .index_partner_body_inner_icons{
        margin: 24px auto;
        position: relative;
        z-index: 2;
    }

}
/*〆partner*/

/*failure*/
.index_failure_title{
    width: 416px;
    margin: auto;
}
.index_failure_inner_list_item_image.pc{
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
}
.index_failure_inner_list_item_image_icon{
    width: 80px;
    height: 80px;
}
.index_failure_inner_list_item_image_icon_no{
    width: 76px;
    height: 50px
}
.index_failure_inner_list_item_title_text{
    font-weight: 600;
    font-size: 24px;
    width: fit-content;
    background: #FFD600;
    padding: 0px 8px;
    margin-bottom: 16px;
}
.index_failure_inner_list_item p{
    font-weight: 300;
}
.index_failure_body_inner_list_items{
    display: flex;
    flex-wrap: wrap;
    gap:40px;
}
.index_failure_body_inner_list_items li{
    width: calc(50% - 20px);
}
.index_failure_onestop{
    max-width: 577px;
    margin: 80px auto 23px;
}
.index_failure_companylogo{
    max-width: 159px;
    margin: 0 auto 31px;
}
.index_failure_companylogo_text p{
    width: 391px;
    font-weight: 300;
    margin: auto;
    text-align: center;
}
.index_ecforce_body_sectionline{
    display: flex;
    gap: 16px;
}
.index_section_dashed-line_text{
    min-width: 172px;
    font-weight: 600;
    font-size: 24px;
    margin-bottom: 32px;
}
.index_service_body_inner .index_section_dashed-line_text{
    margin-top: 0;
}
.index_ecforce_body{
    margin-top: 40px;
}


.index_section_dashed-line_text {
    display: flex;
    align-items: center;
}
.index_section_dashed-line_text:before,
.index_section_dashed-line_text:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    border-top: 1px dashed #003AE5;
}
 
.index_section_dashed-line_text:before {
    margin-right: 16px;
}
 
.index_section_dashed-line_text:after {
    margin-left: 16px;
}
.index_ecforce_body_inner_list_items{
    margin: 0;
    display: flex;
    gap: 30px;
    justify-content: center;
}
.index_ecforce_inner_list_item{
    display: flex;
    flex-flow: column;
    text-align: center;
    gap: 16px;
}
.index_ecforce_inner_list_item_image{
    max-width: 120px;
    max-height: 120px;
}
.index_service_body_inner{
    margin-top: 40px;
}
.index_success_body_inner{
    margin-top: 80px;
}
.index_success_body_inner_title_img{
    margin-bottom: 40px;
}
.index_success_body_inner_list_items{
    display: flex;
}
.index_success_inner_list_item{
    margin-right: 24px;
    width: 240px;
    height: 480px
}
.index_success_body_inner_list_items.slick-initialized.slick-slider{
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}
@media screen and ( max-width: 768px ) {
    .index_failure_companylogo_text p{
        width: auto;
    }
}
/*制作の流れ*/
.index_about_title{
    font-weight: 600;
    font-size: 24px;
    line-height: 160%;
    margin: 0;
    text-align: center;
}
.index_about_inner_step_centerline{
    width: 28.19px;
    height: 1018px;
}
.index_about_inner,
.index_about_inner .index_about_inner_step_left_item,
.index_about_inner .index_about_inner_step_right_item{
    display: flex;
}
.index_about_inner_step_left_item_img img{
    width:90px;
}
.index_about_inner_step_right_item_img img{
    min-width:77px;
}
.index_about_body.pc .index_about_inner .index_about_inner_step_left{
    width: 50%;
    margin-top: 175px;
}
.index_about_body.pc .index_about_inner .index_about_inner_step_right{
    width: 50%;
}
.index_about_body.pc .index_about_inner .index_about_inner_step_right{
    margin-top: 55px;
}
.pc .index_about_inner_step_right_item.step3{
    margin-top: 55px;
}
.pc .index_about_inner_step_left_item.step4{
    margin-top: 110px;
}
.pc .index_about_inner_step_right_item.step5{
    margin-top: 105px;
}
.pc .index_about_inner_step_left_item.step6{
    margin-top: 80px;
}
.pc .index_about_inner_step_right_item.step7{
    margin-top: 35px;
}
.index_about_body p{
    margin: 0;
}
.index_about_inner_step_right_item_text_title,
.index_about_inner_step_left_item_text_title{
    display: inline-block;
    background: #FFD600;
    padding: 4px 8px;
    font-weight: 600;
    font-size: 20px;
    line-height: 160%;
}
.pc .index_about_inner_step_right_items  li{
    gap: 19px;
}
div .index_about_inner_step_left_item_text_title,
div .index_about_inner_step_right_item_text_title{
    margin-bottom: 16px;
}
.pc .index_about_inner_step_left_items li{
    gap: 16px;
}
.index_about_inner_step_left_item_text_content,
.index_about_inner_step_right_item_text_content{
    max-width: 156px;
}
.pc .index_about_inner{
    position: relative;
    gap:28px;
}
.pc .index_about_inner_step_left{
    padding-right: 18px;
}
.pc .index_about_inner_step_center{
    position: absolute;
    right: 48%;
}
.index_about_inner_step_right_item,
.index_about_inner_step_left_item{
    transform: translateY(30px);
    opacity: 0;
    visibility: hidden;
    transition: transform 2s, opacity 2s, visibility 2s;
}
.is-fadein {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
  @media screen and ( max-width: 768px ) {

    .index_failure_inner_list_item_image.pc{
        display: none;
    }
    .index_failure_inner_list_item_image.sp{
        display: flex;
        gap: 16px;
    }
    .index_failure_title{
        width: 312px;
    }
    .index_failure_body_inner_list_items{
        display: block;
    }
    .index_failure_body_inner_list_items li{
        margin-bottom: 26px;
        width: 100%;
    }
    .index_failure_inner_list_item_image_icon{
        width: 100%;
        height: auto;
    }
    .index_failure_inner_list_item_image_icon.left img,
    .index_failure_inner_list_item_image_icon.left{
        width: 80px;
        height: 80px;
    }
    .index_failure_inner_list_item_image_icon.right_no{
        width: 100%;
        height: auto;
        display: flex;
        gap: 9px;
        align-items: center;
        margin-bottom: 8px;
    }
    .index_failure_inner_list_item_image_icon_no,
    .index_failure_inner_list_item_image_icon_no img{
        width: 61px;
        height: 40px
    }
    .index_failure_inner_list_item_title_text{
        font-size: 20px;
    }
    .index_failure_onestop img{
        width: 314px;
        margin: auto;
    }
    .index_failure_onestop{
        margin: 32px auto 24px;
    }
    .index_ecforce_inner_list_item_image{
        width: 90px;
        height: 90px;
    }
    .index_ecforce_body_inner_list_items{
        flex-wrap: wrap;
    }
    .index_ecforce_inner_list_item_title_text{
        font-size: 12px;
    }
    .index_ecforce_inner_list_item{
        gap:8px;
    }
    .index_section_dashed-line_text{
        margin-bottom: 24px;
    }
    .index_service_body_inner{
        margin-top: 32px;
    }
    .index_success_body_inner {
        margin-top: 64px;
    }
    .index_success_body_inner_title_img{
        margin-bottom:24px;
    }
    .index_success_inner_list_item{
        width: 160px;
        height: 320px;
    }
    .index_failure section{
        margin-bottom: 48px;
    }
    div .index_about_inner_step_left_item_text_title,
    div .index_about_inner_step_right_item_text_title{
        font-size: 16px;
        margin-bottom: 12px;
    }
    .index_about_inner_step_right_item_text_content,
    .index_about_inner_step_left_item_text_content{
        font-weight: 300;
        font-size: 16px;
    }
    .index_about_inner_step_left_item_img img,
    .index_about_inner_step_right_item_img img{
        margin-top: -5px;
    }
    .index_about_inner_step_right_item_img img{
        min-width: 0;
    }

    .index_about_step1_sp{
        width: 56.7px;
    }
    .index_about_inner_step_left_item_img .index_about_step2_sp{
        width: 58.93px;
    }
    .index_about_step3_sp{
        width: 49.28px;
    }
    .index_about_inner_step_left_item_img .index_about_step6_sp,
    .index_about_inner_step_left_item_img .index_about_step4_sp{
        width: 61px;
    }
    .index_about_step5_sp{
        width: 51.3px;
    }
    .index_about_step7_sp{
        width: 50.13px;
    }
    .index_about_inner_step_img_width{
        width: 61px;
    }
    .index_about_inner .index_about_inner_step_left_item, .index_about_inner .index_about_inner_step_right_item{
        gap:16px;
        margin-bottom: 20px;
    }
    .index_about_body.sp .index_about_inner .index_about_inner_step_right .index_about_inner_step_right_items .index_about_inner_step_left_item.step5{
        margin-bottom: 43px;
    }
    .index_about_inner_step_centerline{
        height: 1500px;
    }
    .index_about_inner_step_right_items{
        margin-top: 0;
    }
    .index_about_inner{
        margin-top: 40px;
    }
    .index_about_inner_step_left{
        margin-top: -80px;
    }
    .index_about_inner .index_about_inner_step_right_item{
        margin-bottom: 24px;
    }

    .index_about_body.sp  .index_about_inner{
        position: relative;
    }
    .index_about_inner_step_right{
        position: absolute;
        left: 4px;
    }
    .index_about_inner_step_img_width_circle{
        width: 16px;
        margin-top: 5px;
    }
  }
/*〆制作の流れ*/
/*ご利用料金*/
.index_about_price_body{
    padding-top: 84px;
}
.index_about_price_title{
    text-align: center;
}

.index_about_price_body_inner{
    display: flex;
    gap: 24px;
    margin-top: 57px;
}
.index_about_price_body_inner_box {
    position: relative;
    border: solid 3px #003AE5;
    border-radius: 16px;
    width: 50%;
    padding: 0 24px 40px;
}
.index_about_price_body_inner_box .index_about_price_body_inner_box-title {
    position: absolute;
    display: inline-block;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    padding: 0 16px;
    line-height: 160%;
    font-size: 20px;
    background: #FFF;
    font-weight: bold;
    min-width: 80px;
}
.index_about_price_body_inner_box .index_about_price_body_inner_box-title.operation{
    min-width: 119px;
}
.index_about_price_body_inner_box p {
    margin: 0; 
    padding: 0;
}
.index_about_price_body_inner_box-contents.estimate,
.index_about_price_body_inner_box-contents.monthly_price{
    text-align: center;
    margin-top: 16px;
    padding-bottom:20px;
}
.index_about_price_body_inner_box-contents.estimate .index_about_price_body_inner_box-text.estimate{
    margin: 23px 0 31px;
    font-weight: 600;
    font-size: 24px;
    line-height: 160%;
    text-align: center;
}
.index_about_price_body_inner_box-contents.estimate{
    font-weight: 600;
    font-size: 24px;
    margin-top: 35px;
}
.index_about_price_body_inner_box-contents{
    border-bottom: 1px dashed #003AE5;
}
.index_about_price_body_inner_box-contents .index_about_price_body_inner_box-text{
    margin: 8px 0;
}
.index_about_price_body_inner_box-contents.monthly_price img{
    width: 233px;
    height: 52px;
}
.index_about_price_body_inner_box-contents.estimate img{
    width: 295px;
}
@media screen and ( max-width: 768px ) {
    .index_about_price_body_inner{
        display: block;
    }
    .index_about_price_body_inner_box{
        width: 100%;
        margin-bottom: 33px;
    }
}

/*〆ご利用料金*/
/*よくある質問*/
.index_about_faq_body{
    margin-top: 64px;
}
.index_about_faq_title{
    font-weight: 600;
    font-size: 24px;
    text-align: center;
}
.form_title,
.index_about_faq_item_title{
    font-size: 16px;
    font-weight: 600;
}

  details{
    height: 64px;
    transition: all .5s ease;
    border-bottom: 1px dashed #003AE5;
  }
  .index_about_faq_inner{
    border-top: 1px dashed #003AE5;
    margin-top: 40px;
  }
  summary{
    position: relative;
    display: flex;
    align-items: center;
    height: 64px;
    transition: all .3s ease;
    cursor: pointer;
    gap: 16px;
  }

  summary::after{
    content: '+';
    position: absolute;
    right: 20px;
    transition: all .3s ease;
  }
  summary::before {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 10px;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: #003AE5;
  }
  summary::after {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 4px;
    right: 17px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(135deg);
  }
  details[open] summary::after{
    transform: rotate(-45deg);
    bottom: -3px;
  }
  details[open] {
    height: 150px;
  }
  .index_about_faq_details.no5[open],
  .index_about_faq_details.no6[open]{
    height: 120px;
  }
  .index_about_faq_details.long-text[open] {
    height: 260px;
  }
  @media screen and ( max-width: 768px ) {
    .index_about_faq_item_title{
        max-width: 250px;
    }
      details[open] {
        height: 200px;
      }
      .index_about_faq_details.no3[open]{
        height: 230px;
      }
      .index_about_faq_body{
        margin-top:40px;
      }
      .index_about_faq_inner{
        margin-top:32px;
      }
      .index_about_faq_details.long-text{
        height: 120px;
      }

      .index_about_faq_details.long-text .index_about_faq_summary .index_about_faq_item_title{
        position: absolute;
        top: 12px;
        left: 45px;
      }
      .index_about_faq_details.long-text .codeWrapper{
        padding-top: 50px;
      }
      .index_about_faq_details.long-text[open] {
        height: 605px;
    }
  }
  .index_about_faq_details.long-text[open] .codeWrapper{
    margin-top: 10px;
  }
  details[open] .codeWrapper{
    overflow: auto;
    animation: ani 1s ;
  }
  @keyframes ani {
    0%{
      opacity: 0;
      transform: translateY(-20px);
    }
    100%{
      opacity: 1;
      transform: none;
    }
  }
  .index_about_faq_icon{
    width: 28px;
    padding-left: 10px;
  }
  .codeWrapper{
    padding: 0px 55px;
    font-weight: 300;
  }
  
/*〆よくある質問*/
/*お問合せ*/
.index_about_contact_inner {
    position: relative;
    margin: 98px 0 0;
    padding: 63px 40px 40px;
    border: 3px solid #003AE5;
    border-radius: 16px;
    max-width: 754px;
   }
   .index_about_contact_inner_title {
    position: absolute;
    padding: 0 .5em;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    top: -15px;
    background-color: #fff; /* タイトル背景色 */
   }

   .form_name p:nth-child(2) {
    display: flex;
    gap: 24px;
  }
  .form_name p:nth-child(2) label{
    flex: 1; 
  }
  .wpcf7-form-control-wrap textarea,
  .wpcf7-form-control-wrap select,
  .wpcf7-form-control-wrap input{
    border: 1px solid #003AE5;
    padding: 7px 16px;
  }
.form_title{
    display: flex;
    align-items: center;
    margin: 19px 0 12px;
    gap:8px;
}
.form_required{
    font-size: 12px;
    background: #003AE5;
    color: #fff;
    padding: 0px 8px;
}
.form_optional{
    border: 1px solid #003AE5;
    font-size: 12px;
    background: #fff;
    color: #003AE5;
    padding: 0px 8px;
}
.wpcf7-form.init label{
    display: inline-block;
    width: 100%;
}
.form_name_warrap　p{
    display: flex;
    gap: 24px;
}

input::-webkit-input-placeholder {
    color: #003AE5;
    opacity: 0.4;
}
input:-moz-placeholder {
    color: #003AE5;
    opacity: 0.4;
}
input::-moz-placeholder {
    color: #003AE5;
    opacity: 0.4;
}
input:-ms-input-placeholder {
    color: #003AE5;
    opacity: 0.4;
}
.wpcf7-form-control-wrap textarea,
.wpcf7 textarea[name="message"],
input[name="site-url"],
.wpcf7 input[name="phonenumber"],
.wpcf7 input[name="your-email"],
.wpcf7 select[name="request"],
.wpcf7 select[name="budget"],
.wpcf7 select[name="budget02"],
.wpcf7 input,
.form_name_warrap label span input{ 
    width:100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.wpcf7 textarea[name="contacttext"]{
    max-height: 120px;
}
span[data-name="request"],
span[data-name="budget02"],
span[data-name="budget"]{
    position: relative;
}
span[data-name="request"]:after,
span[data-name="budget02"]:after,
span[data-name="budget"]:after {
        content: '';
        width: 6px;
        height: 6px;
        border: 0;
        border-bottom: 1px solid #003AE5;
        border-right: 1px solid #003AE5;
        position: absolute;
        top: 55%;
        right: 16.9px;
        margin-top: -6px;
        transform: rotate(45deg);
}
.form_budget{
    display: none;
}

select {
    -webkit-appearance: none;/* ベンダープレフィックス(Google Chrome、Safari用) */
    -moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
    appearance: none; /* 標準のスタイルを無効にする */
    }
textarea {
    resize: none;
}

.form_button{
    text-align: center;
}
.form_button input{
    width: 240px;
    height: 48px;
    color: #003AE5;
    display: inline-block;
    font-weight: 600;
    font-size: 16px;
    background: #FFD600;
    border: 1px solid #003AE5;
    border-radius: 30px;
    margin-top: 32px;
}
.form_button .wpcf7-spinner {
    display: none;
}
.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required{
    color: #003AE5;
}
@media screen and ( max-width: 768px ) {
    .index_about_contact_inner{
        margin-top: 50px;
    }
    .index_about_contact_inner{
        padding: 16px 32px 40px;
    }
}
/*〆お問合せ*/
 /*追従フォーム*/
 .index_form_add { 
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 100;
    }
    .index_form_add_title＿icon{
        width: 22.75px;
        height: 18.08px;
    }
    .index_form_add_title{
        display: block;
        padding:15px 123px 14px;
        text-align: center;
        height: auto;
        border-top: 1px solid #003AE5;
        border-left: 1px solid #003AE5;
        border-top-left-radius: 15px;
        background: #FFD600;
    }
    .index_form_add_title img{
        min-width: 156px;
    }
    .index_form_add_title::after,
    .index_form_add_title::before{
        content:none;
    }
    .fixed_form{
    /*padding: 28px 32px 33px;*/
    }
.fixed_form div{
    background: #fff;
}
.fixed_form .details__content{
    padding-bottom: 33px;
    border-left: 1px solid #003AE5;
}
.wpcf7 form,
.fixed_form .details__content .wpcf7{
    max-width: 332px;
    margin: auto;
}
.details_addform{
    border-bottom:none;
    height: 57px;
    width: 401px;
    text-align: center;
    transition-duration: .6s;
}
.details_addform[open]{
    height: 608px;
}
.index_form_add.none {
    opacity: 0;
    z-index: -1;
}
@media screen and ( max-width: 768px ) {
    #wpcf7-f13-o2 .wpcf7-form.init,
    #wpcf7-f10-o2 .wpcf7-form.init{
        margin: 0 24px;
    }
    #wpcf7-f10-o2 form label p{
        margin: 20px 0 3px;
    }
    .index_form_add_title img{
        margin-top: 14px;
        width: 156px;
    }
    .index_form_add_title{
        padding: 0;
        height: 57px;
    }
    .details_addform{
        max-width: 321px;
    }
    .details_addform[open]{
        height: 595px;
    }
    .details_addform[open] .details__content{
        height: 538px;
    }
}
 /*〆追従フォーム*/
 /*footer*/
 .footer{
    height: 122px;
    background: #003AE5;
    padding: 40px;
 }
 .footer_bottom_inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: 122px;
 }
 .footer_bottom_inner_right_copy{
    font-weight: 300;
    font-size: 12px;
    color: #fff;
 }
 .footer_bottom_inner_left_nav_social{
    width: 24px;
    height: 24px;
 }
.footer_bottom_inner_left_nav_social img{
    width: 24px;
    height: 24px;
}
.footer_bottom_inner_left{
    display: flex;
    gap: 40px;
    align-items: center;
}
.footer_bottom_inner_left_nav{
    display: flex;
    height: 24px;
    align-items: center;
    gap: 24px;
}
.footer_bottom_inner_left_logo img{
    width: 160px;
    height: 41px;
}
@media screen and ( max-width: 768px ) {
    .footer{
        min-height: 245px;

        width: 100%;
        position: absolute;
        bottom: 0;
    }
    .footer_bottom_inner{
        display: block;
        text-align: center;
        line-height: 0;
    }
    .footer_bottom_inner_left{
        display: block;
    }
    .footer_bottom_inner_left_nav{
        justify-content: center;
    }
    .footer_bottom_inner_left_logo{
        margin-bottom: 24.56px;
    }
    .footer_bottom_inner_right{
        margin-top: 40px;
    }

 }
 /*〆footer*/
 /*送信完了ページ*/
 .index_section.complete{
    margin: 80px auto;
 }
 .index_inner_info_button.complete button{
    height: 48px;
    padding: 0 71px;
 }
 .index_complete_text,
 .index_complete_text_img.en{
    margin-bottom: 40px;
 }
 .index_complete_text_img.ja{
    margin-bottom: 24px;
 }
 .index_section_inner_button.complete{
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    color: #003AE5;
    display: block;
    border: 1px solid #003AE5;
    color: #003AE5;
    padding: 16px 72px;
    text-decoration: none;
    border-radius: 30px;
    max-width: fit-content;
    position: relative;
    margin: auto;
 }
 .index_complete_text_img.en img{
    width: 288px;
 }
 .index_complete_text_img.ja img{
    width: 350px;
 }
 .index_complete_text_img.ja,
 .index_complete_text_img.en,
 .index_complete_text{
    text-align: center;
 }
 .index_complete_text p{
    width: 400px;
    margin: auto;
    line-height: 160%;
    font-weight: 300;
    font-size: 16px;
 }
 @media screen and ( max-width: 768px ) {
    .index_complete_text p{
        width: 100%;
    }
 }
 /*〆送信完了ページ*/
.wpcf7-form.init br{
    display: none;
}

.wpcf7-form.init p label{
    display: none;
}

.form_name_warrap p{
    display: flex;
    gap: 24px;
}
.wpcf7-form.init .form_name_warrap label {
    display: inline-block;
    width: 100%;
}
.details__content{
    padding-top: 1px;
}