@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Noto+Serif+JP:wght@600&display=swap');body {
    color: #777;
    font-family: "Noto Sans JP",sans-serif;
    font-size: 15px;
    font-weight: 400
}

h1 {
    color: #FFFFFF;
    font-family: "Noto Sans JP",sans-serif;
    font-size: 48px !important;
    font-weight: 900
}
@media all and (min-width: 768px) and (max-width: 1024px) { 
h1 {
    font-size: 2.09rem !important;
}

}

h2 {
    color: #1D4461;
    font-family: "Noto Sans JP",sans-serif;
    font-size: 28px !important;
    font-weight: 700
}

h3 {
    color: #222;
    font-family: "Noto Sans JP",sans-serif;
    font-size: 18px !important;
    font-weight: 700;
    text-transform: uppercase
}

h4 {
    color: #222;
    font-family: "Noto Sans JP",sans-serif;
    font-size: 16px !important;
    font-weight: 400
}

h5 {
    color: #777;
    font-family: "Noto Sans JP",sans-serif;
    text-transform: capitalize;
    font-size: 14px !important;
    font-weight: 400
}

h6 {
    color: #777;
    font-size: 12px !important;
    font-family: "Noto Sans JP",sans-serif;
    text-transform: uppercase;
    font-weight: 500
}

.bg_h2 {
	width: 100%;
	height: 100%;
/*  background-color:rgba(255,255,255,0.4);*/
	display: flex;
	flex-direction: column;
	/*justify-content: center;
	align-items: center;*/
}
.fuchi{
  color: #171C61;
  text-shadow:2px 2px 0 #ffffff, -2px -2px 0 #ffffff,
              -2px 2px 0 #ffffff, 2px -2px 0 #ffffff,
              0px 2px 0 #ffffff,  0-2px 0 #ffffff,
              -2px 0 0 #ffffff, 2px 0 0 #ffffff;
}
.circlekv {
    display: inline-block;
    width: 100px;
    height: 100px;
    color: #000;
    background-color:#88fffe;
    line-height: 1.2;
		font-weight: bold;
    text-align: center;
    border-radius: 50%;
		letter-spacing: 0.05em;
}


.bg_drk {
background: #020024;
background: linear-gradient(90deg, rgba(2, 0, 36, 1) 0%, rgba(24, 67, 118, 1) 68%, rgba(39, 110, 196, 1) 99%);
	}


h2.kvtx{color:#88fffe !important;}

img.nvlg,img.nvlg2{height:50px;}
@media (max-width: 575.98px) {
img.nvlg,img.nvlg2{height:40px;}
}
.nnews-area {
    background: #EDF9F9;
}

table.table.prog{font-weight: normal;}
table.table.prog th{background-color: white; padding:1rem;width:15%;}
.topics{text-align: left;
/* height: 120px;*/
overflow: scroll;
overflow-x: hidden;
}
.prgttl{font-size:116%;display:block;margin-bottom:0.2rem;font-weight:bold;}
.prgkoumoku{font-weight:bold; color:#F8704F !important;}
.topics dl {
}
.topics dt {
padding-bottom: 5px;
}
.disabled{pointer-events: none;background-color: #ccc !important;opacity:0.30 !important;border:none;}
@media screen and (min-width: 768px) {
.topics dt {
clear: left;
float: left;
width: 10%;
}
.topics dd {
margin-left: 14%;
}
.topics{text-align: left;}
}
.sc1 table.table {background-color: #ffffff;}
.sc1 table.table th{width:24%;background-image: linear-gradient(to right, #868f96 0%, #596164 100%);}
.sc1 table.table td dl {display: flex;flex-wrap: wrap;width: 100%;}
.sc1 table.table td dt{width: 22%;padding-bottom: 20px;margin-bottom: 10px;color:#555;}
.sc1 table.table td dd{width: 78%;padding-bottom: 20px;margin-bottom: 10px;}
.sc1 .table>:not(caption)>*>* {padding:1rem;}
.fs-s{font-size:0.9rem !important;}
.fs-ss{font-size:0.8rem !important; font-feature-settings: "palt";}


/*new*/
#page-top {

  position: fixed;

  right: 15px;

  z-index: 10;
}

#page-top a { display: flex; justify-content: center; align-items: center; position: relative; width: 60px; height: 60px; background-color: #F8704F; color: #fff; text-align: center; text-transform: uppercase; text-decoration: none; font-size: 0.6rem; border-radius: 50%; transition: all 0.3s; }
#page-top a::before, #page-top a::after { content: none; }
#page-top::after { display: block; content: ""; width: 15px; height: 15px; position: absolute; border-top: solid 3px #fff; border-left: solid 3px #fff; transform: rotate(45deg); left: 0; right: 0; top: 5px; bottom: 0; margin: auto; cursor: pointer; }
#page-top a:hover, #page-top:hover a { opacity: 0.6; }

.drkblue{background-color:#171c61;}

.spbr{display: none}
@media screen and (max-width:575.98px) {
    .spbr{
        display: block;
    }
}
.toiw{line-height: 1.6rem;}
.banner-area {
		padding: 100px 0 70px;
    background-color: #b0b0b0;
    background-image: url("../images/webkv.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .banner-area {
        padding:280px 0
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    .banner-area {
        padding:250px 0
    }
}
@media (max-width: 575.98px) {
    .banner-area {
        background-image: url("../images/webkv-sp.jpg"); /* スマホ用画像に変更 */
        background-position: center bottom; /* 必要に応じて位置調整 */
        background-size: cover;
        padding: 100px 0;
    }
/*
@media (max-width: 575.98px) {
    .banner-area {
        padding:100px 0
    }
*/
 .banner-area h1 {
        font-size:1.6rem !important;
    }
 .banner-area h2 {
        font-size:1.2rem !important;
/*				text-align:left;*/
    }
}

.nwsttl {
    width: auto;
    height: 100%;
		padding:1.6rem;
/*		padding:2rem;*/
		font-weight: bold;
		font-size:1.1rem;
/*    background-color:#1D4461;*/
background-image: linear-gradient(to right, #868f96 0%, #596164 100%);
}
@media (max-width: 575.98px) {
		.nwsttl {font-size:0.9rem;padding:0.5rem;}
		
}

.mar-btn.success-border {
    color: #171C61;
    border: 4px solid #171C61;
    background: #fff
}
.mar-btn.circle {
    border-radius: 20px;
}
.mar-btn {
    display: inline-block;
    outline: none;
    line-height: 40px;
    padding: 0 30px;
    font-size: .8em;
    text-align: center;
    text-decoration: none;
    font-weight: 500;
    cursor: pointer;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.mar-btn.success-border:hover {
    color: #fff;
    background: #171C61;
    border: 4px solid transparent;
}

.clr-area {
    background: #d6fffe;
}

.sec-pad0 {
    padding: 80px 0
}
.sec-pad00 {
    padding: 60px 0
}

.sec-pad {
    padding: 100px 0
}

.section-top {
    margin-bottom: 80px
}


.mou-btn {
    color: #fff;
    background-color: #08123A;
    font-family: "Noto Sans JP",sans-serif;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 600;
    display: inline-block;
    padding: 1.4rem!important;
		transition: 0.5s;
		background-size: 200% auto;
		color: white;            
		box-shadow: 0 0 5px #eee;
}
/*.mou-btn {background-image: linear-gradient(to right, #102C5A 0%, #88FFFE  51%, #102C5A 100%)}*/
.mou-btn {background-image: linear-gradient(to right, #f72d00 0%, #FBC183  51%, #f72d00  100%)}
a.mou-btn:hover {
	background-position: right center;
	color: #fff;
	text-decoration: none;
}

.bg-ftr {
  padding: 2rem 0;
  color: #ffffff;
  text-align: center;
  background-color: #959597;
}
.bg-ftr p:last-child {
  margin-bottom: 0;
}

/******講演内容******/
#program, .bdy2{color:#212529;}
#program h3 {
padding:0.5rem;
font-size:1.2rem;
border-bottom:solid 1px #00aded;
border-left:solid 8px #00aded;
color:#333;
}
.pg-cont{margin-left:0.5rem; /*width:90%;*/}
.pgttl{color:#00aded;font-weight:bold;font-size:1.1rem;}
.timetxt{color:#212529;font-size:1rem;font-weight: normal;}


@media (max-width: 575.98px) {
#program img, #sc2_vw img {width: 50%;display: block; margin: 0 auto;text-align: center;}
}

h3.themetxt1{  color: #ffffff;line-height: 1.2; font-size:1.8rem !important;
  -webkit-box-reflect: below -6px -webkit-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,0) 10%,rgba(0,0,0,.2));
  margin-bottom: calc(1rem + 20px);}

/********視聴ページ********/
:root {
  --light-blue2:#00aded;  /* 値を定義 */
}

.bgkv {
    background-image: url("../images/webkv.jpg");
    background-size: cover;
}
h1.lgh1{font-size:2.1rem !important;font-weight: bold !important;}
p.lgchui{font-size:88%;margin-top: 1rem;text-align: left;color:#000000;}
p.kikan{color:#212529;}
h1.vwpg {
    font-size: 1.6rem;
    position: relative;
    padding: 0.5rem 0;
    display: inline-block;
    border-bottom: 6px solid #BFBDBC;
}

@media (max-width: 575.98px) {
.bgkv {background-size: cover; 
}
h1.lgh1{font-size:1.4rem !important;}
p.kikan{font-size:90% !important;}
p.lgchui{font-size:80%;}
}

hr.bdr {
  border-top: 3px solid #171C61;
	margin:3rem auto;
	width:75%;
}
h3.lginttl{color:#171C61;}
h1.ond{font-size:1.2rem !important; color: var(--light-blue2);}
.txs{font-size:90%;}
.reTxt{color:red;}
p.xstxt{margin:0 auto 1rem;}
p.xstxt a{font-size:0.7rem;}
a.pclk{cursor:pointer;color:blue;text-decoration: underline;}
.note{font-size:70%;display:inline-block;text-align: left;margin:0 auto;padding:0;line-height:1.1;}
span.sage{padding-left: 1em;text-indent: -1em;}

#sc1_greeting {
background: rgb(142,220,243);
background: linear-gradient(270deg, rgba(142,220,243,0.5) 0%, rgba(243,251,254,0.3) 40%, rgba(255,255,255,1) 100%);
	padding:1.5rem 3rem;
}
#sc2_vw, #sc3_vw, #sc4_vw {
background: rgb(142,220,243);
background: linear-gradient(270deg, rgba(142,220,243,0.5) 0%, rgba(243,251,254,0.3) 40%, rgba(255,255,255,1) 100%);
}
.clrb2{color:var(--light-blue2);}
@media (max-width: 575.98px) {
#sc1_greeting{padding:0.5rem;
}
}
p.cstm-flex {
			order: 2;
			color:#ffffff;
    }
		
/**/	
    .textlink a {
      position: relative;
      color: #333 !important;
      text-decoration: none;
      display: inline-block;
      padding: 10px;
    }

    .textlink a:hover {
      color: #b99b00;
    }

    #pglink {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      justify-content: space-evenly;
    }

    #pglink li {
      text-align: center;
      position: relative;
      margin-right: 50px;
    }

    #pglink li:last-child {
      margin-right: 0;
    }

    #pglink li a {
      color: #fff !important;
      text-decoration: none;
      font-weight: bold;
			font-size:1.2rem;
      padding: 5px 10px;
    }

    #pglink li a::before {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      width: 100%;
      height: 2px;
/*      background-color: #F8704F;*/
background-image: linear-gradient(to right, #868f96 0%, #596164 100%);
      transform: scaleX(0);
      transition: transform 0.3s;
    }

    #pglink li a:hover::before {
      transform: scaleX(1);
    }

    #pglink li a::after {
      content: '\f138';
      position: absolute;
      top: 50%;
      right: -20px;
      transform: translateY(-50%);
      font-family: "Font Awesome 6 Free";
      font-size: 20px;
      color: #ffffff;
      transition: color 0.3s;
      opacity: 1;
      display: inline-block;
      padding: 5px;
      border-radius: 50%;
      margin-left: 5px;
    }

    #pglink li a:hover::after {
      color: #F8704F;
/*      background-color: #f9f9f9;  アイコンに背景色を追加 */
    }

    @media screen and (max-width: 767px) {
      #pglink {
        display: block;
      }

      #pglink li {
        text-align: left;
        position: relative;
        padding-left: 25px;
      }

      #pglink li a::before {
        display: none;
				font-size:1rem;
      }

      #pglink li a::after {
        content: "\f138";
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        font-family: "Font Awesome 6 Free";
        font-size: 14px;
/*        color: #62C9EF;*/
        transition: color 0.3s;
        opacity: 1;
        display: inline-block;
        padding: 5px;
        border-radius: 50%;
        margin-left: 5px;
      }

      #pglink li a:hover::after {
        color: #94E5F8;
        background-color: #f9f9f9; /* アイコンに背景色を追加 */
      }
    }
		
.decorated-title { display:flex; align-items:center; justify-content:center; gap:0.5em; margin:2em 0; }
.decoration { width:12px; height:12px; border:1px solid #fff; border-radius:50%; background-color:transparent; flex-shrink:0; }
/*.decoration { width:12px; height:12px; border:1px solid #fff; background-color:transparent; transform:rotate(45deg); flex-shrink:0; }*/
.line { flex:1; border-bottom:1px solid #fff; height:1px; }
.title-text { font-weight:bold; font-size:1.2em; color:#fff; padding:0 1em; white-space:nowrap; }
.separator { border: none; border-top: 1px solid #fff; margin: 2em 0; font-weight:bold; opacity: 1; }

.line-with-circles { display:flex; align-items:center; justify-content:center; gap:0.5em; margin:2em 0; }
.circle { width:12px; height:12px; border:1px solid #fff; border-radius:50%; background-color:transparent; flex-shrink:0; }
.line { flex:1; height:1px; background-color:#fff; }
.bg-primary-subtle2{background-color: #cfe2ff;}



