@charset "UTF-8";
/* fv */
/* start */
.navlist_child01 a::before{
    position: absolute;
    bottom: -6px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #6ac6ff;
}
.start {
    padding: 0%;
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
}
.start p {
    padding: 0;
	position: fixed;
	left: 35%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 280px;
}
/*  */
.mv{
    display: block;
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
}
.fv {
    position: relative;
    background-color: #fff;
    max-width: 1920px;
    width: 100%;
    margin: 120px auto 0;
}
.fvwrap{
    width: 100%;
    background: #fff;
}
.fvtext_cover{
    text-shadow: 1px 1px 30px #5fc8f5;
    position: absolute;
    top: 47%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.fv p{
    color: #fff;
    font-size: 100px;
    font-family: serif;
    white-space: nowrap;
}
a.scroll {
    display: block;
    position: absolute;
    right: 50px;
    bottom: -220px;
    z-index: 0;
    padding: 10px 10px 110px;
    overflow: hidden;
    color: #4d4d4d;
    font-size: 12px;
    font-family: 'Josefin Sans', sans-serif;
    line-height: 1;
    letter-spacing: .2em;
    text-transform: uppercase;
    text-decoration: none;
    writing-mode: vertical-lr;
}
a.scroll::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    height: 100px;
    background: #4d4d4d;
}
a.scroll::after {
    animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
  @keyframes sdl {
    0% {
      transform: scale(1, 0);
      transform-origin: 0 0;
    }
    50% {
      transform: scale(1, 1);
      transform-origin: 0 0;
    }
    50.1% {
      transform: scale(1, 1);
      transform-origin: 0 100%;
    }
    100% {
      transform: scale(1, 0);
      transform-origin: 0 100%;
    }
  }


  .section01 {
    padding-top: 80px;
    max-width: 1000px;
    margin: 0 auto 60px;
    position: relative;
}

#section01 {
    padding-top: 125px;
    margin-top: -125px;
}

.promote {
    font-size: 46px;
    font-weight: bold;
    font-family: sans-serif;
    color: #4d4d4d;
    text-align: center;
    margin-bottom: 120px;
    letter-spacing: 0.2em;
}
.promote_cover{
    position: relative;
}

.promote_cover::after {
    content: "WORKS";
    font-family: monospace;
    font-size: 17px;
    height: 7px;
    border-radius: 2px;
    position: absolute;
    top: 70px;
    left: 50%;
    color: #969696;
    letter-spacing: 0.6em;
    transform: translateX(-50%);
}
.main_wrap{
    max-width: 1000px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    line-height: 1.6em;
}
.top_text {
    max-width: 450px;
    width: 100%;
    line-height: 2;
    font-size: 17px;
}
.top_text_line_between {
    display: inline-block;
    padding-bottom: 10px;
}
.top01 {
    max-width: 500px;
    height: 400px;
    padding-left: 20px;
}
.more_btn_top{
    text-align: center;
    margin: 0 auto;
    margin-top: 80px;
    display: block;
    width: fit-content;
}
.more_btn_top a{
    font-size: 16px;
    padding: 17px 81px;
    border-radius: 32px;
    background: #ffc800;
    color: #fff;
    transition: .3s;
}
.more_btn_top a:hover{
    background-color: #ff9900;
    cursor: pointer;
}
/* service */
.section01_2{
    padding: 80px 0 60px 0;
    background-color: #f0f4f8;
}
.section01_2 .promote{
    margin-bottom: 90px;
}
.section01_2 .promote_cover::after {
    content: "FLOW";
    font-family: monospace;
    font-size: 17px;
    height: 7px;
    border-radius: 2px;
    position: absolute;
    top: 70px;
    left: 50%;
    color: #969696;
    letter-spacing: 0.6em;
    transform: translateX(-50%);
}
.service_flow{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
}
.service_flow img{
    width: 100%;
    /* border-radius: 20px; */
    position: relative;
}
.service_flow>div{
    max-width: 300px;
    width: 100%;
    margin-bottom: 120px;
    z-index: 0;
    background: #fff;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 20px;
    box-shadow: 5px 7px 12px #ddd;
}
.flow_title{
    font-size: 24px;
    padding: 23px 0 11px 0;
    text-align: center;
    letter-spacing: em;
    font-family: serif;
}
.flow_text{
    font-size: 16px;
    padding: 0 0 4px;
}
/*  */
.flow01{
    position: relative;
}
.flow01::before{
    position: absolute;
    content: "01";
    font-family: cursive;
    top: -40px;
    left: -20px;
    font-size: 420%;
    z-index: -1;
    color: #4d4d4d;
}
/*  */
.flow02{
    position: relative;
}
.flow02::before{
    position: absolute;
    content: "02";
    font-family: cursive;
    top: -40px;
    left: -20px;
    font-size: 420%;
    z-index: -1;
    color: #4d4d4d;
}
/*  */
.flow03{
    position: relative;
}
.flow03::before{
    position: absolute;
    content: "03";
    font-family: cursive;
    top: -40px;
    left: -20px;
    font-size: 420%;
    z-index: 1;
    color: #4d4d4d;
}
/*  */
.flow04{
    position: relative;
}
.flow04::before{
    position: absolute;
    content: "04";
    font-family: cursive;
    top: -40px;
    left: -20px;
    font-size: 420%;
    z-index: 1;
    color: #4d4d4d;
}

@media screen and (max-width: 1100px) {
    .fv{
        margin-top: 70px;
    }
}
@media screen and (max-width: 950px) {
    
    .mv{
        display: block;
        max-width: 1920px;
        width: 100%;
        margin: 0 auto;
    }
    .top01 {
        height: auto;
        padding-left: 0;
    }
    .mv{
        display: block;
        max-width: 1920px;
        height: 460px;
        object-fit: cover;
        width: 100%;
        margin: 0 auto;
    }
    .fv {
        position: relative;
        margin: 70px auto 0;
    }
    .fv p {
        color: #fff;
        font-size: 70px;
        font-family: serif;
    }
    .promote {
        font-size: 26px;
        font-weight: bold;
        font-family: sans-serif;
        color: #4d4d4d;
        text-align: center;
        margin-bottom: 120px;
    }
    .section01 .promote_cover::after {
        font-size: 10px;
        border-radius: 2px;
        position: absolute;
        top: 56px;
        left: 50%;
        letter-spacing: 1.5em;
        transform: translateX(-50%);
    }
    .main_wrap {
        max-width: 750px;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto;
        line-height: 1.6em;
        justify-content: center;
    }
    .top01 {
        max-width: 380px;
        width: 100%;
        order: 1;
        margin-bottom: 20px;
    }
    .top_text {
        font-family:sans-serif;
        max-width: 380px;
        width: 100%;
        font-size: 18px;
        line-height: 1.6;
        order: 2;
        text-align: left;
    }
    .section01 {
        margin-bottom: 80px;
    }
    .section01_2 {
        padding: 80px 0 0px 0;
        background-color: #f0f4f8;
    }
    .section01_2 .promote_cover::after {
        font-size: 10px;
        border-radius: 2px;
        position: absolute;
        top: 56px;
        left: 50%;
        letter-spacing: 1.5em;
        transform: translateX(-50%);
    }
    .service_flow {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        max-width: 620px;
        width: 100%;
        margin: 0 auto;
    }
}
@media screen and (max-width: 650px) {
    .fvtext_cover {
        text-shadow: 1px 1px 30px #075475;
    }
    .fv p{
        font-size: 40px;
    }
    .mv{
            display: block;
            max-width: 1920px;
            height: 460px;
            object-fit: cover;
            width: 100%;
            margin: 0 auto;
    }
    .promote {
        font-size: 26px;
        font-weight: bold;
        font-family: sans-serif;
        color: #4d4d4d;
        text-align: center;
        margin-bottom: 90px;
    }
    .main_wrap {
        max-width: 1000px;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto;
        line-height: 1.6em;
        justify-content: center;
    }
    .section01_2 {
        padding: 80px 0 0px 0;
        background-color: #f0f4f8;
    }
    .service_flow {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 375px;
        width: 100%;
        margin: 0 auto;
    }
    .service_flow>div {
        max-width: 300px;
        width: 100%;
        margin-bottom: 50px;
        z-index: 0;
        background: #fff;
        padding: 20px;
        box-sizing: border-box;
        border-radius: 20px;
        box-shadow: 5px 7px 12px #ddd;
    }
    .section01 {
        padding-top: 60px;
        margin-bottom: 40px;
    }
    .section01_2 {
        padding-top: 60px;
    }
    .spfot {
        margin-bottom: 40px;
    }
}