@charset "UTF-8";
/* CSS Document */

/* ▼▼▼********************************************▼▼▼ */
/* ▼▼▼------------▼▼▼ Google Fonts ▼▼▼------------▼▼▼ */
/* ▼▼▼********************************************▼▼▼ */
/*
// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 300 to 800

.open-sans-<uniquifier> {
  font-family: "Open Sans", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
*/
/* ▼▼▼********************************************▼▼▼ */
/* ▼▼▼--------▼▼▼ BASE COMMMON STYLES ▼▼▼---------▼▼▼ */
/* ▼▼▼********************************************▼▼▼ */
/* ▼▼▼----- HTML TAGS -----▼▼▼ */
html, body {
font-family: biz-udpgothic, sans-serif;
font-style: normal;
font-weight: 400;
  overflow-x: hidden; /* 狭いデバイスでのスクロールを防止 */	
}
h1, h2, h3, h4, h5, h6 {
font-family: biz-udpgothic, sans-serif;
font-style: normal;
font-weight: 700;
}
h2 {
  color: rgba(255, 255, 255, 1.00);
  border-bottom: 5px solid rgba(0, 56, 132, 1.00);
  padding-bottom: 0em;
  margin-bottom: 1rem;
}
h2::before {
  content: "\f0c8";
  font-family: 'Font Awesome 5 Free';
  font-weight: 600;
  margin-right: 0.2em
}
h3 {
	background-color: rgba(210,228,244,1.00);
  border-bottom: 2pt solid #203551;
  margin-bottom: 15px;
  padding-bottom: 10px;
  padding-top: 10px;
  color: rgba(17, 49, 62, 1.00);
  padding-left: 10px;
}
h3::before {
  font-family: 'Font Awesome 5 Free';
  content: "\f138";
  padding-right: 0.3em;
  color: rgba(94, 142, 162, 1.00)
}
h4 {
  color: rgba(50, 50, 50, 1.00)
}

/* ▼▼▼----- LAYOUT -----▼▼▼ */
.container-fluid{
	min-width: 350px;
}
.header {
	color: rgba(255, 255, 255, 1.00);
	background-color: rgba(255, 100, 35, 1.00);
	padding-top: 5px;
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 20px;
	transition: all 0.5s;
	z-index: 997;
}
/* ▼▼▼----- FRONT PAGE -----▼▼▼ */
header {
  background-color: rgba(246, 234, 220, 1.00);
  border-bottom: 0.5rem solid rgba(59, 109, 170, 1.00);
}

/* ▼▼▼----- ADDITIONAL PAGE -----▼▼▼ */
#jumbotron{
 background-color: rgba(246, 234, 220, 1.00);
  border-bottom: 0.5rem solid rgba(59, 109, 170, 1.00);	
}
#ovs,#abs,#reg{
	background-repeat: no-repeat;
	background-size: cover;
}
#ovs{
	background-image: url("../images/bg_over_sea.png");

}
#abs{
	background-image: url("../images/bg_abstract.png");

}
#reg{
	background-image: url("../images/bg_registration.png");

}

/* ▼▼▼********************************************▼▼▼ */
/* ▼▼▼---------- ▼▼▼ FOOTER STYLES ▼▼▼ -----------▼▼▼ */
/* ▼▼▼********************************************▼▼▼ */
footer {
  width: 100%;
  padding-top: 0px;
  padding-bottom: 40px;
  clear: left;
}
#footer {
  padding: 0rem 0;
  text-align: center;
  border-top: 1rem solid rgba(59, 109, 170, 1.00);
  background-color: rgba(255, 100, 35, 1.00);
  margin-top: 2rem
}
#footer a:link, #footer a:active, #footer a:visited {
  color: rgba(255, 210, 155, 1.00);
  text-decoration: none
}
#footer a:hover {
  color: rgba(205, 196, 72, 1.00);
}
#footer dt {
  font-size: 1.2em;
}
#footer dd {
  font-size: 1em;
  line-height: 1.2em;
  color: rgba(255, 255, 255, 1.00)
}
#footer dd i {
  color: rgba(255, 210, 155, 1.00);
}
/* COPYRIGHT */
#copyright {
  font-size: 0.9em;
  min-height: 2.2em;
  text-align: center;
  background-color: rgba(0, 50, 110, 1.00);
  color: #FFFFFF;
  letter-spacing: 0px;
  border-top-width: 2px;
  padding: 10px
}
/* ▼▼▼********************************************▼▼▼ */
/* ▼▼▼------------- ▼▼▼ UTILITES ▼▼▼ -------------▼▼▼ */
/* ▼▼▼********************************************▼▼▼ */
#topBack {
  position: fixed;
  bottom: 50px;
  right: 50px;
  z-index: 100;
}
#topBack i, #topBack i:hover {
  font-size: 50px
}
#topBack a {
  background-color: rgba(0, 102, 185, 1.00);
  text-decoration: none;
  color: #F3FAFF;
  width: 56px;
  height: 56px;
  padding: 3px;
  text-align: center;
  display: block;
  border-radius: 28px;
  opacity: 0.9;
  font-size: 24px;
}
#topBack:hover {
  opacity: 0.5;
}
/* ▼▼▼********************************************▼▼▼ */
/* ▼▼▼--------- ▼▼▼ DEFAULT FORMATS ▼▼▼ ----------▼▼▼ */
/* ▼▼▼********************************************▼▼▼ */
#nowconst {
  padding-top: 2em;
  padding-right: 1em;
  padding-left: 1em;
  padding-bottom: 2em;
  border: 3px solid rgba(231, 191, 147, 1.00);
  border-radius: 16px;
  color: rgba(183, 110, 62, 1.00);
  font-size: 2rem;
  text-align: center;
  margin-bottom: 1em;
  margin-top: 1em;
}
.nowconst {
  padding-top: 2em;
  padding-right: 1em;
  padding-left: 1em;
  padding-bottom: 2em;
  border: 3px solid rgba(231, 191, 147, 1.00);
  border-radius: 16px;
  color: rgba(183, 110, 62, 1.00);
  font-size: 2rem;
  text-align: center;
  margin-bottom: 1em;
  margin-top: 1em;
}
/* ▼▼▼********************************************▼▼▼ */
/* ▼▼▼---------- ▼▼▼ CUSTOM STYLES ▼▼▼ -----------▼▼▼ */
/* ▼▼▼********************************************▼▼▼ */
.customUL {
  list-style-type: none;
  margin-left: 3em;
  padding-left: 0;
}
.customUL > li {
  position: relative;
}
.customLI {
  left: -2.2em;
  position: absolute;
  text-align: center;
  width: 2.2em;
  line-height: inherit;
}
.customUL2 {
  list-style-type: none;
  margin-left: 3em;
  padding-left: 0;
}
.customUL2 > li {
  position: relative;
}
.customLI2 {
  left: -3em;
  position: absolute;
  text-align: center;
  width: 3em;
  line-height: inherit;
}
/* ▼▼▼********************************************▼▼▼ */
/* ▼▼▼-------------▼▼▼ NAVIGATION ▼▼▼-------------▼▼▼ */
/* ▼▼▼********************************************▼▼▼ */
.navbar {
  background-color: transparent;
  background-image: none;
}

/* PC */
@media (min-width: 992px) {
  .navmenu {
    padding: 0;
  }
  .navmenu ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    align-items: center;
    justify-content: center; 
  }
  .navmenu li {
    position: relative;
  }
  .navmenu .home a i {
    font-size: 20px;
  }
  .navmenu .home a::before {
    content: none
  }
  .navmenu a, .navmenu a:focus {
    text-decoration: none;
    color: rgba(255, 255, 255, 1.00);
    padding-top: 10px;
    padding-right: 10px;
    padding-left: 12px;
    padding-bottom: 10px;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: space-between;
    white-space: nowrap;
    transition: 0.4s;
  }
  .navmenu a i, .navmenu a:focus i {
    font-size: 10px;
    line-height: 0;
    margin-left: 0px;
    transition: 0.4s;
  }
  .navmenu a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    content: "\f138";
    opacity: 0.5;
    padding-right: 0.2em;
  }
  .navmenu li:last-child a {
    padding-right: 0;
  }
  .navmenu li:hover > a {
    color: rgba(0, 20, 40, 1.00)
  }
  .navmenu .active, .navmenu .active:focus {
    color: rgba(255, 255, 255, 1.00)
  }
}
@media (max-width: 1050px) {
  .navmenu a, .navmenu a:focus {
    font-size: 13px;
  }
}
@media (min-width: 1051px) and (max-width: 1149.98px) {
  .navmenu a, .navmenu a:focus {
    font-size: 14px;
  }
}
@media (min-width: 1150px) {
  .navmenu a, .navmenu a:focus {
    font-size: 15px;
  }
}
/* 992px未満はアコーディオン*/
@media (max-width: 991.98px) {
  .navmenu {
    padding: 0;
    z-index: 9997;
  }
  .navmenu ul {
    list-style: none;
  }
  .navmenu a, .navmenu a:focus {
    color: rgba(255, 255, 255, 1.00);
    padding: 10px 20px;
    font-size: 16px;
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: 0.4s;
  }
  .navmenu a:hover {
    background-color: rgba(255, 200, 140, 1.00);
    ;
    color: rgba(50, 50, 50, 1.00);
    border-radius: 4px;
    transition: 0.4s;
  }
  .navmenu .active:focus {
    background-color: rgba(255, 225, 212, 1.00);
    ;
    color: rgba(255, 255, 255, 1.00);
  }
  .navmenu .active {
    background-color: rgba(27, 39, 71, 1.00);
    color: rgba(255, 225, 212, 1.00);
    border-radius: 4px;
    transition: 0.4s;
  }
}
/* ▼▼▼********************************************▼▼▼ */
/* ▼▼▼----------▼▼▼ HERO / JUMBOTRON ▼▼▼----------▼▼▼ */
/* ▼▼▼********************************************▼▼▼ */
#home .hero {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}
#home .hero .hero-bg img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
#page .bg-img {
  background-image: url("../images/page/24jadsm_keyVisual.webp");
  background-size: cover;
  background-position: center 0%;
}
#gakkaiName {
  background-image: url("../images/page/gakkaiName.png");
  background-repeat: no-repeat;
  margin-left: auto;
  margin-right: auto;
  width: 300px;
  height: 28px;
  background-size: cover	
}
#jadsm-2025 {
  background-image: url("../images/page/jadsm2025.png");
  background-repeat: no-repeat;
  margin-left: auto;
  margin-right: auto;
  width: 300px;
  height: 72px;
  background-size: cover	
}
#dvp {
  background-image: url("../images/page/dvp.png");
  background-repeat: no-repeat;
  width: 300px;
  height: 143px;
  background-size: cover	
}
#theme {
  background-image: url("../images/page/theme.png");
  background-repeat: no-repeat;
  width: 271px;
  height: 150px;
  background-size: cover	
}
/* XXS：小デバイス（縦向きモバイル, 375px未満） */
@media (max-width: 374.98px) {
  .hero {
	padding-top: 0px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 0px;
	min-height: 600px;
  }
  .hero .hero-bg img {
    margin-top: 0px;
    padding-top: 80px;
    padding-bottom: 0px
  }
  #page .bg-img {
	padding-top: 5rem;
	padding-bottom: 2rem;
	margin-top: 91px
  }
  #page #jadsm-2025 {
    margin-top: -70px;
  }
  #page #gakkaiName {

	}
  #page #dvp {
    display: none
  }
  #page #theme {
    margin-top: 20px;
    margin-left: 190px;
    width: 136px;
    height: 75px;
	background-size: cover   
  }
}
/* XXS：小デバイス（375px以上、470px未満） */
@media (min-width: 375px) and (max-width: 469.98px) {
  .hero {
	min-height: 740px;
	padding-top: 0px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 0px;
  }
  .hero .hero-bg img {
    margin-top: 0px;
    padding-top: 80px;
    padding-bottom: 0px
  }
  #page .bg-img {
    padding-top: 5rem;
    padding-bottom: 1rem;
    margin-top: 91px
  }
  #page #jadsm-2025 {
    margin-top: -70px;
	  
  }
  #page #gakkaiName {
    width: 360px;
    height: 34px;
  }
  #page #dvp {
    display: none;
    width: 300px;
    height: 143px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px
  }
  #page #theme {
    margin-top: 40px;
    margin-left: 200px;
    width: 162px;
    height: 90px;
  }
}
/* XS：小デバイス（470px以上、520px未満） */
@media (min-width: 470px) and (max-width: 519.98px) {
  .hero {
	min-height: 800px;
	padding-top: 0px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 0px;
  }
  .hero .hero-bg img {
    margin-top: 0px;
    padding-top: 80px;
    padding-bottom: 0px
  }
  #page .bg-img {
	padding-top: 5rem;
	padding-bottom: 1rem;
	margin-top: 91px
  }
  #page #jadsm-2025 {
    margin-top: -70px;
  }
  #page #gakkaiName {
    width: 405px;
    height: 38px;
  }
  #page #dvp {
    display: none
  }
  #page #theme {
    margin-top: 40px;
    margin-left: 270px;
    width: 190px;
    height: 105px;
  }
}
/* SM：小デバイス（520px以上、575px未満） */
@media (min-width: 520px) and (max-width: 575.98px) {
  .hero {
    min-height: 780px;
  }
  .hero .hero-bg img {
    margin-top: 0px;
    padding-top: 80px;
    padding-bottom: 0px
  }
  #page .bg-img {
	padding-top: 5rem;
	padding-bottom: 1rem;
	margin-top: 91px
  }
  #page #jadsm-2025 {
    margin-top: -70px;
  }
  #page #gakkaiName {
    width: 405px;
    height: 38px;
  }
  #page #dvp {
    display: none
  }
  #page #theme {
    margin-top: 40px;
    margin-left: 300px;
    width: 190px;
    height: 105px;
  }
}
/* SMD：小デバイス（576px 以上、768px未満） */
@media (min-width: 576px) and (max-width: 767.98px) {
  .hero {
	min-height: 730px;
  }
  .hero .hero-bg img {
    margin-top: 0px;
    padding-top: 70px;
    padding-bottom: 0px
  }
  #page .bg-img {
	padding-top: 5rem;
	padding-bottom: 1rem;
	margin-top: 91px
  }
  #page #jadsm-2025 {
    margin-top: -70px;
  }
  #page #gakkaiName {
    width: 420px;
    height: 40px;
  }
  #page #dvp {
    display: none
  }
  #page #theme {
    margin-top: 30px;
    margin-left: 340px;
    width: 217px;
    height: 120px;
  }
}
/* MD：中デバイス（タブレット, 768px、992px未満） */
@media (min-width: 768px) and (max-width: 991.98px) {
  .hero {
	min-height: 640px;
  }
  .hero .hero-bg img {
    margin-top: 0px;
    padding-top: 80px;
    padding-bottom: 0px
  }
  #page .bg-img {
	padding-top: 5rem;
	padding-bottom: 1rem;
	margin-top: 91px
  }
  #page #jadsm-2025 {
    margin-top: -70px;
  }
  #page #gakkaiName {
    width: 450px;
    height: 42px;
  }
  #page #dvp {
    display: block;
    width: 300px;
    height: 143px;
    margin-left: 460px;
    margin-top: 50px
  }
  #page #theme {
    margin-top: 90px;
    margin-left: 75px;
    width: 190px;
    height: 105px;
    float: left
  }
}
/* LG：大デバイス（タブレット, 992px、1200px未満） */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .hero {
	min-height: 565px;
  }
  .hero .hero-bg img {
    margin-top: 0px;
    padding-top: 50px;
    padding-bottom: 0px
  }
  #page .bg-img {
	padding-top: 5rem;
	padding-bottom: 1rem;
	margin-top: 76px
  }
  #page #jadsm-2025 {
    margin-top: -70px;
  }
  #page #gakkaiName {
    width: 480px;
    height: 45px;
  }
  #page #dvp {
    display: block;
    width: 300px;
    height: 143px;
    margin-left: 620px;
    margin-top: 50px
  }
  #page #theme {
    margin-top: 90px;
    margin-left: 160px;
    width: 190px;
    height: 105px;
    float: left
  }
}
/*  1050 */
@media (min-width: 1050px) {
  #page .bg-img {
    margin-top: 77px
  }
#dvp {
  background-image: url("../images/page/dvp2.png");
  background-repeat: no-repeat;
  width: 828px;
  height: 175px;
  background-size: cover	
}
  #page #theme {
	  display: none
  }	
  #page #dvp {
	width: 828px;
	height: 175px;
	margin-top: 50px;	  
/*margin-left: 1000px;*/
	margin-left: auto;
	margin-right: auto;	  
  }	
}
/* XL：特大デバイス（ワイド・デスクトップ, 1200px 以上、1400px未満） */
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .hero {
    min-height: 570px;
  }
  .hero .hero-bg img {
    margin-top: 0px;
    padding-top: 50px;
    padding-bottom: 0px
  }
  #page .bg-img {
    padding-top: 5rem;
    padding-bottom: 1rem;
    margin-top: 79px
  }
  #page #jadsm-2025 {
    margin-top: -70px;
  }
  #page #gakkaiName {
    width: 540px;
    height: 50px;
  }

}
/* XXL：超特大デバイス (よりワイドな・デスクトップ, 1400px 以上） */
@media (min-width: 1400px) {
  .hero {
    min-height: 570px;
  }
  .hero .hero-bg img {
    margin-top: 0px;
    padding-top: 80px;
    padding-bottom: 0px
  }
  #page .bg-img {
	padding-top: 5rem;
	padding-bottom: 1rem;
	margin-top: 79px
  }
  #page #jadsm-2025 {
    margin-top: -70px;
  }
  #page #gakkaiName {
    width: 570px;
    height: 53px;
  }


}
@media (min-width: 1600px) {
  .hero {
    min-height: 700px;
  }
	
  .hero .hero-bg img {
    max-height: 700px;	  
    margin-top: 0px;
    padding-top: 80px;
    padding-bottom: 0px
  }
  #page .bg-img {
	padding-top: 5rem;
	padding-bottom: 3rem;
	margin-top: 79px
  }
  #page #jadsm-2025 {
    margin-top: -70px;
  }
  #page #gakkaiName {
    width: 600px;
    height: 60px;
  }

}