/*------------------------------homeBnr------------------------------*/
#homeBnr li.traffic a {
  background: #ea4705;
}

#homeBnr li.runrunfes a {
  background: #B4006F;
}

#homeBnr li.programme a {
  background: #AE2F4A;
}

@media screen and (max-width: 768px) {
  #homeBnr li.programme a {
      flex-wrap: wrap;
  }
}

/*homeBnrが更に必要に*/
#homeBnr-upper li {
  text-align: center;
}

#homeBnr-upper li a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #666;
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
}

#homeBnr-upper li a:after {
  content: "";
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  display: block;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  margin: 2px 0 0 10px;
  vertical-align: middle;
}

@media screen and (min-width: 769px) {
  #homeBnr-upper {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
  }

  #homeBnr-upper li {
      width: calc(50% - 20px);
      margin-bottom: 20px;
      font-size: 22px;
      line-height: 1.5;
  }

  #homeBnr-upper li.wide {
      width: 100%;
      font-size: 26px;
  }

  #homeBnr-upper li a {
      height: 120px;
  }

  #homeBnr-upper li a img {
      width: 30px;
      margin-right: 20px;
  }
}

@media screen and (max-width: 768px) {
  #homeBnr-upper {
      margin-bottom: 30px;
  }

  #homeBnr-upper li {
      margin-bottom: 10px;
      font-size: 18px;
  }

  #homeBnr-upper li a {
      min-height: 80px;
      padding: 10px;
  }

  #homeBnr-upper li a img {
      width: 16px;
      margin-right: 10px;
  }
}

#homeBnr-upper li.camera a {
  background: #00904C;
}

#homeBnr-upper li.archive a {
  background: #00406e;
}

@media screen and (max-width: 768px) {
  #homeBnr-upper li.camera a {
      flex-wrap: wrap;
  }
}


/*homeBnrが更に更に必要に*/
#homeBnr-racedayServices {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#homeBnr-racedayServices li {
  position: relative;
  margin-bottom: 15px;
  border: 2px solid #eee;
}

#homeBnr-racedayServices li.runphotoPlus {
  border-color: #009FE8;
  background: #009FE8;
}

#homeBnr-racedayServices li.certificate {
  background: #00406e;
  border: none;
  width: 100%;
}

/*#homeBnr-racedayServices li.certificate:before,*/
/* #homeBnr-racedayServices li.certificate:after {
  content: "";
  width: 100%;
  height: 5px;
  background: linear-gradient(to right, #318D4E 0%, #318D4E 20%, #AE2F4A 20%, #AE2F4A 40%, #0091C8 40%, #0091C8 60%, #249092 60%, #249092 80%, #2768A8 80%, #2768A8 100%);
  display: block;
  position: absolute;
  left: 0;
  z-index: 3;
} */

/*#homeBnr-racedayServices li.certificate:before {
    bottom: 0;
}*/
/* #homeBnr-racedayServices li.certificate:after {
  top: 0;
} */

#homeBnr-racedayServices li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #00406e;
  text-decoration: none;
  font-weight: bold;
}
#homeBnr-racedayServices li.runphotoPlus a,
#homeBnr-racedayServices li.certificate a{
  color: #fff;
}
#homeBnr-racedayServices li a > span{
  line-height: 1.2;
  text-align: center;
}
#homeBnr-racedayServices li a > span > span{
  font-size: 17px;
  line-height: 1.4;
  display: block;
}
#homeBnr-racedayServices li a > span > span.lg{
  font-size: 18px;
  line-height: 1.8;
}
#homeBnr-racedayServices li.certificate a:after {
  content: "";
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  display: block;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  margin: 2px 0 0 10px;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  #homeBnr-racedayServices {
      margin-bottom: 20px;
  }

  #homeBnr-racedayServices li {
      width: calc(50% - 20px);
  }

  #homeBnr-racedayServices li a {
      padding: 6px 0;
  }

  #homeBnr-racedayServices li.certificate a {
      height: 120px;
      font-size: 28px;
  }

  #homeBnr-racedayServices li a img {
      height: 70px;
  }
}

@media screen and (max-width: 767px) {
  #homeBnr-racedayServices li {
      width: 100%;
  }

  #homeBnr-racedayServices li a {
      padding: 3.5% 0;
  }

  #homeBnr-racedayServices li.certificate a {
      min-height: 80px;
      padding: 10px;
      font-size: 20px;
  }

  #homeBnr-racedayServices li a img {
      width: 98%;
  }
}


/*WEBサービスバナーの最後（.finisher）をセンタリング*/
#homeBnr-racedayServices.service-bnr li:last-child{
flex: 0 0 50%;
margin: auto;
}
@media screen and (max-width:767px){
#homeBnr-racedayServices.service-bnr li:last-child{
flex: 0 0 100%;
margin-bottom: 15px;
}    
#homeBnr-racedayServices li.certificate a {
font-size: 18px;
}
}



/*RunRunフェスバナー*/
.top-runrun,.owari{
position: relative;
}
.top-runrun:before{
content:"MINATO City Half Marathon 2025 Cheering event";
position: absolute;
font-size:1.1rem;
color:#fff;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
width:100%;
}
/*募集終了*/
.owari:before{
content:"※募集は終了しました。";
position: absolute;
font-size:0.9rem;
color:#fff;
top: 80%;
left: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
}
#homeBnr li a.owari{
	padding: 10px 10px 20px;
}
#homeBnr li a.orange{
background:#ff9422;
}
@media screen and (min-width: 769px){
#homeBnr li a.top-runrun{
	line-height: 250%;
}
}
@media screen and (max-width: 768px){
#homeBnr li a.top-runrun{
	padding: 10px 10px 30px;
}
.top-runrun:before{
font-size:0.85rem;
top: 85%;
}
}

/*homeにiframe*/
.iframeHome {
  position: relative;
  height: 0;
  padding: 30px 0 56.25%;
  overflow: hidden;
}

.iframeHome iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .iframeHomeWrap {
      max-width: 720px;
      margin-left: auto;
      margin-right: auto;
  }
}

.iframeTit {
  background: #00406e;
  color: #fff;
  text-align: center;
  font-size: min(4vw, 22px);
  padding: 3px 0;
}

/* pc2カラム / スマホ1カラムver. */
.movie-half{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin:2% auto 2.5%;
}
.movie-half div{
    width: 48%;
    margin:0 1%;
    max-width: 720px;
    text-align: center;
}
.movie-half div iframe{
    aspect-ratio:16 / 9;
    width: 100%;
    height: auto;
}
@media screen and (max-width: 768px){
.movie-half{
flex-direction: column;
margin:3% auto;
}
.movie-half div{
width:100%;
margin: 0 auto 1.5%
}
}


/*------------------------------runrunfes------------------------------*/
/*cheeringGroups*/
.cheeringGroups {
  display: grid;
  grid-column-gap: min(3.5vw, 20px);
}

.cheeringGroups .cheeringGroupsProfileBox {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
}

.cheeringGroups .cheeringGroupsProfileBox .cheeringGroupsName {
  /*background: #00406e;
  color: #fff;
  background: #62abe9;
  background: #ed994f;*/
  background: #b8e4ff;
  /*color: #142a52;*/ 
  font-weight: bold; 
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  text-align: center;
  line-height: 1.25;
  padding: 8px;
  border-radius: 2px;
}

.cheeringGroups .cheeringGroupsProfileBox .cheeringGroupsTxt {
  font-size: 14px;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .cheeringGroups {
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }

  .cheeringGroups .cheeringGroupsProfileBox {
      /*grid-template: 4em calc(100% - 4em) / auto;*/
      margin-bottom: 20px;
  }

  .cheeringGroups .cheeringGroupsPic {
      margin-bottom: 15px;
  }

  .cheeringGroups .cheeringGroupsProfileBox .cheeringGroupsName.txt-small {
      font-size: 13px;
  }
}

@media screen and (max-width: 767px) {
  .cheeringGroups {
      grid-template-columns: repeat(2, 48%);
      margin-bottom: 10%;
  }

  .cheeringGroups .cheeringGroupsProfileBox {
      /*grid-template: min(18vw, 5em) calc(100% - min(18vw, 5em)) / auto;*/
      margin-bottom: 5%;
  }

  .cheeringGroups .cheeringGroupsPic {
      margin-bottom: 2.5%;
  }

  .cheeringGroups .cheeringGroupsProfileBox .cheeringGroupsName {
      /*font-size: min(6vw, 18px)*/
      font-size: min(3vw, 16px)
  }
}

/*目次*/
.runrun-contents{
background-color: #edf7ff;
border-radius: 6px;
padding: 15px;
margin-bottom: 40px;
border:2px solid #c1ddff;
box-sizing: border-box;
}
@media screen and (min-width: 769px){
.runrun-contents{
display: inline-block;
width: 50%;
}
}
.runrun-contents li{
  list-style-type:square;
  margin-bottom: 3px;
  margin-left: 25px;
}
.runrun-contents li a{
  color: #073e85;
}
/*初参加*/
.runrun-new{
  position: relative;
}
.runrun-new:after{
  content:"初参加";
  position: absolute;
  background:#f7b434;
  font-size:0.85em;
  color: #fff;
  border-radius:50%;
  padding:10px 15px;
  width: 3em;
  top: 30%;
  left: 100%;
  margin-left: 2.5em;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);  
}

/*
@media screen and (min-width: 1220px) {
      .cheeringGroups .cheeringGroupsProfileBox {
        width: 23%;
    }
}
@media only screen and (min-width: 768px) and (max-width: 1219px) {
      .cheeringGroups .cheeringGroupsProfileBox {
        width: 32%;
    }
}
@media screen and (max-width: 767px) {
      .cheeringGroups .cheeringGroupsProfileBox {
        width: 49%;
    }
}
*/
/*ゲストランナー*/
.talkshowGroups {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
}

.talkshowGroups .talkshowGuestBox {
  display: flex;
  flex-flow: column;
  justify-items: center;
  align-items: flex-start;
}
.talkshowGroups .talkshowGuestBox .talkshowGuestPic {
  margin-bottom: 20px;
}

.talkshowGroups .talkshowGuestBox .talkshowGuestName {
  color: #0366ad;
  font-weight: bold;
  margin: 0 auto 25px;
  line-height: 1;
}
.talkshowGroups .talkshowGuestBox .talkshowGuestTxt{
  /*text-align: left;*/
  text-align: center;
  margin: 0 auto;
}
@media screen and (min-width: 770px) {
  .talkshowGroups {
      justify-content: space-around;
  }

  .talkshowGroups .talkshowGuestBox {
      width: 30%;
      margin-bottom: 20px;
  }
  .talkshowGroups.col-2 .talkshowGuestBox{
      width: 35%;
  }

  .talkshowGroups .talkshowGuestBox .talkshowGuestPic {
      max-width: 225px;
      margin-left: auto;
      margin-right: auto;
  }

  .talkshowGroups .talkshowGuestBox .talkshowGuestName {
      font-size: 1.4rem;
  }
}

@media screen and (max-width: 769px) {
  .talkshowGroups {
      justify-content: space-between;
  }

  .talkshowGroups .talkshowGuestBox {
      width: 100%;
      /*margin-bottom: 5%;*/
      margin-bottom: 10%;
      align-items: center;
  }

  .talkshowGroups .talkshowGuestBox .talkshowGuestName {
      font-size: 4vw;
  }
}

/*抽選会 */
@media screen and (min-width: 770px) {
  .lotteryGroups {
      display: grid;
      grid-template-columns: 3fr 2fr;
      gap: 20px;
  }

  .lotteryGroups .lotteryGroupsContent.txt {
      grid-column: 1 / 2;
      grid-row: 1 / 2;
      align-self: center;
      margin: auto;
  }

  .lotteryGroups .lotteryGroupsContent.map {
      grid-column: 1 / 2;
      grid-row: 2 / 3;
  }

  .lotteryGroups .lotteryGroupsContent.flyer {
      grid-column: 2 / 3;
      grid-row: 1 / 3;
  }
}

@media screen and (max-width: 769px) {
  .lotteryGroups .lotteryGroupsContent {
      margin-bottom: 3.5%;
  }
}

/*キッチンカー*/
.kitchencarGroups .kitchencarBox .kitchencarTxt,
.kitchencarGroups .kitchencarBox .baseTable {
  margin-top: 10px;
}

.kitchencarGroups .kitchencarBox .kitchencarBoxTit {
  /*background: #F4F9F6;*/
  background:#d7f0ff;
  margin-bottom: 8px;
  padding: 10px;
  font-weight: bold;
  text-align: center;
}

.kitchencarGroups .kitchencarBox .kitchencarSliderBox {
  width: 100%;
}

.kitchencarGroups .kitchencarBox .kitchencarSliderBox .kitchencarSlider {
  position: absolute;
}

.kitchencarGroups .kitchencarBox .kitchencarPagination .swiper-pagination-bullet {
  background: #cfcfcf;
  opacity: 0.8;
}

.kitchencarGroups .kitchencarBox .kitchencarPagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #00406e;
}

.kitchencarGroups .kitchencarBox .kitchencarNxt {
  background: url('/wp-content/themes/minato-half2023/img/common/next.png') no-repeat center center;
  background-size: contain;
}

.kitchencarGroups .kitchencarBox .kitchencarPrv {
  background: url('/wp-content/themes/minato-half2023/img/common/prev.png') no-repeat center center;
  background-size: contain;
}

.kitchencarGroups .kitchencarBox .kitchencarNxt:after,
.kitchencarGroups .kitchencarBox .kitchencarPrv:after {
  display: none
}

@media screen and (min-width: 770px) {
  .kitchencarGroups {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-column-gap: 8%;
      justify-content: space-between;
  }

  .kitchencarGroups .kitchencarBox {
      margin-bottom: min(10vw, 50px);
      display: grid;
      grid-row: span 4;
      grid-template-rows: subgrid;
  }

  .kitchencarGroups .kitchencarBox .kitchencarSliderBox {
      height: max(22vw, 222px);
  }

  .kitchencarGroups .kitchencarBox .kitchencarBoxTit {
      font-size: 1.2rem;
  }

  .kitchencarGroups .kitchencarBox>dd {
      display: contents;
  }
}

@media screen and (min-width: 1320px) {
  .kitchencarGroups .kitchencarBox .kitchencarSliderBox {
      height: 330px;
  }

  .kitchencarGroups .baseTable tbody tr th {
      width: 120px;
  }
}

@media screen and (max-width: 769px) {
  .kitchencarGroups .kitchencarBox {
      margin-bottom: 5%;
  }

  .kitchencarGroups .kitchencarBox .kitchencarBoxTit {
      font-size: 1rem;
  }

  .kitchencarGroups .kitchencarBox .kitchencarSliderBox {
      height: 58vw;
  }

  .kitchencarGroups .kitchencarBox .kitchencarTxt {
      margin-top: 2vw;
  }
}
.kitchencarSliderBox .swiper-pagination{
  bottom: 0 !important;
}
@media screen and (max-width: 1319px) {

  .kitchencarGroups .kitchencarBox .baseTable,
  .kitchencarGroups .kitchencarBox .baseTable tbody,
  .kitchencarGroups .kitchencarBox .baseTable tr,
  .kitchencarGroups .kitchencarBox .baseTable th,
  .kitchencarGroups .kitchencarBox .baseTable td {
      display: block;
      width: 100%;
      border-top: none;
  }
  .kitchencarGroups .kitchencarBox .baseTable{
      border-top: solid 1px #ddd;
  }
}

/*協賛企業出展ブース*/
.sponsorBooth .sponsorBoothBox {
  display: grid;
}

.sponsorBooth .sponsorBoothBox .sponsorBoothTit {
  background: #00406e;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  text-align: center;
  padding: 8px;
}

.sponsorBooth .sponsorBoothBox .sponsorBoothTxt {
  font-size: 1rem;
  line-height: 1.5;
}

@media screen and (min-width: 770px) {
  .sponsorBooth {
      display: grid;
      grid-column-gap: 4%;
  }

  .sponsorBooth .sponsorBoothBox {
      /*grid-template: 4em calc(100% - 4em) / auto;*/
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 4;
      margin-bottom: 25px;
  }

  .sponsorBooth .sponsorBoothBox dd {
      display: contents;
  }

  .sponsorBooth .sponsorBoothBox .sponsorBoothPic {
      margin-bottom: 15px;
  }
}

@media screen and (min-width: 1220px) {
  .sponsorBooth {
      grid-template-columns: repeat(3, 1fr);
  }

  .sponsorBooth .sponsorBoothBox .sponsorBoothTit {
      font-size: 1.15rem;
      line-height: 1.25;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1219px) {
  .sponsorBooth {
      grid-template-columns: repeat(2, 1fr);
  }

  .sponsorBooth .sponsorBoothBox .sponsorBoothTit {
      font-size: 1.05rem;
      line-height: 1.35;
  }
}

@media screen and (max-width: 769px) {
  .sponsorBooth .sponsorBoothBox {
      margin-bottom: 6%;
  }

  .sponsorBooth .sponsorBoothBox .sponsorBoothTit {
      font-size: min(4.5vw, 20px);
      padding: 2vw 0;
      line-height: 1.5;
  }

  .sponsorBooth .sponsorBoothBox .sponsorBoothPic {
      margin-bottom: 2.5%;
  }
}

/*フォトスポット */
@media screen and (min-width: 770px) {
  .photoSpot {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
  }

  .photoSpot .photoSpotContent.image {
      grid-column: 1 / 2;
      grid-row: 1 / 3;
  }

  .photoSpot .photoSpotContent.txt {
      grid-column: 2 / 3;
      grid-row: 1 / 2;
      align-self: center;
      margin: auto;
  }

  .photoSpot .photoSpotContent.map {
      grid-column: 2 / 3;
      grid-row: 2 / 3;
  }
}

@media screen and (max-width: 769px) {
  .photoSpot .photoSpotContent {
      margin-bottom: 3.5%;
  }
}

/*その他ブース */
@media screen and (min-width: 770px) {
  .boothFlexBox {
      display: flex;
      justify-content: space-between;
  }

  .boothFlexBox .boothBoxContent.image {
      width: 48%;
  }

  .boothFlexBox .boothBoxContent.txt {
      width: 50%;
  }

  .boothFlexBox .boothBoxContent.txt .boothBoxContentTit {
      font-size: 1.25rem;
      margin-bottom: 20px;
  }
}

@media screen and (max-width: 769px) {
  .boothFlexBox .boothBoxContent {
      margin-bottom: 3.5%;
  }

  .boothFlexBox .boothBoxContent.txt .boothBoxContentTit {
      font-size: min(4.5vw, 18px);
      margin-bottom: 2%;
  }
}


/*------------------------------SPONSOR------------------------------*/
.list ol  {
margin: 0px 0px 40px 5px;
}
.list ol li {
list-style: none;
}
i {
display: inline-flex !important;
align-items: center;
justify-content: center;
height: auto;
font-weight: bold;
font-size: 10px;
padding: 3px 3px;
color: #fff;
font-style: normal;
margin-right: .5rem;
line-height: 1.0;
border-radius: 3px;
}

i.word{background: #1759bc;}
i.xlsx{background: #009b46;}
i.pdf{background: #c00;}


/*------------------------------traffic------------------------------*/
#trafficBnr li {
  text-align: center;
}

#trafficBnr li a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ea4705;
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
}

#trafficBnr li a:after {
  content: "";
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  display: block;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  margin: 2px 0 0 10px;
  vertical-align: middle;
}

@media screen and (min-width: 769px) {
  #trafficBnr {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
  }

  #trafficBnr li {
      width: calc(50% - 20px);
      margin-bottom: 40px;
      font-size: 22px;
      line-height: 1.5;
  }

  #trafficBnr li a {
      height: 120px;
  }
}

@media screen and (max-width: 768px) {
  #trafficBnr {
      margin-bottom: 30px;
  }

  #trafficBnr li {
      margin-bottom: 10px;
      font-size: 18px;
  }

  #trafficBnr li a {
      min-height: 80px;
      padding: 10px;
  }
}

.navitimeBox .st-car-route-widget {
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.txt-nvy {
  color: #00406e !important;
}

/*a.pw-link {
background: #222;
    padding: 20px 40px;
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
}*/

/*a.pw-link:hover{
cursor: pointer;
}*/

#gNav>ul>li a.pw-link{
font-size:0.97em;
}


