﻿/*--------------------------------------------------------------------------------------------------------------
html,body
---------------------------------------------------------------------------------------------------------------*/

html,body{
  height:100%;
  width:100%;
  padding:0;
  margin:0px;
  font-family: "Yu Gothic Medium", "Yu Gothic", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  color:rgba(32,32,32,1);
  font-size:16px;
  transition:color 800ms ease;
  overflow:hidden;
}

    /* --------------------848px-------------------- */
    @media screen and (max-width:900px){

      html,body{
        font-size:14px;
      }

    }


/*--------------------------------------------------------------------------------------------------------------
common
---------------------------------------------------------------------------------------------------------------*/

#load{
  display:block;
  position:fixed;
  z-index:9999;
  background-color:rgba(255,255,255,1);
  opacity:1;
  width:100%;
  height:100%;
  transition:all 500ms ease;
  display:flex;
  justify-content:center; 
  align-items:center;
  flex-direction: column;
}

#now-loading{
  font-family: "Oswald", sans-serif;
  font-size:18px;
  animation:fuwafuwa 1s infinite ease-in-out;
}

@keyframes fuwafuwa {
  0%,100% {
    opacity:0;
  }
  50% {
    opacity:1;
  }
}

a{
  text-decoration:none;
}

p{
  margin:0;
}

.button{
  width:fit-content;
  background-color:rgba(253,155,64,1);
  border-radius:12px;
  transition: all 0.3s ease-out;
  opacity:1;
  cursor:pointer;
  color:rgba(0,0,0,0.9);
}

.std-button{
  padding:12px 24px 12px 24px;
  margin:24px 24px 12px 0px;
}

.slim-button{
  padding:6px 12px 6px 12px;
  margin:12px 12px 12px 0px;
}

.button:hover{
  opacity:0.5!important;
  transform:scale(0.95);
}

.button-container{
  width:calc(100% - 24px);
  margin-left:12px;
  display:flex;
  justify-content:left;
}

.link-button{
  background-color:rgba(255,255,255,0.9)!important;
  color:rgba(27,40,80,1)!important;
  text-decoration:none!important;
}

.link-button2{
  background-color:rgba(246,211,54,1)!important;
  color:rgba(27,40,80,1)!important;
  width:168px;
  text-align:center;
}

.delete{
  text-decoration:line-through;
  opacity:0.3!important;
}

/*--------------------------------------------------------------------------------------------------------------
header,menu
---------------------------------------------------------------------------------------------------------------*/

#header{
  /*margin-top:24px;*/
  height:68px;
  position:fixed;
  z-index:9999;
  top:0;
  left:0;
  width:100%;
  opacity:1;
  transition: all 0.3s ease-out;
  padding-top: calc(24px + env(safe-area-inset-top));
}

#main-menu{
  padding:0;
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  justify-content: center;
  list-style-type: none;
  font-family: "Oswald", sans-serif;
  font-size:18px;
}

#main-menu li{
  cursor:pointer;
  opacity:0;
  transform:translateY(20px);
}

#sma-menu{
  display:none;
  width:100%;
  height:42px;
  margin-right:auto;
  margin-left:auto;
  cursor:pointer;
  text-align:center;
  position:fixed;
  z-index:1000;
  top:12px;
  opacity:0;
  transition:opacity 300ms ease-out;
}

#sma-menu-img{
  width:20px;
}


#sma-menu-con{
  display:none;
  width:0px;
  height:calc(100% - 32px);
  position:fixed;
  padding-top:42px;
  left:0;
  background-color: rgba(255,255,255,1);
  color:rgba(32,32,32,1); 
}

#sma-menu-ul{
  list-style-type: none;
  padding:0;
  display:none;
  height:calc(100% - 42px);
  flex-flow: column;
  justify-content:space-around;
}

.sma{
  width:200px;
  margin-left:auto;
  margin-right:auto;
  padding:4px;
  margin-bottom:4px;
  text-align:center;
  cursor:pointer;
  font-family: "Oswald", sans-serif;
  /*color:rgba(32,32,32,1);*/
}

    /* --------------------900px-------------------- */
    @media screen and (max-width:900px){

      #header{
        padding-top:0;
        height:42px;
        background-color: rgba(255,255,255,1);
      }

      #main-menu{
        display:none;
      }

      #sma-menu{
        display:block;
      }

    }

.comming{
  pointer-events:none;
}

.cm{
  opacity:0.3;
}


/*--------------------------------------------------------------------------------------------------------------
main-background
---------------------------------------------------------------------------------------------------------------*/

#main-background{
  position:fixed;
  z-index:1;
  inset:0;
  background-image: url(../img/background-top.jpeg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display:flex;
  justify-content:center; 
  align-items:center;
  flex-direction: column;
}

#main-background::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  transition: opacity 800ms ease;
  background: rgba(27,36,101,0.8);
  padding-bottom:env(safe-area-inset-bottom);
}

#main-background.dark::after{
  opacity:1;
}


/*--------------------------------------------------------------------------------------------------------------
main-title
---------------------------------------------------------------------------------------------------------------*/

#main-title-con{
  width:480px;
  transition: all 0.3s ease-out;
  position:relative;
  z-index:100;
  display:flex;
  justify-content:space-around; 
  align-items:center;
  flex-direction: column;
}

#main-title{
  width:100%;
  font-size:20px;
  display:none;
  font-family: "Noto Sans JP", sans-serif;
  font-weight:900;
  text-align: center;
  margin-bottom:8px;
  letter-spacing: 4px;
  padding-left:4px;
}

#main-title .letter{
  display:inline-block;
  opacity: 0;
  transform: translateX(40px);
}

#sub-title1{
  width:100%;
  opacity:0;
  transition: all 0.3s ease-out;
  transform:translateY(12px);
  font-size:17px;
  font-family: "Oswald", sans-serif;
  text-align: center;
  margin-bottom:24px;
}

#sub-title2{
  width:100%;
  opacity:0;
  transition: all 0.3s ease-out;
  transform:translateY(12px);
  font-size:20px;
  display:flex;
  justify-content: space-evenly;
  align-items: flex-end;
  margin-bottom:24px;
}

#title-date{
  font-family: "Noto Sans JP", sans-serif;
  font-weight:900;
}

#title-venue{
  font-size:14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight:900;
  margin-left:12px;
  margin-top:12px;
}

.home-con{
  opacity:1;
  transition:opacity 0.3s ease-out;
}

    /* --------------------900px-------------------- */
    @media screen and (max-width:900px){

      #main-title-con{
        width:calc(100vw - 24px);
      }

      #sub-title2{
        align-items: center;
        flex-direction: column;
      }

    }

/*--------------------------------------------------------------------------------------------------------------
typhoon name
---------------------------------------------------------------------------------------------------------------*/

#typhoon-name-con{
  width:80%;
  position:absolute;
  z-index:2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  font-family: "Oswald", sans-serif;
  color:rgba(255,255,255,0.3);
  display:flex;
  justify-content:space-around; 
  align-items:center;
  transition:color 800ms ease;
}

#typhoon-name{
  display:inline-block;
  white-space: nowrap;
  font-size:1000px;
  opacity:0;
}

#typhoon-name .letter{
  display:inline-block;
  opacity: 0;
  transform: translateX(80px);
}


/*--------------------------------------------------------------------------------------------------------------
news container
---------------------------------------------------------------------------------------------------------------*/

#latest-news{
  opacity:0;
  transition:all 0.3s ease-out;
  max-width:900px;
}

#latest-news table{
  margin-left:16px;
}


/*--------------------------------------------------------------------------------------------------------------
hide contents
---------------------------------------------------------------------------------------------------------------*/

#hide-contents{
  display:none;
}


/*--------------------------------------------------------------------------------------------------------------
contents detail
---------------------------------------------------------------------------------------------------------------*/

#contents-container{
  opacity:0;
  transition:opacity 500ms ease;
  width:900px;
  height:calc(100dvh - 120px);
  top:120px;
  right:0;
  left:0;
  margin:auto;
  position:fixed;
  z-index:2;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling: touch;
  padding-left:calc( ( 100vw - 900px ) / 2 );
  padding-right:calc( ( 100vw - 900px ) / 2 );
}

#contents-detail{
  width:100%;
  padding-bottom:120px;
}

.con-container{
  position:relative;
  padding-left:24px;
  padding-top:100px;
  width:calc(100% - 48px);
}

.con-cap{
  font-family: "Oswald", sans-serif;
  font-size:40px;
  font-weight:400;
  margin-bottom:40px;
}

.con-sub-cap{
  font-family: "Noto Sans JP", sans-serif;
  font-weight:600;
  font-size:14px;
  margin-left:12px;
}

.b-container{
  position:relative;
  width:100%;
  height:100%;
  border-radius:12px;
  z-index:1;
  overflow:hidden;
  background-color:rgba(255,255,255,1);
  transform:translateY(10%);
  opacity:0;
  transition: all 0.3s ease-out;
}

.b-container *{
  opacity:0;
  transition: all 0.3s ease-out;
}

.b-contents{
  position:relative;
  padding-left:24px;
  padding-top:100px;
  width:calc(100% - 48px);
  height:calc(100% - 100px - 24px);
}

.b-contents p{
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}


    /* --------------------900px-------------------- */
    @media screen and (max-width:900px){

      #header{
        width:100%;
      }

      #contents-container{
        width:calc(100vw - 24px);
        height:calc(100dvh - 42px);
        top:42px;
        padding-left:12px;
        padding-right:12px;
      }

      #contents-detail{
        padding-bottom:40px;
      }
      .con-container{
        padding-left:12px;
        padding-top:20px;
        width:calc(100% - 24px);
      }

    }


/*--------------------------------------------------------------------------------------------------------------
scroll bar
---------------------------------------------------------------------------------------------------------------*/

/* Firefox */
#contents-container{
  scrollbar-width: thin;                    /* auto | thin | none */
  scrollbar-color: rgba(255,255,255,0.35) transparent; /* つまみ / 背景 */
}

/* Chrome / Edge / Safari */
#contents-container::-webkit-scrollbar{
  width: 4px;   /* 縦 */
}

#contents-container::-webkit-scrollbar-track{
  background: transparent; /* レール */
}
#contents-container::-webkit-scrollbar-thumb{
  background-color: rgba(255,255,255,0.35); /* つまみ */
  border-radius: 999px;
  border: 1px solid transparent;  /* 余白っぽくして細く見せる */
  background-clip: content-box;
}
#contents-container::-webkit-scrollbar-thumb:hover{
  background-color: rgba(255,255,255,0.55);
}

/*--------------------------------------------------------------------------------------------------------------
title
---------------------------------------------------------------------------------------------------------------*/

#title-container{
  background-image:url(../img/title-back.jpg);
  background-position:center left;
  background-repeat:no-repeat;
  background-size:cover;
}

#title-en{
  height:164px;
  position:absolute;
  top:24px;
  left:24px;
}

#title-ja{
  height:60px;
  position:absolute;
  bottom:24px;
  right:24px;
}

/*--------------------------------------------------------------------------------------------------------------
date
---------------------------------------------------------------------------------------------------------------*/

#date-container{
  width:calc(100% - 48px);
  height:calc(100% - 48px);
  display:flex;
  justify-content:flex-start;
  align-items:center;
  flex-wrap:wrap;
  padding:24px;
}

.date{
  height:38px;
  margin-right:24px;
  display:block;
}

/*--------------------------------------------------------------------------------------------------------------
news
---------------------------------------------------------------------------------------------------------------*/

.news-contents-table{
  width:100%;
  border-collapse:collapse;
}

#past-news-con{
  margin-top:24px;
}

.past-news{
  width:calc(100% - 12px)!important;
  margin-left:12px!important;
}

#news-contents td{
  vertical-align: top;
}

.news-date{
  width:112px;
}

#news-h3{
  margin-top:40px;
  margin-bottom:32px;
  padding-bottom:4px;
  border-style:dotted;
  border-width:0px 0px 1px 0px;
  border-color:rgba(255,255,255,0.8);
}

/*--------------------------------------------------------------------------------------------------------------
about
---------------------------------------------------------------------------------------------------------------*/

#about-b-img{
  background-image:url(../img/about.jpg);
  background-position:bottom center;
}

#about-contents p{
  -webkit-line-clamp: 3;
}

#about-contents .b-detail-con h4{
  margin-bottom:4px;
}

.Committee h3{
  border-radius:12px;
  padding:6px 6px 6px 12px;
  background-color:rgba(255,255,255,0);
  margin-top:40px;
  margin-bottom:4px;
}

.Committee p{
  margin-left:12px;
}

/*--------------------------------------------------------------------------------------------------------------
Call for papers
---------------------------------------------------------------------------------------------------------------*/

#call-contents p{
  -webkit-line-clamp: 6;
}

#call-contents .b-detail h3{
  border-radius:12px;
  padding:6px 6px 6px 12px;
  background-color:rgba(255,255,255,0);
  margin-top:40px;
  margin-bottom:4px;
}

#contents-detail #call-container .b-detail p{
  margin-left:12px;
}

/*--------------------------------------------------------------------------------------------------------------
key date
---------------------------------------------------------------------------------------------------------------*/

.ym{
  font-size:20px;
  font-weight:900;
  margin-top:30px;
}

.kd{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  margin:6px;
}

.day{
  margin-right:24px;
}


/*--------------------------------------------------------------------------------------------------------------
Submmision
---------------------------------------------------------------------------------------------------------------*/

#sub-b-img{
  background-image:url(../img/sub-back.jpg);
  background-position:bottom center;
}

.sub-main h3{
  border-radius:12px;
  padding:6px 6px 6px 12px;
  background-color:rgba(236,236,240,1);
}

.sub-main p{
  margin-left:12px;
}

/*--------------------------------------------------------------------------------------------------------------
Program
---------------------------------------------------------------------------------------------------------------*/

#program-b-img{
  background-image:url(../img/program-back.jpg);
  background-position:center center;
}

/*--------------------------------------------------------------------------------------------------------------
Presentation
---------------------------------------------------------------------------------------------------------------*/

#presen-b-img{
  background-image:url(../img/presen-back.jpg);
  background-position:center center;
}

#presen-contents p{
  -webkit-line-clamp: 3;
}

#presen-list{
  padding-left:20px;
}

#presen-list li{
  padding-bottom:12px;
}

.wifi{
  color:rgba(27,40,80,1);
  text-decoration:underline;
  font-weight:bold;
}

/*--------------------------------------------------------------------------------------------------------------
Registration
---------------------------------------------------------------------------------------------------------------*/

#regist-b-img{
  background-image:url(../img/regist-back.jpg);
  background-position:bottom center;
}

#sankahi-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border-radius: 12px;
  border-style:solid;
  border-width:1px;
  border-color:rgba(245,245,248,1);
  text-align:center;
  margin-top:48px;
}

#sankahi-table td{
  height:40px;
  width:33%;
  background:rgba(255,255,255,1);
  border-style:solid;
  border-width:2px;
  border-color:rgba(245,245,248,1);
  padding:6px;
}

.td-bold{
  font-weight:bold;
}

.table-annot{
  text-align:left;
  padding:6px 24px 6px 44px;
}

.td1{
  border-radius: 12px 0 0 0;
}

.td2{
  border-radius: 0 12px 0 0;
}

.td3{
  border-radius: 0 0 0 12px;
}

.td4{
  border-radius: 0 0 12px 0;
}

/*--------------------------------------------------------------------------------------------------------------
Access
---------------------------------------------------------------------------------------------------------------*/

#bubble-map{
  width:100%;
  /*min-width:500px;*/
  height:360px;
  margin-left:auto;
  margin-right:auto;
  position:relative;
  filter: drop-shadow(0px 0px 8px rgba(0,0,0,0.6));
}

#bubble-map iframe{
  width:100%;
  height:100%;
  filter:grayscale(1);

}

#bubble-map::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background-color:rgba(27,40,80,0.5);
  z-index: 1;
  mix-blend-mode: overlay;
  pointer-events: none;
}


/*--------------------------------------------------------------------------------------------------------------
prize
---------------------------------------------------------------------------------------------------------------*/

#prize-contents p{
  -webkit-line-clamp: 6;
  text-shadow:rgb(255,255,255) 1px 0 10px;
}

#past-prize{
  padding:0;
}

.past-prize-con{
  list-style-type: none;
  width:calc(100% - 24px);
  margin-right:auto;
  margin-left:auto;
  margin-bottom:12px;
  border-radius:12px;
  background-color:rgba(236,236,240,1);
  padding:12px;
  cursor:pointer;
}

.p-prize-title{
  margin:0;
}

.p-prize-title::before{
  content:'＋';
  display:inline-block;
  height:12px;
  width:12px;
  margin-right:12px;
}

.p-prize-title.p-prize-close::before{
  content:'×';
}

.p-prize-box{
  display:none;
  border-style:dotted;
  border-width:1px 0 0 0;
  border-color:rgba(100,100,100,1);
  margin-top:12px;
}

.p-prize-box p{
  margin-left:16px;
}

#prize-contents h2 span{
  font-size:12px;
  line-height:8px;
}

.p-prize-sep{
  margin:36px 0 12px 0;
  padding:12px;
  border-radius:24px;
  border-width:1px;
  border-style:dotted;
  border-color:rgba(100,100,100,1);
  width:fit-content;
}


/*--------------------------------------------------------------------------------------------------------------
contact
---------------------------------------------------------------------------------------------------------------*/

#mad{
  margin-top:20px;
}

#mad a{
  color:rgba(253,155,64,1);
}

/*--------------------------------------------------------------------------------------------------------------
extra
---------------------------------------------------------------------------------------------------------------*/

#extra-contents{
  margin:0;
  padding: 0 !important;
  width: 100% !important;;
  height: 100% !important;;
}

.extra-video{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  object-fit:cover;
  min-height:100%;
  min-width:100%;
  border-radius:12px;
}

.v-play{
  z-index:0;
  opacity:1;
}

.v-next{
  z-index:-1;
}


/*--------------------------------------------------------------------------------------------------------------
bubble-detail
---------------------------------------------------------------------------------------------------------------*/

#bubble-detail{
  width:calc(100% - 48px);
  max-width:780px;
  margin:12px 24px 24px 24px;
  display:none;
  opacity:0;
  transition: all 0.3s ease-out;
  border-radius:12px;
}

#bubble-detail *{
  opacity:0;
  transition: all 0.3s ease-out;
}

.b-detail h2{
  padding-top:28px;
  margin-bottom:32px;
  padding-bottom:4px;
  border-style:dotted;
  border-width:0px 0px 1px 0px;
  border-color:rgba(255,255,255,0.8);
}

.b-detail{
  margin-top:52px;
}

.b-detail-con{
  padding:16px;
  margin-top:24px;
}

.b-detail-con ul{
  padding-left:16px;
}

.link-in-bubble{
  text-decoration: underline;
  cursor:pointer;
  font-weight:bold;
}

    /* --------------------900px-------------------- */
    @media screen and (max-width:900px){
      .b-detail-con{
        padding:0;
        margin-top:24px;
      }
    }
  

/*--------------------------------------------------------------------------------------------------------------
footer
---------------------------------------------------------------------------------------------------------------*/

#footer{
  width:calc(100% - 24px);
  margin:36px auto 36px auto;
  text-align:center;
  font-size:12px;
  word-break: keep-all;
  line-break: strict;
  word-wrap:break-word;
  overflow-wrap:break-word;
  position:fixed;
  z-index:1;
  bottom:12px;
  color:rgba(255,255,255,0.6);
  transition: all 0.3s ease-out;
  opacity:0;
}