@charset "utf-8";

/* ==================================================
Common CSS
================================================== */

@media(min-width:1000px){

/*STYLE*/
.sp {
display:none;
}

.cts {
width:1000px;
}

.more_link {
    text-align:right;
}

.more_link .btn {
    display:inline-block;
}

.more_link .btn a .arrow {
    width:9px;
    height:9px;
    border-top:#f57312 1px solid;
    border-right:#f57312 1px solid;
    transform:rotate(45deg);
    margin-right:8px;
}

.more_link .btn a {
    display:flex;
    align-items:center;
}

.more_link .btn a p {
    font-weight:600;
    line-height:100%;
    color:#f57312;
}

.more_btn {
}

.more_btn .btn {
    display:inline-block;
}

.more_btn .btn a {
    display:flex;
    justify-content:center;
    align-items:center;
    background:#f57312;
    width:160px;
    height:50px;
    padding-right:10px;
    position:relative;
}

.more_btn .btn a .arrow {
    width:10px;
    height:10px;
    border-top:#000 1px solid;
    border-right:#000 1px solid;
    transform:rotate(45deg);
    margin-right:8px;
    position:absolute;
    right:10px;
}

.more_btn .btn a p {
    font-weight:700;
    line-height:100%;
    color:#000;
}

.back_btn {
    text-align:center;
    margin-top:30px;
}

.back_btn .btn {
    display:inline-block;
}

.back_btn .btn a {
    display:flex;
    justify-content:center;
    align-items:center;
    border:#f57312 1px solid;
    width:130px;
    height:50px;
    padding-left:10px;
    position:relative;
}

.back_btn .btn a .arrow {
    width:10px;
    height:10px;
    border-bottom:#f57312 1px solid;
    border-left:#f57312 1px solid;
    transform:rotate(45deg);
    margin-left:8px;
    position:absolute;
    left:10px;
}

.back_btn .btn a p {
    font-weight:700;
    line-height:100%;
    color:#f57312;
}






/*-----HEADER-----*/
header {
    width:100%;
    height:80px;
    background:rgba(255,255,255,0.95);
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 15px;
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
}

header .logo {
}

header .logo a {
    display:flex;
    align-items:center;
}

header .logo a .symbol {
    width:50px;
    margin-right:10px;
}

header .logo a .names {
}

header .logo a .names h1 {
    line-height:100%;
    margin-bottom:5px;
}

header .logo a .names h1 .main {
    font-size:160%;
    font-weight:600;
}

header .logo a .names h1 .co {
    font-size:100%;
}

header .logo a .names .kana {
    font-size:70%;
    line-height:100%;
}



/*-----DEMO-----*/
#demo {
    width:100%;
    margin-top:80px;
}


/*-----MV-----*/
#mv {
    width:100%;
    overflow:hidden;
    margin-top:80px;
    position:relative;
    background:#222;
}

#mv .movie {
}

#mv video{
    width:100%;
    height:auto;
    vertical-align:bottom;
}

#mv .sound {
    width:35px;
    position:absolute;
    right:15px;
    bottom:15px;
    z-index:900;
    cursor:pointer;
}



/*-----TOP COMMON-----*/
.top_title {
    text-align:center;
}

.top_title h2 {
    font-size:500%;
    font-weight:600;
    line-height:100%;
    color:#f57312;
    margin-bottom:5px;
}

.top_title .subtitle {
    text-align:center;
}

.top_title .subtitle p {
    font-size:100%;
    font-weight:600;
    line-height:100%;
    display:inline-block;
    border-top:#f57312 1px solid;
    border-bottom:#f57312 1px solid;
    color:#f57312;
    padding:7px 15px;
}



/*-----TOP TOPICS-----*/
#top_topics {
    padding:70px 0;
}

#top_topics .cts {
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#top_topics .top_title {
    width:350px;
}

#top_topics .topics_cts {
    width:calc(100% - 350px);
}

#top_topics .topics_cts .topics {
    margin-bottom:10px;
}

#top_topics .topics_cts .topics .topic {
    border-bottom:#f0f0f0 1px solid;
}

#top_topics .topics_cts .topics .topic:first-child {
    border-top:#f0f0f0 1px solid;
}

#top_topics .topics_cts .topics .topic a {
    display:flex;
    justify-content:space-between;
    padding:20px 0;
}

#top_topics .topics_cts .topics .topic a .date_cate {
    width:160px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#top_topics .topics_cts .topics .topic a .date_cate .date {
    width:90px;
}

#top_topics .topics_cts .topics .topic a .date_cate .cate {
    width:70px;
    background:#0046b4;
    color:#fff;
    font-size:80%;
    font-weight:500;
    text-align:center;
}

#top_topics .topics_cts .topics .topic a .subject {
    width:calc(100% - 180px);
}




/*-----TOP COMPANY-----*/
#top_company {
    background:#1e1e1e;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
}

#top_company .galleries {
    width:100%;
    display:flex;
    position:relative;
}

#top_company .galleries .gallery {
    width:50%;
}

#top_company .galleries .gallery .photos {
    display:flex;
}

#top_company .galleries .gallery .photo_m {
    width:100%;
    height:40vw;
}

#top_company .galleries .gallery .photo_s {
    width:50%;
    height:20vw;
}

#top_company .galleries .gallery .photo_m1 {
    background:url(../img/company_m1.jpg) center;
    background-size:cover;
}

#top_company .galleries .gallery .photo_m2 {
    background:url(../img/company_m2.jpg) center;
    background-size:cover;
}

#top_company .galleries .gallery .photo_s1 {
    background:url(../img/company_s1.jpg) center;
    background-size:cover;
}

#top_company .galleries .gallery .photo_s2 {
    background:url(../img/company_s2.jpg) center;
    background-size:cover;
}

#top_company .galleries .gallery .photo_s3 {
    background:url(../img/company_s3.jpg) center;
    background-size:cover;
}

#top_company .galleries .gallery .photo_s4 {
    background:url(../img/company_s4.jpg) center;
    background-size:cover;
}

#top_company .filter {
    mix-blend-mode:color;
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    right:0;
    z-index:1;
    background:#c8beb4;
}

#top_company .copies {
    width:640px;
    background:rgba(0,0,0,0.8);
    position:absolute;
    z-index:2;
    padding:40px 50px;
    text-align:center;
}

#top_company .copies .top_title {
    margin-bottom:30px;
}

#top_company .copies .maincopy {
    font-size:180%;
    font-weight:600;
    line-height:135%;
    color:#fff;
    margin-bottom:20px;
}

#top_company .copies .maincopy:first-letter {
    color:#f57312;
}

#top_company .copies .tx {
    margin-bottom:15px;
}

#top_company .copies .tx p {
    color:#fff;
    text-align:left;
}

#top_company .copies .tx p:last-child {
    margin-bottom:0;
}






/*-----TOP WORKS-----*/
#top_works {
    padding:100px 0;
    background:#1e1e1e url(../img/works_bg.jpg) bottom center;
    background-size:cover;
}

#top_works .top_title {
    margin-bottom:50px;
}

#top_works .cts {
    width:calc(100% - 100px);
}

#top_works .details {
    display:flex;
    justify-content:space-between;
}

#top_works .details .photos {
    width:calc(50% - 30px);
}

#top_works .details .photos .works_slider {
    overflow:hidden;
    position:relative;
}

#top_works .details .photos .photo {
    width:100%;
    height:32vw;
}

#top_works .details .photos .photo1 {
    background:url(../img/works_1.jpg) center;
    background-size:cover;
}

#top_works .details .photos .photo2 {
    background:url(../img/works_2.jpg) center;
    background-size:cover;
}

#top_works .details .photos .photo3 {
    background:url(../img/works_3.jpg) center;
    background-size:cover;
}

#top_works .details .detail {
    width:calc(50% - 30px);
}

#top_works .details .detail .explain {
    width:500px;
}

#top_works .details .detail .explain .maincopy {
    font-size:180%;
    font-weight:600;
    line-height:135%;
    color:#fff;
    margin-bottom:10px;
}

#top_works .details .detail .explain .tx {
    color:#fff;
    margin-bottom:30px;
}

#top_works .details .detail .explain .graph {
    margin-bottom:50px;
}

#top_works .details .detail .explain .more_btn {
    text-align:center;
}




/*-----TOP RECRUIT-----*/
#top_recruit {
    padding:70px 0;
    background:#f0ebe6;
}

#top_recruit .cts {
    width:calc(100% - 100px);
    max-width:1200px;
}

#top_recruit .top_title {
    margin-bottom:30px;
}

#top_recruit .copies {
    text-align:center;
    margin-bottom:30px;
}

#top_recruit .copies .maincopy {
    font-size:180%;
    font-weight:600;
    line-height:135%;
    margin-bottom:10px;
}

#top_recruit .copies .tx {
}

#top_recruit .menus {
    display:flex;
    justify-content:space-between;
}

#top_recruit .menus .menu {
    width:32%;
    background:#fff;
    padding:30px 30px 50px;
    position:relative;
}

#top_recruit .menus .menu h3 {
    font-size:180%;
    font-weight:600;
    line-height:135%;
    color:#f57312;
    text-align:center;
}

#top_recruit .menus .menu .kana {
    font-size:110%;
    font-weight:600;
    line-height:135%;
    text-align:center;
    margin-bottom:15px;
}

#top_recruit .menus .menu .photo {
    margin-bottom:15px;
}

#top_recruit .menus .menu .tx {
    font-size:90%;
    margin-bottom:15px;
}

#top_recruit .menus .menu .more_link {
    position:absolute;
    bottom:25px;
    right:30px;
}



/*-----ENGAGE-----*/
#engage {
    padding:70px 0;
    background:#fff;
}

#engage .details {
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#engage .details .logo {
    width:180px;
}

#engage .details .detail {
    width:calc(100% - 230px);
    border-left:#f0ebe6 1px solid;
    padding-left:50px;
}



/*-----SNS-----*/
#sns {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-bottom:50px;
}

#sns .youtube {
    width:65px;
    margin-right:30px;
}

#sns .tiktok {
    width:60px;
}



/*-----BANNER-----*/
.youtube_banner {
    width:650px;
    margin:0 auto 50px;
}



/*-----CTA-----*/
#cta {
    background:#1e1e1e;
}

#cta .cts {
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

#cta .photos {
    width:100%;
    display:flex;
    justify-content:space-between;
    position:relative;
}

#cta .photos .photo {
    width:25%;
    height:500px;
}

#cta .photos .photo1 {
    background:url(../img/contact_1.jpg) center;
    background-size:cover;
}

#cta .photos .photo2 {
    background:url(../img/contact_2.jpg) center;
    background-size:cover;
}

#cta .photos .photo3 {
    background:url(../img/contact_3.jpg) center;
    background-size:cover;
}

#cta .photos .photo4 {
    background:url(../img/contact_4.jpg) center;
    background-size:cover;
}

#cta .photos .filter {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    right:0;
    z-index:1;
    background:rgba(30,20,10,0.7);
}

#cta .copies {
    width:1000px;
    position:absolute;
    z-index:1;
    text-align:center;
}

#cta .copies .cta_title {
    text-align:center;
    margin-bottom:30px;
}

#cta .copies .cta_title h2 {
    font-size:500%;
    font-weight:600;
    line-height:100%;
    color:#f57312;
    margin-bottom:5px;
}

#cta .copies .cta_title .subtitle {
}

#cta .copies .cta_title .subtitle p {
    font-size:100%;
    font-weight:600;
    line-height:100%;
    display:inline-block;
    border-top:#f57312 1px solid;
    border-bottom:#f57312 1px solid;
    color:#f57312;
    padding:7px 15px;
}

#cta .copies .tx {
    color:#fff;
    margin-bottom:30px;
}

#cta .copies .more_btn {
}


/*-----UNDER-----*/
.under {
    margin-top:80px;
    background:#f0ebe6;
}

.under .pagetitles {
    width:1000px;
    height:270px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
}

.under .pagetitles .bg {
    width:600px;
    height:100%;
    position:relative;
    margin:0 0 0 auto;
}

.under .pagetitles .bg .filter {
    mix-blend-mode: color;
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    right:0;
    z-index:1;
    background:#c8beb4;
}

.under .pagetitles .bg .gra_l {
    width:300px;
    height:100%;
    background:linear-gradient(to right,rgba(240,235,230,1),rgba(240,235,230,0));
    position:absolute;
    top:0;
    left:0;
    z-index:2;
}

.under .pagetitles .bg .gra_r {
    width:300px;
    height:100%;
    background:linear-gradient(to right,rgba(240,235,230,0),rgba(240,235,230,1));
    position:absolute;
    top:0;
    right:0;
    z-index:2;
}

.under .pagetitles .pagetitle {
    position:absolute;
    left:0;
    z-index:100;
    padding-bottom:25px;
}

.under .pagetitles .pagetitle h2 {
    font-size:500%;
    font-weight:600;
    line-height:100%;
    color:#f57312;
    margin-bottom:5px;
}

.under .pagetitles .pagetitle .kana {
    font-size:110%;
    font-weight:600;
    line-height:100%;
    color:#f57312;
    display:flex;
    align-items:center;
}

.under .pagetitles .pagetitle .kana:before {
    content:"";
    width:30px;
    height:1px;
    background:#f57312;
    margin-right:10px;
}

.under .pagetitles .bread {
    font-size:70%;
    position:absolute;
    bottom:15px;
    left:0;
}

.under .main {
    padding-bottom:70px;
}

.under .main .cts {
    background:#fff;
    padding:55px 60px;
}

.under .cate_title {
    font-weight:600;
    border-top:#f57312 1px solid;
    border-bottom:#f57312 1px solid;
    color:#f57312;
    padding:10px;
    margin-bottom:12px;
}





/*----- TOPICS -----*/
#topics_index {
}

#topics_index .pagetitles .bg {
    background:url(../topics/img/pagetitle.jpg) center;
    background-size:cover;
}

#topics_index .category {
    display:flex;
    justify-content:center;
    margin-bottom:50px;
}

#topics_index .category nav {
    border-left:#f0ebe6 1px solid;
    padding:10px 25px;
}

#topics_index .category nav:last-child {
    border-right:#f0ebe6 1px solid;
}

#topics_index .category nav a {
    display:flex;
    justify-content:center;
    align-items:center;
    line-height:100%;
}

#topics_index .category nav a p {
    font-size:100%;
    font-weight:500;
    line-height:100%;
    letter-spacing:1px;
}

#topics_index .category nav.now a {
    pointer-events:none;
}

#topics_index .category nav.now a p {
    font-weight:600;
    line-height:100%;
    color:#0046b4;
}

#topics_index .category nav.none a {
    pointer-events:none;
    opacity:0.5;
    display:none;
}

#topics_index .topics {
    position:relative;
}

#topics_index .topics .topic {
    border-bottom:#f0f0f0 1px solid;
}

#topics_index .topics .topic:first-child {
    border-top:#f0f0f0 1px solid;
}

#topics_index .topics .topic a {
    display:flex;
    justify-content:space-between;
    padding:30px 0;
}

#topics_index .topics .topic a .date_cate {
    width:160px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

#topics_index .topics .topic a .date_cate .date {
    width:90px;
}

#topics_index .topics .topic a .date_cate .cate {
    width:70px;
    background:#0046b4;
    color:#fff;
    font-size:80%;
    font-weight:500;
    text-align:center;
}

#topics_index .topics .topic a .date_cate .cate p {
    font-size:100%;
    line-height:150%;
    letter-spacing:1px;
    color:#fff;
}

#topics_index .topics .topic a .subject {
    width:calc(100% - 180px);
}

.pagenation {
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:30px;
}

.pagenation nav {
    line-height:100%;
    border-right:#f0ebe6 1px solid;
    padding:5px 15px;
}

.pagenation nav:last-child {
    border-right:none;
}

.pagenation nav a {
    font-size:90%;
}

.pagenation nav.now a {
    pointer-events:none;
}

.pagenation nav.now a p {
    font-weight:600;
    line-height:100%;
    color:#0046b4;
}

.pagenation nav.none a {
    pointer-events:none;
    opacity:0.3;
}



/*-----TOPICS DETAIL-----*/
#topics_detail {
}

#topics_detail .cts {
}

#topics_detail .pagetitles .bg {
    background:url(../topics/img/pagetitle.jpg) center;
    background-size:cover;
}

#topics_detail article {
    background:#fff;
}

#topics_detail article p {
    color:#000;
}

#topics_detail article .corner {
    text-align:center;
}

#topics_detail article .corner .cate_titles {
    margin-bottom:30px;
}

#topics_detail article .corner .cate_title {
    color:#c8b478;   
}

#topics_detail article h3 {
    font-size:200%;
    font-weight:600;
    line-height:120%;
    color:#000;
    margin-bottom:10px;
}

#topics_detail article .date_cate {
    display:flex;
    align-items:center;
}

#topics_detail article .date_cate .date {
    margin-right:15px;
}

#topics_detail article .date_cate .cate {
    width:70px;
    background:#0046b4;
    color:#fff;
    font-size:80%;
    font-weight:500;
    text-align:center;
}

#topics_detail article .photo {
    margin-top:40px;
}

#topics_detail article .ex {
    margin-top:40px;
}

#topics_detail article .ex p {
    line-height:180%;
}

#topics_detail article .youtube {
    margin:40px auto 0;
    padding-top: 56.25%;
    position:relative;
}

#topics_detail article .youtube iframe {
    position: absolute;
    top:0;
    right:0;
    width:100% !important;
    height:100% !important;
}

#topics_detail article .btns {
    margin-top:40px;
}

#topics_detail article .btns .btn {
    position:relative;
    display:flex;
    align-items:center;
    margin-bottom:15px;
}

#topics_detail article .btns .btn:first-child {
}

#topics_detail article .btns .btn:last-child {
    margin-bottom:0;
}

#topics_detail article .btns .btn .icon {
    width:25px;
    margin-right:10px;
}

#topics_detail article .btns .btn a {
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
}

#topics_detail article .btns .btn a p {
    font-size:100%;
    font-weight:600;
    color:#f57312;
}

#topics_detail .back_btn {
    text-align:center;
    margin-top:50px;
}

#topics_index .pagetitles .bg {
    background:url(../topics/img/pagetitle.jpg) center;
    background-size:cover;
}


/*-----COMPANY-----*/
#company {
}

#company .pagetitles .bg {
    background:url(../company/img/pagetitle.jpg) center;
    background-size:cover;
}

#company #overview {
    margin-bottom:70px;
}

#company #overview .cate_title {
    margin-bottom:0;
}

#company #overview .companies {
}

#company #overview .companies .company {
    border-bottom:#f0f0f0 1px solid;
    padding:15px 0;
    display:flex;
    justify-content:space-between;
}

#company #overview .companies .company .item {
    width:150px;
    font-weight:600;
}

#company #overview .companies .company .detail {
    width:calc(100% - 200px);
}

#company #overview .companies .company .detail p {
    display:flex;
}

#company #office { 
}

#company #office .cate_title {
    margin-bottom:0;
}

#company #office .offices {
}

#company #office .offices .office {
    border-bottom:#f0f0f0 1px solid;
    padding:15px 0;
    display:flex;
    justify-content:space-between;
}

#company #office .offices .office .item {
    width:150px;
    font-weight:600;
}

#company #office .offices .office .detail {
    width:calc(100% - 200px);
}

#company #office .offices .office .detail .address {

}

#company #office .offices .office .detail .tel {

}

#company #office .offices .office .detail .tax {
    
}



/*-----WORKS-----*/
#works {
}

#works .pagetitles .bg {
    background:url(../works/img/pagetitle.jpg) center;
    background-size:cover;
}


/*-----RECRUIT-----*/
#recruit {
}

#recruit .pagetitles .bg {
    background:url(../recruit/img/pagetitle.jpg) center;
    background-size:cover;
}



/*-----JOB DESCRIPTION-----*/
#job_description {
}

#job_description .pagetitles .bg {
    background:url(../recruit/job-description/img/pagetitle.jpg) center;
    background-size:cover;
}


/*-----INTERVIEW-----*/
#interview {
}

#interview .pagetitles .bg {
    background:url(../recruit/interview/img/pagetitle.jpg) center;
    background-size:cover;
}


/*-----TRAINING POLICY-----*/
#training_policy {
}

#training_policy .pagetitles .bg {
    background:url(../recruit/training-policy/img/pagetitle.jpg) center;
    background-size:cover;
}




/*-----PRIVACY-----*/
#privacy {
}

#privacy .pagetitles .bg {
    background:url(../privacy/img/pagetitle.jpg) center;
    background-size:cover;
}

#privacy .privacies {

}

#privacy .privacies .privacy {
    border-bottom:#f0f0f0 1px solid;
    padding-bottom:20px;
    margin-bottom:20px;
}

#privacy .privacies .privacy:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

#privacy .privacies .privacy .privacy_item {
    font-weight:600;
    color:#f57312;
}

#privacy .privacies .privacy li {
    display:flex;
}

#privacy .privacies .privacy li p {
}

#privacy .privacies .privacy .tx {
}




/*-----CONTACT-----*/
#contact {
}

#contact .pagetitles .bg {
    background:url(../contact/img/pagetitle.jpg) center;
    background-size:cover;
}

#contact .intro {
    text-align:center;
    margin-bottom:30px;
}

#contact .intro h3 {
    font-size:180%;
    font-weight:600;
    color:#f57312;
}

#contact .intro .copy {
    margin-top:10px;
}

#contact #contact_tel {
    margin-bottom:50px;
}

#contact #contact_tel h4 {
    font-weight:bold;
    border-top:#f57312 1px solid;
    border-bottom:#f57312 1px solid;
    padding:10px;
    color:#f57312;
    margin-bottom:12px;
}

#contact #contact_tel .tel_cts {
}

#contact #contact_tel .item {
    margin-bottom:5px;
}

#contact #contact_tel .tel {
    display:flex;
    align-items:center;
}

#contact #contact_tel img {
    width:30px;
    margin-right:10px;
}

#contact #contact_tel .tel .en {
    font-size:250%;
    font-weight:600;
    line-height:100%;
    color:#f57312;
}

#contact #contact_form {
}

#contact #contact_form h4 {
    font-weight:bold;
    border-top:#f57312 1px solid;
    border-bottom:#f57312 1px solid;
    padding:10px;
    color:#f57312;
    margin-bottom:12px;
}

#contact #contact_form .copy {
    margin-bottom:20px;
}

#contact #contact_form .copy .maincopy {
    font-size:180%;
    font-weight:600;
    color:#f57312;
    margin-bottom:10px;
    text-align:center;
}

#contact #contact_form .copy .tx {
}

#contact #contact_form .attention {
    font-size:80%;
    color:#787878;
    margin-top:5px;
}

#contact #contact_form .forms {
    margin-bottom:25px;
}

#contact #contact_form .forms .form {
    border-bottom:#f0f0f0 1px solid;
    padding:15px 0;
    display:flex;
    justify-content:space-between;
}

#contact #contact_form .forms .form:first-child {
    border-top:#f0f0f0 1px solid;
}

#contact #contact_form .forms .form .items {
    width:210px;
    display:flex;
    align-items:center;
}

#contact #contact_form .forms .form .items .item {
    font-weight:600;
    margin-left:8px;
}

#contact #contact_form .forms .form .items .required {
    font-size:70%;
    line-height:100%;
    background:#f57312;
    color:#fff;
    padding:3px 5px 5px;
}

#contact #contact_form .forms .form .items .any {
    font-size:70%;
    line-height:100%;
    background:#c8c8c8;
    color:#fff;
    padding:3px 5px 5px;
}

#contact #contact_form .forms .form .detail {
    width:calc(100% - 240px);
}

.forms .form .detail .privacy_policy {
}

.forms .form .detail .privacy_policy .privacies {
    height:250px;
    border:#eee 1px solid;
    padding:20px 25px;
    overflow-y:scroll;
    margin-bottom:15px;
}

.forms .form .detail .privacy_policy .privacies .privacy {
    border-bottom:#f0f0f0 1px solid;
    padding-bottom:10px;
    margin-bottom:10px;
}

.forms .form .detail .privacy_policy .privacies .privacy:last-child {
    border-bottom:none;
    padding-bottom:0;
    margin-bottom:0;
}

.forms .form .detail .privacy_policy .privacies .privacy .privacy_item {
    font-size:80%;
    font-weight:600;
    color:#f57312;
}

.forms .form .detail .privacy_policy .privacies .privacy li {
    display:flex;
}

.forms .form .detail .privacy_policy .privacies .privacy li p {
    font-size:80%;
    color:#787878;
}

.forms .form .detail .privacy_policy .privacies .privacy .tx {
    font-size:80%;
    color:#787878;
}

.forms .form .consent_cap {
    margin-bottom:8px;
}

.forms .form .consent {
    display:flex;
    align-items:center;
}

.forms .form .consent label {
    font-weight:500;
    line-height:100%;
    color:#f57312;
    cursor:pointer;
    padding-left:5px;
    position:relative;
}

.forms .form .consent label:before {
content:"";
width:16px;
height:16px;
border:#f57312 1px solid;
display:inline-block;
position:absolute;
left:-20px;
}

.forms .form .consent label:after {
content:"";
width:10px;
height:15px;
border-right:#f57312 2px solid;
border-bottom:#f57312 2px solid;
display:block;
transform:rotate(45deg);
position:absolute;
top:-4px;
left:-13px;
opacity:0;
}

.forms .form input[type="checkbox"] {
width:20px;
visibility:hidden;
}

.forms .form input[type="checkbox"]:checked + label:after {
opacity:1;
}

.forms .form .detail .warning,
.forms .form .privacy_cts .warning{
font-size:80%;
color:#f57312;
position:relative;
top:7px;
margin-top:20px;
}

form .btns {
display:flex;
justify-content:center;
align-items:center;
}

form .btns .btn {
margin:0 7px;
}

form .btns .btn:hover {
-webkit-animation:hover 0.5s ease forwards;
animation:hover 0.5s ease forwards;
}

input,textarea {
padding:15px 20px;
background:transparent;
border:#e1e1e1 1px solid;
}

.forms .form .style_name {
width:50%;
}

.forms .form .style_kana {
width:50%;
}

.forms .form .style_mail {
width:80%;
}

.forms .form .style_tel {
width:35%;
}

.forms .form .style_detail {
width:100%;
height:200px;
}

.forms .form .style_privacy {
}

.style_submit {
background:transparent;
padding:15px 50px;
font-weight:500;
color:#fff;
background:#f57312;
cursor:pointer;
border:none;
}

#contact .btns .btn .accepted:disabled {
background:#ccc;
color:#fff;
pointer-events:none;
}

.style_submit:focus {
    border:none;
}

.style_fix {
background:transparent;
padding:15px 50px;
font-weight:500;
border:#f57312 1px dotted;
color:#f57312;
cursor:pointer;
box-sizing:border-box;
}

.style_fix:focus {
    border:none;
}


/*-----THANKS-----*/
#contact .thanks {
    text-align:center;
    padding:20px 0;
}



/*-----GROBAL-----*/
#grobal {
}

#grobal .nav_btn {
    display:none;
}

#grobal .nav_close {
    display:none;
}

#grobal .grobal_nav {
    display:flex;
    justify-content:center;
    align-items:center;
}

#grobal .grobal_nav nav {
    border-left:#f0ebe6 1px solid;    
}

#grobal .grobal_nav nav a {
    padding:5px 20px;
    display:block;
    margin-bottom:3px;
}

#grobal .grobal_nav nav a .en {
    font-size:130%;
    font-weight:600;
    line-height:100%;
    color:#f57312;
    margin-bottom:4px;
}

#grobal .grobal_nav nav a .jp {
    font-size:70%;
    line-height:100%;
}

#grobal .grobal_nav .cta {
    margin:10px 0 0 10px;
}

#grobal .grobal_nav .cta a {
    width:110px;
    height:110px;
    background:#f57312;
    border-radius:30vw;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
}

#grobal .grobal_nav .cta a .cta_tx {
}

#grobal .grobal_nav .cta a img {
    width:30px;
    margin-bottom:6px;
}

#grobal .grobal_nav .cta a .en {
    font-size:110%;
    font-weight:600;
    line-height:100%;
    color:#fff;
    margin-bottom:5px;
}

#grobal .grobal_nav .cta a .jp {
    font-size:60%;
    line-height:100%;
    color:#fff;
}

#grobal .grobal_nav .open_nav {
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    height:80px;
}

#grobal .grobal_nav .open_nav nav {
}

#grobal .grobal_nav .navies {
    display:none;
    position:absolute;
    top:80px;
    width:150px;
}

#grobal .grobal_nav .navies .navi {
    border-bottom:#f0ebe6 1px solid;
}

#grobal .grobal_nav .navies .navi:first-child {
    border-top:#f0ebe6 1px solid;
}

#grobal .grobal_nav .navies .navi a {
    background:rgba(255,255,255,0.95);
    padding:7px 12px;
    display:flex;
    align-items:center;
    position:relative;
}

#grobal .grobal_nav .navies .navi a:after {
    content:"";
    width:6px;
    height:6px;
    border-top:#f57312 1px solid;
    border-right:#f57312 1px solid;
    transform:rotate(45deg);
    position:absolute;
    right:10px;
}

#grobal .grobal_nav .navies .navi a p {
    font-size:75%;
    font-weight:400;
    line-height:135%;
    letter-spacing:1px;
    color:#000;
}

#grobal .grobal_nav .navies.show {
    display:block;
}




/*BACK TO TOP*/
.BackToTop {
position:fixed;
width:35px;
height:35px;
right:15px;
bottom:0;
z-index:100;
display:none;
}



/*FIXED SNS*/
#fixed_sns {
    position:fixed;
    top:calc(50vh - 55px);
    right:0;
    z-index:999;
}

#fixed_sns .youtube {
    margin-bottom:10px;
    box-shadow:0 0 6px rgba(0,0,0,0.2);
}

#fixed_sns .youtube a {
    width:50px;
    height:50px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#fff;
}

#fixed_sns .youtube a img {
    width:34px;
}

#fixed_sns .tiktok {
    box-shadow:0 0 6px rgba(0,0,0,0.2);
}

#fixed_sns .tiktok a {
    width:50px;
    height:50px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#000;
}

#fixed_sns .tiktok a img {
    width:40px;
}


/*FOOTER*/
footer {
    background:#f0ebe6;
    padding:40px 0 20px;
}

footer .details {
    display:flex;
    justify-content:space-between;
    flex-direction:row-reverse;
    margin-bottom:50px;
}

footer .details .links {
    display:flex;
}

footer .details .links .link {
}

footer .details .links .link:last-child {
    margin-left:50px;
}

footer .details .links .link li {
    line-height:135%;
}

footer .details .links .link li a {
    display:inline-block;
}

footer .details .links .link li p {
    font-size:80%;
    line-height:100%;
}

footer .details .links .link li:first-child p {
    font-weight:700;
}

footer .details .company {
}

footer .details .company .logo {
    display:flex;
    align-items:center;
    margin-bottom:5px;
}

footer .details .company .logo .symbol {
    width:45px;
    margin-right:7px;
}

footer .details .company .logo .en {
    line-height:100%;
}

footer .details .company .logo .main {
    font-size:150%;
    font-weight:600;
}

footer .details .company .logo .co {
    font-size:100%;
}

footer .details .company .kana {
    font-size:90%;
    font-weight:600;
}

footer .details .company .address {
    font-size:80%;
}

footer .copyright {
font-size:70%;
text-align:center;
}







/*----- INVIEW -----*/
.fadeIn {
    opacity:0;
    transition:1s;
}

.fadeIn.show {
    opacity:1;
}

.fadeInUp {
    opacity:0;
    transform:translate(0,30%);
    transition:1s;
}

.fadeInUp.show {
    opacity:1;
    transform:translate(0,0);
}




/*----- SWIPER -----*/
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
    content: "";
    height: 0;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
    width:30px;
    height:30px;
    border-left:2px #f57312 solid;
    border-bottom:2px #f57312 solid;
    transform:rotate(45deg);
    left:15px;
}
/* 次への矢印カスタマイズ */
.swiper-button-next::after {
    width:30px;
    height:30px;
    border-top:2px #f57312 solid;
    border-right:2px #f57312 solid;
    transform:rotate(45deg);
    right:15px;
}





}