@charset "UTF-8";

@font-face {
    font-family: "noto-bold";
    src: url("../fonts/noto-bold.woff") format("woff");
}

@font-face {
    font-family: "noto-regular";
    src: url("../fonts/noto-regular.woff") format("woff");
}

.global-header {
    border-bottom: 1px solid #dfdfdf;
}

.global-header .wrapper {
    position: relative;
    height: 185px;
}

@media only screen and (max-width: 640px) {
    .global-header .wrapper {
        height: 55px;
    }
}

.global-header .logo {
    position: absolute;
    top: 20px;
    left: 0;
}

@media only screen and (max-width: 640px) {
    .global-header .logo {
        position: absolute;
        top: 15px;
        left: 15px;
    }

    .global-header .logo img {
        height: 35px;
    }
}

@media only screen and (min-width: 641px) {
    .global-header nav.global-nav {
        position: absolute;
        top: 195px;
        left: 0;
        margin-left: 112px;
        padding-top: 20px;
    }

    .global-header nav.global-nav .nav-title {
        position: absolute;
        top: 25px;
        left: 0;
    }
}

.contents {
    box-sizing: border-box;
    padding-top: 30px;
    padding-bottom: 60px;
    padding-left: 370px;
    min-height: 600px;
    line-height: 1.8;
}

@media only screen and (max-width: 640px) {
    .contents {
        padding-top: 80px;
        padding-right: 10px;
        padding-bottom: 20px;
        padding-left: 10px;
        min-height: 0;
    }
}

.contents h1 {
    margin-top: 10px;
    font-weight: bold;
    font-size: 32px;
    line-height: 1.3;
}

@media only screen and (max-width: 640px) {
    .contents h1 {
        font-size: 28px;
    }
}

.contents a:hover img {
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}

.contents h1 + * {
    margin-top: 50px;
}

@media only screen and (max-width: 640px) {
    .contents h1 + * {
        margin-top: 20px;
    }
}

.contents h2 {
    position: relative;
    margin-top: 50px;
    font-weight: bold;
    font-size: 28px;
    line-height: 1.3;
}

.contents h2 span {
    display: inline-block;
    padding-bottom: 5px;
    border-bottom: 3px solid #ff6c00;
    font-weight: bold;
}

.contents h2 small {
    display: inline-block;
    margin: 0 0 0 20px;
    font-size: 16px;
}

@media only screen and (max-width: 640px) {
    .contents h2 {
        margin-top: 30px;
        font-size: 24px;
    }
}

.contents h2 + * {
    margin-top: 20px !important;
}

@media only screen and (max-width: 640px) {
    .contents h2 + * {
        margin-top: 20px;
    }
}

.contents h3 {
    margin-top: 20px;
    font-weight: bold;
    font-size: 20px;
}

.contents h3 + * {
    margin-top: 10px;
}

.contents p {
    margin-top: 1em;
    font-size: 14px;
}

@media only screen and (max-width: 640px) {
    .contents p {
        font-size: 13px;
    }
}

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

.contents .btn {
    display: inline-block;
    float: right;
    margin: 1em 0 0;
}

.contents .btn a {
    position: relative;
    display: block;
    padding: 15px 30px 15px 15px;
    border-radius: 3px;
    background: #34a1db;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
}

.contents .btn a:before {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 12px;
    height: 2px;
    background: #fff;
    content: "";
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.contents .btn a:after {
    position: absolute;
    top: 50%;
    right: 16px;
    margin: -4px 0 0;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
}

.contents .btn a:hover {
    background: #ff6c00;
}

@media only screen and (max-width: 640px) {
    .contents .btn {
        display: block;
        float: none;
        text-align: center;
    }

    .contents .btn a {
        display: inline-block;
    }
}


.contents .back {
    margin-top: 50px;
}

.contents ul {
    margin-top: 1em;
}

.contents ul:first-child {
    margin-top: 0;
}

.contents li {
    font-size: 14px;
}

.contents ul.normal li {
    padding-left: 1em;
    text-indent: -1em;
}

.contents ul.normal li:before {
    content: "・";
}

@media only screen and (max-width: 640px) {
    .contents ul.normal {
        font-size: 13px;
    }
}

.contents ul.sitemap li {
    margin-top: 1em;
}

.contents ul.sitemap li li {
    margin-left: 1em;
}

.contents dl.news {
    border-bottom: 1px solid #dbdbdb;
    font-size: 14px;
}

@media only screen and (max-width: 640px) {
    .contents dl.news {
        font-size: 13px;
    }
}

.contents dl.news dt {
    padding: 15px 0 0 0;
    border-top: 1px solid #dbdbdb;
    color: #ff6c00;
}

.contents dl.news dd {
    margin-top: -1.8em;
    padding-bottom: 15px;
    padding-left: 7em;
}

.contents img.full {
    width: 100%;
}

.contents .image {
    margin-top: 50px;
}

@media only screen and (max-width: 640px) {
    .contents .image {
        margin-top: 30px;
    }
}

.contents .map {
    margin-top: 20px;
}

.contents.msg p {
    font-size: 16px;
    line-height: 2;
}

.contents.msg .tagline {
    font-weight: bold;
    font-size: 30px;
}

.contents .recruit-banner {
    margin-top: 20px;
    max-width: 100%;
}

@media only screen and (max-width: 640px) {
    .contents .recruit-banner img {
        width: 100%;
    }
}

.contents .detail img {
    margin-top: 10px;
    max-width: 100%;
}

@media only screen and (max-width: 640px) {
    .contents .detail img {
        width: 100%;
        height: auto;
    }
}

.contents .localnav {
    margin-top: 20px;
}

.contents .localnav li {
    border-right: 1px solid #dbdbdb;
    border-bottom: 1px solid #dbdbdb;
    border-left: 1px solid #dbdbdb;
}

.contents .localnav li:first-child {
    border-top: 1px solid #dbdbdb;
}

.contents .localnav li.current a {
    background-color: #eee;
    background-image: none;
}

.contents .localnav a {
    display: block;
    padding: 10px;
    background-image: url(../images/icon-arrow.svg);
    background-position: right 15px center;
    background-repeat: no-repeat;
    text-decoration: none;
}

.wp-pagenavi {
    margin-top: 40px;
    text-align: center;
}

@media only screen and (max-width: 640px) {
    .wp-pagenavi {
        margin-top: 30px;
    }
}

.wp-pagenavi span,
.wp-pagenavi a {
    display: inline-block;
    margin: 10px 10px 0 10px;
    padding: 10px 15px;
    border: 1px solid #dbdbdb;
    text-decoration: none;
    font-size: 14px;
    line-height: 1;
}

.wp-pagenavi a:hover {
    opacity: 0.7;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}

.wp-pagenavi .current {
    background-color: #ff6c00;
    color: #fff;
}

.topicpath ul {
    font-size: 0;
}

.topicpath li {
    display: inline-block;
    font-size: 14px;
}

.topicpath li:after {
    display: inline-block;
    margin: 0 0.8em;
    content: ">";
}

.topicpath li:last-child:after {
    content: "";
}

.topicpath a {
    color: #ff6c00;
    text-decoration: none;
}

table.default {
    width: 100%;
    border-bottom: 1px solid #dbdbdb;
}

table.default th,
table.default td {
    padding: 15px;
    border-top: 1px solid #dbdbdb;
    font-size: 16px;
}

@media only screen and (max-width: 640px) {

    table.default th,
    table.default td {
        padding: 10px;
        font-size: 13px;
    }
}

table.default th {
    width: 1em;
    white-space: nowrap;
    font-weight: bold;
}

form dl {
    margin-top: 20px;
    font-size: 14px;
}

@media only screen and (max-width: 640px) {
    form dl {
        font-size: 13px;
    }
}

form dt {
    margin-top: 10px;
}

form dd {
    margin-top: 5px;
}

form .required:after {
    display: inline-block;
    margin-left: 0.3em;
    color: #f00;
    content: "*";
}

form input[type="text"],
form input[type="email"],
form textarea {
    box-sizing: border-box;
    padding: 10px;
    width: 100%;
    border: none;
    background-color: #eee;
    font-size: 14px;
}

@media only screen and (max-width: 640px) {

    form input[type="text"],
    form input[type="email"],
    form textarea {
        font-size: 13px;
    }
}

form textarea {
    height: 7em;
}

form .buttons {
    margin-top: 20px;
    text-align: center;
}

form span.error {
    display: block;
    margin-top: 5px;
    color: #f00;
}

form button,
form input[type="submit"] {
    display: inline-block;
    padding: 20px 80px;
    border: 1px solid #ccc;
    border-radius: 50px;
    background-color: #fff;
    letter-spacing: 0.3em;
    font-weight: bold;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

form button:hover,
form input[type="submit"]:hover {
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}

form button .icon,
form input[type="submit"] .icon {
    position: relative;
    top: -0.1em;
    display: inline-block;
    margin-right: 0.3em;
    vertical-align: middle;
}

form button .icon img,
form input[type="submit"] .icon img {
    width: 10px;
}

.col2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;

    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

@media only screen and (max-width: 640px) {
    .col2 {
        display: block;
    }
}

.col2 .col {
    width: 48%;
    background-color: #fff;
}

@media only screen and (max-width: 640px) {
    .col2 .col {
        width: 100%;
    }
}

.fade.hide {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}

figure figcaption {
    text-align: center;
    font-size: 14px;
}

.dl-table {
    display: flex;
    font-size: 14px;

    flex-wrap: wrap;
}

.dl-table dt {
    padding: 10px 0;
    width: 25%;
    border-bottom: 1px solid #dbdbdb;
}

.dl-table dd {
    padding: 10px 0;
    width: 75%;
    border-bottom: 1px solid #dbdbdb;
}

@media only screen and (max-width: 640px) {
    .dl-table dt {
        padding: 10px 0;
        width: 35%;
    }

    .dl-table dd {
        padding: 10px 0;
        width: 65%;
    }
}

.box {
    margin: 20px 0 0;
    padding: 20px;
    border: 3px solid #ff6c00;
    text-align: center;
    font-size: 14px;
}

.box strong {
    display: block;
    font-size: 16px;
}

@media only screen and (max-width: 640px) {
    .box {
        margin: 15px 0 0;
        padding: 15px;
        font-size: 12px;
    }

    .box strong {
        font-size: 14px;
    }
}

.list-update{ padding: 1em 0 0;}
.list-update > li{ border-bottom: 1px solid #dbdbdb;}
.list-update > li:first-child{ border-top: 1px solid #dbdbdb;}
.list-update a{ display: flex; padding: 15px 0; text-decoration: none;}
.list-update time{ padding: 0 15px 0 0; color: #ff6c00; font-size: 100%;}
.list-update p{ margin: 0; text-decoration: underline;}

@media only screen and (max-width: 640px) {
    .list-update{ padding: 1em 0 0; line-height: 1.5;}
    .list-update a{ display: block;}
    .list-update time{display: block; padding: 0; }
}

.list-bn{ display: flex; margin: 1em -1em 0; padding: 2em 0 0;}
.list-bn *{ box-sizing: border-box;}
.list-bn > li{ padding: 0 1em; width: 50%;}
.list-bn a{ position: relative; display: flex; padding: 30px; width: 100%; border-radius: 10px; box-shadow: rgba(0, 0, 0, .1) 0px 4px 12px; text-decoration: none; font-weight: bold; font-size: 24px; align-items: center;}
.list-bn a:before{ position: absolute; top: 50%; right: 22px; width: 25px; height: 25px; border-radius: 100%; background: #ff6c00; content: ""; transform: translate(0,-50%);}
.list-bn a:after{ position: absolute; top: 50%; right: 30px; border-width: 3.5px 0 3.5px 6px; border-style: solid; border-color: transparent transparent transparent #fff; content: ""; transform: translate(0,-50%);}

@media only screen and (max-width: 640px) {
    .list-bn{ display: block; margin: 0; padding: 0;}
    .list-bn > li{ padding: 1em 0 0; width: 100%;}
    .list-bn a{ position: relative; display: flex; padding: 30px 20px; width: 100%; font-size: 20px;}
    .list-bn a:before{ right: 15px; width: 20px; height: 20px;}
    .list-bn a:after{ right: 22px; border-width: 3px 0 3px 5px;}
}

.message{ box-sizing: border-box; margin: 3em 0 0; width: 100%;}
.message a{ display: flex; flex-direction: row-reverse; overflow: hidden; width: 100%; border-radius: 10px; box-shadow: rgba(0, 0, 0, .1) 0px 4px 12px; text-decoration: none;}
.message a *{ box-sizing: border-box;}
.message .pc{ display: block;}
.message .sp{ display: none;}
.message figure{ width: 50%;}
.message figure img{ width: 100%; vertical-align: bottom;}
.message figcaption{ display: none;}
.message .detail{ padding: 30px 0 0 20px; width: 50%; background: #fff; letter-spacing: normal;}
.message h2{ display: inline-block; margin: 0; padding: 0 0 5px; border-bottom: 3px solid #ff6c00; font-size: 22px;}
.message p{ font-size: 14px;}
.message .more{ margin: 1em 0 0; font-size: 14px;}
.message .more span{ position: relative; display: inline-block; padding: 0 20px 0 0; text-decoration: none; font-weight: bold; font-size: 14px;}
.message .more span:before{ position: absolute; top: 50%; right: 0; width: 14px; height: 14px; border-radius: 100%; background: #ff6c00; content: ""; transform: translate(0,-50%);}
.message .more span:after{ position: absolute; top: 50%; right: 4px; border-width: 2px 0 2px 4px; border-style: solid; border-color: transparent transparent transparent #fff; content: ""; transform: translate(0,-50%);}

@media only screen and (max-width: 640px) {
    .message{ margin: 2em 0 0;}
    .message a{ display: block;}
    .message .pc{ display: none;}
    .message .sp{ display: block;}
    .message figure{ position: relative; width: 100%;}
    .message figcaption{ position: absolute; top: 50%; left: 20px; display: block; transform: translate(0,-50%);}
    .message .detail{ padding: 20px; width: 100%;}
    .message .detail h2{ display: none;}
    .message h2{ padding: 0; border: none; font-size: 20px;}
    .message p{ margin: 0 !important; font-size: 14px;}
    .message .more{ font-size: 12px;}
}

.message-body *{ box-sizing: border-box;}
.message-body .lead{ padding: 60px 0 60px 30px; background: url("/images/recruit/mv.jpg") no-repeat 0 0 / cover; font-weight: bold; font-size: 18px;}
.message-body .right{ text-align: right;}
.message-body .right span{ font-size: 150%;}

@media only screen and (max-width: 640px) {
    .message-body .lead{ margin: 0 -10px; padding: 20px 15px; background: url("/images/recruit/mv.jpg") no-repeat top right / cover; font-size: 13px;}
    .message-body .right{ text-align: right;}
    .message-body .right span{ font-size: 150%;}
}

.list-job *{ box-sizing: border-box;}
.list-job > li{ margin: 1em 0 0;}
.list-job a{ position: relative; display: flex; flex-direction: column; padding: 30px; width: 100%; border-radius: 10px; box-shadow: rgba(0, 0, 0, .1) 0px 4px 12px; text-decoration: none; align-items: flex-start;}
.list-job a:before{ position: absolute; top: 50%; right: 22px; width: 25px; height: 25px; border-radius: 100%; background: #ff6c00; content: ""; transform: translate(0,-50%);}
.list-job a:after{ position: absolute; top: 50%; right: 30px; border-width: 3.5px 0 3.5px 6px; border-style: solid; border-color: transparent transparent transparent #fff; content: ""; transform: translate(0,-50%);}
.status span{ display: inline-block; padding: 4px 16px; background: #ff6c00; color: #fff; text-align: center; font-weight: 700; font-size: 12px; line-height: 1;}
.status2 span{ background: #eee; color: #666;}
.list-job h3{ margin: 0; font-size: 20px;}

@media only screen and (max-width: 640px) {
    .list-job a{ display: block; padding: 20px;}
    .list-job a:before{ right: 15px; width: 20px; height: 20px;}
    .list-job a:after{ right: 22px; border-width: 3px 0 3px 5px;}
    .status{ width: 100%;}
    .status span{ font-size: 10px;}
    .list-job h3{ font-size: 20px;}
}

.dl-contact{ margin: 3em 0 0; padding: 45px; background: #eee; text-align: center;}
.dl-contact dt{ font-weight: bold; font-size: 20px;}
.dl-contact dd{ margin: 1em 0 0;}

@media only screen and (max-width: 640px) {
    .dl-contact{ margin: 2em 0 0; padding: 20px 0;}
    .dl-contact dt{ font-size: 16px;}
    .dl-contact dd{ margin: 10px 0 0; font-size: 12px;}
}

.contents .ttl-job{ margin: 0; padding: 0 0 15px; border-bottom: 3px solid #ff6c00; line-height: 1.8;}

@media only screen and (max-width: 640px) {
    .contents .ttl-job{ padding: 0 0 10px;}
}

.table-job{ width: 100%; font-size: 14px;}
.table-job th{ padding: 30px 15px 30px 0; width: 25%; border-bottom: 1px solid #dbdbdb; vertical-align: top; font-weight: bold;}
.table-job td{ padding: 30px 0; border-bottom: 1px solid #dbdbdb; vertical-align: top;}

@media only screen and (max-width: 640px) {
    .table-job{ font-size: 12px; line-height: 1.5;}
    .table-job th{ display: block; padding: 20px 0 0; width: 100%; border-bottom: none; font-size: 14px;}
    .table-job td{ display: block; padding: 10px 0 20px; width: 100%; border-bottom: 1px solid #dbdbdb;}
}

.app{ margin: 3em 0 0; text-align: center;}
.app a{ position: relative; display: inline-block; padding: 30px 90px; border-radius: 10px; background: #8be7f8; text-decoration: none; font-weight: bold; font-size: 24px; line-height: 1;}
.app a:before{ position: absolute; top: 50%; right: 22px; width: 25px; height: 25px; border-radius: 100%; background: #fff; content: ""; transform: translate(0,-50%);}
.app a:after{ position: absolute; top: 50%; right: 29px; border-width: 5px 0 5px 8px; border-style: solid; border-color: transparent transparent transparent #000; content: ""; transform: translate(0,-50%);}
.app p{ margin: 0; padding: 15px 0; border: 3px solid #ccc; color: #999; font-size: 18px;}

@media only screen and (max-width: 640px) {
    .app{ margin: 2em 0 0;}
    .app a{ padding: 20px 60px; font-size: 20px;}
    .app a:before{ right: 15px; width: 20px; height: 20px;}
    .app a:after{ right: 22px; border-width: 3px 0 3px 5px;}
    .app p{ padding: 10px 0; font-size: 14px;}
}

.slider-wrap{ margin: 20px 0 0;}
.slider .slick-slide img{ width: 100%; height: auto;}

.philosophy h2{ margin: 80px 0 0; text-align: center; letter-spacing: .05em; font-weight: 600; font-size: 24px; font-family: "din-2014", sans-serif;}

@media only screen and (max-width: 640px) {
    .philosophy h1{ font-size: 6.133333333vw;}
    .philosophy h2{ margin: 8vw 0 0; font-size: 4.8vw;}
}

.philosophy .type1{ display: flex; justify-content: center; align-items: center; flex-grow: 1;}
.philosophy .type1:before,
.philosophy .type1:after{ margin: 0 25px 0 0; width: 100%; height: 17.5px; background: url("/images/company/blt.png") repeat-x center / 680px 17.5px; content: "";}
.philosophy .type1:after{ margin: 0 0 0 25px;}

@media only screen and (max-width: 640px) {
    .philosophy .type1:before,
    .philosophy .type1:after{ margin: 0 4.666666667vw 0 0; height: 3.5vw; background: url("/images/company/blt_sp.png") repeat-x center / 100vw 3.5vw;}
    .philosophy .type1:after{ margin: 0 0 0 4.666666667vw;}
}

.philosophy .line1{ margin: 40px 0 0; text-align: center; font-weight: bold; font-size: 32px; line-height: 1.75;}
.philosophy .line1 small{ font-weight: bold; font-size: 26px;}
.philosophy .line1 strong{ font-weight: bold; font-size: 40px;}
.philosophy .line1 span{ display: inline; border-bottom: 4px solid #ff6a00; font-weight: bold;}

@media only screen and (max-width: 640px) {
    .philosophy .line1{ margin: 6vw 0 0; letter-spacing: normal;font-size: 5.333333333vw; line-height: 1.75; }
    .philosophy .line1 small{ font-size: 4.266666667vw;}
    .philosophy .line1 strong{ font-size: 6.666666667vw;}
    .philosophy .line1 span{ border-bottom: 0.666666667vw solid #ff6a00;}
}

.philosophy .line1-2{ font-size: 26px;}
.philosophy .line1-2 strong{ font-size: 32px;}

@media only screen and (max-width: 640px) {
    .philosophy .line1-2{ font-size: 5.333333333vw;}
    .philosophy .line1-2 strong{ font-size: 6.666666667vw;}
}

.philosophy .type2{ position: relative; margin: 150px 0 0; padding: 0 0 20px;}
.philosophy .type2:before{ position: absolute; bottom: 0; left: 50%; z-index: -1; width: 202px; height: 112.97px; background: url("/images/company/bg_tl.png") no-repeat center / contain; content: ""; transform: translate(-50%,0);}

@media only screen and (max-width: 640px) {
    .philosophy .type2{ margin: 24vw 0 0; padding: 0 0 4vw;}
    .philosophy .type2:before{ width: 40vw; height: 22.37018667vw;}
}

.philosophy .list1{ position: relative; margin: 0 !important; width: 680px; height: 450px;}
.philosophy .list1 > li{ position: absolute; background: no-repeat center / contain; opacity: 0; cursor: pointer; transition: transform .5s ease; transform: scale(1);}
.philosophy .list1 > li:hover{ z-index: 10; transform: scale(1.2);}

@media only screen and (max-width: 640px) {
    .philosophy .list1{ margin: 0 auto !important; width: 91.73333333vw; height: 169.8666667vw;}
    .philosophy .list1 > li{ position: absolute; background: no-repeat center / contain; opacity: 0; cursor: pointer; transition: none; transform: none;}
    .philosophy .list1 > li:hover{ transform: none;}
}

.philosophy .list1 .block1{ top: 0; left: 0; width: 225.33px; height: 260px; background-image: url("/images/company/block1.png");}
.philosophy .list1 .block1.slidein{ animation: .5s fadein .2s ease forwards;}
.philosophy .list1 .block1:hover{ background-image: url("/images/company/block1_hover.png"); transform: scale(1.2);}

@media only screen and (max-width: 640px) {
    .philosophy .list1 .block1{ top: 0; left: 0; width: 45.06666667vw; height: 62.4vw; background-image: url("/images/company/block1_sp.png");}
    .philosophy .list1 .block1.slidein{ animation: fadein .5s ease forwards;}
    .philosophy .list1 .block1:hover{ background-image: url("/images/company/block1_sp.png"); transform: none;}
}

.philosophy .list1 .block2{ top: 0; left: 50%; width: 288px; height: 260px; background-image: url("/images/company/block2.png"); transform: translate(-50%,0);}
.philosophy .list1 .block2.slidein{ animation: .5s fadein .7s ease forwards;}
.philosophy .list1 .block2:hover{ background-image: url("/images/company/block2_hover.png"); transform: translate(-50%,0) scale(1.2);}

@media only screen and (max-width: 640px) {
    .philosophy .list1 .block2{ top: 0; right: 0; left: auto; width: 51.33333333vw; height: 62.4vw; background-image: url("/images/company/block2_sp.png"); transform: none;}
    .philosophy .list1 .block2.slidein{ animation: fadein .5s ease forwards;}
    .philosophy .list1 .block2:hover{ background-image: url("/images/company/block2_sp.png"); transform: none;}
}

.philosophy .list1 .block3{ top: 0; right: 0; width: 225.33px; height: 224px; background-image: url("/images/company/block3.png");}
.philosophy .list1 .block3.slidein{ animation: .5s fadein 1.2s ease forwards;}
.philosophy .list1 .block3:hover{ background-image: url("/images/company/block3_hover.png"); transform: scale(1.2);}

@media only screen and (max-width: 640px) {
    .philosophy .list1 .block3{ top: 50%; right: auto; left: 0; width: 45.06666667vw; height: 60.93333333vw; background-image: url("/images/company/block3_sp.png"); transform: translate(0,-45%);}
    .philosophy .list1 .block3.slidein{ animation: fadein .5s ease forwards;}
    .philosophy .list1 .block3:hover{ background-image: url("/images/company/block3_sp.png"); transform: translate(0,-50%);}
}

.philosophy .list1 .block4{ bottom: 0; left: 0; width: 225.33px; height: 222px; background-image: url("/images/company/block4.png");}
.philosophy .list1 .block4.slidein{ animation: .5s fadein 1.7s ease forwards;}
.philosophy .list1 .block4:hover{ background-image: url("/images/company/block4_hover.png");}

@media only screen and (max-width: 640px) {
    .philosophy .list1 .block4{top: 50%; right: 0;  bottom: auto; left: auto; width: 52.4vw; height: 60.93333333vw; background-image: url("/images/company/block4_sp.png"); transform: translate(0,-45%);}
    .philosophy .list1 .block4.slidein{ animation: fadein .5s ease forwards;}
    .philosophy .list1 .block4:hover{ background-image: url("/images/company/block4_sp.png");}
}

.philosophy .list1 .block5{ bottom: 0; left: 50%; width: 288px; height: 222px; background-image: url("/images/company/block5.png"); transform: translate(-50%,0);}
.philosophy .list1 .block5.slidein{ animation: .5s fadein 2.7s ease forwards;}
.philosophy .list1 .block5:hover{ transform: translate(-50%,0) scale(1);}

@media only screen and (max-width: 640px) {
    .philosophy .list1 .block5{right: 0;  bottom: 0; left: auto; width: 53.06666667vw; height: 56vw; background-image: url("/images/company/block6_sp.png"); transform: none;}
    .philosophy .list1 .block5.slidein{ animation: 1s fadein .5s ease forwards;}
    .philosophy .list1 .block5:hover{ transform: none;}
}

.philosophy .list1 .block6{ right: 0; bottom: 0; width: 225.33px; height: 254px; background-image: url("/images/company/block6.png");}
.philosophy .list1 .block6.slidein{ animation: .5s fadein 2.2s ease forwards;}
.philosophy .list1 .block6:hover{ background-image: url("/images/company/block6_hover.png");}

@media only screen and (max-width: 640px) {
    .philosophy .list1 .block6{ right: auto; bottom: 0; left: 0; width: 45.06666667vw; height: 56vw; background-image: url("/images/company/block5_sp.png");}
    .philosophy .list1 .block6.slidein{ animation: fadein .5s ease forwards;}
    .philosophy .list1 .block6:hover{ background-image: url("/images/company/block5_sp.png");}
}

@keyframes fadein {
    0%{ opacity: 0;}
    100% { opacity: 1;}
}

.philosophy .list1 .line2{ position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
.philosophy .list1 .line2-1{ padding: 1em 0 0; letter-spacing: .1em; font-weight: bold; font-size: 24px; transition: all .15s ease;}
.philosophy .list1 > li:hover .line2-1{ visibility: hidden; opacity: 0;}
.philosophy .list1 > li:nth-child(3) .line2-1{ padding: 2.5em 0 0 .5em;}
.philosophy .list1 > li:nth-child(4) .line2-1{ padding: 4em 0 0;}
.philosophy .list1 > li:nth-child(6) .line2-1{ padding: 5.4em 0 0 .5em;}

@media only screen and (max-width: 640px) {
    .philosophy .list1 .line2{ top: 19.33333333vw; left: 50%; transform: translate(-50%,0);}
    .philosophy .list1 .line2-1{ padding: 0; font-size: 5.733333333vw; transition: none;}
    .philosophy .list1 > li:hover .line2-1{ visibility: visible; opacity: 1;}
    .philosophy .list1 > li:nth-child(2) .line2-1{ padding: 0 0 0 1em;}
    .philosophy .list1 > li:nth-child(3) .line2-1{ padding: 0;}
    .philosophy .list1 > li:nth-child(4) .line2-1{ padding: 0 0 0 1.5em;}
    .philosophy .list1 > li:nth-child(6) .line2-1{ padding: 0;}
}

.philosophy .list1 .line2-2{ visibility: hidden; text-align: center; white-space: nowrap; font-weight: normal; font-size: 14px; line-height: 1.75; opacity: 0;}
.philosophy .list1 > li:hover .line2-2{ visibility: visible; opacity: 1; transition: .3s opacity .15s ease;}
.philosophy .list1 > li:first-child .line2-2{ margin: -1em 0 0; padding: 0 1em 0 0;}
.philosophy .list1 > li:nth-child(2) .line2-2{ margin: -1em 0 0;}
.philosophy .list1 > li:nth-child(3) .line2-2{ margin: -1em 0 0; padding: 0 0 0 1em;}
.philosophy .list1 > li:nth-child(4) .line2-2{ padding: 0 1em 0 0;}
.philosophy .list1 > li:nth-child(6) .line2-2{ padding: 2.5em 0 0 1em;}

@media only screen and (max-width: 640px) {
    .philosophy .list1 .line2-2{ top: 30.66666667vw; visibility: visible; font-size: 3.2vw; line-height: 1.75; opacity: 1; transform: translate(-50%,9);}
    .philosophy .list1 > li:hover .line2-2{ transition: none;}
    .philosophy .list1 > li:first-child .line2-2{ margin: 0; padding: 0;}
    .philosophy .list1 > li:nth-child(2) .line2-2{ margin: 0; padding: 0 0 0 2.5em;}
    .philosophy .list1 > li:nth-child(3) .line2-2{ margin: 0; padding: 0;}
    .philosophy .list1 > li:nth-child(4) .line2-2{ margin: 0; padding: 0 0 0 2.5em;}
    .philosophy .list1 > li:nth-child(6) .line2-2{ margin: 0; padding: 0;}
}