@charset "utf-8";

/*====================================================================================================

  受賞歴

====================================================================================================*/

.err {
  text-align:center;
}

@media print,screen and (min-width:641px) {
  .err {
    padding-top:200px;
    padding-bottom:200px;
  }
}

@media screen and (max-width:640px) {
  .err {
    padding-top:6em;
    padding-bottom:6em;
  }
}


/*----------------------------------------------------------------------------------------------------

  一覧
  
----------------------------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .list-cont {
    padding-top:112px;
  }
}

@media screen and (max-width:640px) {
  .list-cont {
    padding-top:3.5em;
  }
}

.sec-list {
  position:relative;
  overflow:hidden;
}

.sec-list:before {
  content:"";
  background-color:#f0f0f0;
  position:absolute;
  top:0;
  right:0;
  z-index:-1;
  transform-origin:left top;
  transform:scale(0,1);
}

.sec-list.is-scroll:before {
  transform:scale(1,1);
  -webkit-transition:transform 1s cubic-bezier(.23, 1, .32, 1);
  transition:transform 1s cubic-bezier(.23, 1, .32, 1);
  -webkit-transition-delay:0.2s;
  transition-delay:0.2s;
}

.listBoxs {
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content:space-between;
}

.listBoxs a,
.listBoxs a:visited,
.listBoxs a:hover { color:inherit; text-decoration:none; }

.listBoxs .box {
  width:50%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:vertical;
  -webkit-box-direction:normal;
  -ms-flex-direction:column;
  flex-direction:column;
}

.listBoxs .txt {
  padding-top:1em;
}

.listBoxs .date {
  color:#999;
  display:inline-block;
  margin-bottom:0.25em;
}

.listBoxs .link {
  padding-top:1.5em;
  margin-top:auto;
}

.listBoxs .link a {
  display:inline-block;
}

.listBoxs .photo .noimage:before {
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  border:1px solid #f0f0f0;
  z-index:2;
}

@media print,screen and (min-width:641px) {
  .sec-list {
    padding-top:88px;
    padding-bottom:144px;
  }
  
  .sec-list .inner {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
  }
  
  .listBoxs .box:nth-child(n+3) {
    padding-top:112px;
  }
}

@media print,screen and (min-width:1381px) {
  .sec-list:before {
    width:-webkit-calc(50% + 510px);
    width:calc(50% + 510px);
  }
  
  .sec-list:before {
    height:300px;
  }
  
  .list-hdline {
    width:288px;
  }

  .listBoxs {
    margin-left:-32px;
    margin-right:-32px;
  }

  .listBoxs .box {
    padding:0 32px;
  }
  
  .listBoxs .photo {
    height:360px;
  }
}

@media print,screen and (min-width:641px) and (max-width:1380px) {
  .sec-list:before {
    width:87.5%;
  }
  
  .sec-list:before {
    height:-webkit-calc(300 / 1380 * 100vw);
    height:calc(300 / 1380 * 100vw);
    min-height:250px;
  }
  
  .list-hdline {
    width:24%;
    font-size:-webkit-calc(0.45em + 0.75vw);
    font-size:calc(0.45em + 0.75vw);
  }
  
  .listBoxs {
    margin-left:-3.2%;
    margin-right:-3.2%;
  }

  .listBoxs .box {
    padding:0 3.2%;
  }
  
  .listBoxs .photo {
    height:-webkit-calc(360 / 1380 * 100vw);
    height:calc(360 / 1380 * 100vw);
    min-height:270px;
  }
}

@media screen and (min-width:641px) and (max-width:1014px) {
  .list-hdline {
    font-size:96%;
  }
}

@media screen and (max-width:640px) {
  .sec-list {
    padding-top:2em;
    padding-bottom:4em;
  }
  
  .sec-list:before {
    height:-webkit-calc(250 / 640 * 100vw);
    height:calc(250 / 640 * 100vw);
    width:calc(100% - 4em);
  }

  .listBoxs {
    margin-left:-2%;
    margin-right:-2%;
    padding-top:2em;
  }

  .listBoxs .box {
    padding:0 2%;
  }
  
  .listBoxs .box:nth-child(n+3) {
    padding-top:3em;
  }
  
  .listBoxs .photo {
    height:-webkit-calc(240 / 640 * 100vw);
    height:calc(240 / 640 * 100vw);
    min-height:120px;
  }
}


/*----------------------------------------------------------------------------------------------------

  詳細
  
----------------------------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .sec-detail {
    max-width:1180px;
    padding-bottom:144px;
  }
  
  .sec-detail .sec {
    padding-top:80px;
  }
  
  .sec-detail .err {
    padding-bottom:56px;
  }
}

@media screen and (max-width:640px) {
  .sec-detail {
    padding-bottom:4em;
  }
  
  .sec-detail .sec {
    padding-top:3em;
  }

  .sec-detail .err {
    padding-bottom:2em;
  }
}


/*--------------------------------------------------------------------------------
  タイトル
--------------------------------------------------------------------------------*/

.detail-hdline {
  border-bottom:1px solid #e1e1e1;
}

.detail-hdline .date {
  color:#999;
  display:inline-block;
  margin-bottom:0.5em;
}

@media print,screen and (min-width:641px) {
  .detail-hdline {
    padding-top:80px;
  }

  .detail-hdline .ttl {
    padding-bottom:1.5em;
  }
}

@media screen and (max-width:640px) {
  .detail-hdline {
    padding-top:2.5em;
  }

  .detail-hdline .ttl {
    padding-bottom:1em;
  }
}


/*--------------------------------------------------------------------------------
  見出し・コメントセット
--------------------------------------------------------------------------------*/

.sec-detail .p-glog {
  padding-top:0;
}

@media print,screen and (min-width:641px) {
  .sec-detail .sec--set__hdline {
    padding-bottom:2em;
  }
}

@media screen and (max-width:640px) {
  .sec-detail .sec--set__hdline {
    font-size:1.1em;
    padding-bottom:1.5em;
  }
}


/*--------------------------------------------------------------------------------
  Garally
--------------------------------------------------------------------------------*/

.garally {
  list-style:none;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

@media print,screen and (min-width:641px) {
  .garally {
    margin-left:-8px;
    margin-right:-8px;
    padding-top:18px;
  }

  .garally li {
    width:25%;
    padding:0 8px;
    position:relative;
  }
  
  .garally li:nth-child(n+5) {
    margin-top:16px;
  }
  
  .garally li .photo {
    height:240px;
  }
  
  .garally li .ttl {
    text-align:center;
    opacity:0;
    width:100%;
    height:100%;
    padding:2em;
    position:absolute;
    left:0;
    top:0;
    z-index:2;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-transition:opacity 0.4s ease;
    transition:opacity 0.4s ease;
  }
  
  .garally li a,
  .garally li a:visited,
  .garally li a:hover {
    color:#fff;
    text-decoration:none;
  }
  
  .ua-pc .garally li a:hover .ttl {
    opacity:1;
  }
}

@media print,screen and (min-width:641px) and (max-width:1240px) {
  .garally li .photo {
    height:-webkit-calc(240 / 1240 * 100vw);
    height:calc(240 / 1240 * 100vw);
    min-height:200px;
  }
}

@media screen and (max-width:640px) {
  .garally {
    margin-left:-1%;
    margin-right:-1%;
    padding-top:0.5em;
  }
  
  .garally li {
    width:33.333333%;
    padding:0 1%;
  }
  
  .garally li:nth-child(n+4) {
    margin-top:2%;
  }
  
  .garally li .photo {
    height:-webkit-calc(160 / 640 * 100vw);
    height:calc(160 / 640 * 100vw);
    min-height:100px;
  }
  
  .garally li .ttl {
    display:none;
  }
}

@media screen and (max-width:480px) {
  .garally li {
    width:50%;
  }
  
  .garally li:nth-child(n+3) {
    margin-top:2%;
  }
  
  .garally li .photo {
    height:-webkit-calc(250 / 640 * 100vw);
    height:calc(250 / 640 * 100vw);
    min-height:125px;
  }
}


/*--------------------------------------------------------------------------------
  Back 
--------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .back-link {
    padding-top:112px;
    padding-bottom:1em;
  }
}

@media screen and (max-width:640px) {
  .back-link {
    padding-top:3.5em;
    padding-bottom:1em;
  }
}

