@charset "UTF-8";
/*-----------------------------------------------
reset
-----------------------------------------------*/
/* --- reset CSS--- */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { margin: 0; padding: 0; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
q:before, q:after { content: ""; }
abbr, acronym { border: 0; }
ul { list-style: none; }
a {  text-decoration: none; }
a:focus {  outline: none; }
a:link {  text-decoration: none;}
a:visited { text-decoration: none; }
a:hover { text-decoration: none; }
a:active { text-decoration: none; }
input,button,textarea,select { font-size: 100%; margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; appearance: none; }
hr { display: block; border: none; padding: 0; margin: 0; }
#page { min-width:auto !important;}
body,body #mwc2024 { font-family: "Noto Sans JP","Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-size: 15px;}
@media screen and (min-width: 768px){
  #header { position: fixed; display: flex; justify-content: space-between; align-items: center; width: 100%; background: #fff; z-index: 20; transition: .6s; height: 86px; box-shadow: 0 0 10px 10px rgb(0 0 0 / 20%); }
  #header > p { margin-left: 20px; width: 140px;  }
  #header > p img { width: 100%; margin-top: -2px; }
  #header > a { display: none; }
  #header > div#gnav { padding-right: 15px; text-align: right; width: calc(100% - 140px); }
  #header > div#gnav div ul { display: flex; justify-content: flex-end; align-items: center; padding: 20px 0; font-family: 'Montserrat'; width: 100%; }
  #header > div#gnav ul li { display: inline-block; padding: 0 2%; width:fit-content; }
  #header > div#gnav ul li a span { display: block!important; font-size: 60%; margin-top: 5%; }
  #header > div#gnav ul li a { display: block; transition: .4s; position: relative; text-align: center; color:#333; }
  #header > div#gnav ul li a:hover { color:#0E0D6A; }
  #header > div#gnav ul li a::after { content: ''; border-bottom: 2px solid #0E0D6A; position: absolute; bottom: -3px; left: 50%; width: 0%; transition: .4s; }
  #header > div#gnav ul li a:hover::after { width: 100%; left: 0; }
  #header > div#gnav ul li:last-child { font-family: 'Noto Sans JP', sans-serif; background-image: linear-gradient(90deg, #00b5e9, #1328ba); border-radius: 40px;  background-image: linear-gradient(90deg, #eb5505, #c94701); border-radius: 40px; margin-left: 8%; padding: 0 2%; }
  #header > div#gnav ul li.archive { padding: 0 5%;}
  #header > div#gnav ul li.archive:last-child a { line-height: 1.2; font-size: 14px; padding: 0; padding: 7.8% 0%; }

  #header > div#gnav ul li.gray:last-child { font-family: 'Noto Sans JP', sans-serif; background-image: linear-gradient(90deg, #00b5e9, #1328ba); border-radius: 40px;  background-image: linear-gradient(90deg, #555, #555); border-radius: 40px; margin-left: 8%; padding: 0 2%; }
  #header > div#gnav ul li:last-child a { padding: 12px 50px; font-size: 18px; color:#fff}
  #header > div#gnav ul li.gray a { pointer-events: none; }
  #header > div#gnav ul li:last-child a span { font-size: 100%; margin-top: 0; display: block;}
  #header > div#gnav ul li:last-child a::after { display: none; }
  #header > div#gnav ul li:last-child a:hover { opacity: .6;}
  #header > div#humberger { display:none; }

 .mvin #header { position: fixed; display: flex; justify-content: space-between; width: 100%; background: transparent; font-family: 'Noto Sans JP'; z-index: 20; box-shadow: none; }
 .mvin #header > p { margin-left: 20px; width: 140px; }
 .mvin #header > p a { display: none; }
 .mvin #header > div#gnav { padding-right: 15px; text-align: right; width: calc(100% - 140px); }
 .mvin #header > div#gnav ul li a { display: block; color:#fff; }
 .mvin #header > div#gnav ul li:last-child { color:#fff; }
 .mvin #header > div#gnav ul li:last-child a { /*font-size: 18px;*/ }
 .mvin #header > div#gnav ul li a::after { border-bottom: 2px solid #fff; }
 .mvin #header > div#gnav ul li:last-child a span { font-size: 100%; margin-top: 0; }


 footer { background: #fff; position: relative; font-family: "Noto Sans JP","Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;  }
 footer #footerLinkList2 { padding-bottom: 80px; }
 footer #footerLinkList2 ul { max-width: 960px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center; padding-top: 40px; }
 footer #footerLinkList2 ul li { margin-top: 30px; }
 footer #footerLinkList2 ul li a { display: block; padding: 0 25px; position: relative; color: #929292!important; }
 footer #footerLinkList2 ul li a::before { content: '\FF1E'; position: absolute; transform: scale(.5,.8); left: 0; top: 0; }
 footer #footerLinkList2 ul li a:hover { text-decoration: underline; color: #1d9bff!important; }
 footer #copyright { text-align: center; display: flex; justify-content: center; align-items: center; padding-bottom: 20px; }
 footer #copyright p.logo { width: 64px; margin-right: 20px; }
 footer #copyright p.logo img { width: 100%; margin-bottom: 5px; }
 footer #copyright p.ipv { width: 120px; margin-right: 30px; }
 footer #copyright p.ipv img { width: 100%; }
 footer #copyright small { font-size: 10px; }
}


@media screen and (max-width:1000px) {
  #header { height: 76px;}
  #header > p img { }
  #header > div#gnav ul li a { font-size: 14px; }
  #header > div#gnav ul li:last-child a { padding: 8px; font-size: 14px;}
  #header > div#gnav ul li:last-child { margin-left: 2%;}
}
@media screen and (max-width:767.98px) {
  #page { min-width:unset !important; width: 100%;}
  body,body #mwc2024{ font-size: 3.4vw; line-height: 1.5;}
  #header { position: fixed; width: 100%; font-family: 'Noto Sans JP'; z-index: 20; height: 13vw; background: #fff; }
  #header > p { position: relative; height: 0; z-index: 1; }
  #header > p img { position: absolute; top: 3vw; left: 3vw; width: 27vw; margin-top: 0; }
  #header > a { position: relative; height: 10vw; line-height: 10vw; text-align: center; border-radius: 5vw; display: block; left: 37vw; top: 1.4vw; color: #fff!important; z-index: 1; background-image: linear-gradient(90deg, #eb5505, #c94701); width: 40%; }
  #header > a.gray { position: relative; height: 10vw; line-height: 10vw; text-align: center; border-radius: 5vw; display: block; left: 37vw; top: 1.4vw; color: #fff!important; z-index: 1; background-image: linear-gradient(90deg, #555, #555); width: 40%; pointer-events: none;}
  #header > a.archive { position: relative; height: 10vw; line-height: 1.2; text-align: center; border-radius: 5vw; display: block; left: 37vw; top: 1.4vw; font-size: 2.8vw; padding-top: 1.6vw; color: #fff!important; z-index: 1; background-image: linear-gradient(90deg, #eb5505, #c94701); width: 40%; }
  
  
  
  #header > div#gnav { transition: .6s; transform: translateY(-100vh); height: 1vh; overflow: hidden;  }
  #header > div#gnav.opn { transform: translateY(0); /*background: rgba(0,0,0,.3);*/height: 100vh; }
  #header > div#gnav ul { padding: 22vw 0 5%; height: 100%; background: #fff; }
  #header > div#gnav ul li { padding: 4% 25%; text-align: center; font-family: 'Montserrat'; }
  #header > div#gnav ul li span { display: block; font-size: 60%; font-weight: 300; }
  #header > div#gnav ul li a { display: block; text-align: center; font-size: 5vw; font-weight: 600; color: #12115b!important; }
  #header > div#gnav ul li:last-child { display: none; border: 1px solid #111; width: 60%; margin: 0 auto; padding: 3% 5%; margin-top: 5%; }
  #header > div#gnav ul li:last-child a { padding: 1vw 0; text-align: center; font-size: 80%;}

  #header > div#humberger { position: absolute; top: 5vw; right: 3vw; width: 6vw; height: 6vw; }
  #header > div#humberger a { position: relative; width: 6vw; height: 6vw; display: block;}
  #header > div#humberger a span { display: block; border-top: 1px solid #0E0D6A; margin: 0 auto 22%; width: 6vw; line-height: 0; transition: .6s; }
  #header > div#humberger.opn a span { margin: 0;}
  #header > div#humberger.opn a span:nth-child(1) { position: absolute; transform: rotate(45deg); top: 0; left:0 } 
  #header > div#humberger.opn a span:nth-child(2) { opacity: 0; } 
  #header > div#humberger.opn a span:nth-child(3) { position: absolute; transform: rotate(-45deg); top: 0; left:0 } 

  .mvin #header { background: none; }
  .mvin #header > p { display: none; }
  .mvin #header > a { display: none; }
}

/*
@media screen and (min-width:767px) and (max-width:896.98px) {
  #header { position: fixed; width: 100%; font-family: 'Noto Sans JP'; z-index: 20; height: 14vw; }
  #header > p { width: 12vw; height: 14vw; background:#0E0D6A; text-align: center; position: relative; z-index: 1; }
  #header > p::after { content: ''; display: block; width: 0; height: 0; border-style: solid; border-width: 4vw 12vw 0 0; border-color: #0E0D6A transparent transparent transparent; position: absolute; bottom: -4vw; left: 0; }
  #header > p img { width: 10vw; height: 10vw; margin-top: 2vw; }
  #header > div#gnav { transition: .6s; transform: translateX(100%); margin-top: -14vw; height: 100vh;  }
  #header > div#gnav.opn { transform: translateX(0); }
  #header > div#gnav ul { padding: 14vw 0 5%; height: 100%; background: #fff; margin-left: 26%; }
  #header > div#gnav ul li { padding: 5% 25%; }
  #header > div#humberger { position: absolute; top: 4vw; right: 3vw; width: 4vw; height: 4vw; }
  #header > div#humberger a { position: relative; width: 4vw; height: 4vw; display: block;}
  #header > div#humberger a span { display: block; border-top: 1px solid #0E0D6A; margin: 0 auto 14%; width: 4vw; line-height: 0; transition: .6s; }
  #header > div#humberger.opn a span { margin: 0;}
  #header > div#humberger.opn a span:nth-child(1) { position: absolute; transform: rotate(45deg); top: 0; left:0 } 
  #header > div#humberger.opn a span:nth-child(2) { opacity: 0; } 
  #header > div#humberger.opn a span:nth-child(3) { position: absolute; transform: rotate(-45deg); top: 0; left:0 }
}**/

@media screen and (min-width: 0px) and (max-width:767.98px) {
  footer { background: #fff; position: relative; z-index: 101; padding-bottom: 16vw; font-family: "Noto Sans JP","Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; z-index: 2; }
  footer #footerLinkList2 { padding-bottom: 3%; }
  footer #footerLinkList2 ul { margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: flex-start; padding: 5% 4%; }
  footer #footerLinkList2 ul li { line-height: 3; white-space: nowrap; }
  footer #footerLinkList2 ul li a { display: block; text-align: left; font-size: 3vw; padding: 0 3.8vw 0 3.4vw; position: relative; color: #929292!important }
  footer #footerLinkList2 ul li a::before { content: '\FF1E'; position: absolute; transform: scale(.5,.8); left: 0; top: 0; }
  
  footer #copyright { text-align: center; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; padding: 0 5% 5%; }
  footer #copyright p.logo { width: 22%; margin-right: 12%; }
  footer #copyright p.logo img { width: 100%; margin-bottom: 4%; }
  footer #copyright p.ipv { width: 30%;  }
  footer #copyright p.ipv img { width: 100%; }
  footer #copyright small { font-size: 2.4vw; display: block; width: 100%; text-align: center; padding-top: 3%  }
}



.view-pc { display: block!important; }
.view-sp { display: none!important; }


@media screen and (max-width:767.98px) {
    .view-pc { display: none!important; }
    .view-sp { display: block!important; }
}
