button, input, select, textarea {
    margin: 0;
}
header, footer, main, aside{
    display: block;
}
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend,textarea,pre, iframe, hr, h1, h2, h3, h4, h5, h6{
    margin: 0;
    padding: 0;
}
h1, h2, h3, h4, h5, h6{
    font-size: 100%;
    font-weight: normal;
}
img, embed, iframe, object, audio, video{
    height: auto;
    max-width: 100%;
}

a:-webkit-any-link{
    cursor: pointer;
    text-decoration: none;
    border-bottom: none;
}

body{
    font-family: "source-han-sans-japanese", sans-serif;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.875;
    color: #000;
    background: #fff;
}

button{
    appearance: auto;
    -webkit-writing-mode: horizontal-tb !important;
    text-rendering: auto;
    color:  -internal-light-dark(black, white);
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: center;
    align-items: flex-start;
    cursor: default;
    background-color: internal-light-dark(rgb(239,239,239), rgb(59,59,59));
    box-sizing: border-box;
    font: 400 13.3333px Arial;
    padding: 1px 6px;
    border-width:2px;
    border-style: outset;
    border-color: internal-light-dark(rgb(118,118,118),rgb(133,133,133));
    border-image: initial;

}

div{
    display: block;
}

header{
    display: block;
}

html{
    display: block;
}
html.wf-active{
    opacity: 1;
    pointer-events: auto;
    transition: opacity 120ms ease;
}

li{
    display: list-item;
    text-align: -webkit-match-parent;
}

main{
    display: block;
}

section{
    display: block;
}

ul{
    list-style: none;
}

.u-clearfix::after, .p-service__outline::after, .p-contact::after{
    content: '';
    display: table;
    clear: both;
}

.c-button{
    position: relative;
    display: inline-block;
    min-width: 470px;
    padding: 25px 90px;
    color: #fff;
    background:#5e5c00 ;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 1.35;
    text-decoration: none;
    text-align: center;
    -webkit-transition: 300ms;
    transition: 300ms;
}
.c-button::after{
    content: "";
    position: absolute;
    top: calc(50%-11px);
    right: 40px;
    width: 12px;
    height: 22px;
    background: url(../img/cbutton_img.png) no-repeat;
    background-size: contain;
}
.c-button-noken, .c-button-shinsha{
    position: relative;
    display: block;
    padding: 12px;
    color: #f7f8f8;
    background: #5e5c00;
    font-size: 20px;
    font-weight: bold;
    font-family: "Yu Gothic", sans-serif;
    letter-spacing: .06em;
    text-decoration: none;
    text-align: center;
    border: 2px solid #5e5c00;
    -webkit-transition: 300ms;
    transition: 300ms;
    width: 382px;
    max-width: 100%;
}
.c-contact-button::before{
    content: '';
    position: absolute;
    top: 0;
    left: 25px;
    width: 40px;
    height: 100%;
    background: url(../img/mail_logo_icon.png) no-repeat 50% 54%;
    background-size: 37.5px auto;

}
.c-contact-button, .c-form-button, .c-form-button-2{
    position: relative;
    display: block;
    padding: 12px;
    color: #030303;
    background: #ccccb7;
    font-size: 20px;
    font-weight: bold;
    font-family: "Yu Gothic", sans-serif;
    letter-spacing: .06em;
    text-decoration-color: none;
    text-align: center;
    border: 2px solid #ccccb7;
    -webkit-transition: 300ms;
    transition: 300ms;
}
.c-form-button::before, .c-form-button-2::before{
    content: '';
    position: absolute;
    top: 0;
    left: 25px;
    width: 40px;
    height: 100%;
    background: url(../img/google_form_logo.png) no-repeat 50% 52%;
    background-size: 39.5px auto;
}

.l-footer{
    padding: 10px 0 20px;
    color: #464646;
    background: #fff;
    border-top: 1px solid #464646;
}
.l-footer__bottom{
    margin: 0 auto;
    max-width: 1024px;
}
.l-footer__copyright{
    font-size: 14px;
    text-align: center;
}
.l-footer__logo{
    display: inline-block;
    margin: 25px 60px;
    vertical-align: middle;
}
.l-footer__logo__lab{
    display: inline-block;
    width: auto;
    height: 0;
    padding-top: 83px;
    background: url(../img/logo.png) no-repeat;
    background-size: auto;
    overflow: hidden;
}
.l-footer__pagetop{
    position: fixed;
    right: 20px;
    bottom: 20px;
    -webkit-transition: all 200ms ease;
    transition: all 200ms ease;
    -webkit-transform: scale(0.2);
    transform: scale(0.2);
    opacity: 0;
    pointer-events: none;
    z-index: 100;
}
.l-footer__pagetop a{
    position: relative;
    display: block;
    width: 70px;
    height: 0;
    padding-top: 70px;
    color: #fff;
    background: #5c5c00;
    border-radius: 50%;
    overflow: hidden;
    -webkit-transition: all 200ms ease;
    transition: all 200ms ease;
}
.l-footer__pagetop a::before{
    content: '';
    position: absolute;
    top: calc(55% - 9px);
    left: calc(50% - 9px);
    display: block;
    width: 18px;
    height: 18px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
.l-footer__pagetop.is-visible{
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    pointer-events: auto;
}
.l-footer__top{
    margin: 0 auto;
    max-width: 1024px;
    text-align: center;
}

.l-header{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background: rgba(255,255,255,0.9);
    -webkit-transition: 300ms;
    transition: 300ms;
    z-index: 9999;
}
.l-header__gnav{
    position: relative;
    padding-left: 4vw;
    height: 100%;
    font-size: 16px;
    font-weight: bold;
    color: #121212;
}
.l-header__gnav__items{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
}
.l-header__gnav__items__item{
    height: 100%;
}
.l-header__gnav__toggler{
    display: none;
}
.l-header-overlay{
    display: none;
}
.l-header__titles{
    display: -webkit-box;
    display:-ms-flexbox;
    display: flex;
    height: 100%;
    padding-right: 30px;
}
.l-header__titles a{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding:0 18px;
    height: 100%;
}
.l-header__titles__lab span{
    display: inline-block;
    width: 165px;
    height: 0;
    padding-top: 43px;
    background: url(../img/logo.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
    overflow: hidden;
    
}

.l-wrapper{
    overflow: hidden;
}

.p-about{
    padding: 40px 0px 100px;
    background: url(../img/about_bg.png) no-repeat 50% 80px;
    background-size: cover;
    text-align: center;
}
.p-about__background{
    display: inline-table;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode:vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    margin: 0 auto;
    width: 890px;
    height: 420px;
    color: #5e5c00;
    font-size: 20px;
    font-family: "Yu Mincho",serif;
    line-height: 2.3;
    letter-spacing: 0;
    text-align: left;
}
.p-about__background *{
    margin-right: 2em;
}
.p-about__background *:first-child{
    margin-right: 0;
}
.p-about__background__title{
    font-size: 30px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: .2em;
}
.p-about__background__title span{
    display: inline-block;
}
.p-about__lead{
    margin-bottom: 130px;
    color:#5e5c00 ;
    font-size: 30px;
    font-weight: bold;
    font-family: "Yu Gothic", sans-serif;
    letter-spacing: .05em;
}
.p-about__lead span{
    display: inline-block;
}
.p-about__title{
    margin-bottom: 15px;
    color: #5e5c00;
    font-size: 28px;
    font-weight: bold;
    font-family: "Yu Gothic", sans-serif;
    letter-spacing: .05em;
}

.p-contact{
    position: relative;
    padding: 80px 20px 200px;
    color: #303030;
    background: url(../img/contact_bg_large.png) no-repeat 50% 100%;
    background-size:100% auto;
}
.p-contact__action{
    float: left;
    width: 38%;
    margin: 80px 45px 40px;
}

.p-contact__action *:last-child{
    margin-bottom: 0;
}
.p-contact__action__buttons *{
    margin-bottom: 28px;
}
.p-contact__inner{
    position: relative;
    margin: 0 auto;
    max-width: 1024px;
}
.p-contact__companyinfo{
    float: right;
    margin: 0 30px ;
}

.p-contact__companyinfo__title{
    font-weight: bold;
    text-align: center;
    margin: 24px 0 5px;
}
.p-contact__companyinfo__title [lang="ja"]{
    font-size: 18px;
}
.p-contact__companyinfo__title [lang=en]{
    font-size: 14px;
    color: #B1B1B1;
}
.p-contact__companyinfo__list{
    display: table;
    
}
.p-contact__companyinfo__list *{
    
    padding-bottom: 10px;
    letter-spacing: .05em;
    margin: 0;
    display: table-cell;
    border-bottom: 1px solid #464646;
}
.p-contact__companyinfo__list li{
    display: table-row;
}
.p-contact__companyinfo__list span{
    color: #303030;
    padding: 0 10px 10px 10px;
}
.p-contact__text{
    text-align: center;
    width: calc(62%-40px);
    font-size: 16px;
    line-height: 1.875;
    margin-bottom: 1.5em;
}
.p-contact__title{
    text-align: center;
    margin-bottom: 30px;
    font-size: 32px;
    font-weight: bold;
    font-family: "Yu Gothic", sans-serif;
    letter-spacing: .1em;
}
.p-contact__title span{
    font-size: 18px;
    color: #B1B1B1;
}

.p-information{
    padding: 110px 0 120px;
}
.p-information__button{
    margin-top: 65px;
    text-align: center;
}
.p-information__list{
    display: table;
    max-width: 714px;
    margin: auto;
    border-top: 1px solid #b5b5b5;
}
.p-information__list li{
    display: table-row;
}
.p-information__list *{
    display: table-cell;
    padding: 28px;
    border-bottom: 1px solid #b5b5b5;
    color: #464646;
    letter-spacing: .05em;
    font-size: 18px;
}
.p-information__list li *:first-child{
    color: #003e62;
    font-size: 16px;
    letter-spacing: .1em;
}
.p-information__title{
    margin-bottom: 30px;
    text-align: center;
    line-height: 1.25;
}
.p-information__title [lang="ja"]{
    color: 5e5c00;
    font-size: 32px;
    font-family: "Yu Gothic", sans-serif;
    font-weight: bold;
    letter-spacing: 1em;
}
.p-information__title [lang=en]{
    color: #003e62;
    font-size: 16px;
    font-family:"aharoni", sans-serif ;
    font-weight: bold;
    letter-spacing: .1em;
}

.p-mv{
    display: -webkit-box;
    display:-ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100vw;
    min-height: 100vh;
    padding: 100px 20px 60px;
    text-align: center;
}
.p-mv img{
    vertical-align: bottom;
}
.p-mv__circulate{
    margin-top: 50px;
    margin-bottom: 40px;
}
.p-mv__lead{
    margin-bottom: 50px;
    color: #b1b1b1;
    font-size: 20px;
    font-weight: bolder;
    font-family: "Yu Gothic", sans-serif;
    letter-spacing: .05em;
}
.p-mv__lead span{
    display: inline-block;
}
.p-mv__message{
    margin-bottom: 50px;
}
.p-mv__scroll{
    display: none;
}

.p-service__achv{
    display: block;
    clear: both;
}
.p-service__achv__text{
    text-align: center;
    font-family: "Yu Gothic", sans-serif;
    font-size: 18p;
    color: #464646;
    padding:1em;
    font-weight: bold;
}
.p-service__achv__title{
    margin:15px auto;
    text-align: center;
    font-weight: bold;
    font-family: "Yu Gothic", sans-serif;
    font-size: 32px;
    letter-spacing:1em;
}

.service{
    margin: 60px auto;
    padding: 30px auto;
    text-decoration: none;
    text-align: center;
    font-family: "Yu Gothic", sans-serif;
    font-size: 20px;
    color: #303030;
}
.service__contents{
    width: 450px;
    padding: 15px;
    min-block-size: 500px;
    display: block;
}
.service__contents:first-child{
    float: left;
    margin: 20px 30px 20px calc(50% - 510px);
}
.service__contents:last-child{
    float: right;
    margin: 20px calc(50% - 510px) 20px 30px;
}
.service__contents__img{
    height: 310px;
    width: auto;
}
.service__contents__title{
    font-weight: bold;
    padding: 15px 0;
}
.service__contents__title span:first-child{
    font-size: 30px;
    color: #5e5c00;
}
.service__contents__title span:last-child{
    color: #555;
}

*,*::before,*::after{
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

@media (max-height: 960px){
    .p-mv__circulate{
        margin-top: 50px;
        margin-bottom: 40px;
    }
    .p-mv__circulate img{
        max-width: 347px;
    }
    .p-mv__lead{
        margin-bottom: 50px;
        font-size: 25px;
    }
    .p-mv__message{
        margin-bottom: 50px;
    }
    .p-mv__message img{
        max-width: 694px;
    }
}

@media (max-width: 1024px){
    .l-header__gnav{
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    }
    .l-header__gnav__items{
        position: absolute;
        top: 50px;
        left: 0;
        width: 100vw;
        height: auto;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 24px 20px;
        background: #f4f4f4;
        border-bottom: 6px solid #0079cb;
        font-weight: normal;
        -webkit-transition: 300ms;
        transition: 300ms;
        -webkit-transform: translateY(-20px);
        transform: translateY(-20px);
        opacity: 0;
        pointer-events: none;
    }
    .l-header__gnav__toggler{
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border: none;
        background: none;
        width: 70px;
        height: 50px;
        padding: 0 24px;
        outline: none;
    }
    .l-header__gnav__toggler span{
        position: absolute;
        top: 0;
        left: 24px;
        width: 22px;
        height: 2px;
        background: #333;
        -webkit-transition: 200ms ease-in-out;
        transition: 200ms ease-in-out;
    }
    .l-header__gnav__toggler span:nth-child(1){
        top: 16px;
    }
    .l-header__gnav__toggler span:nth-child(2){
        top: 24px;
    }
    .l-header__gnav__toggler span:nth-child(3){
        top: 24px;
    }
    .l-header__gnav__toggler :nth-child(4){
        top: 32px;
    }
    .l-header__titles a{
        padding: 0 7px;
    }
    .l-header__titles__lab span{
        width: 93px;
        padding-top: 24px;
    }
    .p-contact__action{
        float: none;
        width: calc(100% - 90px);
    }
    .p-contact__companyinfo{
        float: none;
        padding: 45px 15px 65px;
        width:auto;
    }
    .p-contact__companyinfo__list{
        padding: 20px 80px;
        margin: 20px;
        width: calc(100% - 200px);
    }
    .p-contact__companyinfo__list li *{
        padding: 15px;
        font-size: 11px;
        display: table-cell;
    }
    .p-contact__companyinfo__list li *:first-child{
        padding-left: 42px;
        font-size: 11px;
    }
    .p-contact__companyinfo__title{
        margin-bottom: 18px;
    }
    .p-contact__companyinfo__title[lang=ja]{
        font-size: 18px;
    }
}
@media (max-width: 768px){
    br.u-pcbr{
        display: none;
    }
    .c-button{
        font-size: 16px;
        width: 100%;
        min-width: 0;
        padding: 15px 40px;
    }
    .c-button:after{
        right: 18px;
        width: 9px;
        height: 15px;
        top: calc(50%-8px);
    }
    .c-contact-button::before, .c-form-button::before{
        left: 10px;
    }
    .l-footer{
        padding: 30px 0 60px;
    }
    .l-footer__bottom{
        padding-top: 0 15px;
        font-size: 10px;
    }
    .l-footer__copyright{
        font-size: 10px;
    }
    .l-footer__pagetop a{
        width: 50px;
        padding-top: 50px;
    }
    .l-footer__pagetop a::before{
        top: calc(55%-7px);
        left: calc(50%-7px);
        width: 14px;
        height: 14px;
    }
    .l-footer__logo{
        margin: 10px 10px;
    }
    .l-footer__top{
        margin-bottom: 15px;
    }
    .l-footer__logo__lab{
        background-size: contain;
        background-position: center;
        padding-top: 35px;
    }
    .l-header__titles{
        height: 50px;
    }
    .p-about{
        padding: 30px 15px 70px;
    }
    .p-about__background{
        width: 100%;
        height: auto;
        font-size: 14px;
        -ms-writing-mode: initial;
        -webkit-writing-mode:initial;
        writing-mode: initial;
        line-height: 1.92857;
        text-align: center;
    }
    .p-about__background *{
        margin-right: 0;
        margin-bottom: 1.5em;
    }
    .p-about__background__title{
        font-size: 17px;
    }
    .p-about__lead{
        margin-bottom: 50px;
        font-size: 14px;
    }
    .p-about__title{
        margin-bottom: 0;
        font-size: 13px;
    }
    .p-contact{
        padding: 60px 0px 105px;
        background: url(../img/contact_bg_small.png) no-repeat 50% 100%;
        background-size: 100% auto;
    }
    .p-contact__action{
        float: none;
        width: calc(100% - 30px);
        min-width: 200px;
        margin: 60px 15px 20px;
    }
    .p-contact__text{
        float: none;
        width: 100%;
        margin-bottom: 40px;
        font-size: 11px;
        line-height: 2.09091;
    }
    .p-contact__title{
        font-size: 18px;
    }
    .p-information{
        padding: 45px 0 65px;
    }
    .p-contact__companyinfo{
        padding: 45px 0 65px;
        margin: 0;
        float: none;
    }
    .p-contact__companyinfo__list{
        padding: 15px 0;
        margin: auto;
        width: auto;
        min-width: 304px;
    }
    .p-information__list li *, .p-contact__companyinfo__list li *{
        padding: 15px;
        font-size: 11px;
        display: table-cell;
    }
    .p-information__list li *:first-child, .p-contact__companyinfo__list li *:first-child{
        font-size: 11px;
        padding: 15px;
    }
    .p-information__title, .p-contact__companyinfo__title{
        margin-bottom: 18px;
        font-size: 14px;
    }
    .p-information__title [lang="ja"], .p-contact__companyinfo__title{
        font-size: 18px;
    }
    .p-mv{
        padding: 85px 20px 20px;
    }
    .p-mv__circulate{
        width: calc(100% - 30px);
    }
    .p-mv__circulate img{
        max-width: 145px;
    }
    .p-mv__lead{
        font-size: 15px;
        width: calc(100% - 40px);
    }
    .p-mv__message img{
        max-width: 285px;
        width: calc(100% - 30px);
    }
    .p-service{
        padding: 35px 15px 65px;
        background: url() no-repead 50% 0;
        background-size: cover;
    }
} 