@charset "utf-8";
/* CSS Document  2020 iot_bz_ss 2020.11.20*/

:root {
  --primary-color: #ffe5ff;
  --primary-color02: #f8d5f8;
  --primary-accent: #ffabbb;
  --sab-color: #81c9c9;
  --sab-color01: #a9e5e5;
  --sab-color02: #3eb8b8;
  --grey-color:#dcdddd;
  --accent-color: #ff204b;
}


/*------------------------------------------------------------
base
-------------------------------------------------------------*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, h7, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
	color:#333;
	/*font-size:18px;*/
}

body{
    overflow-y: scroll;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
    font-size: clamp(12px, 2vw, 18px);
  line-height:1.8em;
}
 

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea{
	margin: 0;
	padding: 0;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse; 
    border-spacing:0;
}

caption, th{
    text-align: left;
}

a:focus {
	outline:none;
}

sup{
font-size: 65%;
vertical-align: top;
position: relative;
top: -0.1em;
}

.clearfix:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

.clearboth{
	clear:both;
}

.inline_block {  
	display: inline-block;  
	*display: inline;  
	*zoom: 1;  
}

.sup{
	font-size: 75.5%;
vertical-align: top;
position: relative;
top: -0.1em;
}

.dnone{display: none;}

/* 個別パーツ*/

img, canvas, iframe, video, svg  {
	max-width:100%;
	height: auto;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
	border: 0;
}

hr{
  border: solid 0.7px #585858;
  margin-block-start: 0;
    margin-block-end: 0;
}

a img	{border: none;}


a img:hover {
	filter: alpha(opacity=70);
	-moz-opacity:0.70;
	opacity:0.70;
}

.border_non{
	border:none !important;}
	
.border_nonB{
	border-bottom:none!important;}

.text-shadow{
	text-shadow: 1px 1px 3px #000;
}

.border_box{
border:1px solid #999999;
}

.box-shadow01 {
	-moz-box-shadow: 1px 1px 3px #000;
	-webkit-box-shadow: 1px 1px 3px #000;
	box-shadow: 1px 1px 3px #000;
}

.box-shadow02{/* 影内側*/
	-moz-box-shadow: inset 1px 1px 3px #000;
	-webkit-box-shadow: inset 1px 1px 3px #000;
	box-shadow: inset 1px 1px 3px #000;
}

.radius {
	border-radius: 8px; 
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px; 
}

.transition {
	-webkit-transition: 1.5s;
	-moz-transition: 1.5s;
	-o-transition: 1.5s;
	transition: 1.5s;
}

.alpha {
	filter: alpha(opacity=25);
	-moz-opacity:0.25;
	opacity:0.25;
}

.bg-alpha {
	background-color:rgba(255,255,255,0.2);
}

.gradient {
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#000000');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#000000')";
	background-image: -moz-linear-gradient(top, #ffffff, #000000);
	background-image: -ms-linear-gradient(top, #ffffff, #000000);
	background-image: -o-linear-gradient(top, #ffffff, #000000);
	background-image: -webkit-gradient(linear, center top, center bottom, from(#ffffff), to(#000000));
	background-image: -webkit-linear-gradient(top, #ffffff, #000000);
	background-image: linear-gradient(top, #ffffff, #000000);
}

.leftbox{
	float:left;
}

.rightbox{
	float:right;
}


.nojustify{ text-align:left !important;}

/*---リンク色 ----*/
a:link {
    color: #0041a5;
    text-decoration: none;
}
a:visited {
    color: #0041a5;
    text-decoration: none;
}
a:hover {
    color: #0041a5;
    text-decoration: underline;
	
}


/* 点滅 */
.blinking{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
.0% {opacity:1;}

/* 幅 */
.w125{width:145px;}
.w70{width:70px;}
.w300{width:270px;}
.w500{width:500px;}
.w600{width:600px;}
.w650{width:650px;}
.w700{width:700px;}



/*------------------------------------------------------------
margin・・・周りのブロックからの距離
-------------------------------------------------------------*/

.m0{ margin: 0!important; }/*周りからのmarginを0に*/
.m0-t{ margin-top: 0!important; }/*上からのmarginを0に*/
.m0-r{ margin-right: 0!important; }/*右からのmarginを0に*/
.m0-b{ margin-bottom: 0!important; }/*下からのmarginを0に*/
.m0-l{ margin-left: 0!important; }/*左からのmarginを0に*/

.m5{ margin: 5px!important; }
.m5-t{ margin-top: 5px!important; }
.m5-r{ margin-right: 5px!important; }
.m5-b{ margin-bottom: 5px!important; }
.m5-l{ margin-left: 5px!important; }

.m10{ margin: 10px!important; }
.m10-t{ margin-top: 10px!important; }
.m10-r{ margin-right: 10px!important; }
.m10-b{ margin-bottom: 10px!important; }
.m10-l{ margin-left: 10px!important; }

.m15{ margin: 15px!important; }
.m15-t{ margin-top: 15px!important; }
.m15-r{ margin-right: 15px!important; }
.m15-b{ margin-bottom: 15px!important; }
.m15-l{ margin-left: 15px!important; }

.m20{ margin: 20px!important; }
.m20-t{ margin-top: 20px!important; }
.m20-r{ margin-right: 20px!important; }
.m20-b{ margin-bottom: 20px!important; }
.m20-l{ margin-left: 20px!important; }

.m25{ margin: 25px!important; }
.m25-t{ margin-top: 25px!important; }
.m25-r{ margin-right: 25px!important; }
.m25-b{ margin-bottom: 25px!important; }
.m25-l{ margin-left: 25px!important; }

.m30{ margin: 30px!important; }
.m30-t{ margin-top: 30px!important; }
.m30-r{ margin-right: 30px!important; }
.m30-b{ margin-bottom: 30px!important; }
.m30-l{ margin-left: 30px!important; }

.m35-b{ margin-bottom: 35px!important; }

.m40{ margin: 40px!important; }
.m40-t{ margin-top: 40px!important; }
.m40-r{ margin-right: 40px!important; }
.m40-b{ margin-bottom: 40px!important; }
.m40-l{ margin-left: 40px!important; }

.m45{ margin: 45px!important; }
.m45-t{ margin-top: 45px!important; }
.m45-r{ margin-right: 45px!important; }
.m45-b{ margin-bottom: 45px!important; }
.m45-l{ margin-left: 45px!important; }

.m50{ margin: 50px!important; }
.m50-t{ margin-top: 50px; }
.m50-r{ margin-right: 50px!important; }
.m50-b{ margin-bottom: 50px!important; }
.m50-l{ margin-left: 50px!important; }

.m60{ margin: 60px!important; }
.m60-t{ margin-top: 60px!important; }
.m60-r{ margin-right: 60px!important; }
.m60-b{ margin-bottom: 60px!important; }
.m60-l{ margin-left: 60px!important; }

.m70{ margin: 70px!important; }
.m70-t{ margin-top: 70px!important; }
.m70-r{ margin-right: 70px!important; }
.m70-b{ margin-bottom: 70px!important; }
.m70-l{ margin-left: 70px!important; }

.m80{ margin: 80px!important; }
.m80-t{ margin-top: 80px!important; }
.m80-r{ margin-right: 80px!important; }
.m80-b{ margin-bottom: 80px!important; }
.m80-l{ margin-left: 80px!important; }

.m90{ margin: 90px!important; }
.m90-t{ margin-top: 90px!important; }
.m90-r{ margin-right: 90px!important; }
.m90-b{ margin-bottom: 90px!important; }
.m90-l{ margin-left: 90px!important; }

.m100{ margin: 100px!important; }
.m100-t{ margin-top: 100px!important; }
.m100-r{ margin-right: 100px!important; }
.m100-b{ margin-bottom: 100px!important; }
.m100-l{ margin-left: 100px!important; }

.m120-t{ margin-top: 120px!important; }
.m130-t{ margin-top: 130px!important; }
.m140-t{ margin-top: 140px!important; }

.m150{ margin: 150px!important; }
.m150-t{ margin-top: 150px!important; }
.m150-r{ margin-right: 150px!important; }
.m150-b{ margin-bottom: 150px!important; }
.m150-l{ margin-left: 150px!important; }

.m250-b{ margin-bottom: 250px!important; }


/*------------------------------------------------------------
padding・・・周りのブロックからの距離（padding）
-------------------------------------------------------------*/

.p0{ padding: 0!important; }
.p0-t{ padding-top: 0!important; }
.p0-r{ padding-right: 0!important; }
.p0-b{ padding-bottom: 0!important; }
.p0-l{ padding-left: 0!important; }

.p5{ padding: 5px!important; }
.p5-t{ padding-top: 5px!important; }
.p5-r{ padding-right: 5px!important; }
.p5-b{ padding-bottom: 5px!important; }
.p5-l{ padding-left: 5px!important; }

.p10{ padding: 10px!important; }
.p10-t{ padding-top: 10px!important; }
.p10-r{ padding-right: 10px!important; }
.p10-b{ padding-bottom: 10px!important; }
.p10-l{ padding-left: 10px!important; }

.p15{ padding: 15px!important; }
.p15-t{ padding-top: 15px!important; }
.p15-r{ padding-right: 15px!important; }
.p15-b{ padding-bottom: 15px!important; }
.p15-l{ padding-left: 15px!important; }

.p20{ padding: 20px!important; }
.p20-t{ padding-top: 20px!important; }
.p20-r{ padding-right: 20px!important; }
.p20-b{ padding-bottom: 20px!important; }
.p20-l{ padding-left: 20px!important; }

.p25{ padding: 25px!important; }
.p25-t{ padding-top: 25px!important; }
.p25-r{ padding-right: 25px!important; }
.p25-b{ padding-bottom: 25px!important; }
.p25-l{ padding-left: 25px!important; }

.p30{ padding: 30px!important; }
.p30-t{ padding-top: 30px!important; }
.p30-r{ padding-right: 30px!important; }
.p30-b{ padding-bottom: 30px!important; }
.p30-l{ padding-left: 30px!important; }

.p40{ padding: 40px!important; }
.p40-t{ padding-top: 40px!important; }
.p40-r{ padding-right: 40px!important; }
.p40-b{ padding-bottom: 40px!important; }
.p40-l{ padding-left: 40px!important; }

.p50{ padding: 50px!important; }
.p50-t{ padding-top: 50px!important; }
.p50-r{ padding-right: 50px!important; }
.p50-b{ padding-bottom: 50px!important; }
.p50-l{ padding-left: 50px!important; }

.p60{ padding: 60px!important; }
.p60-t{ padding-top: 60px!important; }
.p60-r{ padding-right: 60px!important; }
.p60-b{ padding-bottom: 60px!important; }
.p60-l{ padding-left: 60px!important; }

.p70{ padding: 70px!important; }
.p70-t{ padding-top: 70px!important; }
.p70-r{ padding-right: 70px!important; }
.p70-b{ padding-bottom: 70px!important; }
.p70-l{ padding-left: 70px!important; }

.p80{ padding: 80px!important; }
.p80-t{ padding-top: 80px!important; }
.p80-r{ padding-right: 80px!important; }
.p80-b{ padding-bottom: 80px!important; }
.p80-l{ padding-left: 80px!important; }

.p90{ padding: 90px!important; }
.p90-t{ padding-top: 90px!important; }
.p90-r{ padding-right: 90px!important; }
.p90-b{ padding-bottom: 90px!important; }
.p90-l{ padding-left: 90px!important; }

.p100{ padding: 100px!important; }
.p100-t{ padding-top: 100px!important; }
.p100-r{ padding-right: 100px!important; }
.p100-b{ padding-bottom: 100px!important; }
.p100-l{ padding-left: 100px!important; }

.p250-b{ padding-bottom: 250px!important; }

/*------------------------------------------------------------
font-size・・・フォントサイズの設定
-------------------------------------------------------------*/

.b{ font-weight: bold!important; }/*太字*/
.normal{ font-weight: normal!important; }/*太字を解除*/

.big{ font-size: 1.2em!important; }
.big2{ font-size: 1.5em!important; }
.big3{ font-size: 1.8em!important; }
.small{ font-size: 0.8em!important; }

.f06em{ font-size: 0.6em; }
.f08em{ font-size: 0.8em; }
.f09em{ font-size: 0.9em; }
.f10em{ font-size: 1.0em; }
.f11em{ font-size: 1.1em; }
.f12em{ font-size: 1.2em; }
.f13em{ font-size: 1.3em; }
.f14em{ font-size: 1.4em; }
.f15em{ font-size: 1.5em; }
.f16em{ font-size: 1.6em; }
.f17em{ font-size: 1.7em; }
.f18em{ font-size: 1.8em; }
.f19em{ font-size: 1.9em; }
.f20em{ font-size: 2.0em; }
.f21em{ font-size: 2.1em; }
.f22em{ font-size: 2.2em; }
.f23em{ font-size: 2.3em; }
.f24em{ font-size: 2.4em; }

.lh12em{ line-height: 1.2em !important;}
.lh14em{ line-height: 1.4em!important;}
.lh16em{ line-height: 1.6em!important;}

.fnt_green{ color:#5e8e25;}
.fnt_blue{ color:#1c96d4;}
.fnt_dblue{ color:#032D6D;}
.fnt_pink{ color:#F762A3;}

.fnt_red{ color:#ce2b77; font-weight:bold;}
.fnt_blue{ color:#1b55c0;font-weight:bold;}
.fnt_green{ color:#0fb562;font-weight:bold;}

.red{color:#d60a00 !important;}
.orenge{color:var(--orenge-color);}
.white{color:#fff;}
.black{ color:#000!important;}
.gray{ color:#999;}
.brown{ color:#a36001!important;}

/*--背景色--*/
.bgc_white{background-color: #ffffff;}
.bgc_main{rgba(255, 229, 255, 1)}
.bgc_red{ background: #f9bad7;}
.bgc_blue{ background: #98b3e7;}
.bgc_green{ background: #97e0bb;}
.bgc_pink{ background: #ea6099;}
.bgc_lgray{ background: #E6E6E6;}
.bgc_grey{ background: #e1e1e1!important;}

.bgc_lgreen{
background-color: rgba(208,244,218,1.00);
}

.bgc_lorenge{
background-color: rgba(249,245,223,1.00);
}
.lineh{line-height:1.3em;}

.pink_line{
background: linear-gradient(transparent 60%, rgba(255,255,102,0.6) 60%);
font-weight: bold;}

/*--アンダーバー--*/
.bor_black{
border-bottom: 2px solid #000000;
}
.bor_red{
/*background: #F9BAD7;
background: linear-gradient(0deg,rgba(249, 186, 215, 1) 0%, rgba(249, 186, 215, 0) 47%, rgba(249, 186, 215, 0) 100%);*/
  border-bottom: 3px solid #f9bad7;
}
.bor_green{
/*background: #97E0BB;
background: linear-gradient(0deg,rgba(151, 224, 187, 1) 0%, rgba(151, 224, 187, 0) 47%, rgba(151, 224, 187, 0) 100%);*/
  border-bottom: 3px solid #97e0bb;
}
.bor_blue{
/*background: #98B3E7;
background: linear-gradient(0deg,rgba(152, 179, 231, 1) 0%, rgba(152, 179, 231, 0) 47%, rgba(152, 179, 231, 0) 100%);*/
  border-bottom: 3px solid #98b3e7;
}

/*------------------------------------------------------------
align・・・文字の横位置
-------------------------------------------------------------*/

.al-c{ text-align: center; }/*中央寄せ*/
.al-r{ text-align: right; }/*右寄せ*/
.al-l{ text-align: left !important; }/*左寄せ*/

/* Rules for sizing the icon. */
.arrow.md-14 { font-size: 14px; }
.arrow.md-18 { font-size: 18px; }
.arrow.md-24 { font-size: 24px; }
.arrow.md-36 { font-size: 36px; }
.arrow.md-48 { font-size: 48px; }

.arrow, .arrow02, .arrow03{
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}
.arrow_r,.arrow_rw{
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}

.arrow{border-top: 8px solid var(--accent-color);}
.arrow02{border-top: 8px solid var(--sab-color);}
.arrow03{border-top: 8px solid #333;}
.arrow_r{border-left: 8px solid #333;}
.arrow_rw{border-left: 8px solid #fff;}

/*flex*/
.flex-container{
display: -moz-box;
display: -ms-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: flex;
-webkit-box-lines: multiple;
-moz-box-lines: multiple;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
flex-direction: row;            /*横並び・左から右（デフォルト）*/
}

.flex-container .sp-bt { justify-content: space-between;}

.flexbox-vertical-center {
    display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
	margin-bottom:0 auto 30px auto;
}

/*--注釈--*/
.note{ font-size:0.9em; padding-left:1em; text-indent:-1em;}
.note_nomal{ font-size: 0.9em; line-height: 1.3em;}

/* ------ アンカーリンクの調整------ */

.secreen_sp {display:none;}
@media
only screen and (max-width : 786px){
	.secreen_sp {display: block;}
}

/*---br管理--*/
/*---スマホ時改行--*/
@media screen and (max-width: 786px) {
.pc-br{display:none;}
.tb-br{display:none;}
.sp-br{display:block;}
}
/*---タブレット時改行--*/
@media screen and (min-width:787px) and (max-width: 1020px) {
.pc-br{display:none;}
.tb-br{display:block;}
.sp-br{display:none;}
}
/*---PC時改行--*/
@media screen and (min-width:1021px){
.pc-br{display:block;}
.tb-br{display:none;}
.sp-br{display:none;}
}



/* =========================================================
   共通レイアウト / 背景 / wrapper
   ========================================================= */

.wrapper{
	width:100%;
	overflow:hidden;
	position:relative;
}

.bg_colorall{
    position: relative;
    /*min-height: 100vh;*/
    height: auto;
    background: #FFE5FF;
    background: linear-gradient(0deg,rgba(255, 229, 255, 1) 39%, rgba(255, 252, 255, 1) 92%, rgba(255, 255, 255, 1) 100%);
    /*background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;*/
    overflow: visible;
}

@media only screen and (max-width: 1030px) {
    .bg_colorall {
         background: url(../img/spbk_img.jpg);
        background-position: center top;
        }
    }

/* 中身を背景より前に */
.bg_colorall > section{
    position: relative;
    
}

/* 左右の歯車
-------------------------------------------------------- */
.page_bgimg_r,
.page_bgimg_l {
    position: relative;
}
.page_bgimg_r::before,
.page_bgimg_l::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    pointer-events: none;
    background-repeat: no-repeat;
    background-size: 100%;
}

.page_bgimg_r::before {
    right: 0;
    background-image: url(../img/parts_r.png);
    background-size: 18%;
    opacity: 0.2;
    background-position: bottom 5% right 1%;
    z-index: -1;
}

.page_bgimg_l::before {
    left: 0;
    background-image: url(../img/parts_l.png);
    background-size: 13.5%;
    opacity: 0.3;
    background-position: bottom -10px left 3%;
    z-index: 0;
}

#top{display:block !important;}


.container{
	width: 100% !important;
	overflow:scroll;
	position:relative;
	padding:0!important;
	margin:0!important;
}

  h1 { 
    margin-top: 0;
	margin-bottom: 2em;
  font-weight: bold;
  color: #000;
	line-height: 1.5em;
	text-align: left; 
    font-size: clamp(1.75rem, calc(3.75 * 1vw + 1rem), 3.8125rem);}/*32px 61px*/

  h2 {
    margin-top: 0;
    margin-bottom: 0.5em;
    font-weight: 600;
    color: #000;
    line-height: 1.5em;
    text-align: left;  
    font-size: clamp(1.25rem, calc(1.7045 * 1vw + 0.9091rem), 2.1875rem);/*20px 35px*/
  }
  h2 span {
    font-size: 0.6em;
    font-weight: 600;
    line-height: 0.8em;
    text-decoration-line: overline underline;
    text-decoration-color: var(--accent-color);
    text-decoration-thickness: 2px;
    text-underline-offset: 7px;
  }

  h3 { 
    margin-top: 0;
    margin-bottom: 0.5em;
    font-weight: 600;
    color: #000;
    line-height: 1.5em;
    text-align: left;  
    font-size: clamp(1.125rem, calc(1.0227 * 1vw + 0.9205rem), 1.6875rem);
  }/*18px 27px*/

  h4 { 
    margin-bottom: 0.5em;
    font-weight: 600;
    color: #5e3e43;
    line-height: 1.5em;
    text-align: left;  
    font-size: clamp(15px, calc(0.6818 * 1vw + 12.8182px), 21px);
  }/*15px 21px*/

  h5 { 
    margin-top: 0;
    margin-bottom: 0.8em;
    font-weight: 600;
    color: #000;
    line-height: 1.5em;
    text-align: left;  
    font-size: clamp(14px, calc(0.4545 * 1vw + 12.5455px), 18px);
  }/*14px 18px*/

  p {
  line-height: 1.2em;
  font-size: clamp(14px, calc(0.2273 * 1vw + 13.2727px), 16px);
  }

.style01{
	font-weight:bold;
	border-bottom:2px solid #008C22;
	padding-bottom:0.3em;
}

.style02{
	font-weight:bold;
	color:#008C8C;
	border-bottom:2px solid #008C8C;
	padding:0 0.8em 0.3em 0.8em ;
}

.style02a{
	font-weight:bold;
	color:#008C8C;
	font-size:1.5em;
	font-weight:bold;
	text-align:center;
	margin-bottom:0.2em;
}

.style02b{
	font-weight:bold;
	color:#fff;
	font-size:1em;
	text-align:center;
	line-height:2em;
	height:2em;
	background-color:#0079AF;
		border-radius: 20px; 
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	padding:0.2em 1em;
}


.style03{
	font-weight:bold;
	color:#1B99C1;
	border-bottom:2px solid #1B99C1;
	padding:0 0.8em 0.3em 0.8em ;
}

.style04{
	font-weight:bold;
	color:#333333;
	border-bottom:2px solid #333333;
	padding:0 0.8em 0.3em 0.8em ;
}

.contents_hr{
  width: clamp(320px, 90%, 1200px);
	height: 1px;
    margin: 0 auto;
    z-index: 10;
}

.contents{
	width: clamp(320px, 90%, 1080px);
	margin:0 auto;
}
.contents_inner{padding:65px 0 75px;}
.contents_inner02{padding:44px 0 1em;}
.contents_inner03{padding:44px 0 75px;}

@media only screen and (max-width : 786px){
  .contents_inner{padding:44px 0;}
  .contents_inner02{padding:15px 0 2em;}
  .contents_inner03{padding:15px 0 44px;}
}

/* ==========================================
   PC版（801px以上）：テキスト固定・画像だけ外に突き出す
========================================== */
@media (min-width: 801px) {
    .contents-wrapper {
        position: relative;
        overflow: hidden; 
        width: 100%;
    }

    /* テキストエリアを囲む .contents はそのままの幅・位置をキープ */
    .contents-wrapper .contents {
        position: relative;
        z-index: 30; /* テキストが画像の上に必ず来るように */
    }

    /* テキストエリア：他のセクションの2:1（2/3幅）と完璧に一致させる */
    .contents-wrapper .text-area {
        width: calc( 96% * 2.1 / 3);
        box-sizing: border-box;
    }

    /* 画像エリア共通：位置を浮かせて右（または左）の定位置に配置 */
    .contents-wrapper .image-area {
        margin: 0;
        position: absolute;
        top:120px;
        z-index: 30;
        right: -80px;
    }

    /* 【パターンR】画像右突き出し */
    .contents-wrapper._r .text-area {
        padding-right: 3em; /* 画像との隙間 */
    }
    .contents-wrapper._r .image-area {
        /* 左端は、画面中央から「1080pxの6分の1（210px）」右へ進んだ2:1の境界線 */
        left: calc(50% +  210px);
        /* 右端は、画面中央から「520px」進んだ本来の端より、さらに150px外側まで 
        right: calc(50% - 520px - 150px);*/
    }

    /* 【パターンL】画像左突き出し */
    .contents-wrapper._l .contents {
        display: flex;
        justify-content: flex-end; /* テキストを通常の .contents の右側に寄せる */
    }
    .contents-wrapper._l .text-area {
        padding-left: 40px; /* 画像との隙間 */
    }
    .contents-wrapper._l .image-area {
        /* 右突き出しと完全に対称の位置に配置 */
        right: calc(50% + 180px);
        left: calc(50% - 540px - 200px);
    }

    /* ーーー 画面幅が狭くなってきた時のブレイクポイント調整 ーーー */

    /* 1480px以下：突き出し量が200px取れなくなったら、画面端（びた付け）に吸着 */
    @media (max-width: 1480px) {
        .contents-wrapper._r .image-area { right: 0; }
        .contents-wrapper._l .image-area { left: 0; }
    }

    /* 1173px以下〜801pxの間：2:1比率が崩れても、テキスト端を全体の90%幅に合わせ続ける */
    @media (max-width: 1173px) {
        .contents-wrapper._r .image-area { left: calc(5% + (90% * 2 / 3)); }
        .contents-wrapper._l .image-area { right: calc(5% + (90% * 2 / 3)); }
    }
}
    /* 画像自体の表示設定 */
    .image-area .greyscreen{
    position: relative;
    z-index: 10;

    margin: 0;
    padding: 14px;

    max-height: 400px;
    overflow: hidden;
    border-radius: 8px;
    background: #cccccc;
    background: linear-gradient(180deg,rgba(204, 204, 204, 1) 0%, rgba(115, 115, 115, 1) 100%);

    /*box-shadow:
        8px 8px 0 rgba(0, 0, 0, 0.08),
        0 10px 25px rgba(0, 0, 0, 0.1);*/
}

/* 画面部分 */
.image-area img {
    display: block;
    width: 99.5%;
    height: auto;

    border: 1px solid #797979;

    box-shadow:
        inset 0 0 20px rgba(0, 0, 0, 0.15);
}


/* ==========================================
   スマホ・タブレット版（800px以下）：自動で安全な縦並びにする
========================================== */
@media (max-width: 800px) {
    .contents-wrapper {
        flex-direction: column;
    }
    
    .contents-wrapper._l {
        display: flex;
        flex-direction: column;
    }

    .contents-wrapper .text-area {
        width: 100%;
    }

    .image-area {
        margin: 0 auto;
        width: clamp(320px, 95%, 1080px); 
        padding: 1.5em 0 44px 0;
    }
    
    .image-area img {
        width: 100%;
        height: auto;
        display: block;
    }
}
	
.contents01{
	width: clamp(320px, 90%, 1080px);
	margin:0 auto;
	padding:0;
}
	



	

header{
	width:100%;
	margin:0;
	overflow:hidden;
	z-index:999;
	background-color:000;
	opacity:0.8;
	position:static !important;
}



header .head_in{
	width:1100px;
	margin:0 auto;
	height:55px;
	overflow:hidden;
   display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */}

header .head_in .logobox{
	width:256px;
	padding:10px 100px 5px 7px;
	margin:0;
}
@media
only screen and (min-width : 787px){
.screen_sp{ display:none;}
}

@media
only screen and (max-width : 786px){
	.screen_pc{ display:none;}
	
}
	
@media
only screen and (max-width : 786px){
	header .head_in{
	width:100%;
	padding:10px;
	height:auto;
	text-align:center;
	}
	header .head_in .logobox{ 
    float:none; 
    width: auto;
    max-height:30px; 
    text-align:center; 
    margin:0 auto;}
}
	
header .head_in h1{
	float:right;
	text-align: right;
	line-height:55px;
	font-size:0.9em;
	font-weight:bold;
	margin-right:1em;}
@media
only screen and (max-width : 786px){
	#header .head_in h1{ float:none; line-height:1.2em; text-align:center; margin-right:0; font-size:0.9em;}
}
	
	
header .head_in h1 a{
	color:#000;
	font-weight:bold;}
	
header .head_in h1 a:hover{
	color:#999;
	font-weight:bold;
	text-decoration:none;}


#top_main .contents01{ 
  text-align:center; 
  position:relative;
}

#top_main .contents01 h1{margin-bottom: 0;}

#top_main .contents01 .m_dayflex{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 5.5%;
  margin-top: 0.5em;
}

#top_main .contents01 h2{ 
  width:  80%;
  text-align: center;
  margin: 0 auto;}
  #top_main figure{text-align: left;}
#top_main .innar{ padding: 3em 0;}

#top_main .contents01 .note_box{ width:332px; text-align:center; color:#fff;}



@media only screen and (max-width : 786px){
	#top_main .contents01{ text-align: center;}
  #top_main figure{
    width: 100%;
    margin: 0 auto 0 0;
    .b_parts02{width: 90%;}
  }
}
#top_main .contents01 p{ margin-bottom:10px;}

@media only screen and (max-width : 786px){
  #top_main .b_parts{
    top: -5%!important;
    right: 12%!important;
  }
	#top_main .contents01 h1{ margin:0 auto 0 0;}
	#top_main .contents01 h1 img{ width:95%;}
    #top_main .contents01 p{ margin-left: 5px;}
	#top_main .contents01 .note_box{  width:100%;}
  #top_main .contents01 .m_dayflex{
  flex-direction: column;
  text-align: left;
  gap: 1.5em;
}	
}
#top_main .read{
  font-size:1em; 
  text-align:left; 
  line-height:1.8em;
}

#top_main .contents01 p.note{
text-align: center;
font-weight: bold;
fonte-size:0.8em;
color: rgba(138,2,111,1.00);
text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
}





/*ナビゲーションまで*/
/* ==========================================
   TOP メインビジュアル
========================================== */

#top_main {
    position: relative;
}

#top_main .section1 {
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        180deg,
        rgba(255,229,255,1) 0%,
        rgba(255,252,255,1) 65%,
        rgba(255,255,255,1) 100%
    );
    z-index: auto;
}


/* ------------------------------------------
   背景パーツ
   グラデーションの上に置く
   右上から下半分だけ見せる
------------------------------------------ */

#top_main .b_parts {
    position: absolute;
    opacity: 0.6;
    @media only screen and (max-width : 786px){
      opacity: 0.3;
    }

    /* 右上に配置 */
    top: -10%;
    right: 10%;

    /* サイズ */
    width: clamp(430px, 55vw, 900px);
    
    /* 画像そのものを半分程度見せる */
    transform: translate(35%, -35%);

    z-index: 1;
    
    pointer-events: none;
}

#top_main .b_parts img {
    display: block;
    width: 100%;
    height: auto;
}


/* ------------------------------------------
   メインの文字・コンテンツ
   背景パーツより前
------------------------------------------ */

#top_main .contents01 {
    position: relative;
    z-index: 2;
}

#top_main .innar {
    position: relative;
    z-index: 2;

    padding: 3em 0;
}


.bk_bgimg {
    background: url("../img/main_bk.png") no-repeat center center;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 1;
}

.bk_bgimg:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #DcDDDD;
    z-index: 1;
}
#gaiyou .contents{ 
width: clamp(320px, 90%, 1100px);
z-index: 100;
margin: 0 auto;
position: relative;
}

.section_gaiyou .copy{ margin-bottom:30px; text-align:center;}

.section_gaiyou tr{
  line-height: 1.8em;
  width: clamp(320px, 100%, 1100px);
}

.section_gaiyou tr th{ 
text-align:center; 
background: var(--primary-color02);
padding:1em 0;
margin-bottom:0.5em;
font-weight: bold;
}

.section_gaiyou tr td{
	margin:0 auto ;
margin-bottom:0.5em;
background: #f6f6f6;
width: 82%;
padding: 15px 20px 18px 20px;
@media only screen and (max-width : 786px){
  margin-bottom:1em;
  width: 100%;
}
}
.icon_code{
	padding:3px 8px;
	background-color:#C90306;
	color:#fff;
	font-weight:bold;
	line-height:1.3em;
	display: inline-block;
	text-align:center;
}

@media only screen and (max-width : 786px){
	.section_gaiyou tr th{ 
    width: 100%;
    margin-bottom: 0;
    float:none;
	}
	.section_gaiyou tr td{
			margin-left:0;
			padding:10px;
			height:auto;
			font-weight: normal;}
.section_gaiyou dl {
margin-bottom: 0;

}
.section_gaiyou ul li{
	padding-left: 1.3em;
text-indent: -1em;
}

.section_gaiyou ul li::before {
    content: "●";
    margin-right: 0.3em;
    color: #53B332;
    display: inline;
}
}

#objectives .contents_inner{padding: 44px 0 44px;}
#objectives .contents p{
font-size: 1em;
line-height: 2em;
text-align: justify;
}

.bk_gra{
  background: #FFE5FF;
  background: linear-gradient(0deg,
  rgba(255, 229, 255, 1) 45%, 
  rgba(255, 252, 255, 1) 82%,
  rgba(255, 255, 255, 1) 100%);
}
.bk_gra02{
background: #ffffff;
background: linear-gradient(180deg,
rgba(255, 255, 255, 1) 0%,
rgba(255, 252, 255, 1) 49%, 
rgba(192, 255, 255, 0.8) 100%);
}
/*ナビゲートセッション*/
#NV1_movie{
    h5{
      font-weight: bold;
      background: #e1e1e1;
    padding: 0.5em 0 0.5em 1em;
    margin-bottom: 0.8em;
    }
    .categ {
    text-align: center;
    padding: 8px 8px 8px 9px;
    margin: 0 0 0 20px;
    color: #ffffff;
    background: rgba(228, 92, 166, 1);
    font-size: 0.7em;
    display: inline;
    line-height: 1em;
    border-radius: 30px 0 0 30px;
    font-weight: bold;
    @media only screen and (max-width : 786px){
      margin: 0;
    }
  }
  .inner h3 {
    font-size: 1em;
    font-weight: bold;
    text-align: left;
    color: #000000;
    margin: 20px 0;
    line-height: 1.4em;
    }
.copy{
  font-size: 0.8em;
  line-height: 1.6em;
  margin: 0 0 1.2em;}
    .mov_box{
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between;
      gap:2em;
        .mov_box-img {
          position: relative;
        }
        /*動画がない時*/
        .inner{
          width: 100%;
          /*padding: 0 1em;*/
        }
    @media only screen and (max-width : 786px){
      flex-direction: column-reverse;
      gap: 2vw;
    }
    }
    .mov_box .img_box{
          figcaption {
            font-size: 0.7em;
            text-align: center;
            line-height: 1.5em;
            margin-top: 0.7em;
          }
          p{
            display: flex;
            background-color: #e1e1e1;
            height: 100%;
            color: #000;
            letter-spacing: 0.2em;
            text-align: center;
            justify-content: center;
            align-items: center;
          }

          .mov_box-img img{
            border: 1px solid #c1c1c1;
            width: 100%;
            z-index: 1;
}


           .mov_box-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    img{
       border: none!important;
    }
   
}

    }
    .name{
      font-size: 0.8em;
      line-height: 1.4em;}
    .photo_box {
    float: left;
    width: 120px;
    box-sizing: border-box;
    margin: 0.2em 1em 0 0 !important;
    }
}

@media only screen and (max-width : 786px){
#NV1_movie{
  .mov_box .inner{ width: 100%;}

    .categ{ display: block; width: 18em; margin-top: 10px;}
    }
}

.pdf_box{
    margin: 0 auto 50px;
    padding: 20px;
    width: 96%;
    background: #efefef;
    @media only screen and (max-width : 786px){
      width: 92%;
      padding: 10px;
      margin: 0 auto 25px;
}
    }

.material-symbols-outlined{
display: inline-flex;
vertical-align: middle;

}

ul.list_pdf {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 auto;
  text-align: left;
max-width: 80%;
}
ul.list_pdf li{
text-indent: -1em;
padding-left: 1em;
font-size: 0.9em;
}

ul.list_pdf li a:before{
content: "\f1c1";
font-weight: 900;
font-family: "Font Awesome 5 Free";
}

@media only screen and (max-width : 786px){
ul.list_pdf {
  display: block;
max-width: 90%;
padding: 0;
}
}



/* =========================================================
   PROGRAM / プログラム・講演・スポンサーセッション
   ========================================================= */
#program {
position: relative;
z-index: 1;
}

/*共通
-------------------*/
.com_inner{padding: 1.5em 1em 1.5em;}
.com_inner02{padding: 1.5em 1em 1.5em;}
.com_inner,.com_inner02{
  position: relative;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0px -1px 20px rgba(0,0,0,0.2);
    display: flex;
  flex-direction: column;
  flex: 0 calc((100% - 1em)/2);
  .jirei{
    font-size: clamp(1rem, calc(0.2273 * 1vw + 0.9545rem), 1.125rem);
    width: 100%;
    margin-bottom: 0.6em;
  }
}
   .botn_modal{
    margin-top: auto;
   }
/*２列*/
.program_flex{
  display: flex;
  flex-wrap: wrap;
  gap: 1.1em 1em;
  .title_flex h3{margin: 0.8em 0 1em;}
  @media only screen and (max-width : 786px){
    flex-direction: column;
    gap: 2em;
  }
}

/*ロゴ*/
.rogo{
  text-align: right;
 margin-bottom: 15px;
    @media only screen and (max-width : 786px){
      text-align: center;
  }
}

.com_nomber{
  position: absolute;
  top:0;
  left:0;
  /*padding: 0.3em 1.5em 0.5em 1.5em;*/
  padding: 0.5em 0 0.5em 0.6em;
  font-size: 0.9em;
  color: #000;
  background: #f9bad7;
  font-weight: 600;
  width: 3em;
}
.com_nomber02{
  position: absolute;
  top:0;
  left:0;
  /*padding: 0.1em 0.5em 0.5em 0.5em;*/
  padding: 0.5em 0 0.5em 0.6em;
  color: #000;
  background: #f9bad7;
  font-size: 0.9em;
  font-weight: 600;
  width: 3em;
}

.title_flex{
  display: flex;
  flex-direction: column;
  align-items: top;
  h3{
    color: #353371;
    margin:0.5em 0 0 0;
    width: calc(100% - 3em);
  }
}

#com01,#com02{
  .txt_flex{
    display: flex;
    flex-direction: column;
    margin: 1em 0 0 0;
    .txt_area{margin: 0 0 1em 0;}
  }
  .photo_box{
        float: left;
        width: 120px;
        box-sizing: border-box;
        margin: 0.2em 1em 0 0 !important;
  }
}

#com02{
   .photo_box{
    width:100px;
    margin: 0 10px 0 0 !important;
    }

     .caption {
      overflow: hidden;
     }
   
}
@media only screen and (max-width : 786px){
  #com01,#com02,#NV1_movie{
    .photo_box{
      width: 70px;
    }
  }

}

/*-- 講演 帯 --*/
#com01,#com02,#com03{
  .icon_se{
  padding: 0.5em 1em;
  border-bottom: 1em;
  background: linear-gradient(90deg, #f9bad7 0%, #f9bad7 26%, #ffffff 85%);
  margin-bottom: 0.8em;
}
}
/*-- 基調講演 --*/
.bk_bgimg_pro {
    background: url("../img/main_bk.png") no-repeat center center;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 1;
}

.bk_bgimg_pro:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(30, 29, 99, 0.8);
}


#program .contents{ 
  width: clamp(320px, 90%, 1080px);
    z-index: 100;
    position: relative;
}

#program .copy{ font-size: 0.9em; text-align: center;}

#program .sab-navi{
margin: 0  auto;
width: clamp(320px, 100%, 1100px);
}
#program .sab-navi ul{
  display: flex;
  justify-content: space-between;
  /*@media only screen and (max-width : 1099px){
    width: 85%;
    margin: 0 auto;
  }*/
  @media only screen and (max-width : 786px){
    display: block;
    width: 100%;
  }
}

#program .sab-navi ul li{
width: calc(100%/3);
@media only screen and (max-width : 786px){
  width: 100%;
}
}

#program .sab-navi ul li a{
padding: 5px;
color: #000;
font-weight: bold;
font-size: 0.9em;
line-height: 2em;
display: block;
text-align: center;
}
#program .sab-navi ul li  :hover{ 
  text-decoration: none; 
  background: #FFE5FF;
  }

@media
only screen and (max-width : 786px){
#program ul.sab-navi{ width: 90%; display: block;}
#program ul.sab-navi li{width: 100%;}

}



#kouyasai{
  h1{margin: -10px 0 0;}
  h2 span{text-decoration-color: var(--sab-color02);}
  h4{
    color: #3f6c6c;
    font-weight: 700;
  }
  .image-area{top:405px;}
  .howtolive_box{
    background: #f0f0f0;
    padding:1.3em 1.1em;
    border: 0.8px solid var(--sab-color01);
  }
  .livesection_flex{
    display: flex;
    flex-direction: column;
  }
  .section_hr{
    border-bottom: solid 2px #d5d5d5;
    padding: 0 0 15px 0;
    margin-bottom: 15px;
  }
  ul.list_DL_cname {
    margin-top: 20px;
    display: flex;
    justify-content: flex-start;
    gap: 3%;
    flex-wrap: wrap;
    @media only screen and (max-width : 786px){
      flex-direction: column;
    }

     li{
      font-size: 1em;
      line-height: 1.6em;
      font-weight: bold;
      color: #2f5252;;
     }
  }
}

#program .photo_box,
#kouyasai .photo_box{
    float: left;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: flex-end;
    /*flex-wrap: wrap;*/
    margin-top: 10px;
}

/*モデレーターの調整用、必要になったら復活*/
/*#kouyasai .mode_box{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    /*flex-wrap: wrap;*/
    /*margin-top: 10px;*/
    /*.caption{align-items: flex-end;}
    figure img{ margin-left: 0;}
} */
 /*モデレーターの調整用、必要になったら復活*/




#program .photo_box img{
width: 120px;
margin-right: 0.8em;
}

#kouyasai .photo_box  figure{
  margin-right: 0.5em;
  margin-top: 0.3em;
}

#kouyasai .photo_box img{
width: 100px;
}

@media only screen and (max-width : 786px){
#kouyasai .photo_box img{
width: 60px;
}



}


#kouyasai .photo_box .caption{
  line-height: 1.2em;
  text-align: left;
  font-size: 0.9em;
  .f11em{color: #2f5252;}
}

#program .photo_box .caption span{ font-weight: bold;}



#program .flex-container{
justify-content: space-between;
}


ol.list_no{
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
    margin: 0;
}

ol.list_no li{
    line-height: 1.5;
    padding-left: 26px;
    position: relative;
    font-size: 0.8em;
    margin-bottom: 0.5em;
}

ol.list_no li:before{
    content: counter(my-counter);
    counter-increment: my-counter;
    background-color: var(--primary-color);
    border: 1px solid;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20px;
    width: 20px;
    color: #ffffff;
    font-size: 80%;
    line-height: 1;
    position: absolute;
    top: 0;
    left:0;
	}
    
ol.list_no li.se_tb:before{
background-color: #DE9A00;
}


ol.list_no li ul li{
list-style:  none;  /* デフォルトのアイコンを消す */
margin-left:-20px;
margin-bottom: 0.1em;
font-size: 1em;}

ol.list_no li ul li:before {
content:  "";     /* 空の要素作成 */
    width:  10px;               /* 幅指定 */
    height:  10px;              /* 高さ指定 */
    display:  inline-block;     /* インラインブロックにする */
    background-color: #999;   /* 背景色指定 */
    border-radius:  50%;        /* 要素を丸くする */
    position:  relative;        /* 位置調整 */
    top: -1px;                  /* 位置調整 */
    margin-right: 5px;          /* 余白指定 */
}
ul.list_dot li,ul.list_dot02 li{
    text-indent: -1.3em;
    padding: 0 0 0 1.3em;
    vertical-align: baseline;
    line-height: 1.6em;
}

ul.list_dot li::before {
    content: "●";
    margin-right: 0.3em;
    color: var(--sab-color01);
    display: inline;
}

ul.list_dot02 li::before {
    content: "●";
    margin-right: 0.3em;
    color: #999999;
    display: inline;
}



/* =========================================================
   MODAL / 詳細モーダル
   ========================================================= */

.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
	z-index:100;
	overflow:scroll;
	font-size:0.7em;
}
.modal__bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__content{
    background: #fff;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 60%;
	overflow:scroll;
	height:auto;
    max-height: 80%;
    }

@media
only screen and (max-width : 786px){
	.modal__content{
		padding: 20px;
		width: 80%;
	}
}

.modal__content .prf_headbox .icon_se{
font-size: 1.1em;
padding: 0.4em 0 0.4em 1em;
margin-bottom: 1.2em;
}

.modal__content h2{
  position: relative;
  padding: 5px 26px 5px 42px;
  background: #7ac943;
  font-size: 20px;
  margin-left: -15px;
  line-height: 1.3;
  z-index:-2;
  text-align:center;
  font-weight:bold;
  margin-bottom:30px;
}


.modal__content h4{
  font-size: 1.4em;
  color: #353371;
  line-height: 1.3;
  font-weight:bold;
  margin-bottom:0.8em;
}


.modal__content .prf_headbox{
	overflow:hidden;
  .flex-container{
    .name_flex{
      display: flex;
      align-items: flex-end;
    }
    gap: 15px;
  }
}

.modal__content figure{
    margin-top: 15px;
    img{border: 0.5px solid #b2b2b2;}
}
	
.modal__content .prf_headbox img{ 
  float:left; 
  width:120px; 
  margin-right:0.8em; 
  margin-bottom: 0;}
@media
only screen and (max-width : 786px){
	.modal__content .prf_headbox img{ width:60px;}
}

.modal__content .prf_headbox h3{ 
  font-size:1.5em; 
  font-weight:bold;
  color: #5e3e43; 
  margin-top:-0.3em;
}
.modal__content .prf_headbox .com_name{ font-size:1.2em; font-weight: bold;line-height: 1.5em; margin-bottom: 20px;}

.modal__content .categ{
   position: static;
   top:auto;
   right: auto;
   text-align: center;
   padding: 8px 18px 8px 12px;
   color: #ffffff;
   background: rgba(228,92,160,1);
   font-size: 1em;
   display: inline;
   line-height: 1em;
   margin-left: 10px;
   border-radius: 30px 0 0 30px;
   font-weight: 600;
   }

.modal__content ul{ margin:0 auto 20px auto;}
.modal__content ul li { 
    padding-left: 1em; 
    text-indent: -1em;
	line-height:1.5em;
	margin-bottom:0.5em;
}
.modal__content ul li:before {
    content: "● ";
    color: grey;
}

.modal__content ol.list_no li{
font-size: 1em;
}

.modal__content dt{ width:4em; float:left; text-align:center; margin:0;}
.modal__content dd{ padding-left:4.5em; margin:0;}


.modal__content .imgbox { align-items:flex-end;
flex-wrap: wrap;
flex-direction: row;   }

.modal__content .imgbox div{ margin: 5px; width:calc(100% /4.3);}

.modal__content .photo_2com{
display: flex;
justify-content: space-between;
}

.modal__content .photo_2com_innder{
width: 47%;
}

@media
only screen and (max-width : 786px){
.modal__content .photo_2com{
display: block;}
.modal__content .photo_2com_innder{
width: 100%;
overflow: hidden;
}
}

.js-modal-close{
display: flow-root;
}

.js-modal-close p { 
font-size:1em; text-align:center; margin-top:0.2em; vertical-align:bottom;
padding:0.2em 0.5em;
line-height:1.4em;
background-color:#6FA6E8;
margin-bottom:20px;
float:right;}

.js-modal-close p:hover{ background-color:#BED3E8;text-decoration: none !important;}

 a.prof_btn{
    background-color: #514f92;
    color: #fff;
    font-size: 12px;
    align-items: center;
    margin-top:1.5em;
    width: 120px;
    border-radius: 30px;
    text-align:  center;
    display: inline-block;
    align-items: center;
}

.js-modal-close a {
    background-color: #514f92;
    color: #fff;
    font-size: 0.65em;
    align-items: center;
    margin-top:2.2em;
    width: 120px;
    border-radius: 30px;
    text-align:  center;
    display: inline-block;
    align-items: center;
}

 a.prof_btn span,
.js-modal-close a span{
vertical-align: middle;
font-size: 16px;
}
 a.prof_btn:hover,
.js-modal-close a:hover{
    background-color: #FFE5FF;
    color: #646464;
    text-decoration: none;
    .arrow_rw{border-left:8px solid #646464;}
}
.js-modal-close a {
line-height: 1.6em;
 padding: 0.5em 2em;
 font-size: 1em;
 float: right;
}





.arrow{display:inline-block; vertical-align:middle;}

.arrow.small-size {
	font-size: 16px;
}



.arrow{display:inline-block; vertical-align:middle;}

.arrow.small-size {
	font-size: 16px;
}




.code03 {
    background-color:#D80003;
    display: inline-block;
    padding: 5px 7px;
    line-height: 1;
    border: transparent 1px solid;
	width:10em;
	text-align:center;
		border-radius:5px;
		font-size:0.9em;
		font-weight:bold;
		color:#fff;
}






/*プログラム　クリックで開閉*/

.program_box .detail_box {
    display: flex;
    justify-content: flex-start;
    /* width: 719px; */
    margin: 20px 10px 30px 10px;
}


/*ボタン装飾*/
.hidden_box label {
    cursor :pointer;
        padding: 5px 3em;
    background-color: #38b48b;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    text-align: center;
    color: #fff !important;
    font-weight: bold;
    font-size: 0.7em;
    transition: .2s;
    border: 2px solid #fff;
    line-height: 1.3em;
    display: inline-block;
}

/*アイコンを表示*/
.hidden_box label:before {
    display: inline-block;
    content: '\f078';
    font-family: 'FontAwesome';
    padding-right: 5px;
    transition: 0.2s;
}

/*ボタンホバー時*/
.hidden_box label:hover {
    background: rgba(0,47,123,1.00);
}

/*アイコンを切り替え*/
.hidden_box input:checked ~ label:before {
     content: '\f00d';
     -webkit-transform: rotate(360deg);
     transform: rotate(360deg);
     color: #ffffff;
}

/*チェックは見えなくする*/
.hidden_box input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}




  /*リボン*/
.ribbon01 {
  display: inline-block;
  position: relative;
  height: 40px;/*高さ*/
  line-height: 40px;/*高さ*/
  text-align: center;
  padding: 0 40px 0 18px;/*文字の左右の余白*/
  font-size: 1em;/*文字サイズ*/
  background:  #D90000;/*背景色*/
  color: #FFF;/*文字色*/
  box-sizing: border-box;
}


  /*吹き出し*/
.balloon2 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 5px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 3px #6BB82C;
  box-sizing: border-box;
}







/*.section3::before{
  content: '';
  position: absolute;
  left:0;
  top: 0;
  /*四角形を傾けます*/
  /* transform: skewY(-3deg);
  transform-origin: bottom left;
  z-index: -1;
  width:100%;
  height:100%;
  background:#EDEDED;
}*/

	
/* =========================================================
   CONTACT / お問い合わせ
   ========================================================= */
#contact .contents {
  position: relative;
  z-index: 2;
}
#contact {
h2{margin-bottom:10px;}
.innar{
	margin:0 auto;}
	
@media
only screen and (max-width : 786px){
	.innar{ width:100%;}
}

dl{
	width: 800px;
	margin:0 auto;
}
	
	
dl dt h4{
	width:100%;
	font-weight:bold;
	text-align:center;
	float:left;
	margin-bottom:20px;
	color:#5a5a5a;
}

dl dd{
	margin:0;
	padding:10px 15px 0 15px;
}
dl dd p{
  line-height:1.6em; 
  font-size:0.9em;
  text-align: center;
}
}

	
@media only screen and (max-width : 786px){
	#contact .flex-container{ display:block;}
	#contact dl{
	width: 100%; margin-bottom:10px;}
#contact .cont_innar{
	width:100%;}
}







/*お問い合わせContact*/
#order{
	width:100%;
	position:relative;
	overflow:hidden;
	z-index:10;
}



/* btn Style
-------------------------------------------------------- */
.btn_order{ 
  margin:20px auto 0 auto;
}

.btn_order a{
	width:280px;
	    padding: 0.6em 0;
    display: inline-block;
    background-color: var(--accent-color);
    text-align: center;
    color: #fff !important;
    box-shadow: 0px -1px 15px rgba(0, 0, 0, 0.3);
    font-weight: 500;
    font-size: 1.2em;
    transition: .2s;
  @media only screen and (max-width : 786px){
    width: 60%;
  }
}
.btn_order_main{
  	position: absolute;
    right: -50px;
    bottom: 55px;
    z-index: 99;
     a{
    font-size: 1.3em;
    line-height: 1.3em;
    background: rgba(205, 30, 125, 1);
    border: 2px solid #fff;
    color: #ffffff;
    padding: 10px;
    border-radius: 50%;
    z-index: 500;
    width: 190px;
    height: 190px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    .muryo_small{
      color: #fff;
      padding: 4px;
      font-size:0.8em;
      font-weight: 600;
      line-height: 1.5em;
      /*margin-right: 10px;*/
      width: 230px;
      background: var(--primary-color);
    }
     .muryo_nosmall{
              color: #fff;
            padding: 4px;
            font-size: 0.8em;
            font-weight: 600;
            line-height: 1.5em;
            /* margin-right: 10px; */
            width: 230px;
            background: #a0a0a0;
        }
    }
    
    @media only screen and (max-width : 786px){
      display: none;
    }
}

.btn_order a.style_call{ 
  background:#fff;
  color: #000 !important;
}

.btn_order a.style_call:hover{
background: var(--primary-accent);
}



.btn_order a:hover,
.btn_order02 a:hover{
	background-color:var(--primary-accent); 	
  color: #000!important;
	display: inline-block;
	text-decoration:none;
}

.nolink a,
.nolink{
background: rgba(184,182,182,1.00) !important;
    pointer-events: none;
	opacity: 0.8;
}

#page-top {
  text-shadow: 0px 2px 2px #000;
a {
    position: fixed;
    right: 30px;
    bottom: 25px;
    font-size: 2em;
    background: rgba(87, 87, 87, 1);
    color: #ffffff;
    padding: 7px;
    border-radius: 10%;
    z-index: 500;
    width: 40px;
    height: 40px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
}




/* =========================================================
   協賛バナー
   ========================================================= */

/* Bunner Style
-------------------------------------------------------- */
.entry_btn {
  display: none;
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 10000;
    @media only screen and (max-width : 786px){
      display: block;
      right: 10px;
      bottom: 35px;
    }
}






/* =========================================================
   FOOTER / HEADER / NAVIGATION
   ========================================================= */

/* Footer Area Style
-------------------------------------------------------- */

#footer{
	width:100%;
	background-color:#000;
}

#copyright{
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	clear: both;
	width: 700px;
	padding:10px 0;
	margin:0 auto;
}

@media
only screen and (max-width : 786px){
	#copyright{ width:100%;}
}


/* ヘッダーrogo */

.inner {
    width: clamp(320px, 90%, 1080px);
    margin: 0 auto;
}
.inner:after {
    content: "";
    clear: both;
    display: block;
}
 
/* header */
#top-head {
    width: 100%;
    line-height: 1;
    z-index: 999;
	background: #fff;
}
#top-head a,
#top-head {
    text-decoration: none;
	color:#333;
}


#top-head .inner {
    position: relative;
}
#top-head p {
  display: flex;  
  align-items: center;
  .logo{
    margin-right: 1em;
    margin-left: -0.7em;
    padding:0.7em 0;
  }
  span{
    font-weight: bold;
    font-size: 0.95em;
    margin: 1.1em 0 0 0;
  }
}

/*#top-head .logo img{
    width:489px;
}*/

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

#top-head .logo {
height: 35px;
}

#top-head h1 span{
font-size: 0.9em;
line-height: 55px;
}
	
}

/* 共通メニュー */

#navi.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #dcdddd;
    z-index: 2100!important;
}

/* 固定されたときもボタン部分は1080px以内 */
#navi.is-fixed .navi_innar {
    max-width: 1080px;
    margin: 0 auto;
    z-index: 100;
}

#navi .navi_innar {
  max-width: 1080px;
  margin: 0 auto;
  z-index: 2000;
}

/* 1. ul要素：高さを揃えて隙間なく並べる */
#navi .navi_innar ul {
  display: flex;
  align-items: stretch; /* 5個のliの高さを一番高いものに揃える */
  padding: 0;
  margin: 0;
  width: 100%;
  list-style: none;     /* ドットを消す設定がなかったので追加 */
}

/* 2. li要素：共通の枠組み設定 */
#navi .navi_innar ul li {
  flex-basis: 0;
  box-sizing: border-box;
  display: inline-flex;  /* 内部の a タグを上下左右中央に配置するため */
  align-items: stretch;  /* a タグを li の高さ限界まで広げる */
}

/* 3. 横幅の比率設定（liに対して指定する） */
#navi .navi_innar ul li.item1,
#navi .navi_innar ul li.item2,
#navi .navi_innar ul li.item3,
#navi .navi_innar ul li.item4 {
  flex-grow: 1;   /* 通常のボタンは比率 1 */
}
#navi .navi_innar ul li.item5 {
  flex-grow: 1.4; /* 無料事前登録だけ比率 1.4 */
}

/* 4. a要素：すべてのボタン共通のベーススタイル */
#navi .navi_innar ul li a {
  background-color: var(--grey-color);
  color: #000000;
  border-right: 0.5px solid #a5a5a5;
  text-align: center;
  font-weight: 600;
  text-decoration: none;
  width: 100%;           /* liの横幅いっぱいに広げる */
  
  /* ★ここが超重要：aタグ自体もFlexにして文字とアイコンを上下中央にする */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;              /* 文字とマテリアルアイコンの隙間 */
  
  /* 高さを固定せず、paddingでベースの上下幅を担保する */
  padding: 0.5em 1em; 
  box-sizing: border-box;
  
  /* 初期フォントサイズ（1〜4個目共通） */
  font-size: 0.8em; 
  transition: background 0.2s ease;
}

/* 5. 無料事前登録（item5）の a要素だけフォントと背景を変える */
#navi .navi_innar ul li.item5 a {
  background-color: var(--accent-color) !important;
  color: #fff;
  border-right: none;
  font-size: 1.1em;
}

/* 6. ホバー（マウスを載せたとき）の設定 */
#navi .navi_innar ul li a:hover,
#navi .navi_innar ul li.item5 a:hover {
  background: var(--primary-accent)!important;
  color: #000;
}

/* 7. アクティブ（現在地）などのスタイル（aタグのFlexを維持） */
#navi .navi_innar ul .active a {
  background-color: var(--green-color);
  color: #000000;
}
#navi .navi_innar ul .active02 a {
  background-color: var(--accent-color);
  color: #fff;
}
#navi .navi_innar ul .active a:hover,
#navi .navi_innar ul .active02 a:hover { 
  color: #fff;
}

/* 8. リンクなし設定 */
#navi .navi_innar ul li.nolink a {
  background: none !important;
  pointer-events: none;
  opacity: 1;
  color: #666666;
}
/* 画面幅が1080px以下（スマホ・タブレット）になった時の設定 */
@media only screen and (max-width: 870px) {
  
  /* 1. 全体のインナー幅を画面いっぱいに広げる */
  #navi .navi_innar {
    width: 100%;
    padding: 0;
  }

  /* 2. ul：折り返し（wrap）を許可する */
  #navi .navi_innar ul {
    flex-wrap: wrap; /* これで溢れた要素が下に回り込みます */
  }

  /* 3. item1〜4：横幅を50%（半分）にして、2列ずつ並べる */
  #navi .navi_innar ul li.item1,
  #navi .navi_innar ul li.item2,
  #navi .navi_innar ul li.item3,
  #navi .navi_innar ul li.item4 {
    flex-basis: 50%;
    width: 50%;
    flex-grow: 1; /* 残りのスペースを均等に分け合う */
  }

  /* 4. item5（無料事前登録）：2列分の幅（100%）に広げる */
  #navi .navi_innar ul li.item5 {
    flex-basis: 100%; /* ★これで上の2枚分と同じ横幅（100%）になります */
    width: 100%;
    flex-grow: 1;
  }
  
  /* 5. タップのしやすさ調整（お好みで） */
  #navi .navi_innar ul li a {
    font-size: 0.85em;    /* スマホで見やすいサイズに微調整 */
    padding: 0.8em 0.6em; /* 親指でタップしやすいように上下を少し広げる */
  }
  
  #navi .navi_innar ul li.item5 a {
    font-size: 1.1em;     /* 無料事前登録の大きさはキープ */
  }
}


/*——　文字の右にライン　——*/
.title-border-right {
display: flex;
align-items: center;
font-weight: bold;
margin-top: 0.5em;
}



ul.bnr_box {
    display: block;
    text-align: center;
}

#bnr { text-align: center; position: relative;}

ul.bnr_box li {
    vertical-align: middle;
    display: inline-block;
    justify-content: center;
    margin:20px 40px;
  @media only screen and (max-width : 786px){
    margin:10px 20px;
    width: 50%;
  }
}z

#bnr h2{
margin-bottom: 0!important;
}

#bnr h3 {
  text-align: center;
    font-weight: bold;
	margin: 30px auto;
}





.mov {
    text-align: center;
    margin: 0px auto 15px auto;
    position:relative;
    width:100%;
}







.bnr{
margin: 15px auto 0 auto;
text-align: center;
}



/* =========================================================
   KOUYASAI / 会場限定イベント
   ========================================================= */

#kouyasai h2{
margin-bottom: 20px!important;
color: #000;
}

#kouyasai h3{
margin-bottom: 15px!important;
font-size: 1.3em;
line-height: 1.2em;
font-weight: bold;
}


#kouyasai .day{
text-align: center;
font-size: 1em;
font-weight: bold;
margin:0 auto 50px auto;
color: rgba(27, 86, 204, 1);
position: relative;
  padding:0.25em 1em;
  display: inline-block;
  top:0;
  @media only screen and (max-width : 786px){
    margin-bottom: 25px;
  }
}

.day:before, .day:after {
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
  }
.day:before {
  border-left: solid 2px rgba(27, 86, 204, 1);;
  border-top: solid 2px rgba(27, 86, 204, 1);;
  border-bottom: solid 2px rgba(27, 86, 204, 1);;
  left: 0;
}
.day:after {
  content: '';
  border-top: solid 2px rgba(27, 86, 204, 1);;
  border-right: solid 2px rgba(27, 86, 204, 1);;
  border-bottom: solid 2px rgba(27, 86, 204, 1);;
  right: 0;
}


#kouyasai table{
  width: 100%;
  border-collapse: collapse;
  box-shadow: 0px -1px 15px rgba(0, 0, 0, 0.2);
  margin-top: 30px;
}

#kouyasai table tr,#gaiyou table tr{
  border-bottom: solid 2px white;
}

#kouyasai table tr:last-child,
#gaiyou table tr:last-child
{
  border-bottom: none;
}

#kouyasai table th{
 /* position: relative;*/
  text-align: left;
  width: 12em;
  background-color: var(--sab-color01);
  text-align: center;
  padding: 1em 0;
}

/*#kouyasai table th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid rgba(89,0,143,1.00);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}*/

#kouyasai table td{
  text-align: left;
  width: 82%;
  background-color: #f6f6f6;
  padding: 15px 20px 18px 20px;
  font-size: 0.9em;
}

@media only screen and (max-width : 786px){
#kouyasai table td,
#kouyasai table th,
#gaiyou table td,
#gaiyou table th{
display: block;
width: 100%;
overflow: hidden;
}
#kouyasai table td,#gaiyou table td{
  padding: 10px;
width:  calc(100% - 20px);
}
}



#kouyasai table td ol.list_no li{
    font-size: 0.9em;
}

#kouyasai table td ol.list_no li:before{
    background-color:rgba(153,38,185,1.00);
	}

#kouyasai table td p{
line-height: 1.4em;
}

.kouya_tb_midashi{
font-weight: bold;
color: #309b9b;
margin-bottom: 5px;
}

.kouya_tb_title{
font-weight: bold;
font-size: 1em;
margin-bottom: 10px;
}

.kouya_tb_name{
font-size: 0.9em;
}

.kys_photo_2com{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.kys_photo_3com{
display: flex;
justify-content: space-between;
margin-bottom: 25px;
}

.kys_photo_2com_innder,.kys_photo_2com_innder02{
width: 50%;
.fnt_dblue{margin-bottom: -0.6em;}
}
.kys_photo_2com_innder{margin-bottom: 1em;}
.kys_photo_2com_innder02{margin-bottom: 0;}


.kys_photo_3com_innder{
width: 38%;
}

.kys_photo_3com_innder:last-child{
width: 20%;
}

@media only screen and (max-width : 786px){
.kys_photo_2com,
.kys_photo_3com{flex-direction: column;}
.kys_photo_2com_innder,.kys_photo_2com_innder02,.kys_photo_3com_innder,
.kys_photo_2com_innder:first-child,.kys_photo_2com_innder02:first-child,.kys_photo_3com_innder:first-child{
width: 100%;
}
#kouyasai .m30-t{
margin-top: 0!important;
}
}

#kouyasai .note{
line-height: 1.3em;
}

/*--登壇者2名の場合--*/
.speaker_2box{
  display: flex;
  justify-content: space-between;
  gap: 5%;
  flex-wrap: nowrap;
}
.speaker_2box_inner{
  flex: 1;
}

@media only screen and (max-width : 1040px){
  .speaker_2box{
    flex-direction: column;
    gap: 15px;
  }
}