@charset "utf-8";

/*ヘッダー*/
.l-base__head{
  position: fixed;
  width: 100%;
}

.l-header__portalLink{
  font-size: 1.75rem;
}

.js-siteSearchForm {
  display: none;
}

/*-Googleプログラム可能な検索エンジン*/
#l-header__search__Google .gsc-control-cse {
  padding: 2px;
  background: none;
  border: none;
}

#l-header__search__Google form.gsc-search-box {
  margin: 0;
}

#l-header__search__Google table {
  border: none;
}

#l-header__search__Google table.gsc-search-box {
  background: #fff;
  border: .0625rem solid #ccc;
}

#l-header__search__Google table.gsc-search-box td {
  padding: 2px 5px;
  border: none;
}

#l-header__search__Google .gsc-search-button-v2 {
  width: 27px;
  padding: 6px;
  border-color: #e81729;
  background-color: #e81729;
}

#l-header__search__Google .gsc-above-wrapper-area-container {
  border: none;  
}

#l-header__search__Google .gsc-above-wrapper-area-container td {
  padding: 5px;  
  border: none;  
}

#l-header__search__Google .gsc-selected-option-container {
  width: 110px;
}

#l-header__search__Google a:where([target="_blank"])::after {
  display: none;
}

#l-header__search__Google .gs-image {
  padding: 0 2px 2px 0;
  border: none;
}

#l-header__search__Google .gsc-cursor-box {
  text-align: center;
}

/* revert changes made by gpse mobile+ja.css */
#l-header__search__Google .gsc-input-box {
  padding: 0;
  border-radius: 0;
}
#l-header__search__Google .gsc-search-button-v2 {
  margin: 0 0 0 2px;
  border-radius: 2px;
}
#l-header__search__Google .gsc-search-button-v2 svg {
  width: auto;
}

.en-search {
  width: 205px !important;
}

@media screen and (max-width: 48rem) {
  #l-header__search__Google .gsc-results-wrapper-overlay {
    left: 8%;
    width: 85%;
  }
}

@media screen and (max-width: 405px) {
  #l-header__search__Google {
    width: 165px;
  }  
}

.l-header__toggle {
  display: none;
}

.new-headermenu-btn {
  position: relative;
  width: 60px;
  height: 60px;
  margin: auto 0 auto 30px;
  background-color: #fff;
　outline: initial;
}

.new-headermenu-btn .inn {
  position: absolute;
  width: 100%;
  height: 40px;
  top: 0;
}

.new-headermenu-btn .line {
  position: absolute;
  display: inline-block;
  height: 5px;
  left: 0;
  width: 100%;
  transition: 0.3s;
}

.new-headermenu-btn .line:nth-of-type(1) {
  top: 0;
  background-color: #E81729;
}
 
.new-headermenu-btn .line:nth-of-type(2) {
  top: 30%;
  background-color: #008746;
}
 
.new-headermenu-btn .line:nth-of-type(3) {
  bottom: 30%;
  background-color: #0260AE;
}

.new-headermenu-btn .line:nth-of-type(4) {
  bottom: 0;
  background-color: #FED903;
}

.new-headermenu-btn .txt {
  display: block;
  position: absolute;
  top: 43px;
  width: 100%;
  font-size: 0.8rem;
  font-weight: bold;
  text-align: center;
}

.new-headermenu {
  /*display: none;*/ 
  /*max-height: 0;
  transform: translateY(0);
  transform-origin: center top;*/
  transition: translate .4s cubic-bezier(.39, .575, .565, 1), opacity .3s cubic-bezier(.39, .575, .565, 1), visibility 0s ease .6s;
    /*translate: 0 -100%;*/
    translate: 0 0;
    visibility: hidden;  
    opacity: 0;
  background-color: rgba(0, 0, 0, .25);
  height: calc(100vh - 100%);
  height: calc(100dvh - 100%);
  overflow: auto;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
}

.new-headermenu.is-open {
  /*display: block;*/
  /*max-height: 10000px;
  transform: translateY(1);*/
    opacity: 1;
    transition-delay: 0s;
    translate: 0 0;
    visibility: visible
}

.new-headermenu .modal_overlay {
    width: 100%;
    height: 100%;
    position: absolute;    
}

.new-headermenu nav {
  position: absolute;
  top: 0;
  right: 0;
  width: 325px;
  padding: 15px;
  color: #fff;
  background-color: #1F1F1F;
  /*cursor: pointer;*/
}

.new-headermenu-close-btn {
  display: block;
  width: 70px;
  margin: 0 0 30px auto;
}

.new-headermenu-close-btn span {
  margin-right: 5px;
}

.new-headermenu nav ul {
  max-height: 0;
  transform: scaleY(0);
  transform-origin: center top;
  transition: all .2s;
}

.new-headermenu nav ul.is-open {
  max-height: 1000px;
  transform: scaleY(1);  
}

.new-headermenu ul {
  margin: 0;
  padding: 0;
}

.menu-item-btn, .menu-item-btn-only, .new-headermenu ul li {
  padding: 0;
  border-bottom: 1px solid #727272;
  cursor: pointer;
}

.new-headermenu ul li {
  margin-top: 0;
}

.new-headermenu ul li a {
  padding: 10px 10px 10px 20px;
}

.menu-item-btn, .menu-item-btn-only {
  position: relative;
  padding: 10px 0;
}

.menu-item .has-child::after{
  background: none;
  content: "＋";
  width: 1rem;
  height: 2rem;
  position: absolute;
  top: 10px;
  right: 0px;
}

.menu-item .is-submenu-open::after{
  content: "ー";
}

.new-headermenu ul li::before {
  display: none;
}

.new-headermenu a {
  display: block;
  padding: 10px;
  text-decoration: none;
}

.new-headermenu a:hover {
  text-decoration: underline;
}

.new-headermenu a, .new-headermenu a:visited {
  color: #fff;
}

.menu-item-btn-only a {
  padding: 0;
}

.new-headermenu ul li a:where([target="_blank"])::after {
  background-color: #fff;
  width: 1rem;
  height: 2rem;
  position: absolute;
  top: 10px;
  right: 0px;
}


@media screen and (min-width: 64rem){
  #main-content {
    margin-top: 149px;
  }
  .new-headermenu nav {
    margin-right: max(var(--gap), (100% - 75rem)/2);
  }
}

@media screen and (max-width: 64rem){
  .header__btns{
    align-items: center;
  }
  .l-header__portalLink {
    display: block;
  }
  .l-header__top {
    justify-content: end;
    padding: 0 .375rem;
  }
}

@media screen and (max-width: 48rem) {
  .header__btns {
    display: flex;
  }
  .l-header__portalLink, .c-logoText {
    width: 100%;
    font-size: 1.1rem;
  }
  .new-headermenu-btn {
    margin: auto 0 auto 5px;
  }
}

/*フッター*/
.l-footer__banner {
  background-color: #FEF4F4;
  border-top: none;
}

.p-footerBanner__list {
  place-items: center;
}

.p-fNavChild__child {
  margin-left: 15px;
}

.p-fNavChild__child__item {
  line-height: 1.4;
}

.p-fNavChild__child__link {
  font-size: 0.8rem;
  line-height: 1.4;
}

.l-footer__links .p-footerInfo__org, .l-footer__links .p-footerInfo__copy {
  font-size: 0.8rem;
  line-height: 1.2;
  text-align: center;
}

.l-footer__links .p-footerInfo__copy {
  margin-top: 0.4rem;
}

.p-footerLinks {
  margin-top: 15px;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

.p-footerLinks__link {
  font-size: 0.8rem;  
}

.p-footerLinks__link br {
  display: none;
}

.p-footerLinks__link:where([target="_blank"])::after {
  background-color: #fff;
}

.p-footerLinks__link:where([href*=".pdf" i])::after {
  background-color: #222;  
}

.p-footerLinks__item + .p-footerLinks__item::before {
  height: .8rem;
  margin: 0rem 0.5rem 0;
}

.p-footerLinks__item:nth-of-type(1)::before, .p-footerLinks__item:last-child::after {
  border-left-width: medium;
  border-left-style: none;
  border-left-color: currentcolor;
  border-left: .0625rem solid #fff;
  border-radius: 0;
  content: "";
  display: inline-block;
  height: .8rem;
  margin: 0rem 0.5rem 0;
  position: static;
  vertical-align: middle;
  width: 0;
}  

.p-footerLinks__item:nth-of-type(1)::before {
  border-left-style: none;
  border-color: #fff;
  border-width: .0625rem;
}


@media screen and (min-width: 48rem){
  div.p-footerNav__item {
    margin: 20px 0 0;
  }
  
  .p-fNavChild__child__link {
    font-size: 0.8rem;
    line-height: 1;
  }

  .p-fNavChild__child__item + .p-fNavChild__child__item {
    margin-top: 10px;
  }
  
}

@media screen and (max-width: 48rem){
  div.p-footerNav__item {
    border-top: .0625rem solid var(--color-border);
  }
  
  .l-footer__links .p-footerInfo__org {
    font-size: .75rem;
    line-height: 1.6666666667;
    word-break: keep-all;
  }
  
  .p-footerLinks__item{
    width: auto;
    line-height: 1;
  }
  
  .p-footerLinks__link {
    font-size: 0.6rem;  
  }
  
  .p-footerLinks__item a:where([href*=".pdf" i])::after, .p-footerLinks__link:where([target="_blank"])::after {
    width: 0.7rem;
  }

  .p-footerLinks__item:nth-of-type(1)::before, .p-footerLinks__item:last-child::after {
    display: none;
  }
}

@media screen and (max-width: 630px){
  .p-footerLinks__link br {
    display: block;
  }  
}

@media screen and (max-width: 447px){
  .p-footerLinks__link {
    font-size: 0.5rem;  
  }
}

/*@media screen and (max-width: 440px){
  .p-footerLinks__item{
    line-height: 1;
  }
  
  .p-footerLinks__link {
    font-size: 0.6rem;  
  }
  
  .p-footerLinks__item a:where([href*=".pdf" i])::after {
    width: 0.7rem;
  }
}*/

@media (any-hover: hover) {
  div.p-fNavChild__link:hover {
    text-decoration: none;
  }
}

#sp-footerNav-news {
  display: none;
}

@media screen and (max-width: 48rem){
  #pc-footerNav-news {
    display: none;
  }

  #sp-footerNav-news {
    display: block;
  }
}

/*トップページコンテンツ*/
.p-topMenu {
  padding-bottom: 3.75rem;
  padding-top: 0;
}

.p-topSNS {
  padding-bottom: 3.75rem;
  padding-top: 6.5rem;
}

#topMenuKnow {
  padding-top: 6.5rem;  
}

@media print,
screen and (min-width:48.0625rem) {
    .p-topMenu, .p-topSNS {
        align-items: center;
        column-gap: 3%;
        /*display: grid;*/
        grid-template: "head tabs more" max-content "body body body" max-content/max-content 1fr max-content
    }
}

@media screen and (max-width:48rem) {
    .p-topMenu, .p-topSNS {
        padding-bottom: 1.875rem;
        padding-top: 3.125rem
    }
}

.p-topMenu h3, .p-topSNS h3 {
  width: 100%;
  color: #fff;
  background: #0260AE;
}

.p-topMenu h3 {
  position: relative;
  padding-left: 35px;
}

.p-topMenu h3::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 100%;
  background: #E81729;
  border-right: 2px solid #fff;
}

.p-topMenu h3:nth-of-type(2)::before {
  background: #008746;
}

.p-topMenu__head, .p-topSNS__head {
    border-bottom: none;
    font-size: 2.5rem;
    font-weight: 700;
    grid-area: head;
    line-height: 1.2;
    margin-bottom: 0;
    padding-bottom: 0
}

@media screen and (max-width:48rem) {
    .p-topMenu__head, .p-topSNS__head {
        font-size: 1.75rem;
        line-height: 1.4285714286;
        margin-bottom: 1.0625rem;
        text-align: center
    }
}

.p-topMenu__body, .p-topSNS__body {
    grid-area: body;
    margin-top: 2.8125rem
}

@media screen and (max-width:48rem) {
    .p-topMenu__body, .p-topSNS__body {
        margin-top: 1.875rem
    }
}

.p-topMenu__body ul {
  display: flex;
  flex-wrap: wrap;
  width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width:1150px) {
    .p-topMenu__body ul {
      width: 810px;
    }
}

@media screen and (max-width:890px) {
    .p-topMenu__body ul {
      width: 540px;
    }
}

@media screen and (max-width:600px) {
    .p-topMenu__body ul {
      width: 270px;
    }
}

.p-topMenu__body ul li {
  width: 250px;
  margin: 10px;
  padding: 0;
  border: solid 3px #0260AE;
  font-weight: bold;
  line-height: 30px;
}

#topMenuKnow .p-topMenu__body ul li {
  border: solid 3px #E81729;
}

#topMenuBland .p-topMenu__body ul li {
  border: solid 3px #008746;
}

#topMenuOrgInfo .p-topMenu__body ul li {
  border: solid 3px #FED903;
}

.p-topMenu__body ul li.fontSize15 {
  font-size: 15px;
}

.p-topMenu__body ul li.fontSize14 {
  font-size: 14px;
}

.p-topMenu__body ul li.fontSize13 {
  font-size: 13px;
}

.p-topMenu__body ul li.fontSize11 {
  font-size: 11px;
}

.p-topMenu__body ul li.LineHeight60 {
  line-height: 60px;
}

@media screen and (max-width:600px) {
  .p-topMenu__body ul li.LineHeight60 {
    line-height: 30px;
  }
}

.p-topMenu__body ul li::before {
  display: none;
}

.p-topMenu__body ul li a {
  display: block;
  height: 100%;
  padding: 15px 30px 15px 15px;
  color: #000;
  text-align: center;
  text-decoration: none;
}

.p-topMenu__body ul li a:visited {
  color: #000;
}

.p-topMenu__body ul li a:hover {
  color: #fff;
  background: #0260AE;
  transition: color .3s cubic-bezier(.39, .575, .565, 1);
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1);
}

.p-topMenu__body ul li a:where([target="_blank"])::after {
  background-color: #000;
}

.p-topMenu__body ul li a:hover:where([target="_blank"])::after {
  background-color: #fff;
}

#topMenuKnow .p-topMenu__body ul li a:hover {
  background: #E81729;
}

#topMenuBland .p-topMenu__body ul li a:hover {
  background: #008746;
}

#topMenuOrgInfo .p-topMenu__body ul li a:hover {
  background: #FED903;
}

.p-topMenu__body ul li a span::after {
  background-color: #000;
  bottom: 0;
  content: "";
  display: block;
  height: .8125rem;
  margin: auto;
  -webkit-mask-image: url(images/icon_arrow.svg);
  mask-image: url(images/icon_arrow.svg);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  position: absolute;
  right: .6875rem;
  top: 0;
  transition: background-color .3s cubic-bezier(.39, .575, .565, 1);
  width: .875rem;  
}

.p-topMenu__body ul li a:hover span::after {
  background-color: #fff;
}

.p-topSNS__body .newSNSBox {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px;
}

@media screen and (max-width:800px) {
  .p-topSNS__body .newSNSBox .icon {
    margin: 0 auto;
  }
}

.p-topSNS__body .newSNSBox .name {
  position: relative;
  width: 500px;
  margin: 12px 0 12px 40px;
  font-size: 1.125rem;
}

.p-topSNS__body .newSNSBox .name::before {
  content: "▶";
  position: absolute;
  left: -45px;
  padding: 0 15px;
}

.p-topSNS__body .newSNSBox .icon {
  display: flex;
}

.p-topSNS__body .newSNSBox .icon div{
  margin: 0 10px;
}

@media screen and (max-width: 48rem) {
  .header__snsicons {
    width: 3.5rem;
  }
}

.p-top__more a {
  display: block;
  width: 505px;
  margin: 0 auto;
  text-align: center;
}

.en-more-btn a {
  width: 560px;  
}

@media screen and (max-width: 620px) {
  .p-top__more {
    width: 100%;
  }

  .p-top__more a, .en-more-btn a {
    width: 100%;
  }
}

.sports_lottery {
  display: flex;
  align-items: center;
  justify-content: space-around;
  grid-column: wide;
}

.sports_lottery div {
  margin: 0 5px;
}

.sports_lottery img {
  max-height: 110px;
}

.sports_lottery div a:where([target="_blank"])::after{
  display: none;
}