@import url("/common/css/keyvisual.css?20250108");

.kv_wrap_bg {
    background-image: url(/common/img/company/kv_company_bg.jpg) !important;
    /*    background-size: cover !important;*/
    background-position: 100% 54%;
    background-size: 73vw;
}

.company .kv_wrap2 {
    margin-top: 0;
}

.company {}

.company_ttl_right {}

.company_ttl_left {}

.company section {
    margin-top: 1vw;
    width: 98.5vw;
}

section {
    background-color: #f7f8f8;
    padding: 2vw 0 2vw 0;
}

/* ---------------
企業理念
--------------- */
.corporate_philosophy {
    position: relative;
}

.corporate_philosophy .container {
    display: flex;
}

.corporate_philosophy h2 {
    width: 22vw;
    margin-top: 2vw;
}

.corporate_philosophy .corporate_philosophy_box {
    display: flex;
}

.corporate_philosophy .corporate_philosophy_box div {
    margin-left: 0;
    background-color: #fff;
    padding: 2vw;
    margin-bottom: 0vw;
    width: 26vw;
    margin-right: 5vw;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.corporate_philosophy .corporate_philosophy_box h3 {
    margin-bottom: 0.5vw;
}

.corporate_philosophy .corporate_philosophy_box p {
    margin-bottom: 0;
}


/* ---------------
代表あいさつ
--------------- */
.greetings_fromthe_representative {
    position: relative;
}

.greetings_fromthe_representative .container {
    display: flex;
}

.greetings_fromthe_representative h2 {
    margin-bottom: 2vw;
    width: 22vw;
    margin-top: 2vw;
}

.greetings_fromthe_representative .greetings_fromthe_representative_box {
    margin-left: 0;
    background-color: #fff;
    padding: 2vw;
    margin-bottom: 0vw;
    width: 66vw;
    margin-right: 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.greetings_fromthe_representative h3 {}

.greetings_fromthe_representative p {}

.greetings_fromthe_representative p.txtRight {}

.greetings_fromthe_representative img {
    width: 20vw;
    margin-left: 3vw;
}

/* ---------------
会社概要
--------------- */
.company_profile {
    position: relative;
}

.company_profile .container {
    display: flex;
}

.company_profile h2 {
    margin-bottom: 2vw;
    width: 22vw;
    margin-top: 2vw;
}

.company_profile_box {
    margin-left: 0;
    background-color: #fff;
    padding: 2vw;
    margin-bottom: 0vw;
    width: 66vw;
    margin-right: 0;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}

.company_profile h3 {}

.company_profile table {
    width: 100%;
    border: solid 1px #d5d5d5;
    border-width: 1px 0 0 0;
    margin-bottom: 3vw;
}

.company_profile table th,
.company_profile table td {
    font-size: 1.2vw;
    font-weight: 500;
}

.company_profile table th {
    padding: 1.5vw 1vw;
    background-color: #e5e5e5;
    border: solid 1px #d5d5d5;
    border-width: 0 0 1px 0;
    vertical-align: middle;
    min-width: 30%;
    width: 30%;
}

.company_profile table td {
    padding: 1.5vw 2vw;
    border: solid 1px #d5d5d5;
    border-width: 0 0 1px 0;
    vertical-align: middle;
    position: relative;
}

.company_profile table a {
    text-decoration: underline;
}

.company_profile table .map {
    /*
    text-decoration: unset;
    display: block;
    position: absolute;
    right: 10px;
    top: calc(50% - 1.5vw);
    border: dashed 1px #ccc;
    padding: 0.4vw 1vw;
    */
    text-decoration: unset;
    display: block;
    border: dashed 1px #ccc;
    padding: 0.4vw 1vw;
    float: right;
}

.company_profile table .map * {
    transition: all 0.5s;
}

.company_profile table .map:before {
    content: "\f3c5";
    color: #E31F26;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 0.5em;
}

.company_profile table .map:hover {
    color: #fff;
    background-color: #E31F26;
    opacity: 1;
}

.company_profile table .map:hover:before {
    color: #fff;
}

.company .map{
    width: 100%;
    border: 1px solid #d5d5d5;
}

/* ---------------
ブランドストーリー
--------------- */
section.brand_story {
    position: relative;
    color: #B4B4B5;
    background-color: unset;
}

section.brand_story::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50vw;
    /*
    background-image:
        linear-gradient(to right,
        rgba(0, 0, 0, 1) 10%,
        rgba(0, 0, 0, 0) 20%,
        rgba(0, 0, 0, 0) 50%,
        rgba(0, 0, 0, 0) 80%,
        rgba(0, 0, 0, 1) 90%),
        linear-gradient(to bottom,
        rgba(0, 0, 0, 0.5) 0%,
        rgba(0, 0, 0, 0.5) 40vw,
        rgba(0, 0, 0, 1) 50vw),
        url(/common/img/company/brand_story_bg.jpg);
        */
    background-repeat: no-repeat;
    background-position: center 0%;
    background-size: 80vw auto;
    z-index: -1;
}

section.brand_story::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to bottom, #000 0%, #000 50vw, #333 70%, #FFF 100%);
    z-index: -2;
    /* 背景として設定 */
}

.brand_story h2 {
    margin-bottom: 7vw;
    font-weight: 500;
    padding-top: 5vw;
}

.brand_story .container {
    position: relative;
}

.brand_story .container:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 18.5vw;
    height: calc(100% - 18.5vw);
    border: solid 1px #888;
    border-width: 0 0 0 1px;
}

.brand_story dl {}


.brand_story dt {}

.brand_story dt h3 {
    margin-bottom: 0;
}

.brand_story dd {}

.brand_story .a1 {
    margin-top: 0vw;
}

.brand_story .a2 {
    margin-top: 0vw;
}

.brand_story .a3 {
    margin-top: 0vw;
}

.brand_story .a4 {
    margin-top: -8vw;
}

.brand_story .a5 {
    margin-top: 0vw;
}

.brand_story .a6 {
    margin-top: -4vw;
}

.brand_story .a7 {
    margin-top: 0vw;
}

.brand_story .a8 {
    margin-top: 0vw;
}

.brand_story .a9 {
    margin-top: -15vw;
}

.brand_story .a10 {
    margin-top: -4vw;
}

.brand_story .a11 {
    margin-top: 0vw;
}

.brand_story .a12 {
    margin-top: -14vw;
}

.brand_story .a13 {
    margin-top: -10vw;
}

.brand_story_left img,
.brand_story_right img {
    width: 20vw;
    margin-top: 0.5vw;
    display: block;
}

.brand_story_left,
.brand_story_right {
    width: 34vw;
    display: block;
    position: relative;
}

.brand_story_left {
    margin-right: auto;
}

.brand_story_right {
    margin-left: auto;
}

.brand_story_left:before,
.brand_story_right:before {
    content: "";
    display: block;
    position: absolute;
    border: solid 1px #888;
    border-width: 1px 0 0 0;
    height: 1px;
}

.brand_story_left:before {
    left: 9vw;
    top: 2vw;
    width: 35vw;
}

.brand_story_right:before {
    left: -10vw;
    top: 2vw;
    width: 9vw;
}

.brand_story_left:after,
.brand_story_right:after {
    content: "";
    display: block;
    position: absolute;
    top: calc(1vw - 0.5vw);
    height: 1vw;
    width: 1vw;
    background-color: #888;
    border-radius: 50%;
}

.brand_story_left:after {
    left: 43.5vw;
    margin-top: 1vw;
}

.brand_story_right:after {
    left: -10.5vw;
    top: 1.5vw;
}

/* ---------------
個人情報保護方針
--------------- */
.l1 li {
    margin-left: 1.2em;
    text-indent: -1.2em;
}

.l2 li {
    margin-left: 1.2em;
    text-indent: -1.2em;
}

.privacy h2 {
    margin-bottom: 1em;
}

.privacy h3 {
    margin-bottom: 0.5em;
}

.privacy p {
    margin-bottom: 0;
}

.privacy ul {
    margin-bottom: 2em;
}

.privacy ul ul {
    margin-bottom: 2em;
}

.privacy ol {
    margin-bottom: 2em;
}

.privacy ol ul {
    margin-bottom: 0;
}

.privacy div {
    margin-bottom: 2em;
}

.privacy dl {
    width: 40vw;
    display: flex;
    border: 1px solid #eee;
    margin: 0 auto;
    margin-top: 1em;
}

.privacy dt {
    padding: 1em;
    background-color: #eee;
    width: 16vw;
}

.privacy dd {
    padding: 1em;
    width: 27vw;
    text-align: center;
}

section.footer_wrap {
    background-color: unset;
}

.kv_box:before {
    background-color: unset;
}