@charset "UTF-8";

header{
    /* display: none !important; */
}

/* common /////////////////////////////////////////////////////////////////////////////////////////// */

/* color */
.c1,.c1 a{
    color: var(--c1);
}
.c2,.c2 a{
    color: var(--c2);
}
.c3,.c3 a{
    color: var(--c3);
}
.c4,.c4 a{
    color: var(--c4);
}
.c5,.c5 a{
    color: var(--c5);
}
.cb,.cb a{
    color: var(--cb);
}
.cr,.cr a{
    color: var(--cr);
}
.cw,.cw a{
    color: #ffffff;
}

/* bg */
.bg1{
    background-color: var(--c1);
}
.bg2{
    background-color: var(--c2);
}
.bg3{
    background-color: var(--c3);
}
.bg4{
    background-color: var(--c4);
}
.bg5{
    background-color: var(--c5);
}
.bgw{
    background-color: #fff;
}
.bgr{
    background-color: var(--cr);
}

.bgp1{
    background-image: url(../img/cmn_ptn_01.jpg);
}

/* font-family */
.ffkt{
    font-family: 'Kaisei Tokumin', serif;
}
.ffzg{
    font-family: 'Zen Kaku Gothic New', sans-serif;
}
.ffzm{
    font-family: 'Zen Old Mincho', serif;
}
.ffym{
    font-family: 'Yusei Magic', sans-serif;
}

/* cmn_cms_editor */
.cmn_cms_editor {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.cmn_cms_editor > *:nth-child(1) {
    margin-top: 0;
}

.cmn_cms_editor h3,
.cmn_cms_editor h4,
.cmn_cms_editor h5,
.cmn_cms_editor h6 {
    display: block;
    padding: 0 0 .3em 0;
    border-color: var(--c1);
    margin: .6em 0 .8em;
    line-height: 1.6;
	/* letter-spacing: -0.0415625em; */
	letter-spacing: -0.0015625em;
}

.cmn_cms_editor h3 {
    font-size: 2.2rem;
    border-width: 0 0 1px 0;
    border-style: double;
}

.cmn_cms_editor h4 {
    font-size: 2.0rem;
    border-width: 0 0 1px 0;
    border-style: dashed;
}

.cmn_cms_editor h5 {
    font-size: 1.8rem;
    border-width: 0 0 1px 0;
    border-style: dotted;
}

.cmn_cms_editor h6 {
    font-size: 1.6rem;
    border-width: 0 0 1px 0;
    border-style: dotted;
}


.cmn_cms_editor p {
    padding: 8px 0 10px;
    margin: 0 0 8px 0;
    /*text-align: justify;
    text-justify: inter-ideograph;*/
}

.cmn_cms_editor img {
    display: inline-block;
    width: auto;
    height: auto;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor iframe[src*="youtube"] {
    /* display: inline-block;
    width: 100%;
    height: 56.25vw;
    max-height: 506px;
    margin-top: 8px;
    margin-bottom: 8px; */

    display: inline-block;
    max-width: 100%;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor iframe[src*="google"][src*="map"] {
    display: inline-block;
    max-width: 100%;
    max-height: 600px;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor strong {
    font-weight: 900;
}

.cmn_cms_editor em {
    font-style: italic;
}

.cmn_cms_editor a {
    display: inline-block;
    margin-top: 4px;
    margin-bottom: 4px;
    color: #1673C7;
    text-decoration: underline;
    word-break: break-all;
}

.cmn_cms_editor a:hover {
    color: var(--c1);
}

.cmn_cms_editor table {
    margin: 0 0 8px 0;
    word-break: break-all;
}

.cmn_cms_editor th,
.cmn_cms_editor td {
    margin: 0 0 8px 0px;
    padding: 6px 8px;
    border: 1px solid var(--c1);
}

/* .cmn_cms_editor td:nth-of-type(1) {
    border-left: 1px solid #FFFFFF;
}

.cmn_cms_editor td:nth-last-of-type(1) {
    border-right: 1px solid #FFFFFF;
}

.cmn_cms_editor th {
    color: #FFFFFF;
    border: 1px solid #ffffff;
    background-color: #1C4365;
}

.cmn_cms_editor td {
    color: #1C4365;
    border: 1px solid #1C4365;
    background-color: #ffffff;
}
 */

.cmn_cms_editor ul {
    margin: 0 0 8px 0;
}

.cmn_cms_editor ul li {
    list-style: disc;
    margin: 0 0 4px 20px;
}

.cmn_cms_editor ol {
    margin: 0 0 8px 0;
    padding-left: 0;
}

.cmn_cms_editor ol li {
    list-style: decimal;
    margin: 0 0 4px 20px;
}

.cmn_cms_editor blockquote {
    color: #333333;
    background-color: #F3F3F3;
    margin-inline-start:8px;
    margin-inline-end:8px;
    padding: 15px;
}


/* WPオリジナルクラス有効化 */
.cmn_cms_editor .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.cmn_cms_editor .alignright {
    display: block;
    margin-left: auto;
}

.cmn_cms_editor .alignleft {
    display: block;
    margin-right: auto;
}

.cmn_cms_editor .wp-caption {
    border: 1px solid #ddd;
    text-align: left;
    background-color: #f3f3f3;
    padding: 5px;
    border-radius: 3px;
}

.cmn_cms_editor .wp-caption img {
    padding: 0;
    border: 0;
    margin: 0;
}

.cmn_cms_editor .wp-caption p.wp-caption-text {
    font-size: 14px;
    line-height: 1.5;
    padding: 0;
    margin: 0;
}



/* WPオリジナルクラス有効化 */
.cmn_cms_editor .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.cmn_cms_editor .alignright {
    display: block;
    margin-left: auto;
}

.cmn_cms_editor .alignleft {
    display: block;
    margin-right: auto;
}

.cmn_cms_editor .wp-caption {
    border: 1px solid #ddd;
    text-align: left;
    background-color: #f3f3f3;
    padding: 5px;
    border-radius: 3px;
}

.cmn_cms_editor .wp-caption img {
    padding: 0;
    border: 0;
    margin: 0;
}

.cmn_cms_editor .wp-caption p.wp-caption-text {
    font-size: 14px;
    line-height: 1.5;
    padding: 0;
    margin: 0;
}


/* modalmenu */

#header_modalmenu_check {
    display: none;
}

.header_modalmenu_btn {
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;

    cursor: pointer;
    position: fixed;
    top: 0;
    right: 0;

	z-index: 90000;
}

.header_modalmenu_btn .box {
    display: inline-block;
    width: 30px;
    height: 20px;
    position: absolute;
    top: 20px;
    left: 15px;
}

.header_modalmenu_btn .box span {
    position: absolute;
    left: 0;
    top: calc((100% - 1px)/2);
    display: block;
    width: 100%;
    height: 1px;
    background-color: #fff;

    transition: all .3s;
}

.header_modalmenu_btn .top {
    transform: translateY(-8px);
}

.header_modalmenu_btn .bottom {
    transform: translateY(8px);
}

#header_modalmenu_check:checked ~ .header_modalmenu_btn .top {
    transform: rotate(-135deg);
}

#header_modalmenu_check:checked ~ .header_modalmenu_btn .center {
    opacity: 0;
}

#header_modalmenu_check:checked ~ .header_modalmenu_btn .bottom {
    transform: rotate(135deg);
}

#header_modalmenu_close_bg {
    width: 100%;
    height: 100%;

    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);

	z-index: -1;
}

#header_modalmenu_area {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;

    opacity: 0;
    pointer-events: none;
    transition: all .3s;
    display: none;


	z-index: 80000;
}

#header_modalmenu_check:checked ~ #header_modalmenu_area {
    opacity: 1;
    pointer-events: all;
}

.header_modalmenu_areainner {
    padding: 80px 0 60px;
    transform: translateY(-30px);
    transition: transform .3s;
}

#header_modalmenu_check:checked ~ #header_modalmenu_area .header_modalmenu_areainner{
    transform: translateY(0);
}

.header_modalmenu_nav ul {
}

.header_modalmenu_nav ul li{
    margin-bottom: 10px;
}

.header_modalmenu_nav ul li a{
    display: block;
    width: 180px;
    margin: 0 auto;
    padding: 10px 0 10px 40px;

    background-repeat: no-repeat;
    background-size: 24px 24px;
    background-position: left center;
}

.header_modalmenu_nav ul li:nth-child(1) a{
    background-image: url(../img/cmn_ico_top_wh.svg);
}

.header_modalmenu_nav ul li:nth-child(2) a{
    background-image: url(../img/cmn_ico_news_wh.svg);
}

.header_modalmenu_nav ul li:nth-child(3) a{
    background-image: url(../img/cmn_ico_access_wh.svg);
}

.header_modalmenu_nav ul li:nth-child(4) a{
    background-image: url(../img/cmn_ico_column_wh.svg);
}

.header_modalmenu_nav ul li:nth-child(5) a{
    background-image: url(../img/cmn_ico_message_wh.svg);
}

.header_modalmenu_nav ul li:nth-child(6) a{
    background-image: url(../img/cmn_ico_sake_wh.svg);
}

.header_modalmenu_nav ul li:nth-child(7) a{
    background-image: url(../img/cmn_ico_shop_wh.svg);
}

.header_modalmenu_nav ul li:nth-child(8) a{
    background-image: url(../img/cmn_ico_mail_wh.svg);
}

/* cmn ///////////////////////////////////// */

/* header */

.header_infobar{
    width: 100%;
    height: 80px;
    padding: 25px 50px 0;

    display: flex;
    justify-content: space-between;
    z-index: 100000;
    line-height: 40px;
    
    position: fixed;
    top: 0px;
    left: 0px;

    transition: none;
}

.header_phone a{
    padding-left: 40px;

    background-image: url(../img/cmn_ico_phone_wh.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

.header_phone a:hover{
    color: var(--cr);
    background-image: url(../img/cmn_ico_phone_red.svg);
}

.header_topnavi{
    display: flex;
}

.header_topnavi li{
    margin-right: 50px;
}

.header_topnavi li:last-child{
    margin-right: 0;
}

.header_topnavi li a{
    background-repeat: no-repeat;
    background-position: left center;
}

.header_topnavi li:nth-of-type(1) a{
    padding-left: 24px;
    background-image: url(../img/cmn_ico_top_wh.svg);
}

.header_topnavi li:nth-of-type(2) a{
    padding-left: 30px;
    background-image: url(../img/cmn_ico_news_wh.svg);
}

.header_topnavi li:nth-of-type(3) a{
    padding-left: 22px;
    background-image: url(../img/cmn_ico_access_wh.svg);
}

.header_topnavi li a:hover{
    color: var(--cr);
}

.header_topnavi li:nth-of-type(1) a:hover{
    background-image: url(../img/cmn_ico_top_red.svg);
}

.header_topnavi li:nth-of-type(2) a:hover{
    background-image: url(../img/cmn_ico_news_red.svg);
}

.header_topnavi li:nth-of-type(3) a:hover{
    background-image: url(../img/cmn_ico_access_red.svg);
}

.header_logo{
    height: 60px;
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
}

.header_logo img{
    height: 100%;
    vertical-align: bottom;
}

.header_infobar_02{
    width: 100%;

    position: fixed;
    top: 80px;
    left: 0px;
    z-index: 99999;
}

.header_nav ul{
    display: flex;
    justify-content: space-between;
}

.header_nav ul li{
    width: calc(20% - 6px);
    position: relative;
}

.header_nav ul li::before{
    content: "";
    display: block;
    width: 10px;
    height: 100%;

    background-image: url(../img/header_infobar_02_deco_02.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    
    position: absolute;
    top: 0px;
    left: 100%;
}

.header_nav ul li.current::after{
    content: "";
    display: block;
    width: 100%;
    height: 7px;
    
    background-image: linear-gradient(to bottom, var(--cr) 1px, transparent 1px, transparent 3px, var(--cr) 3px, var(--cr) 4px, transparent 4px, transparent 6px, var(--cr) 6px, var(--cr));

    position: absolute;
    bottom: 6px;
    left: 0;
}

.header_nav ul li a{
    display: block;
    height: 100px;

    background-image: url(../img/header_infobar_02_deco.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;

    display: flex;
    justify-content: center;
    align-items: center;

    transition: height 0s;
}

.header_nav ul li a span{
    background-repeat: no-repeat;
    background-position: left center;

    transition: all .3s;
}

.header_nav ul li:nth-child(1) a span{
    padding-left: 37px;
    background-image: url(../img/cmn_ico_column_wh.svg);
}

.header_nav ul li:nth-child(2) a span{
    padding-left: 44px;
    background-image: url(../img/cmn_ico_message_wh.svg);
}

.header_nav ul li:nth-child(3) a span{
    padding-left: 35px;
    background-image: url(../img/cmn_ico_sake_wh.svg);
}

.header_nav ul li:nth-child(4) a span{
    padding-left: 40px;
    background-image: url(../img/cmn_ico_shop_wh.svg);
}

.header_nav ul li:nth-child(5) a span{
    padding-left: 42px;
    background-image: url(../img/cmn_ico_mail_wh.svg);
}

.header_nav ul li a:hover{
    color: var(--cr);
}

.header_nav ul li:nth-child(1) a:hover span{
    background-image: url(../img/cmn_ico_column_red.svg);
}

.header_nav ul li:nth-child(2) a:hover span{
    background-image: url(../img/cmn_ico_message_red.svg);
}

.header_nav ul li:nth-child(3) a:hover span{
    background-image: url(../img/cmn_ico_sake_red.svg);
}

.header_nav ul li:nth-child(4) a:hover span{
    background-image: url(../img/cmn_ico_shop_red.svg);
}

.header_nav ul li:nth-child(5) a:hover span{
    background-image: url(../img/cmn_ico_mail_red.svg);
}

/* cmn_maintitle */

.cmn_mainimg{
    height: 320px;
    margin-top: 80px;
}

.cmn_maintitle{
    height: 100%;
    padding-top: 100px;

    display: flex;
    justify-content: center;
    align-items: center;
}

/* footer */

footer{
    background-color: #f6f7f6;
}

.footer_top iframe{
    width: calc(100vw - 400px - (100vw - 1200px)/2);
    height: 550px;

    position: absolute;
    top: 0px;
    right: 0px;
}

.footer_top_left{
    height: 550px;

    display: flex;
    align-items: center;
}

.footer_top_left_inner{
    width: 300px;
}

.footer_logo{
    width: 118px;
}

.footer_top_left_inner > dl > div{
    display: flex;
}

.footer_top_left_inner > dl > div > dt{
    width: 75px;
}

.footer_top_left_inner > dl > div > dd{
    line-height: 20px;
    padding-left: 20px;

    border-left: solid 1px #fff;
}

.footer_top_left_contact{
    border-top: solid 1px #fff;
}

.footer_top_left_contact > p > a{
    padding-left: 50px;

    background-image: url(../img/cmn_ico_phone_wh.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

.footer_top_left_contact > p > a:hover{
    color: var(--cr);
    background-image: url(../img/cmn_ico_phone_red.svg);
}

.footer_top_left_contact > p:last-of-type{
    padding-left: 50px;

    background-image: url(../img/cmn_ico_fax_wh.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

.footer_top_left_contact .cmn_btn.white a{
    width: 200px;
    height: 50px;
}

.footer_top_left_contact .cmn_btn.white a span{
    padding-left: 35px;
    background-image: url(../img/cmn_ico_mail_02_wh.svg);
    background-repeat: no-repeat;
    background-position: left center;

    transition: background-image .3s;
}

.footer_top_left_contact .cmn_btn.white a:hover span{
    background-image: url(../img/cmn_ico_mail_02_bl.svg);
}

.footer_bottom ul{
    display: flex;
    flex-wrap: wrap;
}

.footer_bottom ul li::after{
content: "　|　";
}

.footer_bottom ul li:last-of-type::after{
    content: none;
}

.footer_attention{
    width: 230px;
    margin-left: auto;
    margin-top: -25px;
}

.footer_attention > figure{
    display: flex;
    justify-content: center;
}

.footer_attention > figure > img{
    height: 100px;
    margin: 0 10px;
}

.footer_bottom small{
    margin-top: -23px;
}

.footer_bottom small > span{
    display: inline-block;
    margin-right: 35px;
}

.footer_gotop {
    position: fixed;
    right: 20px;
    bottom: 20px;
    display: none;
    z-index: 50000;
}

.footer_gotop a{
    display: block;
    width: 30px;
    height: 42px;
    background-image: url(../img/footer_gotop_icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
}

.footer_gotop a::before{
    content: "";
    display: block;
    width: 5.3px;
    height: 28px;
    
    background-image: url(../img/footer_gotop_icon_arr.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;

    position: absolute;
    top: 0px;
    right: 15px;
}

.footer_gotop a:hover::before{
    top: -10px;
}

/* cmn_tit */

.cmn_tit_1st h2{
    padding-top: 80px;

    background-image: url(../img/cmn_tit_1st_deco.svg);
    background-repeat: no-repeat;
    background-position: center top;
}

/* cmn_btn */

.cmn_btn a,
.contact_form .contact_btn_area button,
.search_btn button{
    display: block;
    width: 220px;
    height: 50px;
    font-size: 1.6rem;
    border-radius: 30px;
    border: solid 1px var(--c2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.cmn_btn a:hover,
.contact_form .contact_btn_area button:hover,
.search_btn button:hover{
    opacity: 1;
    color: #fff;
    background-color: var(--c2);
}

.cmn_btn.white a{
    border: solid 1px #fff;
}

.cmn_btn.white a:hover{
    color: var(--c1);
    background-color: #fff;
}

.cmn_btn_detail a{
    padding-left: 30px;
    background-image: url(../img/cmn_arr_r_och.svg);
    background-repeat: no-repeat;
    background-position: left top 7px;
}

/* cmn_dl */

.cmn_dl > div {
    display: flex;
    border-bottom: solid 1px var(--c4);
    line-height: 20px;
}

.cmn_dl > div dt{
    width: 250px;
    flex-shrink: 0;

    color: var(--c1);
    font-weight: 700;

    display: flex;
    align-items: center;
    padding: 15px 30px;
}

.cmn_dl > div dd{
    width: 100%;

    display: flex;
    align-items: center;
    padding: 15px 30px;
}

/* cmn_dl_02 */

.cmn_dl_02 > div{
    display: flex;
    margin-top: 15px;
}

.cmn_dl_02 > div:first-child{
    margin-top: 0;
}

.cmn_dl_02 > div > dt{
    width: 120px;
    flex-shrink: 0;
}

.cmn_dl_02.time > div > dt{
    width: 75px;
}

.cmn_dl_02 > div > dd{
    line-height: 20px;
    padding-left: 20px;

    border-left: solid 1px var(--cb);
}

/* cmn_bgw */
.cmn_bgw{
    background-color: #fff;
    position: relative;
}

.cmn_bgw::before,
.cmn_bgw::after{
    content: "";
    display: block;
    width: 100%;
    height: 10px;

    background-size: auto 10px;
    background-repeat: repeat-x;
    position: absolute;
    z-index: 1;
    
    left: 0px;
}

.cmn_bgw::before{
    background-image: url(../img/cmn_bgw_deco_t.png);
    top: -10px;
}

.cmn_bgw::after{
    background-image: url(../img/cmn_bgw_deco_b.png);
    bottom: -10px;
}

.cmn_bgw.cmn_bgw_btmdeco_none::after{
    content: none;
}

/* cmn_tag */

.cmn_tag{
    display: inline-block;
    padding: 0 15px;
    line-height: 30px;
    letter-spacing: 0;
    color: #fff;
    background-color: #ccc;
}

.cmn_tag a{
    color: #fff;
}

.tag_popular{
    background-color: #d95336;
}

.tag_recommend{
    background-color: #d88841;
}

.tag_exclusive{
    background-color: #79b8bf;
}

.tag_gift{
    background-color: #738a5c;
}

.tag_premium{
    background-color: #c6ac4b;
}

.tag_original{
    background-color: #204460;
}

/* cmn_itemlist */

.cmn_itemlist{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 35px 5%;
}

.cmn_itemlist_tags{
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1;

    pointer-events: none;
}

.cmn_itemlist_tags .cmn_tag{
    display: block;
    min-width: 80px;
    text-align: center;
    margin-top: 7px;
    line-height: 24px;
    font-size: 1.2rem;
}

.cmn_itemlist_tags .cmn_tag:first-child{
    margin-top: 0;
}

.cmn_itemlist_img > figure{
    overflow: hidden;
}

.cmn_itemlist_img > figure img{
    object-fit: contain;
    transition: transform .3s;
}

.cmn_itemlist_img:hover > figure img{
    transform: scale(1.1);
}

.cmn_itemlist_cat a{
    padding-left: 20px;
    background-image: url(../img/cmn_ico_sake_02_ash.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

/* cmn_contactbnr */

.cmn_contactbnr{

    background-image: url(../img/cmn_contactbnr_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.cmn_contactbnr > div{
    width: 500px;
    height: 250px;
    padding: 20px;
    margin-left: auto;

    background-color: var(--c2t80);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.cmn_contactbnr > div .cmn_btn a:hover{
    color: var(--c2);
}

.cmn_contactbnr > div .cmn_btn a span{
    padding-left: 35px;
    background-image: url(../img/cmn_ico_mail_02_wh.svg);
    background-repeat: no-repeat;
    background-size: 24px auto;
    background-position: left center;
    transition: background-image .3s;
}

.cmn_contactbnr > div .cmn_btn a:hover span{
    background-image: url(../img/cmn_ico_mail_02_och.svg);
}

.cmn_contactbnr > div > p > a{
    padding-left: 45px;
    background-image: url(../img/cmn_ico_phone_02_wh.svg);
    background-repeat: no-repeat;
    background-size: 30px auto;
    background-position: left center;
}

/* pagination */
.pagination{
    text-align: center;
    font-size: 1.8rem;
}

.page-numbers{
    margin: 0 10px;
}

.page-numbers.current{
    color: var(--c4);
    border-bottom: solid 1px var(--c4);
}

a.page-numbers{
    color: var(--c2);
}

.page-numbers.dots{
    margin: 0;
}

.pagination a:hover{
    opacity: .7;
}

/* cmn_searchbox */

.search_cat{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 20px;
}

.search_cat > li a{
    display: block;
    width: 100%;
    height: 50px;

    border: solid 1px var(--c2);

    display: flex;
    justify-content: center;
    align-items: center;
}

.search_cat > li a:hover{
    color: #fff;
    background-color: var(--c2);
}

.search_form > dl > div{
    margin-top: 20px;

    display: flex;
}

.search_form > dl > div > dt{
    width: 180px;
    padding: 0 20px;
    line-height: 30px;
    flex-shrink: 0;
}

.search_form > dl > div > dd{
    width: 100%;
    padding: 0 20px;
}

.search_form > dl > div > dd > input[type="text"]{
    width: 100%;
    padding: 5px;
    margin: 0;
    border: none;
    line-height: 20px;
}

.search_form > dl > div > dd > select{
    padding: 5px;
    margin: 0;
    border: none;
    line-height: 20px;
}

.search_tag > label{
    display: inline-block;
    margin-right: 25px;
    line-height: 30px;
}

.search_tag > label > input{
    margin-right: 5px;
}

/* cmn_searchresults */

.cmn_searchresults dl > div{
    display: flex;
    margin-top: 10px;
}

.cmn_searchresults dl > div > dt{
    width: 100px;
    height: 30px;
    margin-right: 20px;

    display: flex;
    justify-content: center;
    align-items: center;
}


/* home ///////////////////////////////////// */

/* home_header */

.header_scrollanime.header_infobar{
    height: 400px;
}

.header_scrollanime.header_infobar .header_phone{
    position: relative;
}

.header_scrollanime.header_infobar .header_phone::before{
    white-space:pre;
    content: "営業時間／9:00〜19:00（日祝は18:00まで）\A定休日／水曜日";
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 700; 
    position: absolute;
    top: 45px;
    left: 0px;
}

.header_scrollanime.header_infobar .header_logo{
    height: 123px;
    top: 210px;
}

.header_infobar_02.header_scrollanime{
    position: fixed;
    top: 400px;
}

.header_infobar_02.header_scrollanime .header_nav ul li a{
    height: 200px;
    padding-bottom: 40px;
    align-items: flex-end;
}

.header_infobar_02.header_scrollanime .header_nav ul li a span{
    display: block;
    background-position: center top;
}

.header_infobar_02.header_scrollanime .header_nav ul li:nth-child(1) a span{
    padding-top: 60px;
    padding-left: 0;
    background-size: auto 48px;
}

.header_infobar_02.header_scrollanime .header_nav ul li:nth-child(2) a span{
    padding-top: 57px;
    padding-left: 0;
    background-size: 48px auto;
}

.header_infobar_02.header_scrollanime .header_nav ul li:nth-child(3) a span{
    padding-top: 60px;
    padding-left: 0;
    background-size: auto 48px;
}

.header_infobar_02.header_scrollanime .header_nav ul li:nth-child(4) a span{
    padding-top: 56px;
    padding-left: 0;
    background-size: 48px auto;
}

.header_infobar_02.header_scrollanime .header_nav ul li:nth-child(5) a span{
    padding-top: 52px;
    padding-left: 0;
    background-size: 48px auto;
}


/* home_mainimg */

.home_mainimg{
    height: 1200px;
}

.home_mainimg::before{
    content: "";
    display: block;
    width: 100%;
    height: 1200px;
    
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;

    background-image: url(../img/home_mainimg_copy.png), url(../img/home_mainimg.jpg);
    background-repeat: no-repeat;
    background-size: 590px auto, cover;
    background-position: left 60px top 250px ,center;

    pointer-events: none;
}

/* home_news */

.home_news{
    min-height: 380px;
    padding-bottom: 20px;
}

.home_news .cmn_content{
    width: 530px;
}

.home_news .cmn_content h2{
    padding-left: 50px;

    background-image: url(../img/cmn_ico_news_02_red.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

.home_news .cmn_content .cmn_btn a{
    height: 35px;
    width: 130px;
    margin-left: auto;
    font-size: 1.2rem;
}

.home_news_column{
    width: 530px;
    height: 530px;

    border-radius: 50%;

    display: flex;
    justify-content: center;
    align-items: center;

    position: absolute;
    top: -160px;
    right: -130px;
    z-index: 1;
}

.home_news_column_content{
    display: flex;
    flex-direction: row-reverse;
}

.home_news_column_content h2{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.home_news_column_content h2 span{
    letter-spacing: .1em;
}

.home_news_column_content > div > p{
    display: flex;
    align-items: center;
}

.home_news_column_content > div > p > span{
    width: 50px;
    height: 20px;
    margin-left: 20px;

    display: flex;
    justify-content: center;
    align-items: center;
}

.home_news_column_content > div > a{
    max-width: 270px;
}

/* home_about */

.home_about{
    min-height: 540px;
}

.home_about .cmn_content{
    width: 470px;
    margin-left: auto;
}

.home_about .cmn_content h2{
    padding-left: 90px;

    background-image: url(../img/cmn_tit_1st_deco.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

.marker_animation{
    /* background-image: linear-gradient(0deg,transparent 0%, transparent 3px, #fce648 3px,#fce648 13px,transparent 13px,transparent 100%); */
    position: relative;
    z-index: 0;
}

.marker_animation::before,
.marker_animation::after{
    content: "";
    display: inline-block;
    height: 10px;
    background-color: #fce648;

    position: absolute;
    left: 0px;
    right: 0;
    z-index: -1;

    transition: all .5s linear;
}

.marker_animation::before{
    bottom: 50px;
}
.marker_animation::after{
    bottom: 3px;
    transition-delay: .7s;
}

.marker_animation.fadeout::before,
.marker_animation.fadeout::after{
    right: 100%;
}

.home_about .cmn_content .cmn_btn{
    display: flex;
    justify-content: space-between;
}

.home_about .cmn_content .cmn_btn a{
    width: 200px;
}

.home_about > figure{
    width: 622px;

    position: absolute;
    top: -100px;
    left: 0px;
    z-index: 1;
}

/* home_reccomend */

.home_reccomend_desc p::before{
    content: "";
    display: block;
    width: 45px;
    height: 97px;

    background-image: url(../img/home_reccomend_desc_l.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    
    position: absolute;
    top: -15px;
    right: calc(100% + 30px);
}

.home_reccomend_desc p::after{
    content: "";
    display: block;
    width: 53px;
    height: 40px;

    background-image: url(../img/home_reccomend_desc_r.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    
    position: absolute;
    top: 20px;
    left: calc(100% + 30px);
}

.home_reccomend .cmn_btn a{
    width: 240px;
}

/* home_others */

.home_others .cmn_content{
    display: flex;
    justify-content: space-between;
}

.home_others .cmn_content > div{
    width: 470px;
    height: 250px;
    padding: 25px 50px 0;

    background-image: url(../img/home_others_frame.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.home_others .cmn_content > div h2 span{
    display: inline-block;
    line-height: 48px;

    background-repeat: no-repeat;
    background-position: left center;
}

.home_others .cmn_content > div:nth-of-type(1) h2 span{
    padding-left: 60px;
    background-image: url(../img/home_others_ico_01.png);
    background-size: auto 48px;
}

.home_others .cmn_content > div:nth-of-type(2) h2 span{
    padding-left: 80px;
    background-image: url(../img/home_others_ico_02.png);
    background-size: 60px auto;
}

/* news ///////////////////////////////////// */

.news_body h2 span{
    padding-left: 64px;

    background-image: url(../img/cmn_ico_news_02_red.svg);
    background-repeat: no-repeat;
    background-size: 40px auto;
    background-position: left center;
}

.news_body .cmn_dl > div dt{
    width: 180px;
}

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

.news_btn a{
    background-repeat: no-repeat;
    background-size: 22px auto;
}

.news_btn a:nth-child(1){
    padding-left: 35px;

    background-image: url(../img/cmn_arr_l_och.svg);
    background-position: left 5px center;
}

.news_btn a:nth-child(2){
    padding-right: 35px;

    background-image: url(../img/cmn_arr_r_och.svg);
    background-position: right 5px center;
}

.news_btn a:nth-child(1):hover{
    background-position: left center;
}

.news_btn a:nth-child(2):hover{
    background-position: right center;
}

.cmn_btn.news_back{
    margin-top: -35px;
}

/* column ///////////////////////////////////// */

.column_list ul{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 50px 5%;
}

.column_list ul li a > *{
    transition: all .3s;
}

.column_list ul li a:hover > *{
    opacity: .7;
}

/* message ///////////////////////////////////// */

.message_mainimg{
    margin-top: 80px;
    height: 620px;

    background-image: url(../img/message_mainimg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.message_mainimg > figure{
    width: 580px;

    position: absolute;
    bottom: 30px;
    right: 70px;
}

.message_message{
    position: relative;
}

.message_message::before{
    content: "";
    display: block;
    width: 100%;
    height: 10px;

    background-image: url(../img/cmn_bg_deco_t.png);
    background-size: auto 10px;
    background-repeat: repeat-x;

    position: absolute;
    top: -10px;
    left: 0px;
    z-index: 1;
}

.message_point{
    background-image: url(../img/message_point_bg.png);
    background-repeat: no-repeat;
    background-size: 934px auto;
    background-position: left calc((100vw - 1000px)/2 + 180px) center;
}

.message_point h2{
    padding-top: 30px;
    padding-left: 80px;
    background-image: url(../img/cmn_tit_1st_deco.svg);
    background-repeat: no-repeat;
    background-position: left bottom;
}

.message_point h2 span.deco{
    padding-left: 20px;
    padding-right: 20px;
    /* background-image: linear-gradient(0deg,#fce23f 0%,#fce23f 10px,transparent 10px,transparent 100%); */

    position: relative;
    z-index: 0;
}

.message_point h2 span.deco::before,
.message_point h2 span.deco::after{
    content: "";
    display: block;
    width: 6px;
    height: 6px;

    border-radius: 50%;
    background-color: var(--c1);
    
    position: absolute;
    top: 0px;
}

.message_point h2 span.deco::before{
    right: 158px;
}

.message_point h2 span.deco::after{
    right: 127px;
}

.message_point h2 .marker_animation::before{
    bottom: 3px;
}

.message_point h2 .marker_animation::after{
    content: none;
}

.message_point ul li{
    display: flex;
    justify-content: space-between;
}

.message_point ul li > figure{
    width: 36%;
}

.message_point ul li > div{
    width: 60%;
}

.message_point ul li > div > h3::before{
    content: "";
    display: block;
    width: 90px;
    height: 50px;

    background-image: url(../img/message_point_01_deco.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;

    position: absolute;
    top: -45px;
    left: -55px;
}

.message_point ul li:nth-of-type(2) > div > h3::before{
    background-image: url(../img/message_point_02_deco.png);
}

.message_point ul li:nth-of-type(3) > div > h3::before{
    background-image: url(../img/message_point_03_deco.png);
}

.message_point ul li:nth-child(2n){
    flex-direction: row-reverse;
}

.message_delivery h2 span{
    padding-left: 70px;
    padding-top: 30px;

    background-image: url(../img/cmn_tit_1st_deco.svg);
    background-repeat: no-repeat;
    background-position: left bottom;
}

.message_delivery .cmn_content{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.message_delivery .cmn_content > div > div{
    width: 480px;
    height: 320px;
    padding: 60px 20px 0;

    background-image: url(../img/message_delivery_deco.png), url(../img/message_delivery_01.jpg);
    background-repeat: no-repeat;
    background-size: 100% 100%, 98% 97%;
    background-position: center, center;
}

.message_delivery .cmn_content > div:nth-of-type(2) > div{
    background-image: url(../img/message_delivery_deco.png), url(../img/message_delivery_02.jpg);
}

.message_delivery .cmn_content > div > div .cmn_btn{
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
}

.message_delivery .cmn_content > div > div .cmn_btn a{
    background-color: #fff;
}

.message_delivery .cmn_content > div > div .cmn_btn a:hover{
    background-color: var(--c2);
}

/* items ///////////////////////////////////// */

/* item_detail */

.item_genre{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.item_genre_cat{
    flex-shrink: 0;
}

.item_genre_cat a{
    padding-left: 30px;
    background-image: url(../img/cmn_ico_sake_02_red.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

.item_genre_tag .cmn_tag{
    margin-left: 10px;
}

.item_about{
    display: grid;
    grid-template-columns: 40% 55%;
    grid-gap: 20px 5%;
}

.item_about_mainimg{
    background-image: url(../img/cmn_noimage.jpg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;

    /* transition: all .3s; */
}

.item_about_subimg{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
}

.item_about_subimg li{
    height: 80px;
}

.item_about_subimg li img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;

    cursor: pointer;
}

.item_about_feature{
    padding: 30px 25px;
    border: solid 2px var(--c1);
}

.item_about_feature .cmn_dl > div dt{
    width: 150px;
    padding: 15px 10px;
}

.item_about_feature .cmn_dl > div dd{
    padding: 15px 10px;
}

.items_recommend.cmn_bgw::before{
    content: none;
}

.items_tips h2 span{
    padding-left: 70px;
    background-image: url(../img/cmn_tit_1st_deco.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

.items_tips_list{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 30px 4%;
}

.items_tips_tit{
    height: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* company ///////////////////////////////////// */

.company_info > div > figure{
    width: 60%;
    height: 390px;

    position: absolute;
    bottom: 0px;
    right: 50%;
}

.company_info .cmn_dl{
    width: 45%;
    margin-left: auto;
}

.company_info .cmn_dl > div dt{
    width: 130px;
    padding: 15px 30px;
}

.company_info .cmn_dl > div dd{
    padding: 15px 30px 15px 0;
}

.company_access{
    padding-top: 260px;
    margin-top: -180px;
}

.company_access > div{
    width: 1200px;
    margin: 0 auto;

    display: flex;
}

.company_access > div > h3{
    width: 200px;
    padding-top: 30px;
    padding-left: 100px;
    padding-right: 100px;
    box-sizing: content-box;
}

.company_access .cmn_content{
    width: 800px;
    padding: 30px;

    border-top: solid 1.5px var(--c4);
    border-bottom: solid 1.5px var(--c4);
}

.company_access_map iframe{
    width: 100%;
    height: 600px;
}

.company_brand .cmn_content > figure{
    max-width: 530px;
}

.company_brand .cmn_dl > div > dt{
    width: 250px;
}

.company_brand .cmn_dl > div > dt > div{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.brand_area{
    width: 55px;
    height: 25px;

    font-size: 1.3rem;
    color: #fff;
    font-weight: 500;
    background-color: #ccc;

    display: flex;
    justify-content: center;
    align-items: center;
}

.brand_area.area_suzuka{
    background-color: #669ec0;
}

.brand_area.area_kuwana{
    background-color: #4c7346;
}

.brand_area.area_komono{
    background-color: #bf984d;
}

.brand_area.area_kawagoe{
    background-color: #185972;
}

.brand_area.area_tsu{
    background-color: #93a477;
}

.brand_area.area_taki{
    background-color: #898c55;
}

.brand_area.area_iga{
    background-color: #a8513e;
}

.brand_area.area_nabari{
    background-color: #d88841;
}

.brand_area.area_yokkaichi{
    background-color: #8c84a5;
}

.company_brand .cmn_dl > div > dd > div{
    width: 100%;
}

.company_brand .cmn_dl > div > dd > div > ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.company_brand .cmn_dl > div > dd > div > ul > li{
    width: 210px;
    margin-top: 10px;
}

/* contact ///////////////////////////////////// */

.contact_info_attention{
    max-width: 500px;
    margin: 0 auto;
    padding: 10px 3%;
}

.contact_info .cmn_content > p > a{
    padding-left: 50px;

    background-image: url(../img/cmn_ico_phone_bk.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

.contact_info .cmn_content > dl{
    width: 300px;
}

/* contact_form */

div.mfp_ok{
    display: none !important;
}

.contact_form .cmn_dl > div dt{
    width: 300px;
    flex-shrink: 0;
    position: relative;
}

.attention{
    color: var(--cr);
}

.required{
    display: inline-block;
    width: 40px;
    height: 20px;
    font-size: 1.2rem;
    color: #ffffff;
    background-color: var(--cr);
    text-align: center;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    font-weight: 400;
}

.reenter{
    font-size: 1.5rem;
    display: inline-block;
    color: var(--cr);
    padding-left: 10px;
}

.postMark{
    color: var(--cf);
}

.contact_form .cmn_dl > div dd{
    display: block;
    width: 700px;
}

.contact_form .cmn_dl .select_box{
    width: 300px;
    position: relative;
}

.contact_form .cmn_dl .select_box select{
    width: 100%;
    height: 40px;
}

.contact_form .cmn_dl .select_box::after{
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 13.0px 7.5px 0 7.5px;
    border-color: #808080 transparent transparent transparent;
    content: "";
    display: inline-block;
    pointer-events: none;
    position: absolute;
    top: 14px;
    right: 10px;
}

.contact_form .cmn_dl select{
    width: 100%;
    height: 100%;
    padding: 0 20px;
    border: solid 1px var(--cf);
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    background-color: #ffffff;
}

.contact_form .cmn_dl input[type="text"],
.contact_form .cmn_dl input[type="tel"],
.contact_form .cmn_dl input[type="fax"],
.contact_form .cmn_dl input[type="email"]{
    height: 40px;
    padding: 0 20px;
    border: solid 1px var(--cf);
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
}

.contact_form .cmn_dl input[type="text"]{
    width: 100%;
}
.contact_form .cmn_dl input[type="text"].post{
    width: 200px;
}

.contact_form .cmn_dl input[type="tel"],
.contact_form .cmn_dl input[type="fax"]{
    width: 300px
}

.contact_form .cmn_dl input[type="email"]{
    width: calc(100% - 70px);
}

.contact_form .cmn_dl textarea{
    width: 100% !important;
    height: 90px !important;
    padding: 10px 20px;
    border: solid 1px var(--cf);
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
}

.contact_method label,
.contact_wrapping label,
.contact_payment label{
    margin-right: 40px;
    display: inline-block;

    cursor: pointer;
}

.contact_method label:last-child,
.contact_wrapping label:last-child,
.contact_payment label:last-child{
    margin-right: 0;
}

.contact_method label input,
.contact_wrapping label input,
.contact_payment label input{
    margin-right: 10px;
}


.contact_privacy > div{
    height: 200px;
    padding: 40px 30px;
    overflow-y: scroll;
    border: solid 1px var(--cf);
}

.contact_privacy_content > div{
    padding: 20px 30px;
}

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

.contact_form .privacy_check input{
    margin-right: 5px;
}

.privacy_check label{
    cursor: pointer;
}

.contact_form .contact_btn_area{
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-around;
}

.contact_form .contact_btn_area button{
    background-color: transparent;
}

.contact_form .contact_btn_area button:nth-of-type(2){
    border: solid 1px var(--c4);
    margin-right: 20px;
}

.contact_form .contact_btn_area button:nth-of-type(2):hover{
    background-color: var(--c4);
}