/* import */
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@800&family=Noto+Sans+JP:wght@400;500;700&display=swap');

/* common */
* {box-sizing:border-box;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body {position:relative; min-width:1000px; max-width:inherit; margin:0; padding:0; padding-right:0 !important; background-color:#fff; color:#000; -webkit-text-size-adjust:none; font-family:'Noto Sans JP', sans-serif; font-weight:500; font-size:16px; line-height:2; letter-spacing:0; word-wrap:break-word;}
body.lock {overflow:hidden;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin:0; line-height:1; font-family:'Mulish', 'Noto Sans JP', sans-serif;}
a {color:#000; transition:all .2s ease-in-out;}
a:link, a:visited {text-decoration:none;}
a:hover {text-decoration:none; color:#000;}
p {margin-bottom:30px;}
figure {margin:0;}
img[src$='.svg'] {width:100%; height:auto;}

/* util */
.container {max-width:1000px;}
.thumbnail {position:relative; background-position:center center; background-size:cover;}
.overlay::before {position:absolute; content:''; top:0; left:0; width:100%; height:100%; background-color:rgba(96, 80, 61, .33); z-index:5;}
.thumbnail-4by3 {padding-top:75%;}
.thumbnail-16by9 {padding-top:56.25%;}
.thumbnail-overlay {position:absolute; top:0; left:0; width:100%; height:100%; display:flex; justify-content:center; align-items:center; font-size:30px; color:#fff; z-index:10;}
.thumbnail + .heading,
.thumbnail + p  {margin-top:30px;}
.heading {font-size:18px;}
.heading + p {margin-top:15px;}
.btn-view-more {position:relative; display:inline-block; padding-left:25px; padding-right:20px; line-height:1;}
.btn-view-more:hover {color:#fff;}
.btn-view-more::before {position:absolute; content:''; top:calc(50% - 20px); left:0; width:40px; height:40px; background-color:#f1932e; border-radius:40px; transition:all .2s ease-in-out;}
.btn-view-more:hover::before {width:100%;}
.btn-view-more span {position:relative; padding-right:20px; text-transform:uppercase;}
.btn-view-more span::before,
.btn-view-more span::after {position:absolute; content:''; right:0; width:6px; height:1px; background-color:#000; transition:all .2s ease-in-out;}
.btn-view-more span::before {top:calc(50% - 2px); transform:rotate(45deg);}
.btn-view-more span::after {top:calc(50% + 2px); transform:rotate(-45deg);}
.btn-view-more:hover span::before,
.btn-view-more:hover span::after {background-color:#fff;}
.btn-submit {position:relative; display:inline-flex; justify-content:center; align-items:center; padding:30px 70px; background-color:#d1d1d1; border:none; border-radius:8px; line-height:1;}
.btn-submit::before,
.btn-submit::after {position:absolute; content:''; right:15px; width:6px; height:1px; background-color:#000; transition:all .2s ease-in-out;}
.btn-submit::before {top:calc(50% - 2px); transform:rotate(45deg);}
.btn-submit::after {top:calc(50% + 2px); transform:rotate(-45deg);}
.cards {margin-top:30px;}
.card {height:calc(100% - 30px); margin-bottom:30px; padding:20px; background-color:#ededed; border:none; border-radius:0;}
.card-title {margin-bottom:15px; font-size:18px;}
.cards.border-style .row > [class^="col-"]:not(:last-child) {border-right:1px solid #000;}
.cards.border-style .card {height:100%; margin-bottom:0; background-color:transparent;}
.cards.border-style .card .card-text {display:flex; justify-content:center; align-items:center; height:calc(100% - 18px - 15px);}
.cards.number-style .card {display:flex; flex-flow:column; justify-content:space-between;}
.cards.number-style .card .card-title {position:relative; padding-bottom:20px;}
.cards.number-style .card .card-title::before {position:absolute; content:''; bottom:0; left:calc(50% - 20px); width:40px; height:5px; background-color:#f1932e;}
.cards.number-style .card .card-text {text-align:center; color:#f1932e; font-family:'Mulish', sans-serif; font-size:60px; font-weight:700; line-height:1;}
.cards.number-style .card .card-text.middle {font-size:40px;}
.cards.number-style .card .card-text small {margin:0 5px; font-size:30px; font-weight:700;}
.alert {margin-bottom:50px; border-radius:8px; border:none;}
.required {color:#ff0000;}
.form-group {margin-bottom:0;}
.form-group:not(:last-child) {margin-bottom:50px;}
.col-form-label {padding-top:12px; padding-bottom:12px;}
.form-control {height:50px; background-color:#f5f5f5; border:1px solid #f5f5f5; border-radius:8px;}
.form-control:focus {box-shadow:none; border-color:#d1d1d1;}
.form-errors {margin-bottom:0; padding-left:30px;}
.form-control:disabled,
.form-control[readonly],
.form-control:disabled:focus,
.form-control[readonly]:focus {border-color:#f5f5f5; color:rgba(0, 0, 0, .5);}
.input-group-text {background-color:#f5f5f5; border:none; border-radius:8px;}
.table-sytle {padding-top:20px; padding-bottom:20px;}
.table-sytle:not(:last-child) {border-bottom:1px solid #707070;}

/* header */
.header {position:relative; top:0; left:0; width:100%; z-index:1000;}
.header::before {position:absolute; content:''; top:0; left:0; width:100%; height:70px; background-color:#fff; box-shadow:0 0 10px rgba(0, 0, 0, .175);}
.header .navbar-global {position:relative; height:70px; padding:0 50px;}
.header .navbar-global .navbar-brand {margin-bottom:0; padding-top:0; padding-bottom:0;}
.header .navbar-global .navbar-brand a {display:block; width:137px; height:36px; margin:0; line-height:1;}
.header .navbar-global .navbar-header {flex-grow:inherit;}
.header .navbar-global .navbar-header .nav-item {line-height:1;}
.header .navbar-global .navbar-header .nav-item:not(:last-child) {margin-right:40px;}
.header .navbar-global .navbar-header .nav-link {display:block; padding-top:10px; padding-bottom:10px; font-family:'Mulish', 'Noto Sans JP', sans-serif;}
.header .navbar-global .navbar-header .nav-link:hover {color:#f1932e;}
.header .navbar-global .navbar-header .nav-link .sp-only {display:none;}
.header .navbar-global .navbar-toggler {}

/* content */
.content {position:relative; overflow:hidden;}

/* section */
.section {margin-bottom:120px; padding-top:120px; padding-bottom:120px;}
.section-bg {position:relative; overflow:hidden;}
.section-cover {background-position:center center; background-size:cover;}
.section-bg::before {position:absolute; content:''; top:0; right:-50%; width:100%; height:100%; background-color:#ededed; transform:skewX(-30deg); transform-origin:top left; z-index:-1;}
.section-bg.colored::before {left:-20%; background-color:#f1932e; transform:skewX(-30deg); transform-origin:top right;}
.section-heading {margin-bottom:50px;}
.section-heading [class^="section-heading-"] {display:block;}
.section-heading-en {margin-bottom:15px; font-size:70px; text-transform:uppercase;}
.section-heading-ja {font-size:25px; font-weight:700; letter-spacing:2px;}
.section-heading-description {margin-top:40px; font-size:30px; line-height:1.5; font-weight:700; letter-spacing:2px;}
.section-body p:not(:last-child) {margin-bottom:0;}
.section-view-more {margin-top:50px; text-align:right;}

/* hero */
.hero {position:initial; display:flex; justify-content:space-between; height:calc(100vh - 70px); background-position:center center; background-size:cover;}
.hero::before {position:absolute; content:''; top:0; left:0; width:100%; height:calc(100vh - 70px); background-color:rgba(0, 0, 0, .175);}
.hero::after {position:absolute; content:''; top:0; left:-160%; width:200%; height:100%; background-color:#f1932e; transform:skewX(-30deg); transform-origin:top right;}
.hero-text {position:relative; align-self:center; padding-left:100px; color:#fff; line-height:1.25; z-index:100;}
.hero-text [class^="hero-text-"] {display:block;}
.hero-text-en {margin-bottom:20px; font-size:80px;}
.hero-text-ja {font-size:30px; font-weight:700; letter-spacing:2px;}
.hero-recruit {position:relative; align-self:flex-end; overflow:hidden; width:500px; padding:20px 15px 25px 110px; z-index:100;}
.hero-recruit::before {position:absolute; content:''; top:0; right:-20%; width:100%; height:100%; background-color:#f1932e; transform:skewX(-30deg); transform-origin:top left;}
.hero-recruit .section-heading {position:relative; display:flex; align-items:center; margin-bottom:25px; color:#fff;}
.hero-recruit .section-heading-en {margin-bottom:0; margin-right:10px; font-size:40px;}
.hero-recruit .section-heading-ja {margin-top:10px; font-size:18px;}
.hero-recruit .section-view-more {position:relative; margin-top:0; text-align:left; line-height:1;}
.hero-recruit .btn-view-more:hover {color:#f1932e;}
.hero-recruit .btn-view-more::before {background-color:#fff;}
.hero-recruit .btn-view-more:hover span::before,
.hero-recruit .btn-view-more:hover span::after {background-color:#f1932e;}

/* zoom-link */
.zoom-link {display:block;}
.zoom-link .thumbnail-outer {position:relative; margin-bottom:30px; overflow:hidden;}
.zoom-link .thumbnail {transition:all .6s ease-in-out;}
.zoom-link:hover .thumbnail {transform: scale(1.15);}
.zoom-link:hover .thumbnail-overlay {transform: scale(1);}

/* news-list */
.news-list {}
.news-item:not(:last-child) {margin-bottom:15px; padding-bottom:15px; border-bottom:1px solid #000;}
.news-item-date {margin-right:20px;}
.news-item-title {margin-bottom:0;}

/* layouted-list */
.layouted-list {}
.layouted-item:not(:last-child) {margin-bottom:70px;}
.layouted-item-heading {margin-bottom:30px; font-size:25px;}
.layouted-item-text {margin-bottom:0;}

/* suppliers-list */
.suppliers-item {margin-bottom:40px;}
.suppliers-item-heading {position:relative; height:39px; margin-bottom:5px; padding-left:10px; font-size:13px; line-height:1.5;}
.suppliers-item-heading::before {position:absolute; content:''; top:0; left:0; width:3px; height:20px; background-color:#f1932e;}
.suppliers-item-thumbnail {display:flex; justify-content:center; align-items:center; height:70px;}
.suppliers-item-thumbnail img {max-width:200px; max-height:45px;}

/* icon-list */
.icon-list {}
.icon-item {margin-bottom:30px;}
.icon-item-figure {display:flex; justify-content:center; align-items:center; width:280px; height:280px; margin:0 auto 15px; background-color:#f1932e; border-radius:50%;}
.icon-item-figure img {max-width:150px; max-height:150px;}
.icon-item-heading {margin-bottom:0; text-align:center; color:#f1932e; font-size:25px; font-weight:700;}

/* is-page */
.is-page .hero {position:static; align-items:center; height:750px;}
.is-page .hero::before {height:750px;}
.is-page .hero::after {left:-165%;}
.is-page .section-bg::before {right:-80%;}
.is-page .section-bg.colored::before {left:-20%;}

/* footer */
.footer {padding-top:100px; padding-bottom:50px; background-color:#fff;}
.footer .footer-brand {display:block; width:188px; height:50px; line-height:1;}
.footer .navbar-footer {flex-direction:row;}
.footer .navbar-footer .nav-item:not(:last-child) {margin-right:30px;}
.footer .navbar-footer .nav-link {padding:0;}
.footer .footer-copyright {margin-top:50px; text-align:right; letter-spacing:2px;}

/* for desktop */
@media (min-width:768px) {
    .header .navbar-global .navbar-header .nav-contact .nav-link {padding-left:15px; padding-right:15px; background-color:#f1932e; border-radius:4px; color:#fff;}
}

/* for mobile */
@media (max-width:767px) {
    /* support iOS */
    html {height:-webkit-fill-available;}
    body {min-height:100vh; min-height:-webkit-fill-available;}

    /* common */
    body {min-width:inherit; max-width:inherit; font-size:14px;}
    p {margin-bottom:30px;}

    /* util */
    .container {min-width:inherit; max-width:inherit; padding-left:30px; padding-right:30px;}
    .thumbnail-overlay {font-size:18px;}
    .thumbnail + p {margin-top:15px;}
    .btn-view-more {padding-left:20px; padding-right:20px; color:#fff;}
    .btn-view-more::before {top:calc(50% - 17.5px); width:100%; height:35px;}
    .btn-view-more span::before,
    .btn-view-more span::after {background-color:#fff;}
    .btn-submit {padding:15px 50px;}
    .card {height:calc(100% - 15px); margin-bottom:15px;}
    .card-title {margin-bottom:10px; font-size:16px;}
    .cards.border-style .row > [class^="col-"]:not(:last-child) {border-right:none;}
    .cards.border-style .row > [class^="col-"]:nth-child(1) {border-right:1px solid #000; border-bottom:1px solid #000;}
    .cards.border-style .row > [class^="col-"]:nth-child(2) {border-bottom:1px solid #000;}
    .cards.border-style .row > [class^="col-"]:nth-child(3) {border-right:1px solid #000;}
    .cards.number-style .card .card-text {font-size:50px;}
    .alert {margin-bottom:30px;}
    .form-group:not(:last-child) {margin-bottom:20px;}
    .table-sytle {padding-top:10px; padding-bottom:10px;}
    
    /* header */
    .header::before {position:fixed; top:0; left:0; width:100%; height:50px;}
    .header .navbar-global {position:fixed; top:0; left:0; width:100%; height:50px; padding:0 30px;}
    .header .navbar-global .navbar-brand a {width:100px; height:25px;}
    .header .navbar-global .navbar-header {position:absolute; top:0; right:0; width:40%; height:100vh; padding-top:50px; padding-bottom:50px; overflow-y:scroll; transform:translateX(100%); opacity:0; visibility:hidden; transition:all .4s ease-in-out; z-index:20;}
    .header.active .navbar-global .navbar-header {transform:translateX(0); opacity:1; visibility:visible;}
    .header .navbar-global .navbar-header .nav-item:not(:last-child) {margin-right:0;}
    .header .navbar-global .navbar-header .nav-link {position:relative; padding:10px 15px; font-size:14px; color:rgba(255, 255, 255, .5);}
    .header .navbar-global .navbar-header .nav-link .sp-only {display:block; margin-bottom:5px; color:#fff; font-size:20px; line-height:1.5;}
    .header .navbar-global .navbar-toggler {position:absolute; top:0; right:0; width:80px; height:50px; padding:0; border:none; z-index:30;}
    .header .navbar-global .navbar-toggler-bar {position:absolute; content:''; right:calc(50% - 10px); width:20px; height:2px; background-color:#000; transition:all .2s ease-in-out;}
    .header .navbar-global .navbar-toggler-bar:nth-child(1) {top:calc(50% - 6px);}
    .header .navbar-global .navbar-toggler-bar:nth-child(2) {top:50%;}
    .header .navbar-global .navbar-toggler-bar:nth-child(3) {top:calc(50% + 6px);}
    .header .navbar-global .navbar-toggler.active .navbar-toggler-bar {background-color:#fff;}
    .header .navbar-global .navbar-toggler.active .navbar-toggler-bar:nth-child(1) {top:50%; transform:rotate(-45deg);}
    .header .navbar-global .navbar-toggler.active .navbar-toggler-bar:nth-child(2) {opacity:0;}
    .header .navbar-global .navbar-toggler.active .navbar-toggler-bar:nth-child(3) {top:50%; transform:rotate(45deg);}
    .header .navbar-global .backdrop,
    .header .navbar-global::after {position:absolute; content:''; top:0; right:0; height:100vh; transform:translateX(100%); opacity:0; visibility:hidden; transition:all .2s ease-in-out;}
    .header .navbar-global .backdrop {width:100%; background-color:rgba(255, 255, 255, .75); z-index:-1;}
    .header .navbar-global::after {width:40%; background-color:#f1932e; z-index:10;}
    .header.active .navbar-global .backdrop,
    .header.active .navbar-global::after {transform:translateX(0); opacity:1; visibility:visible;}

    /* section */
    .section {margin-bottom:60px; padding-top:60px; padding-bottom:60px;}
    .section-bg::before {right:-200%; width:200%;}
    .section-bg.colored::before {left:-100%;}
    .section-heading {margin-bottom:30px;}
    .section-heading-en {font-size:30px;}
    .section-heading-ja {font-size:16px;}
    .section-heading-description {margin-top:30px; font-size:18px;}
    .section-view-more {margin-top:20px; text-align:left;}
    
    /* hero */
    .hero {flex-wrap:wrap;}
    .hero,
    .hero::before {height:calc(100vh - 50px);}
    .hero-text {padding-left:30px; padding-right:30px;}
    .hero-text-en {margin-bottom:10px; font-size:35px;}
    .hero-text-ja {font-size:18px;}
    .hero-recruit {position:absolute; width:100%; padding:15px 15px 20px 80px;}
    .hero-recruit .section-heading {margin-bottom:15px;}
    .hero-recruit .section-heading-en {font-size:30px;}
    .hero-recruit .section-heading-ja {font-size:16px;}
    .hero-recruit .btn-view-more {color:#f1932e;}
    .hero-recruit .btn-view-more span::before,
    .hero-recruit .btn-view-more span::after {background-color:#f1932e;}

    .section-business {margin-bottom:0;}

    /* layouted-list */
    .layouted-item:not(:last-child) {margin-bottom:30px;}
    .layouted-item-heading {margin-top:25px; margin-bottom:15px; font-size:16px;}

    /* suppliers-list */
    .suppliers-item {margin-bottom:30px;}
    .suppliers-item-heading {height:36px; margin-bottom:10px; font-size:12px;}
    .suppliers-item-thumbnail {height:auto;}
    .suppliers-item-thumbnail img {max-width:120px; max-height:30px;}

    /* icon-list */
    .icon-list {}
    .icon-item {margin-bottom:20px;}
    .icon-item-figure {width:140px; height:140px; margin-bottom:10px;}
    .icon-item-figure img {max-width:75px; max-height:75px;}
    .icon-item-heading {font-size:16px;}

    /* is-page */
    .is-page .hero,
    .is-page .hero::before {height:200px; margin-top:50px;}
    .is-page .section-bg::before {right:-200%;}
    .is-page .section-bg.colored::before {left:-100%;}
    
    /* footer */
    .footer {padding-top:30px; padding-bottom:30px;}
    .footer .container {padding-left:0; padding-right:0;}
    .footer .footer-brand {width:137px; height:36px; margin-bottom:30px;}
    .footer .navbar-footer {flex-direction:column; border-top:1px solid #dee2e6;}
    .footer .navbar-footer .nav-item {border-bottom:1px solid #dee2e6;}
    .footer .navbar-footer .nav-item:not(:last-child) {margin-right:0;}
    .footer .navbar-footer .nav-link {position:relative; padding:5px 30px; font-size:14px;}
    .footer .navbar-footer .nav-link::before,
    .footer .navbar-footer .nav-link::after {position:absolute; content:''; right:30px; width:6px; height:1px; background-color:#000;}
    .footer .navbar-footer .nav-link::before {top:calc(50% - 2px); transform:rotate(45deg);}
    .footer .navbar-footer .nav-link::after {top:calc(50% + 2px); transform:rotate(-45deg);}
    .footer .footer-copyright {margin-top:30px; text-align:center; font-size:14px;}
}

/* for mobile landscape */
@media (min-width:415px) and (max-width:767px) {
    /* section */
    .section-view-more {text-align:right;}

    /* hero */
    .hero-recruit {right:0; width:60%;}
}
