@charset "utf-8";

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

footer .copy {font-size: 10px;}

body {
    min-width: auto;
    padding-bottom: 23vw;
}
.mv {
    background: url(../images/bg_mv_sp.jpg) no-repeat center top;
    background-size: cover;
    align-items: flex-start;
    justify-content: space-between;
    padding: 1em 0;
    position: relative;
}

.mv .btn_bloc {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    padding: 0.5em;
    box-sizing: border-box;
}

.btn_bloc a {
    width: 100%;
    padding: 1em 1em 1em;
    box-sizing: border-box;
}
.btn_bloc a:after {
    width: 18px;
    height: 10px;
}
.btn_bloc p span {
    font-size: 4vw;
    margin-bottom: 0;
}
.btn_bloc p em {
    font-size: 5vw;
    line-height: 1.2em;
}

.strengths {
    padding: 2em 1em 4em;
}
.strengths_bloc h3 {
    font-size: 8vw;
    margin-bottom: 2rem;
}
.strengths_bloc ul li {
    position: static;
    font-size: 6vw;
}
.strengths_bloc ul li + li {
    margin-top:1.5em;
}
.strengths_bloc ul li span {
    display: block;
    padding-left: 0.5em;
}
.strengths_bloc ul li .item i {
    bottom: -2em;
}
.strengths_bloc ul li small {
    font-size: 3vw;
}

.aboutus {
    padding: 2em 1em 3em;
}
.aboutus_bloc h3 {
    font-size: 8vw;
    margin-bottom: 2rem;
}
.aboutus_desc p {
    font-size: 4vw;
}
.aboutus_bottom p {
    font-size: 3.5vw;
}

.voice {
    padding: 2em 1em 3em;
}
.voice .ttl_bloc span {
    font-size: 5vw;
}
.voice_box {
    gap: 1rem;
}
.voice_box figure {
    flex: none;
    width: 100%;
}
.voice_info {
    width: 100%;
}
.voice_info h4 {
    font-size: 5vw;
}
.voice_meta p {
    font-size: 3vw;
}
.voice_text p {
    font-size: 3.5vw;
    line-height: 1.6em;
}

.agent {
    padding: 2em 1em 3em;
}
.agent .ttl_bloc span {
    font-size: 5vw;
}


.agent_item figure {
    flex: none;
}
.agent_data {
    width: 100%;
}
.agent_data h3 .jp {
    font-size: 6vw;
}
.agent_item:nth-child(1) figure {
    width: 54%;
    margin: 0 auto;
}
.agent_item:nth-child(2) figure {
    width: 54%;
    margin: 0 auto;
}

.agent_career h4 {
    font-size: 4vw;
}

.agent_box p {
    font-size: 3.5vw;
}
.agent_box h5 {
    font-size: 3.5vw;
}
.agent_box ul li {
    font-size: 3.5vw;
}

.agent_data h3 .en {
    width: 110px;
}

.agent_info h4 {
    font-size: 4vw;
}
.agent_info p {
    font-size: 3.5vw;
}

.flow {
    padding: 2em 1em 3em;
}
.flow .ttl_bloc span {
    font-size: 5vw;
}

.flow_interval {
    flex: 1 0 0%;
}

.flow_stream {
    width: 80%;
}

.flow_item i {
    width: 4em;
}
.flow_box h3 {
    font-size: 5vw;
}
.flow_box p {
    font-size: 3.5vw;
    line-height: 1.4em;
}

.flow_item:after {
    transform: skewX(0deg);
}
.flow_item + .flow_item {
    margin-top: 1rem;
}

.interval_01 p {
    font-size: 3.5vw;
}
.interval_02 p {
    font-size: 3.5vw;
}
.interval_03 p {
    font-size: 3.5vw;
}

.interval_01 span {
    flex: 1 0 0%;
}
.interval_02 span {
    flex: 1 0 0%;
}
.interval_03 span {
    flex: 1 0 0%;
}

.flow_bloc {
    gap: 1rem;
}

.interval_01 {
    margin-top: 5rem;
}



.contact {
    padding: 2em 1em 3em;
}
.contact .ttl_bloc span {
    font-size: 5vw;
}
.contact .ttl_bloc p {
    font-size: 3.5vw;
}
.contact_bloc {
    padding: 0;
}

.error {
    font-size: 3vw;
}

.contact_next_button {
    font-size: 4vw;
}
.contact_back_button {
    font-size: 4vw !important;
    flex: none !important;
    width: 30% !important;
    padding: 1em !important;
}
.contact_next_button:after {
    width: 18px;
    height: 10px;  
}

.radio_text {
    font-size: 3.5vw;
}

.btn_bloc button {
    padding: 1em;
    width: auto;
    flex: 1 0 0%;
    font-size: 4vw;
}

.thanks .detail h1 {
    font-size: 5vw;
}
.thanks .detail h1 + p {
    font-size: 3.5vw;
}

.contact_check_bloc p {
    font-size: 3vw;
}
.ECM_CheckboxInput-LabelText {
    font-size: 3.5vw;
}











}