/* RESET CSS*/
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light}@supports not (min-block-size:100dvb){:where(html){block-size:100%}}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){block-size:100%;block-size:100dvb;line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(button){border-style:solid}:where(a){text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem)}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(:focus-visible){outline:2px solid var(--focus-color,Highlight);outline-offset:2px}:where(.visually-hidden:not(:focus,:active,:focus-within,.not-visually-hidden)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}
/* //RESET CSS*/

/* Utility Property */
.flex, .flex2, .flex3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  
  .flex2 > * {
    flex: 0 0 calc(50% - 5px);
    max-width: calc(50% - 5px);
  }
  
  .flex3 > * {
    flex: 0 0 calc(33.33% - 15px);
    max-width: calc(33.33% - 15px);
  }
  
  .grid3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px 23px;
  }
  
  .grid4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0px 20px;
  }
  
  .alignstart {
    align-items: flex-start;
  }
  
  .aligncenter {
    align-items: center;
  }
  
  .justifycenter {
    justify-content: center;
  }
  
  .justifystart {
    justify-content: flex-start;
  }
  
  .spacebetween {
    justify-content: space-between;
  }
  
  .mainwidth, .g_breadcrumb {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
  }
  
  .singlewidth {
    max-width: 840px;
    width: 100%;
    margin: 0 auto;
  }
  
  body {
    color: #222222;
    font-family: 'Lato',"Noto Sans JP", sans-serif;
    box-sizing: border-box;
  }
  
  main {
    flex: 0 0 71%;
    max-width: 71%;
  }
  
  aside {
    flex: 0 0 calc(29% - 50px);
    max-width: calc(29% - 50px);
    margin-left: 50px;
  }
  
  a {
    transition: 0.3s ease;
    text-decoration: none;
    color: #222222;
  }
  a:hover {
    transition: 0.3s ease;
    opacity: 0.8;
  }
  
  ul {
    list-style: none;
  }
  
  iframe {
    max-width: 100%;
  }
  /*
  * Basic styles
****************************************************************/

body{
    background: #F5F5F5;
    color: #333;
    font-family: 'Lato',"Noto Sans JP",sans-serif;
    box-sizing: border-box;
}
body.form{
    background: white;
}
.header_wrap{
    height: 80px;
    padding: 0px 30px 0px;
}
.header_log{
    width: 300px;
    max-width: 100%;
}
.ctabtn{
    color: white;
    align-content: center;
    align-items: center;
    background: #ed6103;
    border-radius: 8px;
    box-shadow: 1px 3px 10px rgba(0, 0, 0, 0.1);
    display: flex;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    height: auto;
    font-weight: bold;
    justify-content: center;
    margin: 0px 0px 0px 20px;
    padding: 15px 30px 15px;
    transition-duration: 300ms;
    width: 276px;
    max-width: calc(100% - 20px);
    font-size: 18px;
    font-weight: 700;
    padding: 10px 20px;
    border-radius: 12px;
    box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2);
    text-align: center;
}
.headerbtn{

}
/*============================
#mv
============================*/
#mv{
    background:url(img/mv.webp)no-repeat; 
    background-size: cover;
    height: calc(100vh - 120px);
    position: relative;
}
#mv::after{
    content: '';
    filter: brightness(0.9);
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    background: rgb(0 0 0 / 10%);
}
.mv_wrap{
    position: absolute;
    top: 52.5%;
    left: 10px;
    transform: translate(0%, -50%);
    color: white;
    width: 50%;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;   
    z-index: 10; 
}
.mv_title{
    font-size: 36px;
    font-weight: 700;
    height: auto;
    line-height: 1.2;
    text-align: center;    
    margin-bottom: 20px;
}
.mv_desc{
    font-size: 24px;
    font-weight: 400;
    height: auto;
    line-height: 1.6;   
    margin-bottom: 10px; 
}
.mv_cta.ctabtn{
    border-bottom: 1px solid rgba(0, 0, 0, 0);
    border-left: 1px solid rgba(0, 0, 0, 0);
    border-radius: 16px;
    border-right: 1px solid rgba(0, 0, 0, 0);
    border-top: 1px solid rgba(0, 0, 0, 0);  
    font-size: 18px;
    font-weight: 700;
    height: auto;
    line-height: 1.4;  
    padding: 15px 25px;
    width: auto;
    margin-left: 0;
}

/*============================
#about
============================*/
#about{
   padding: 50px;
}
.about_title{
    font-family: 'Lato', sans-serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    height: auto;
    margin-bottom: 50px;
    text-align: center;
    color: #242528;
    line-height: 1.35;
    font-feature-settings: 'palt' 1;
}
.about_list{
    max-width: 1080px;
    margin: 0 auto;
}
.about_list_item{
    padding: 0px 40px;   
    align-items: center; 
    margin-bottom: 50px;

}
.about_list_item > img{
    border-radius: 16px;
    box-shadow: 10px 30px 40px 10px rgba(0, 0, 0, 0.1);
}
.about_list_item > *{
    max-width: calc(50% - 40px);
}
.about_list_item.flex{
}
.about_list_txt h2{
    font-family: 'Lato', sans-serif;
    font-feature-settings: 'palt' 1;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    height: auto;
    line-height: 1.35;
    margin-bottom: 20px;
}
.about_list_txt p{
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    font-weight: 500;
    height: auto;
    line-height: 2;    
    color: rgba(36, 37, 40, 0.7);
}
.about_cta.ctabtn{
    font-family: 'Lato', sans-serif;
    display: table;
    margin: 95px auto 31px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1;
    padding: 15px;
}

/*============================
#postion
============================*/
#postion{
    max-width: 820px;
    margin: 0 auto;
}
.postion_title{
    font-family: 'Lato', sans-serif;
    font-size: 32px;
    font-weight: 600;
    height: auto;
    margin-bottom: 40px;
    text-align: center;
    color: #242528;
    line-height: 1.35;
    font-feature-settings: 'palt' 1;    
}
.grid4.positionlist{
}
.positionlist_item{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;    
    margin-bottom: 45px;
}
.positionlist_item .material-icons{
    color: #333;
    font-size: 47px;
    margin-bottom: 20px;
}
.positionlist_title{
    font-size: 18px;
    font-weight: 700;
    height: auto;
    line-height: 1.5;
}
.position_desc{
    font-size: 20px;
    font-weight: 400;
    height: auto;
    line-height: 1.4;
    margin: 0px 0px 9px 0px;
    text-align: center;    
}
.position_cta.ctabtn{
    font-size: 18px;
    font-weight: 700;    
    margin: 0 auto;
}

/*============================
#voice
============================*/
#voice{
    margin: 80px auto 60px;
}
.voice_title{
    font-family: 'Lato',  sans-serif;
    font-size: 32px;
    font-weight: 600;
    height: auto;
    margin-bottom: 10px;
    text-align: center;
    color: #242528;
    line-height: 1.35;
    font-feature-settings: 'palt' 1;       
}
.voice_box{
    max-width: 980px;
    width: 100%;
    margin: 0px auto 14px;
    padding: 48px 48px;
    align-items: center;
    background: #f5f5f5;
    border-bottom: 0px solid #f6f3ee;
    border-left: 0px solid #f6f3ee;
    border-radius: 8px;
    border-right: 0px solid #f6f3ee;
    border-top: 0px solid #f6f3ee;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);    
}
.voice_box > img{
    border-radius: 4px;
    flex: none;
    height: 407px;object-fit: cover;
    width: 40%;
    max-width: 40%;    
}
.voice_box.flex.voice1{
}
.voice_subtitle{
}
.voice_txt{
    align-items: center;
    flex: 1;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 0px 0px 0px 48px;
    padding: 0px;
    width: auto;
    max-width: calc(100% - 48px);
    font-family: 'Lato',  sans-serif;
    color: #000000;
    font-weight: 700;    
}
.voice_subtitle{
    font-size: 21px;
    height: auto;
    letter-spacing: normal;
    line-height: 1.4;

}
.voice_box.flex.voice2{
}
.voice_desc{
    margin-top: 24px;
    font-size: 16px;
    font-family: 'Lato',  sans-serif;
}
.voice_cta.ctabtn{
    width: auto;
    display: table;
    margin: 25px auto;
    font-size: 18px;
    font-weight: 700;
    padding: 10px 20px;
    border-radius: 12px;
    box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.2);
}

/*============================
#step
============================*/
#step{
}
.step_title{
    font-family: 'Lato',  sans-serif;
    font-size: 32px;
    font-weight: 600;
    height: auto;
    margin-bottom: 10px;
    text-align: center;
    color: #242528;
    line-height: 1.35;
    font-feature-settings: 'palt' 1;       
}
.step_list{
    max-width: 1080px;
    margin: 30px auto;
    color: #000;
}
.step_list_item.flex{
    align-items: center;
    gap:40px;
    background: #ffffff;
    border-bottom: 0px solid #f6f3ee;
    border-left: 0px solid #f6f3ee;
    border-radius: 8px;
    border-right: 0px solid #f6f3ee;
    border-top: 0px solid #f6f3ee;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    height: auto;
    justify-content: space-between;
    margin: 0px 24px 50px;
    padding: 48px 48px;
    transition-duration: 600ms;
    transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
    width: calc(100% - 48px);
    max-width: calc(100% - 48px);    
}
.step_list_txt h2{
    font-size: 24px;
    font-weight: 700;
    height: auto;
    letter-spacing: normal;
    line-height: 1.4;
    margin-bottom: 24px;
    font-family: 'Lato',  sans-serif;
}
.step_list_txt p{
    font-size: 16px;
    font-weight: 700;
    font-family: 'Lato',  sans-serif;
}
p.stepnum{
    font-size: 20px;
    font-weight: 700;
    height: auto;
    letter-spacing: normal;
    line-height: 1.4;
    margin-bottom: 15px;    
}

/*============================
#bottom
============================*/
#bottom{
}
.bottom_title{
    font-size: 32px;
    font-weight: 600;
    height: auto;
    letter-spacing: -0.05em;
    line-height: 1.12;
    margin: 40px 0px 14px 0px;    
    text-align: center;
}
.bottom_desc{
    font-size: 20px;
    font-weight: 400;
    height: auto;
    line-height: 1.4;
    width: 100%;
    max-width: 817px;
    margin: 5px auto 10px;
}
.bottom_box.flex{
    background: #ffffff;
    border-bottom: 0px solid #f6f3ee;
    border-left: 0px solid #f6f3ee;
    border-radius: 8px;
    border-right: 0px solid #f6f3ee;
    border-top: 0px solid #f6f3ee;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    height: auto;
    justify-content: space-between;
    margin: 40px auto;
    padding: 110px 48px;
    max-width: 980px;
    width: 100%;
    align-items: center;
}
.bottom_txt{
    color: #000;
    margin-right: 48px;
}
.bottom_subtitle{
    font-size: 24px;
    font-weight: 700;
    height: auto;
    letter-spacing: normal;
    line-height: 1.4;
    margin: 12px 0px 0px 0px;    
}
.bottom_subdesc{
    font-size: 16px;
    font-weight: 700;
    margin-top: 24px;
    font-family: 'Lato',  sans-serif;
}
.bottom_box img{
    border-radius: 4px;
    flex: none;
    height: auto;
    width: 40%;
    max-width: 40%;    
}
.bottom_txt a{
    color: white;
    font-size: 20px;
    font-weight: 400;
    height: auto;
    line-height: 1.4;
    text-align: center;   
    display: table;
    margin: 0 auto; 
    text-decoration: underline;
}
/*============================
footer
============================*/
footer{
    background: #FFFFFF;
    border-radius: 0;
    border-top: solid 1px #eeeeee;
}
.footerwrap{
    max-width: 1000px;
    margin: 0 auto;
    height: 49px;
    opacity: 1;  
    align-items: center;     
}
.contactinfo a, .copy span{
    display: inline-block;
    margin-right: 10px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.4;
}
.copy span{
    font-family: "Noto Sans JP", sans-serif;    
    font-size: 14px;
}
/*============================
form
============================*/
#form{
    width: 80%;
    max-width: 820px;
    margin: 0 auto;
}
.form_title{
    color: #000000;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1.2;
    margin: 20px auto 40px;
    text-align: center;
    width: 859px;    
}
.form_bottom_desc{
    font-size: 13px;
    font-weight: 400;
    height: auto;
    line-height: 1.4;
    margin: 11px 0px 15px 0px;
    text-align: center;
}

@media screen and (max-width:680px) {
    header{
        height: 50px;
        width: 100%;
        max-width: 100%;
        display: inline-block;
        margin: 0 auto;
    }
    .header_wrap{
        align-items: flex-start;
        justify-content: center;
    }
    .headerbtn{
        display: none;
    }
    #mv{
        height: 474px;
        background-position: center;
    }
    .mv_wrap{
        width: 85%;
    }
    .mv_title{
        font-size: 28px;
    }
    .mv_desc{
        font-size: 19px;
        margin-bottom: 45px;    
    }
    #about{
        padding: 45px 20px;
		overflow-x:hidden;
    }
    .about_title{
        font-size: 32px;
    }
    .about_list_item > * {
        max-width: 100%;
    }
    .about_list_item > *:first-child{
        margin-bottom: 30px;
    }
    .flex2 > * {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .about_list_item{
        padding: 10px;
        margin-bottom: 10px;
    }
    .about_list_txt h2{
        font-size: 24px;
    }
    .about_list_txt p{
        font-size: 14px;
    }
    .about_list_item:nth-child(odd) img{
        margin-left: 30px;
        width: 100vw;
        max-width: 100vw;
        margin-bottom: 30px;
    }
    .about_list_item:nth-child(even) img{
        margin: 0 calc(50% - 55vw) 30px;
        width: 100vw; 
        order:1;
    }    
    .about_list_item:nth-child(even) .about_list_txt{
        order: 2;
    }   
    .about_cta.ctabtn{
        margin: 25px auto;
    }
    .postion_title{
        font-size: 28px;
    }
    .grid4.positionlist{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        margin: 0 auto;
        max-width: 280px;
    }
    .positionlist_item{
        flex-direction: row;
    }
    .positionlist_item .material-icons{
        margin-right: 30px;
        margin-bottom: 0;
    }
    .voice_title{
        font-size: 28px;
    }
    .voice_box{
        padding: 48px 24px;
        margin-bottom: 0;
    }
    .voice_box > img{
        height: auto;
        width: 100%;
        max-width: 100%;
    }
    .voice_txt{
        margin: 40px 0;
    }
    .voice_subtitle{
        font-size: 20px;
    }
    .voice_desc{
        font-size: 14px;
    }
    .step_title{
        font-size: 28px;
    }
    .step_list_item.flex{
        width: 100%;
        max-width: 100%;
        margin: 0 0 20px;
        flex-direction: column;
        padding: 48px 24px;
    }
    p.stepnum{
        font-size: 18px;
    }
    .step_list_txt h2{
        font-size: 20px;
    }
    .step_list_txt p{
        font-size: 14px;
    }
    .step_list_item.flex:nth-child(even) img{
        order: 1;
    }
    .step_list_item.flex:nth-child(even) .step_list_txt{
        order: 2;
    }
    .bottom_title{
        font-size: 28px;
    }
    .bottom_desc{
        font-size: 18px;
        margin: 20px 20px 40px;
        width: auto;
    }
    .bottom_box.flex{
        padding: 48px 24px;
        flex-direction: column;
        margin-bottom: 0;
    }
    .bottom_box.flex > img{
        width: 100%;
        max-width: 100%;
        order: 1;
        margin-bottom: 60px;
    }
    .bottom_txt{
        order: 2;
        margin-right: 0;
    }
    .bottom_subtitle{
        font-size: 20px;
    }
    .bottom_subdesc{
        font-size: 14px;
    }
    .footerwrap{
        height: auto;
        padding: 20px;
        
    }
    .contactinfo a{
        display: block;
        margin-bottom: 15px;
    }
    .form_title{
        font-size: 20px;
        width: auto;
        margin: 10px auto;
    }
}

#thanks{
    background: url(/img/thanks.jpeg)no-repeat;
    background-position: center;
    background-size: cover;
    color: white;
    padding: 100px 0px 100px 0px;  
    position: relative;
}

#thanks::before{
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    background: #0000007a;
    display: block;
    position: absolute;
}

#thanks .form_title{
    color: white;
    font-size: 40px;
    font-weight: 700;
    z-index: 2;
    position: relative;
}

#thanks .form_bottom_desc{
    font-size: 24px;
    font-weight: 400;
    line-height: 2;  
    position: relative;  
    z-index: 2;
}
.linebtn{
    background: #06c755;
    color: white;
    padding: 15px 40px;
    border-radius: 10px;
    font-size: 18px;
    font-weight: 500;
    display: table;
    margin: 0 auto; 
    position: relative;
    z-index: 2; 
}