@charset "utf-8";
.page_top_section {
  text-align: right;
  margin-top: 16px;
  font-size: 18px;
}
.page_top_section a {
  color: #000 !important;
}

.flex_align_center {
  align-items: center;
}
.white {
  color: white !important;
}
.red {
  color: red !important;
}
@media only screen and (max-width: 768px){
  .page_top_section {
    font-size: 15px;
  }
  .sp_ju_c {
    padding: 0 12px 8px;
  }
  .flowListWrap li dl .flowListTitle {
    justify-content: flex-start;
  }
}


.japan-evisa-top .mv{
    margin-right:calc(50% - 50vw);
    margin-left:calc(50% - 50vw)
  }

.japan-evisa-top .mv img{
      display:block;
      max-width:100%;
    }

.japan-evisa-top .mv-caption{
    margin-top:6px;
    font-size:0.6875rem;
    line-height:1.2;
    text-align:right
  }

.japan-evisa-top .sp-nav{
    display:grid;
    grid-template-rows:repeat(3, 1fr);
    grid-template-columns:repeat(1, 1fr);
    grid-gap:6px;
    gap:6px;
    margin-top:12px;
  }

.japan-evisa-top .sp-nav__item{
    display:grid;
    width:100%;
    height:100%;
    align-items:center;
    justify-items:center;
    place-items:center;
    font-weight:bold;
  }

.japan-evisa-top .sp-nav__link{
    display:grid;
    box-sizing:border-box;
    width:100%;
    height:100%;
    padding:8px;
    color:#fff;
    text-align:center;
    text-decoration:none;
    background-color:#033367;
    align-items:center;
    justify-items:center;
    place-items:center;
  }

.japan-evisa-top .attention-note{
    margin-top:20px;
    color:#ee0000;
  }

.japan-evisa-top .p-main-area{
    display:flex;
    max-width:1300px;
    margin:0 auto;
    padding-right:8px;
    padding-bottom:30px;
    padding-left:8px;
    border-right:1px solid #dddddd;
    border-left:1px solid #dddddd
  }

.japan-evisa-top .p-main-area__aside{
    display:none;
    flex-shrink:0;
    width:30%;
    max-width:260px;
    padding:0 3%;
    font-size:1rem;
  }

.japan-evisa-top .p-sidenav{
  }

.japan-evisa-top .p-sidenav__container{
    position:-webkit-sticky;
    position:sticky;
    top:190px;
  }

.japan-evisa-top .p-sidenav__list{
    position:relative;
  }

.japan-evisa-top .p-sidenav__link{
    position:relative;
    display:flex;
    align-items:flex-start;
    padding:16px;
    color:#000;
    text-decoration:none;
    background-color:#e8f3fe
  }

.japan-evisa-top .p-sidenav__link span{
      text-decoration:underline;
    }

.japan-evisa-top .p-sidenav__link::before{
      color:#033367;
      -webkit-transform:scale(0.5);
      transform:scale(0.5);
      content: "";
      display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
      border-top: 7px solid transparent;
      border-bottom: 7px solid transparent;
      border-left: 10px solid #033367;
      border-right: 0;
      padding-right: 2px;
    }

.japan-evisa-top .p-sidenav__link:hover,
    .japan-evisa-top .p-sidenav__link:focus{
      color:#fff;
      background-color:#033367;
    }

.japan-evisa-top .p-sidenav__link:hover::before, .japan-evisa-top .p-sidenav__link:focus::before{
        color:#fff;
        background-color:#033367;
        border-left: 10px solid #fff;
      }

.japan-evisa-top .p-sidenav__link:not(:last-of-type)::after{
      position:absolute;
      bottom:0;
      left:50%;
      width:calc(100% - 32px);
      height:0;
      border-bottom:dotted 1px #bcbcbc;
      -webkit-transform:translateX(-50%);
              transform:translateX(-50%);
      content:"";
    }

    .japan-evisa-top .p-sidenav__list:not(:last-of-type)::after{
    position:absolute;
    bottom:0;
    left:50%;
    width:calc(100% - 32px);
    height:0;
    border-bottom:dotted 1px #bcbcbc;
    -webkit-transform:translateX(-50%);
    transform:translateX(-50%);
    content:"";
  }

.japan-evisa-top .p-heading{
    display:block;
    padding:12px;
    color:#fff;
    font-weight:bold;
    background-color:#104798;
  }

.japan-evisa-top .p-heading02{
    padding-bottom:6px;
    font-size:1.0625rem;
    text-align:left;
    border-bottom:1px solid #000
  }

.japan-evisa-top .p-body{
    margin-top:16px;
    font-size:0.9375rem;
    line-height:1.7
  }

.japan-evisa-top .p-section + .p-section{
    margin-top:40px
  }

.japan-evisa-top .p-section02{
    margin-top:16px;
  }

.japan-evisa-top .p-section02 + .p-section02{
    margin-top:24px
  }

.japan-evisa-top .p-foot-attention{
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin: 0 0 0 auto;
    color:red;
    line-height:1.7
  }

.japan-evisa-top .p-foot-attention a{
      color:red;
    }

.japan-evisa-top .p-foot-link{
    margin-top:40px;
    text-align:center
  }

.japan-evisa-top .p-foot-faq{
    display:inline-block;
    margin-top:20px
  }

.japan-evisa-top .p-footer{
  }

.japan-evisa-top .p-footer__head{
    padding:12px;
    color:#fff;
    font-size:0.75rem;
    background-color:#033367
  }

.japan-evisa-top .p-footer__main{
    padding:12px;
    background-color:#f1f1f1
  }

.japan-evisa-top .p-footer__info{
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin:0 auto;
    font-size:0.75rem;
  }

.japan-evisa-top .p-footer__copy{
    padding:12px;
    font-size:0.75rem;
    text-align:center;
    background-color:#f1f1f1;
    border-top:1px solid #bcbcbc
  }

.japan-evisa-top .video_link{
    position:-webkit-sticky;
    position:sticky;
    top:408px;
    margin-top:10px;
  }

.japan-evisa-top .video_link_elements{
    width:100%;
  }

.japan-evisa-top .video_link_contents{
    display:block;
    margin-top:10px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: auto;
  }

.japan-evisa-top .video_link_contents_elements{
    display:block;
    margin:auto;
    width:90%;
  }

:where(.japan-evisa-top) [id]{
    scroll-margin-top:80px
  }

:where(.japan-evisa-top) a:hover,
  :where(.japan-evisa-top) a:focus{
    color:#0066cc;
    background-color:initial;
  }

:where(.japan-evisa-top) a:visited{
    color:#0066cc;
  }

:where(.japan-evisa-top) header{
    height:80px
  }

:where(.japan-evisa-top) .contents{
    padding-top:80px
  }

:where(.japan-evisa-top) .maineContents{
    height:auto;
  }

:where(.japan-evisa-top) nav .wrap{
    background-color:#104798;
  }

:where(.japan-evisa-top) nav.headNav .headNavInner ul li{
    min-width:auto;
  }

:where(.japan-evisa-top) nav.headNav .headNavInner ul li a.headNavList:hover,
  :where(.japan-evisa-top) nav.headNav .headNavInner ul li a.headNavList:active{
    height:auto;
    background-color:#104798;
  }

:where(.japan-evisa-top) nav.headNav a.headNavList:before{
    -webkit-transform:rotate(90deg);
            transform:rotate(90deg);
  }

:where(.japan-evisa-top) .hedderBottom{
    border:none;
  }

:where(.japan-evisa-top) .maineContentsWrap{
    margin-top:20px;
  }

:where(.japan-evisa-top) .maineContentsWrap h1{
    display:block;
    padding-bottom:5px;
    color:#033367;
    font-weight:normal;
    font-size:1.25rem;
    border-bottom:solid 1px #033367
  }

:where(.japan-evisa-top) .flow{
    margin:50px calc(50% - 50vw);
    padding-top:30px
  }

:where(.japan-evisa-top) .flowListWrap{
    margin-top:20px;
  }

:where(.japan-evisa-top) .u-text-underline{
    text-decoration:underline;
  }

:where(.japan-evisa-top) .u-text-red{
    color:#ef0000 !important;
  }
  .black {
    color: #000 !important;
  }
a.eVisaApplication {
  color: #fff !important;
  background-color: #BE0728 !important;
}
a.eVisaApplication.checkoff{
  color: #fff !important;
  background-color: #666666 !important;
}

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

.u-hide-s-up{
    display:none !important
}
}

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

.japan-evisa-top .mv{
      margin-right:-40px;
      margin-left:-40px
  }

.japan-evisa-top .mv-caption{
      margin-top:0;
      font-size:1rem
  }

.japan-evisa-top .attention-note{
      margin-top:40px
  }

.japan-evisa-top .p-main-area{
      padding-right:0;
      padding-bottom:80px;
      padding-left:0
  }

.japan-evisa-top .p-main-area__aside{
      display:block
  }

.japan-evisa-top .p-main-area__contents{
      padding-right:3%
  }

.japan-evisa-top .p-heading{
      padding:14px 18px;
      font-size:1.75rem
  }

.japan-evisa-top .p-heading02{
      font-size:1.3125rem
  }

.japan-evisa-top .p-body{
      font-size:1.125rem
  }

.japan-evisa-top .p-section + .p-section{
      margin-top:60px
  }

.japan-evisa-top .p-section02 + .p-section02{
      margin-top:48px
  }

.japan-evisa-top .p-foot-link{
      margin-top:60px
  }

.japan-evisa-top .p-foot-faq{
      margin-top:50px
  }

.japan-evisa-top .p-footer__head{
      padding:16px
  }

.japan-evisa-top .p-footer__main{
      padding:16px
  }

.japan-evisa-top .p-footer__info{
      margin:0;
      font-size:0.875rem
  }

.japan-evisa-top .p-footer__copy{
      padding:16px;
      font-size:0.875rem
  }

.japan-evisa-top .video_link_contents{
      display:none;
  }

.u-hide-m-up{
    display:none !important
}

:where(.japan-evisa-top) [id]{
      scroll-margin-top:174px
  }

:where(.japan-evisa-top) header{
      height:174px
  }

:where(.japan-evisa-top) .contents{
      padding-top:174px
  }

:where(.japan-evisa-top) nav .wrap{
      background-color:#033367
  }

:where(.japan-evisa-top) .maineContentsWrap h1{
      padding-bottom:14px;
      font-weight:bold;
      font-size:2.625rem
  }

:where(.japan-evisa-top) nav.headNav .headNavInner ul li a.headNavList:hover,
  :where(.japan-evisa-top) nav.headNav .headNavInner ul li a.headNavList:active{
      background-color:#033367
  }

:where(.japan-evisa-top) .flow{
      margin:60px -3%
  }

:where(.japan-evisa-top) .flowListWrap li dl dt{
      flex:0 0 40%;
      max-width:300px
  }

:where(.japan-evisa-top) .flowListWrap li.step2 dl dd,
  :where(.japan-evisa-top) .flowListWrap li.step3 dl dd,
  :where(.japan-evisa-top) .flowListWrap li.step4 dl dd,
  :where(.japan-evisa-top) .flowListWrap li.step5 dl dd{
      display:flex;
      align-items:center
  }

      :where(.japan-evisa-top) .flowListWrap li.step2 dl dd::before, :where(.japan-evisa-top) .flowListWrap li.step3 dl dd::before, :where(.japan-evisa-top) .flowListWrap li.step4 dl dd::before, :where(.japan-evisa-top) .flowListWrap li.step5 dl dd::before{
        flex-shrink:0;
        margin-right:10px;
      }

      :where(.japan-evisa-top) .flowListWrap li.step2 dl dd p, :where(.japan-evisa-top) .flowListWrap li.step3 dl dd p, :where(.japan-evisa-top) .flowListWrap li.step4 dl dd p, :where(.japan-evisa-top) .flowListWrap li.step5 dl dd p{
        width:auto;
      }
}
.flowListWrap li:last-child {
  padding-bottom: 0;
}
.sectionContentsWrap {
  padding: 10px 40px 30px 40px;
}

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

.u-hide-l-up{
    display:none !important
}
}

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

.u-hide-xl-up{
    display:none !important
}
}

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

.u-hide-xxl-up{
    display:none !important
}
}

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

.u-hide-to-s{
    display:none !important
}

.u-hide-to-m{
    display:none !important
}

.u-hide-to-l{
    display:none !important
}

.u-hide-to-xl{
    display:none !important
}

.u-hide-to-xxl{
    display:none !important
}
    :where(.japan-evisa-top) nav.headNav .headNavInner ul li{
      border-right:none;
    }
    :where(.japan-evisa-top) nav.headNav .headNavInner ul li:first-child{
      border-left:none;
    }
}

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

.u-hide-to-m{
    display:none !important
}

.u-hide-to-l{
    display:none !important
}

.u-hide-to-xl{
    display:none !important
}

.u-hide-to-xxl{
    display:none !important
}

.u-hide-sm-md{
    display:none !important
}
}

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

.u-hide-to-l{
    display:none !important
}

.u-hide-to-xl{
    display:none !important
}

.u-hide-to-xxl{
    display:none !important
}

.u-hide-md-lg{
    display:none !important
}
}

@media only screen and (min-width: 1024px) and (max-width: 1199px){

.u-hide-to-xl{
    display:none !important
}

.u-hide-to-xxl{
    display:none !important
}

.u-hide-lg-xl{
    display:none !important
}
}

@media only screen and (min-width: 1200px) and (max-width: 1399px){

.u-hide-to-xxl{
    display:none !important
}

.u-hide-xl-xxl{
    display:none !important
}
}

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

:where(.japan-evisa-top) section#mainecontents{
      padding-top:0;
      padding-right:8px;
      padding-left:8px
  }
    }
