@import url("/common/css/sp/keyvisual.css");

.kv_wrap_bg {
    background-image: url(/common/img/company/kv_company_bg.jpg) !important;
    background-size: cover !important;
}

.company .kv_wrap2 {
    margin-top: 0;
}

.company {}

.company_ttl_right {}

.company_ttl_left {}

.company section {
    margin-top: 1vw;
}

/* ---------------
企業理念
--------------- */
.corporate_philosophy {
    position: relative;
    padding: 4vw 0 0vw 0;
    border-bottom: solid 1px #ccc;
    padding-bottom: 6vw;
}

.corporate_philosophy .container {
    display: block;
}

.corporate_philosophy h2 {
    margin-bottom: 2vw;
    width: 100%;
    margin-top: 2vw;
}

.corporate_philosophy h2 br {
    display: none;
}

.corporate_philosophy .corporate_philosophy_box {
    display: block;
}

.corporate_philosophy .corporate_philosophy_box div {
    margin-left: 0;
    background-color: #fff;
    padding: 2vw 0vw;
    margin-bottom: 4vw;
    width: 100%;
    margin-right: 5vw;
}

.corporate_philosophy .corporate_philosophy_box h3 {
    margin-bottom: 0.5vw;
}

.corporate_philosophy_box h3 br {
    display: none;
}

.corporate_philosophy .corporate_philosophy_box p {
    margin-bottom: 0;
}


/* ---------------
代表あいさつ
--------------- */
.greetings_fromthe_representative {
    position: relative;
    border-bottom: solid 1px #ccc;
    padding-bottom: 6vw;
}

.greetings_fromthe_representative .container {
    display: block;
}

.greetings_fromthe_representative h2 {
    margin-bottom: 2vw;
    width: 100%;
    margin-top: 2vw;
}

.greetings_fromthe_representative .greetings_fromthe_representative_box {
    margin-left: 0;
    background-color: #fff;
    padding: 2vw 0vw;
    margin-bottom: 4vw;
    width: 100%;
    margin-right: 0;
}

.greetings_fromthe_representative h3 {}

.greetings_fromthe_representative p {}

.greetings_fromthe_representative p.txtRight {}

.greetings_fromthe_representative img {
    width: 70%;
    margin: 4vw auto;
    float: none !important;
    display: block;
}

/* ---------------
会社概要
--------------- */
.company_profile {
    position: relative;
}

.company_profile .container {
    display: block;
}

.company_profile h2 {
    margin-bottom: 2vw;
    width: 100%;
    margin-top: 2vw;
}

.company_profile_box {
    margin-left: 0;
    background-color: #fff;
    padding: 2vw 0vw;
    margin-bottom: 4vw;
    width: 100%;
    margin-right: 0;
}

.company_profile h3 br {
    display: none;
}

.company_profile table {
    width: 100%;
    border: solid 1px #d5d5d5;
    border-width: 1px 0 0 0;
    margin-bottom: 6vw;
}

.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: 100%;
    font-size: 3vw;
    display: block;
    font-weight: 500;
}

.company_profile table td {
    padding: 1.5vw 2vw;
    border: solid 1px #d5d5d5;
    border-width: 0 0 1px 0;
    vertical-align: middle;
    position: relative;
    font-size: 3vw;
    width: 100%;
    display: block;
    font-weight: 500;
}

.company_profile table a {
    text-decoration: underline;
}

.company_profile table .map {
    text-decoration: unset;
    display: inline-block;
    /* position: absolute; */
    /* right: 10px; */
    /* top: calc(50% - 1.5vw); */
    /* border: dashed 1px #ccc; */
    padding: 0;
    margin-left: 3.8vw;
    float: right;
    border: dashed 1px #ccc;
    padding: 0.4vw 1vw;
}

.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;
    height: 30vh;
}

/* ---------------
ブランドストーリー
--------------- */
.brand_story {
    position: relative;
    color: #B4B4B5;
}

.brand_story::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50vw;
    background-repeat: no-repeat;
    background-position: center 0%;
    background-size: 80vw auto;
    z-index: -1;
}

.brand_story::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to bottom, #000 0%, #000 80vw, #333 90%, #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: -0.8vw;
    top: 26.5vw;
    height: calc(100% - 27vw);
    border: solid 1px #888;
    border-width: 0 0 0 1px;
}

.brand_story dl {
    margin-bottom: 5vw;
}


.brand_story dt {}

.brand_story dt h3 {
    margin-bottom: 0;
}

.brand_story dd {
    font-size: 3vw;
}

.brand_story .a1 {}

.brand_story .a2 {}

.brand_story .a3 {}

.brand_story .a4 {}

.brand_story .a5 {}

.brand_story .a6 {}

.brand_story .a7 {}

.brand_story .a8 {}

.brand_story .a9 {}

.brand_story .a10 {}

.brand_story .a11 {}

.brand_story .a12 {}

.brand_story .a13 {}

.brand_story_left img,
.brand_story_right img {
    width: 80%;
    margin: 3vw auto;
    display: block;
}

.brand_story_left,
.brand_story_right {
    width: 90%;
    display: block;
    position: relative;
    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;
    left: -10vw;
    top: 4vw;
    width: 9vw;
}

.brand_story_left:after,
.brand_story_right:after {
    content: "";
    display: block;
    position: absolute;
    top: calc(1vw - 0.5vw);
    height: 2vw;
    width: 2vw;
    background-color: #888;
    border-radius: 50%;
    left: -10.5vw;
    top: 3.1vw;
}

/* ---------------
個人情報保護方針
--------------- */
.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: 100%;
    display: block;
    border: 1px solid #eee;
    margin: 0 auto;
    margin-top: 1em;
}

.privacy dt {
    padding: 1vw;
    background-color: #eee;
    text-align: center;
    font-size: 3vw;
    font-weight: 500;
}

.privacy dd {
    padding: 1vw;
    width: 100%;
    text-align: center;
    font-size: 3vw;
    font-weight: 500;
}