@charset "utf-8";
/* CSS Document */
/* theme name: wine_awardsite */
body{
    font-family: "Noto Serif JP", serif;
    line-height: 1.65;
    font-optical-sizing: auto;
    font-weight:normal;
    font-style: normal;
    overscroll-behavior: none;
    font-size: 14px;
    background: rgb(255,255,255);
    color: #333;
    letter-spacing: 0.1em;
}

.pctab{display: none;}
.sp{display: block;}
@media screen and (min-width:768px){
    body{
        font-size: 15px;
        background: rgb(255,255,255);
        -o-background: linear-gradient(90deg, rgb(255 255 255 / 1) 0%, rgb(255 255 255 / 1) 50%, rgb(240 240 240 / 1) 50%, rgb(240 240 240 / 1) 100%);
        -moz-background: linear-gradient(90deg, rgb(255 255 255 / 1) 0%, rgb(255 255 255 / 1) 50%, rgb(240 240 240 / 1) 50%, rgb(240 240 240 / 1) 100%);
        -webkit-background: linear-gradient(90deg, rgb(255 255 255 / 1) 0%, rgb(255 255 255 / 1) 50%, rgb(240 240 240 / 1) 50%, rgb(240 240 240 / 1) 100%);
        background: linear-gradient(90deg, rgb(255 255 255 / 1) 0%, rgb(255 255 255 / 1) 50%, rgb(240 240 240 / 1) 50%, rgb(240 240 240 / 1) 100%);
    }
    .pctab{display: block;}
    .sp{display: none;}
}
/* ===============
       common
==================*/
:root {
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --hoverTransition: all .3s ease;
    --opacity: 0.55;
}
a{
    -moz-transition: var(--hoverTransition);
    -o-transition: var(--hoverTransition);
    -webkit-transition: var(--hoverTransition);
    transition: var(--hoverTransition);
}
.container{
    width: 90%;
    max-width: 1200px;
}
h2.mainItem{
    margin-bottom: 30px;
}
h2.mainItem .item {
    display: inline-block;
    width: auto;
    height: min(4.75vw, 24px);
}
h2.mainItem .item > img{
    width: 100%;
    /* height: 100%; */
    height: auto;
    object-fit: cover;
    object-position: 50% 50%;
}
.i-border {
    padding-top: 20px;
    position: relative;
    width: min(30vw,150px);
    display: flex;
    gap: 3px;
}
.i-border > span{
    display: inline-block;
    height: 1px;
    background: #333;
}
.i-border.gray > span{background: #ccc;}

.i-border > span:nth-of-type(1){width: 45%;}
.i-border > span:nth-of-type(2){width: 25%;}
.i-border > span:nth-of-type(3){width: 10%;}
.i-border > span:nth-of-type(4){width: 7%;}
.i-border > span:nth-of-type(5){width: 5%;}
.i-border > span:nth-of-type(6){width: 3%;}

/* =====================
         header
=======================*/
#frMainVisual {
    background-image: url(./img/fr-mv-sp.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 22% 50%;
    width: 100%;
    height: 768px;
    position: relative;
}
.awardLogo {
    color: #fff;
    margin: 0 auto;
    padding-top: 80px;
}
.frMV_txtwrap {
    color: #fff;
    position: absolute;
    top: 58%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 14px;
}
.frMV_txt {
    margin-bottom: 40px;
    text-shadow: 0 0 5px rgb(0 0 0);
}
.frMV_txtwrap ul li{
    color: rgb(255 255 255 / .3);
    margin-bottom: 10px;
}
@media screen and (min-width:768px){
    #frMainVisual {
        background-image: url(./img/fr-mv.webp);
        background-position: 75% 50%;
    }
    .frMV_txtwrap {
        padding-left: 30px;
        font-size: 15px;
    }
}
@media screen and (min-width:1920px){
    #frMainVisual {
        background-image: url(./img/fr-mv-l.webp);
        height: 1074px;
    }
}

/* ---- search ------ */
/* hamburger(ハンバーガーアイコン)
　　=================================== */
.hamburger {
    position: fixed;
    right: 10px;
    top: 10px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 300;
    background: #f0f0f0;
    border-radius: 50px;
}
.hamburger .search-glass{
    display: block;
    width: 22px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: all 0.5s;
    opacity: 1;
}
.open .hamburger .search-glass{
    opacity: 0;
}
.hamburger__line {
    position: absolute;
    width: 30px;
    height: 3px;
    right: 0;
    background-color: #999;
    transition: all 0.5s;
}
.hamburger__line--1,
.hamburger__line--2{
    opacity: 0;
}
.hamburger__line--1 {
    transform: rotate(-45deg);
    top: 19px;
    right: 3px;
}
.hamburger__line--2 {
    transform: rotate(45deg);
    top: 19px;
    right: 3px;
}

/*ハンバーガーがクリックされたら*/
.open .hamburger__line--1,
.open .hamburger__line--2{
    opacity: 1;
}
/* sp-nav(ナビ)
=================================== */
.sp-nav {
  position: fixed;
  right: -100%;
  top: 0;
  width: 86vw;
  height: 100vh;
  background-color: #F0F0F0;
  transition: all 0.5s;
  z-index: 200;
  overflow-y: auto;
  box-sizing: border-box;
}
.open .sp-nav {
  right: 0;
}
.sp-nav ul li{
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 3px;
}
/* 
black-bg(ハンバーガーメニュー解除用bg)
=================================== */
.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 5;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 100;
}
/*ハンバーガーメニューが開いたら表示*/
.open .black-bg {
  opacity: 0.3;
  visibility: visible;
}
@media screen and (min-width:768px){
    #nav-wrapper {
        display: none;
    }
}
/* ================
       footer
==================*/
footer{
    color: #fff;
    position: relative;
    background-image: url(./img/footer-bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    font-size: 14px;
    padding: min(15.5vw, 80px) 0 20px;
}
footer .container{
    margin-left: auto;
    margin-right: auto;
}
.footerlogo{
    margin-bottom: min(13vw,60px);
}
.flogo {
    width: min(88vw, 429px);
    margin-top: 10px;
}
footer .siteInfo{
    line-height: 1.75;
}
footer .siteInfo p:first-child{
    margin-bottom: 5px;
}
footer a.maplink{
    display: inline-block;
    font-size: 10px;
    padding: 0.2em 2em;
    border: 1px solid #fff;
    margin-top: 10px;
}
.copyright{
    font-size: 12px;
    margin-top: min(20vw,120px);
}
@media (any-hover: hover){
    footer a.maplink:hover{
        background: rgb(255 255 255 / .3)
    }
}

/* ========================
          contents
===========================*/
#contentsWrap{
    display: flex;
    width: 90%;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
}
#contentsWrap #contents{
    width: 100%;
    background: #fff;
    padding: 70px 0 80px;
}
@media screen and (min-width:768px){
    #contentsWrap #contents{
        width: calc(100% - 280px);
        padding-right: 20px;
    }
}
/* ------- sidemenu ------- */
#right_sidemenu{display: none;}
.searchBtn a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #999999;
    width: 200px;
    padding: 18px 50px;
}
@media (any-hover: hover){
    .searchBtn a:hover{
        background: #D6536A;
        background: #FF6665;
    }
}
.searchBtn a img{
    width: 69%;
}
.searchBtn a.info img{
    width: 78%;
}
.searchBtn a.magazine{
    padding-left: 30px;
    padding-right: 30px;
}
.searchBtn a.magazine img{
    width: 89%;
}
@media screen and (min-width:768px){
    #right_sidemenu{
        display: block;
        background: #F0F0F0;
        width: 280px;
        position: relative;
        font-size: 14px;
    }
}
.search-contents{
    position: sticky;
    top: 0;
    left: 0;
    padding: 50px 20px 50px 50px;
}
.sp-nav .search-contents{
    padding: 30px 20px 30px 30px;
}
.search-contents #search_blk:not(:first-of-type){
    margin-top: 30px;
}
#search_blk > span.item{
    display: inline-block;
    margin-bottom: 8px;
}
#search_blk > ul.itemList {
    display: flex;
    flex-wrap: wrap;
    gap: 0 15px;
}
#search_blk > ul.itemList li{
    margin-bottom: 10px;
    padding-left: 2.1em;
    text-indent: -2.1em;
}
.search-contents .searchBtn{
    margin-top: 50px;
}
input.input-compe {
    display: block;
    width: 100%;
    background: #fff;
    padding: 3px 5px 4px;
    border: 1px solid #c5c5c5;
    outline: 0;
}
input.input-compe:focus{
    border: 1px solid #FF6665;
    outline: 0;
}
/* checkbtn */
.check_btn input[type=checkbox].check_btn_item{
    display: none;
}
.check_btn label {
    display: inline-block;
}
.check_btn .check_btn_item + span {
    padding-left:1.75em;
    display: inline-block;
    position: relative;
    margin-right: 5px;
}
.check_btn .check_btn_item + span::after,
.check_btn .check_btn_item + span::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
}
.check_btn .check_btn_item + span::before {
    top:50%;
    transform: translateY(-80%);
    border: 1px solid #c5c5c5;
    background: #fff;
    left: 0;
    height: 1.45em;
    width: 1.45em;
}
.check_btn .check_btn_item + span::after {
    border: none;
    border-right: 0.25em solid #FF6665;
    border-bottom: 0.25em solid #FF6665;
    height: 0.75em;
    width: 0.45em;
    left: 0.5em;
    opacity: 0;
    top: -13px;
    transform: rotate(45deg);
}
.check_btn .check_btn_item:checked + span::after {
    opacity: 1;
}
@media screen and (min-width: 1079px) {
    #right_sidemenu {
        width: 370px;
    }
    #contentsWrap #contents{
        width: calc(100% - 370px);
        padding-right: 50px;
    }
}

/* =======================
          front
==========================*/
#awwMagazine{
    margin-top: 75px;
}
.infoBlk .searchBtn{
    margin-top: 40px;
    display: flex;
    justify-content: flex-end;
}
.noInfo{
    padding: 20px 5px;
}
.infoListWrap .Infoblk a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 5px 8px;
    padding: 5px;
}
@media (any-hover: hover){
    .infoListWrap .Infoblk a:hover{
        color: #FF6665;
    }
}
.Infoblk .post_info{
    display: flex;
    align-items: center;
    gap: 0 10px;
}
.Infoblk .post_info span.date,.zineTxt span.date{
    font-size: 12px;
    color: #999;
}
.Infoblk .post_info span.cat,
ul.infoMenu li a{
    font-size: 10px;
    color: #fff;
    padding: 2px 15px 2px;
    background: #ff66cc;
    width: 108px;
    display: inline-block;
    text-align: center;
    text-transform: uppercase;
}
.Infoblk .post_info span.cat.info_dwwa,
ul.infoMenu li a.info_dwwa{background: #333;}
.Infoblk .post_info span.cat.info_iwc,
ul.infoMenu li a.info_iwc{background: #0099ff;}
.Infoblk .post_info span.cat.info_jwcompe,
ul.infoMenu li a.info_jwcompe{background: #993399;}/* japan wine compe */
.Infoblk .post_info span.cat.info_jwc,
ul.infoMenu li a.info_jwc{background: #99cc66;}/* japan wine challenge */
.Infoblk .post_info span.cat.info_femi,
ul.infoMenu li a.info_femi{background: #ffcc33;}
.Infoblk .post_title {
    padding: 10px 0px;
    border-bottom: 1px dashed #ccc;
    width: 100%;
}
ul.infoMenu {
    display: flex;
    gap: 5px 15px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.magazineListWrap .zineblk:not(:last-of-type){
    margin-bottom: 45px;
}
.magazineListWrap .zineblk{
    display: flex;
    flex-wrap: wrap;
    gap: 14px 40px;
}
.zineTxt{padding-top: 10px;}
.zineTxt .zine_title{
    font-size: 12px;
    margin: 14px 0 20px;
}
.readmore {
    margin-top: 35px;
    display: flex;
    justify-content: flex-end;
}
.readmore a{
    display: inline-block;
}
.readmore a svg{
    width: min(30vw, 150px);
    height: 12px;
    fill: #999;
    transition: var(--hoverTransition);
}
.readmore img{width: 96px;}
.readmore .i-border{
    padding-top: 10px;
    transition: var(--hoverTransition);
}
.readmore .i-border span{transition: var(--hoverTransition);}
@media (any-hover: hover){
    .readmore a:hover svg{
        fill: #FF6665;
    }
    .readmore a:hover .i-border span{
        background: #ff6665;
    }
}
@media screen and (max-width:395px){
    ul.infoMenu {
        gap: 5px 11px;
    }
}
@media screen and (min-width:1280px){
    .Infoblk .post_title {
        width: calc(100% - 225px);
    }
    .Infoblk .post_info {
        gap: 0 22px;
    }
    .zineblk .zinethumb{
        width: 54%;
    }
    .zineblk .zineTxt{
        width: 40%;
    }
}