html{
    font-size: 10px;
}
body{
    background: #fff;
    font-family:'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    line-height: 1.75;
    font-size: 1.4rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-width: 1000px;
    min-width: 1000px;
    color: #333;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td{
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
}
*{
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

table{
    border-collapse: collapse;
}

a{
    text-decoration: none;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    color: inherit;
}

i{
    margin-right: 5px;
}
a:hover{
    opacity: .7;
}

/*共通スタイル*/
.pc{
    display: block;
}
.sp{
    display: none;
}

.tac{
    text-align: center;
}
.tal{
    text-align: left;
}
.tar{
    text-align: right;
}
.fll{
    float: left;
}

/* ----------------------------------------------------
margin
---------------------------------------------------- */
.mt00 { margin-top:  0px !important; }
.mt05 { margin-top:  5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mr00 { margin-right:  0px !important; }
.mr05 { margin-right:  5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mb00 { margin-bottom:  0px !important; }
.mb05 { margin-bottom:  5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.ml00 { margin-left:  0px !important; }
.ml05 { margin-left:  5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
/* ----------------------------------------------------
padding
---------------------------------------------------- */
.pt00 { padding-top:  0px !important; }
.pt05 { padding-top:  5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt80 { padding-top: 80px ; }
.pr00 { padding-right:  0px !important; }
.pr05 { padding-right:  5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pb00 { padding-bottom:  0px !important; }
.pb05 { padding-bottom:  5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pl00 { padding-left:  0px !important; }
.pl05 { padding-left:  5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.red{
    color: #b00014;
}


.cf:after{
    content: "";
    display: block;
    clear: both;
}

/*---------------------------------------
color
---------------------------------------*/
.p-service__item,.c-btn,.header__lineBtn{
    color: #fff;
}
.headder__contact{
    color: #e42e2e;
}
.ft__copy{
    color: #987f84;
}
.c-red{
    color: #ee3939;
}
.c-btn-2{
    color: #f37ca0;
}

.c-hr{
    background: #eeafc2;
}
.p-service__item,.c-h3:before,.form__inner:before,.form__inner:after{
    background: #ee8fac;
}
.c-nmlHr{
    background: #f9dfda;
}
.recruit__tr:nth-of-type(2n-1){
    background: #fdf5f8;
}
.c-btn{
    background: #f37ca0;
}
.c-btn-2{
    background: #fff;
}
/*---------------------------------------
font
---------------------------------------*/
.headder__contact{
    font-size: 2.3rem;
}
.ft__copy{
    font-size: 1.2rem;
}
.header__contact_subTxt,.fz13{
    font-size: 1.3rem;
}
.p-service__item{
    font-size: 1.5rem;
}
.c-btn,.fz16{
    font-size: 1.6rem;
}
.c-h-subTxt{
    font-size: 1.4rem;
}
.service__policy_txt{
    font-size: 1.6rem;
}
.p-concept__txt,.service__subTtl,.c-h4,.fz18{
    font-size: 1.8rem;
}
.c-h3{
    font-size:2.5rem;
}
.service__ttl{
    font-size: 2.6rem;
}
.service__policyTtl{
    font-size: 3.0rem;
}
.c-h2{
    font-size: 3.2rem;
}
.l-nav,.service__ttl,.service__subTtl,.c-btn{
    font-weight: 600;
}

/*---------------------------------------
layout
---------------------------------------*/
.l-header{
    padding: 40px 80px 0;
    min-width: 1000px;
}
.l-container{
    max-width: 1000px;
    margin: 0 auto;
}
.l-df{
    display: flex;
}
.l-between{
    justify-content: space-between;
}
.l-nav{
    align-items: center;
}
.l-mv{
    text-align: center;
    padding: 200px 0 230px;
}
.l-page_container{
    max-height: 870px;
    margin: 0 auto;
}
.l-sec1{
    background: url("../images/page-bg.jpg")no-repeat;
    background-size: 100%;
    background-attachment: fixed;
}
.l-sec2{
    background: url('../images/company-bg1.jpg')no-repeat,url('../images/company-bg2.jpg')no-repeat;
    background-position: top ,bottom;
    background-size: 100%;
}
/*---------------------------------------
component
---------------------------------------*/
.header__navItem{
    margin-right: 40px;
}
.header__navItem:nth-of-type(4){
    margin-right: 60px;
}
.headder__contact{
    line-height: 1.4;
}
.header__contact_subTxt{
    display: block;
}
.headder__contact i{
    font-size: 1.9rem;
}
.c-h2{
    margin-bottom: 50px;
    letter-spacing: .12em;
    text-align: center;
}
.c-hr{
    border:none;
    width: 1px;
}
.c-txt-y{
    writing-mode: vertical-rl;
}
.c-nmlHr{
    width: 100%;
    height: 1px;
}
.c-h-subTxt{
    display: block;
}
.c-page-h2{
    padding-top: 90px;
}
.c-h3{
    margin-top: 50px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 15px;
    position: relative;
    margin-bottom: 30px;
}
.c-h3:before{
    content: '';
    display: block;
    width: 148px;
    position: absolute;
    height: 1px;
    bottom: -1px;
    left: 0;
}
.c-h4{
    border-left: 3px solid #ee8fac;
    padding-left: 10px;
    margin: 30px 0 15px;
}
.c-btn{
    min-width: 200px;
    padding: 15px 70px;
    display: inline-block;
    border-radius: 5px;
    border: none;
}
.c-btn-2{
    border: 1px solid #f37ca0;
}
/*---------------------------------------
project
---------------------------------------*/

.mv__ttl{
    stroke:#000; stroke-width:1px; fill:transparent; stroke-dasharray:1425px; stroke-dashoffset:1425px; animation:anim 2.5s ease-in 0s forwards;
}
@keyframes anim{
        0%{stroke-dashoffset:1425px;}
        70%{fill:transparent;}
        90%{stroke-dashoffset:0;}
        100%{stroke-dashoffset:0; fill:#000000;stroke-width:0;}
}
.concept{
    padding-bottom: 170px;
}
.conept__wrap{
    justify-content: center;
}
.p-concept__h2{
    margin-left: 55px;
    margin-bottom: 0;
    text-align: inherit;
}
.p-concept__txt{
    writing-mode: vertical-rl;
    letter-spacing: .12em;
    line-height: 2;
}
.service{
    padding-bottom: 80px;
}
.service__wrap{
    margin-bottom: 40px;
}
.servive__txt{
    width: 50%;
}
.p-service__item{
    padding: 50px 60px;
    background-image: url('../images/sakura-waku-left.png'),url('../images/sakura-waku-right.png');
    background-position: left -13px bottom -13px,right -13px top -13px;
    background-repeat: no-repeat;
    background-size: 269px;
}
.service__ttl{
    margin-bottom: 15px;
}
.service__subTtl{
    margin-bottom: 10px;
}
.service__hr{
    margin: 0 30px 0;
}
.p-service__item1{
    margin-bottom: 40px;
}
.p-service__item2,.p-service__item3{
    width: 48%;
    margin-bottom: 20px;
}
.service__policy{
    border: 1px solid #e42e2f;
    position: relative;
    background-image: url('../images/sakura-bg.jpg');
    padding: 50px 70px 50px 0;
    
}
.service__policy:before{
    content: '';
    display: block;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: 1px solid #e42e2f;
    z-index: 1;
    background: transparent;
    position: absolute;
    top: 4px;
    left: 4px;
}
.policy_sakura1,.policy_sakura2{
    position: absolute;
}
.policy_sakura1{
    left: 5px;
    top: 5px;
}
.policy_sakura2{
    right: 5px;
    bottom: 5px;
}
.service__policyTtl_wrap{
    width: 75%;
    text-align: center;
    padding: 56px 0;
}
.service__policyTtl{
    display: inline-block;
}
.service__policyTtl,.service__policy_txt{
    letter-spacing: .12em;
}
.service__policy_txt{
    line-height: 2;
}
.company{
    padding :80px 0 126px;
    
}
.company__table{
    min-width: 870px;
    margin: 0 auto 80px;
}
.company__tableTr:not(:last-of-type){
    border-bottom:1px solid #f9dfda; 
}
.company__tableTh{
    padding: 20px 0;
    text-align: left;
}
.company__tableTR{
    padding: 20px 0;
}
.company__hr{
    margin-bottom: 80px;
}
.greeting__txt{
    width: 100%;
}
.ft__copy{
    padding-bottom: 20px;
}
.recruit__detail{
    padding: 45px 50px 80px;
    box-shadow:0px 0px 17px 7px rgba(126,126,126,0.15);
    border-radius: 10px;
    margin-bottom: 80px;
    background: #ffffffba;
}
.recruit__table{
    width: 100%;
}
.recruit__th,.recruit__td{
    padding: 15px 20px;
}
.recruit__th{
    text-align: left;
    font-weight: 600;
}
.form{
    padding-bottom: 80px;
}
.form__inner{
    width: 770px;
    margin: auto;
    box-shadow:0px 0px 17px 7px rgba(126,126,126,0.15);
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    padding: 70px 100px;
    background: #ffffffba;
}
.form__inner:before,.form__inner:after{
    content: '';
    display: block;
    height: 5px;
    width: 100%;
    position: absolute;
    left: 0;
}
.form__inner:before{
    top: 0;
}
.form__inner:after{
    bottom: 0;
}
input,textarea {
    -webkit-appearance: none;
}
input[type="submit"],
input[type="button"] {
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    
    box-sizing: border-box;
    cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}

button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    
    outline: none;
}
.form__btnWrap{
    justify-content: space-evenly;
}
.form__input{
    background: #f7f5f5;
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    height: 37px;
    width: 100%;
}
.form__name{
    width: 30%;
}
.form__inputWrap{
    width: 70%;
}
.form__column{
    margin-bottom: 25px;
}
input.c-btn{
    font-family:'Noto Serif JP',"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
.form__tel,.form__birth{
    width: 30%;
}
.header__navLine{
    margin-right: 20px;
}
.header__lineBtn{
    display: inline-block;
    padding: 10px 20px;
    background: #00B900;
    border-radius: 5px;
}