@charset "UTF-8";
main {
    color: #2d2d2d;
}
/*==================================================
First View
==================================================*/
.sec_fv{
    background-image: url(../img/company/fv.webp);
}
/*==================================================
PHILOSOPHY
==================================================*/
.philosophy_wrap {
    text-align: center;
    position: relative;
    z-index: 2;
    padding: min(16vw,150px) 5vw min(18vw,160px);
}
.philosophy_ttl_wrap {
    margin-bottom: min(6.5vw, 50px);
}
.philosophy_name {
    font-weight: 400;
    font-size: min(4vw,20px);
    line-height: 1;
}
.philosophy_ttl {
    line-height: 1;
    font-weight: 700;
    font-size: min(8vw, 50px);
    margin-top: min(3vw, 20px);
}
.philosophy_txt {
    font-size: min(4.5vw, 20px);
    line-height: min(8vw, 220%);
}
@media (max-width:760px){
.philosophy_txt {
    text-align: left;
}
}
/*==================================================
CONTENTS
==================================================*/
.cpny_inr{
    width: min(94%,1080px);
    margin-left: auto;
    margin-right: auto;
    padding-top: min(12vw,100px);
    padding-bottom: min(20vw,140px);
    position: relative;
    z-index: 1;
}
.cpny_ttljp {
    font-size: min(3.5vw,22px);
    font-weight: normal;
    line-height: 1;
}
.cpny_ttlen {
    font-size: min(8.5vw, 50px);
    line-height: 1;
    font-weight: 700;
    margin: min(3.5vw,19px) 0 0;
}
.cpny_contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
/*==================================================
TOP MESSAGE
==================================================*/
.sec_msg {
    background: #fff;
    position: relative;
}

.head_txt {
    color: #e6e1da;
    position: absolute;
    z-index: 0;
    line-height: 1;
    font-size: 19vw;
    font-weight: 700;
    opacity: 0.5;
    top: -7.5vw;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}
.msg_head {
    margin: min(7vw, 50px) 0 min(8vw, 105px);
}
.msg_txt,
.msg_photo {
    width: 46%;
}
.msg_txt .name {
    font-size: min(6vw, 32px);
    line-height: 160%;
    margin-bottom: min(5vw, 30px);
    font-weight: 800;
}
.msg_txt .txt {
    font-size: min(4.5vw, 18px);
    line-height: min(8vw, 220%);
    margin-bottom: min(7vw,50px);
}
.msg_txt .txt:last-child {
    margin-bottom: 0;
}
.sign {
    font-size: min(5vw, 24px);
    font-weight: 700;
}

@media (max-width:840px){
.msg_txt,
.msg_photo {
    width: 100%;
}
.msg_txt {
    margin-bottom: min(7vw, 50px);
}
.msg_photo {
    width: 71%;
    margin: 0 auto;
}
}

/*==================================================
食品安全方針
==================================================*/
.fsp_wrap {
    padding: min(16vw, 150px) 0 0;
    width: min(94%, 1080px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.fsp_ttl {
    font-size: min(6vw, 32px);
    line-height: 160%;
    margin-bottom: min(5vw, 30px);
    font-weight: 800;
    text-align: center;
}

.fsp_flex {
    display: flex;    
    margin: min(4.5vw, 30px) 0;
    font-size: min(4.5vw, 20px);
    line-height: min(8vw, 200%);
}
.fsp_num {
    width: 2em;
    min-width: 2em;
}
.fsp_flex.fsp_sign {
    justify-content: flex-end;
}
.fsp_sign .sign {
    font-size: min(4vw, 16px);
    line-height: 1.8;
    font-weight: normal;
}
/*==================================================
OVERVIEW
==================================================*/
.over_wrap:not(:last-child) {
    margin-bottom: min(15vw,120px);
}
.over_list {
    width: 58%;
    min-width: 58%;
    text-align: left;
    font-size: min(4vw, 16px);
    line-height: 160%;
}
.over_tbl {
    table-layout: fixed;
    width: 100%;
    border-top: 1px solid #c0c0c0;
}
.over_tbl th,
.over_tbl td{
    border-bottom: 1px solid #c0c0c0;
}
.over_tbl th {
    font-weight: normal;
    width: 8.5em;
    vertical-align: top;
}
.over_tbl td {
    font-weight: normal;
}
.over_tbl th,
.over_tbl td{
    padding: min(3vw,20px) 0;
}
.over_wrap .cpny_ttl_wrap {
    margin-bottom: min(8vw, 55px);
}
@media (max-width:840px){
.over_list {
    width: 100%;
    }
}

/*==================================================
CSR
==================================================*/
.sec_csr {
    background: #fff;
    position: relative;
}

.csr_head{
    margin: 0 0 min(8vw, 55px);
}
.csr_photo{
    padding: 0 5%;
}

/*==================================================
ACCESS
==================================================*/
.map_data{
    margin-bottom: min(8vw,55px);
}
.access_map{
    width: 100%;
    height: min(50vw,566px);
    height: min(96vw, 566px);
}
.g_map_btn{
    display: block;
    margin-top: min(3vw, 15px);
    background: #fff;
    line-height: 1;
    border: 1px solid;
    border-radius: 30px;
    text-align: center;
    padding: 0.3em;
    width: 150px;
}
.g_map_btn:hover{
    background: #fd343e;
    color: #fff;
}