@import url(reset.css);
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@400;700&family=Montserrat:wght@400;600;700&display=swap");

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box
}

html {
scroll-behavior: smooth
}

body {
font-family: 'IBM Plex Sans JP', sans-serif;
font-size: 16px;
font-weight: normal;
color: #000;
line-height: 1.8
}

#wrap {
width: 100%;
overflow: hidden;
min-width: 1000px
}

img {
max-width: 100%;
height: auto;
image-rendering: -webkit-optimize-contrast
}

.serif {
font-family: 'Zen Old Mincho', serif
}

.en {
font-family: 'Montserrat', sans-serif;
letter-spacing: .02em
}

li {
list-style-type: none
}

.tCenter {
text-align: center
}

.tRight {
text-align: right
}
.tLeft {
text-align: left
}

.btn {
text-align: center;
margin-top: 20px
}

.btn a {
display: inline-block;
background: #2584CD;
color: #FFF !important;
padding: 10px;
border-radius: 5px;
text-decoration: none;
width: 300px;
max-width: 100%
}

.btnL a {
width: 600px;
padding-top: 20px;
padding-bottom: 20px;
}

.btn.orange a {background:#ff9900;}

@media screen and (min-width: 769px) {

.sp,
.tb {
  display: none
}

.hvEx img {
  transition: .25s
}
}

@media screen and (max-width: 768px) {
html {
  height: -webkit-fill-available
}

body {
  font-size: 14px
}

#wrap {
  min-width: 0
}

.tb,
.pc {
  display: none
}
}

a {
color: #000
}

a:hover {
color: #001D58;
text-decoration: none
}

.display_pc {display:block !important;}
.display_sp {display:none !important;}
@media (max-width: 767px){
.display_sp {display:block !important;}
.display_pc {display:none !important;}
}


.mt0 {
margin-top: 0px !important
}

.mr0 {
margin-right: 0px !important
}

.mb0 {
margin-bottom: 0px !important
}

.ml0 {
margin-left: 0px !important
}

.pt0 {
padding-top: 0px !important
}

.pr0 {
padding-right: 0px !important
}

.pb0 {
padding-bottom: 0px !important
}

.pl0 {
padding-left: 0px !important
}

.mt5 {
margin-top: 5px !important
}

.mr5 {
margin-right: 5px !important
}

.mb5 {
margin-bottom: 5px !important
}

.ml5 {
margin-left: 5px !important
}

.pt5 {
padding-top: 5px !important
}

.pr5 {
padding-right: 5px !important
}

.pb5 {
padding-bottom: 5px !important
}

.pl5 {
padding-left: 5px !important
}

.mt10 {
margin-top: 10px !important
}

.mr10 {
margin-right: 10px !important
}

.mb10 {
margin-bottom: 10px !important
}

.ml10 {
margin-left: 10px !important
}

.pt10 {
padding-top: 10px !important
}

.pr10 {
padding-right: 10px !important
}

.pb10 {
padding-bottom: 10px !important
}

.pl10 {
padding-left: 10px !important
}

.mt15 {
margin-top: 15px !important
}

.mr15 {
margin-right: 15px !important
}

.mb15 {
margin-bottom: 15px !important
}

.ml15 {
margin-left: 15px !important
}

.pt15 {
padding-top: 15px !important
}

.pr15 {
padding-right: 15px !important
}

.pb15 {
padding-bottom: 15px !important
}

.pl15 {
padding-left: 15px !important
}

.mt20 {
margin-top: 20px !important
}

.mr20 {
margin-right: 20px !important
}

.mb20 {
margin-bottom: 20px !important
}

.ml20 {
margin-left: 20px !important
}

.pt20 {
padding-top: 20px !important
}

.pr20 {
padding-right: 20px !important
}

.pb20 {
padding-bottom: 20px !important
}

.pl20 {
padding-left: 20px !important
}

.mt25 {
margin-top: 25px !important
}

.mr25 {
margin-right: 25px !important
}

.mb25 {
margin-bottom: 25px !important
}

.ml25 {
margin-left: 25px !important
}

.pt25 {
padding-top: 25px !important
}

.pr25 {
padding-right: 25px !important
}

.pb25 {
padding-bottom: 25px !important
}

.pl25 {
padding-left: 25px !important
}

.mt30 {
margin-top: 30px !important
}

.mr30 {
margin-right: 30px !important
}

.mb30 {
margin-bottom: 30px !important
}

.ml30 {
margin-left: 30px !important
}

.pt30 {
padding-top: 30px !important
}

.pr30 {
padding-right: 30px !important
}

.pb30 {
padding-bottom: 30px !important
}

.pl30 {
padding-left: 30px !important
}

.mt35 {
margin-top: 35px !important
}

.mr35 {
margin-right: 35px !important
}

.mb35 {
margin-bottom: 35px !important
}

.ml35 {
margin-left: 35px !important
}

.pt35 {
padding-top: 35px !important
}

.pr35 {
padding-right: 35px !important
}

.pb35 {
padding-bottom: 35px !important
}

.pl35 {
padding-left: 35px !important
}

.mt40 {
margin-top: 40px !important
}

.mr40 {
margin-right: 40px !important
}

.mb40 {
margin-bottom: 40px !important
}

.ml40 {
margin-left: 40px !important
}

.pt40 {
padding-top: 40px !important
}

.pr40 {
padding-right: 40px !important
}

.pb40 {
padding-bottom: 40px !important
}

.pl40 {
padding-left: 40px !important
}

.mt45 {
margin-top: 45px !important
}

.mr45 {
margin-right: 45px !important
}

.mb45 {
margin-bottom: 45px !important
}

.ml45 {
margin-left: 45px !important
}

.pt45 {
padding-top: 45px !important
}

.pr45 {
padding-right: 45px !important
}

.pb45 {
padding-bottom: 45px !important
}

.pl45 {
padding-left: 45px !important
}

.mt50 {
margin-top: 50px !important
}

.mr50 {
margin-right: 50px !important
}

.mb50 {
margin-bottom: 50px !important
}

.ml50 {
margin-left: 50px !important
}

.pt50 {
padding-top: 50px !important
}

.pr50 {
padding-right: 50px !important
}

.pb50 {
padding-bottom: 50px !important
}

.pl50 {
padding-left: 50px !important
}

@media screen and (min-width: 769px) {
a {
  transition: opacity .3s
}

a:hover {
  opacity: .7
}
}

.f12 {
font-size: 12px
}

.f14 {
font-size: 14px
}

.f16 {
font-size: 16px
}

.f18 {
font-size: 18px
}

.f20 {
font-size: 20px
}

.f24 {
font-size: 24px
}

.sTxt {
font-size: 80%
}

.lTxt {
font-size: 125%
}

.fs075em{font-size:0.75em !important;}
.fs085em{font-size:0.85em !important;}
.fs09em{font-size:0.9em !important;}
.fs095em{font-size:0.95em !important;}
.fs11em{font-size:1.1em !important;}
.fs12em{font-size:1.2em !important;}
.fs13em{font-size:1.3em !important;}
.fs14em{font-size:1.4em !important;}

.center{text-align: center !important;}
.right{text-align: right!important;}

.block{display: block !important;}
.inlineblock{display: inline-block !important;}

.bold {
font-weight: bold
}

.ital {
  font-style: italic;
}

.en {
font-family: 'Montserrat', sans-serif
}

.red {
color: #DB002A
}

.green {
color: #7FB801
}

.blue {
color: #003eaf;
}

.sky-blue {
  color: #0075af;
}

.dark-blue {
  color: #001d58;
}

.underline {
text-decoration: underline;
}

.dotList > li {
list-style-type: disc;
margin-left: 20px
}

.decimalList > li {
list-style-type: decimal;
margin-left: 20px
}

.asteriskList > li {
padding-left: 1em;
position: relative
}

.asteriskList > li:before {
content: "*";
position: absolute;
left: 0;
top: 0
}

.circleList>li {
padding-left: 1em;
position: relative
}

.circleList>li:before {
content: "\0025CB";
position: absolute;
left: 0;
top: 0
}


.doublecircleList>li {
padding-left: 1em;
position: relative
}

.doublecircleList>li:before {
content: "\0025CE";
position: absolute;
left: 0;
top: 0
}

.notesList>li {
padding-left: 1em;
position: relative
}

.notesList>li:before {
content: "\00203B";
position: absolute;
left: 0;
top: 0
}

.diamondList>li {
padding-left: 1em;
position: relative;
margin-bottom: 15px;
}

.diamondList>li:before {
content: "\0025C6";
position: absolute;
left: 0;
top: 0
}


#pageTit {
/*background: url("../img/common/tit_bg.jpg") no-repeat center bottom/cover;*/
background: url("../img/common/tit_bg_winter.jpg") no-repeat center bottom/cover;	
color: #001D58;
display: flex;
align-items: center;
font-weight: bold;
}


@media screen and (min-width: 769px) {
#pageTit {
  height: 200px;
  font-size: 36px;
  padding-left: 5%
}
}

@media screen and (max-width: 768px) {
#pageTit {
  height: 100px;
  font-size: 24px;
  padding: 0 20px;

}
}
@media screen and (max-width: 1024px){
  #pageTit {  
  background: url("../img/common/sp_tit_bg.jpg") no-repeat center bottom/cover;

}
}

#path {
display: flex;
flex-wrap: wrap;
margin-top: 10px
}

#path li:not(:last-child):after {
content: ">";
margin: 0 10px
}

#path li:last-child a {
text-decoration: none;
pointer-events: none
}

@media screen and (min-width: 769px) {
#path {
  width: 1240px;
  padding: 0 20px;
  max-width: 100%;
  margin: 10px auto 0
}
}

@media screen and (max-width: 768px) {
#path {
  padding: 0 20px;
  margin: 10px auto 0
}
}

#container #contents a {
color: #2584CD
}

#container #side dl dt {
text-align: center;
font-weight: bold;
border-bottom: 1px solid #000000
}

#container #side dl dd {
margin-top: 10px;
text-align: center
}

#container #side dl.archiveList dt {
margin-bottom: 10px
}

#container #side dl.archiveList dd {
margin-top: 0;
text-align: left
}

#container #side dl.archiveList dd a {
color: #2584CD
}

@media screen and (min-width: 769px) {
#container {
  width: 1240px;
  margin: 60px auto 0;
  padding: 0 20px;
  max-width: 100%;
  display: flex;
  justify-content: space-between
}

#container #contents {
  flex: 1;
  margin-right: 60px
}

#container #side {
  width: 220px
}
}

@media screen and (max-width: 768px) {
#container {
  margin: 40px 20px
}

#container #side {
  margin-top: 40px
}

#container #side dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

#container #side dl:not(:first-child) {
  margin-top: 30px
}

#container #side dl dt {
  width: 100%
}

#container #side dl dd {
  width: calc(50% - 5px)
}

#container #side dl.archiveList {
  display: block
}
}

.sec .tit {
position: relative;
border-bottom: 1px solid #000000;
margin-bottom: 20px;
line-height: 1.5
}

.sec .tit:before {
content: "";
position: absolute;
left: 0;
display: block;
background: #001D58
}

@media screen and (min-width: 769px) {
.sec:not(:first-child) {
  margin-top: 60px
}

.sec .tit {
  font-size: 24px;
  padding-left: 20px;
  padding-bottom: 5px
}

.sec .tit:before {
  width: 7px;
  height: 80%;
}
}

@media screen and (max-width: 768px) {
.sec:not(:first-child) {
  margin-top: 40px
}

.sec .tit {
  font-size: 21px;
  padding-left: 15px;
  padding-bottom: 5px
}

.sec .tit:before {
  width: 4px;
  height: 80%;
}
}

.childSec:not(:first-child) {
margin-top: 40px
}

.childSec .secondTit {
background: #F7F7F7;
padding: 10px 15px;
margin-bottom: 20px;
line-height: 1.5
}

.childSec .childSec:not(:first-child) {
margin-top: 30px
}

.childSec .childSec .thirdTit {
font-weight: bold;
padding-left: 1em;
position: relative;
margin-bottom: 10px;
color: #001D58
}

.childSec .childSec .thirdTit:before {
content: "○";
position: absolute;
left: 0;
top: 0;
display: block
}

@media screen and (min-width: 769px) {
.childSec .secondTit {
  font-size: 18px
}

.childSec .childSec .thirdTit {
  font-size: 18px
}
}

@media screen and (max-width: 768px) {
.childSec .secondTit {
  font-size: 16px
}

.childSec .childSec .thirdTit {
  font-size: 16px
}
}

#header #hNav .nav {
display: flex;
align-items: center
}

#header #hNav .nav li {
font-weight: 600;
color: #202b5f;
}

#header #hNav .nav li a {
color: #202b5f;
text-decoration: none
}

#header #hNav .nav li svg {
vertical-align: middle;
margin: -2px 5px 0 0
}

#header #hNav .sns {
display: flex;
align-items: center;
justify-content: flex-end
}

#header #hNav .sns li:not(:last-child) {
margin-right: 16px
}

#header #hNav .sns li img {
width: 32px
}

@media screen and (min-width: 769px) {
#header {
  display: flex;
  justify-content: space-between;
  padding: 30px
  /*padding: 40px 30px;*/
}

#header #hNav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-bottom: 30px;
  margin-right:130px;/*翻訳追記*/
}

#header #hNav .nav {
  justify-content: flex-end
}

#header #hNav .nav li:not(:first-child) {
  margin-left: 40px
}

#header #hNav .sns {
  margin-left: 40px
}

#header #gNav {
  display: block !important
}

#header #gNav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end
}

#header #gNav ul li {
  font-size: 20px;
  color: #202b5f;
  font-weight: 600;
  margin-left: 30px;
  position: relative
}

#header #gNav ul li a {
  color: #202b5f;
  text-decoration: none
}

#header #gNav ul li .children {
  position: absolute;
  z-index: 2;
  background: #FFF;
  display: none;
  padding: 15px 20px;
  border-radius: 10px;
  position: absolute;
  /*left: 50%;
  transform: translateX(-50%)*/
}

#header #gNav ul li .children li {
  margin: 0;
  font-family: 'IBM Plex Sans JP', sans-serif;
  font-size: 14px;
  font-weight: normal;
  white-space: nowrap
}

#header #gNav ul li .children li a {
  color: #000
}

body:not(#home) #header {
  background: #FFF
}

body:not(#home) #header #hNav .nav li {
  color: #202b5f
}

body:not(#home) #header #hNav .nav li a {
  color: #202b5f
}

/*body:not(#home) #header #hNav .nav li svg path {
  fill: #202b5f
}*/
#header #hNav .nav li svg path {
  fill: #202b5f
}	

body:not(#home) #header #gNav>ul>li>a,
body:not(#home) #header #gNav>ul>li span {
  color: #202b5f
}
}

#home #header {
position: absolute;
/*background: linear-gradient(rgba(0, 0, 0, 0.5), transparent);*/
z-index: 99999;
width: 100%
}

@media screen and (max-width: 768px) {
#header {
  padding: 40px 20px 20px;
  position: relative;
  z-index: 10000
}

#header #logo {
  width:
    /*200px*/
    calc(100% - 60px);
  line-height: 1;
  position: relative;
  z-index: 2
}

#header #hNav .nav {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 10px;
  width: 100%;
  /*justify-content: center*/
  justify-content: flex-end;	
}

#header #hNav .nav li {
  font-size: 12px;
  margin: 0 10px
}
	
#header #hNav .nav li:nth-child(1),
#header #hNav .nav li:nth-child(2)	{
  display: none;
}	

#header #hNav .nav li svg {
  height: 15px;
  width: auto
}

#header #hNav .sns {
  position: relative;
  z-index: 2
}

#header #gNav {
  display: none;
  background: rgba(0, 0, 0, 0.9);
  position: fixed;
  overflow: auto;
  width: 100%;
  height: 100dvh;
  left: 0;
  top: 0;
  padding-top: 148px
}

#header #gNav>ul>li {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-weight: 600
}

#header #gNav>ul>li>a,
#header #gNav>ul>li>span {
  color: #FFF;
  text-decoration: none;
  display: block;
  padding: 10px
}

#header #gNav>ul>li .children {
  margin: -10px 0 10px 10px
}

#header #gNav>ul>li .children li {
  font-family: 'IBM Plex Sans JP', sans-serif;
  line-height: 1.6;
  font-size: 12px;
  position: relative;
  padding-left: 2em;
  color: #FFF;
  font-weight: normal
}

#header #gNav>ul>li .children li:before {
  content: "-";
  position: absolute;
  left: 1em
}

#header #gNav>ul>li .children li a {
  color: #FFF;
  text-decoration: none
}

#header #btnSpNav {
  position: absolute;
  z-index: 2;
  top: 60px;
  right: 20px;
  width: 40px;
  height: 30px
}

#header #btnSpNav:before,
#header #btnSpNav:after,
#header #btnSpNav span {
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  background: #202b5f;
  position: absolute;
  left: 0;
  transition: all .3s
}

#header #btnSpNav:before {
  top: 0
}

#header #btnSpNav span {
  top: 50%;
  transform: translateY(-1px)
}

#header #btnSpNav:after {
  bottom: 0
}

body:not(#home) #header #hNav .nav li {
  transition: color .3s;
  color: #202b5f
}

body:not(#home) #header #hNav .nav li a {
  transition: color .3s;
  color: #202b5f
}

body:not(#home) #header #hNav .nav li svg path {
  transition: fill .3s;
  fill: #202b5f
}

body:not(#home) #header #btnSpNav span,
body:not(#home) #header #btnSpNav:before,
body:not(#home) #header #btnSpNav:after {
  background: #000
}

body.navOpen #header #hNav .nav li {
  color: #202b5f !important
}

body.navOpen #header #hNav .nav li a {
  color: #202b5f !important
}

body.navOpen #header #hNav .nav li svg path {
  fill: #202b5f !important
}
	
body.navOpen #header #btnSpNav span {
  opacity: 0;
  background: #FFF !important
}

body.navOpen #header #btnSpNav:before {
  top: 50%;
  transform: rotate(45deg) translateY(-1px);
  background: #202b5f !important
}

body.navOpen #header #btnSpNav:after {
  bottom: 50%;
  transform: rotate(-45deg) translateY(1px);
  background: #202b5f !important
}

body.navOpen {
  width: 100%;
  height: 100%;
  position: fixed
}

body.navOpen #header #btnSpNav span {
  opacity: 0
}

body.navOpen #header #btnSpNav:before {
  top: 50%;
  transform: rotate(45deg) translateY(-1px)
}

body.navOpen #header #btnSpNav:after {
  bottom: 50%;
  transform: rotate(-45deg) translateY(1px)
}
}

#bottomContact {
text-align: center;
background: #FFF;
position: relative;
z-index: 10000
}

#bottomContact p a {
text-decoration: none
}

#bottomContact .sns {
display: flex;
justify-content: center
}

#bottomContact .sns li {
width: 32px;
margin: 0 8px
}

#bottomContact .formLink a {
  position: relative;
}
#bottomContact .formLink a:after {
  position: absolute;
  content: "";
  border-left: 5px solid #000;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  top: 50%;
  right: -15px;
  transform: translateY(-50%);
}

#bottomContact .bottomBnr {
display: flex;
justify-content: center;
align-items: center
}

#bottomContact .bottomBnr li {
margin: 0 20px
}

@media screen and (min-width: 769px) {
#bottomContact {
  padding: 60px 0 80px
}

#bottomContact h2 {
  font-size: 42px;
  margin-bottom: 30px
}

#bottomContact .sns {
  margin: 40px 0 60px
}

#bottomContact .bottomBnr li {
  margin: 0 20px
}
}

@media screen and (max-width: 768px) {
#bottomContact {
  padding: 40px 0
}

#bottomContact h2 {
  font-size: 24px;
  margin-bottom: 20px
}

#bottomContact .sns {
  margin: 30px 0 40px
}

#bottomContact .bottomBnr {
  padding: 0 10px
}

#bottomContact .bottomBnr li {
  margin: 10px
}
}


#footer {
/*background: #001D58;
background: #cd0014;*/
background: #dc8551;
text-align: center;
color: #FFF;
position: relative;
z-index: 10;
font-weight: 600;
display: flex;
justify-content: center;
align-items: center;
height: 70px;
position: relative;
z-index: 10000
}

#footer #pagetop {
position: fixed;
right: 0;
bottom: 0
}

#footer #pagetop a {
display: flex;
justify-content: center;
align-items: center;
/*background: #001D58;
background:#cd0014;*/
background:#dc8551;
width: 70px;
height: 70px;
border-radius: 50%
}

@media screen and (max-width: 768px) {
#footer {
  justify-content: flex-start;
  padding: 0 10px
}
}

#mv {
position: relative;
/*height: 100svh;*/
text-align: center;
color: #fff;
/*background: url("../img/home/movie.jpg") no-repeat center center;
background-size: cover;*/
background: #fff;
/*margin-top: 174px;*/
margin-top: 194px;
}

#mv.en_mv{
height: auto !important;
background: none !important;
}

#mv #loading {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-weight: bold
}

#mv #loading .disappear {
display: none
}

#mv #youtube-area {
position: fixed;
z-index: 1;
top: 0;
right: 0;
left: 0;
bottom: 0;
overflow: hidden;
opacity: 0
}

#mv #youtube-area #youtube{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 177.77777778vh;
height: 56.25vw;
min-height: 100%;
min-width: 100%
}

#mv #youtube-area #youtube-mask{
position: absolute;
z-index: 2;
top: 0;
width: 100%;
height: 100%;
/*background: rgba(0, 0, 0, 0.1)*/
background: rgba(0, 0, 0, 0.1);
}

#mv #youtube-area .message p {
position: absolute;
z-index: 3;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
font-weight: bold;
opacity: 0;
width: 80%
}

#mv #youtube-area.appear {
animation-name: PageAnimeAppear;
animation-duration: .5s;
animation-fill-mode: forwards
}

#mv #youtube-area.appear .message p {
animation-name: txtAnime;
animation-duration: 120s;
animation-fill-mode: forwards;
animation-delay: -3s
}

#mv .kv,
#mv #changePic{
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 0 auto;
  width:100%;
}

#mv .kv img,
#mv #changePic img{
  width: 100%;  
}

/*#mv #youtube-area.appear .message p:nth-child(1){animation-name:txtAnime;animation-duration:5s;animation-fill-mode:forwards;animation-delay:1s}#mv #youtube-area.appear .message p:nth-child(2){animation-name:txtAnime;animation-duration:5s;animation-fill-mode:forwards;animation-delay:7s}#mv #youtube-area.appear .message p:nth-child(3){animation-name:txtAnime;animation-duration:5s;animation-fill-mode:forwards;animation-delay:13s}#mv #youtube-area.appear .message p:last-child{animation-name:txtAnimeLast;animation-duration:5s;animation-fill-mode:forwards;animation-delay:19s}*/
#mv .logos {
position: absolute;
left: 30px;
top: 212px;
z-index: 5;
text-align: left
}

#mv .logos li {
margin-bottom: 2.6vh
}

#mv .logos li:nth-child(1) img {
height: 40px;
max-height: calc((100vh - 212px) / 100 * 8);
width: auto
}

#mv .logos li:nth-child(2) img {
height: 83px;
max-height: calc((100vh - 212px) / 100 * 15);
width: auto
}

#mv .logos li:nth-child(3) img {
height: 133px;
max-height: calc((100vh - 212px) / 100 * 22);
width: auto
}

#mv .logos li:nth-child(4) img {
height: 200px;
max-height: calc((100vh - 212px) / 100 * 39);
width: auto
}

#mv .sponsors {
position: fixed;
left: 50%;
transform: translateX(-50%);
z-index: 10
}

#contents .sponsors-re {
position: static;
}

#contents .sponsors-re {
	width: 1000px;
    margin: 30px auto 30px;
}
#contents .sponsors-flx{
  width: 100%;
  margin: 30px auto 30px;
}
#contents .sponsors-flx ul{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: center;
}
#contents .sponsors-flx ul li{
	padding: 5px;
	box-sizing: border-box;
}

@media (max-width:768px) {
#contents .sponsors-re {
	width: 90%;
    margin: 30px auto 30px;
}
#contents .sponsors-re li {
    margin: 0 5px;
}	
#contents .sponsors-flx ul li{
	width: 50%;
}
}

/*#mv .kv{
  display: flex;
  align-items: flex-start;
  justify-content: center;
}*/

@keyframes PageAnimeAppear {
0% {
  opacity: 0
}

100% {
  opacity: 1
}
}

@keyframes txtAnime {
0% {
  opacity: 0;
  transform: translateY(-40%) translateX(-50%)
}

10% {
  opacity: 1;
  transform: translateY(-50%) translateX(-50%)
}

90% {
  opacity: 1;
  transform: translateY(-50%) translateX(-50%)
}

100% {
  opacity: 0;
  transform: translateY(-60%) translateX(-50%)
}
}

@keyframes txtAnimeLast {
0% {
  opacity: 0;
  transform: translateY(-40%) translateX(-50%)
}

10% {
  opacity: 1;
  transform: translateY(-50%) translateX(-50%)
}

100% {
  opacity: 1;
  transform: translateY(-50%) translateX(-50%)
}
}

/*@media screen and (min-width: 769px) {
#mv #youtube-area #youtube {
  min-width: 150%;
  min-height: 150%;
}*/

#mv #youtube-area .message p {
  /*font-size:36px*/
  font-size: 30px;
  line-height: 150%;
  text-shadow: 1px 1px 2px #333
}

#mv .sponsors {
	bottom: 60px;
    width: 1000px;
/*  width: 808px; 3枚の時*/
}

#mv .sponsors .slick-slide {
  margin: 0 15px
}


@media screen and (max-width: 768px) {
  /*#mv{
    width: 100%;
    padding-top: 56.25%;    
  }
  #mv #youtube-area #youtube{
    width: 100%;
    height: 100%;    
  }*/

#mv #youtube-area .message p {
  width: calc(100% - 40px);
  font-size: 20px;
  line-height: 135%;
}

#mv .sponsors {
  bottom: 20px;
  /*width: calc(100% - 40px);*/
  width:100%;
}

#mv .sponsors,
#contents .en_mv .en_sponsors{
  position: absolute;
  bottom: 5px;
}

#mv .sponsors .slick-slide {
  margin: 0 10px
}
}

/*スマホ#mvエリア拡大に伴う調整*/
@media screen and (max-width: 768px){
#mv{
/*width:150%;*/
margin-top: 128px;
width:100%;
}
#changePic{
position: relative;
/*left: -20%;
left:-16.5%;*/
}
#header #logo{
width: 70%;
}
#header #hNav .sns{
  top:10px;
  display: none;	
}
#header #hNav .sns li:not(:last-child) {
  margin-right: 10px;
}
/*#header #hNav .sns{
flex-direction: column;
align-items: normal;
top:10px;
left:1%;
}
#header #hNav .sns li {
margin-right: 0 !important;
margin-bottom: 7px;
}*/
#mv .sponsors{
width:66.8%;
left:33.5%;
}
}

#home #contents,
#en #contents {
position: relative;
z-index: 10000;
background: #FFF
}

.contentsList {
display: flex;
flex-wrap: wrap
}

.contentsList li {
flex: 1;
min-width: 50%;
font-weight: 600;
}

.contentsList li a {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
color: #FFF;
text-decoration: none;
padding: 10px;
position: relative;
}

.contentsList li a img {
width: 30px
}

/*.contentsList li:nth-child(4n+1) a {
background: #23B4B4
}*/

.contentsList li:nth-child(4n+1) a {
background: #46C04A
}

.contentsList li:nth-child(4n+2) a {
background: #E8A227
}

.contentsList li:nth-child(4n+3) a {
background: #E1446D
}

.contentsList li.environment a {
/*background: #3660C1*/
background: #dc8551;
}

.contentsList li.chronology a {
background: #2c9ee1;
}

@media screen and (min-width: 769px) {
.contentsList li {
  /*font-size: 30px;*/
  font-size: 26px;
  text-align: center;
  line-height: 150%;
}

.contentsList li a {
  height: 180px
}
}

@media screen and (max-width: 768px) {
.contentsList {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    text-align: center;
}
.contentsList li {
  font-size: 21px;
  line-height: 140%;
}
.contentsList li a {
  padding-top: 10px;
  height: 120px
}
}

.contentsList li a.cover:before {
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.7);
}
.contentsList li a.noLink {
  pointer-events: none;
}
.contentsList li a.noLink:hover {
  overflow: 1;
}
.contentsList li a.cover .label {
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.runMenu {
display: flex
}

.runMenu li {
width: 25%;
text-align: center;
font-weight: bold;
/*2025直前追記*/
flex-direction: column;
color: #FFF;
text-decoration: none;
background: #1e2a5f;
padding: 50px 0;
text-align: center;
}
.runMenu li.col-3 {
  width: calc(100% / 3);
}
.runMenu li.col-2 {
  width: 50%;
} 
.runMenu li span.lang {
    display: inline-flex;
    justify-content: center;
    font-size:0.9em;
    width:5.5em;
    /*margin: 0 8px;*/
}

.runMenu li span.lang.cs{
position: relative;
}
.runMenu li span.lang.cs:before{
content: "coming soon";
font-size:80%;
width:100%;
color: white;
font-weight: bold;
position: absolute;
display: block;
opacity: 1;
left: 50%;
top: 65%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
z-index: 10;
}
.runMenu li span.lang.cs:after{
content: "";
position: absolute;
display: block;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: #000000;
opacity: 0.6;
border-radius: 5px;
}

.runMenu li a {
/*display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-decoration: none;
background: #000C23;
background: #152e7a;
background: #1e2a5f;
padding: 50px 0*/
color: #FFF;
}

.runMenu li a img {
/* width: 106px; */
margin-bottom: 10px;
/* border-radius: 50% */
}

@media screen and (min-width: 769px) {
.runMenu li {
  font-size: 20px
}
}

@media screen and (max-width: 768px) {
.runMenu {
  flex-wrap: wrap;
  /*background: #000C23;
  background: #152e7a;*/
  background:#1e2a5f;
justify-content: center;
}

.runMenu li {
  width: 50%;
  font-size: 14px;
  padding: 20px 0;
}
.runMenu li.col-2,
.runMenu li.col-3 {
  width: 100%;
} 
/* .runMenu li:nth-child(n+3) {
  margin-top: 20px
} */

.runMenu li a {
  padding: 0
}

.runMenu li a img {
  width: 80px
}
}
.runMenu.btn-full a{
color: #FFF;
display: flex;
flex-flow: column;
align-items: center;
justify-content: center;
text-decoration: none;
width: 100%;
height: 100%;
}
.runMenu li.navi {
    background-color: #1b873b;
}
.runMenu li.result {
    background-color: #004e17;
}
/*
.runMenu li.finisher {
    background-color: #ffffff;
}
.runMenu li.finisher a{
    color: #000;
}
*/
.runMenu li.finisher img{
  background-color: #fff;
}
.runMenu li.photo {
  background-color: #027aaf;
}
.runMenu li.runpass{
  background-color: #8D1D22;
}
.runMenu li.movie01 {
  background-color: #ffbb00;
}
.runMenu li.movie02 {
  background-color: #ff63dde7;
}
.runMenu li.qs{
  background-color: #c90009;
}

.homeInfo {
position: relative
}

.homeInfo h2 {
line-height: 1.5
}

.homeInfo h2 .en {
margin-right: 20px
}

.homeInfo .btns {
font-weight: bold
}

.homeInfo .btns a {
text-decoration: none;
display: inline-block
}

.homeInfo .btns a:before {
content: "";
width: 8px;
height: 8px;
border-top: 2px solid #000;
border-right: 2px solid #000;
transform: rotate(45deg);
display: inline-block;
margin-right: 10px;
margin-top: -3px;
vertical-align: middle
}

.infoList {
border-top: 1px solid #ddd
}

.infoList li {
border-bottom: 1px solid #ddd;
padding: 20px 0;
line-height: 1.6
}

.infoList li time {
display: block;
font-weight: bold
}

@media screen and (min-width: 769px) {
.homeInfo {
  width: 1000px;
  margin: 60px auto
}

.homeInfo h2 {
  font-size: 16px
}

.homeInfo h2 .en {
  font-size: 42px
}

.homeInfo .btns {
  position: absolute;
  right: 0;
  top: 25px
}

.homeInfo .btns a {
  margin-left: 20px
}
}

@media screen and (max-width: 768px) {
.homeInfo {
  margin: 40px 20px
}

.homeInfo h2 {
  font-size: 14px;
  padding-bottom: 10px
}

.homeInfo h2 .en {
  font-size: 24px
}

.homeInfo .btns {
  margin-top: 20px;
  text-align: center
}

.homeInfo .btns a {
  margin: 0 10px
}
}

.feeds .fb {
width: 500px;
margin-left: auto;
margin-right: auto;
}
.flx-feeds{
  display: flex;
}
.flx-feeds > *{
  width: 50%;
  box-sizing: border-box;
}
/*.feeds .twitter {
width: 576px
}*/

@media screen and (min-width: 769px) {
.feeds {
/*  display: flex;
  justify-content: space-around;*/
  width: 1240px;
  margin: 60px auto 0;
  padding: 0 20px
}

.feeds .fb {
  width: 500px
}

/*.feeds .twitter {
  width: 576px
}*/
}

@media screen and (max-width: 768px) {
.feeds {
  margin: 40px 20px 0
}

.feeds>* {
  max-width: 100%
}
.flx-feeds{
  flex-flow: column;
}
.flx-feeds > *{
  width: 100%;
}
/*.feeds .twitter {
  margin-top: 30px
}*/
}

@media screen and (min-width: 769px) {
.outlineTable {
  width: 100%
}

.outlineTable > tbody > tr > th {
  vertical-align: top;
  border-bottom: 1px solid #ddd;
  padding: 10px 20px 10px 0;
  font-weight: normal;
  width: 216px;
  line-height: 1.8
}

.outlineTable.yakuinTable > tbody > tr > th{
  width: 240px;
}

.outlineTable > tbody > tr > td {
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
  line-height: 1.8
}

.outlineTable tbody tr td dl dt {
  font-weight: bold
}
}

@media screen and (max-width: 768px) {
.outlineTable {
  display: block
}

.outlineTable>tbody {
  display: block
}

.outlineTable>tbody>tr {
  display: block;
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;
  margin-bottom: 10px
}

.outlineTable>tbody>tr>th {
  display: block;
  line-height: 1.8
}

.outlineTable>tbody>tr>td {
  display: block;
  line-height: 1.8
}
}

.featureSec>* {
margin-top: 20px
}

.featureSec h2 {
color: #DB002A;
margin-top: 0;
line-height: 1.5
}

.featureSec h2 .num {
width: 100px;
display: block;
background: #001D58;
text-align: center;
color: #FFF;
font-weight: bold;
border-radius: 5px;
margin-bottom: 5px;
padding: 2px
}

.featureSec dl dt {
font-weight: bold
}

.featureSec .AbbottWMMTable {
width: 100%
}

.featureSec .AbbottWMMTable tr th {
color: #FFF;
background: #001D58;
padding: 10px;
text-align: center;
border: 1px solid #DDD
}

.featureSec .AbbottWMMTable tr th:last-child {
background: #F7F7F7;
color: #000
}

.featureSec .AbbottWMMTable tr td {
padding: 10px;
border: 1px solid #DDD
}

.featureSec .AbbottWMMTable tr td:last-child {
color: #000
}

@media screen and (min-width: 769px) {
.featureSec:not(:first-child) {
  margin-top: 60px
}

.featureSec h2 {
  font-size: 24px
}

.featureSec h2 .num {
  font-size: 16px
}

.featureSec .photoList {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: center;
}

.featureSec .photoList li {
  width: calc(50% - 20px)
}

.featureSec .photoList li:nth-child(n+3) {
  margin-top: 40px
}
}

@media screen and (max-width: 768px) {
.featureSec:not(:first-child) {
  margin-top: 40px
}

.featureSec h2 {
  font-size: 20px
}

.featureSec h2 .num {
  font-size: 14px
}

.featureSec .photoList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

.featureSec .photoList li {
  width: calc(50% - 10px)
}

.featureSec .photoList li:nth-child(n+3) {
  margin-top: 20px
}
}

.galleryList {
display: flex;
flex-wrap: wrap
}

.galleryList li {
aspect-ratio: 1 / 1
}

.galleryList li img {
object-fit: cover;
width: 100%;
height: 100%
}

.movie {
aspect-ratio: 16 / 9
}

.movie iframe {
width: 100%;
height: 100%
}

@media screen and (min-width: 769px) {
.galleryList li {
  width: calc((100% - 80px) / 5);
  margin-right: 20px
}

.galleryList li:nth-child(n+6) {
  margin-top: 20px
}

.galleryList li:nth-child(5n) {
  margin-right: 0
}
}

@media screen and (max-width: 768px) {
.galleryList li {
  width: calc((100% - 20px) / 3);
  margin-right: 10px
}

.galleryList li:nth-child(n+4) {
  margin-top: 10px
}

.galleryList li:nth-child(3n) {
  margin-right: 0
}
}

@media screen and (min-width: 769px) {
.appContent {
  display: flex
}

.appContent .img {
  width: 250px
}

.appContent .content {
  flex: 1;
  margin-left: 30px
}

.appContent .content .childSec {
  margin-top: 20px
}

.appContent .content .childSec .qr {
  display: flex;
  justify-content: space-between
}

.appContent .content .childSec .qr li {
  border: 5px solid #F5F5F5;
  width: calc(50% - 10px);
  display: flex;
  align-items: center;
  padding-left: 20px;
  font-weight: bold;
  justify-content: space-between
}

.appContent .content .childSec .downloadBtn {
  display: flex;
  justify-content: space-between
}

.appContent .content .childSec .downloadBtn img {
  height: 97px
}
}

@media screen and (max-width: 768px) {
.appContent .img {
  text-align: center;
  margin-bottom: 20px
}

.appContent .img img {
  max-width: 50%
}

.appContent .content .childSec .qr {
  display: flex;
  justify-content: space-between
}

.appContent .content .childSec .qr li {
  border: 5px solid #F5F5F5;
  width: calc(50% - 10px);
  padding-top: 20px;
  font-weight: bold;
  text-align: center
}

.appContent .content .childSec .downloadBtn {
  text-align: center
}

.appContent .content .childSec .downloadBtn li {
  margin-top: 10px
}

.appContent .content .childSec .downloadBtn li img {
  height: 60px
}
}

.accessNav li a {
text-decoration: none;
display: block;
background: #F7F7F7;
border-radius: 5px;
padding: 10px;
color: #000 !important
}

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

.accessNav li {
  text-align: center;
  font-size: 12px;
  width: calc((100% - 40px) / 5)
}

.accessNav li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100px
}

.accessNav li a img {
  display: block;
  margin: 0 auto 10px
}
}

@media screen and (max-width: 768px) {
.accessNav li:not(:first-child) {
  margin-top: 10px
}

.accessNav li a {
  display: flex;
  align-items: center
}

.accessNav li a img {
  width: 40px;
  margin-right: 10px
}
}

.tourTime {
margin-bottom: 20px
}

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

.tourTime ul li {
border-bottom: 4px solid #001D58;
text-align: center;
line-height: 1.5
}

.tourTime ul li .num {
color: #DB002A;
font-weight: bold
}

.tourTime p {
text-align: center;
margin-top: 10px
}

.tourTime p .num {
color: #DB002A;
font-weight: bold
}

@media screen and (min-width: 769px) {
.tourTime ul li {
  width: calc(50% - 20px)
}

.tourTime ul li .num {
  font-size: 40px
}

.tourTime p .num {
  font-size: 24px
}
}

@media screen and (max-width: 768px) {
.tourTime ul li {
  width: calc(50% - 10px)
}

.tourTime ul li .num {
  font-size: 30px
}

.tourTime p .num {
  font-size: 20px
}
}

.map {
aspect-ratio: 3 / 2
}

.map iframe {
width: 100%;
height: 100%
}

.busNav {
display: flex;
flex-wrap: wrap
}

.busNav li {
text-align: center
}

.busNav li a {
background: #F7F7F7;
display: block;
padding: 15px
}

@media screen and (min-width: 769px) {
.busNav li {
  width: calc((100% - 40px) / 3);
  margin-top: 20px;
  margin-right: 20px
}

.busNav li:nth-child(3n) {
  margin-right: 0
}
}

@media screen and (max-width: 768px) {
.busNav {
  justify-content: space-between
}

.busNav li {
  width: calc((100% - 10px) / 2);
  margin-top: 10px
}
}

.extraTrain {
margin-top: 20px
}

.extraTrain caption {
text-align: left;
font-weight: bold;
margin-bottom: 10px
}

.extraTrain th {
padding-right: 20px
}

.trainNotes {
border: 1px solid #DB002A;
padding: 20px;
margin-top: 20px
}

.trainNotes p:not(:first-child) {
margin-top: 20px
}

@media screen and (max-width: 768px) {
.extraTrain th {
  white-space: nowrap;
  vertical-align: top
}
}

.trainTable {
width: 100%;
table-layout: fixed
}

.trainTable caption {
color: #001D58;
margin-bottom: 10px
}

.trainTable thead th {
color: #FFF;
background: #001D58;
text-align: center;
font-weight: bold;
padding: 10px;
border: 1px solid #DCDCDC
}

.trainTable tbody tr.link {
background: rgba(219, 0, 42, 0.1)
}

.trainTable tbody tr th,
.trainTable tbody tr td {
font-weight: normal;
text-align: center;
padding: 10px;
width: 50%;
border: 1px solid #DCDCDC
}

@media screen and (min-width: 769px) {
  .trafficList {
    display: flex;
    justify-content: space-between;
  }
  .trafficList .trafficItem {
    width: 48%;
  }
}

.infListL .infoPost:not(:last-child) {
border-bottom: 1px solid #DDD
}

.infListL .infoPost h2 {
color: #001D58
}

.infListL .infoPost h2 a {
text-decoration: none
}

.infListL .infoPost time {
margin-top: 10px;
font-weight: bold;
display: block
}

.infListL .infoPost .toDetail {
margin-top: 10px
}

@media screen and (min-width: 769px) {
.infListL .infoPost:not(:last-child) {
  padding-bottom: 30px;
  margin-bottom: 30px
}

.infListL .infoPost h2 {
  font-size: 20px
}
}

@media screen and (max-width: 768px) {
.infListL .infoPost:not(:last-child) {
  padding-bottom: 20px;
  margin-bottom: 20px
}

.infListL .infoPost h2 {
  font-size: 16px
}
}

.infoSingle h1 {
border-bottom: 4px solid #e9e9e9;
padding-bottom: 10px;
margin-bottom: 20px
}

.infoSingle .entryMeta time {
font-weight: bold
}

.infoSingle .entryContent>* {
margin-top: 20px
}

@media screen and (min-width: 769px) {
.infoSingle h1 {
  font-size: 24px
}
}

.wp-pagenavi {
margin-top: 40px;
display: flex;
justify-content: center
}

.wp-pagenavi a {
color: #000;
border: none !important;
padding: 0 !important
}

.wp-pagenavi .pages,
.wp-pagenavi .last {
display: none
}

.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
background: #F7F7F7;
text-decoration: none;
margin: 0 3px;
border-radius: 50%
}

.wp-pagenavi .current {
border: none;
background: #2584CD;
color: #FFF;
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
margin: 0 3px;
border-radius: 50%
}

.bibs {
border: 4px solid #DDD;
color: #DB002A;
padding: 5px 20px;
display: inline-block
}

.openTime {
width: 100%
}

.openTime thead th {
background: #001D58;
color: #FFF;
padding: 10px;
border: 1px solid #DDD;
text-align: center
}

.openTime tbody th,
.openTime tbody td {
padding: 10px;
border: 1px solid #DDD;
text-align: center
}

@media screen and (max-width: 768px) {

.openTime th,
.openTime td {
  font-size: 12px;
  padding: 10px 5px !important
}
}

.selfCheck {
border: 1px solid #2584CD;
padding: 20px;
margin-top: 20px
}

.selfCheck h4 {
font-weight: bold
}

.selfCheck dl dt {
margin-top: 20px;
font-weight: bold
}

.selfCheck dl dd {
padding-left: 1em;
position: relative
}

.selfCheck dl dd:before {
content: "□";
position: absolute;
left: 0;
top: 0
}

@media screen and (min-width: 769px) {
.selfCheck h4 {
  font-size: 18px
}
}

@media screen and (max-width: 768px) {
.selfCheck h4 {
  font-size: 16px
}
}

.hotelTab {
display: flex;
flex-wrap: wrap;
margin-top: 20px
}

.hotelTab li {
background: #F7F7F7;
cursor: pointer;
padding: 10px;
border-radius: 5px;
margin: 0 10px 10px 0
}

.hotelTab li:before {
content: "";
width: 8px;
height: 8px;
border-top: solid 1px #000;
border-right: solid 1px #000;
display: inline-block;
transform: rotate(45deg);
vertical-align: middle;
margin: -3px 10px 0 0
}

@media screen and (min-width: 769px) {
.hotelTab li:hover {
  opacity: .7
}
}

.hotelList .mix {
border: 1px solid #DDD;
border-radius: 10px;
padding: 10px;
margin-top: 20px
}

.hotelList .mix .htl-box {
border-top: 1px solid #DDD;
padding-top: 5px;
margin-top: 5px
}

@media screen and (min-width: 769px) {
.hotelList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 -10px
}

.hotelList .mix {
  width: calc(50% - 20px);
  margin: 20px 10px 0
}

.hotelList .mix h3 {
  font-size: 16px;
  color: #001D58
}

.hotelList .mix .htl-box {
  font-size: 14px
}
}

@media screen and (max-width: 768px) {
.hotelList .mix {
  width: 100%
}
}

.qItem li {
padding-left: 2em;
position: relative
}

.qItem li:before {
content: "Q.";
color: #DB002A;
font-size: 21px;
position: absolute;
left: 0;
top: -6px;
font-weight: bold;
font-family: 'Montserrat', sans-serif
}

.answerList {
margin-top: 40px
}

.answerList dl {
background: #F7F7F7;
border-radius: 10px;
padding: 20px;
margin-top: 20px
}

.answerList dl dt {
padding-left: 2em;
position: relative;
font-weight: bold
}

.answerList dl dt:before {
content: "Q.";
color: #DB002A;
font-size: 21px;
position: absolute;
left: 0;
top: -6px;
font-weight: bold;
font-family: 'Montserrat', sans-serif
}

.answerList dl dd {
margin-top: 10px;
padding-left: 2em;
margin-left: 2em;
position: relative
}

.answerList dl dd:before {
content: "A.";
color: #001D58;
font-size: 21px;
position: absolute;
left: 0;
top: -6px;
font-weight: bold;
font-family: 'Montserrat', sans-serif
}

.answerList .toFaqTop {
text-align: right;
margin-top: 5px
}

.answerList.accordion dl dt {
cursor: pointer
}

.answerList.accordion dl dd {
display: none
}

.table-thead-spnone--entry tbody>tr th,
.table-thead-spnone--entry tbody>tr td {
line-height: 1.5
}

.table-thead-spnone--entry tbody>tr th .f12,
.table-thead-spnone--entry tbody>tr td .f12 {
line-height: 1.3;
display: inline-block;
margin-top: 3px
}

@media screen and (min-width: 769px) {
.table-thead-spnone--entry {
  width: 100%
}

.table-thead-spnone--entry th,
.table-thead-spnone--entry td {
  border-left: none;
  border-right: none;
  text-align: center;
  vertical-align: middle;
  padding: 10px
}

.table-thead-spnone--entry thead th {
  background-color: #fea700;
  border: 1px solid #DDD;
  color: #fff
}

.table-thead-spnone--entry tbody>tr>th {
  background-color: #f5faff;
  color: #001D58;
  font-weight: bold;
  border: 1px solid #DDD
}

.table-thead-spnone--entry tbody>tr>td {
  background-color: #f5faff;
  border: 1px solid #DDD
}

.table-thead-spnone--entry tbody>tr:nth-child(3) th,
.table-thead-spnone--entry tbody>tr:nth-child(3) td,
.table-thead-spnone--entry tbody>tr:nth-child(4) th,
.table-thead-spnone--entry tbody>tr:nth-child(4) td {
  background: none
}
}

@media screen and (max-width: 768px) {
.table-thead-spnone--entry {
  display: block
}

.table-thead-spnone--entry thead {
  display: none
}

.table-thead-spnone--entry tbody {
  display: block
}

.table-thead-spnone--entry tbody tr {
  display: block;
  background-color: #f5faff;
  padding: 20px
}

.table-thead-spnone--entry tbody tr:not(:first-child) {
  margin-top: 20px
}

.table-thead-spnone--entry tbody tr th {
  display: block
}

.table-thead-spnone--entry tbody tr td {
  display: block;
  margin-top: 10px;
  text-align: right
}

.table-thead-spnone--entry tbody tr td.cellheader-fullmarathon:before {
  content: "フルマラソン 日本陸連公認";
  display: block;
  font-weight: bold
}

.table-thead-spnone--entry tbody tr td.cellheader-kawaguchiko:before {
  content: "河口湖1周 約17km";
  display: block;
  font-weight: bold
}

.table-thead-spnone--entry tbody tr td.cellheader-funrun:before {
  content: "チャリティファンラン 約10.5km";
  display: block;
  font-weight: bold
}

.table-thead-spnone--entry tbody tr.sankasho {
  margin-top: 0;
  padding-top: 0
}

.table-thead-spnone--entry tbody tr.sankasho td {
  text-align: left !important;
  margin-top: 0
}
}

.entryBox {
border: 4px solid #ff9900;
margin-top: 20px
}

.entryBox h3 {
background: #ff9900;
padding: 6px 10px 10px;
color: #FFF
}

.entryBox .in {
padding: 20px
}

.entryBox .in .entryDay .iconGreen {
background: #7FB801;
color: #FFF;
padding: 2px 5px;
border-radius: 5px;
font-weight: bold;
margin-right: 10px;
}

.entryBox .in .entryBtn li {
line-height: 1.5
}

.entryBox .in .entryBtn li a {
background: #7FB801;
color: #FFF;
padding: 10px 10px 10px 30px;
display: block;
border-radius: 5px;
text-decoration: none;
color: #FFF !important;
position: relative;
font-weight: bold;
}

.entryBox .in .entryBtn li a:before {
content: "";
width: 8px;
height: 8px;
display: block;
position: absolute;
left: 5px;
top: 50%;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg) translateY(-50%)
}

@media screen and (min-width: 769px) {
.entryBox .in .entryDay .iconGreen {
  font-size: 14px
}

.entryBox .in .notesList>li {
  font-size: 14px
}

.entryBox .in .entryBtn {
  display: flex;
  justify-content: space-between
}

.entryBox .in .entryBtn li {
  width: calc(50% - 20px)
}
}

@media screen and (max-width: 768px) {
.entryBox .in .entryDay {
  font-size: 16px
}

.entryBox .in .entryDay .iconGreen {
  font-size: 12px;
  display: block;
  text-align: center;
  margin-bottom: 5px
}

.entryBox .in .notesList>li {
  font-size: 12px
}

.entryBox .in .entryBtn li:not(:first-child) {
  margin-top: 10px
}
}

.tattaInfoTable {
width: 100%
}

.tattaInfoTable thead tr th {
background: #e7a4d4;
border: 1px solid #DDD;
padding: 10px;
color: #FFF;
font-weight: bold;
text-align: center
}

.tattaInfoTable tbody tr td {
border: 1px solid #DDD;
padding: 10px;
vertical-align: middle
}

.tattaFlowList>section {
padding: 20px;
border: 2px solid #DDD
}

.tattaFlowList>section:not(:last-child) {
margin-bottom: 40px;
position: relative
}

.tattaFlowList>section:not(:last-child):after {
content: "";
display: block;
border-top: 20px solid #DDD;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
position: absolute;
left: 50%;
top: calc(100% + 10px);
transform: translateX(-50%)
}

.tattaFlowList>section h4 {
border-bottom: 1px solid #DDD;
padding-bottom: 10px;
margin-bottom: 20px
}

.tattaFlowList>section h4 .num {
background: #001D58;
color: #FFF;
font-size: 80%;
padding: 2px 10px;
border-radius: 5px;
display: inline-block;
vertical-align: middle;
margin: -3px 10px 0 0
}

.tattaFlowList>section .notesList li {
font-size: 86%
}

.tattaFlowList>section>section:not(:first-child) {
margin-top: 30px
}

.tattaFlowList>section>section h5 {
font-weight: bold;
padding-left: 10px;
position: relative;
line-height: 1.5;
margin-bottom: 20px
}

.tattaFlowList>section>section h5:before {
content: "";
width: 4px;
height: 100%;
background: #001D58;
position: absolute;
left: 0;
top: 0
}

.tattaFlowList>section .tattaEntryCol2 .content dl {
text-align: center
}

.tattaFlowList>section .tattaEntryCol2 .content dl dt {
font-weight: bold;
display: flex;
justify-content: center;
align-items: center
}

.tattaFlowList>section .tattaEntryCol2 .content dl dd {
margin-top: 10px
}

.tattaFlowList>section .tattaEntryCol2 .content dl dd a {
background: #e7a4d4;
color: #FFF;
display: block;
border-radius: 10px;
color: #FFF !important;
text-decoration: none;
padding: 15px
}

[id*="virtual-run-"] .txtImg .img.coming {
background: #EEE;
color: #999;
aspect-ratio: 3 / 2;
display: flex;
justify-content: center;
align-items: center
}

[id*="virtual-run-"] .downloadBtn.app li img {
  width: 100%;
}
[id*="virtual-run-"] .downloadBtn.app li {
  width: 48%;
  margin-left: auto;
  margin-right: auto;
}

[id*="virtual-run-"] .enTattaEntryBtns li {
text-align: center
}

[id*="virtual-run-"] .enTattaEntryBtns li a {
background: #e7a4d4;
color: #FFF;
display: block;
border-radius: 10px;
color: #FFF !important;
text-decoration: none;
padding: 20px 15px
}

[id*="virtual-run-"] .enTattaApp li {
display: flex;
justify-content: space-around;
margin-top: 20px
}

[id*="virtual-run-"] .enTattaApp li .download {
text-align: center;
}
[id*="virtual-run-"] .enTattaApp li .download .downloadBtn img {
width: 100%;
max-width: 240px;
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 769px) {
.tattaFlowList>section h4 {
  font-size: 20px
}

.tattaFlowList>section .tattaEntryCol2 {
  display: flex;
  justify-content: space-between
}

.tattaFlowList>section .tattaEntryCol2 .content {
  width: calc(50% - 20px)
}

.tattaFlowList>section .tattaEntryCol2 .content dl dt {
  font-size: 20px;
  height: 38px
}

.tattaFlowList>section>section h5 {
  font-size: 18px
}

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

.photoList li {
  width: calc(50% - 20px)
}

.photoList li:nth-child(n+3) {
  margin-top: 40px
}

.photoList li figcaption {
  font-size: 86%;
  margin-top: 5px;
  text-align: center
}

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

.enTattaEntryBtns li {
  width: calc((100% - 40px) / 3)
}

.txtImg {
  display: flex
}

.txtImg.reverse {
  flex-direction: row-reverse;
}

.txtImg .txt {
  flex: 1;
  margin-right: 40px
}

.txtImg .img.coming {
  width: 300px
}

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

.txtImg .downloadBtn li:not(:first-child) {
  margin-left: 20px
}

body[id*="virtual-run-"] .enTattaEntryBtns {
  display: flex;
  flex-wrap: wrap;
}

body[id*="virtual-run-"] .enTattaEntryBtns li {
  width: calc((100% - 20px) / 2);
  margin-bottom: 20px;
}
[id*="virtual-run-"] .enTattaApp li .ss {
margin-right: 20px
}
[id*="virtual-run-"] .enTattaApp li .download {
width: 40%;
}
}

@media screen and (max-width: 768px) {
.tattaFlowList>section h4 {
  font-size: 18px;
  line-height: 140%;
}

.tattaFlowList>section h4 .num {
  display: block;
  width: 5em;
  text-align: center;
  margin-bottom: 7px;
}

.tattaFlowList>section .tattaEntryCol2 .content:not(:first-child) {
  margin-top: 20px
}

.tattaFlowList>section .tattaEntryCol2 .content dl dt {
  font-size: 18px
}

.tattaFlowList>section>section h5 {
  font-size: 16px
}

.photoList li {
  margin-top: 10px
}

.photoList li figcaption {
  font-size: 86%;
  margin-top: 5px;
  text-align: center
}

.enTattaEntryBtns li:not(:first-child) {
  margin-top: 10px
}

.txtImg .txt {
  margin-bottom: 20px
}

.txtImg .img {
  width: 300px;
  max-width: 100%;
  margin: 0 auto 20px;
  text-align: center
}

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

.txtImg .downloadBtn li:not(:first-child) {
  margin-left: 20px
}

body[id*="virtual-run-"] .enTattaApp li {
  display: block;
}
}


/*エントリーページへ*/
.btn_to_entry {
  background-color: #1b4497;
  border-bottom: 2px solid #001D58;
  border-radius: 6px;
  text-align: center;
  font-size:1.2em;
  width: 85%;
  max-width: 400px;
  margin:30px auto 0;
}
#container #contents .btn_to_entry a {
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 16px 8px;
}
.btn_to_entry:hover{
  opacity:0.7;
}

/*準備中ボタン*/
.uc,.end,.close,.inactive{
position: relative;
/*display:inline-block;*/
pointer-events: none;
cursor: default;
}
/*.uc:before{
position: absolute;
content:"Coming Soon";
width:100%;
text-align: center;
font-size:16px;
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%);
z-index:2;
}*/
.uc:before{
position: absolute;
content:"Coming Soon";
font-weight: bold;
text-align: center;
width:100%;
/*font-size:1.7rem;*/
font-size:1.3rem;
/*letter-spacing: 0.05em;*/
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%);
z-index:2;
}
.end:before{
position: absolute;
content:"Sold out";
font-weight: bold;
text-align: center;
width:100%;
font-size:1.7rem;
letter-spacing: 0.05em;
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%);
z-index:2;
}
.close:before{
  position: absolute;
  content:"CLOSE";
  text-align: center;
  width:100%;
  font-size:1.5rem;
  letter-spacing: 0.05em;
  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%);
  z-index:2;
  }
/*.inactive:before {}*/
.inactive .coverTxt{
position: absolute;
width:100%;
color:#fff;
line-height: 1.25;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
z-index:2;
}
.inactive .hideTxt{
opacity: 0.6;
}
.uc:after,
.end:after,
.close:after,
.inactive:after{
position: absolute;
content:"";
background:#000;
border-radius:3px;
top:0;
left:0;
right:0;
bottom:0;
opacity:0.5;
z-index:1;
}

.btn_to_entry{
  opacity: 1 !important;
}

#changePic {
	transition: all 300ms ease;
	opacity: 1;
}
#changePic.fade{
	opacity: 0;
}

/*dl.archiveList {
  display: none;
}*/


/* -------------------------------
   トップ「参加者募集」動画
------------------------------- */

.area iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 320 / 575;
    border-radius: 10px;
    overflow: hidden;
    padding: 10px;
    box-sizing: border-box;
  }
 .area {
    width: 320px;
    margin: 60px auto;
  }


  /* -------------------------------
   トップ「RUNPASSPORT」
------------------------------- */

.runpass * {
    box-sizing: border-box;
}

.runpass a {
    display: flex;
    align-items: center;
    /*flex-direction: column;*/
    /*justify-content: space-between;*/
    justify-content: center;
    background-color: #8D1D22;
    color: #fff;
    outline: solid 2px #8D1D22;
    outline-offset: -2px;
    text-decoration: none;
    /*padding: 1rem;*/
    height: 180px;
    padding: 10px;
    transition: all .3s linear;
}
.runpass a:hover {
    /*background-color: #fff;
    color: #8D1D22;*/
    opacity: 0.7;
}

.runpass a .txt {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}

.runpass a .txt span.upper {
    font-weight: bold;
    font-size: min(1.6rem, 6vw);
    /*padding: .25rem;*/
}

.runpass a .txt span.lower {
    font-weight: bold;
    font-size: 1rem;
    letter-spacing: 0rem;
    padding: .25rem;
}

.runpass a img {
    width: 50px;
}

@media screen and (max-width: 768px) {
    .runpass a {
        padding-top: 10px;
        height: 120px;
    }
}

  /* -------------------------------
   トップ 年譜
------------------------------- */

.h2-chronology {
color: #1e2a5f;
text-align: center;
line-height: 145%;
}
@media screen and (min-width: 769px) {
.h2-chronology {
font-size: 28px;
margin-top: 40px;
margin-bottom: 20px;
}
}
@media screen and (max-width: 768px) {
.h2-chronology {
font-size: 22px;
margin-top: 30px;
margin-bottom: 15px;
}
}

.top-chronology {
text-align: center;
margin: 0 auto;
width: 90%;
max-width: 760px;
}

.top-chronology img {
outline: 2px solid #9fc6e3;
}

dl.styleList > dt, dl.styleList> dd {
position: relative;
padding-left: 1.25rem;
}
dl.styleList > dt.noindent {
padding-left: 0;
}
dl.styleList > dd + dt {
margin-top:0.5em;
}
dl.styleList> dt:before,
dl.styleList> dd:before {
position: absolute;
top: 0;
left: 0;
width: 1rem;
text-align: center;
}
dl.styleList > dt.square:before {
content: "\0025A0";
}
dl.styleList > dt.circle:before {
content: "\0025CB";
}
dl.styleList > dt.bullet:before {
content: "\0025CF";
}
dl.styleList > dt.diamond:before {
content: "\0025C6";
}
dl.styleList > dt.kome:before {
content: "\00203B";
}
dl.styleList > dt.astrisk:before {
content: "\002A";
}
dl.styleList > dd.dot:before {
content: "\0030FB";
font-weight: bold;
}
dl.styleList > dd.arrowR:before {
content: "\002192";
}
dl.styleList > dd.astrisk:before {
content: "\002A";
}


dl.countDtList {
  counter-reset: numbering;
}
dl.countDtList > dt {
  font-weight: normal;
}
dl.countDtList > dt:before {
  counter-increment: numbering;
  content: counter(numbering) ".";
  padding-right: 0.5rem;
  display: inline-block;
  text-align: right;
  width: 1.5rem;
}
dl.countDtList > dd {
  padding-left: 2rem;
}


/*TOP　バナー類*/
.confirming {display: none;}
.bannerInfo {
width: 80%;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.bannerEntry figure{
border: 1px solid #000;
box-sizing: border-box;
}

@media screen and (min-width: 721px){
.bannerEntry{
margin-top: 5%;
display: flex;
justify-content: center;
}
.bannerEntry figure{
width: 36%;
max-width: 500px;
margin:1%;
}
.bannerInfo{
display: flex;
margin-top: 2.5%;
justify-content: center;
flex-wrap: wrap;
}
.bannerInfo .bannerInfoBnrs  {
width: 31%;
margin: 0 1%;
}
}
@media screen and (max-width: 720px) {
.bannerEntry{
margin-top: 7%;
display: block;
}
.bannerEntry figure{
width: 80%;
margin: 0 auto 20px;
}
.bannerInfo{
display: block;
margin-top: 3.5%;
}
.bannerInfo .bannerInfoBnrs:not(:last-of-type){
margin-bottom: 8%;
}
}

/*CTAボタン*/
.cta-area{
	text-align:center;
}
.cta-btn .catch{
color: #095287;
font-weight: bold;
line-height: 140%;
}
.cta-area .cta-btn a{
display: block;
text-decoration: none;
color: #fff;
font-size:1.25rem;
font-weight: bold;
/*font-family: "M PLUS 1p";*/
background-color:#034ea2;
border-radius: 4px;
padding: 5% 1.5%;
box-sizing: border-box;
}
.cta-area .cta-btn:nth-child(2) a{
background-color: #ab0303;
}
@media screen and (min-width: 769px) {
.cta-area {
display: flex;
margin-top:5%;
justify-content: center;
flex-wrap: wrap;
}
.cta-area .cta-btn{
width: 45%;
margin: 0 1%;
}
.cta-btn .catch{
font-size:1.1rem;
min-height: 2.8em;
margin-bottom: 5px;
}
}

@media screen and (max-width: 768px) {
.cta-area{
display: block;
margin-top: 9%;	
width: 100%;
}
.cta-area .catch{
width:96%;
font-size: 1.05rem;
margin: 0 auto 15px;
}
.cta-area .cta-btn:not(:last-of-type){
margin-bottom: 8%;
}
.cta-area .cta-btn a{
width:80%;
margin: 0 auto;
}
}

.cta-area .cta-btn.carpark a{
background: #087b00;
}
.cta-area .cta-btn.carpark a:before {
content: '';
display: inline-block;
width: 1.5em;
height: 1.5em;
background: url('/2025/img/common/carpark_icon.svg') no-repeat center center;
background-size: contain;
margin: 0 0.5em 0 0;
}


/*TOP当日サービスバナー追加に伴う修正*/
@media screen and (min-width: 721px) 
{  
.bannerInfo.racedaybefore-2ols {
display: flex;
margin-top: 5%;
justify-content: center;
flex-wrap: wrap;
}
.bannerInfo.racedaybefore-2ols .bannerInfoBnrs  {
width: 40%;
margin: 0 1%;
}
.bannerInfo.racedaybefore-2ols .bannerInfoBnrs figcaption {
font-size: 2.5vw;
}
}

/*@media screen and (max-width: 720px) 
{  
.bannerInfo.racedaybefore-2ols {
display: flex;
margin-top: 5%;
justify-content: center;
flex-wrap: wrap;
}
.bannerInfo.racedaybefore-2ols .bannerInfoBnrs  {
width: 48%;
margin: 0 1%;
}
.bannerInfo.racedaybefore-2ols .bannerInfoBnrs figcaption {
font-size: 2.5vw;
}
}*/


/*TOPのTTATTA*/
@media screen and (min-width: 769px){
.tattaInfo {
/*max-width: 720px;*/
/*margin: 60px auto;*/
/*margin: 20px auto;*/
/*width: 50%;*/
margin: 0 auto;
}
}
.top_tatta_run_register {
width: 95%;
margin: 30px auto;
box-sizing: border-box;
border: 4px solid #deebf7;
padding: 15px;
}



/*----TATTA RUN----*/
section[class*="tattaRun"] .txtImg .img {
	align-self: flex-start;
}
section[class*="tattaRun"] .txtImg .img.uc {
	align-self: stretch;
	color: #eee;
}
section[class*="tattaRun"] .txtImg .img.uc:before {
	font-weight: bold;
}
section[class*="tattaRun"] .txtImg .img.uc:after {
	background-color: #aaa;
	opacity: 0.85;
}
@media screen and (min-width: 769px) {
section[class*="tattaRun"] .txtImg .img.uc {
	width: 300px;
	height: 350px;
}
section[class*="tattaRun"] .txtImg .img.uc:before {
	font-size: 2.5em;
}
}
@media screen and (max-width: 769px){
section[class*="tattaRun"] .txtImg .img.uc {
	width: 100%;
	display: block;
	max-width: 420px;
	height: min(320px, 50vw);
}
section[class*="tattaRun"] .txtImg .img.uc:before {
	font-size: min(3em, 8vw);
}
}

/*TATTA Tシャツサイズ表*/
table.tshirt-size-table th,
table.tshirt-size-table td {
padding: min(2vw, 10px) min(4vw, 20px);
text-align: center;
vertical-align: middle;
}
/*spring*/
#wrap:has(.tattaRunSpring) #pageTit {
background: url(../img/tatta/tit_bg_spring.jpg) no-repeat center bottom / cover !important;
}
.tattaRunSpring .tattaInfoTable thead tr th {
background-color: #F5A2BC;
}
.tattaRunSpring .tattaFlowList>section .tattaEntryCol2 .content dl dd a {
background-color: #F5A2BC;
border-bottom: 4px solid #d77cbd;
}
.tattaRunSpring .springBox {
background-color: #ffedf0;
border: 10px double #EF8AB6;
padding: 10px;
}
.tattaRunSpring .springBox>dt {
background-color: #ffc7df;
padding: 10px;
font-weight: bold;
margin-bottom: 20px;
}
.sec.tattaRunSpring .tit:before,
.tattaRunSpring .tattaFlowList>section h4 .num {
background-color: #F5A2BC;
}
body[id*="virtual-run-spring"] .enTattaEntryBtns li a {
background-color: #F5A2BC;
border-bottom: 4px solid #d77cbd;
}
/*summer*/
#wrap:has(.tattaRunSummer) #pageTit {
background: url(../img/tatta/tit_bg_summer.jpg) no-repeat center bottom / cover !important;
}
.tattaRunSummer .tattaInfoTable thead tr th {
background-color: #1AC9D3;
}
.tattaRunSummer .tattaFlowList>section .tattaEntryCol2 .content dl dd a {
background-color: #4de1dc;
border-bottom: 4px solid #9af1ee;
}
.tattaRunSummer .summerBox {
background-color: #e6faff;
border: 10px double #99e9f7;
padding: 10px;
}
.tattaRunSummer .summerBox>dt {
background-color: #b8eef7;
padding: 10px;
font-weight: bold;
margin-bottom: 20px;
}
.sec.tattaRunSummer .tit:before,
.tattaRunSummer .tattaFlowList>section h4 .num {
background-color: #1AC9D3;
}
body[id*="virtual-run-summer"] .enTattaEntryBtns li a {
background: #1ad3cc;
border-bottom: 4px solid #50a5a2;
}
.tattaRunSummer table.tshirt-size-table thead th {
background-color: #1ac9d3;
color: #fff;
}
.tattaRunSummer table.tshirt-size-table thead th:not(:last-of-type) {
border-right: 1px solid #fff;
}
.tattaRunSummer table.tshirt-size-table tbody tr:nth-of-type(even) {
background-color: #f1fffd;
}
.tattaRunSummer table.tshirt-size-table{
	overflow-x: auto !important;
    display: block !important;
}
.tattaRunSummer table.tshirt-size-table thead th,
.tattaRunSummer table.tshirt-size-table tbody th,
.tattaRunSummer table.tshirt-size-table tbody td {
    white-space: nowrap !important;
}
/*autumn*/
#wrap:has(.tattaRunAutumn) #pageTit {
background: url(../img/tatta/tit_bg_autumn.jpg) no-repeat center bottom / cover !important;
}
.tattaRunAutumn .tattaInfoTable thead tr th {
background-color: #bf2f2f;
}
.tattaRunAutumn .tattaFlowList>section .tattaEntryCol2 .content dl dd a {
background-color: #bf2f2f;
border-bottom: 4px solid #7d1515;
}
.tattaRunAutumn .autumnBox {
background-color: #fffdef;
border:10px double #cc3e3e;
padding: 10px;
}
.tattaRunAutumn .autumnBox>dt {
background-color: #ef7242;
color: #fff;
padding: 10px;
font-weight: bold;
margin-bottom: 20px;
}
.sec.tattaRunAutumn  .tit:before,
.tattaRunAutumn .tattaFlowList>section h4 .num {
background-color: #bf2f2f;
}
body[id*="virtual-run-autumn"] .enTattaEntryBtns li a {
background: #bf2f2f;
border-bottom: 4px solid #7d1515;
}
.tattaRunAutumn table.tshirt-size-table thead th {
background-color: #ef7242;
color: #fff;
}
.tattaRunAutumn table.tshirt-size-table thead th:not(:last-of-type) {
border-right: 1px solid #fff;
}
.tattaRunAutumn table.tshirt-size-table tbody tr:nth-of-type(even) {
background-color: #ffeae1;
}
/*winter*/
#wrap:has(.tattaRunWinter) #pageTit {
background: url(../img/tatta/tit_bg_winter.jpg) no-repeat center bottom / cover !important;
}
.tattaRunWinter .tattaInfoTable thead tr th {
background-color: #2258a5;
}
.tattaRunWinter .tattaFlowList>section .tattaEntryCol2 .content dl dd a {
background-color: #3b7fdf;
border-bottom: 4px solid #6d99d8;
}
.tattaRunWinter .winterBox {
background-color: #f2f9ff;
border:10px double #7ea7e3;
padding: 10px;
}
.tattaRunWinter .winterBox>dt {
background-color: #2258a5;
color: #fff;
padding: 10px;
font-weight: bold;
margin-bottom: 20px;
}
.sec.tattaRunWinter  .tit:before,
.tattaRunWinter .tattaFlowList>section h4 .num {
background-color: #2258a5;
}
body[id*="virtual-run-winter"] .enTattaEntryBtns li a {
background: #3b7fdf;
border-bottom:4px solid #6d99d8;
}
.tattaRunWinter table.tshirt-size-table thead th {
background-color: #2258A5;
color: #fff;
}
.tattaRunWinter table.tshirt-size-table thead th:not(:last-of-type) {
border-right: 1px solid #fff;
}
.tattaRunWinter table.tshirt-size-table tbody tr:nth-of-type(even) {
background-color: #E2E9F3;
}


#bottomContact .bottomBnr {
flex-wrap: wrap;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
@media screen and (min-width: 769px) {
#bottomContact .bottomBnr li{
margin-bottom: 20px;
}
}
@media screen and (max-width: 769px){
#bottomContact .bottomBnr.sponsors {
flex-wrap: wrap;
}
#bottomContact .bottomBnr.sponsors li {
width: calc(50% - 20px);
margin: 0 10px 10px;
}
}





#welcome-walking h1#pageTit,
#environment h1#pageTit {
display: none;
}
@media screen and (min-width: 769px) {
#welcome-walking h1#welcome-walking-pageTit {
max-width: 1240px;
margin-left: auto;
margin-right: auto;
}
}


#environment h1#environment-pageTit {
padding: 15% 1.5%;
display: flex;
justify-content: center;
align-items: center;
background: url('/2023/img/environment/mainvisual_environment.jpg') no-repeat center center;
background-size: cover;
font-size: min(4vw, 50px);
text-align: center;
}
#environment h1#environment-pageTit span {
color: #fff;
text-shadow: 2px 2px 5px rgba(0,25,60,0.9);
}
#environment .environmentSec h2.environmentTit {
color: #DB002A;
line-height: 1.5;
}
#environment .environmentSec h3.environmentTit {
position: relative;
color: #001D58;
line-height: 1.5;
}
#environment .environmentSec h3.environmentTit span {
position: absolute;
opacity: 0.15;
top: 0;
/*left: 35%;*/
right: 0;
font-style: italic;
text-align: right;
}
@media screen and (min-width: 769px) {
#environment .environmentSec h2.environmentTit {
font-size: 31px;
margin-bottom: 40px;
}
#environment .environmentSec h3.environmentTit {
font-size: 28px;
padding-top: 4.25rem;
margin-bottom: 20px;
}
#environment .environmentSec h3.environmentTit span {
font-size: 50px;
}
}
@media screen and (max-width: 768px) {
#environment .environmentSec h2.environmentTit {
font-size: 5vw;
margin-bottom: 4%;
}
#environment .environmentSec h3.environmentTit {
font-size: 5vw;
padding-top: 8.5vw;
margin-bottom: 3%;
}
#environment .environmentSec h3.environmentTit span {
font-size: 6vw;
}
}

.inlineblock{
display: inline-block !important;
}

.flex_environment{
display: flex;
margin-bottom: 25px;
}
.flex_environment p{
width: 62%;
margin-right: 3%;
}
.flex_environment figure{
width: 35%;
}
@media screen and (max-width: 768px){
.flex_environment{
flex-direction: column;
}
.flex_environment p{
width: 100%;
margin: 0 auto 10px;
}
.flex_environment figure{
width: 90%;
margin: 0 auto 20px;
text-align: center;
}
}
.box-value{
  padding: .5rem 1rem;
}
a.btn-bnr {
  background-color: #ef7242;
  color: #fff !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  outline: solid 2px #ef7242;
  outline-offset: -2px;
  padding: 1rem;
  border-radius: 5rem;
  width: 300px;
  font-size: 1rem;
  transition: all .3s linear;
}
a.btn-bnr:hover {
  background-color: #fff;
  color: #ef7242 !important;
}