@media screen and (min-width: 768px) {

    div.top_header {
        margin: 0 auto;
        width: 100%;
        height: 500px;
        position: relative
    }

    div.top_head_area {
        margin: 0 auto;
        width: 100%;
        height: 80px;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 2;
    }

    div.top_head {
        margin: 0 auto;
        width: 94%;
        max-width: 1200px;
        height: 80px;
        position: relative;
    }

    div.top_head_logo {
        margin: 0;
        width: 300px;
        position: absolute;
        top: 15px;
        left: 0;
        z-index: 1;
    }

    div.top_head_logo img {
        width: 100%;
        height: auto;
    }

    div.top_head_submenu {
        margin: 0;
        width: 190px;
        position: absolute;
        top: 24px;
        right: 0;
        z-index: 1;
    }

    div.top_head_submenu ul {
        margin: 0 auto;
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    div.top_head_submenu ul li {
        margin: 0;
        padding: 0 0 0 36px;
        font-size: 1.4rem;
        line-height: 30px;
        font-weight: 500;
    }

    div.top_head_submenu ul li.cart {
        background: url(https://file001.shop-pro.jp/PA01518/602/images/common/head_icon_cart.png) left center no-repeat;
        background-size: 30px;
    }

    div.top_head_submenu ul li.login {
        background: url(https://file001.shop-pro.jp/PA01518/602/images/common/head_icon_login.png) left center no-repeat;
        background-size: 30px;
    }

    div.top_head_submenu ul li a {
        color: #333333;
        text-decoration: none;
    }

    div.top_head_submenu ul li a:hover {
        color: #333333;
        text-decoration: underline;
    }

    div.top_head_menu_sp {
        display: none;
    }

    div.top_main_visual {
        margin: 0 auto;
        width: 100%;
        max-width: 1080px;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1;
    }

    div.top_main_visual img {
        width: 100%;
        height: auto;
    }

    /*TOPメイン*/

    div.top_wrap {
        margin: 50px auto 50px;
        width: 100%;
        max-width: 1200px;
        display: flex;
        justify-content: space-between;
        flex-direction: row-reverse;
    }

    div.top_headline {
        margin: 0 auto 40px;
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    div.top_headline_title {
        margin: 0;
        width: 160px;
        background: #000000 url(https://file001.shop-pro.jp/PA01518/602/images/common/bg_title_topic.jpg) left center repeat;
        background-size: 160px;
        border-radius: 20px 0 0 20px;
    }

    div.top_headline_title h2 {
        margin: 0 auto;
        color: #ffffff;
        font-size: 1.8rem;
        line-height: 40px;
        font-weight: 500;
        text-align: center;
    }

    div.top_headline_content {
        margin: 0;
        width: calc(100% - 160px);
        background: #ffffff;
        border: 1px solid #dcdcdc;
        border-radius: 0 20px 20px 0;
    }

    div.top_headline_content ul {
        margin: 0 20px;
    }

    div.top_headline_content ul li {
        margin: 0 auto;
        font-size: 1.6rem;
        line-height: 40px;
    }

    div.top_headline_content ul li a {
        text-decoration: none;
    }

    div.top_headline_content ul li a:hover {
        text-decoration: underline;
    }

    div.top_news {
        margin: 40px auto 50px;
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    div.top_news_title {
        margin: 0;
        width: 120px;
        background: #f4ede2 url(https://file001.shop-pro.jp/PA01518/602/images/common/footbg.jpg) left center repeat;
        background-size: 320px;
        border-radius: 20px 0 0 20px;
        border: 1px solid #dcdcdc;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    div.top_news_title h2 {
        margin: 0 auto;
        color: #000000;
        font-size: 2.0rem;
        line-height: 2.0rem;
        font-weight: 700;
        letter-spacing: 0.4em;
        text-align: center;
        writing-mode: vertical-rl;
    }

    div.top_news_content {
        margin: 0;
        padding: 20px 20px;
        width: calc(100% - 120px);
        background: #ffffff;
        border: 1px solid #dcdcdc;
        border-radius: 0 20px 20px 0;
    }

    div.top_news_content p {
        margin: 0 auto 20px;
        font-size: 1.6rem;
        line-height: 3.0rem;
        word-break: break-all;
    }

    div.top_news_content p:last-child {
        margin: 0 20px;
    }

    div.top_news_content p strong {
        color: #BA1B21;
    }

    div.top_slide {
        margin: 0 auto;
        width: 100%;
    }

    div.top_information {
        margin: 50px auto 50px;
        width: 100%;
    }

    div.top_information h2 {
        margin: 0 auto;
        padding: 0 40px;
        background: #000000 url(https://file001.shop-pro.jp/PA01518/602/images/common/h2bg.jpg) left center repeat;
        background-size: 108px;
        color: #ffffff;
        font-size: 2.0rem;
        line-height: 50px;
        font-weight: 700;
        text-align: left;
        border-radius: 10px;
    }

    div.top_information dl {
        margin: 0 auto;
        padding: 10px 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        border-bottom: 1px dotted #dcdcdc;
    }

    div.top_information dl dt {
        margin: 0;
        width: 140px;
        font-size: 1.6rem;
        line-height: 2.7rem;
        font-weight: 700;
        text-align: center;
    }

    div.top_information dl dd {
        margin: 0;
        width: calc(100% - 160px);
        font-size: 1.6rem;
        line-height: 2.7rem;
        font-weight: 400;
        text-align: left;
    }

    div.top_information dl dt h3 {
        margin: 0 auto;
        color: #000000;
        font-size: 1.6rem;
        line-height: 50px;
        font-weight: 700;
        text-align: center;
    }

    div.top_item {
        margin: 0 auto 50px;
        width: 100%;
    }

    div.top_item h2 {
        margin: 0 auto 20px;
        padding: 0 40px;
        background: #000000 url(https://file001.shop-pro.jp/PA01518/602/images/common/h2bg.jpg) left center repeat;
        background-size: 108px;
        color: #ffffff;
        font-size: 2.0rem;
        line-height: 50px;
        font-weight: 700;
        text-align: left;
        border-radius: 10px;
    }

    div.top_item_list {
        margin: 0 auto;
        width: 100%;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    div.top_item_box {
        margin: 0 0 40px 4%;
        width: 22%;
    }

    div.top_item_box:nth-child(4n+1) {
        margin: 0 0 40px 0;
    }

    div.top_item_box img {
        width: 100%;
        height: auto;
    }

    div.top_item_box h3 {
        margin: 15px auto 5px;
        font-size: 1.6rem;
        line-height: 2.8rem;
        font-weight: 600;
    }

    div.top_item_box h3 a {
        text-decoration: none;
    }

    div.top_item_box h3 a:hover {
        text-decoration: underline;
    }

    div.top_item_box p {
        margin: 0 auto;
        font-size: 1.4rem;
        line-height: 2.8rem;
    }

    div.top_wide_banner {
        margin: 0 auto;
        width: 100%;
    }

    div.top_wide_banner ul {
        margin: 0 auto;
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    div.top_wide_banner ul li {
        margin: 0 0 20px;
        width: 48.8%;
    }

    div.top_wide_banner ul li img {
        width: 100%;
        height: auto;
    }

    div.top_sq_banner {
        margin: 0 auto;
        width: 100%;
    }

    div.top_sq_banner ul {
        margin: 0 auto;
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    div.top_sq_banner ul li {
        margin: 0;
        width: 31.1%;
    }

    div.top_sq_banner ul li img {
        width: 100%;
        height: auto;
    }

}

/* スマホここから */
@media only screen and (max-width: 767px) {

    div.top_header {
        margin: 0 auto 30px;
        width: 100%;
    }

    div.top_head_area {
        margin: 0 auto;
        width: 100%;
        height: 80px;
    }

    div.top_head {
        margin: 0 auto;
        width: 94%;
        height: 80px;
        position: relative;
    }

    div.top_head_logo {
        margin: 0;
        width: 242px;
        position: absolute;
        top: 22px;
        left: 0;
        z-index: 1;
    }

    div.top_head_logo img {
        width: 100%;
        height: auto;
    }

    div.top_head_submenu {
        display: none;
    }

    div.top_head_menu_sp {
        margin: 0;
        width: 50px;
        position: absolute;
        top: 15px;
        right: 0;
        z-index: 1;
    }

    div.top_head_menu_sp ul {
        margin: 0 auto;
        width: 100%;
    }

    div.top_head_menu_sp ul li {
        margin: 0 auto;
        width: 100%;
    }

    div.top_head_menu_sp ul li img {
        width: 100%;
        height: auto;
    }

    div.top_main_visual {
        margin: 0 auto;
        width: 100%;
    }

    div.top_main_visual img {
        width: 100%;
        height: auto;
    }

    /*TOPメイン*/

    div.top_wrap {
        margin: 0 auto 50px;
        width: 100%;
    }

    div.wrap {
        margin: 0 auto 50px;
        width: 100%;
    }

    div.main {
        margin: 0 auto;
        width: 100%;
    }

    div.top_headline {
        margin: 0 auto 40px;
        width: 94%;
    }

    div.top_headline_title {
        margin: 0 auto;
        width: 100%;
        background: #000000 url(https://file001.shop-pro.jp/PA01518/602/images/common/bg_title_topic.jpg) left center repeat;
        background-size: 160px;
        border-radius: 10px 10px 0 0;
    }

    div.top_headline_title h2 {
        margin: 0 auto;
        color: #ffffff;
        font-size: 1.6rem;
        line-height: 30px;
        font-weight: 500;
        text-align: center;
    }

    div.top_headline_content {
        margin: 0 auto;
        padding: 10px 0;
        width: 100%;
        background: #ffffff;
        border: 1px solid #dcdcdc;
        border-radius: 0 0 10px 10px;
    }

    div.top_headline_content ul {
        margin: 0 20px;
    }

    div.top_headline_content ul li {
        margin: 0 auto;
        font-size: 1.6rem;
        line-height: 2.7rem;
    }

    div.top_headline_content ul li a {
        color: #333333;
        text-decoration: none;
    }

    div.top_headline_content ul li a:hover {
        color: #333333;
        text-decoration: underline;
    }

    div.top_news {
        margin: 40px auto 50px;
        width: 94%;
    }

    div.top_news_title {
        margin: 0 auto;
        padding: 12px 0;
        width: 100%;
        background: #f4ede2 url(https://file001.shop-pro.jp/PA01518/602/images/common/footbg.jpg) left center repeat;
        background-size: 320px;
        border-radius: 20px 20px 0 0;
        border: 1px solid #dcdcdc;
    }

    div.top_news_title h2 {
        margin: 0 auto;
        color: #000000;
        font-size: 2.0rem;
        line-height: 3.0rem;
        font-weight: 700;
        letter-spacing: 0.4em;
        text-align: center;
    }

    div.top_news_content {
        margin: 0;
        padding: 20px 20px;
        width: 100%;
        background: #ffffff;
        border: 1px solid #dcdcdc;
        border-radius: 0 0 20px 20px;
    }

    div.top_news_content p {
        margin: 0 auto 20px;
        font-size: 1.6rem;
        line-height: 3.0rem;
        word-break: break-all;
    }

    div.top_news_content p:last-child {
        margin: 0 auto;
    }

    div.top_news_content p strong {
        color: #BA1B21;
    }

    div.top_slide {
        margin: 0 auto;
        width: 90%;
    }

    div.top_information {
        margin: 50px auto 50px;
        width: 94%;
    }

    div.top_information h2 {
        margin: 0 auto;
        padding: 0 40px;
        background: #000000 url(https://file001.shop-pro.jp/PA01518/602/images/common/h2bg.jpg) left center repeat;
        background-size: 108px;
        color: #ffffff;
        font-size: 1.8rem;
        line-height: 50px;
        font-weight: 700;
        text-align: left;
        border-radius: 10px;
    }

    div.top_information dl {
        margin: 0 auto;
        padding: 10px 0;
        width: 90%;
        border-bottom: 1px dotted #dcdcdc;
    }

    div.top_information dl dt {
        margin: 0 auto 5px;
        width: 100%;
        font-size: 1.6rem;
        line-height: 2.7rem;
        font-weight: 700;
        text-align: left;
    }

    div.top_information dl dd {
        margin: 0 auto;
        width: 100%;
        font-size: 1.6rem;
        line-height: 2.7rem;
        font-weight: 400;
        text-align: left;
    }

    div.top_information dl dd a {
        color: #333333;
    }

    div.top_information dl dd a:hover {
        color: #333333;
        text-decoration: underline;
    }

    div.top_information dl dt h3 {
        margin: 0 auto;
        color: #000000;
        font-size: 1.6rem;
        line-height: 50px;
        font-weight: 700;
        text-align: center;
    }

    div.top_item {
        margin: 0 auto 35px;
        width: 90%;
    }

    div.top_item h2 {
        margin: 0 auto 20px;
        padding: 0 40px;
        background: #000000 url(https://file001.shop-pro.jp/PA01518/602/images/common/h2bg.jpg) left center repeat;
        background-size: 108px;
        color: #ffffff;
        font-size: 1.8rem;
        line-height: 50px;
        font-weight: 700;
        text-align: left;
        border-radius: 10px;
    }

    div.top_item_list {
        margin: 0 auto;
        width: 100%;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    div.top_item_box {
        margin: 0 0 40px 4%;
        width: 48%;
    }

    div.top_item_box:nth-child(2n+1) {
        margin: 0 0 40px 0;
    }

    div.top_item_box img {
        width: 100%;
        height: auto;
    }

    div.top_item_box h3 {
        margin: 15px auto 5px;
        font-size: 1.6rem;
        line-height: 2.8rem;
        font-weight: 600;
    }

    div.top_item_box h3 a {
        color: #333333;
        text-decoration: none;
    }

    div.top_item_box h3 a:hover {
        color: #333333;
        text-decoration: underline;
    }

    div.top_item_box p {
        margin: 0 auto;
        font-size: 1.4rem;
        line-height: 2.8rem;
    }

    div.top_wide_banner {
        margin: 0 auto;
        width: 90%;
    }

    div.top_wide_banner ul {
        margin: 0 auto;
        width: 100%;
    }

    div.top_wide_banner ul li {
        margin: 0 auto 20px;
        width: 100%;
    }

    div.top_wide_banner ul li img {
        width: 100%;
        height: auto;
    }

    div.top_sq_banner {
        margin: 0 auto;
        width: 90%;
    }

    div.top_sq_banner ul {
        margin: 0 auto;
        width: 100%;
    }

    div.top_sq_banner ul li {
        margin: 0 auto 20px;
        width: 100%;
    }

    div.top_sq_banner ul li img {
        width: 100%;
        height: auto;
    }

}