@charset "utf-8";
/* CSS Document */

.spnone,
.headerAreaInner{
display:none !important;
}
body{
height: 100%;
width: 100%;
min-width: 100% !important;
}
main{
padding-top: 40px;
}
a {
-webkit-transition: none;
transition: none;
text-decoration: none;
}
.headerArea input,
.headerArea button,
.headerArea textarea,
.headerArea select {
margin: 0;
padding: 0;
background: none;
border: none;
border-radius: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}


/* =========================================================== */
/* headerArea
/* =========================================================== */
.headerArea{
height: 40px;
position: fixed;
background: #cc0000;
top: 0;
width: 100vw;
z-index: 9999;
box-shadow: 0 1px 6px rgba(0,0,0,0.2);
}

/* logoArea
-------------------------------------------------------------- */
.logoArea{
background:#cc0000;
height: 40px;
width: 100%;
position: relative;
}
.logoArea h1{
position: absolute;
top: 5px;
left: 0;
right: 0;
text-align: center;
}
.logoArea a{
display: inline-block;
margin:auto;
height: 30px;
padding: 5px;
box-sizing: border-box;
}
.logoArea a img{
height: 100%;
width: auto;
vertical-align: inherit;
}

/* =========================================================== */
/* gnavSP
/* =========================================================== */
.gnavSP{
position: fixed;
z-index: 10;
right: -90%;
top: 40px;
width: 90%;
/* height: 100%; */
max-height: calc( 100vh - 40px );
transition: right .6s cubic-bezier(.19,1,.22,1);
-webkit-transition: all .6s cubic-bezier(.19,1,.22,1);
-webkit-overflow-scrolling: touch;
overflow-y: auto;
}
.gnavInnerSP{
background:#cc0000;
padding-left: 1px;
/* padding-bottom: 41px; */
text-align: left;
}

/* nav-open
-------------------------------------------------------------- */
.nav-open{
position: fixed;
left: 0;
}
.nav-open .overlay {
display: block !important;
}
.nav-open .overlay:after{
content: "";
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
background: rgba(0,0,0,.6);
}
.nav-open .gnavSP{
right: 0;
}

/* nav-btn
-------------------------------------------------------------- */
.headerArea .nav-btn{
position: absolute;
right: 0;
top: 0;
-webkit-transition: all .6s cubic-bezier(.19,1,.22,1);
transition: all .6s cubic-bezier(.19,1,.22,1);
-webkit-transform: translateZ(0);
transform: translateZ(0);
z-index: 4;
display: block;
box-sizing: content-box;
border: 0;
outline: 0;
width: 40px;
height: 40px;
background: #d42626;
padding: 0;
text-align: center;
}
.nav-btn-icon, .nav-btn-icon:after, .nav-btn-icon:before {
position: absolute;
left: 0;
right: 0;
display: block;
background: white;
width: 22px;
text-align: center;
height: 2px;
-webkit-transition: all .6s cubic-bezier(.19,1,.22,1);
transition: all .6s cubic-bezier(.19,1,.22,1);
}
.nav-btn-icon{
margin: auto;
top: 0;
bottom: 0;
}
.nav-btn-icon:before {
content: "";
top: -8px;
}
.nav-btn-icon:after {
content: "";
top: 8px;
}
.nav-open .nav-btn-icon:after, .nav-open .nav-btn-icon:before {
top: 0;
}
.nav-open .nav-btn-icon{
background-color: transparent;
}
.nav-open .nav-btn-icon:before{
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.nav-open .nav-btn-icon:after{
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.target_blank02{
margin-right: 10px;
}
/* searchAreaBox
-------------------------------------------------------------- */
.searchArea{
background:#ebebeb;
position: relative;
margin-bottom: 1px;
}
.searchArea input.mfFormPhrase{
line-height: 30px;
padding:0 20px 0 15px;
border-radius: 15px;
border: 1px solid #d8d8d8;
background: white;
width: calc(100% - 20px);
box-sizing: border-box;
margin: 10px;
font-size: 1em;
color: #181818;
}
.searchArea input.submitButton{
right: 22px;
width: 13px;
height: 13px;
background-size: cover;
}
#SPq::placeholder {
opacity: 1;
color: #767676;
}

/* spLinkBox 
-------------------------------------------------------------- */
.spLinkBox {
background: white;
}
.spLinkBox li{
margin-bottom: 1px;
}

/*   第一階層メニュー   */
.menuMain{
width: 100%;
text-align: left;
position:relative;
font-weight: bold;
font-size: 0.9em;
}
.menuMain:focus,
.menuMain:focus .menuMainttl.open,
.menuSub a:focus{
outline: none !important;
-webkit-box-shadow: 0 0 0 2px #ff9000 inset !important;
box-shadow: 0 0 0 2px #ff9000 inset !important;
}
.menuMain a,
.menuMain span{
color:#181818;
text-decoration: none;
font-family: 'UD新ゴ M';
}
.menuMainttl{
display:block;
background:#f3f3f3;
padding: 17px 20px;
background:url(../../images/ico_plus.png) center right 20px no-repeat;
background-size: 12px;
}
.menuMainttl.open{
background:#ffeeee url(../../images/ico_minus.png) center right 20px no-repeat;
background-size: 12px;
color: #cc0000;
}

/*   第二階層メニュー   */
.menuSub{
display:none;
margin:0;
padding:0;
list-style:none;
}
.menuSub li{
margin-bottom: 1px;
position: relative;
}
.menuSub li a{
display:block;
background: #efefef;
padding: 17px 44px 17px 30px;
color:#181818;
text-decoration: none;
font-size: 0.9em;
font-family: 'UD新ゴ M';
}
.menuSub li a:after{
position: absolute;
content: "";
width: 20px;
height: 20px;
top: 0;
right: 22px;
background: url(../../images/ico_arrow_red_s.png) no-repeat right center;
background-size: 7px 12px;
bottom: 0;
margin: auto;
}
.menuSub li a.Popup{
padding-left: 52px;
position: relative;
}
.menuSub li a.Popup:before{
position: absolute;
content: "";
width: 20px;
height: 20px;
top: 0;
left: 22px;
background: url(../../images/ico_window_blue.png) no-repeat center center;
background-size: 14px 14px;
bottom: 0;
margin: auto;
}

/*   その他メニュー   */
.menuBnr{
background:#fff;
text-align:center;
display:block;
padding:10px;
}
.menuOther{
font-size: 1em;
}
.menuOther a,
.menuOther a:visited{
color: white !important;
display: inline-block;
padding: 17px 20px;
width: 100%;
height:100%;
box-sizing: border-box;
font-size: 1.2em;
font-weight:bold;
font-family: "ヒラギノUD角ゴ W6 JIS2004";
}
.menuOther .line{
border-bottom: 1px solid white;
}
.menuOther .line a,
.menuOther .line a:visited{
font-weight:bold;
font-family: "ヒラギノUD角ゴ W6 JIS2004";
position: relative;
color: white;
text-decoration: none;
font-size: 0.9em;
}
.menuOther .line a:after{
position: absolute;
content: "";
width: 20px;
height: 20px;
top: 0;
right: 24px;
background: url(../../images/ico_arrow_white_s.png) no-repeat right center;
background-size: 7px 12px;
bottom: 0;
margin: auto;
}
.menuOther .line a:hover{
opacity:1;
}
.menuOther .flex{
display: flex;
justify-content:space-between;
align-content: center;
align-items: center;
/* border-bottom: 1px solid white; */
border-bottom: 1px solid #d42626;
font-size: 0.7em;
}
.menuOther .flex li{
flex: auto;
border-right: 1px solid white;
text-align: center;
}
.menuOther .flex li:last-child{
border:0;
}
.menuOther a:hover {
opacity:1;
}
/*   ソーシャルメニュー   */
.gnavInnerSP .socialLinkBox{
padding: 0;
background: #fff;
}
.gnavInnerSP .socialLinkBox .group{
margin-right: 1px;
}



/* =========================================================== */
/* topBtn
/* =========================================================== */
footer a.topBtn{
text-indent: -9999px;
bottom: 0;
right: 0;
padding: 0;
width: 50px;
height: 50px;
border-radius:0;
box-sizing:border-box;
}
footer a.topBtn:before{
content:none;
}
footer a.topBtn:after{
content:"";
background:url(../../images/ico_arrow_white_s.png) no-repeat center center;
background-size: contain;
display: inline-block;
width: 20px;
height: 20px;
border-radius: 10px;
left: 0 ;
right: 0;
}


/* =========================================================== */
/* footerArea
/* =========================================================== */
.footerArea{
margin-top: 80px;
display: block;border-top: 2px solid #cc0000;
}

/* footLinkBox
-------------------------------------------------------------- */
.footLinkBox{
width: 100%;
padding: 0;
order: 2;
margin: 0;
display:flex;
flex-wrap: wrap;
}
.footLinkBoxInner{
/* display: none; */
flex-wrap: wrap;
margin-right:0;
}
.footLinkBox .col{
width:100%;
}
.footLinkBox .col ul{
display:flex;
flex-wrap: wrap;
}
.footLinkBox .col ul li{
width:45%;
}

/* socialLinkBox
-------------------------------------------------------------- */
.socialLinkBox{
display: flex;
flex-basis: 100%;
background: none;
box-sizing: border-box;
padding: 8px;
}
.socialLinkBox h4{
display: none;
}
.socialLinkBox .group,
.socialLinkBox .athlete,
.socialLinkBox .kanpo{
background: #fff;
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 26px 8px 20px;
}
.socialLinkBox .logo{
font-size: 0.8em;
font-weight: normal;
flex-grow: 1;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
margin: 0 0 16px;
padding: 0;
background: none;
}
.socialLinkBox > ul{
/*display: flex;*/
width: 100%;
}
.socialLinkBox .group .logo img{
width: auto;
height: auto;
max-height: 23px;
max-width: 100px;
}
.socialLinkBox .athlete .logo img{
width: auto;
/* height: 23px; */
}
.socialLinkBox .athlete .logo span{
display: block;
line-height:1.5;
}
.socialLinkBox .group{
/*margin-right: 8px;
border: none;*/
}
.socialLinkBox .icon{
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.socialLinkBox .icon > li{
margin-bottom: 4px;
}
.socialLinkBox .icon > li:nth-child(odd){
/*margin-right: 4px;*/
}
.socialLinkBox .icon img{
width: 100%;
box-shadow: none;
}

/* footerNav
-------------------------------------------------------------- */
.footerNav{
margin: 0;
order: 1;
width: 100%;
}
.footerNav .logo{
display: none;
}
.footerNav ul{
display: block;
width: 100%;
}
.footerNav li{
display: block;
border-bottom: 1px solid #d9d9d9;
}
.footerNav li:not(:last-child):after{
content:none;
}
.footerNav li a{
display: inline-block;
height: 100%;
width: 100%;
padding: 10px 30px;
color: #181818;
font-size: 1em;
font-weight: normal;
position: relative;
box-sizing: border-box;
text-align: left;
text-decoration: none;
}
.footerNav li a:before{
content:"";
position: absolute;
background: url(../../images/ico_arrow_red_s.png) no-repeat;
background-size: contain;
width: 0.5em;
height: 0.8em;
display: inline-block;
left: 15px;
top: 1em;
margin: auto;
}
.footerRedBox{
order: 4;
}
.footerRedBoxInner{
display: block;
padding: 0;
height: auto;
}
.footerRedBoxInner .logo{
display: block;
text-align: center;
padding: 14px;
}
.footerRedBoxInner .logo img{
width: 45%;
}
.footerRedBoxInner .footerCopyright{
display: none;
}
.footerCopyrightSP{
order: 3;
display: block;
text-align: center;
margin: 20px 0;
font-size: 71.5%;
text-transform: uppercase;
}


