
html{
    font-family: 'Noto Sans', sans-serif;
    font-size: 62.5%;
    color: #202D60;
}

body{
    background-color: #E3F5FF;
}

header {
    position: absolute;
    padding-top: 16px;
    padding-left: 24px;
    height: 128px;
    width: 100%;
    z-index: 1000;
}

h1{
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 17px;
}

.h2_dark{
    background-color: #212D60;
    color: #ffffff;
    text-align: center;
    margin: 0 auto;
    height: 56px;
    border-radius: 32px;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 24px;
    padding: 16px;
    z-index: 3;
}

.h2_blue{
    font-size: 3.2rem;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    color: #0092E6;
    text-align: center;
    padding: 24px;
    line-height: 32px;
}

h3{
    font-weight: bold;
    font-size: 2rem;
    line-height: 48px;
}

.h3_before_text{
    font-family: 'Michroma', sans-serif;
    font-size: 5.4rem;
    color: #E3F5FF;
    margin-bottom: -38px;
    margin-left: 16px;
}

.sp_only,
.sp_block{
    display: none;
}

.underline{
    width: 100%;
    position: relative;
    border-bottom: solid 2px #C3C9CC;
}
.underline::after{
    content: "";
    position: absolute;
    bottom:-2px;
    left: 0;
    width: 20%;
    border-bottom: solid 2px #0092E6;
}

.sub_heading{
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 32px;
    text-align: center;
}

.contact_button{
    background-color: #0092E6;
    padding: 20px 0;
    border-radius: 8px;
    display: inline-block;
    font-size: 1.6rem;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    position: relative;
    transition: background 0.4s;
}

.contact_button:hover{
    background: #212D60;
}
.contact_button::before{
    content: url(./../img/contact.svg);
    position: absolute;
    left: 30px;
    margin-right:10px;
    transition:left 0.3s;
}
.contact_button:hover::before{
    left: 36px;
}

.content_wrapper_light{
    background-color: #F5FAFE;
    padding: 72px;
}

.white_box{
    background-color: #ffffff;
    padding: 32px;
    border-radius: 16px;
    box-shadow: 0 0 6px rgb(0,146,230,0.15);
}

.slide_in {
    width: 0;
    overflow: hidden;
    transition: width 1000ms ;
    white-space: nowrap
}
.sub_top_content .slide_in{
    transition: width 2000ms ;
}
.slide_in.is-show {
    width: 100%;
}


.fadeInUp,.fadeInLeft,.fadeInDown,.fadeInRight{
    opacity: 0;
    animation-delay:0.2s;
}

.animation_delay1{
    animation-delay:0.6s;
}

.animation_delay2{
    animation-delay:1s;
}


.fadeInUp_active {
    transform: translateY(120px);
    animation-name: fadeIn;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
.fadeInLeft_active {
    transform: translateX(-120px);
    animation-name: fadeIn;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

.fadeInDown_active {
    transform: translateY(-120px);
    animation-name: fadeIn;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

.fadeInRight_active{
    transform: translateX(120px);
    animation-name: fadeIn;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

@keyframes fadeIn {
    0% {
    }
    100% {
        opacity: 1;
        transform: translate(0);
    }
}

@keyframes img-wrap {
    100% {
        transform: translateX(100%);
    }
}

.header_nav_wrapper{
    display: flex;
    margin: 16px 8px;
    align-items: center;
}

.header_nav{
    margin-left: auto;
}

.transform {
    background: #fff;
    box-shadow: 0 0 6px rgb(0,146,230,0.15);
    position: fixed;
    height: 72px;  
    border-radius: 36px;
    max-width: 1000px;
    margin: 16px auto;
    inset: 0;
    animation-name:fadeDownAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity:0;
    z-index: 1000;
}
.transform .nav{
    justify-content: center;
    padding-left: 0;
}
    
@keyframes fadeDownAnime{
    from {
        opacity: 0;
        transform: translateY(-100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.humburger_button{
    display: none;
}

.nav{
    display: flex;
    flex-wrap: nowrap;
    font-size: 1.4rem;
    font-weight: bold;
    align-items: center;
    margin: 11px auto;
}

.nav a{
    color: #202D60;
    transition: color 0.3s;
}

.nav a:hover{
    color: #0092E6;
}

ul.nav li{
    margin: 0 12px;
}

header .contact_button{
    padding: 14px;
    font-size: 1.4rem;
    width: 160px;
}

header .contact_button::before{
    position: static;
    display: inline-block;
}

.pankuzu{
    margin-top: -56px;
}

.pankuzu ul{
    display: flex;
    flex-wrap: wrap;
}

.pankuzu ul li{
    margin-right: 32px;
    position: relative;
    font-size: 1.4rem;
    line-height: 48px;
}

.pankuzu ul li span::before {
    content: url(./../img/arrow_right_blue.svg);
    width: 5px;
    height: 10px;
    display: block;
    position: absolute;
    left: -10px;
    top: 0px;
}

.top_content_wrapper{
    background-image: url(./../img/top_bg_img.png);
    height: 100svh;
    min-height: 500px;
    padding: 128px 80px 0 80px;
    position: relative;
} 

.top_content{
    height: 100%;
    position: relative;
    max-width: 1300px;
    margin: 0 auto;
}


.top_content_text{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.sub_top_content_wrapper{
    background-image: url(./../img/top_bg_img.png);
    padding: 128px 80px 0 80px;
} 
.sub_top_content{
    height: 352px;
    position: relative;
    max-width: 1360px;
    margin: 0 auto;
}

.sub_top_text{
    z-index: 2;
    position: absolute;
    top:50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.sub_top_img{ 
    z-index: 1;
    position: absolute;
    right: 0;
    top: 0;
}

.mv_anime_svg{
    width: 720px!important;
    height: 669.71px!important;
    max-width:100%;
    max-height:100%;
}

.sub_top_img .mv_anime_svg{
    width: 480px!important;
    height: 446.47px!important;
}

.top_img{
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 0;
    margin-left: 10%;
    height: 90%;
    max-height: 700px;
}
.top_img div{
    height: 100%;
}

.top_img img{ 
    max-width: 100%;
    height: 100%;
    object-fit: contain;
}

.catch_text{
    font-size: 4.7em;
    font-weight: bold;
    background-color: #FFFFFF;
    line-height: 65px;
    margin: 16px 0;
    padding: 8px 16px 8px 8px;
    width:fit-content
}

.catch_text >span{
    color: #0092E6;
}



.top_content .sub_heading{
    text-align: left;
}

.top_content_wrapper .sub_heading{
    margin: 20px 0;
}

.top_content .contact_button{
    width: 360PX;
}

.top_check_button{
    opacity: 0;
    position: absolute;
    bottom: 0px;
    top: 400px;
    right: 32px;
    border: solid 4px #fff;
    background: #212D60;
    border-radius: 50%;
    width: 160px;
    height: 160px;
    background-size:160px;
    color: #ffffff;
    text-align: center;
    padding-top: 34px;
    z-index: 5;
    line-height: 24px;
    transition: background 0.4s;
}
.top_check_button:hover{
    background: #0092E6;
}

.top_button_case{
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
}

.top_button_case::after{
    content: "";
    display: inline-block;
    position: absolute;
    width: 80px;
    border-bottom: solid 1px #fff;
    bottom: -6px;
    left: 40px;
}

.top_button_check{
    margin-top: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.4rem;
    font-weight: 900;
    letter-spacing: 0px;
}

.top_button_check::after{
    margin-left: 6px;
    content:url(./../img/check_triangle.svg);
    display: inline-block;
    position: relative;
    top:-1px;
    transition: margin-left 0.3s;
}

.top_check_button:hover .top_button_check::after{
    margin-left: 10px;
}

.copyright{
    position: absolute;
    bottom: 24px;
    font-size: 1.2rem;
    font-weight: 600;
    margin-left: -48px;
}

.worries h2{
    position: relative;
    max-width: 472px;
    margin-bottom: -28px;
}

.worries > div{
    display: flex;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

.check_list li{
    font-size: 1.6rem;;
    font-weight: bold;
    padding: 15px;
    position: relative;
    line-height: 24px;
}


.check_list li::before{
    content: url(./../img/check_mark.svg);
    position: absolute;
    left: -16px;
    top: 38%;
}

.case_blue .check_list li::before{
    top: calc(50% + 4px);
    transform: translateY(-50%);
}


.solution{
    position: relative;
    margin-top: -100px;
}

.marquee{
    font-family: 'Michroma', sans-serif;
    font-size: 12.4rem;
    color: #F5FAFE;
    white-space: nowrap;
    overflow: hidden;
    gap: 1rem;
    display: flex;
}

.scloll_text{
    animation: marquee 30s linear infinite;
}
@keyframes marquee {
    0%   { translate: 0; }
    100% { translate: calc(-100% - 1rem); }
}

.solution_content{
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.solution_content .white_box{
    width: 540px;
    margin: 24px 12px;
    padding: 24px 72px;
}

.solution_content h3{
    font-size: 2.4rem;
    text-align: center;
}

.solution_content .solution_content_text{
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 32px;
    text-align: center;
}

.solution_content img{
    margin: 32px auto;
}

.solution_feature{
    margin-top: 32px;
    margin-bottom: 54px;
    overflow: hidden;
}

.solution_feature_content{
    padding: 16px;
}

.solution_feature .white_box{
    max-width: 900px;
    margin: 16px auto;
}

.solution_feature p{
    font-size: 1.6rem;
    font-weight: 400;
    margin-top: 24px;
    line-height: 32px;
}

.solution_feature .underline::after{
    width: 10%;
}

.data_basis_content{
    padding-top: 24px;
    text-align: center;
}

.data_basis_content img{
    margin: 0 auto;
}

.data_basis_content_text{
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 32px;
    padding-top: 24px;
    margin-bottom: 40px;
}

.data_basis_wrapper .h2_dark{
    max-width: 360px;
    margin-bottom: 20px;
}

.merit_content{
    display: flex;
    justify-content: center;
    font-size: 1.4rem;
    line-height: 32px;
}

.merit_content h3{
    font-size: 2.1rem;
    text-align: center;
    line-height: 48px;
}

.merit_content .h3_before_text{
    font-size: 4.8rem;
    line-height: 124px;
    text-align: center;
    margin-bottom: -56px;
    margin-left: 0;
}

.merit_content .white_box{
    width: 380px;
    padding: 0 24px 24px;
    margin: 8px;
}

.merit_content img{
    margin: 16px auto;
}

.merit_content .underline{
    margin-bottom: 16px;
}

.introduction_flow{
    text-align: center;
    padding: 40px;
}

.introduction_flow img{
    margin: 30px auto;
}

.introduction_flow .contact_button{
    width: 360px;
}

.example{
    background-color: #FAFAFA;
    padding-top: 24px;
    padding-bottom: 48px;
}

.slider{
    margin-top: 30px;
}

.slider_wrapper{
    height: 350px;
}
.slick-track {
    display: flex;
    align-items: center;
}

.slider .slick-arrow{
    width: 64px;
    height: 64px;
    border-radius: 32px;
    background-color: #212D60;
    border: none;
    transition:background-color  0.3s;
}
.slick-arrow:hover{
    background-color: #0092E6;
}

.slick-prev{
    position: absolute;
    z-index: 100;
    left: 10%;
    top: 40%;
}

.slick-next{
    position: absolute;
    z-index: 100;
    right: 10%;
    top: 40%;
}

.slick-prev::before{
    content: url(./../img/right_arrow.svg);
    display: inline-block;
    transition: right 0.2s;
    transform: rotate(270deg);
    margin-left: -3px;
}  

.slick-next::before{
    content: url(./../img/right_arrow.svg);
    display: inline-block;
    transition: right 0.2s;
    transform: rotate(90deg);
    margin-left: 0px;
}  

.example_content{
    font-size: 1.6rem;
    display:flex;
    align-items: center;
    width: 880px;
    line-height: 32px;
    margin: 0 auto;
    background: #fff;
    transition: background 0.3s;
    color: inherit;
    padding: 12px 32px 12px;
    transition: padding 0s;
}


.slick-center .example_content{
    padding: 32px;
    margin-right:20px;
    margin-left:20px;
}

.example_content_img_sp{
    display: none;
}
.example_content:hover{
    background: #E3F5FF;
}

.example_content:hover .underline::after{
    width: 100%;
}
.example_content:hover .h3_before_text{
    color: #fff;
}

.example_content .underline::after{
    width: 10%;
    transition: width 0.3s;
}

.example_content .h3_before_text{
    line-height: 124px;
    transition: color 0.3s;
}


.example_content_img_pc{
    width: 160px;
    flex-shrink: 0;
    margin-right: 24px;
}

.example_content h3{
    font-size: 2.4rem;
    margin-bottom: 24px;
}

.example_list_button_wrapper{
    margin: 48px auto 32px;
    width: 344px;
}

.example_list_button{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.6rem;
    font-weight: bold;
    background: #212D60;
    color: #fff;
    padding: 15px 116px; 
    text-align: center;
    border-radius: 8px;
    position: relative;
    transition: background 0.4s;
}


.example_list_button:hover{
    background: #0092E6;
}

.example_list_button::after{
    content: url(./../img/arrow_page_top.svg);
    display: inline-block;
    position: absolute;
    right: 20px;
    top: 13px;
    transition: right 0.2s;
}   

.example_list_button:hover::after{
    right: 8px;
}
.footer{
    background-image: url(./../img/top_bg_img.png);
    padding: 40px;
    position: relative;
}

.footer_content{
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer_text{
    margin-left: 36px;
}

.footer_img{
    margin-right: 36px;
}

.footer_text .catch_text{
    font-size: 3.2rem;
}

.footer_text .sub_heading{
    font-size: 1.6rem;
    text-align: left;
}

.footer .contact_button{
    width: 360px;
    margin-top: 24px;
}
.footer_copyright{
    text-align: center;
    background: #212D60;
    color: #fff;
    padding: 30px;
    font-size: 1.4rem;
}

.page_top{
    font-size: 1.2rem;
    font-weight: bold;
    width: 54px;
    height: 73px;
    position: absolute;
    bottom: 32px;
    right: 10%;
}

.page_top p{
    margin-top: 16px;
    transition: margin-top 0.2s;
}
.page_top:hover  p{
    margin-top: 10px;
}

.page_top:hover .page_top_button{
    background: #212D60;
}

.page_top_button{
    width: 40px;
    height: 40px;
    background: #0092E6;
    border: solid 2px #FFF;
    border-radius: 28px;
    position: relative;
    margin: 0 auto;
    transition: background 0.3s;
}


.page_top_button::after{
    content: url(./../img/arrow_page_top.svg);
    transform: rotate( 270deg);
    position: absolute;
    right: 15px;
    top: 10px;
    transition: right 0.2s;
}  

.development_example_wrapper{
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    max-width: 1188px;
    justify-content: space-between;
    margin-top: 24px;
}

.development_example_wrapper > div{
    width: 31%;
    margin: 8px;
    max-width: 380px;
}

.development_example{
    margin-top: 53px;
}



.development_example_content{
    display: block;
    font-size: 1.6rem;
    line-height: 32px;
    background: #fff;
    transition: background 0.3s;
    color: inherit;
    padding: 12px 32px 60px;
    transition: padding 0s;
    height: 100%;
}
.development_example_content:hover{
    background: #E3F5FF;
}

.development_example_content:hover .underline::after{
    width: 100%;
}
.development_example_content:hover .h3_before_text{
    color: #fff;
}

.development_example_content .underline::after{
    width: 10%;
    transition: width 0.3s;
}

.development_example_content .h3_before_text{
    font-size: 3.4rem;
    line-height: 88px;
    transition: color 0.3s;
    text-align: center;
}

.development_example_content h3{
    font-size: 2.4rem;
    margin-bottom: 24px;
    text-align: center;
}

.development_example_content img{
    text-align: center;
    margin: 0 auto;
    margin-bottom: 32px;
}

.development_example_content .underline{
    margin-bottom: 32px;
}

.development_example .sub_heading{
    margin-bottom: 24px;
}


.case{
    margin: 80px auto 0 auto;
    max-width: 980px;
}

.case .white_box{
    padding: 64px 50px 77px 50px;
}

.case_wrapper{
    padding-bottom: 48px;
}

.case_img_sp,.case_img_sp.underline{
    display: none;
}

.case_top{
    display: flex;
}

.case_top p{
    font-size: 1.6rem;
    line-height: 32px;
}

.case_blue{
    background:#F5FBFF;
    padding: 32px 40px;
    margin: 32px 0;
    font-size: 1.4rem;
    line-height: 32px;
}

.case_blue span{
    color: #0092E6;
    font-weight: 600;
}

.case_blue_dark{
    background: #212D60;
    width: fit-content;
    color: #fff;
    padding: 4px 8px;
    line-height: 19px;
    border-radius: 4px;
    margin-bottom: 14px;
}

.case_blue h3{
    color: #0092E6;
    text-align: center;
    margin-bottom: -24px;
    font-size: 2.4rem;
    line-height: 48px;
    margin-top: 22px;
}
.case_check_list{
    background: #fff;
    width: 100%;
    padding: 42px;
    border-radius: 8px;
    
}

.case_blue ul{
    width: fit-content;
    margin: 0 auto;

}

.summary h3{
    text-align: left;
    font-size: 2.4rem;
    padding: 12px;
}

.summary_content{
    margin-left: 20px;
    font-size: 1.4rem;
    line-height: 32px;
}

.summary_content p{
    margin-bottom: 46px;
}

.summary h4{
    margin-top: 24px;
    margin-bottom: 8px;
    color: #0092E6;
    font-size: 1.8rem;
    line-height: 32px;
}

.next_prev_wrapper{
    position: relative;
}

.next_page,.prev_page {
    width: 112px;
    font-size: 1.4rem;
    font-weight: bold;
    position: absolute;
    top:-10px;
}
.next_page{
    right: 0;
}

.next_page a,.prev_page a{
    display: flex;
    align-items: center;
}

.page_next_button,.page_prev_button{
    width: 40px;
    height: 40px;
    background: #0092E6;
    border-radius: 28px;
    position: relative;
    margin: 0 auto;
    transition: background 0.3s;
}

.next_page:hover .page_next_button,
.prev_page:hover .page_prev_button{
    background: #212D60;
}


.page_prev_button::after{
    content: url(./../img/arrow_page_top.svg);
    position: absolute;
    right: 18px;
    top: 10px;
    transform: rotate( 180deg);
    transition: right 0.2s;
}  

.page_next_button::after{
    content: url(./../img/arrow_page_top.svg);
    position: absolute;
    right: 17px;
    top: 10px;
    transition: right 0.2s;
}  

.cobtact_flow_wrapper{
    margin-bottom: 54px;
    margin-top: 32px;
}


.contact_flow_dotted{
    overflow:hidden;
    width: 100%;
}

.contact_flow_dotted img{
    width: 800px;
    max-width: 800px;
    margin: auto;
}

.cobtact_flow{
    display: flex;
    justify-content: space-between;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 30px;
    line-height: 24px;
    letter-spacing: 2.4px;
    text-align: center;
}

.step{
    font-size: 1.2rem;
    font-weight: bold;
}

.contact .white_box{
    max-width: 980px;
    margin: 0 auto;
    margin-top: 30px;
}

.contact_flow_text{
    font-size: 1.6rem;
    font-weight: bold;
}

.contact_flow_now{
    color: #212D60;
    position: relative;
    margin-bottom: 22px;
}
.contact_flow_now::after{
    content: url(./../img/contact_flow_now.svg);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top:59px;
}
.contact_flow_next{
    color: #5BB4E8;
    position: relative;
    margin-bottom: 22px;
}
.contact_flow_next::after{
    content: url(./../img/contact_flow_next.svg);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top:63px;
}

#event .white_box{
    margin: 32px 16px;
    margin-top: 0px;
}

#event  table{
    width: 100%;
    font-size: 1.6rem;
}


#event  table tr{
    display: flex;
}

#event table th{
    border-bottom: 1px solid #DEDEDE;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 246px;
    font-size: 1.4rem;
    font-weight: 400;
    position: relative;
    padding-left: 22px;
}

#event .underline::after {
    width: 15%;
}

#event  table td{
    width: calc(100% - 246px);
    padding: 24px 16px;
    border-bottom: 1px solid #DEDEDE;
    position: relative;

}
.table_notes{
    font-size: 1.4rem;
    font-weight: 600;
}
.entry{
    line-height: 32px;
}

#event .example_list_button{
padding: 15px 72px;
}


.contact .contactform table td input[type="text"]{
    border: 1px solid #DEDEDE;
    border-radius: 3px;
    width: 100%;
    height: 40px;
    padding: 10px 20px;
    background: #fff;
    font-size: 1.4rem;
    line-height: 24px;
    font-weight: 600;
}

.contact .contactform table td textarea {
    border: 1px solid #DEDEDE;
    border-radius: 3px;
    width: 100%;
    height: 240px;
    padding: 18px 20px;
    background: #fff;
    font-size: 1.4rem;
    line-height: 24px;
    font-weight: 600;
    resize: none;
}

.contact .contactform table td input[type="text"]::placeholder,
.contact table td textarea::placeholder {
    color: #C3C9CC;
}

.contact .contactform table td::before{
    content: "";
    width: 1px;
    height: calc(100% - 48px);
    display: block;
    background: #DEDEDE;
    position: absolute;
    top: 24px;
    left: 0;
}

.contact_blue_dark{
    background: #212D60;
    width: fit-content;
    color: #fff;
    padding: 2px 7px;
    line-height: 19px;
    border-radius: 5px;
    margin-right: 16px;
    font-size: 1.2rem;
}

.privacypolicy_wrapper{
    background: #EFF9FF;
    padding: 54px;
    margin-top: 54px;
}

.privacypolicy{
    font-size: 1.6rem;
    text-align: center;
    line-height: 32px;
}
.privacypolicy a{
    color: #0092E6;
    text-decoration: underline;
}

.privacypolicy p{
    font-size: 1.8rem;
    font-weight: bold;
}

.privacypolicy p::after{
    content: url(./../img/right_arrow.svg);
    transform: rotate(90deg);
    display: inline-block;
    transition: right 0.2s;
    margin-left: 24px;
}

.agree{
    font-size: 1.6rem;
    font-weight: bold;
    color: #0092E6;
    text-align: center;
    margin: 32px auto;
}

.contact .example_list_button{
    padding: 15px;
    width: 100%;
    max-width: 344px;
    display: block;
    margin: 0 auto;
}

.retouching.example_list_button{
    background: #5CB4E8;
    margin-bottom: 32px;
}


.retouching.example_list_button:hover{
    background: #202D60;
}
.contact .example_list_button{
    transition:  0.4s;
}
.contact .example_list_button[disabled]{
    pointer-events: none;
    background: #202D60;
    opacity: 0.5;
}

.error{
    display: block;
    background: #ee0101;
    position: absolute;
    color: #fff;
    min-width: 120px;
    font-size: 11px;
    border: 2px solid #ddd;
    padding: 8px 10px 8px 10px;
    z-index: 5;
    left: auto;
    top: -10px;
    border-radius: 6px;
    box-shadow: 0 0 6px #000;
    opacity: 0.8;
}

.completion{
    text-align: center;
    font-size: 1.6rem;
    line-height: 32px;
    margin-bottom: 16px;
}

.completion p{
    margin-bottom: 62px;
}

.notfound{
    text-align: center;
    font-size: 1.6rem;
    line-height: 32px;
}

.notfound p{
    margin-bottom: 62px;
}

.confirm input,.confirm textarea{
    color: #212D60;
}

input:focus ,textarea:focus{
    outline: none;
}

.follow_nav{
    width: 100%;
    display: flex;
    align-items: center;
    height: 80px;
    position: fixed;
    bottom: 0;
    z-index: 2000;
    background-color: #FFF;
}
.follow_nav a{
    display: block;
    height: 80px;
    background-color: #2A376F;
    color: #FFFFFF;
    font-weight: bold;
    font-size: 1.6rem;
    padding-top: 28px;
    padding-right: 16px;
    width: 20%;
    text-align: center;
    position: relative;
    transition:0.2s;
}
.follow_nav a:hover{
    opacity: 0.8;
}

.follow_nav a::after{
    content: url(./../img/arrow_page_top.svg);
    display: inline-block;
    position: absolute;
    right: 12px;
    top: 28px;
    transition:
    right 0.2s;
}
.follow_nav a:not(:last-child)::before{
    content: "";
    position: absolute;
    right: 0;
    top: 22px;
    width: 1px;
    height: 40px;
    background-color: #FFFFFF;
    display: block;
}

.factory_content{
    padding-top: 20px;
    padding-bottom: 48px;
    padding-left: 16px;
    padding-right: 16px;
}
.factory_content_top{
    padding-top: 0;
}
.factory_content img{
    text-align: center;
    margin: 0 auto;
    margin-top: 16px;
}
.factory_content h2{
    max-width: 712px;
}
.factory_content_text{
    font-size: 2.4rem;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    text-align: center;
    line-height: 48px;
    margin-top: 24px;
}
.factory_content .h2_blue{
    margin: 0 auto;
}
.factory_content .h2_blue span{
    font-size: 2.4rem;
    line-height: 48px;
}
.factory_features .h2_dark{
    max-width: 280px;
    margin-top: 44px;
}
.factory_features .development_example_content{
    pointer-events: none;
}
.factory_feature_content h3{
    line-height: 32px;
    margin-top: 12px;
}
.factory_feature_content span{
    color: #0092E6;
}
.request_text{
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 32px;
}
.request_right h3{
    font-size: 2.4rem;
}
.request_right{
    width: 680px;
}
.request_top_wrap{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 32px;
}
.request_top_wrap img{
    width: 160px;
    margin-right: 24px;
}
.request_wrapper{
    background-color: #E3F5FF;
    padding-top: 72px;
    padding-left: 12px;
    padding-right: 12px;
    max-width: 1042px;
    margin: 0 auto;
    padding-bottom: 32px;
}

.request .h2_dark{
    max-width: 304px;
    margin-bottom: -28px;
    position: relative;
    z-index: 2;
}

.request_right .underline{
    margin-bottom: 20px;
}
.request_wrapper .white_box{
    max-width: 878px;
    margin: 0 auto;
}
.h3_blue{
    color: #0092E6;
    text-align: center;
    font-size: 2.4rem;
}
.request_wrapper .h3_blue{
    margin-bottom: -20px;
}
.request_bottom_text{
    font-size: 1.6rem;
    font-weight: 600;
    max-width: 800px;
    margin: 0 auto;
    margin-top: 20px;
    line-height: 32px;
}
.request_bottom_text span{
    color: #0092E6;
}
.request.factory_content .sub_heading{
    max-width: 980px;
    margin: 0 auto;
}
.data_case .white_box{
    max-width: 980px;
    margin:  0 auto;
}
.data_case h3{
    font-size: 2.4rem;
}

.data_case_flex{
    display: flex;   
    justify-content: center;
    align-items: center;
    margin-top: 32px;
    margin-bottom: 28px;
}
.data_case_flex .pc_only{
    margin:  0;
    margin-right: 32px;
}

.text_back_blue{
    width: 48px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    color: #FFF;
    background-color: #0092E6;
    border-radius: 4px;
    padding-top: 1px;
}
.data_case_text{
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 8px;
}
.data_case_flex .data_case_text{
    font-size: 2.8rem;
}
.data_graph{
    text-align: center;
    max-width: 880px;
    padding: 24px 20px;
    background-color: #F5FBFF;
}
.data_graph img{
    margin-bottom: 24px;
}
.data_graph .data_case_text{
    text-align: left;
    line-height: 32px;
}
.analysis{
    background-color: #F5FAFE;
}

.data_case .h3_blue{
    margin-bottom: -20px;
    margin-top: 32px;
}
.analysis .data_case_text{
font-size: 2rem;
font-weight: 600;
}
.data_case_text span{
    color: #0092E6;
    font-weight: bold;
}
.bunkyo_arrow{
    margin-top: 24px;
    margin-bottom: -16px;
}
.analysis{
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 44px;
    padding-bottom: 36px;
}
.request_wrapper .white_box{
    padding: 28px;
}
.data_case{
    padding-top: 48px;
}
.data_case_top{
    padding-top: 20px;
}
.pc_space{
    height: 80px;
}

