/* BASE */
body {
    line-height: 1.4;
    padding-top: 60px;
}
a {
    color: #202f51;
    outline: none !important;
}
a:hover, a:focus {
    text-decoration: none;
    color: initial;
}
.row {
    margin-left: -30px;
    margin-right: -30px;
}

td,
th {
    padding: 0;
    border: none;
}
.bg_color {
    background: #e8f2ec;
}
.sidebar-right1 {
    float: none;
    padding-top: 0;
}

.woocommerce button.button.alt {
    border-radius: 0;
    background-color: #446889;
}

select::-ms-expand {
    display: none;
}

.dashicons-cart:before {
    color: #202f51;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover {
    opacity: 0.8;
    background: #2c8d4a !important;
    color: white!important;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance:textfield!important;
}

@media only screen and (min-width:965px) {
    .woocommerce button.button.alt:hover {
        color: white;
        opacity: 0.8;
    }
}

.form-control {
    border-radius: 0;
    border: 1px solid #202f51;
}

/* btn */
.borderbtn a {
    display: block;
    width: 70%;
    max-width: 160px;
    margin: 0 auto;
    border: 1px solid #202f51;
    padding: .5em;
    text-align: center;
    font-size: 1.6rem;
    margin-top: 30px;
}
.btn_en {
    font-family: 'EB Garamond', serif;
}

/* title */
.sectiontitle {
    font-size: 1rem;
    margin-bottom: 25px;
    text-align: center;
}
.sectiontitle span {
    font-size: 2.7rem;
    font-family: 'EB Garamond', serif;
    display: block;
    margin-bottom: 5px;
}
body:not(.home) .sectiontitle {
    margin: 0;
}

.page_header {
    position: relative;
}
.page_header:before,.page_header:after {
    content: "";
    display: block;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-size: 130%;
    z-index: -1;
}
.page_header:before {
    left: 0;
    background-position: 100% 50%;
}
.page_header:after {
    right: 0;
    background-position: 0 50%;
}
#titleheader_gallery.page_header:before {
    background-image: url('../images/headerimage_gallery_L.jpg');
}
#titleheader_gallery.page_header:after {
    background-image: url('../images/headerimage_gallery_R.jpg');
}
#titleheader_concept.page_header:before {
    background-image: url('../images/headerimage_concept_L.jpg');
}
#titleheader_concept.page_header:after {
    background-image: url('../images/headerimage_concept_R.jpg');
}
#titleheader_menu.page_header:before {
    background-image: url('../images/headerimage_menu_L.jpg');
}
#titleheader_menu.page_header:after {
    background-image: url('../images/headerimage_menu_R.jpg');
}
#titleheader_staff.page_header:before {
    background-image: url('../images/headerimage_staff_L.jpg');
}
#titleheader_staff.page_header:after {
    background-image: url('../images/headerimage_staff_R.jpg');
}
#titleheader_goods.page_header:before {
    background-image: url('../images/headerimage_goods_L.jpg');
}
#titleheader_goods.page_header:after {
    background-image: url('../images/headerimage_goods_R.jpg');
}
#titleheader_cart.page_header:before {
    background-image: url('../images/headerimage_cart_L.jpg');
}
#titleheader_cart.page_header:after {
    background-image: url('../images/headerimage_cart_R.jpg');
}
#titleheader_checkout.page_header:before {
    background-image: url('../images/headerimage_checkout_L.jpg');
}
#titleheader_checkout.page_header:after {
    background-image: url('../images/headerimage_checkout_R.jpg');
}
#titleheader_contact.page_header:before,
#titleheader_thanks.page_header:before {
    background-image: url('../images/headerimage_contact_L.jpg');
}
#titleheader_contact.page_header:after,
#titleheader_thanks.page_header:after {
    background-image: url('../images/headerimage_contact_R.jpg');
}
#titleheader_esthetic.page_header:before {
    background-image: url('../images/headerimage_esthetic_L.jpg');
}
#titleheader_esthetic.page_header:after {
    background-image: url('../images/headerimage_esthetic_R.jpg');
}
#titleheader_school.page_header:before {
    background-image: url('../images/headerimage_school_L.jpg');
}
#titleheader_school.page_header:after {
    background-image: url('../images/headerimage_school_R.jpg');
}
#titleheader_about.page_header:before {
    background-image: url('../images/headerimage_about_L.jpg');
}
#titleheader_about.page_header:after {
    background-image: url('../images/headerimage_about_R.jpg');
}
#titleheader_guide.page_header:before {
    background-image: url('../images/headerimage_guide_L.jpg');
}
#titleheader_guide.page_header:after {
    background-image: url('../images/headerimage_guide_R.jpg');
}
#titleheader_shipping.page_header:before {
    background-image: url('../images/headerimage_shipping_L.jpg');
}
#titleheader_shipping.page_header:after {
    background-image: url('../images/headerimage_shipping_R.jpg');
}

.page_header .sectiontitle {
    position: relative;
    padding: 10% 5%;
    z-index: 1;
}
.page_header .sectiontitle:before {
    content: "";
    display: block;
    width: 80%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -1;
    background: linear-gradient(90deg, rgba(255,255,255,0),rgba(255,255,255,.5) 5%,rgba(255,255,255,1),rgba(255,255,255,1),rgba(255,255,255,.5) 95%,rgba(255,255,255,0));
    background: -webkit-linear-gradient(0deg, rgba(255,255,255,0),rgba(255,255,255,.5) 5%,rgba(255,255,255,1),rgba(255,255,255,1),rgba(255,255,255,.5) 95%,rgba(255,255,255,0));
}
.page_header .sectiontitle:first-letter {
    text-transform: uppercase;
}

/* LAYOUT */
.container,
.container-fluid {
    padding-left: 33px;
    padding-right: 33px;
}

#top_message {
    padding-top: 20px;
    padding-bottom: 30px;
    position: relative;
    overflow: hidden;
}
#top_message:before {
    content: "";
    display: block;
    width: 42.66%;
    height: 0;
    padding-bottom: 52.47%;
    background: url('../images/shadow_1.png') no-repeat 0 0;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.catch_container {
    margin-top: 0;
    margin-bottom: 0;
}

.catch_container .content-text {
    margin: 0;
}


.sub_container {
    margin-bottom: 0;
}

.entry-title_container {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 20px;
}


.checkout_container, .contact_container, .qa_inner_container
    {
    padding-bottom: 40px;
}

.entry-title {
    font-size: 1.4rem;
    line-height: 30px;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 0;
}

/* .top-content {
    margin-bottom: 5px;
} */


@media only screen and (min-width:965px) {
    body {
        padding-top: 0;
    }
    .container, .widget_shopping_cart_content {
        max-width: 1000px;
        width: 100%;
        padding-left: 61px;
        padding-right: 61px;
    }
    #top_message {
        padding-top: 60px;
        padding-bottom: 65px;
    }
    #top_message:before {
        width: 320px;
        height: 395px;
        padding-bottom: 0;
    }
    .catch_container {
        margin-top: 0;
        margin-bottom: 0;
    }

    .row {
        margin-left: -61px;
        margin-right: -61px;
    }

    .entry-title_container {
        background: none;
        margin-bottom: 20px;
    }

    .entry-title_container>.container {
        margin-bottom: 0;
    }

    .entry-header {
        margin-left: auto;
        margin-right: auto;
    }

    .entry-title {
        font-size: 1.6rem;
        line-height: 1;
    }

    .breadcrumb>li+li:before {
        padding-left: 16px;
        padding-right: 16px;
    }


    /* .top-content {
        margin-bottom: 35px;
    } */

    /* btn */
    .borderbtn a {
        padding: .25em .5em;
    }

    /* title */
    .sectiontitle {
        margin-bottom: 40px;
    }
    .sectiontitle span {
        font-size: 3.8rem;
    }
    .page_header .sectiontitle {
        padding: 6% 5%;
    }
    .page_header:before, .page_header:after {
        width: 40%;
        background-size: cover;
    }
    .page_header .sectiontitle:before {
        width: 70%;
    }
}

/* HEADER */

/* 
.site-title {
    width: 153px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    margin-bottom: 17px;
    font-size: 0 !important;
}

.site-title a {
    display: block;
    line-height: 0;
}

.site-title img {
    vertical-align: top;
}

.logo_wrap {
    padding-top: 18px;
}

.site-description {
    line-height: 1.3;
}

.site-description {
    font-size: 1.1rem;
    font-weight: bold;
    margin: 0;
} */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #fff;
}
.header_inner {
    height: 60px;
    justify-content: space-between;
    align-items: center;
}
.logo_wrap .site-title {
    justify-content: space-between;
    align-items: center;
    margin: 0 0 0 10px;
}
.logo_wrap .site-title img {
    width: 110px;
}
.logo_wrap .site-title span {
    margin-left: 15px;
}
.e_nav_button_container {
    width: 60px;
    height: 60px;
    background: #202f51;
    justify-content: center;
    align-items: center;
    margin-left: auto;
}
.header_description {
    font-size: 1rem;
}
#header_navi {
    position: fixed;
    top: 60px;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: #fff;
    overflow-y: auto;
    transition: .5s all;
}
#header_navi:not(.visible) {
    visibility: hidden;
    opacity: 0;
    z-index: -999;
}
#header_navi.visible {
    visibility: visible;
    opacity: 1;
    z-index: 999;
}
#header_navi .nav {
    flex-direction: column;
}
#header_navi li {
    text-align: center;
}
#header_navi li:nth-child(odd):not(.navimenu_icon) {
    background: #e8f2ec;
}
#header_navi a {
    font-family: 'EB Garamond', serif;
    font-size: 1.4rem;
}
#header_navi a:hover,
#header_navi a:focus {
    background: none;
}
#header_navi li:not(.navimenu_icon) + .navimenu_icon {
    margin-top: 20px;
}
#header_navi .navimenu_icon + .navimenu_icon {
    margin-top: 10px;
}
#header_navi .navimenu_icon a {
    font-size: 2.4rem;
    padding: 0;
}


@media only screen and (min-width:965px) {
    .header {
        position: static;
    }
    .header_inner {
        width: 96%;
        max-width: 1000px;
        margin: 0 auto;
    }
    .logo_wrap {
        width: 305px;
    }
    .logo_wrap .site-title {
        margin: 0;
    }
    .logo_wrap .site-title img {
        width: 146px;
    }
    .logo_wrap .site-title span {
        margin: 0;
    }
    #header_navi {
        visibility: visible !important;
        position: static !important;
        width: auto !important;
        opacity: 1 !important;
        z-index: 999 !important;
        overflow: hidden !important;
    }
    #header_navi .nav {
        flex-direction: row;
        align-items: center;
    }
    #header_navi li:not(.navimenu_icon) a:after {
        content: "";
        display: block;
        width: auto;
        height: 1px;
        background: #202f51;
        opacity: 0;
        transition: .5s opacity;
    }
    #header_navi li:not(.navimenu_icon) a:hover:after,
    #header_navi li:not(.navimenu_icon) a:focus:after {
        opacity: 1;
    }
    .e_nav_button_container {
        display: none;
    }
    #header_navi li:nth-child(odd):not(.navimenu_icon) {
        background: none;
    }
    #header_navi li:not(.navimenu_icon) + .navimenu_icon {
        margin-top: 0;
    }
    #header_navi .navimenu_icon + .navimenu_icon {
        margin-top: 0;
    }
    #header_navi .navimenu_icon a, #header_navi li a {
        padding: 10px;
    }
    #header_navi .navimenu_icon:first-child {
        margin-left: 10px;
    }
   /*  .site-title {
        margin-bottom: 15px;
        width: 180px;
    }
 */

}


/* SLICK */

.slick-slide {
    height: auto;
}
.slide_wrapper {
    position: relative;
}
.mv_catch {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translateY(-50%);
    width: 56%;
    max-width: 210px;
}
/* 
.slide-arrow {
    position: absolute;
    top: 50%;
    z-index: 9;
    width: 26px;
    background: none;
    border: none;
}

.prev-arrow {
    left: 0;
}

.next-arrow {
    right: 0;
}

.cover_wrap {
    position: relative;
}


.cover_wrap img:first-child {
    position: absolute;
}

.cover1 {
    bottom: 10%;
    left: 20px;
    width: 300px;
}

.cover2 {
    bottom: 10%;
    left: 10px;
    width: 140px;
}

.cover3 {
    bottom: 2%;
    right: 24px;
    width: 307px;
}

.slick-dots li {
    margin: 0;
}

.slick-dots li.slick-active button:before {
    color: #406584;
    opacity: 1;
}

.slick-dots li button:before {
    color: #406584;
}

.hero_container {
    padding: 0;
}

.slick-dotted.slick-slider {
    margin-bottom: 0;
}

.slick-dots li button:before {
    font-size: 1.2rem;
}
 */

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

    .mv_catch {
        width: 374px;
        max-width: initial;
    }
   /*  .cover1 {
        top: 30%;
        left: 30px;
        width: 450px;
    }

    .cover2 {
        bottom: 12%;
        left: 30px;
        width: 280px;
    }

    .cover3 {
        bottom: 7%;
        right: 30px;
        width: 546px;
    }


    .slick-dots li {
        margin: 0 5px;
    }

    .prev-arrow {
        left: -36px;
    }

    .next-arrow {
        right: -36px;
    }

    .slick-dots li button:before {
        font-size: 1.8rem;
        margin-top: 25px;
    }

    .hero_container {
        margin-bottom: 0;
    }

    .slick-dots {
        bottom: -20px;
    } */
}

@media screen and (max-width:330px) {
    /* .cover3 {
        width: 290px;
    } */
}

/* FOOTER */

/* 
.top_footer_content {
    width: 100%;
}

.main-footer-bottom {
    position: relative;
    margin-top: 60px;
    padding-top: 60px;
}

.b_footer_nav {
    border-bottom: solid 1px #202f51;
}

.b_footer_nav nav>div {
    display: none;
}

.b_banner {
    margin-bottom: 30px;
}
.bannerb {
    margin-bottom: 10px;
}

.main-footer-bottom .site-title {
    margin-bottom: 13px;
}

.e_pagetop {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: auto;
}

.main-footer-bottom .small {
    text-align: center;
    margin-top: 13px;
    font-size: 1rem;
} */

/* footer */
.footer_menu {
    padding: 35px 0;
    position: relative;
    overflow: hidden;
}
.footer_menu:before {
    content: "";
    display: block;
    width: 53.33%;
    height: 0;
    padding-bottom: 64.8%;
    background: url('../images/shadow_2.png') no-repeat 0 0;
    background-size: contain;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
}
.footer_navimenu {
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0;
    width: 90%;
    margin: 0 auto;
}
.footer_navimenu li {
    width: 48%;
    margin-bottom: 15px;
    height: 0;
    padding-bottom: 21%;
    position: relative;
}
.footer_navimenu li a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-position: 100% 0;
    background-repeat: no-repeat;
    background-size: contain;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    border-radius: 0 25px 25px 0;
    padding-left: 20px;
    overflow: hidden;
}
.footer_navimenu li a > span {
    display: inline-block;
    text-align: center;
}
#fnm_menu a {
    background-image: url('../images/footermenu_menu.png');
}
#fnm_staff a {
    background-image: url('../images/footermenu_staff.png');
}
#fnm_goods a {
    background-image: url('../images/footermenu_goods.png');
}
#fnm_reservation a {
    background-image: url('../images/footermenu_reservation.png');
}
.fnm_en {
    display: block;
    font-family: 'Caveat', cursive;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
}
.fnm_jp {
    font-family: 'Noto Serif JP', serif;
    font-size: 1rem;
}
.footer_map {
    width: 100%;
    height: 300px;
    position: relative;
}
.footer_map iframe {
    width: 100%;
    height: 300px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: none;
}
.footer_info_wrapper {
    padding: 25px 10px 15px;
    text-align: center;
    font-weight: 500;
}
.footer_logo {
    width: 110px;
    margin: 0 auto 15px;
}
.footer_info_text {
    line-height: 2;
}
.footer_info_tel, .info_text_small {
    display: block;
}
.footer_info_tel {
    font-size: 1.6rem;
}
.info_text_small {
    font-size: 1rem;
}
.copyright {
    background: #2c8d4a;
    text-align: center;
    margin: 0;
    padding: .25em;
    color: #fff;
}
.copyright * {
    color: #fff;
    font-size: 1rem;
}
.copyright a:hover {
    color: #fff;
}

@media screen and (min-width:965px) {
    .footer_menu {
        padding: 70px 0;
    }
    .footer_menu:before {
        width: 400px;
        height: 486px;
        padding: 0;
    }
    .footer_navimenu {
        max-width: 720px;
    }
    .footer_navimenu li {
        padding-bottom: 16%;
    }
    .footer_navimenu li a {
        border-radius: 0 40px 40px 0;
        align-items: center;
        padding: 0;
    }
    .fnm_en {
        font-size: 3.9rem;
    }
    .fnm_jp {
        font-size: 1.2rem;
    }
    .footer_map, .footer_map iframe {
        height: 400px;
    }
    .footer_info_wrapper {
        padding: 50px 10px 30px;
    }
    .footer_logo {
        width: 146px;
        margin-bottom: 30px;
    }
    a[href^="tel"] {
        pointer-events: none;
    }
}

/* CALENDAR */
.top_footer_content {
    margin-bottom: 40px;
}

.xo-months {
    width: 100%;
    justify-content: space-between;
}

.xo-month-wrap {
    width: 45%;
    padding: 0;
}

.xo-event-calendar table.xo-month>caption {
    padding-top: 0;
}

.xo-event-calendar table.xo-month td {
    padding: 0 !important;
}

.xo-event-calendar table.xo-month .month-header>span {
    font-size: 1.2rem;
}

.xo-event-calendar table.xo-month .month-dayname td {
    font-size: 0.85rem;
}

.xo-event-calendar table.xo-month .month-dayname td div,
.xo-event-calendar table.xo-month .month-week {
    height: auto;
}

.xo-event-calendar table.xo-month>thead th {
    font-size: 0.9rem;
}

.today {
    background-color: #09ffff;
}

.xo-event-calendar table.xo-month .month-dayname-space {
    height: 1.8em;
}

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

    .top_footer_content {
        margin-bottom: 0;
    }

    .xo-event-calendar {
        width: 411px;
    }

}



/* BLOCK MODULES */

.site-branding {
    padding-top: 25px;
    padding-bottom: 20px;
}

.b_top_subheading {
    border-bottom: solid 1px #202f51;
    line-height: 1.5;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    padding-bottom: 15px;
    margin-bottom: 30px;
}

/* NEWS @ EVENT */

.news_container {
    margin-bottom: 40px;
    padding: 0 30px;
}
.news_container .row {
    margin-left: 0;
    margin-right: 0;
}

.top_news_event_wrap {
    padding-top: 30px;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 30px;
    background: none;
}

/* rss */
.rss_inner {
    flex-direction: column;
    text-align: center;
    border-bottom: 1px solid #ceded5;
    margin-bottom: 1.3em;
    padding-bottom: 1.3em;
}
.rss_inner dt, .rss_inner dd {
    font-weight: 500;
}
.rss_inner dd a:hover {
    color: #202f51;
}
.top_news_event_content_wrap {
    padding-bottom: 16px;
    margin-bottom: 20px;
    border-bottom: solid 1px #999;
}

.top_news_event_content_wrap:last-child {
    border: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.top_news_event_content {
    padding-left: 30px;
    padding-right: 45px;
}

.top_news_event_content_wrap {
    padding-left: 0;
    padding-right: 0;
    position: relative;
}

.top_news_event_content:not(.goods_event_content) {
    background: url(../images/openbtn.png) no-repeat;
    background-size: 15px auto;
    background-position: top 18px right 30px;
    transition-duration: .3s;
    font-size: 1.2rem;
    cursor: pointer;
}


.top_news_event_content .date,
.top_news_event_content .title,
.top_news_event_content .content {
    font-size: 1.2rem;
}

.top_news_event_content_wrap .is_open {
    background: url(../images/closebtn.png) no-repeat;
    background-size: 15px auto;
    background-position: top 18px right 30px;
}

.is_open .title {
    text-decoration: underline;
}

.top_news_event_content_wrap .content {
    background-color: white;
    margin-left: 30px;
    margin-right: 30px;
    margin-bottom: 3px;
}

.top_news_event_content_wrap .content a{
    color: #337ab7;
    text-decoration: underline;
}


.catch_container .small {
    font-size: 1.1rem;
    line-height: 1.8;
    margin-bottom: 0;
}

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


    .news_container {
        margin-bottom: 44px;
    }

    .b_top_subheading {
        font-size: 2.2rem;
        font-weight: bold;
        padding-bottom: 19px;
        margin-bottom: 30px;
    }

    .top_news_event_content_wrap {
        padding-bottom: 0;
        margin-bottom: 0;
        border: none;
    }

    .top_news_event_content {
        padding: 0;
    }

    .top_news_event_wrap {
        max-width: 500px;
        margin: auto;
    }

    .top_news_event_content_wrap .content {
        margin-left: 0;
        margin-right: 0;
    }

    .catch_container .small {
        font-size: 1.3rem;
        line-height: 1.8;
    }

    .top_news_event_content {
        margin-bottom: 16px;
        padding-bottom: 0;
    }

    /* rss */
    .rss_inner {
        flex-direction: row;
        align-items: center;
    }
    .rss_inner dt {
        width: 130px;
        text-align: center;
    }
    .rss_inner dd {
        width: calc(100% - 130px);
        padding-right: 1em;
        text-align: left;
    }
}

/* MENu */
.menulist {
    width: 80%;
    margin: 0 auto;
    padding: 0;
}
.menu_wrapper + .menu_wrapper {
    margin-top: 10px;
}
.menu_image {
    margin: 0;
}
.menu_text {
    padding: 15px 10px 20px;
    text-align: center;
    margin-bottom: 0;
}
.menu_text_wrapper {
    flex-direction: column;
}
.menu_text dt {
    margin-bottom: 15px;
}
.menu_title_en {
    display: block;
    font-size: 3.5rem;
    font-family: 'Caveat', cursive;
    font-weight: 500;
    margin-bottom: 5px;
}
.menu_title_jp {
    display: block;
    width: 80%;
    margin: 0 auto;
    font-family: 'Noto Serif JP', serif;
    background: #f5fcf8;
    height: 20px;
    line-height: 20px;
    font-size: 1.2rem;
}
.menu_text dd {
    line-height: 1.8;
}

@media screen and (min-width:965px) {
    .menulist {
        width: 100%;
    }
    .menu_wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .menu_wrapper + .menu_wrapper {
        margin-top: 0;
    }
    .menulist li:nth-child(even) {
        flex-direction: row-reverse;
    }
    .menu_image, .menu_text_wrapper {
        width: 50%;
    }
    .menu_image img {
        height: 100%;
        object-fit: cover;
    }
    .menu_text_wrapper {
        justify-content: center;
        align-items: center;
    }
    .menu_text {
        margin: 0;
        max-width: 400px;
    }
    .menu_title_en {
        font-size: 4rem;
    }
    .menu_text dd {
        text-align: left;
    }
}

/* top_gallery */
#top_gallery {
    padding-bottom: 20px;
}
#top_gallery .sectiontitle {
    background: #fff;
    margin: 0;
    padding: 35px 0 20px;
}
.gallery_slider {
    padding-top: 20px;
}
@media screen and (min-width:965px) {
   #top_gallery {
        padding-bottom: 50px;
    }
    #top_gallery .sectiontitle {
        padding-top: 50px;
    }
    .gallery_slide a img {
        transition: .5s opacity;
    }
    .gallery_slide a:hover img {
        opacity: .7;
    }
}
/* ELEMEN MODULES */



/* NAVBAR */
/* 
.header {
    display: flex;
    justify-content: space-between;
    z-index: 9;
    height: 60px;
    top: 0;
    left: 0;
}

.nav_bar {
    position: fixed;
    z-index: 9;
    width: 100%;
    top: 0;
    left: 0;
    padding-top: 12px;
    padding-bottom: 11px;
    padding-left: 16px;
    padding-right: 14px;
    height: 59px;
    display: flex;
    justify-content: space-between;
    border-bottom: solid 1px #999;
    background-color: #fff;
}

.nav_bar .hidden-xs .small {
    font-size: 1.2rem;
}

.b_head_icon,
.b_head_inquiry {
    display: flex;
}

.dashicons {
    padding: 0;
}

.b_head_icon {
    margin-left: 40px;
}

.b_head_icon a+a {
    padding-left: 20px;
}

.b_head_icon img {
    height: 23px;
    margin-top: 3px;
}


.b_head_icon a:last-child img {
    height: 25px;
}

.b_head_inquiry {
    flex-flow: column;
}


.b_head_inquiry a:hover {
    opacity: .8;
}

.b_head_inquiry a {
    height: 16px;
    margin-bottom: 4px;
}


.b_head_inquiry a img {
    height: 100%;
    vertical-align: top;
}

.nav a {
    color: #202f51;
    text-decoration: none;
    font-size: 1.4rem;
    color: #448aff;
}

.nav>li>a {
    padding-top: 1rem;
    padding-left: 37px;
    padding-bottom: 0.95rem;
    font-weight: bold;
}


.nav li>a:after {
    position: absolute;
    top: 20%;
    right: 40px;
}
.nav li:not(.headergoods)>a:after {
    content: "→";
    font-weight: bold;
}
.nav li.headergoods>a:after {
    content: "＋";
    font-weight: normal;
}

.nav_wrap {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    z-index: 20;
    background-color: #fff;
    width: 100%;
    height: 100%;
}


.nav_wrap .logo_wrap {
    height: 59px;
}

.logo_wrap {
    border-bottom: solid 1px #202f51;
}

.nav_wrap .nav {
    position: relative;
}

.nav_wrap li {
    display: block;
    border-bottom: solid 1px #ccc;
    margin: 0;
}

.nav_wrap li:last-child {
    margin-top: 1rem;
    text-align: center;
    padding-bottom: 3rem;
    border: none;
}

.nav_wrap li:last-child a:after {
    display: none;
}

.nav_wrap li:last-child img {
    height: 2rem;
}

.nav_wrap a {
    color: #202f51;
}

.nav_wrap a:hover,
.nav>li>a:hover,
.nav>li>a:focus {
    background: none;
    opacity: .8;
}


.e_nav_button_container {
    position: fixed;
    top: 19px;
    left: 16px;
    z-index: 99;
} */

/*メニューボタンのエフェクト*/
.nav_button,
.nav_button span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
}

.nav_button:after {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    top: -20px;
    left: -15px;
}

.header .nav_button {
    z-index: 20;
    position: relative;
    width: 30px;
    height: 20px;
}

.header .nav_button span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #bfc9e0;
}

.header .nav_button span:nth-of-type(1) {
    top: 0;
}

.header .nav_button span:nth-of-type(2) {
    top: 9px;
}

.header .nav_button span:nth-of-type(3) {
    bottom: 0;
}

.header .nav_button.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
}

.header .nav_button.active span:nth-of-type(2) {
    opacity: 0;
}

.header .nav_button.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
}

.breadcrumb_container {
    display: none;

}
/* goods */
ul.goodslist {
    display: none;
}
ul.goodslist, ul.goodslist li, .footer_goodslist {
    padding: 0 !important;
    margin: 0 !important;
}
ul.goodslist li a, ul.footer_goodslist li a {
    display: block;
}
.goods_event_content:hover {
    cursor: pointer;
}

@media screen and (min-width: 965px) {
    .nav_button {
        display: none;
    }
    /* .nav_wrap {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        position: relative;
        justify-content: space-between;
        align-items: flex-end;
        background: none;
        padding-top: 15px;
        padding-bottom: 15px;
        height: auto;
    }


    .nav_wrap .logo_wrap {
        width: 146px;
        padding-top: 0;
        height: auto;
        position: absolute;
        left: 0;
        top: 5px;
    }

    .site-title {
        height: 25px;
    }

    .site-title a {
        transition: all 0.3s ease-out;
    }

    .site-title a:hover {
        opacity: .6;
    } */

    /* .header {
        height: auto;
    } */
    .breadcrumb_container {
        display: block;
        background-color: #e8f2ec;
        margin-bottom: 30px;
        padding-left: 61px;
        padding-right: 61px;

    }

    .contact_content {
        margin-top: 40px;
    }

    .breadcrumb {
        width: 878px;
        margin: 0 auto;
        background: none;
        padding-left: 0;
        padding-right: 0;
        font-size: 1.2rem;
    }

    .breadcrumb>li+li:before {
        content: ">";
        color: #202f51;
    }
    /* 

    .nav>li>a {
        position: relative;
        height: 100%;
    }


    .nav>li>a:hover {
        opacity: 1;
    }

    .nav>li>a::before {
        position: absolute;
        bottom: -5px;
        left: 0;
        content: "";
        width: 100%;
        border-bottom: solid 1px #fff;
        transition: all 0.3s ease-out;
    }

    .nav>li>a.active::before {
        border-bottom: solid 1px #202f51;
    }

    .nav>li>a:hover::before {
        border-bottom: solid 1px #202f51;
    }

    .nav_wrap .site-title {
        height: auto;
        border: none;
        margin-bottom: 0;
        padding-top: 0;
    }

    .nav_bar {
        border: none;
        position: static;
        padding: 0;
        margin-top: 25px;
        margin-bottom: 8px;
        height: auto;
    }

    


    .nav_wrap li {
        border: none;
    }

    .nav_wrap li+li {
        margin-left: 12px;
        padding-left: 12px;
        border-left: solid 1px #202f51;
    }

    .nav_wrap li a {
        font-size: 1.05rem;
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .nav_wrap li:nth-child(2) {
        border: none;
    }

    .nav li a:after {
        display: none;
    }

    .nav_wrap>div {
        display: flex;
        justify-content: space-between;
        border: none;
    }
    .nav {
        height: auto;
        display: flex;
        height: 16px;
        margin-top: 0;
    }
    .b_head_inquiry {
        flex-flow: row;
        margin-top: 5px;
        vertical-align: top;
        margin-top: 0;
    }

    .b_head_inquiry>a {
        margin-left: 25px;
        display: block;
    }

    .b_head_inquiry img {
        height: 16px;
        max-width: initial;
    }

    .b_head_inquiry a:last-child {
        margin-left: 29px;
    }

    .b_head_inquiry a:last-child img {
        height: 22px;
    } */

    /* goods */
    ul.goodslist, ul.footer_goodslist {
        display: none;
    }
    ul.goodslist {
        position: absolute;
        left: 0;
        width: calc(100% + 16px);
    }
    ul.goodslist li+li {
        margin-top: 1px !important;
    }
    ul.goodslist li a, .footer_goodslist li a {
        background: rgba(255, 255, 255, .8);
        text-align: center;
        padding: 1em .5em;
    }
    ul.goodslist li a:hover {
        background: #fff;
        opacity: 1;
    }
    /* footer_goodslist */
    .footer_goodslist {
        list-style-type: none;
        position: absolute;
        right: 0;
        font-size: 0;
        margin: 5px 0 0 -15px !important;
    }
    .footer_goodslist li {
        display: inline-block;
        background: #fff;
    }
    .footer_goodslist li+li {
        margin-left: 1px;
    }
    .footer_goodslist li a {
        padding: .5em 1em;
        font-size: 1rem;
        background: #e8f2ec;
        position: relative;
    }
}

@media screen and (max-width: 966px) {
    /* goods */
    .headergoods>a {
        margin-bottom: 0;
    }
    .nav li.headergoods .is_open:after {
        content: "―";
    }
    .goodslist li {
        border-bottom: 0;
    }
    ul.goodslist li a {
        padding: .5em;
        text-align: left;
        padding-left: calc(37px + .5em);
        position: relative;
    }
    ul.goodslist li a:after {
        content: "→" !important;
        display: inline-block !important;
    }
    ul.goodslist li:last-child a {
        padding-bottom: .95em;
    }
}


/* PRODUCT */

.content-text .product {
    margin-top: 0;
}

.product_thumbnail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 0;
}


.woocommerce div.product div.images {
    margin-bottom: 10px;
}

.product_thumbnail .woocommerce-product-gallery__image {
    height: auto;
}

.product_wrap {
    display: flex;
    flex-flow: column;
}

.product_wrap .woocommerce-product-gallery {
    order: 1;
}

.product_wrap .product_thumbnail {
    order: 2;
    border: none;
    margin-bottom: 10px;
}

.product_thumbnail .woocommerce-product-gallery__image {
    width: 24%;
    padding: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 10px;
}

.product_thumbnail .woocommerce-product-gallery__image:nth-child(4n+2):last-child {
    margin-left: auto;
    margin-right: 50.5%;
}


.product_thumbnail .woocommerce-product-gallery__image:nth-child(4n+3):last-child {
    margin-left: auto;
    margin-right: 25%;
}

.woocommerce div.product div.summary {
    order: 3;
    margin-bottom: 0;
}

.woocommerce div.product form.cart {
    position: static;
    margin-bottom: 0;
}

ul.product_feature_list {
    flex-flow: column;
    border-bottom: none;
    border: none;
    display: flex;
    padding-bottom: 0;
    margin-bottom: 0;
}

.product_feature_list li {
    padding-right: 0;
    margin-bottom: 36px;
    list-style: none;
}


.product_feature_list:last-child li:last-child {
    margin-bottom: 0;
}


.product_feature_wrap .product_feature_list p {
    font-size: 1.1rem;
    margin-bottom: 0;
}

.woocommerce div.product .product_title {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 13px;
}

.woocommerce-product-details__short-description h4 {
    font-weight: bold;
    margin-top: 0;
}

.woocommerce-product-details__short-description,
.woocommerce-product-details__short-description h4 {
    font-size: 1.2rem;
}


.woocommerce-product-details__short-description {
    margin-bottom: 55px;
}

.woocommerce-product-details__short-description hr {
    border-color: #999;
    margin-top: 15px;
    margin-bottom: 15px;
}

.variations {
    width: 100%;
}

.variations .label {
    display: none;
}

.variations .value {
    width: 100%;
    display: block;
    position: relative;
    padding: 0 !important;
}

.variations select {
    width: 100%;
    height: 30px;
    padding-right: 1em;
    padding-left: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    appearance: none;
    position: relative;
    margin-bottom: 15px;
    border-radius: 0;
}

.variations .value:before {
    position: absolute;
    top: 5px;
    right: 16px;
    width: 9px;
    height: 15px;
    content: '';
    background: center center url(../images/openbtn.png) no-repeat;
    pointer-events: none;
}

.reset_variations {
    display: none;
}

.woocommerce div.product form.cart .button {
    width: 100%;
    border-radius: 0;
    background-color: #202f51;
    font-size: 1.6rem;
    transition: .5s opacity;
}

.woocommerce div.product form.cart .button:hover {
    opacity: 0.8;
    color: white;
}

.product_container {
    margin-bottom: 18px;
    border-bottom: solid 1px #999;
    padding-bottom: 30px;
}


.product_container:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 25px;
}

.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
    width: 100%;
}

.product_container h3 {
    margin-bottom: 20px;
    font-weight: bold;
}

.product_container p {
    font-size: 1.2rem;
    margin-bottom: 35px;
}

.woocommerce-variation-price {
    text-align: right;
    margin-bottom: 15px;
}

.woocommerce div.product form.cart div.quantity {
    margin-bottom: 15px;
    display: flex;
    justify-content: flex-end;
}

.woocommerce table.shop_table_responsive tr:nth-child(2n) td,
.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background: none;
}

.woocommerce-variation-price .price del,
.woocommerce-variation-price .price ins {
    width: 100%;
    line-height: 1;
}

.woocommerce div.product span.price del {
    font-size: 1.2rem;
    text-decoration: none;
    opacity: 1;
    font-weight: normal;
    color: #221815;
    margin-bottom: 10px;
}

.woocommerce-variation-price .price del .amount {
    text-decoration: line-through;
}

.woocommerce-variation-price .price ins {
    text-decoration: none;
    font-size: 1.6rem;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    position: static;
    color: #202f51;
    line-height: 1.4;
}

.product_feature_list li img {
    margin-bottom: 0;
}

.product_feature_list li h4 {
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.4;
    margin-top: 15px;
    margin-bottom: 17px;
}

.spec_wrap {
    margin-top: 0;
    border: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.spec_title {
    font-size: 1.5rem;
    margin-top: 0;
}

.spec_wrap ul {
    margin-bottom: 0;
}

.spec_wrap li {
    font-size: 1.2rem;
}

.woocommerce div.product form.cart .variations {
    margin-bottom: 16px;
}


.woocommerce div.product form.cart .variations tr {
    display: flex;
    flex-flow: column;
}


.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
    width: 100%;
}


.product_feature_wrap p {}

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


    .product_container {
        border: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .product_container p {
        line-height: 1.8;
        margin-bottom: 28px;
    }

    .product_feature_wrap .product_feature_list p {
        font-size: 1.122rem;
    }

    .product_container:last-child {
        border-top: none;
    }

    .product_feature_list li h4 {
        margin-bottom: 20px;
    }

    .woocommerce div.product form.cart .variations {
        margin-bottom: 0;
    }

    .woocommerce div.product form.cart .variations tr {
        flex-flow: row;
    }

    .product_wrap {
        flex-flow: wrap;
        justify-content: space-between;
    }

    .product_wrap .woocommerce-product-gallery {
        order: 1;
    }

    .product_wrap .product_thumbnail {
        order: 3;
        border: none;
        margin-top: 20px;
        margin-bottom: 30px;
    }

    .woocommerce div.product div.summary {
        order: 2;
        margin-bottom: 0;
    }

    .product_feature_list li h4 {
        margin-bottom: 0;
    }

    .woocommerce-product-details__short-description hr {
        margin-top: 13px;
        margin-bottom: 13px;
    }

    .woocommerce #content div.product div.images,
    .woocommerce div.product div.images,
    .woocommerce-page #content div.product div.images,
    .woocommerce-page div.product div.images {
        /*width: 300px;*/
        width: 400px;
        /*r040513*/
        margin-right: calc(50% - 400px);
    }

    .woocommerce #content div.product div.summary,
    .woocommerce div.product div.summary,
    .woocommerce-page #content div.product div.summary,
    .woocommerce-page div.product div.summary {
        /*width: calc(100% - 330px);
        margin-left: auto;*/
        width: 50%;
        /*r040513*/
        float: left;
    }

    .woocommerce div.product .product_title {
        font-size: 2.4rem;
    }

    .woocommerce-product-details__short-description h4 {
        font-weight: normal;
        font-size: 1.6rem;
    }

    .woocommerce div.product div.summary {
        display: flex;
        flex-flow: column;
        justify-content: space-between;
    }

    .woocommerce div.product div.images {
        margin-bottom: 0;
    }

    .woocommerce-variation-price .price {
        text-align: left;
    }

    .woocommerce div.product span.price del {
        font-weight: bold;
        font-size: 1.6rem;
    }

    .price del .woocommerce-Price-amount {
        font-size: 1.6rem;
    }

    .price ins .woocommerce-Price-amount {
        font-size: 2.4rem;
    }

    ul.product_feature_list {
        flex-flow: row;
        justify-content: space-between;
        padding-bottom: 0;
        margin-bottom: 20px;
        border-bottom: solid 1px #999;
    }

    .product_feature_list li {
        width: 31%;
        margin-bottom: 27px;
    }

    .product_feature_list li:nth-child(2):last-child {
        margin-right: 35%;
    }

    .product_feature_list:last-child li:last-child {
        margin-bottom: 27px;
    }

    .spec_wrap {
        margin-top: 0;
    }

    .variations .value {
        width: 100%;
    }


    .spec_wrap li {
        line-height: 1.8;
    }

    .spec_title {
        font-size: 1.5rem;
        margin-bottom: 16px;
    }

    .product_thumbnail .woocommerce-product-gallery__image:nth-child(4n+2):last-child {
        margin: 0;
    }

    .product_thumbnail .woocommerce-product-gallery__image {
        width: 15.35%;
    }

    /* .h_product_wrap {
        border-bottom: solid 1px #999;
        margin-bottom: 20px;
    } */

    .product_thumbnail .woocommerce-product-gallery__image:nth-child(8):last-child {
        margin-right: 67.5%;
    }


    .product_thumbnail .woocommerce-product-gallery__image:nth-child(9):last-child {
        margin-right: 51%;
    }

    .product_thumbnail .woocommerce-product-gallery__image:nth-child(4n+2):last-child{
        margin: unset;
        margin-bottom: 10px;
    }

    .product_thumbnail .woocommerce-product-gallery__image:nth-child(10):last-child {
        margin-right: 34%;
    }

    .product_thumbnail .woocommerce-product-gallery__image:nth-child(4n+3):last-child{
        margin: unset;
    }

    .product_thumbnail .woocommerce-product-gallery__image:nth-child(11):last-child {
        margin-right: 17%;
    }
}

/* CART */

.cart-content .entry-title_container {
    margin-bottom: 9px;
}

.cart_container {
    margin: 30px auto 42px;
    padding-left: 10px;
    padding-right: 10px;
}

.cart-site footer.container {
    border-color: #202f51;
}

.woocommerce-cart-form {
    margin-bottom: 15px;
}

.woocommerce #content table.cart .product-thumbnail,
.woocommerce table.cart .product-thumbnail,
.woocommerce-page #content table.cart .product-thumbnail,
.woocommerce-page table.cart .product-thumbnail {
    display: block;
    padding-right: 10px;
    padding-bottom: 10px;
}

.woocommerce table.shop_table_responsive tr,
.woocommerce-page table.shop_table_responsive tr {
    display: flex;
    align-items: flex-start;
}

.cart_header {
    padding-left: 14px;
    padding-top: 10px;
    padding-bottom: 9px;
}

.cart_header .product-name {
    display: none;
}

body:not(.checkout) .woocommerce-checkout-review-order-table .product-name {
     display: table-cell;
    width: 80%;
 }

.woocommerce-checkout-review-order-table .product-total {
    display: table-cell;
    width: 20%;
}

.woocommerce-checkout-review-order-table .cart_item {
    display: table-row;
}

.cart_header th {
    padding: 0 !important;

}

body:not(.checkout) tr.order-total th {
    display: none;
}

tr.order-total strong:after {
    content: "消費税込み";
    font-weight: normal;
    font-size: 1.2rem;
    display: block;
    margin-top: 5px;
}


.woocommerce-cart-form__cart-item {
    padding-top: 10px;
    padding-left: 11px;
    padding-right: 11px;
    padding-bottom: 5px;
}

.woocommerce-cart-form__contents .product-thumbnail {
    width: 30%;
    padding-right: 9px;
    text-align: left;
}
.woocommerce-cart-form__contents th.product-thumbnail {
    display: none !important;
}

.woocommerce-cart-form__contents .product-name {
/*     order: 6; */
    width: 21%;
}


.woocommerce-cart-form__contents .product-name a {
    color: blue;
    text-decoration: underline;
}

.woocommerce-cart-form__contents .product-price,
.woocommerce-cart-form__contents .product-subtotal {
    width: 21%;
}

.woocommerce-cart-form__contents .product-quantity {
    width: 17%;
}

.woocommerce-cart-form__contents .product-remove {
    width: 5%;
}

.woocommerce-cart-form__contents .product-remove a {
    color: blue !important;
    font-size: 2.0rem;
}

.woocommerce table.shop_table td {
    border: none;
}

.woocommerce table.shop_table_responsive thead,
.woocommerce-page table.shop_table_responsive thead {
    display: block;
}

.woocommerce table.shop_table_responsive tr td,
.woocommerce-page table.shop_table_responsive tr td {
    text-align: left !important;
}

.woocommerce table.shop_table_responsive tr td::before,
.woocommerce-page table.shop_table_responsive tr td::before {
    display: none;
}

.woocommerce .quantity .qty {
    width: 61px;
    height: 30px;
    float: none;
    margin-bottom: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    -webkit-appearance: none;
}


.woocommerce .quantity .minus,
.woocommerce .quantity .plus {
    height: 30px;
    width: 31px;
    padding: 0;
    border-radius: 0;
}


.woocommerce .quantity .plus {
    border-left: none;
}

.woocommerce .quantity .minus {
    border-right: none;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background-color: #2c8d4a !important;
    color: #fff !important;
    width: 100%;
    border-radius: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1.2rem;
    transition: .5s opacity;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover {
    background-color: #2c8d4a !important;
    opacity: .8;
}
td[data-title="合計"] .tax {
    font-size: 1.2rem;
}

.product-update .actions {
    width: 100%;
}

.coupon {
    display: none;
}

.woocommerce a.remove {
    line-height: 0.8;
}

/* body.cart .cart-collaterals table.shop_table {
    display: none;
} */

.wc-proceed-to-checkout {
    text-align: center;
    padding: 0;
}

body.cart .wc-proceed-to-checkout a.button {
    background-color: #202f51;
    font-weight: 700;
    padding-top: 15px;
    padding-bottom: 15px;
    color: #fff;
}

.b_cart_guide {
    font-size: 1.2rem;
}

.b_cart_guide .h_bold {
    font-weight: bold;
    font-size: 1.2rem;
    margin-top: 1rem;
}

.b_cart_link {
    text-decoration: underline;
    display: flex;
    justify-content: space-between;
    color: #221815;
}

.b_cart_link a:hover {
    color: #446889;
}

.product-quantity .minus {
    border-right: none;
}

.product-quantity .plus {
    border-left: none;
}

.variations tr td {
    display: block;
    line-height: 1 !important;
}

.cart_table {
    border: solid 1px #999;
    font-size: 1.2rem;
    margin-bottom: 15px;
}

.cart_header {
    padding-top: 10px;
    padding-left: 10px;
    padding-bottom: 10px;
    display: flex;
    font-weight: bold;
}


.cart_item {
    padding-top: 10px;
    padding-left: 11px;
    padding-bottom: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-top: solid 1px #999;
    justify-content: space-between;
}

.cart_header .product-thumbnail,
.cart_item .product-thumbnail {
    width: 28%;
}

.cart_header .cart_header .product-name {
    display: none;
}

.cart_header .product-price,
.cart_item .product-price {
    width: 22%;
}

.cart_header .product-quantity,
.cart_item .product-quantity {
    width: 16%;
}

.cart_header .product-subtotal,
.cart_item .product-subtotal {
    width: 22%;
}

.cart_item .product-thumbnail {
    width: 28%;
    order: 1;
    margin-right: 9px;
}
body:not(.checkout) .cart_item .product-name {
    order: 6;
    width: 100%;
    margin-top: 17px;
}

.cart_item .product-name a {
    color: blue;
    text-decoration: underline;
}

.cart_item .product-price {
    width: 20%;
    order: 2;
}

.cart_item .product-quantity {
    width: 15%;
    order: 3;
}

.cart_item .product-subtotal {
    width: 20%;
    order: 4;
}

.cart_item .product-remove {
    width: 10%;
    order: 5;
    font-size: 1.4rem;
}

.cart_item .product-remove a {
    color: red !important;
}

.cart_item .product-quantity .qty {
    width: 34px;
    height: 20px;
    padding: 0;
    text-align: center;
    border-radius: 0;
    -webkit-appearance: none;
}

.cart_item .product-quantity .plus,
.cart_item .product-quantity .minus {
    display: none;
}

.cart_table .cart_footer {
    padding: 13px;
    border-top: solid 1px #999;
    text-align: right;
}

.cart_footer .woocommerce-Price-amount {
    font-size: 1.6rem;
}

.cart_footer .product-total {
    margin-top: 28px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    z-index: 1;
}

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

    .cart-content {
        margin-top: 42px;
    }

    .cart-content .entry-title_container {
        margin-bottom: 20px;
    }

    .cart_container {
        margin-bottom: 64px;
    }

    .cart_table {
        padding-top: 14px;
        padding-bottom: 33px;
        padding-left: 40px;
        padding-right: 27px;
        font-size: 1.6rem;
    }

    .cart_header {
        padding-left: 0;
        padding-bottom: 15px;
        justify-content: flex-start;
        padding-top: 0;
    }

    .cart_header .product-thumbnail {
        width: 47%;
    }


    .cart_header .product-price {
        width: 13%;
    }

    .cart_header .product-quantity {
        width: 20%;
    }

    .cart_header .product-subtotal {
        width: 13%;
    }

    .cart_item {
        padding-top: 22px;
        padding-left: 0;
        padding-bottom: 14px;
    }

    .cart_item .product-thumbnail {
        width: 22%;
        order: 1;
        margin-right: 0;
    }
    .woocommerce-cart-form__contents th.product-thumbnail {
        display: block !important;
    }

    .cart_item .product-thumbnail img {
        max-width: 135px;
    }

    body:not(.checkout) .cart_item .product-name {
        order: 2;
        width: 25%;
        margin-top: 0;
    }

    .cart_item .product-price {
        width: 13%;
        order: 3;
    }

    .cart_item .product-quantity {
        width: 20%;
        order: 4;
        display: flex;
    }

    .cart_item .product-subtotal {
        width: 13%;
        order: 5;
    }

    .cart_item .product-remove {
        width: 5%;
        order: 6;
    }

    .cart_item .product-remove .remove {
        font-size: 2.4rem;
        line-height: 1;
    }

    .cart_table .cart_footer {
        border-top: none;
        padding: 0;
    }

    .cart_item .product-quantity .plus,
    .cart_item .product-quantity .minus {
        display: block;
    }

    .cart_footer .actions .button {
        width: 200px;
        font-weight: normal;
    }


    body.cart .cart-collaterals .cart_totals {
        background: #e8f2ec;
    }

    body.cart .cart-collaterals table.shop {
        display: table;
        border: none;
        margin: 0;
        padding-right: 0;
    }


    .cart_item .product-quantity .minus,
    .cart_item .product-quantity .plus,
    .cart_item .product-quantity .qty {
        width: 36px;
        height: 38px;
        display: inline-block;
    }


    .cart_item .product-quantity .minus,
    .cart_item .product-quantity .plus {
        background-color: #fbfaf9;
        padding: 0;
    }

    .cart_item .product-quantity .qty {
        width: 36px;
        padding: 0;
        font-size: 1.2rem;
        -moz-appearance: textfield;
        vertical-align: top;
    }

    .cart_totals {
        padding: 20px 27px;
    }

    .cart_totals h3 {
        margin-top: 0;
        padding-bottom: 1rem;
        border-bottom: solid 1px #999;
        font-weight: bold;
        font-size: 1.6rem;
    }

    .woocommerce-page .cart-collaterals .cart_totals {
        width: 60%;
        margin-bottom: 40px;
    }

    .woocommerce .shop_table_responsive .order-total td[data-title="合計"] {
        width: 100%;
        text-align: right !important;
    }

    .wc-proceed-to-checkout {
        width: 200px;
        margin-left: auto;
    }

    .b_cart_guide {
        width: 50%;
        margin-left: auto;
        text-align: right;
    }

    .b_cart_link {
        justify-content: flex-end;
    }

    .b_cart_link a {
        margin-left: 1rem;
    }

    .quantity_container {
        width: 50%;
        padding: 0 !important;
    }

    .variations tr {
        display: flex;
        justify-content: space-between;
    }

    .woocommerce-cart-form {
        margin-bottom: 26px;
    }

    body.cart .cart-collaterals table.shop_table {
        display: flex;
        border: none;
        justify-content: flex-end;
        margin-bottom: 20px;
    }


    body.cart .cart-collaterals table.shop_table .order-total {
        margin-top: 10px;
    }

    body.cart .cart-collaterals table.shop_table td {
        text-align: right;
        line-height: 1;
        padding: 0 !important;
        border: none;
    }

    body.cart .cart-collaterals table.shop_table td strong {
        padding-bottom: 10px;
        display: inline-block;
        text-align: right;
    }


    .woocommerce .wc-proceed-to-checkout a.button {
        padding-top: 10px;
        padding-bottom: 10px;
        font-weight: normal;
    }

}

/* CHECKOUT */

.woocommerce-checkout-payment .place-order .button {
    width: 200px;
    margin: 0 auto;
}

/* CONTACT */

.b_contact_text {
    font-size: 1.2rem;
    margin-bottom: 25px;
    line-height: 1.5;
}

.b_contact_text p {
    margin-bottom: 28px;
}


.b_contact_text a[href="mailto:kk.nuovo@wine.ocn.ne.jp"] {
    text-decoration: underline;
}

.b_contact_text ul {
    list-style: none;
    padding: 0;
    list-style-type: none;
    margin-bottom: 30px;
}

.b_contact_form .form-group {
    margin-bottom: 15px;
}
.b_contact_form .form-group .col-md-3 {
    background: #202f51;
    color: #fff;
    margin-bottom: 15px;
    padding: .5em 1em;
}
.contact-site footer.container {
    border-color: #202f51;
}

.b_contact_form .form-group:last-child {
    border-bottom: none;
}

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

    .contact_content {
        margin-bottom: 30px;
    }

    .contact-site .entry-title_container {
        margin-bottom: 5px;
    }

    .contact_entry-title {
        border-bottom: solid 1px #999;
        margin-bottom: 10px;
        padding-bottom: 13px;
    }

    .b_contact_form {
        margin-top: 30px;
    }

    .b_contact_text {
        font-size: 1.2rem;
        line-height: 1.5;
    }

    .b_contact_form .form-group {
        border-bottom: none;
        padding-bottom: 0;
        display: flex;
        margin-bottom: 0;
    }

    .b_contact_text a[href="mailto:kk.nuovo@wine.ocn.ne.jp"] {
        text-decoration: underline;
    }

    .b_contact_text a[href="mailto:kk.nuovo@wine.ocn.ne.jp"]:hover {
        text-decoration: underline;
    }

    .b_contact_text li,
    .b_contact_text p {
        line-height: 1.6;
    }

    .woocommerce .contact_container .b_button {
        text-align: center;
        margin: 20px auto 0;
    }

    .woocommerce .contact_container .button {
        width: 200px;
    }

    .b_contact_form form .control-label {
        padding: 20px;
    }

    .b_contact_form form .form-group {
        margin-left: 0;
        margin-right: 0;
    }

    .b_contact_form form .col-md-3 {
        border-left: solid 1px #202f51;
        border-right: solid 1px #202f51;
        border-bottom: solid 1px #202f51;
        padding-left: 0;
        padding-right: 0;
        width: 25%;
        background: #e8f2ec;
    }

    .b_contact_form form .col-md-9 {
        padding-top: 15px;
        padding-bottom: 15px;
        border-bottom: solid 1px #202f51;
        border-right: solid 1px #202f51;
        width: 75%;
    }

    .b_contact_form .form-group:last-child .control-label {
        padding-top: 40px;
    }

    .b_contact_form form {
        border-top: solid 1px #202f51;
        /* border-left: solid 1px #202f51;
        border-right: solid 1px #202f51; */
        margin-bottom: 30px;
    }

    .b_contact_form form .control-label {
        padding: 20px;
        text-align: left;
    }

    .b_contact_form .form-control {
        border-radius: 0;
    }
}

/* QA */

.qa_container {
    padding-left: 0;
    padding-right: 0;
}

.qa_entry-title_container {
    margin-bottom: 20px;
}

.b_qa_text {
    padding-bottom: 18px;
    margin-bottom: 22px;
    padding-left: 63px;
    padding-right: 33px;
    position: relative;
    border-bottom: solid 1px #999;
    font-size: 1.2rem;
}


.b_qa_text p:first-child {
    margin-bottom: 24px;
    font-weight: bold;
}


.b_qa_text p:last-child {
    margin-bottom: 0px;
}

.b_qa_text:last-child {
    border: none;
    padding-bottom: 18px;
    margin-bottom: 0;
}

.b_qa_text p:first-child::before,
.b_qa_text p:last-child::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    left: 30px;
    background-size: cover;
}

.b_qa_text p:first-child:before {
    background-image: url(../images/q.png);
}

.b_qa_text p:last-child:before {
    background-image: url(../images/a.png);
}

.qa_content {
    margin-bottom: 19px;
}

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

    .qa_content {
        margin-bottom: 33px;
    }

    .qa_container {
        padding-left: 61px;
        padding-right: 61px;
    }

    .b_qa_text p:first-child::before,
    .b_qa_text p:last-child::before {
        left: 0;
    }

    .qa_entry-title_container {
        margin-bottom: 33px;
    }

    .qa_content {
        margin-top: 39px;
    }


    .b_qa_text p:first-child {
        margin-bottom: 26px;
    }

    .b_qa_text {
        padding-right: 0;
        padding-left: 30px;
        padding-bottom: 34px;
        font-size: 1.4rem;
        margin-bottom: 24px;
    }

    .b_qa_text p:before {
        left: 0;
    }

}

/* ABOUT US */

.aboutus_container {
    margin-bottom: 34px;
}

.aboutus_container li {
    line-height: 1.6;
}

.b_aboutus_text {
    margin-bottom: 30px;
}

.b_aboutus_text:last-child {
    margin-bottom: 0;
}


.aboutus_container:last-child .b_aboutus_text ul {
    margin-bottom: 0;
}

.b_aboutus_text ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 34px;
}


.b_aboutus_text ul:last-child {
    margin-bottom: 0;
}

.b_aboutus_text ul ul {
    padding-left: 0;
    margin-bottom: 0;
}

.b_aboutus_text {
    font-size: 1.2rem;
}


.b_aboutus_text p {
    margin-bottom: 30px;
}

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

    .aboutus_site .h_mb50 {
        margin-bottom: 50px;
    }

    .aboutus_entry-title {
        border-bottom: solid 1px #999;
        padding-bottom: 12px;
        margin-bottom: 0;
    }

}

/* SHOPPING GUIDE */

.sg_content .entry-title_container {
    margin-bottom: 19px;
}

.sg_content .container:nth-last-child(3) .b_shoppingguide_text {
    margin-bottom: 16px;
}

.b_shoppingguide_text p {
    margin-bottom: 0;
}

.caution {
    color: red;
    font-weight: bold;
    margin-bottom: 20px;
    font-size: 1.2rem;
    line-height: 1.5;
}

a[href$="/contact"] {
    text-decoration: underline;
    color: blue;
}

.h_mb0 {
    margin-bottom: 0;
}

.sg_container .container:last-child .b_shoppingguide_text {
    padding-bottom: 0;
    margin-bottom: 5px;
}

.b_shoppingguide_text {
    font-size: 1.2rem;
}

.b_shoppingguide_text ul {
    list-style: none;
    padding-left: 0;
}


.sg_site footer.container {
    border-color: #202f51;
}

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

    .sg_site {}

    .sg_content {
        margin-top: 40px;
    }

    .sg_content .caution {
        margin-bottom: 23px;
    }

    .b_shoppingguide_text {
        margin-bottom: 34px;
    }


    .b_shoppingguide_text ul {
        margin-bottom: 30px;
    }

    .sg_content .container:nth-last-child(3) .b_shoppingguide_text {
        margin-bottom: 34px;
    }


    .sg_site footer.container {
        border: none;
        padding-top: 0;
    }
}

/* CHECKOUT */


.address-box .state_select {
    width: 100%;
    padding: 6px 16px;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    margin-bottom: 15px;
    border-radius: 0;
    border: solid 1px #ccc;
}



.address-box {
    position: relative;
}

.address-box:before {
    position: absolute;
    top: 45px;
    right: 16px;
    width: 9px;
    height: 15px;
    content: '';
    background: center center url(../images/openbtn.png) no-repeat;
    pointer-events: none;
}

.checkbox input[type="checkbox"] {
    margin-left: 0;
}

@media all and (-ms-high-contrast: none) {

    .woocommerce table.shop_table td {
        border-top: solid 1px #202f51;
    }

    .woocommerce table.shop_table td.actions {
        border-top: none;
        margin-right: auto;
    }

    .variations .value {
        width: 70%;
    }

    .cart_item .product-quantity .qty {
        padding-left: 0;
    }

    .woocommerce a.remove {
        line-height: 1;
    }

    .woocommerce a.remove:hover {
        line-height: 1;
    }
}

@supports (-ms-ime-align: auto) {
    .variations .value {
        width: 65%;
    }

    .cart_item .product-quantity .qty {
        padding-left: 0;
    }

    .woocommerce a.remove {
        line-height: 1;
    }

    .woocommerce a.remove:hover {
        line-height: 1;
    }
}


@media only screen and (max-width:964px) {
    .hidden-xs {
        display: none !important;
    }

    .visible-xs {
        display: block !important;
    }

    .nav_wrap .nav {
        position: relative;
        overflow-y: scroll;
        height: 100%;
        padding-bottom: 40px;
    }

    .spec_wrap {
        border-top: 1px solid #999;
        padding-top: 20px;
    }
}

/* 2020/05 product_icon */
.product_icon {
    font-size: 0;
    list-style: none;
    padding: 0;
    width: 100%;
    margin: 0 auto;
}
.product_icon li {
    display: inline-block;
}
@media only screen and (max-width:964px) {
    .product_icon {
        max-width: 280px;
    }
    .product_icon li {
        width: 22%;
        max-width: 60px;
        margin: 1.5%;
    }
}
@media only screen and (min-width:965px) {
    .product_icon {
        width: 408px;
        margin: 0 auto;
    }
    .product_icon li {
        width: 44px;
        margin: 4px;
    }
    .product_icon li:first-child {
        margin-left: 0;
    }
    .product_icon li:last-child {
        margin-right: 0;
    }
}

/* 2020/11/11 */
.product_thumbnail .woocommerce-product-gallery__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 2020/12/03 */
.woocommerce a.open-default.button, .stocklist_dl dt {
    display: block;
    background: #6eace4;
    color: #fff;
    font-weight: bold;
    text-align: center;
    height: 38px;
    line-height: 38px;
    border-radius: 19px;
}
.woocommerce a.open-default.button {
    width: 80%;
    margin: 20px auto 0;
    font-size: 1.4rem;
    padding: 0;
}
.woocommerce a.open-default.button:hover {
    background-color: #6eace4 !important;
}
/* izimodal */
#stocklist_popup {
    width: 93.3%;
    max-height: 95vh;
    overflow: hidden;
    border-radius: 5px !important;
    padding: 10px;
}
.iziModal-content {
    padding: 10px;
}
.stocklist_dl {
    padding: 30px 20px 20px;
    margin-bottom: 10px;
}
.stocklist_dl dt {
    margin-bottom: 20px;
}
.stocklist_table {
    width: 100%;
}
.stocklist_table th, .stocklist_table td {
    border: 1px solid #6eace4;
    padding: .5em 1em !important;
    font-size: 1.4rem;
}
.stocklist_table thead th {
    background: #6eace4;
    text-align: center;
    color: #fff;
}
.stocklist_table thead th:first-child {
    border-right-color: #fff;
}
.stocklist_table thead th:last-child {
    border-left-color: #fff;
}
.stocklist_table tbody th {
    width: 10em;
}
.stocklist_table .stock_status {
    text-align: center;
}
#stocklist_popup .close a:hover {
    text-decoration: none;
}
.stock_name {
    width: 20em;
    background: #bde0ff;
    font-size: .8em;
}
.stock_color {
    width: calc(100% - 27em);
    text-align: left;
}
.stock_status {
    width: 7em;
    text-align: center;
}
#stocklist_popup .close {
    margin-right: 10px;
}
/* sp */
@media only screen and (max-width:768px) {
    .stock_name {
        width: 12em;
    }
    .stock_color {
        width: calc(100% - 15em);
    }
    .stock_status {
        width: 3em;
    }
    .stocklist_dl {
        padding: 30px 0 20px;
    }
    .stocklist_table th, .stocklist_table td {
        font-size: 1.2rem;
    }
}

/* 2021/01/15 */
@media only screen and (min-width:481px) and (max-width:980px) {
    .woocommerce form .form-row textarea[name="order_comments"] {
        height: 7em;
    }
}
@media only screen and (max-width:480px) {
    .woocommerce form .form-row textarea[name="order_comments"] {
        height: 10em;
    }
}

/* GALLERY */
.gallery_category {
    padding: 0;
    margin: 30px auto;
    flex-wrap: wrap;
    justify-content: center;
}
.gallery_category li {
    width: calc(100% / 3);
}
.gallery_category li a {
    display: block;
    text-align: center;
    padding: .5em;
    font-weight: 500;
    margin: 0;
    background: #fff;
    color: #202f51;
    border: 1px solid #202f51;
}
.gallery_category li + li a {
    border-left: none;
}
.gallery_category li a.active {
    background: #202f51;
    color: #fff;
}
.tab-body {
    padding: 0;
}
#nail, #eyelash {
    padding-top: 60px;
    margin-top: -60px;
}
.gallerysection {
    padding: 0 10px;
}
.gallerytitle {
    text-align: center;
    margin: 0 auto 20px;
}
.gallerytitle .menu_title_jp {
    background: #e8f2ec;
    max-width: 310px;
}
.gallery_list {
    padding: 0;
    flex-wrap: wrap;
}
.gallery_wrapper {
    width: calc(50% - 10px);
}
.gallery_wrapper:nth-of-type(even) {
    margin-left: 20px;
}
.gallery_wrapper:not(:nth-of-type(-n + 2)) {
    margin-top: 15px;
}
.gallery_info {
    width: 96%;
    margin: 0 auto 10px;
    border-left: 4px solid #202f51;
    padding: 3px 0 3px 8px;
}
.gallery_info dt {
    font-size: 1.1em;
}
.gallery_info_meta {
    width: 96%;
    margin: 0 auto 5px;
}
.gallery_info_meta dt, .gallery_info_meta dd {
    font-size: .9em;
}
.meta_price dt {
    width: 3.5em;
}
.meta_price dd {
    width: calc(100% - 3.5em);
}
.meta_time dt {
    width: 5.5em;
}
.meta_time dd {
    width: calc(100% - 5.5em);
}
html.safari .meta_time dt {
    width: 6em;
}
html.safari .meta_time dd {
    width: calc(100% - 6em);
}
.gallery_empty {
    text-align: center;
}

@media only screen and (min-width:965px) {
    .gallery_category {
        width: 600px;
        margin-top: 50px;
    }

    .gallery_category li a {
        transition: .5s all;
    }
    .gallery_category li:hover a {
        cursor: pointer;
        background: #202f51;
        color: #fff;
    }
    .gallery_wrapper {
        width: 30%;
    }
    .gallery_wrapper:nth-of-type(even) {
        margin-left: 0;
    }
    .gallery_wrapper:not(:nth-of-type(-n + 2)) {
        margin-top: 0;
    }
    .gallery_wrapper:not(:nth-of-type(-n + 3)) {
        margin-top: 30px;
    }
    .gallery_wrapper:not(:nth-of-type(3n)) {
        margin-right: 5%;
    }
}

/* CONCEPT */
body.concept .container {
    padding: 0 15px;
}
body.concept .entry-title_container {
    background: url('../images/shadow_1.png') no-repeat 0 0;
    background-size: 80%;
    border-top: 4px solid #202f51;
}
.concept_main, .esthetic_main {
    text-align: center;
    margin-bottom: 10px;
}
.concept_main h2, .esthetic_main h2 {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .5em;
    line-height: 1.5;
    margin: 30px 0 20px;
}
.concept_main p, .esthetic_main p {
    line-height: 1.5;
    letter-spacing: 1px;
}
.concept_subtitle {
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: .5em;
    font-weight: 700;
    margin-bottom: 2em;
}
.concept_subtitle span {
    display: block;
    margin-top: 1em;
    font-size: .8em;
}
.concept_subtitle:before {
    content: "\f06c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: block;
    font-size: 2.4rem;
    text-align: center;
    margin: 30px 0 20px;
}
.concept_box {
    text-align: center;
}
.concept_box + .concept_box {
    margin-top: 50px;
}
.concept_image {
    max-width: 212px;
    margin: 0 auto;
    border: 6px solid #202f51;
}
.concept_image p {
    margin-bottom: 0;
}
.concept_text h3 {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: .3em;
    line-height: 1.3;
}
.concept_text h3:after {
    content: "";
    display: block;
    width: 50px;
    height: 4px;
    border-radius: 2px;
    margin: 15px auto 0;
    background: #202f51;
}
.concept_text p {
    text-align: left;
    line-height: 1.8;
    max-width: 24em;
    margin: 0 auto;
}

@media only screen and (min-width:965px) {
    body.concept .entry-title_container {
        background-size: 50%;
        margin-top: -30px;
    }
    .entry-title_container>.container.concept_main {
        margin-bottom: 60px;
    }
    .concept_main h2 {
        font-size: 1.8rem;
        margin: 80px 0 40px;
    }
    .concept_main p {
        font-size: 1.4rem;
    }
    .spbr {
        display: none;
    }
    .entry-title_container>.container.concept_pride {
        margin-bottom: 50px;
    }
    .concept_subtitle {
        font-size: 1.8rem;
        margin-bottom: 3em;
    }
    .concept_box + .concept_box {
        margin-top: 70px;
    }
    .concept_image {
        max-width: 312px;
    }
    .concept_text h3 {
        margin: 30px 0;
    }
    .concept_text p {
        max-width: 45em;
    }
}

/* MENU */
body.menu .container, .container-fluid {
    padding: 0;
}
body.menu .tab-body .shopmenu_wrapper {
    margin-bottom: 30px;
}
.shopmenu_wrapper + .shopmenu_wrapper {
    margin-top: 30px;
}
.menu_category {
    background: #202f51;
    color: #fff;
    padding: .5em 1em;
    font-size: 1.4rem;
    font-weight: 700;
    margin: 0;
}
.menu_box {
    padding: 10px 10px 14px;
    margin: 0;
    align-items: flex-end;
}
.menu_box + .menu_box {
    border-top: 1px solid #ccc;
}
.menu_box dt {
    width: 70%;
    font-size: 1.3rem;
    line-height: 1.5;
}
.menu_box dt span {
    display: block;
    font-weight: 400;
    font-size: .8em;
    color: #6f788e;
    margin-top: .5em;
}
.menu_box dd {
    width: 25%;
    margin-left: 5%;
    font-weight: 700;
    text-align: right;
}
.menu_box:not(.menu_ask) dd {
    font-size: 1.6rem;
}
.menu_box:not(.menu_ask) dd:before {
    content: "¥";
    font-size: .8em;
}
.menu_note {
    padding: 10px;
    text-align: right;
}
.shopmenu_caution {
    width: calc(100% - 20px);
    padding:20px;
    margin: 0 auto;
    background: #e8f2ec;
}
.shopmenu_caution p {
    margin: 0;
    line-height: 1.5;
}
.shopmenu_caution p + p {
    margin-top: .5em;
}
.linkbtn a {
    display: block;
    width: 70%;
    max-width: 300px;
    height: 44px;
    line-height: 36px;
    border-radius: 22px;
    margin: 30px auto 0;
    text-align: center;
    background: #202f51;
    border: 4px double #fff;
    color: #fff;
}

@media only screen and (min-width:965px) {
    .gallerytitle {
        margin-bottom: 30px;
    }
    .menu_category {
        font-size: 1.6rem;
    }
    .menu_box {
        padding: 15px;
    }
    .menu_box dt {
        font-size: 1.4rem;
    }
    .menu_box dd {
        font-size: 1.8rem;
    }
    .linkbtn a {
        transition: .5s opacity;
    }
    .linkbtn a:hover {
        opacity: .5;
    }
}


/* STAFF */
body.staff .container, body.staff .container-fluid {
    padding: 0;
    margin-bottom: 0;
}
.staff_list {
    padding: 0;
    flex-wrap: wrap;
    flex-direction: column;
    margin: 30px 0 0;
}
.staff_list li {
    padding: 0 10px;
}
.staff_list li + li {
    margin-top: 40px;
}
.staff_list li:nth-child(even) {
    background: #e8f2ec;
    padding: 40px 10px;
}
.staff_image {
    overflow: hidden;
    border-radius: 50%;
    border: 4px double #202f51;
    margin: 0 auto 20px;
    max-width: 180px;
}
.staff_info {
    margin-bottom: 0;
}
.staff_text{
    width: 90%;
    margin: 0 auto;
}
.staff_name {
    text-align: center;
    font-size: 2rem;
    letter-spacing: .7em;
    margin-bottom: 1em;
}
.staff_type {
    display: block;
    margin-bottom: 5px;
    font-size: 1.2rem;
    letter-spacing: .5em;
}
.staff_ruby {
    display: inline-block;
    font-size: .5em;
    margin-left: .5em;
    vertical-align: middle;
}
.staff_comment {
    line-height: 1.5;
    margin-bottom: 2em;
}
.staff_comment strong {
    display: block;
    margin-bottom: .5em;
    font-size: 1.1em;
    text-align: center;
}
.staff_comment strong:before,
.staff_comment strong:after {
    display: inline-block;
}
.staff_comment strong:before {
    content: "「";
    margin-right: .5em;
}
.staff_comment strong:after {
    content: "」";
    margin-left: .5em;
}
.staff_point {
    margin-bottom: 0;
}
.staff_point + .staff_point {
    margin-top: 20px;
}
.staff_point dt {
    border-left: 4px solid #202f51;
    padding: 2px .5em 3px;
    margin-bottom: 5px;
}
@media only screen and (min-width:965px) {
    body.staff .container, body.staff .container-fluid {
        padding-left: 10px;
        padding-right: 10px;
    }
    .staff_list {
        flex-direction: row;
        margin-top: 0;
        max-width: 1200px;
        margin: 0 auto 50px;
		justify-content: center;
    }
    .staff_list li {
        padding: 0;
    }
    .staff_list li + li {
        margin: 0;
    }
    .staff_list li {
        width: calc(25% - 22.5px);
        overflow: hidden;
        margin-top: 40px !important;
    }
    .staff_list li:not(:nth-child(4n)) {
        margin-right: 30px;
    }
    .staff_info {
        padding: 25px 20px;
        height: 100%;
    }
    .staff_list li:nth-child(even) {
        padding: 0;
        background: none;
    }
    .staff_list li:nth-child(even) .staff_info {
        background: #e8f2ec;
    }
    .staff_text{
        width: 94%;
    }
}

/* ABOUT */
body.about .container {
    padding-left: 20px;
    padding-right: 20px;
}
.title_bg {
    background: #e8f2ec;
    color: #202f51;
    text-align: center;
    padding: .5em;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .25em;
    margin-bottom: 15px;
}
.about_section { 
    padding-top: 60px;
    margin-top: -60px;
}
.about_section * {
    line-height: 1.75;
}
.about_section ul li strong {
    font-size: 1.1em;
}
.about_section dl dt {
    border-bottom: 1px solid #202f51;
    border-left: 4px solid #202f51;
    margin-bottom: .5em;
    padding: .2em .5em .3em .75em;
}
.about_section dl dd {
    padding-left: 10px;
    padding-right: 10px;
}
.about_privacypolicy p {
    margin-bottom: 1.5em;
}
#about_privacypolicy ol,
#about_privacypolicy ul {
    padding: 0;
}
#about_privacypolicy dd > ul {
    margin-top: 1em;
}
@media only screen and (min-width:965px) {
    .about_section, .guide_section, body.guide p.caution {
        max-width: 1000px;
        margin: 0 auto;
        padding-top: 0;
    }
    .title_bg {
        background: #202f51;
        color: #fff;
        margin-bottom: 2em;
    }
    body.about .container {
        margin-bottom: 30px;
    }
}

/* CONTACT */
body.contact .container {
    margin-top: 30px;
    padding: 0;
}
.b_contact_text {
    width: 90%;
    margin: 0 auto;
}
.b_contact_form label {
    margin-bottom: 0;
}
.form_checkbox {
    text-align: center;
    margin: 15px 0 25px;
}
.form_checkbox input[type="checkbox"] {
    margin: 0 5px 0 0;
    vertical-align: -.1em;
}
.sendbtn {
    text-align: center;
}
.sendbtn input[type="submit"] {
    background: #202f51;
    color: #fff;
    border-radius: 5px;
    height: 44px;
    line-height: 44px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 0 2em;
    border: none;
}
body.thanks .container {
    margin-top: 30px;
    padding-left: 10px;
    padding-right: 10px;
}
@media only screen and (min-width:965px) {
    body.contact .container {
        margin-top: 0;
    }
    .b_contact_form {
        width: 90%;
        margin: 0 auto;
    }
    .b_contact_form .form-group .col-md-3 {
        margin-bottom: 0;
        background: #e8f2ec;
        color: #202f51;
    }
    .sendbtn input[type="submit"] {
        transition: .5s opacity;
    }
    .sendbtn input[type="submit"]:hover {
        opacity: .5;
    }
}

/* GOODS */
body.goods .entry-content {
    margin-top: 30px;
}
body.goods .woocommerce.columns-4 {
    width: 96%;
    margin: 0 auto;
}
body.goods .product_type_variable.add_to_cart_button,
body.goods .product_type_variable.button,
body.goods .product_type_simple {
    display: none !important;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button
{
  -webkit-appearance: none;
}
input[type="number"]
{
  -moz-appearance: textfield;
}
.woocommerce-info, .woocommerce-message {
    background-color: #e8f2ec;
}
.woocommerce ul.products[class*=columns-] li.product {
    margin-bottom: 15px;
}
@media only screen and (min-width:965px) {
    body.goods .entry-content {
        margin-top: 50px;
    }
    body.goods .woocommerce.columns-4 {
        max-width: 1000px;
        margin: 0 auto;
    }
    .woocommerce ul.products li.product {
        transition: .5s opacity;
        width: 22%;
        margin: 0;
    }
    .woocommerce ul.products li.product:not(:nth-child(4n)) {
        margin-right: 4%;
    }
    .woocommerce ul.products li.product:not(:nth-child(-n + 4)) {
        margin-top: 30px;
    }
    .woocommerce ul.products li.product:hover, .woocommerce-page ul.products li.product:hover {
        opacity: .5;
    }
    button[name="update_cart"] {
        transition: .5s opacity;
    }
    button[name="update_cart"]:hover {
        background-color:  #2c8d4a !important;
        opacity: .5;
    }
    .cart_totals .shop_table * {
        font-size: 1.6rem;
    }
    .cart_totals .shipping {
        /* width: 280px; */
        margin-left: auto;
    }
    .cart_totals .shipping th {
        /* width: 60px; */
        padding: 0 !important;
    }
    .cart_totals .woocommerce-shipping-calculator {
        /* width: 220px; */
        line-height: 1.3;
    }
    .cart_totals .shipping-calculator-button {
        margin-top: 0 !important;
        text-decoration: underline;
        width: 100%;
        min-width: 8em;
        text-align: right;
    }
    .cart_totals button[name="calc_shipping"] {
        display: block;
        width: 4em;
        margin-left: auto;
        font-size: 1.4rem;
        background: #202f51;
        color: #fff;
        padding: .5em 0 .7em;
        border: none;
        border-radius: 5px;
        font-weight: 700;
    }
    .cart_totals .order-total {
        justify-content: flex-end;
    }
    .cart_totals .order-total .amount {
        font-size: 2.4rem;
    }
    .cart_totals .wc-proceed-to-checkout,
    .cart_totals .checkout-button {
        margin-bottom: 0 !important;
    }
    .cart_totals .checkout-button {
        transition: .5s opacity;
    }
    .cart_totals .checkout-button:hover {
        opacity: .5;
    }
}

/* CHECK OUT */
body.checkout .container {
    padding-left: 0;
    padding-right: 0;
}
.woocommerce-billing-fields h3,
#order_review_heading,
body.checkout #payment:before {
    background: #202f51;
    color: #fff;
    font-size: 2rem;
    padding: .5em 1em;
    font-weight: 500;
}
body.checkout .woocommerce-billing-fields__field-wrapper,
body.checkout .woocommerce-shipping-fields__field-wrapper,
body.checkout .woocommerce-additional-fields,
body.checkout .woocommerce table.shop_table {
    width: 90%;
    margin: 0 auto;
}
body.checkout .woocommerce-billing-fields__field-wrapper,
body.checkout .woocommerce-shipping-fields__field-wrapper {
    font-size: 1.4rem;
}
body.checkout .woocommerce form .form-row label {
    font-size: 1.2em;
}
#ship-to-different-address {
    font-size: 2rem;
    border-top: 4px solid #202f51;
    border-bottom: 4px solid #202f51;
    padding: .6em 1em;
}
body.checkout .woocommerce-shipping-fields__field-wrapper {
    background: #e8f2ec;
    padding: 1em 1.5em;
    margin: 20px auto;
}

body.checkout .form-row.notes {
    padding: 0;
}
body.checkout .woocommerce table.shop_table {
    border: none;
}
body.checkout .woocommerce-Price-amount {
    font-size: 1.6rem;
}
body.checkout .woocommerce-shipping-totals {
}
body.checkout .woocommerce-shipping-totals td {
    width: 40%;
}
body.checkout #order_review .product-total,
body.checkout #order_review .cart-subtotal td,
body.checkout #order_review .order-total td {
    text-align: right;
}
body.checkout #shipping_method {
    margin-top: 7px;
}
body.checkout #order_review .order-total {
    margin-top: 20px;   
    padding-top: 10px;
    border-top: 1px solid #202f51;
}
body.checkout #order_review .order-total th,
body.checkout #order_review .order-total td {
    padding: 20px 4px !important;
    border-top-color: #202f51;
}
body.checkout #order_review .order-total td .amount {
    font-size: 1.8em;
}
body.checkout #payment {
    border-radius: 0;
    margin-bottom: 50px;
    padding-bottom: 10px;
}
body.checkout #payment:before {
    content: "お支払方法";
    display: block;
}
body.checkout .wc_payment_methods {
    padding: 1em 2em !important;
    border-bottom: none !important;
}
body.checkout #payment div.payment_box {
    margin-bottom: 2em;
    font-size: 1.4rem;
    background: #fff;
}
body.checkout #payment div.payment_box:before {
    border-bottom-color: #fff;
}
body.checkout .wc_payment_method input[type="radio"] {
    margin-right: 5px !important;
}
body.checkout .wc_payment_method label {
    display: inline-block;
    margin: 0;
    font-size: 1.6rem;
}
body.checkout .wc_payment_method label:hover {
    cursor: pointer;
}
body.checkout button#place_order {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 0;
    padding: 1em;
    background: #2c8d4a;
}
.woocommerce-order-received .entry-content {
    width: 90%;
    margin: 20px auto;
}
.woocommerce-thankyou-order-received {
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1em;
}
.woocommerce-order-received .woocommerce ul.order_details {
    margin-bottom: 0;
    padding-left: 0;
}
.woocommerce-order-received .woocommerce ul.order_details li {
    float: none;
    border-right: none;
    border-bottom: 1px dashed #d3ced2;
    padding-bottom: .5em;   
    margin-bottom: 1em; 
}
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title {
    font-size: 1.6rem;
    font-weight: 700;
    background: #202f51;
    color: #fff;
    text-align: center;
    padding: .5em;
}

@media only screen and (min-width:965px) {
    body.checkout .container {
        max-width: 1000px;
        width: 96%;
        margin: 0 auto;
    }
    body.checkout .woocommerce-billing-fields__field-wrapper,
    body.checkout .woocommerce-shipping-fields__field-wrapper,
    body.checkout .woocommerce-additional-fields,
    body.checkout .woocommerce table.shop_table,
    body.checkout .payment_methods,
    body.checkout .place-order {
        width: 96%;
    }
    #ship-to-different-address {
        border-width: 2px;
        padding: 1em;
        margin-top: 50px;
    }
    body.checkout .product-name {
        width: 85%;
    }
    body.checkout .woocommerce-shipping-totals td {
        width: auto;
    }
    body.checkout button#place_order {
        transition: .5s opacity;
    }
    body.checkout button#place_order:hover {
        opacity: .5;
    }
    .woocommerce-order-received .woocommerce ul.order_details li {
        float: left;
        border-bottom: none;
        border-right: 1px dashed #d3ced2;
    }
}

/* GUIDE */
body.guide p.caution {
    width: 90%;
    margin: 20px auto 0;
}
.guide_section .b_shoppingguide_text * {
    line-height: 1.5;
    font-size: 1.3rem;
}
.guide_section .b_shoppingguide_text p + ul {
    margin-top: 1em;
}
.guide_section .b_shoppingguide_text li + li {
    margin-top: .5em;
}

/* SHIPPING */
body.shipping .container-fluid .container {
    padding: 0;
    width: 100%;
}
body.shipping .entry-title_container {
    margin-bottom: 15px;
}
body.shipping .entry-title {
    background: #202f51;
    color: #fff;
    padding: .3em 1em;
}
body.shipping .b_shoppingguide_text {
    padding: 0 2em;
    line-height: 1.8;
    margin-bottom: 1.5em;
}
@media only screen and (min-width:965px) {
    body.shipping .entry-title {
        background: none;
        color: #202f51;
        padding: 0 .5em 12px;
    }
    body.shipping .b_shoppingguide_text {
        margin-bottom: 34px;
    }
}

/* ESTHETIC */
.esthetic_main.container {
    padding-left: 15px;
    padding-right: 15px;
}
.esthetic_main + .esthetic_main {
    margin-top: 50px;
}
.esthetic_main h2 {
    margin-bottom: 1.5em;
}
.esthetic_image {
    width: 80%;
    max-width: 500px;
    margin: 0 auto 15px;
    padding: 0 15px;
}
.esthetic_text {
    line-height: 1.8;
    padding: 0 15px;
}
.tool_wrapper {
    padding: 0 15px;
    margin-top: 30px;
}
.esthetic_main .section_title_sub {
    font-weight: bold;
    background: #202f51;
    color: #fff;
    letter-spacing: .5em;
    padding: .75em .5em;
    font-size: 1.3rem;
    margin: 0 auto;
    max-width: 420px;
}
.tool_wrapper h3, .esthetic_image_s {
    max-width: 420px;
    margin: 0 auto 10px;
}
@media only screen and (min-width:965px) {
    .esthetic_main + .esthetic_main {
        margin-top: 80px;
    }
    .esthetic_main h2 {
        margin-bottom: 2em;
    }
    .esthetic_image {
        margin-bottom: 30px;
    }
    .esthetic_text {
        max-width: 50em;
        margin: 0 auto;
    } 
    .esthetic_main .section_title_sub {
        margin-top: 50px;
        font-size: 1.4rem;
    }
    .tool_wrapper {
        margin-bottom: 50px;
    }
    .esthetic_image_s {
        margin: 0 auto 20px;
    }
}

/* SCHOOL */
.school_category.flex {
    flex-direction: column;
}
.school_category li {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}
.school_category li + li {
    margin-top: 10px;
}
.school_category li + li a {
    border-left: 1px solid #202f51;
}
.school_img {
    max-width: 750px;
    margin: 0 auto 10px;
}
.school_inner {
    max-width: 750px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}
.school_inner h3 {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 1.5em;
}
.school_inner h3:first-letter {
    font-size: 1.5em;
}
.school_text + .school_text {
    margin-top: 30px;
}
.school_text h4 {
    text-align: center;
    background: #202f51;
    color: #fff;
    padding: .5em;
    margin-bottom: 1em;
    font-weight: bold;
    letter-spacing: .5em;
    font-size: 1.4rem;
}
.school_list {
    padding: 0;
    margin-bottom: 1em;
}
.school_list li {
    display: list-item !important;
    list-style-type: disc;
    margin-left: 2em;
}
.school_list_bold li {
    font-weight: bold;
}
.school_sub {
    padding: 1.5em;
    background: #e8f2ec;
}
.school_dl dt {
    border-left: 4px solid #202f51;
    border-bottom: 1px solid #202f51;
    padding: 0 0 5px 10px;
}
.school_dl dd {
    padding: .5em 1em 0;
}
.school_dl dd .school_sub {
    display: block;
    padding: .5em;
    margin-top: .5em;
}

@media only screen and (min-width:965px) {
    .school_category.flex {
        flex-direction: row;
    }
    .school_category li {
        width: auto;
        margin: 5px;
    }
    .school_category li + li {
        margin: 5px;
    }
    .school_img {
        max-width: 1000px;
        margin-bottom: 20px;
    }
    .school_inner {
        max-width: 950px;
    }
    .school_inner h3 {
        font-size: 1.6rem;
    }
    .school_contents {
        width: 100%;
        max-width: 1000px;
        margin: 0 auto;
    }
    .school_text {
        font-size: 1.4rem;
    }
}

/* related - 2021/07/19 */
.related > h2 {
    font-size: 1.6rem;
    font-weight: bold;
}
.related > h2:before {
    content: "\f06c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 5px;
}
.related .products .add_to_cart_button,
.up-sells.upsells.products,
.woocommerce ul.products li.product .button {
    display: none !important;
}

/* cart */
.cart_item .product-quantity .minus, .cart_item .product-quantity .plus {
    display: none;
}
.woocommerce #content table.cart td.actions, .woocommerce table.cart td.actions, .woocommerce-page #content table.cart td.actions, .woocommerce-page table.cart td.actions {
    margin-left: auto;
    padding: 20px !important;
}
.woocommerce table.shop_table_responsive tr td.product-thumbnail {
    text-align: center !important;
}
    /*r040513*/
    .related.products{
        padding-top: 24px;
        clear: both;
    }