@charset "utf-8";

/************************************************ COMMON */

body {
    width: 100%;
    height: auto;
    overflow-x: hidden;
}

body:before {
    content: "";
    display: block;
    width: 100%;
    height: 200px;
    position: absolute;
    top: -10px;
    z-index: -2;
    background-color: #ab0217;
    -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

/*  -1200 */
@media screen and (max-width: 1200px) {
    body:before {
        height: calc(200 / 1200 * 100vw);
        top: -5px;
        -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
        clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    }
}

.page_tit {
    width: 100%;
    min-height: 100vh;
    background: #ab0217;
    text-align: center;
    position: absolute;
    top: 190px;
    color: #FFF;
    padding-bottom: 300px;
    padding-left: 15px;
    padding-right: 15px;
    margin-top: -2px;
}

.page_tit .en {
    font-size: 30px;
    font-size: 3.0rem;
    font-family: "HelveticaNeue-CondensedBold", "Helvetica Neue", sans-serif;
}

.page_tit h1 {
    font-size: 54px;
    font-size: 5.4rem;
    line-height: 1.6;
    font-weight: bold;
    font-family: ”ゴシックMB101 B”, ”Gothic MB101 Bold”, sans-serif;
}

/*  -1200 */
@media screen and (max-width: 1200px) {
    .page_tit {
        top: calc(190 / 1200 * 100vw);
        padding-bottom: calc(300 / 1200 * 100vw);
    }

    .page_tit h1 {
        font-size: 34px;
        font-size: 3.4rem;
    }

    .page_tit .en {
        font-size: 1.8rem;
    }
}

/*  -999 */
@media screen and (max-width: 999px) {
    .page_tit {
        padding-bottom: 300px;
    }
}

section {
    position: relative;
}

section .inner {
    position: relative;
    z-index: 1;
}

/************************************************ ABOUT */

body.about .bg-white {
    margin-top: 300px;
    width: 100%;
    height: 200px;
    background-color: #fff;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

/*  -1200 */
@media screen and (max-width: 1200px) {
    body.about .bg-white {
        margin-top: calc(300 / 1200 * 100vw);
        height: calc(200 / 1200 * 100vw);
    }
}

@media screen and (max-width: 767px) {
    body.about .bg-white {
        margin-top: 180px;
    }
}

body.about #page_nav {
    width: 100%;
    position: relative;
    background: #FFF;
}

body.about #page_nav::after {
    content: '';
    display: block;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: 2px;
    z-index: -1;
    transform: translate(0, 100%);
}

body.about #page_nav .bg-yellow {
    position: absolute;
    background: #ffe713;
    width: 80%;
    height: 600px;
    bottom: -300px;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
}


/*  -767 */
@media screen and (max-width: 767px) {
    body.about #page_nav .bg-yellow {
        height: 300px;
    }
}

body.about #page_nav .staff {
    position: absolute;
    width: 199px;
    height: auto;
    right: 5%;
    bottom: -300px;
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.about #page_nav .staff {
        bottom: -637px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #page_nav .staff {
        width: 100px;
        bottom: -350px;
    }
}

body.about #page_nav li {
    position: relative;
    float: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 22px;
    width: 228px;
}

body.about #page_nav li.ichi div {
    width: 228px;
    height: 294px;
    background: url("../img/about/page_nav_bg1.png") no-repeat left top;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

body.about #page_nav li.ni div {
    background: url("../img/about/page_nav_bg2.png") no-repeat left top;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    width: 228px;
    height: 294px;
}

body.about #page_nav li.san div {
    background: url("../img/about/page_nav_bg3.png") no-repeat left top;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    width: 228px;
    height: 284px;
}

body.about #page_nav li.yon div {
    background: url("../img/about/page_nav_bg4.png") no-repeat left top;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    width: 228px;
    height: 294px;
    margin-right: 0;
}

/*  -999 */
@media screen and (max-width: 999px) {

    body.about #page_nav li {
        width: 25%;
        margin-right: 0;
        padding: 0 5px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    body.about #page_nav li.ichi div,
    body.about #page_nav li.ni div,
    body.about #page_nav li.yon div {
        width: 100%;
        height: 0;
        padding-top: 128.9%;
    }

    body.about #page_nav li.san div {
        width: 100%;
        height: 0;
        padding-top: 124.56%;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {

    body.about #page_nav li {
        width: 50%;
    }

    body.about #page_nav li.ichi div,
    body.about #page_nav li.ni div {
        margin-bottom: 40px;
    }
}

body.about #page_nav li img {
    position: absolute;
    left: 50%;
    margin-left: -50px;
    top: -30px;
}

body.about #page_nav li a {
    display: block;
    color: #000;
}

body.about #page_nav li p {
    width: 100%;
    padding: 20px 20px 0 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%);
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.6;
    font-family: ”ゴシックMB101 B”, ”Gothic MB101 Bold”, sans-serif;
}

body.about #page_nav li.ni p {
    font-size: 2.6rem;
}

/*  -999 */
@media screen and (max-width: 999px) {

    body.about #page_nav li p,
    body.about #page_nav li.ni p {
        font-size: 20px;
        font-size: 2.0rem;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {

    body.about #page_nav li.ichi p,
    body.about #page_nav li.ni p {
        padding-top: 0;
    }
}

/*  -320 */
@media screen and (max-width: 320px) {
    body.about #page_nav li p {
        font-size: 1.6rem;
        font-size: 16px;
    }
}


body.about #sec01 {
    margin-top: 200px;
}

body.about #sec01 .bg_red {
    width: 100%;
    height: 200px;
    background-color: #ab0217;
    -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    margin-top: -100px;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #sec01 .bg_red {
        height: 100px;
    }
}

body.about #sec01 .bg_nomal {
    background-color: #ab0217;
    padding: 30px 0 300px 0;
}

body.about #sec01 .bg_nomal::after {
    content: '';
    width: 100%;
    height: 2250px;
    background: #ab0217;
    position: absolute;
    left: 0;
    bottom: 2px;
    transform: translate(0, 100%);
}

/* body.about #sec01 .staff{
    position: absolute;
    right: 5%;
    bottom: -180px;
    width: 486px;
    height: auto;
} */

/*  -767 */
@media screen and (max-width: 767px) {
    /* body.about #sec01 .staff{
        width: 100%;
        bottom: -60px;
        right: 0;
    } */
}

/*  -320 */
@media screen and (max-width: 320px) {
    /* body.about #sec01 .staff{
        bottom: -20px;
    } */
}

body.about section .no {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -80px;
}

body.about section h2 {
    font-size: 60px;
    font-size: 6.0rem;
    font-weight: bold;
    font-family: ”ゴシックMB101 B”, ”Gothic MB101 Bold”, sans-serif;
    transform: rotate(-8deg);
    line-height: 1.6;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about section .no {
        width: 100px;
        height: 100px;
        margin-left: -50px;
    }

    body.about section .no img {
        width: 100%;
        height: auto;
    }

    body.about section h2 {
        font-size: 38px;
        font-size: 3.8rem;
        padding: 0 2%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
}

/*  -320 */
@media screen and (max-width: 320px) {
    body.about section h2 {
        font-size: 30px;
        font-size: 3.0rem;
    }
}

body.about #sec02 {
    z-index: 1;
}

body.about #sec02 .bg_blue {
    width: 100%;
    height: 200px;
    background-color: #1d92c3;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
    margin-top: -200px;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #sec02 .bg_blue {
        height: 100px;
        margin-top: -140px;
    }
}

body.about #sec02 .bg_nomal {
    background-color: #1d92c3;
    padding: 30px 0 200px 0;
}

body.about #sec02 .bg_nomal::after {
    content: '';
    width: 100%;
    height: 1000px;
    background: #1d92c3;
    position: absolute;
    left: 0;
    bottom: 2px;
    transform: translate(0, 100%);
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.about #sec02 .bg_nomal {
        padding-bottom: 400px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #sec02 .bg_nomal {
        padding-bottom: 200px;
    }
}

body.about #sec02 .staffT {
    position: absolute;
    right: 5%;
    top: -73px;
    width: 486px;
    height: auto;
    z-index: -1;
}

body.about #sec02 .staffL {
    position: absolute;
    left: 5%;
    bottom: -180px;
    width: 368px;
    height: auto;
}

body.about #sec02 .staffR {
    position: absolute;
    right: 5%;
    bottom: -180px;
    width: 363px;
    height: auto;
}

/*  -999 */
@media screen and (max-width: 999px) {

    body.about #sec02 .staffT {
        width: 100%;
        top: -90px;
        right: 0;
        max-width: 486px;
    }

    body.about #sec02 .staffL {
        left: 0;
        bottom: -400px;
    }

    body.about #sec02 .staffR {
        right: 0;
        bottom: -260px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #sec02 .staffT {
        top: -150px;
        right: 0;
    }

    body.about #sec02 .staffL {
        left: 0%;
        bottom: -160px;
        width: 184px;
    }

    body.about #sec02 .staffR {
        position: absolute;
        right: 0%;
        bottom: -100px;
        width: 182px;
        height: auto;
    }
}

/*  -320 */
@media screen and (max-width: 320px) {
    body.about #sec02 .staffT {
        top: -140px;
    }

    body.about #sec02 .staffL {
        bottom: -180px;
    }

    body.about #sec02 .staffR {
        bottom: -120px;
    }
}

body.about #sec03 {
    z-index: 1;
}

body.about #sec03 .bg-yellow {
    position: absolute;
    background: #ffe713;
    width: 80%;
    height: 300px;
    top: -100px;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

body.about #sec03 .bg-orange {
    width: 100%;
    height: 200px;
    background-color: #eb5417;
    -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    margin-top: -100px;
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.about #sec03 .bg-yellow {
        display: none;
    }

    body.about #sec03 .bg-orange {
        margin-top: -200px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {

    body.about #sec03 .bg-orange {
        height: 100px;
        margin-top: -140px;
    }
}

body.about #sec03 .bg_nomal {
    background-color: #eb5417;
    padding: 30px 0 300px 0;
}

body.about #sec03 .bg_nomal::after {
    content: '';
    width: 100%;
    height: 500px;
    background: #eb5417;
    position: absolute;
    left: 0;
    bottom: 2px;
    transform: translate(0, 100%);
}

/*  -767 */
@media screen and (max-width: 767px) {

    body.about #sec03 .bg_nomal {
        padding-bottom: 200px;
    }
}

body.about #sec03 .staffL {
    position: absolute;
    left: 5%;
    bottom: -10px;
    width: 244px;
    height: auto;
}

body.about #sec03 .staffR {
    position: absolute;
    right: 5%;
    bottom: -100px;
    width: 204px;
    height: auto;
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.about #sec03 .staffL {
        left: 0;
        bottom: -200px;
    }

    body.about #sec03 .staffR {
        right: 0;
        bottom: -200px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #sec03 .staffL {
        left: 0%;
        bottom: -50px;
        width: 122px;
    }

    body.about #sec03 .staffR {
        position: absolute;
        right: 0%;
        bottom: -50px;
        width: 102px;
        height: auto;
    }
}

body.about #sec04 {
    z-index: 1;
}

body.about #sec04 .bg-green {
    width: 100%;
    height: 200px;
    background-color: #23ac39;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
    margin-top: -200px;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #sec04 .bg-green {
        height: 100px;
        margin-top: -140px;
    }
}

body.about #sec04 .bg_nomal {
    background-color: #23ac39;
    padding: 30px 0 200px 0;

}

body.about #sec04 .bg_nomal::after {
    content: '';
    width: 100%;
    height: 500px;
    background: #23ac39;
    position: absolute;
    left: 0;
    bottom: 2px;
    transform: translate(0, 100%);
}

body.about #sec04 .staffL {
    position: absolute;
    left: 5%;
    bottom: -300px;
    width: 369px;
    height: auto;
}

body.about #sec04 .staffR {
    position: absolute;
    right: 5%;
    bottom: -140px;
    width: 213px;
    height: auto;
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.about #sec04 .staffL {
        left: 0;
        bottom: -400px;
    }

    body.about #sec04 .staffR {
        right: 0;
        bottom: -200px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #sec04 .staffL {
        left: 0%;
        bottom: -160px;
        width: 185px;
    }

    body.about #sec04 .staffR {
        position: absolute;
        right: 0%;
        bottom: -80px;
        width: 107px;
        height: auto;
    }
}

body.about #sec05 .bg-orange {
    width: 100%;
    height: 200px;
    background-color: #fca000;
    -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    margin-top: -200px;
}

body.about #sec05 .bg-green {
    position: absolute;
    background-color: #547810;
    height: 200px;
    width: 100%;
    -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
    clip-path: polygon(0 0, 100% 100%, 100% 0);
    bottom: 0;
    right: 0;
}

body.about #sec05 .bg_nomal {
    background-color: #fca000;
    padding: 30px 0 200px 0;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 80%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 80%, 0% 100%);
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.about #sec05 .bg_nomal {
        padding-bottom: 300px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #sec05 .bg-orange {
        height: 100px;
        margin-top: -140px;
    }

    body.about #sec05 .bg_nomal {
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
        clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
    }
}

body.about #sec05 {
    z-index: 1;
}

body.about #sec05::after {
    content: '';
    width: 100%;
    height: 500px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
}

body.about #sec05 h2 {
    transform: rotate(0);
    font-size: 36px;
    font-size: 3.6rem;
}

body.about #sec05 .inner {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

body.about #sec05 .bg1 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background: #000;
    -webkit-clip-path: polygon(0 0, 100% 15%, 95% 100%, 5% 100%);
    clip-path: polygon(0 0, 100% 15%, 95% 100%, 5% 100%);
    padding-bottom: 30px;
}

body.about #sec05 .bg2 {
    width: 98%;
    margin-left: auto;
    margin-right: auto;
    background: #fff;
    -webkit-clip-path: polygon(0 0, 100% 15%, 95% 100%, 5% 100%);
    clip-path: polygon(0 0, 100% 15%, 95% 100%, 5% 100%);
    padding: 80px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #sec05 .bg1 {
        -webkit-clip-path: polygon(0 0, 100% 5%, 95% 100%, 5% 100%);
        clip-path: polygon(0 0, 100% 5%, 95% 100%, 5% 100%);
        padding-bottom: 15px;
    }

    body.about #sec05 .bg2 {
        -webkit-clip-path: polygon(0 0, 100% 5%, 95% 100%, 5% 100%);
        clip-path: polygon(0 0, 100% 5%, 95% 100%, 5% 100%);
        padding: 20px;
    }
}

body.about #sec05 table {
    text-align: left;
    font-weight: bold;
}

body.about #sec05 .staff {
    position: absolute;
    right: 5%;
    bottom: -30px;
    width: 260px;
    height: auto;
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.about #sec05 .staff {
        right: 0;
        bottom: -160px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.about #sec05 .staff {
        right: 0%;
        bottom: -60px;
        width: 185px;
    }
}


/************************************************ SHOP */

body.shop .bg-blue {
    margin-top: 300px;
    width: 100%;
    height: 200px;
    background-color: #0077c3;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

/*  -1200 */
@media screen and (max-width: 1200px) {
    body.shop .bg-blue {
        margin-top: calc(300 / 1200 * 100vw);
        height: calc(200 / 1200 * 100vw);
    }
}

@media screen and (max-width: 767px) {
    body.shop .bg-blue {
        margin-top: 120px;
    }
}

body.shop #page_nav {
    width: 100%;
    position: relative;
    background: #0077c3;
    padding-bottom: 100px;
}


body.shop .logo_area {
    position: relative;
    width: 100%;
    height: 220px;
    z-index: 1;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.shop .logo_area {
        height: calc(220 / 1000 * 100vw);
    }
}

body.shop .logo_area_in {
    width: 98%;
    height: 100%;
    margin: 0 auto;
    background: #fff;
    -webkit-clip-path: polygon(0 0, 100% 14%, 98% 90%, 2% 99%);
    clip-path: polygon(0 0, 100% 14%, 98% 90%, 2% 99%);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body.shop .logo_area_shadow {
    position: absolute;
    top: 20px;
    width: 100%;
    height: 100%;
    background: #000;
    -webkit-clip-path: polygon(0 0, 100% 14%, 98% 90%, 2% 99%);
    clip-path: polygon(0 0, 100% 14%, 98% 90%, 2% 99%);
    padding-bottom: 10px;
}

body.shop .logo_area ul {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%);
    width: 100%;
}

body.shop .logo_area li {
    display: inline-block;
    vertical-align: middle;
    width: 15%;
    padding: 35px 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body.shop .logo_area li img {
    width: 100%;
    height: auto;
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.shop .logo_area li {
        padding: 20px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.shop .logo_area li {
        padding: 12px;
    }
}

body.shop .logo_area li a {
    display: block;
}

body.shop #sec01 .bg_yellow {
    width: 100%;
    height: 300px;
    background-color: #ffe713;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
    margin-top: -300px;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.shop #sec01 .bg_yellow {
        height: 100px;
        margin-top: -140px;
    }
}

body.shop #sec01 .bg_nomal {
    background: #ffe713;
    padding-bottom: 300px;
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.shop #sec01 .bg_nomal {
        padding-bottom: 300px;
    }
}

body.shop #sec02 .bg_green {
    width: 100%;
    height: 300px;
    background-color: #23ac39;
    -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    margin-top: -300px;
}


/*  -767 */
@media screen and (max-width: 767px) {
    body.shop #sec02 .bg_green {
        height: 100px;
        margin-top: -140px;
    }
}

body.shop #sec02 .bg_nomal {
    background: #23ac39;
    padding-bottom: 200px;
}

body.shop #sec02 .inner {
    position: relative;
    top: -200px;
}

body.shop #sec03 .bg_orange {
    width: 100%;
    height: 300px;
    background-color: #eb5417;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
    margin-top: -300px;
}

body.shop #sec03 .bg_orange_2 {
    width: 100%;
    height: 300px;
    background-color: #eb5417;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 70%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 70%, 0% 100%);
    bottom: 0;
    left: 0;
}

body.shop #sec03 .bg-green {
    position: absolute;
    background-color: #547810;
    height: 200px;
    width: 100%;
    -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
    clip-path: polygon(0 0, 100% 100%, 100% 0);
    bottom: -100px;
    right: 0;
    z-index: -1;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.shop #sec03 .bg-green {
        bottom: -50px;
    }
}

/*  -320 */
@media screen and (max-width: 320px) {
    body.shop #sec03 .bg_nomal {
        height: 500vw;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.shop #sec03 .bg_orange {
        height: 100px;
        margin-top: -140px;
    }
}

body.shop #sec03 .bg_nomal {
    background: #eb5417;
    height: 1830px;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.shop #sec03 .bg_nomal {
        height: 680vw;
    }
}

/*  -320 */
@media screen and (max-width: 320px) {
    body.shop #sec03 .bg_nomal {
        height: 500vw;
    }
}

body.shop #sec03 .inner {
    position: relative;
    top: -300px;
}

body.shop .shop_box {
    margin-bottom: 100px;
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.shop .shop_box {
        margin-bottom: 60px;
    }
}

body.shop section .shop_box:last-child {
    margin-bottom: 0;
}

body.shop .shop_box .image {
    float: left;
    width: 50%;
    position: relative;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.shop .shop_box .image {
        float: none;
        width: 100%;
        height: 0;
        padding-top: 76.63%;
    }
}

body.shop .shop_box .image img {
    width: 100%;
    height: auto;
}

body.shop .shop_box .image .ph {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

body.shop .shop_box .image .shop_logo {
    position: absolute;
    right: -20px;
    top: -20px;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.shop .shop_box .image .shop_logo {
        width: 90px;
        height: 90px;
        right: 10px;
        top: -10px;
    }

    body.shop .shop_box .image .shop_logo img {
        width: 100%;
        height: auto;
    }
}

body.shop .shop_box .info_wrap {
    float: right;
    width: 50%;
    padding-left: 30px;
    padding-top: 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.shop .shop_box .info_wrap {
        width: 100%;
        float: none;
        padding: 0;
    }
}

body.shop .shop_box .info_wrap h2 {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: bold;
}

body.shop .shop_box .info_wrap table {
    font-size: 90%;
}

body.shop .shop_box .info_wrap table tr {
    padding: 5px 0;
    border-bottom: 2px solid #000;
}

body.shop .shop_box .info_wrap table tr th {
    text-align: left;
    width: 100px;
}

body.shop .shop_box .info_wrap table tr td {
    padding: 10px;
}

body.shop .shop_box .ggmap {
    margin-top: 100px;
    position: relative;
    padding-bottom: 30%;
    height: 0;
    overflow: hidden;
}


/*  -767 */
@media screen and (max-width: 767px) {
    body.shop .shop_box .ggmap{
        margin-top: 30px;
        padding-bottom: 50%;
    }
}

body.shop .shop_box .ggmap iframe,
body.shop .shop_box .ggmap object,
body.shop .shop_box .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

body.shop div.shop_sns {
    margin: 10px 0 0;
}

body.shop div.shop_sns img {
    width: 40px;
    height: auto;
    margin-right: 10px;
}

body.shop div.shop_sns img:hover {
    opacity: 0.6;
}

@media screen and (max-width: 767px) {
    body.shop div.shop_sns {
        text-align: center;
    }

    body.shop div.shop_sns img {
        width: 60px;
        height: auto;
        margin-right: 10px;
        margin-left: 10px;
    }
}

/************************************************ RECRUIT */

body.recruit .bg-blue {
    margin-top: 300px;
    width: 100%;
    height: 200px;
    background-color: #0077c3;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

/*  -1200 */
@media screen and (max-width: 1200px) {
    body.recruit .bg-blue {
        margin-top: calc(300 / 1200 * 100vw);
        height: calc(200 / 1200 * 100vw);
    }
}

@media screen and (max-width: 767px) {
    body.recruit .bg-blue {
        margin-top: 120px;
    }
}

body.recruit #page_nav {
    width: 100%;
    position: relative;
    background: #0077c3;
    padding-bottom: 500px;
}

body.recruit #page_nav .text {
    padding-bottom: 100px;
}

/*  -320 */
@media screen and (max-width: 320px) {
    body.recruit #page_nav .text {
        padding-bottom: 40px;
    }
}

body.recruit #sec01 .bg_yellow {
    width: 100%;
    height: 500px;
    background-color: #ffe713;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
    margin-top: -500px;
}

@media screen and (max-width: 767px) {
    body.recruit #sec01 .bg_yellow {
        margin-top: -500px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.recruit #sec01 .bg_yellow {
        height: 100px;
        margin-top: -140px;
    }

    body.recruit #page_nav {
        padding-bottom: 140px;
    }
}

body.recruit #sec01 .bg_nomal {
    background: #ffe713;
    height: 600px;
}

/*  -999 */
@media screen and (max-width: 999px) {
    body.recruit #sec01 .bg_nomal {
        padding-bottom: 300px;
    }
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.recruit #sec01 .bg_nomal {
        height: 220vw;
    }
}

/*  -320 */
@media screen and (max-width: 320px) {
    body.recruit #sec01 .bg_nomal {
        height: 340vw;
    }
}

body.recruit h3 {
    font-size: 36px;
    font-size: 3.6rem;
    font-weight: bold;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.recruit h3 {
        font-size: 30px;
        font-size: 3.0rem;
        font-weight: bold;
    }
}

body.recruit #sec01 .inner {
    top: -500px;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.recruit #sec01 .inner {
        top: -140px;
    }
}

body.recruit .rec_info {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

body.recruit .rec_info .bg1 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background: #000;
    -webkit-clip-path: polygon(0 0, 100% 15%, 95% 100%, 5% 100%);
    clip-path: polygon(0 0, 100% 15%, 95% 100%, 5% 100%);
    padding-bottom: 30px;
}

body.recruit .rec_info .bg2 {
    width: 98%;
    margin-left: auto;
    margin-right: auto;
    background: #fff;
    -webkit-clip-path: polygon(0 0, 100% 15%, 95% 100%, 5% 100%);
    clip-path: polygon(0 0, 100% 15%, 95% 100%, 5% 100%);
    padding: 80px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.recruit .rec_info .bg1 {
        -webkit-clip-path: polygon(0 0, 100% 5%, 95% 100%, 5% 100%);
        clip-path: polygon(0 0, 100% 5%, 95% 100%, 5% 100%);
        padding-bottom: 15px;
    }

    body.recruit .rec_info .bg2 {
        -webkit-clip-path: polygon(0 0, 100% 5%, 95% 100%, 5% 100%);
        clip-path: polygon(0 0, 100% 5%, 95% 100%, 5% 100%);
        padding: 20px;
    }
}

body.recruit .rec_info table th {
    text-align: left;
    width: 120px;
}

body.recruit .rec_info table td {
    font-weight: bold;
}

body.recruit #employee {
    margin-bottom: 100px;
}

/*  -767 */
@media screen and (max-width: 767px) {
    body.recruit #employee {
        margin-bottom: 60px;
    }
}

body.recruit .bg_yellow_2 {
    width: 100%;
    height: 200px;
    background-color: #ffe713;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 50%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% 50%, 0% 100%);
    bottom: 0;
    left: 0;
}

body.recruit .bg-green {
    position: absolute;
    background-color: #547810;
    height: 200px;
    width: 100%;
    -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
    clip-path: polygon(0 0, 100% 100%, 100% 0);
    bottom: -60px;
    right: 0;
    z-index: -1;
}

body.recruit table {
    width: 90%;
    margin-left: 5%;
}

/************************************************ CONTACT */

body.contact .bg-white {
    margin-top: 300px;
    width: 100%;
    height: 200px;
    background-color: #fff;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

/*  -1200 */
@media screen and (max-width: 1200px) {
    body.contact .bg-white {
        margin-top: calc(300 / 1200 * 100vw);
        height: calc(200 / 1200 * 100vw);
    }
}

@media screen and (max-width: 767px) {
    body.contact .bg-white {
        margin-top: 120px;
    }
}

body.contact #sec01 {
    background: #FFF;
}
body.contact th{
    width:200px;
}
body.contact th span{
    font-size:12px;
    color:#c00;
    margin-left: 10px;
}

body.contact input,
body.contact button,
body.contact textarea,
body.contact select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

body.contact input,
body.contact textarea {
    -webkit-border-radius: 3px;
    border-radius: 3px;
    width: 100%;
    border: 1px solid #ddd;
    padding: 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body.contact input.submit {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%);
    display: block;
    text-align: center;
    font-size: 24px;
    color: #FFF;
    font-weight: bold;
    font-family: ”ゴシックMB101 B”, ”Gothic MB101 Bold”, sans-serif;
    border: none;
    padding: 30px 0;
}

body.contact input.age {
    width: 4em;
}

body.contact input[type=radio],
body.contact input[type=checkbox] {
    display: none;
}

body.contact .radio,
.checkbox {
    box-sizing: border-box;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    position: relative;
    display: inline-block;
    margin: 0 20px 8px 0;
    padding: 12px 12px 12px 42px;
    border-radius: 8px;
    background-color: #f6f7f8;
    vertical-align: middle;
    cursor: pointer;
}

body.contact .radio:hover,
.checkbox:hover {
    background-color: #ddd;
}

body.contact .radio:hover:after,
.checkbox:hover:after {
    border-color: #000;
}

body.contact .radio:after,
.checkbox:after {
    -webkit-transition: border-color 0.2s linear;
    transition: border-color 0.2s linear;
    position: absolute;
    top: 50%;
    left: 15px;
    display: block;
    margin-top: -10px;
    width: 16px;
    height: 16px;
    border: 2px solid #bbb;
    border-radius: 6px;
    content: '';
}

body.contact .radio:before {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    position: absolute;
    top: 50%;
    left: 20px;
    display: block;
    margin-top: -5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #000;
    content: '';
    opacity: 0;
}

body.contact input[type=radio]:checked + .radio:before {
    opacity: 1;
}

body.contact .checkbox:before {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    position: absolute;
    top: 50%;
    left: 21px;
    display: block;
    margin-top: -7px;
    width: 5px;
    height: 9px;
    border-right: 3px solid #000;
    border-bottom: 3px solid #000;
    content: '';
    opacity: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

body.contact input[type=checkbox]:checked + .checkbox:before {
    opacity: 1;
}

/************************************************ NEWS */
body.news h2 {
    font-size: 32px;
    text-align: center;
    font-weight: bold;
}

body.news .bg-white {
    margin-top: 300px;
    width: 100%;
    height: 200px;
    background-color: #fff;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
    clip-path: polygon(0 0, 0% 100%, 100% 100%);
}

/*  -1200 */
@media screen and (max-width: 1200px) {
    body.news .bg-white {
        margin-top: calc(300 / 1200 * 100vw);
        height: calc(200 / 1200 * 100vw);
    }
}

@media screen and (max-width: 767px) {
    body.news .bg-white {
        margin-top: 120px;
    }
}

body.news #sec01 {
    background: #FFF;
    margin-bottom: 60px;
}
