@charset "utf-8";
/* CSS Document */
/***********************************************************/
/*　管理サイト全ページに読み込ませるCSS　（PC用）  */
/***********************************************************/
/*　社内メモ  */
/*　制作：大坪  */

:root {
    --content-width: 1200px;
}
/*#debug{display:none}*/
/*******************************************/
/*レイアウトのスタイル（共通）*/
/*******************************************/
*{
	margin:0;
	padding:0;	
}
html{
    overflow-y: scroll;
	font-size:62.5%;

}
h1, h2, h4, h5, h6{
    font-size: 100%; 
    font-weight: normal;
}

fieldset, img{
     border:0;
}
a{ text-decoration: none; outline:none;}
address, caption, cite, code, dfn, em, th, var{
    font-style: normal; 
    font-weight: normal;
}
ul{
	margin-left:2em;
}

body {
	font-family:"BIZ UDPGothic","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","Meiryo UI", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#2b2b2b;
	font-size:13.5px;
	font-size: 1.45em;
	line-height: 1.8;
	-webkit-text-size-adjust: none;
	background:#E2DCD0;
	min-width:var(--content-width);
}

/*----------------------------------------------------
　　　リンクのスタイル（共通）
-----------------------------------------------------*/
a { color: #2b2b2b; text-decoration:underline; }
a:hover { text-decoration:none; opacity:0.8; }

.tbl_eval a{ color: inherit; }
/*----------------------------------------------------
		クラス
-----------------------------------------------------*/
.sp,.sp_in{display:none;}

.left{text-align:left;}
.right{text-align:right;}
.center{text-align:center;}
.v_top{vertical-align:top;}
.f_r{float:right!important;}
.f_l{float:left!important;}
.clear{ clear:both;}



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

/*赤字*/
.red{ color:rgb(155, 0, 0); }

.fs_110{ font-size:110%;}
.fs_90{ font-size:90%;}
.fs_80{ font-size:80%;}

/*強制改行*/
.txt_wb{
	word-break:break-all;
}

/*テキスト非表示*/
.txtint{
	overflow:hidden;
	text-indent:100%;
	white-space: nowrap;
}
.disnon{
	display:none;
}

/*clearfix*/
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.inner {
	margin: 0 auto;
	width:var(--content-width);
}
.inner:after {
  content: "";
  clear: both;
  display: block;
}


/*アイコン*/
.icon_100per{
	width:18px;
	height:18px;
	border-radius:9px;
	display:inline-block;
	vertical-align:middle;
	background-repeat:no-repeat;
	background-position:center;
	background-color:#12a285;
	background-image:url(../img/admin/icon_ok.png);
	background-size:14px auto;
}


/***********************************************************/
/*ヘッダー*/
/***********************************************************/
header{
	background:#ffffff;
	height:70px;
	padding-top:8px;
	border-bottom:5px solid #12a285;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
			
}
header h1{ 
	margin-top:-10px;
	padding:25px 0 15px 280px;
	line-height:1.3;
	background:url(../img/guest/logo.svg) left center no-repeat;
	background-size:270px auto;
	font-size:14px;
	color:#561f05;
	margin-right: auto;
}
header h1 span{
	background-color:#f3a69d;
	font-variant:700;
	display:inline-block;
	padding:3px 8px 4px;
	border-radius:2px;
	}
body.agent header h1 span{ background-color:#f3a69d; }
body.munic header h1 span{ background-color:#fdd000; }
body.admin header h1 span{ background-color:#ffe893; }
header .inner{
	display: -webkit-flex;
	display: flex;
	position:relative;
}
.header_btn_area{
	display: flex;
	justify-content: end;
}
/*確認サイトであることの警告
-----------------------------------*/
#chk_warning{
	position:absolute;
	left:410px;
	top: 15px;
	padding:2px 12px 2px 30px;
	border:2px solid #000;
	background-color:#FFEC01;
	background-image:url(../img/icons/exclamation3_b.svg);
	background-repeat:no-repeat;
	background-position:8px center;
	background-size:18px auto;
	font-weight:bold;
	font-size:100%;
	line-height:1.2;
}
/*通知
-----------------------------------*/
#header_notification{
	display:inline-block;
	vertical-align:middle;
	position:relative;
	margin-right:14px;
}
#btn_notification img{ vertical-align:middle; }
#num_notification{
	position:absolute;
	display:inline-block;
	background:#E6001D;
	border-radius:3px;
	color:#FFF;
	font-size:10px;
	font-weight:bold;
	padding:0.4em 0.2em;
	line-height:1;
	top:0;
	left:80%;
	cursor:pointer;
	display:none;
}
#box_notification{
	position:absolute;
	border:solid 2px #12a285;
	background:#E1F1EE;
	padding:10px;
	top:100%;
	right:0;
	width:290px;
	z-index:100;
	display:none;
}
#box_notification .ttl_wrap{
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
#box_notification .box_title{
	font-weight:bold;
	font-size:14px;
}
#btn_read_all_notice{
	font-size:11px;
	display:block;
	margin-left:auto;
	padding:2px 10px 0 0; 
	position:relative;
}
#btn_read_all_notice:before{
	content:"";
	display:inline-block;
	width:5px;
	height:8px;
	border:solid #12a285;
	border-width:0 3px 3px 0;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
	left:-5px;
	top: 0;
	position:relative;
}
#box_notification ul{
	list-style:none;
	font-size:11px;
	margin-left:0;
	margin-top:7px;
	line-height:1.5;
}
#box_notification ul li{
	background:#FFF;
	padding:10px 14px 10px 50px;
	position:relative;
}
#box_notification ul li + li{
	margin-top:4px;
}
/* 1=実績報告、2=申請、3=認定期限 */
#box_notification ul li.notice_type1{
	background-image:url(../img/tmpl/menu_bg_03_of.png);
	background-repeat:no-repeat;
	background-position:15px 13px;
	background-size:22px auto;
}
#box_notification ul li.notice_type2{
	background-image:url(../img/tmpl/menu_bg_02_of.png);
	background-repeat:no-repeat;
	background-position:15px 13px;
	background-size:24px auto;
}
#box_notification ul li.notice_type3{
	background-image:url(../img/icons/calender_green.svg);
	background-repeat:no-repeat;
	background-position:15px 13px;
	background-size:22px auto;
}
#box_notification ul li.unread:before{
	content:"";
	display:block;
	position:absolute;
	width:10px;
	height:10px;
	border-radius:5px;
	background:#FB7785;
	top:45px;
	left:20px;
}
#box_notification ul li .date{
	display:block;
	padding-top:0.6em;
	line-height:1.3;
}
#box_notification .no_notice{
	background: #FFF;
	padding: 10px 14px;
	text-align:center;
}
#box_notification .read_more{
	display:block;
	width:max-content;
	font-size:12px;
	margin:0 auto;
	padding:0.5em 1em 0.2em;
}
#box_notification .read_more img{
	vertical-align:middle;
	margin-right:5px;
}
/*ユーザー表示等
-----------------------------------*/
#header_user{
	display:inline-block;
	vertical-align:middle;
	position:relative;
	padding-top:10px;
	width: fit-content;
}
#btn_user{
	text-decoration:none;
	display:block;
	position:relative;
	padding:2px 10px 0 25px;
	width: fit-content;
}
/*#btn_user:after{
	content:"";
	display:block;
	position:absolute;
	width: 6px;
	height: 6px;
	border: solid #12a285;
	border-width: 0 3px 3px 0;
	right:4px;
	top:8px;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}*/
#btn_user img{ 
	position:absolute;
	left:0;
	top:4px;	
	}
/*#box_user{
	position:absolute;
	background:#2b2b2b;
	color:#fff;
	padding:12px 15px 12px 40px;
	text-decoration:none;
	font-weight:bold;
	font-size:14px;
	right:0;
	top:110%;
	background-image:url(../img/icons/logout_w.svg);
	background-position:12px center;
	background-repeat:no-repeat;
	background-size:20px auto;
	display:none;
	z-index:100;
	width:100px;
}*/

/*ハンバーガーメニュー
-----------------------------------*/
#hamburger_menu {
  width: 50px;
  height: 50px;
  position: relative;
  border: none;
  background: transparent;
  appearance: none;
  padding: 0;
  cursor: pointer;
}
#hamburger_menu span {
  display: inline-block;
  width: 44%;
  height: 2px;
  background: #12a285;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: .5s;
}
#hamburger_menu span:first-child {
  top: 16px;
}
#hamburger_menu span:nth-child(2) {
  top: 24px;
}
#hamburger_menu span:last-child {
  top: 32px;
}
#hamburger_menu.open span {
  top: 50%;
}
#hamburger_menu.open span:first-child {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
#hamburger_menu.open span:last-child {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
#hamburger_menu.open span:nth-child(2) {
  display: none;
}
/*ハンバーガーメニュークリック時に表示されるメニュー*/
#menu_list {
  display: none;
  /*background: #2b2b2b;*/
  background-color: rgb(0 0 0 / 0.85);
  position: absolute;
  top: 62px;
  /*width: 100%;*/
  z-index: 9999;
  
  right:0;
  width:400px;
}
#menu_list ul {
  text-align: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
#menu_list li {
  border-bottom: solid 1px #474747;
}
#menu_list li:first-child {
  border-top: solid 1px #474747;
}
#menu_list li a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  display: block;
  padding: 14px 0;
  transition: .5s;
}
#menu_list li a img{
	width:18px;
	vertical-align:text-top;
	margin-right:8px;
}

/*ナビゲーション
-----------------------------------*/
#global_nav_wrap{
	background:#ffffff;
	position:relative;
	z-index:99;
}
#global_nav{
	display: -webkit-flex;
	display: flex;
	list-style:none;
	border-left:1px solid #dcdcdc;
}
#global_nav > li{
	flex:auto;
	border-right:1px solid #dcdcdc;
	text-align:center;
	width : -webkit-calc(100% / 7) ;
    width : calc(100% / 7) 
}
#global_nav > li > a{
	display:block;
	width:100%;
	text-decoration:none;
	color:#12a285;
	height:80px;
	padding-top:50px;
	font-size:13px;
	font-weight:bold;
	background-color:#ffffff;
	background-position:center top 15px;
	background-repeat:no-repeat;
	background-size:30px auto;
	position:relative;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
#global_nav > li > a:hover,
#global_nav > li.current > a{
	background-color:#65C2B0;
	color:#FFF;
	opacity:1;
}
#global_nav > li:nth-child(1) > a{ background-image:url(../img/admin/menu_bg_01_of.png); }
#global_nav > li:nth-child(2) > a{ background-image:url(../img/admin/menu_bg_02_of.png); }
#global_nav > li:nth-child(3) > a{ background-image:url(../img/admin/menu_bg_03_of.png); background-size:45px; background-position:center 13px; }
#global_nav > li:nth-child(4) > a{ background-image:url(../img/admin/menu_bg_04_of.png); }
#global_nav > li:nth-child(5) > a{ background-image:url(../img/admin/menu_bg_05_of.png); }

#global_nav > li:nth-child(1) > a:hover,
#global_nav > li:nth-child(1).current > a{ background-image:url(../img/admin/menu_bg_01_on.png); }
#global_nav > li:nth-child(2) > a:hover,
#global_nav > li:nth-child(2).current > a{ background-image:url(../img/admin/menu_bg_02_on.png); }
#global_nav > li:nth-child(3) > a:hover,
#global_nav > li:nth-child(3).current > a{ background-image:url(../img/admin/menu_bg_03_on.png); }
#global_nav > li:nth-child(4) > a:hover,
#global_nav > li:nth-child(4).current > a{ background-image:url(../img/admin/menu_bg_04_on.png); }
#global_nav > li:nth-child(5) > a:hover,
#global_nav > li:nth-child(5).current > a{ background-image:url(../img/admin/menu_bg_05_on.png); }

body.assoc #global_nav > li:nth-child(3) > a{ background-image:url(../img/tmpl/menu_bg_04_of.png);  }
body.assoc #global_nav > li:nth-child(3) > a:hover,
body.assoc #global_nav > li:nth-child(3).current > a{ background-image:url(../img/tmpl/menu_bg_04_on.png); }


#global_nav li.parent span{
	padding-right:20px;
	position:relative;
}
#global_nav li.parent span:before{
	content:"";
	display:block;
	position:absolute;
	width: 6px;
	height: 6px;
	border: solid #12a285;
	border-width: 0 3px 3px 0;
	right:4px;
	top:4px;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
#global_nav li.parent a:hover span:before,
#global_nav li.parent.current a span:before{
	border: solid #fff;
	border-width: 0 3px 3px 0;
}
#global_nav li span.nav_notes{
	position:absolute;
	font-size:9px;
	color:#FFF;
	background:#E6001D;
	border-radius:3px;
	display:block;
	width:50px;
	line-height:1.2;
	padding:0.2em;
	right:5px;
	top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}
#global_nav li .nav_notes:before{
	content:none !important;
}
#global_nav .child_nav {
	position:absolute;
	z-index:99;
	width:1150px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	font-size:15px;
	top:106%;
	top:100%;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display:none;
}
#global_nav .child_nav ul {
	list-style:none;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap:wrap;　
	flex-wrap:wrap;
	background: rgba(255,255,255, 0.9);
	padding:30px 50px 20px;
	border:3px solid #12a285;
	margin-top:5px;
	margin-left:0;
}
#global_nav .child_nav ul li{
	width : -webkit-calc(-webkit-calc(100% - 40px) / 3);
  	width : calc(calc(100% - 40px) / 3);
	margin-right:20px;
	margin-bottom:20px;
	text-align:left;
}
#global_nav .child_nav ul li:nth-child(3n){
	margin-right:0;
}
#global_nav .child_nav a{
	text-decoration:none;
	display:block;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	height:100%;			
	padding:0.7em 2em 0.7em 0.5em;
	display: -webkit-flex;
    display: flex;
	-webkit-align-items: center;
    align-items: center;
	line-height:1.4;
	border-bottom:1px solid #12a285;
	position:relative;
	
}
#global_nav .child_nav a:after{
	content:"";
	display:block;
	position:absolute;
	width: 6px;
	height: 6px;
	border: solid #12a285;
	border-width: 3px 3px 0 0;
	right:8px;
	top:40%;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*子メニューが表示された時の矢印*/
#global_nav > li.open > a:after{
	content:"";
	display:block;
	position:absolute;
	width:0;
	height:0;
	border: 10px solid transparent;
	border-bottom: 10px solid #12a285;
	bottom:-5px;    
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	
}
/***********************************************************/
/*フッター*/
/***********************************************************/
footer{
	background:#E2DCD0;
	text-align:center;
	height:66px;
	padding-top:38px;
	line-height:1.2;
}
footer small{
	font-size:12px;
}
/***********************************************************/
/*見出し*/
/***********************************************************/
h2.contents_title{ font-size:30px; font-weight:bold; line-height:1.3; margin-bottom:0.7em;}
h2.contents_title img { margin-right:10px; vertical-align:middle; }

/*■＋太字*/
h3 { 
	font-size:120%; 
	font-weight:bold;
	position: relative;
	padding-bottom: 5px;
}

/* 見出し　大*/
.title_l{
	font-size:24px; 
	font-weight:bold; 
	line-height:1.3; 
	margin:1.2em 0 0.4em;
}
.title_l.first{
	margin-top:0;
}
.title_l img{
	margin-right:8px;
	vertical-align:-15%;
}

/*太字のタイトル　主に入力画面のテーブル上部に使用*/
.tbl_title{
	font-weight:bold;
	font-size:1.8rem;
	padding-bottom:0.3em;
	padding-left:0;
}
.tbl_title::before{
	content:none;
}

/*ボーダー付きのタイトル*/
.bd_title{
	padding: 0 0.2em .4em 0.2em;
	border-bottom: 4px solid #2b2b2b;
	font-size:22px;
	line-height:1.4;
	margin-bottom:1em;
	position:relative;	
}
.bd_title:before{
	content: "";
	display:block;
	position: absolute;
	top:auto;
	bottom: -4px;
	left: 0;
	content: '';
	width: 20%;
	height: 4px;
	background-color: #12a285;
}
* + .tbl_title{
	padding-top:1.0em;
}
.tbl_title.first{
	padding-top:0;
}
.tbl_title span.hissu{
	vertical-align:20%;
	margin-left:10px;
	font-weight:normal;
}
.bd_title span.hissu,.bd_title span.ninni{
	vertical-align:20%;
	margin-right:10px;
	font-weight:bold;
	font-size:1.3rem;
	padding:4px 6px 5px;
}
/*見出し右側にボタンを配置*/
.bd_title .ttl_btn{
	position:absolute;
	top:0;
	right:0px;
}
.bd_title:has(.ttl_btn) {
	padding-top:5px;
}
/*.bd_title .ttl_btn .list_button{
	margin-left:5px;
}*/
/***********************************************************/
/*その他レイアウト*/
/***********************************************************/
#main{
	padding:50px 0;
}
#wrapper{
	background:#F7F6F2;
}
#pankuzu{
	border-bottom:1px solid #d9d9d7;
	font-size:13px;
	padding:7px 0 5px;
}
/*トップページはパンくずと大見出しが非表示、受講者サイトは全ページパンくず非表示*/
body#index #pankuzu,
body.student #pankuzu,
body#index h2.contents_title{
	display:none;
}
/*受講者サイトのトップページは大見出しを表示*/
body.student#index h2.contents_title{
	display:block;
}
.contents_wrapper{
	padding:30px 0;
	position:relative;
}
.bg_content{
	padding:30px;
	background:#FFF;
}
.bg_content.pd_l{
	padding:50px 40px;
}
.bg_content + .bg_content{
	margin-top:15px;
}
/*table{
    border-collapse: collapse; 
    border-spacing:0;
}*/
caption, th{
    text-align: left;
}

p{ line-height:1.5; }

span.hissu,span.pub,span.new,span.ninni{
	display:inline-block;
	color:#fff;
	padding:4px 6px;
	line-height:1;
	font-size:1.2rem;
	letter-spacing: .15em;
	border-radius:3px;
	vertical-align:top;
	font-weight:normal;
}
span.hissu{background:#FF9000;}
span.pub{background:#12a285;}
span.new{background:#CF5D5D;}
span.ninni{background: #dedede; color:#666;}

#abs_result {
	width:400px;
	font-size:14px;
	background-color:#E1F1EE;
	border:2px solid #73C7B7;
	/*position:absolute;*/
	position:fixed;
	top:92px;
	right:5px;
	margin:0;
	padding:10px 10px 10px 35px;
	font-weight:bold;
	text-indent:-1.2em;
	z-index:100;
}
#abs_result:before{
	content:"";
	display:inline-block;
	margin-right:10px;
	width: 5px;
	height: 8px;
	border: solid #15A186;
	border-width: 0 3px 3px 0;
	right:12px;
	top:12px;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
/*ログイン
-------------------------------------*/
.login_box{
	width:350px;
	margin:40px auto 50px;
}
.login_box p{
	font-size:17px;
	font-weight:bold;
	margin-bottom:0.2em;
	margin-top:10px;
}
.login_box input[type="text"], 
.login_box input[type="password"],
.login_box button{
	width:100%;
	margin:0;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.login_box .buttons{
	display:block;
	padding-top:30px;
}
.login_box .buttons button{
	margin:0;
}
/*.login_box .box_inner01{
	text-align:center;
}*/
.login_box input[type=checkbox]{
	display:inline;
}
/*.login_box .box_inner02{
	padding-top:10px;
	text-align:center;
}
.login_box .box_inner02 img{
	vertical-align:middle;
}
.col2_wrap{
	display: -webkit-flex;
	display: flex;
}
.list_logintxt{
	line-height:1.4;
	width:48%;
	margin:0 auto;
}

.list_logintxt dt{
	font-weight:bold;
	margin-top:15px;
}
.list_logintxt dd{
	margin-top:5px;
	padding-left:2em;
	text-indent:-0.5em;
}
.list_logintxt dd +dd{
}*/
/*フレックスボックスレイアウト
-------------------------------------*/
.box_flex{
	display: -webkit-flex;
	display: flex;
}
/*フレックスアイテム伸び縮みする*/
.item_flex_auto{
	-webkit-box-flex:auto;
	-ms-flex:auto;
	flex:auto;
}
/*フレックスアイテム伸び縮みしない*/
.item_flex_none{
	-webkit-box-flex:none;
	-ms-flex:none;
	flex:none;
}

/*2列 */
.box_flex.jc-sb{
	justify-content: space-between;
}
.box_flex.jc-sb .item_flex_none.w-48{
	width:48%;
}
.box_flex.jc-sb .item_flex_none.w-36{
	width:36%;
}
.box_flex.jc-sb .item_flex_none.w-60{
	width:60%;
}
/*各ページの注意書き（アイコン付き）
-------------------------------------*/
.page_notes{
	padding-left:35px;
	background-image: url(../img/icons/danger_orange.svg);
	background-position:left top 5px;
	background-repeat:no-repeat;
	background-size:28px auto;
	
}
.page_notes p{
	font-size:12px;
	color:#666;
}
/*各ページの注意書き（アイコンなし）
-------------------------------------*/
.notes{
	font-size:12px;
	color:#666;
}
/* Google MAPから位置を指定
-------------------------------------*/
#modal_content {
    height: 600px;
    position: relative;
    width: 900px;
}
#modal_gmap {
    height: 600px;
    left: 0;
    position: absolute;
    top: 0;
    width: 670px;
}
#modal_list {
    height: 580px;
    left: 677px;
    line-height: 1.15em;
    overflow-y: scroll;
    padding: 5px 8px 5px 0;
    position: absolute;
    top: 3px;
    width: 215px;
}
#modal_list ul {
    font-size: 13px;
    list-style: inside none disc;
    margin-bottom: 5px;
}
#modal_list li {
    clear: both;
    margin-top: 2px;
    padding-left: 7px;
}
#modal_list li img {
    cursor: pointer;
    float: right;
}
#modal_list input[type="submit"]{
	padding:5px 10px;
}
/*HOME
-------------------------------------*/
/*.top_content_2col{
	display: -webkit-flex;
	display: flex;
}
.top_cont_dl{
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap:wrap;　
	flex-wrap:wrap;
	list-style:none;
	border-top:1px solid #bfbfbf;
	margin:10px 0 20px;
}
.top_cont_dl dt,
.top_cont_dl dd{ 
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
	border-bottom:1px solid #bfbfbf;
}
.top_cont_dl dt{ 
	padding:10px 6px;
	width:115px;
}
.top_cont_dl dd.dd_icon{
	width:50px;
	padding-top:8px;
}
.top_cont_dl dd.dd_text{
	width : -webkit-calc(100% - 165px) ;
  	width : calc(100% - 165px);
}
.top_cont_dl dd a {
	display:block;
	padding:10px 6px;
	text-decoration:none;
}
.top_cont_dl .new{
	vertical-align:middle;
	margin-right:5px;
}*/
/*v通信*/
/*#vinfo{
	width:375px;
	margin-right:25px;
}*/
/*今月のお題*/
/*#m_theme{
	width : -webkit-calc(100% - 400px) ;
  	width : calc(100% - 400px);
}
.m_theme_txt{
	font-size:19px;
	font-weight:bold;
	line-height:1.3;
}
.m_theme_txt + p{
	margin-top:1em;
}*/
/*v通信等のリスト*/
/*.top_cont_ul{
	list-style:none;
	border-top:1px solid #bfbfbf;
	margin:10px 0 20px;
}
.top_cont_ul li{
	border-bottom:1px solid #bfbfbf;
}
.top_cont_ul li a{
	display:block;
	text-decoration:none;
	padding:10px 6px;
}
.top_cont_ul span.new{
	margin-left:10px;
	vertical-align:middle;
}*/
/*枠外のテキスト*/
.top_notes{
	padding:40px 20px;
	color:#666;
}
.top_notes a{
	color:#666;
}
/*お役立ちリンク*/
/*.helpful_link{
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.helpful_link .helpful_link_inner{
	width:48%;
}*/
/*管理者サイト等のショートカットボタン*/
.home_shortcut_btn{
	margin:0;
	list-style:none;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap:wrap;　
	flex-wrap:wrap;
}
.home_shortcut_btn li{
	width : -webkit-calc(-webkit-calc(100% - 30px) / 3);
  	width : calc(calc(100% - 30px) / 3);
	margin-right:15px;
	margin-bottom:15px;
	border:2px solid #12a285;
	border-radius: 4px;
	background-color: #E1F1EE;
	padding:12px 12px 62px;
	position:relative;
	text-align:center;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.home_shortcut_btn li:nth-child(3n){
	margin-right:0;
}
.home_shortcut_btn li h3{
	line-height:1.3;
	padding:0;
	margin-bottom:0.4em;
	text-align:left;
}
.home_shortcut_btn li p{
	font-size:13px;
	line-height:1.3;
}
.home_shortcut_btn .list_button{
	padding:5px 20px;
	position:absolute;
	width : -webkit-calc(100% - 24px) ;
  	width : calc(100% - 24px);
	left:12px;
	bottom:12px;
}
/*ショートカットボタン 色変更*/
.home_shortcut_btn li.color2{
	border:2px solid #A67655;
	background-color: #F5EBE0;
}
.home_shortcut_btn li.color2 .list_button{
	background-color:#A67655;
	border-color:#A67655;
}
/*対応が必要な処理リスト*/
.notification_list{
	margin:0;
}
.notification_list li{
	font-size:17px;
	padding-left:1.6em;
	background:url(../img/icons/danger_orange.svg) left 0.2em no-repeat;
	background-size:1.2em auto;
	list-style: none;
}
.notification_list li.li_item{
	font-size:15px;
	padding-left:2em;
	background:none;
}
.notification_list li.li_item:before{
	content:"・";
	display:inline-block;
}
.notification_list li .a_item{
	font-size:16px;
	background:none;
	display:block;
}
.notification_list li .a_item:before{
	content:"・";
	display:inline-block;
}
/*.notification_list li + li{
	margin-top:0.5em;
}*/
/*お知らせ*/
.news_list{
	margin:0;
	border-top:solid 1px #c1c1c1;
}
.news_list li{
	list-style: none;
	border-bottom:solid 1px #c1c1c1;
	padding:10px;
}
.news_list .news_list_title{
	font-weight:700;
	font-size:16px;
	margin-top:0.2em;
}
.news_list .news_list_date{
	font-size:14px;
}
.news_list p:not(.news_list_title):not(.news_list_date){
	margin-top:0.5em;
}
/*受講者サイトのHOME--------------*/
/*.col2_wrap.cont_01 {
	margin:2em 0 3em;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.col2_wrap.cont_01 .lead_txt{
	flex:auto;
}
.col2_wrap.cont_01 .lead_txt p{
	font-size:110%;
	line-height:1.8;
}*/
/*全体進捗-----*/
/*.progress_box_c{
	border:2px solid #89D0C2;
	background-color:#FFF;
	border-radius:8px;
	padding:15px 20px;
	flex:0 0 260px;
	margin-left:20px;
}
.progress_box_c p.progress_box_title{
	font-weight:bold;
	text-align:center;
	padding-bottom:0.5em;
	font-size:17px;
	color:#12A285;
}
.progress_box_c #progress_all{
	width: 100px;
	height: 100px;
 	position: relative;
	margin:0 auto;
}
.progress_box_c .progress_txt{
	line-height:1.6;
}
.progress_box_c .progress_txt .txt_end{
	color:#12A285;
	text-align:center;
	font-size:17px;
}
.progress_box_c .progress_txt .txt_end span{
	font-size:32px;
}*/
/*アンケート・ダウンロードボタン*/
/*.progress_box_c .progress_txt .b_qu,
.progress_box_c .progress_txt .b_dl{
	margin-top:15px;
	display:block;
	padding-top:10px;
	font-size:17px;
	background-repeat: no-repeat;
	background-position:center bottom 10px;
}
.progress_box_c .progress_txt .b_qu{ 
	background-image:url(../img/icons/edit_w.svg);
	background-size:30px auto;
	padding-bottom:45px;
}
.progress_box_c .progress_txt .b_dl{ 
	background-image:url(../img/icons/download_w.svg); 
	background-size:40px auto;
	padding-bottom:55px;
	width:100%;
}*/
/*テーマごとの進捗---*/
/*タイトル*/
/*.video_theme{
	font-size:20px;
	font-weight:bold;
	margin-bottom:10px;
	position:relative;
	padding:0.2em 0 0.2em 0;
	line-height:1.4;
}
.video_theme .theme_num{
	color:#FFF;
	background-color:#12A285;
	position:relative;
	left:0;
	top:0;
	padding:0.2em 1.5em 0.2em 0.8em;
	display:inline-block;
	margin-right:5px;
}
.video_theme .theme_num:after{
	content:"";
	position:absolute;
	display:block;
	right:0;
	top:0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 18px 10px 18px 0;
	border-color: transparent #F7F6F2 transparent transparent;
}*/
/*progressbar*/
/*.progress_box_b{
	background-color:#E1F1EE;
	padding:12px 10px;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin:2em 0 0;
	box-sizing: border-box;
}
.progress_box_b .progress_b{
	width: 400px;
	flex:none;
	height: 20px;
	position: relative;
	margin:0 25px 0 15px;
	box-sizing: border-box;
	background-color:#fff;
	border:1px solid #C1E4DD;
}
.progress_box_b .progress_box_title{
	font-weight:bold;
	font-size:16px;
	box-sizing: border-box;
	flex:0 0 160px;
	text-align:center;
}
.progress_box_b .progress_box_status{
	padding:0.3em 1em;
	color:#12a285;
	background-color:#fff;
	flex:0 0 150px;
	box-sizing: border-box;
	text-align:center;
	border-radius:4px;
	font-weight:bold;
}
.progress_box_b .progress_box_status.completion{
	background-color:#12a285;
	color:#fff;
	background-image:url(../img/student/pro_status_com.png);
	background-repeat:no-repeat;
	background-position:5px center;
	background-size:26px auto;
}
.video_theme_box + .video_theme_box {
	margin-top:20px;
}*/
/*動画のリスト---*/
/*.video_theme_box .list_video{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap:wrap;　
	flex-wrap:wrap;
	box-sizing: border-box;
}
.video_theme_box .list_video dt:nth-of-type(even), 
.video_theme_box .list_video dd:nth-of-type(even){
	background-color:#F6F8F5;
}
.video_theme_box .list_video dt{
	flex:0 0 240px;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	box-sizing: border-box;
}
.video_theme_box .list_video dt .icon_video{
	flex:0 0 130px;
	height:100%;
	background-image:url(../img/student/video.png);
	background-repeat:no-repeat;
	background-position: center;
	background-size:auto 36px;
	box-sizing: border-box;
}
.video_theme_box .list_video dt .video_status{
	flex:0 0 110px;
	padding:0 5px;
	box-sizing: border-box;
	font-size:16px;
}
.video_theme_box .list_video dt.completion .icon_video{
	background-image:url(../img/student/video_com.png);
}
.video_theme_box .list_video dt.completion .video_status{
	color:#12a285;
}
.video_theme_box .list_video dd{
	flex:auto;
	width : -webkit-calc(100% - 240px) ;
  	width : calc(100% - 240px);
	box-sizing: border-box;
	font-size:16px;
}
.video_theme_box .list_video dd a{
	display:block;
	padding:15px 30px 15px 5px;
	position:relative;
}
.video_theme_box .list_video dd a:after{
	content:"";
	display:block;
	position:absolute;
	width: 10px;
	height: 10px;
	border: solid #12a285;
	border-width: 2px 2px 0 0;
	right:15px;
	top:50%;
	-webkit-transform:translateY(-50%)  rotate(45deg);
    -ms-transform:translateY(-50%)  rotate(45deg);
    transform:translateY(-50%)  rotate(45deg);
}
.video_theme_box .list_video dd span{
	display:block;
	padding:15px 30px 15px 5px;
	color:#CCC;
}*/

/* 登録変更　申請　目次
-------------------------------------*/
.tbl_info th{
	font-weight:bold;
}
.tbl_info th,.tbl_info td{
	padding: 4px;
	line-height: 1.5;
}
/*コメント履歴*/
body#plan_edit .comment_box,
body#plan_expurpose .comment_box{
	padding:10px;
	background-color:rgb(246, 248, 245);
}
.comment_box h2{
	text-align:center;
	font-weight:bold;
	font-size:16px;
}

body#plan_edit .comment_box_inner,
body#plan_expurpose .comment_box_inner{
	height:100px;
	overflow-y: scroll;
	overflow-y: auto;
	margin-bottom:5px;
}
body#apply_eval .comment_box_inner,body#apply_eval_2 .comment_box_inner{
	border-top:solid 1px #999;
}
.commnet_box_item {
	display:flex;
	flex-wrap:wrap;
	border-bottom:solid 1px #999;
	padding:10px 5px;
	line-height:1.3;
	align-items: center;
}
.commnet_item_01,.commnet_item_02,.commnet_item_03{
	margin-bottom:4px;
	flex:none;
}
.commnet_item_01 span{
	display:block;
	border:2px solid rgb(155, 0, 0);
	color:rgb(155, 0, 0);
	padding:1px 3px;
	font-size:1.4rem;
	
}
.commnet_item_02 {
	margin-left:10px;
	font-weight:bold;
	font-size:1.6rem;
	max-width: 310px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.commnet_item_02 img{
	margin-right:4px;
	width:15px; 
	vertical-align:-8%;
}
.commnet_item_03 {
	margin-left:10px;
	color:#4b4b4b;
	font-size:1.4rem;
}
.commnet_item_03 img{
	margin-right:4px;
	width:15px; 
	vertical-align:-8%;
}
.commnet_item_04 {
	flex:none;
	width:100%;
}

/*下部のボタン*/
.comment_box .comment_input{
	border: 1px solid #C0C0C0;
  	border-radius: 4px;
	background-color:#FFF;
	display: flex;
}
.comment_box input[type="text"],
.comment_box textarea{
	border:none;
	padding-right:0;
	width : -webkit-calc(100% - 50px) ;
  	width : calc(100% - 50px);
	display:inline-block;
}
.comment_box input[type="text"]:focus,
.comment_box textarea:focus{
	border:none;
	box-shadow: none;
}
.comment_box .btn_cm{
	display:inline-block;
	width:38px;
	/*height:34px;*/
	padding:0 8px 0 0;
	vertical-align:top;
	cursor:pointer;
}
.comment_box .comment_box_note{
	font-size:11px;
	color:#999;
	padding-top:0.4em;
	margin:0 0 -3px;
	line-height:1.1;
}
.error_txt{
	font-weight:bold;
	text-align:center;
	color:rgb(155, 0, 0);
	font-size:18px;
}
/* 住宅転記
-------------------------------------*/
.frame_01_wrap{
	text-align:center;
}
.frame_01{
	font-size:1.7rem;
	margin:15px auto 4px;
	border: 2px solid #73C7B7;
	background-color: #E1F1EE;
	padding:15px 60px;
	width:fit-content;
	display:inline-block;
}

/*申請TOP
-------------------------------------*/
.list_apply_top{
	margin: 10px 0;
	display: -webkit-flex;
	display: flex;
	list-style:none;
}
.list_apply_top li{
	width : -webkit-calc(-webkit-calc(100% - 30px) / 3);
  	width : calc(calc(100% - 30px) / 3);
	margin-right:15px;
	margin-bottom:15px;
	background-color:#F8F8F8;
	border-radius: 4px;
	overflow: hidden;
	position:relative;
	padding-bottom:60px;
	border:2px solid #12a285;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.list_apply_top li:nth-child(3n){
	margin-right:0;
}
.list_apply_top .list_button{
	padding:8px 30px;
	position:absolute;
	width : -webkit-calc(100% - 40px) ;
  	width : calc(100% - 40px);
	left:20px;
	bottom:20px;
	
}
/*バックアップサーバー運用時の掲載文*/
.server_notice{
	width : -webkit-calc(100% - 70px) ;
  	width : calc(100% - 70px);
	color:#9B0000;
	font-size:13px;
	line-height:1.4;
	margin-left:20px;
	margin-bottom:-40px;
	padding-left:30px;
	background-image:url(../img/icons/exclamation2_r.svg);
	background-position:left top;
	background-repeat:no-repeat;
	background-size:20px auto;
	
}
/*タイトル*/
.list_apply_top .page_title{
	padding:15px;
	padding-bottom:44px;
	font-weight:bold;
	font-size:24px;
	background-color:#12a285;
	background-color:#E1F1EE;
	text-align:center;
	line-height:60px;
	height:60px;
	position:relative;
}
.list_apply_top li:nth-child(3) .page_title{
	line-height:1.4;
}
.list_apply_top .page_title span{
	display:block;
	font-size:18px;
}
/*必須アイコン*/
.list_apply_top .page_title:after{
	content:"必須入力";
	display:block;
	position:absolute;
	padding:0.5em;
	background-color:#FF9000;
	color:#FFF;
	bottom:10px;
	left:50%;
  	transform: translateX(-50%);
  	-webkit- transform: translateX(-50%);
    font-size:14px;
    font-weight:normal;
	line-height:1.2;
	border-radius:3px;
}
/*ステータス表示部*/
.list_apply_top .list_inner{
	padding:20px;
	text-align:center;
	font-size:20px;
	font-weight:bold;
}
.list_apply_top .list_inner .icon_status{
	width:30px;
	height:30px;
	border-radius:15px;
	display:inline-block;
	vertical-align:-25%;
	margin-right:8px;
	background-position:center center;
	background-repeat:no-repeat;
	
}
/* 入力済 */
.list_apply_top .list_inner .status2 .icon_status { 
	background-color:#12a285; 
	background-image:url(../img/icons/check_w.svg); 
	background-size:20px auto;
}
/* 仮保存 */
.list_apply_top .list_inner .status1 .icon_status { 
	background-color:#4CB0DD; 
	background-image:url(../img/icons/pause_w.svg); 
	background-size:14px auto
}
/* 未入力 */
.list_apply_top .list_inner .status0 .icon_status { 
	background-color:#9B0000; 
	background-image:url(../img/icons/exclamation_w.svg); 
	background-size:20px auto;
}
.list_apply_top .list_inner .status2{ color:#12a285; }
.list_apply_top .list_inner .status1{ color:#4CB0DD; }
.list_apply_top .list_inner .status0{ color:#9B0000; }
.list_apply_top .list_inner .txt_small{
	font-size:13px;
	font-weight:normal;
	color:#2b2b2b;
}
.list_apply_top .list_inner .txt_small span{
	color:#9B0000;
	font-weight:bold;
	font-size:15px;
	padding:0 0.2em;
}

/*注意書き*/
.apply_index_notice{
	margin:0 auto;
	width:max-content;
	padding-left:50px;
	color:#9B0000;
	background-image:url(../img/icons/exclamation2_b.svg);
	background-position:left center;
	background-repeat:no-repeat;
	background-size:40px auto;
	line-height:1.4;
}

/* 入力画面でのボタン脇 入力ミス注意書き　*/
#btnMessageBox{
	display:none;
	height:36px;
	margin:15px auto 0;
	width:max-content;
	padding-left:40px;
	color:#9B0000;
	background-image:url(../img/icons/exclamation2_r.svg);
	background-position:left center;
	background-repeat:no-repeat;
	background-size:30px auto;
	line-height:36px;
}

/*保存中のアイコン*/
.saving{
	display:none;
	color:#12a285;
	font-size:15px;
}
.saving img{
	width:20px;
	vertical-align:-16%;
	animation: rotate-anime 1.5s linear infinite;
	margin-right:4px;
}
@keyframes rotate-anime {
  0%  {transform: rotate(0);}
  100%  {transform: rotate(-360deg);}
}

/* 申請画面のステータスバー */
/*https://codyhouse.co/gem/css-breadcrumbs-and-multi-step-indicator*/

/* -------------------------------- 

Basic Style

-------------------------------- */
.cd-breadcrumb, .cd-multi-steps {
  width: 90%;
  max-width: 768px;
  padding: 0.5em 1em;
  margin: 0 auto 1em;
  background-color: #edeff0;
  border-radius: .25em;
}
.cd-breadcrumb:after, .cd-multi-steps:after {
  content: "";
  display: table;
  clear: both;
}
.cd-breadcrumb li, .cd-multi-steps li {
  display: inline-block;
  float: left;
  margin: 0.5em 0;
}
.cd-breadcrumb li::after, .cd-multi-steps li::after {
  /* this is the separator between items */
  display: inline-block;
  content: '\00bb';
  margin: 0 .6em;
  color: #959fa5;
}
.cd-breadcrumb li:last-of-type::after, .cd-multi-steps li:last-of-type::after {
  /* hide separator after the last item */
  display: none;
}
.cd-breadcrumb li > *, .cd-multi-steps li > * {
  /* single step */
  display: inline-block;
  font-size: 15px;
  font-style:normal;
  color: #2c3f4c;
}
.cd-breadcrumb li.current > *, .cd-multi-steps li.current > * {
  /* selected step */
  color: #96c03d;
}
.no-touch .cd-breadcrumb a:hover, .no-touch .cd-multi-steps a:hover {
  /* steps already visited */
  color: #96c03d;
}
.cd-breadcrumb.custom-separator li::after, .cd-multi-steps.custom-separator li::after {
  /* replace the default arrow separator with a custom icon */
  content: '';
  height: 16px;
  width: 16px;
  background: url(../img/cd-custom-separator.svg) no-repeat center center;
  vertical-align: middle;
}
.cd-breadcrumb.custom-icons li > *::before, .cd-multi-steps.custom-icons li > *::before {
  /* add a custom icon before each item */
  content: '';
  display: inline-block;
  height: 20px;
  width: 20px;
  margin-right: .4em;
  margin-top: -2px;
  background: url(../img/cd-custom-icons-01.svg) no-repeat 0 0;
  vertical-align: middle;
}
.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(2) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(2) > *::before {
  /* change custom icon using image sprites */
  background-position: -20px 0;
}
.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(3) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(3) > *::before {
  background-position: -40px 0;
}
.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(4) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(4) > *::before {
  background-position: -60px 0;
}
.cd-breadcrumb.custom-icons li.current:first-of-type > *::before, .cd-multi-steps.custom-icons li.current:first-of-type > *::before {
  /* change custom icon for the current item */
  background-position: 0 -20px;
}
.cd-breadcrumb.custom-icons li.current:nth-of-type(2) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(2) > *::before {
  background-position: -20px -20px;
}
.cd-breadcrumb.custom-icons li.current:nth-of-type(3) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(3) > *::before {
  background-position: -40px -20px;
}
.cd-breadcrumb.custom-icons li.current:nth-of-type(4) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(4) > *::before {
  background-position: -60px -20px;
}

/* -------------------------------- 

Multi steps indicator 

-------------------------------- */

  .cd-multi-steps {
    /* reset style */
    background-color: transparent;
    padding: 0;
    text-align: center;
  }

  .cd-multi-steps li {
    position: relative;
    float: none;
    margin: 0.4em 40px 0.4em 0;
  }
  .cd-multi-steps li:last-of-type {
    margin-right: 0;
  }
  .cd-multi-steps li::after {
    /* this is the line connecting 2 adjacent items */
    position: absolute;
    content: '';
    height: 4px;
    background: #edeff0;
    /* reset style */
    margin: 0;
  }
  .cd-multi-steps li.visited::after {
    background-color: #12a285;
  }
  .cd-multi-steps li > *, .cd-multi-steps li.current > * {
    position: relative;
    color: #2c3f4c;
  }

  .cd-multi-steps.custom-separator li::after {
    /* reset style */
    height: 4px;
    background: #edeff0;
  }

  .cd-multi-steps.text-center li::after {
    width: 100%;
    top: 50%;
    left: 100%;
    -webkit-transform: translateY(-50%) translateX(-1px);
    -moz-transform: translateY(-50%) translateX(-1px);
    -ms-transform: translateY(-50%) translateX(-1px);
    -o-transform: translateY(-50%) translateX(-1px);
    transform: translateY(-50%) translateX(-1px);
  }
  .cd-multi-steps.text-center li > * {
    z-index: 1;
    padding: .6em 1em;
    border-radius: .25em;
    background-color: #edeff0;
  }
  .no-touch .cd-multi-steps.text-center a:hover {
    background-color: #2c3f4c;
  }
  .cd-multi-steps.text-center li.current > *, .cd-multi-steps.text-center li.visited > * {
    color: #ffffff;
    background-color: #96c03d;
  }
  .cd-multi-steps.text-center.custom-icons li.visited a::before {
    /* change the custom icon for the visited item - check icon */
    background-position: 0 -60px;
  }

  .cd-multi-steps.text-top li, .cd-multi-steps.text-bottom li {
    width: 150px;
    text-align: center;
  }
  .cd-multi-steps.text-top li::after, .cd-multi-steps.text-bottom li::after {
    /* this is the line connecting 2 adjacent items */
    position: absolute;
    left: 50%;
    /* 40px is the <li> right margin value */
    width: calc(100% + 40px);
  }
  .cd-multi-steps.text-top li > *::before, .cd-multi-steps.text-bottom li > *::before {
    /* this is the spot indicator */
    content: '';
    position: absolute;
    z-index: 1;
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 12px;
    width: 12px;
    border-radius: 50%;
    background-color: #edeff0;
  }
  .cd-multi-steps.text-top li.visited > *::before,
  .cd-multi-steps.text-top li.current > *::before, .cd-multi-steps.text-bottom li.visited > *::before,
  .cd-multi-steps.text-bottom li.current > *::before {
    background-color: #12a285;
  }
  .no-touch .cd-multi-steps.text-top a:hover, .no-touch .cd-multi-steps.text-bottom a:hover {
    color: #96c03d;
  }
  .no-touch .cd-multi-steps.text-top a:hover::before, .no-touch .cd-multi-steps.text-bottom a:hover::before {
    box-shadow: 0 0 0 3px rgba(150, 192, 61, 0.3);
  }

  .cd-multi-steps.text-top li::after {
    /* this is the line connecting 2 adjacent items */
    bottom: 4px;
  }
  .cd-multi-steps.text-top li > * {
    padding-bottom: 20px;
  }
  .cd-multi-steps.text-top li > *::before {
    /* this is the spot indicator */
    bottom: 0;
  }

  .cd-multi-steps.text-bottom li::after {
    /* this is the line connecting 2 adjacent items */
    top: 3px;
  }
  .cd-multi-steps.text-bottom li > * {
    padding-top: 20px;
  }
  .cd-multi-steps.text-bottom li > *::before {
    /* this is the spot indicator */
    top: 0;
  }

/* -------------------------------- 

Add a counter to the multi-steps indicator 

-------------------------------- */
.cd-multi-steps.count li {
  counter-increment: steps;
}

.cd-multi-steps.count li > *::before {
  content: counter(steps) " - ";
}


  .cd-multi-steps.text-top.count li > *::before,
  .cd-multi-steps.text-bottom.count li > *::before {
    /* this is the spot indicator */
    content: counter(steps);
    height: 40px;
    width: 40px;
    line-height: 40px;
    font-size: 1.6rem;
    color: #ffffff;
	font-weight:bold;
  }

  .cd-multi-steps.text-top.count li:not(.current) em::before,
  .cd-multi-steps.text-bottom.count li:not(.current) em::before {
    /* steps not visited yet - counter color */
    color: #2c3f4c;
	color:#666;
  }
  .cd-multi-steps.text-bottom.count li.visited em::before {
    /* steps not visited yet - counter color */
    color: #fff;
  }

  .cd-multi-steps.text-top.count li::after {
    bottom: 11px;
  }

  .cd-multi-steps.text-top.count li > * {
    padding-bottom: 34px;
  }

  .cd-multi-steps.text-bottom.count li::after {
    top: 17px;
  }

  .cd-multi-steps.text-bottom.count li > * {
    padding-top:42px;
	color:#CCC;
  }

  .cd-multi-steps.text-bottom.count li.current > *,.cd-multi-steps.text-bottom.count li.visited > * {
	color:#12a285;
  }
  
 


/*よくある質問
-------------------------------------*/
.faq_acd{
	border-bottom:1px solid #bfbfbf;
}
.faq_acd dt { 
	display:block;
	cursor:pointer;
	border-top:1px solid #bfbfbf;
	padding:15px 60px 15px 45px;
	font-weight:bold;
	position:relative;
}
.faq_acd dt:before,
.faq_acd dt:after{
	content:"";
	position:absolute;
  	top: 50%;
  	right:20px;
  	display: inline-block;
  	width: 15px;
  	height: 2px;
	background-color:#666;
  	transform: translateY(-50%);
	-webkit- transform: translateX(-50%);
}
.faq_acd dt:after{
  	width: 2px;
  	height: 15px;
  	right:27px;
}
.faq_acd dt.op_dd:after{
	content:none;
}
.faq_acd dd { 
	display:none;
	padding:15px 20px 15px 70px;
	background:#F4F4F4;
	position:relative;
	
}
.cap_letter{
	color:#FFF;
	font-weight:bold;
	font-size:18px;
	display:inline-block;
	width:28px;
	height:28px;
	border-radius:14px;
	text-align:center;
	position:absolute;
	
}
.faq_acd dt .cap_letter{ 
	background:#12a285;
	left:10px;
	top:15px;
	line-height:24px;
}
.faq_acd dd .cap_letter{ 
	background:#FF9000; 
	left:30px;
	top:15px;
	line-height:26px;
}

.faq_acd + .bd_title { margin-top:2em; }
#faq  .bd_title{ margin-bottom:1.4em; }

.tab-box .bd_title { margin-top:2em; }

/*資料ダウンロードページ内リンク
-------------------------------------*/
.list_anc{
	margin:30px 0;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap:wrap;　
	flex-wrap:wrap;
	list-style:none;
}
.list_anc li{
	width : -webkit-calc(-webkit-calc(100% - 16px) / 3);
  	width : calc(calc(100% - 16px) / 3);
	margin-right:8px;
	margin-bottom:8px;
}
.list_anc li:nth-child(3n){
	margin-right:0;
}
.list_anc li a{
	height:100%;
	text-decoration:none;
	text-align:center;
	padding:15px 40px 15px 15px;
	font-size:16px;
	font-weight:bold;
	line-height:1.2;
	background-color:#FFF;
	border:1px solid #dedede;
	border-radius:3px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position:relative;
}
.list_anc li a:after{
	content:"";
	display:block;
	position:absolute;
	width: 6px;
	height: 6px;
	border: solid #2b2b2b;
	border-width: 0 3px 3px 0;
	right:18px;
	top:40%;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*資料ダウンロード 資料の一覧
-------------------------------------*/
.cat_wrap + .cat_wrap {
	padding:40px 0 0;
}
.cat_wrap .cat_des{
	margin-bottom:1em;
	line-height:1.3;
}
.cat_wrap h4{
	color:#12a285;
	font-size:20px;
	font-weight:bold;
	border-bottom:dotted 1px #12a285;
	padding-bottom:0.4em;
	margin-bottom:0.5em;
	line-height:1.4;
}
.list_doc{
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap:wrap;　
	flex-wrap:wrap;
	list-style:none;
	margin-left:0;
}
.list_doc li{
	width : -webkit-calc(-webkit-calc(100% - 30px) / 4);
  	width : calc(calc(100% - 30px) / 4);
	margin-right:10px;
	margin-bottom:10px;
}
.list_doc li:nth-child(4n){
	margin-right:0;
}
.list_doc .img_wrap{
	background:#EBEBEB;
	height:265px;
	margin-bottom:0.6em;
}
.list_doc .img_wrap img{
	object-fit: contain;
	object-fit: scale-down;
    width: 100%;
	height:265px;
}
.list_doc .doc_title{
	font-size:16px;
	font-weight:bold;
	margin-bottom:0.4em;
}
.list_doc .doc_desc{
	color:#666;
	font-size:13px;
	line-height:1.;
}
.list_doc .doc_category{
	border:1px solid #dedede;
	text-align:center;
	border-radius:3px;
	padding:4px;
	font-size:12px;
	margin-bottom:0.6em;
}

/*ビジットジャパン通信等の一覧
---------------------------------------------*/
.list_dl{
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap:wrap;　
	flex-wrap:wrap;
	list-style:none;
}
.list_dl li{
	width : -webkit-calc(-webkit-calc(100% - 40px) / 3);
  	width : calc(calc(100% - 40px) / 3);
	margin-right:20px;
	margin-bottom:20px;
	padding:25px 30px;
	background-color:#E1F1EE;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.list_dl li:nth-child(3n){
	margin-right:0;
}
.list_dl li span.new{
	margin-left:5px;
	vertical-align:middle;
}
.list_dl li .title{
	font-weight:bold;
	margin-bottom:0.7em;
	background-image:url(../img/icons/pdf_grey.svg);
	background-position:left top;
	background-repeat:no-repeat;
	background-size:30px auto;
	padding:5px 0 5px 35px;
}
.list_dl li .list_button{
	padding:7px 30px;
	display:block;
	
}
.list_dl li .list_button:after{
	content:none;
}
.list_dl li.no_result{
	background-color:transparent;
	width:100%;
	text-align:center;
}

/*リンクのリスト(現在不使用)
---------------------------------------*/
.list_link{
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap:wrap;　
	flex-wrap:wrap;
	list-style:none;
}
.list_link li{
	width : -webkit-calc(-webkit-calc(100% - 20px) / 3);
  	width : calc(calc(100% - 20px) / 3);
	margin-right:10px;
	margin-bottom:10px;
}
.list_link li:nth-child(3n){
	margin-right:0;
}
.list_link li a{
	display:block;
	height:100%;
	padding:0.2em 0 0.2em 1em;
	position:relative;
}
.list_link li a:before{
	content:"";
	display:block;
	position:absolute;
	width: 6px;
	height: 6px;
	border: solid #12a285;
	border-width: 3px 3px 0 0;
	left:0;
	top:0.8em;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
	
}
.list_link li a span.new{
	margin-left:5px;
	vertical-align:middle;
}
/*-----------------------------------------
  審査機能ページ
-----------------------------------------*/
/*処理表示部分(承認・差戻し・全体)
-----------------------------------*/
.apply_process_box{
	display:flex;
	column-gap: 13px;
}
.apply_process_box .ap_box{
	box-sizing: border-box;
	padding:0 10px 10px;
	flex:none;
}
.apply_process_box .ap_box:not(.ap_box_other){
	border:2px solid #12a285;
	border-radius: 4px;
	background-color: #E1F1EE;
}
.apply_process_box .ap_box h3{
	text-align:center;
	padding-top:5px;
}
.apply_process_box .ap_box h3 span{
	font-size:1.2rem;
	font-weight:normal;
}
.apply_process_box .ap_box input[type="text"],
.apply_process_box .ap_box textarea{
	width:100%;
	box-sizing: border-box;
	margin-bottom:10px;
}
.apply_process_box .ap_box textarea + .icon_txt{
	font-size:88%;
	margin:-10px auto 5px;
	display:block;
	text-align:center;
}
.apply_process_box .ap_box textarea + .icon_txt img{
	width: 15px;
}
.apply_process_box .ap_btn_wrap{
	text-align:center;
}
.apply_process_box .ap_ttl{
	font-size:1.4rem;
	font-weight:bold;
	margin-bottom:3px;
}

/*状態ごとの幅指定
------------------------------------*/
/*初期 (.state_a)*/
.apply_process_box.state_a .ap_box:not(.ap_box_other){
	width:310px;
}
/*持回り審査中の審査担当アカウントアクセス時 (.state_b)*/
.apply_process_box.state_b .ap_box_04{
	width:490px;
}
.apply_process_box.state_b .ap_box_05{
	width:453px;
}
/*持回り審査中・完了時の窓口アカウントアクセス時 (.state_c)*/
.apply_process_box.state_c .ap_box_04{
	width:490px;
}
.apply_process_box.state_c .ap_box_01,
.apply_process_box.state_c .ap_box_02{
	width:220px;
}
/*持回り審査ボックス(.ap_box_03)
------------------------------------*/
.apply_process_box .ap_box_03 .select_wrap{
	max-width:210px;
}
/*持回り審査のリスト*/
/*.apply_process_box .ap_box_03 .list_user{
	border: 1px solid #C0C0C0;
	padding:5px;
	list-style:none;
	background-color:#fff;
	margin:10px 0;
}
.apply_process_box .ap_box_03 .list_user li{
	display:flex;
	line-height:1.3;
	padding:5px;
	font-size:14px;
}
.apply_process_box .ap_box_03 .list_user li div{
	width : calc(100% - 2.5em);
	flex:none;
}
.apply_process_box .ap_box_03 .list_user li a{
	width:2em;
	flex:none;
	margin-left:auto;
	display:flex;
	align-items: center;
	justify-content: flex-end
}
.apply_process_box .ap_box_03 .list_user li a img{
	width:1.0em;
	margin-right:4px;
}
.apply_process_box .ap_box_03 .list_user li:hover{
	background-color: #E1F1EE;
}*/
/*チェックボックスのレイアウト*/
.apply_process_box .ap_chk_wrap label{
	display: flex;
	align-items: flex-start;
	white-space: normal;
	margin-bottom:5px;
}
.apply_process_box .ap_chk_wrap input[type="checkbox"] {
	margin-right:5px;
	margin-top:2px;
	flex-shrink: 0;
}
.apply_process_box .ap_chk_wrap label span{
	flex-grow: 1;
	line-height:1.4;
}
.apply_process_box .ap_chk_wrap{
	margin-bottom:10px;
	height: 200px;
	overflow-y: auto;
}
#apply_eval_2 .apply_process_box .ap_chk_wrap{
	height: 140px;
}
/*持回り審査フロー(.ap_box_04)
-----------------------------------*/
.apply_process_box .ap_box_04 .comment_box_inner{
	overflow-y: auto;
}
.apply_process_box.state_b .ap_box_04 .comment_box_inner{
	height:210px;	
}
.apply_process_box.state_c .ap_box_04 .comment_box_inner{
	height:255px;	
}
.apply_process_box .ap_box_04 .commnet_item_01{
	width:66px;
}
.apply_process_box .ap_box_04 .commnet_item_01 span{
	text-align:center;
}
.apply_process_box .ap_box_04 .commnet_item_01 span.ic_ng img{
	width:12px; 
	vertical-align:-8%; 
	margin-right:4px;
}
.apply_process_box .ap_box_04 .commnet_item_01 span.ic_ok{ 
	color:#12A386;
	border-color:#12A386;
}
.apply_process_box .ap_box_04 .commnet_item_01 span.ic_ok img{
	width:14px; 
	vertical-align:-8%; 
	margin-right:2px;
}
.apply_process_box .ap_box_04 .commnet_item_04 table{
	font-size:1.4rem;
}
.apply_process_box .ap_box_04 .commnet_item_04 table th{
	vertical-align:top;
	width:75px;
	
}
.apply_process_box .ap_box_04 .commnet_item_04 table th,
.apply_process_box .ap_box_04 .commnet_item_04 table td{
	padding:2px;
}
/*持回り審査結果登録(.ap_box_05)
-----------------------------------*/
.apply_process_box .ap_box_05 table th{
	font-size:1.4rem;
	font-weight:bold;
	vertical-align:top;
	line-height:1.3;
	width:100px;
}
.apply_process_box .ap_box_05 table th span{
	font-size:1.2rem;
	font-weight:normal;
}

/*他処理ボックス(.ap_box_other)
-----------------------------------*/
.apply_process_box .ap_box_other{
	width : 171px;
}
.apply_process_box .ap_box_other .list_button{
	width:100%;
	margin-bottom:8px;
}
/*ダウンロードボタン*/
.apply_process_box .ap_box_other .dl_item_wrap{
	width:100%;
}
.dl_item_wrap{
	position:relative;
	display:inline-block;
}
.dl_item_wrap .dl_item_btn.list_button{
	margin-bottom:0;
	width: 100%;
}
.dl_item_box{
	position:absolute;
	width: 100%;
	top:100%;
	right:0;
	background-color:#FFF;
	box-shadow: 2px 2px 7px -5px #777777;
	box-sizing: border-box;
	padding:10px;
	border: 1px solid #C0C0C0;
	display:none;
	z-index:1;
}
/* 親タブ
-------------------------------------*/
.tab_area{
	margin-bottom:40px;
}
.tab_area .tabNav{
	list-style:none;
	height:40px;
	border-bottom:2px solid #C0C0C0;
	padding:0 30px;
	margin-left:0;
	
}
.tab_area .tabNav li{
	display:inline-block;
	margin-right:5px;
	margin-left:0;
	height:40px;
}
.tab_area .tabNav li a{
	display:block;
	height:40px;
	text-decoration:none;
	padding:0 30px;
	line-height:40px;
	color:#FFF;
	font-weight:bold;
	background-color:#737373;
	border:solid #737373;
	border-width:1px 1px 0 1px;
	border-radius:4px 4px 0 0;
}
.tab_area .tabNav li.active a{
	color:#2b2b2b;
	background-color:#fff;
	border:1px solid #C0C0C0;
	border-bottom:2px solid #fff;
}
.tab_area .tabNav li.active a:hover{
	opacity:1;
}

/* 親タブ(折り返し有)
-------------------------------------*/
.tab_area .tabNav.ver2{
	border-bottom:none;
	height:auto;
}
.tab_area .tabNav.ver2 li{
	margin-bottom:8px;
}
.tab_area .tabNav.ver2 li a{
	border-width:1px;
	border-radius:4px;
}
.tab_area .tabNav.ver2 li.active a{
	border-bottom:1px solid #C0C0C0;
}

/* 子タブ(折り返し有)
-------------------------------------*/
.child_tab_area{
	margin-bottom:40px;
}
.child_tab_area .tabNav{
	list-style:none;
	padding:0 20px;
	margin-left:0;
	display: flex;
	flex-wrap:wrap;
	gap:5px;
}
.child_tab_area .tabNav li{
}
.child_tab_area .tabNav li a{
	display:block;
	padding:5px 20px;
	text-decoration:none;
	border:solid #E1F1EE 1px;
	border-radius:4px;
	background-color:#E1F1EE;
}
.child_tab_area .tabNav li.active a,
.child_tab_area .tabNav li a:hover{
	box-shadow: 0 3px 0 0 #12A386;
	background-color:#fff;
	border:solid #12A386 1px;
}
.child_tab_area .tabNav li a:hover{
	opacity:1;
}
	

/*利用規約
-------------------------------------*/
#term_box{
	margin:30px 0 0;
	border:1px solid #dcdcdc;
	height:500px;
	padding:15px;
	overflow-y:scroll;
}
#term_box h4{
	font-weight:bold;
	font-size:18px;
	margin-bottom:1em;
}
#term_box h5{
	font-weight:bold;
	font-size:16px;
	margin-bottom:1em;
}
#term_box p{
	font-size:14px;
	margin-bottom:1.5em;
}
#term_box ol{
	margin-left:2em;
	font-size:14px;
	line-height:1.5;
	margin-bottom:1.5em;
}
#term_box ol li + li{
	margin-top:0.5em;
}
#term_box ol ol{
	margin:0.5em 0 0.8em 2em;
}
/*PR動画・チラシ利用申請　利用規約
--------------------------------------*/
.box_terms{
	height:250px; 
	overflow-y:scroll;
	border:1px solid #c0c0c0;
	padding:5px;
}
.box_terms h3, .box_terms h4{
	font-weight:bold;
	margin-top:1em;
	margin-bottom:0.2em;
}
.box_terms ol{
	margin-left:1.5em;
	list-style:none;
}
.box_terms ol li{
	padding-left:2.5em;
	text-indent:-2.5em;
}
.box_terms dl{
	padding-left:2.5em;
}
.box_terms dl dd{
	padding-left:1em;
}
.box_terms .c_type{
	color:#666;
	color:#12a285;
	padding:6px 4px;
	font-size:90%;
	font-weight:bold;
	border-bottom:1px solid #12a285;
}
.box_terms .c_type:before{
	content:"";
	display:inline-block;
	width:14px;
	height:14px;
	border-radius:7px;
	background:#12a285;
	vertical-align:-10%;
	margin-right:3px;
}

/*PR動画・チラシ利用申請　タブ
--------------------------------------*/
.tab_area_02 .tab{
	list-style:none;
	margin-left:5px;
}
.tab_area_02 .tab li{
	cursor:pointer;
	display:inline-block;
	background-color:#FFF;
	margin:2px;
	padding:6px 23px 6px 34px;
	border-radius:4px;
	font-weight:bold;
	border:2px solid #dddddb;
	color:#2b2b2b;
	font-size:15px;
	letter-spacing:0.05em;
	position:relative;
	text-align:center;
	line-height:1.8;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.tab_area_02 .tab li.clicked{
	background-image:url(../img/icons/check_b.svg);
	background-repeat:no-repeat;
	background-position:10px center;
	background-size:16px auto;
}
.tab_area_02 .tab_cont{
	padding:10px;
}
/*受講者専用サイト　動画視聴ページ
-------------------------------------*/
.video_box{
	max-width:900px;
	margin:0 auto;
}
.video_box .list_button{
	margin-bottom:10px;
}
.video_box video{
	width:100%;
}

/***********************************************************/
/*フォーム関連*/
/***********************************************************/
/*フォームのスタイルをリセット*/
input[type="text"], input[type="button"],input[type="url"],input[type="password"],input[type="email"], button, textarea, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	background: none;
	background-color:#FFF;
	border: none;
	border-radius: 0;
	-moz-border-radius: 0;
   -webkit-border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	/*firefox用*/
  	text-indent: 0.01px;
  	text-overflow: '';
	font-size:1.5rem;
	font-family : inherit;
}
select::-ms-expand {
  display: none;
}
textarea{
	display:block;/*下部の余白を削除*/
	display:inline-block;
}
input[type="text"],input[type="url"],input[type="email"],input[type="password"],textarea{
	border:1px solid #C0C0C0;
	border-radius: 4px;
	padding:2px 8px;
	width:500px;
}
input[type="text"],input[type="url"],input[type="email"],input[type="password"]{
	line-height:2.0;
}
input[type="text"]::placeholder,
input[type="url"]::placeholder,
input[type="email"]::placeholder,
input[type="password"]::placeholder,
textarea::placeholder{
	color: #999;
}
input[type="text"]:focus,
input[type="url"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus{
	border:1px solid #ffa70e;
	box-shadow: 0 0 3px #ff7d89;
}

input[disabled], select[disabled], textarea[disabled]{
	background-color:#EFEFEF;
	color:#CCC;
}
label{
	cursor: pointer;
	white-space: nowrap;
}

/*セレクトボックス
----------------------------*/
.select_wrap{
	border:1px solid #C0C0C0;
	border-radius: 4px;
	position:relative;
	display:inline-block;
	vertical-align:middle;
}
body.input .select_wrap{ min-width:110px; }
.select_wrap:before,
.select_wrap:after{
	content:"";
	display:block;
	position:absolute;
	pointer-events: none;
}
.select_wrap:after{
	width: 8px;
	height: 8px;
	border: solid #2c2c2c;
	border-width: 0 3px 3px 0;
	right:12px;
	top:12px;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.select_wrap select{
	height:36px;
	padding:0 30px 0 10px;
	display:block;
	width:100%;
	border-radius: 4px;
}
.select_txt{
	display:inline-block;
	vertical-align:middle;
}
#tic_id{
	border:1px solid #C0C0C0;
	border-radius: 4px;
	padding:5px;
}

/*検索ボックス付き（select2）*/
.select_wrap .select2-container--default .select2-selection--single{
	border:0;
	height: 36px;
	background:none;
}
.select_wrap .select2-container--default .select2-selection--single .select2-selection__rendered{
	height: 100%;
}
.select_wrap .select2-container .select2-selection--single .select2-selection__rendered{
	line-height:36px;
	padding: 0 30px 0 10px;
	color:#2b2b2b;
}
.select_wrap .select2-container--default .select2-selection--single .select2-selection__arrow{
	display:none;
}
.select_wrap:has(.select2)  select{
	min-width:200px;
}
.select_wrap .select2-container--default .select2-search--dropdown .select2-search__field{
}
.select_wrap select.jq-error + .select2{
	background-color:#FFF2F2!important;
	border-radius: 4px;
}

/* disabled */
.select_wrap .select2-container--disabled .select2-selection--single .select2-selection__rendered{
	color:#CCC;
	background-color:#EFEFEF;
}
/*labelのレイアウト
----------------------------*/
/*2列にする*/
.form_item_wrap_col2{
	display: grid;
	grid-template-columns: repeat(2, 1fr); 
	row-gap: 0; 
	column-gap:5px;
}


/*----------------------------*/
/*ボタンタイプ（radio,checkbox）*/
/*----------------------------*/

/*フォームのパーツを囲む（radio,checkbox）
---------------------------------------*/
.form_item_wrap_inflex{
	display:-webkit-inline-flex;
	display:inline-flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap:wrap;　
	flex-wrap:wrap;
}

/*ラジオボタン
----------------------------*/
.form_item_wrap_inflex input[type=radio]{
	display:none;
}
.form_item_wrap_inflex label{
	display:block;
	/*font-size:13px;*/
	font-weight:bold;
	background-color:#eeeeee;
	border-radius: 6px;
	height:36px;
	text-align:left;
	line-height:36px;
	padding: 0 30px;
	position:relative;
	cursor:pointer;
	margin:2px 4px 2px 0;
}
.form_item_wrap_inflex label:before{
	content:"";
	display:block;
	position:absolute;
	width:5px;
	height:8px;
	border:solid #fff;
	border-width:0 3px 3px 0;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
	left:11px;
	top: 30%;
	display:none;	
}
.form_item_wrap_inflex input[type=radio]:checked + label {
	background:#737373;
	color:#fff;
}
.form_item_wrap_inflex input[type=radio]:checked + label:before{
	display:block;
}
.form_item_wrap_inflex input[type=radio][disabled] + label{
	cursor:not-allowed;
	color:#CCC;
	background-color:#F2F2F2;
}
/*チェックボックス
----------------------------*/
.form_item_wrap_inflex input[type=checkbox]{
	display:none;
}
.form_item_wrap_inflex .form_item_label_check{
	display:block;
	/*font-size:13px;*/
	font-weight:bold;
	background-color:#eeeeee;
	border-radius: 6px;
	height:36px;
	text-align:left;
	line-height:36px;
	padding: 0 15px 0 30px;
	position:relative;
	cursor:pointer;
	margin:2px 4px 2px 0;
}

.form_item_wrap_inflex .form_item_label_check:before{
	content:"";
	display:block;
	position:absolute;
	width:5px;
	height:8px;
	border:solid #fff;
	border-width:0 3px 3px 0;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
	left:11px;
	top: 30%;
	display:none;	
}
.form_item_wrap_inflex input[type=checkbox]:checked + .form_item_label_check {
	background:#737373;
	color:#fff;
}
.form_item_wrap_inflex input[type=checkbox]:checked + .form_item_label_check:before{
	display:block;
}
.form_item_wrap_inflex input[type=checkbox][disabled] + .form_item_label_check{
	cursor:not-allowed;
	color:#CCC;
	background-color:#F2F2F2;
}
/*フォームグループ化時のタイトル*/
.form_item_group{
	padding-bottom:4px;
}
.form_item_wrap_inflex + .form_item_group{
	padding-top:8px;
}

/***********************************************************/
/*ボタン*/
/***********************************************************/

/*.button_wrap {
}*/
.buttons {
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.buttons a, .buttons button, .list_button,.buttons input{
    display: block;
	cursor: pointer;
	margin:10px;
	padding:8px 23px;
	border-radius:4px;
	color:#fff;
	font-weight:bold;
	background:#484848;
	border:2px solid #484848;
	font-size:15px;
	letter-spacing:0.05em;
	text-decoration:none;
	position:relative;
	text-align:center;
	line-height:1.8;
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
.list_button{
	display:inline-block;
	padding:5px 10px 5px 10px;
	margin:0;
	vertical-align:middle;
}
/*横向き矢印あり*/
.list_button.w_arrow{
	padding:5px 20px 5px 10px;
}
.list_button.w_arrow:after{
	content:"";
	position:absolute;
	display:block;
	width: 6px;
	height: 6px;
	border: solid rgba(255,255,255,0.6);
	border-width: 3px 3px 0 0;
	right:6px;
	top:40%;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.list_button.white.w_arrow:after{
	border: solid rgba(0,0,0,0.6);
	border-width: 3px 3px 0 0;
}
/*矢印下向き*/
.list_button.w_arrow.down_arrow:after{
	border-width: 0 3px 3px 0;
	
}
.buttons a:hover, .buttons button:hover, .list_button:hover, .buttons input:hover {
	opacity:0.8;
}
.buttons .positive, .list_button.positive{
	background:#FF9000;
	border:2px solid #FF9000;
	color:#fff;
}
.buttons .negative, .list_button.negative{
	background:#fbe3e4;
    border:2px solid #fbe3e4;
    /*color:#d12f19;*/
	color:rgb(155, 0, 0);
}
.buttons .green, .list_button.green{
	background:#12A386;
    border:2px solid #12A386;
}
.buttons .white, .list_button.white{
	background:#fff;
    border:2px solid #dddddb;
    color:#2b2b2b;
}
.buttons button:disabled,
.buttons button[disabled],
.list_button:disabled,
.list_button[disabled],
.list_button[tabindex='-1']{
	background:#dedede;
    border:2px solid #dedede;
	color: #999;
	pointer-events: none;
}
.buttons button:disabled:hover,
.buttons button[disabled]:hover,
.list_button:disabled:hover,
.list_button[disabled]:hover,
.list_button[tabindex='-1']:hover{
	opacity:1;
	cursor:not-allowed;
}
.buttons button:disabled img,
.buttons button[disabled] img,
.list_button:disabled img,
.list_button[disabled] img,
.list_button[tabindex='-1'] img{
	-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
}
/*img画像を入れる*/
.buttons button img,
.buttons a img,
.list_button img{ 
	display:inline-block;
	vertical-align:-15%; 
	margin-right:6px;
	width:18px;
}

/*背景にアイコン画像*/
.list_button.w_icon{
	padding-left:35px;
	background-repeat:no-repeat;
	background-position: left 12px center;
	min-width:220px;
}
.list_button.icon_search{ background-image:url(../img/icons/search_w.svg);background-size: 24px auto;}
.list_button.icon_list{ background-image:url(../img/icons/list_w.svg);background-size: 20px auto; }
.list_button.icon_check{ background-image:url(../img/icons/check_b.svg);background-size: 20px auto; }

.btn_pos_r{
	position:relative;
}
.btn_pos_r .list_button{
	position:absolute;
	top:-44px;
	right:0;
}
/*非アクティブ*/
.list_button.list_button_dis{
	cursor:default;
	background:#dedede;
	color:#999;
	border-color:#dedede;
}
	.list_button_dis:hover { opacity:1; cursor:not-allowed;}
/* 小さめのサイズ */
.list_button.small_button{
	font-weight:normal;
	font-size:13px;
	line-height:1.4;
}

/* ボタン内に小文字テキスト */
.list_button .txt_small{
	font-weight:normal;
	font-size:1.3rem;
}
	
/*テキストのみで右側に▼アイコン*/
.btn_icon_tri{
	display:inline-block;
	padding:0.2em 1.2em 0.2em 0;
	position:relative;
}
.btn_icon_tri:after{
	content:"";
	position:absolute;
	display:block;
	width:8px;
	height:8px;
	border:solid #2b2b2b;
	border-width:0 3px 3px 0;
	right:0;
	top:30%;
	-webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*inputのボタンにアイコン*/
.buttons input.input_add{
	padding: 5px 10px 5px 34px;
	background-image:url(../img/icons/add_w.svg) ;
	background-position:10px center;
	background-repeat:no-repeat;
	background-size:18px auto;
}


/*「アイコン＋テキスト」 リンクボタンなど
-------------------------------------*/
.icon_txt{
	display:inline-block;
}
.icon_txt img{
	width:18px;
	vertical-align:-15%;
	margin-right:3px;
}
/***********************************************************/
/*入力画面用のテーブル*/
/***********************************************************/

.tbl_basic{
	background-color:#FFF;
	border:solid #C0C0C0;
	border-width:1px 0 2px;
}
.tbl_basic th,
.tbl_basic td{
	border-top: 1px solid #C0C0C0;
	line-height:1.6;
}
.tbl_basic th{
	background-color:#F6F8F5;
	padding: 5px 5px 5px 12px;
	font-weight:bold;
	color:#333333;
	
}
.tbl_basic td{
	padding: 6px 14px;
	background-color:#fff;	
}
.tbl_basic .child{
	padding-left:10px;
	border-left: 1px solid #ccc;
	background-color:#EEF2EC;	
}
.tbl_basic .child2{
	padding-left:10px;
	border-left: 1px solid #ccc;
	background-color:#E7ECE3;	
}
.tbl_basic .no_border_right{
	border-top: 0;
}
.tbl_basic.w_border .no_border_right{
	border-right:0;
}
.tbl_basic .child_dotted{
	border-left: 1px dashed #ccc;
	border-top: 1px dashed #ccc;
}
.tbl_basic tr.dev th { background-color:rgba(204,0,0,.1); }
.tbl_basic th.hissu,
.tbl_basic th.pub{
	padding-right:70px;
	position:relative;
	background-clip: padding-box;
}
.tbl_basic th.hissu.pub{
	padding-top:10px;
	padding-bottom:10px;
}
.tbl_basic th.hissu:before,
.tbl_basic th.pub:after{
	position:absolute;
	right:10px;
	top: 50%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	display:block;
	color:#fff;
	padding:4px 6px;
	line-height:1;
	font-size:1.2rem;
	letter-spacing: .15em;
	border-radius:3px;
}
.tbl_basic th.hissu:before {
	content:"必須";
	background:#FF9000;
}
.tbl_basic th.pub:after {
	content:"公開";
	background:#12a285;
}
.tbl_basic th.hissu.pub:before{
	top: calc(50% - 11px);
}
.tbl_basic th.hissu.pub:after{
	top: calc(50% + 11px);
}
/*フォームの注記(入力画面のみ表示される要素)
---------------------------*/
span.input_limit,span.input_limit_nm{
	display:block;
	font-size:1.3rem;
	color:#999;
	line-height:1.5;
	font-weight: normal;
	padding-top:0.2em;
}
span.input_limit_alert{
	display:block;
	font-size:1.4rem;
	color:#F30;
	line-height:1.5;
	font-weight: bold;
	padding-top:0.2em;
}
/*フォーム見出しの下に表示するときの余白調整*/
.tbl_title + span.input_limit,.tbl_title + small{ 
	margin:-0.5em 0 0.3em;
	font-size:1.3rem;
	display:block;
}
/*インライン要素にしたいとき*/
span.input_limit.txt_inline{
	display:inline;
	padding-top:0;
}
/*フォームの注記(入力画面以外)
---------------------------*/
.tbl_basic .notice{
	display:block;
	font-size:1.3rem;
	color:#999;
	line-height:1.5;
}
/*フォーム見出しの下に表示するときの余白調整*/
.tbl_title + span.notice{
	display:block;
	font-size:1.3rem;
	color:#999;
	line-height:1.5;
	margin:-0.5em 0 0.3em;
}

/*一覧ページの検索部分などに使用するときは余白を小さく*/
.tbl_basic.tbl_form_layout th,
.tbl_basic.tbl_form_layout td{
	padding: 4px;
}
/*縦の線があるバージョン*/
.tbl_basic.w_border{
	border-left:1px solid #C0C0C0;
	
}
.tbl_basic.w_border th,
.tbl_basic.w_border td{
	border-right:1px solid #C0C0C0;
}
.tbl_basic.w_border .child {
	border-left: none;
}
/*tableの入れ子でレイアウトを調整する場合は、子テーブルに余白とボーダーなし*/
.tbl_nobd tr:not(:first-of-type){
	border-top:0;
}
.tbl_nobd th,
.tbl_nobd td{
	border-top: 0;
}
.tbl_nobd tr td{
	padding:0;
}
/*フォームテーブル内のタイトル*/
.form_title{
	font-weight:bold;
	margin-bottom:3px;
}
/*フォームテーブル下の編集可能な注記*/
p.notice{
	font-size:1.4rem;
	padding:10px 0;
}
/*フォームテーブル下の直書きの注記*/
.notice_01{
	color:#666;
	font-size:1.3rem;
	line-height:1.2;
}
/*ボーダーを太くする*/
.tbl_basic .w_bd th,.tbl_basic .w_bd td {
  border-top: #C0C0C0 2px solid;
}
/***********************************************************/
/*一覧用のテーブル*/
/***********************************************************/
.tbl_list{
	background-color:#FFF;
	border:solid #C0C0C0;
	border-width:2px 0 1px 1px;
}
.tbl_list th{
	background-color:#E1F1EE;
	padding: 8px;
	font-weight:bold;
	color:#333333;
	border:solid #C0C0C0;
	border-width:0 1px 1px 0;
	text-align:center;
	line-height:1.5;
	font-size:14.5px;
}
.tbl_list tr:nth-child(even) td {  
  background-color: #F6F8F5;  
}
.tbl_list.ver2 tr:nth-child(even) td {
	 background-color: transparent;
}
.tbl_list td{
	padding: 5px;
	border:solid #C0C0C0;
	border-width:0 1px 1px 0;
	line-height:1.6;
	font-size:14.5px;
	/*overflow-wrap: break-word ;*/
	word-break: break-all;
	word-wrap: break-word;
}

/***********************************************************/
/*届出目次等のテーブル*/
/***********************************************************/
.tbl_toc{
	background-color:#FFF;
	border:solid #C0C0C0;
	border-width:2px 0 1px 1px;

}
.tbl_toc th{
	background-color:#E1F1EE;
	padding: 8px;
	font-weight:bold;
	color:#333333;
	border:solid #C0C0C0;
	border-width:0 1px 1px 0;
	text-align:center;
	line-height:1.5;
	font-size:1.45rem;
}
.tbl_toc td{
	padding: 5px;
	border:solid #C0C0C0;
	border-width:0 1px 1px 0;
	line-height:1.6;
	font-size:1.5rem;
	word-break: break-all;
	word-wrap: break-word;
}
/*テーブル内の必須・任意のアイコン*/
.tbl_toc td span.hissu,.tbl_toc td span.ninni{
	font-weight:bold;
	padding:3px 5px 4px;
	vertical-align:15%;
}
/*入力フォームのタイトル*/
.tbl_toc td.form_title a{
	font-size:1.6rem;
	font-weight:bold;
}
/*計画情報のテーブル*/
.tbl_toc#tbl_plan td{
	padding: 7px 5px;
	
}
/*未入力時の背景色*/
.bg_warning,.tbl_toc tr.bg_warning{
	background-color: #F8E3E8;
}
.bg_color_none{
	background-color: #fff;
}
/*未入力*/
span.state_unentered{
	display:block;
	width:max-content;
	margin:auto;
}
span.state_unentered:before{
	content:"";
	display:inline-block;
	width:24px;
	height:24px;
	background:url(../img/icons/exclamation2_r.svg) no-repeat center;
	background-size:24px auto;
	margin-right:5px;
	vertical-align:-24%;
}
/*仮保存*/
span.state_saved{
	display:block;
	width:max-content;
	margin:auto;
}
span.state_saved:before{
	content:"";
	display:inline-block;
	width:24px;
	height:24px;
	border-radius:12px; 
	background:url(../img/icons/check_w.svg) no-repeat center;	
	background-size:16px auto;	
	background-color:#12a285;
	margin-right:5px;
	vertical-align:-24%;
}

.tbl_toc .icon_txt{
	margin:0 4px;
}
.tbl_toc span.hissu.room{
	font-size:1.7rem;
	margin-right: 3px;
  	vertical-align: middle;
}

/*目次テーブルの入れ子*/
.tbl_toc.tbl_toc_child th{
	background-color: #F6F8F5;
	
}
/***********************************************************/
/*お知らせなどのテーブル*/
/***********************************************************/
.tbl_cmn{
	border-bottom:1px solid #bfbfbf;
}
.tbl_cmn th,.tbl_cmn td{
	padding:10px 15px;
	border-top:1px solid #bfbfbf;
}
.tbl_cmn .cell_date{
	width:110px;
	line-height:1.4;
}
.tbl_cmn .cell_icon{
	width:120px;
}
.tbl_cmn .cell_icon div{
	position:relative;
	min-height:50px;
	background-position:left 20px center;
	background-repeat: no-repeat;
	
}

/* 1=実績報告、2=申請、3=認定期限 */
.tbl_cmn .cell_icon div.notice_type1{ background-image:url(../img/tmpl/menu_bg_03_of.png);background-size:34px auto;}
.tbl_cmn .cell_icon div.notice_type2{ background-image:url(../img/tmpl/menu_bg_02_of.png);background-size:38px auto;}
.tbl_cmn .cell_icon div.notice_type3{ background-image:url(../img/icons/calender_green.svg);background-size:36px auto;}
.tbl_cmn .cell_icon div.unread:before{
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background: #FB7785;
    top: 50%;
	transform: translateY(-50%);
 	-webkit- transform: translateY(-50%);
    right: 20px;
}

/***********************************************************/
/*現在地*/
/***********************************************************/
.cur_location{
	width:930px;
	margin:1em auto 60px;
	display: -webkit-flex;
	display: flex;
	list-style:none;
}
.cur_location li{
	width : 300px;
	margin-right:15px;
	background-color: #edeff0;
	color: #999;
	text-align:center;
	font-weight:bold;
	font-size:20px;
	line-height:1.2;
	padding:20px 0;
}
.cur_location li:nth-child(3){
	margin-right:0;
	padding:5px 0;
}
.cur_location li span{
	font-size:16px;
}
.cur_location li.cur{
	background-color: #E1F1EE;
	color: #12a285;
	position:relative;
}
.cur_location li.cur:after{
	content:"";
	position:absolute;
	display:block;
	width:0;
	height:0;
	border: 150px solid transparent;
	border-top: 20px solid #E1F1EE;
	top:100%;
	left:0;
}
/***********************************************************/
/*ページ送り*/
/***********************************************************/
.skip_box{
	padding:20px 0 0;
	text-align	: right;
}

.skip_box a {text-decoration:none}
.skip_box a, 
.skip_box .cur, 
.skip_box span{
	padding: 0.1em 0.4em;
	font-weight:bold;
}
.skip_box .cur {
	font-size:20px;
}

/*件数と並ぶとき*/
.flex_wrap{
	display: -webkit-flex;
	display: flex;
	margin-bottom:30px;
}
.flex_wrap .counts{
	-webkit-box-flex:auto;
	-ms-flex:auto;
	flex:auto;
}
.flex_wrap .skip_box{
	-webkit-box-flex:auto;
	-ms-flex:auto;
	flex:auto;
	padding-top:0;
}
.btn_box{
	-webkit-box-flex:none;
	-ms-flex:none;
	flex:none;
}
.btn_box .list_button{
	width:220px;
	padding-top:10px;
	padding-bottom:10px;	
}

/*一覧のテーブル内に設置されるとき*/
.tbl_list .skip_box{
	padding:0;
}
.tbl_list + .skip_box{
	padding:5px 0 0;
}

/*-----------------------------------------
   jQuery.Validate.js
-----------------------------------------*/

/* エラー警告文（フォーム部品上部表示） */
body.input .tbl_basic td{
	position:relative;
	background-clip: padding-box;/*Firefoxでボーダーが一部消える事象の回避*/
}

em.jq-error { 
	display:none !important; 
	color:#E6001D; 
	/*margin-bottom:2px; */
	position:absolute;
	top:-22px;
	left:7px;
	background: rgba(255,204,204);
	border: 1px solid rgb(255,102,102);
	padding:2px 10px;
	border-radius:4px;
	z-index:10;
	
}
/*行追加をしていくテーブルのエラー*/
body.input .tbl_adding td,body.input .tbl_adding th{
	vertical-align:top;
}
body.input .tbl_adding td:has(a.btnDelRow2) {
	vertical-align:middle;
	text-align:center;
}
body.input .tbl_adding em.jq-error{
	width:max-content;
	font-size:1.3rem;
	padding:1px 8px 0px;
	top:-19px;
	z-index:10;
}

/* エラーフォーム部品 */
input.jq-error,
textarea.jq-error, 
label.jq-error, 
select.jq-error,
div.dropify-preview.jq-error,
div.dropify-wrapper.jq-error { 
	background-color:#FFF2F2!important;
}
div.dropify-wrapper{
	display:inline-block;
	vertical-align:middle;
}
/* NG数表示部 */
#messageBox {
	
	position:fixed;
	bottom:20px;
	right:20px;
	z-index:10;
	width:400px;
	font-size:14px;
	line-height:1.5;
}
#messageBox div { 
	padding:8px 12px;
	border:2px solid rgb(255,102,102);
	border-radius:5px;
	background: rgba(255,204,204,.8);
}
#messageBox strong{
	font-weight:bold;
	font-size:22px;
}


/* OK NG　アイコン */
span.jq-valid,span.jq-error{
	width:20px;
	height:20px;
	border-radius:17px;
	display:inline-block;
	vertical-align:middle;
	margin-left:5px;
	background-repeat:no-repeat;
	background-position:center;
	
}
span.jq-valid{
	background-color:#12a285;
	background-image:url(../img/admin/icon_ok.png);
	background-size:16px auto;
}

/* エラー文 */
#error_message{
	padding: 10px;
    border: 2px solid red;
    background-color: #FEE;
    margin-top: 10px;
    margin-bottom: 10px;
    color: red;
}
/*
.btnAddRow {
	display:inline-block;
	padding-left:26px;
	background:url(../img/icons/add_b.svg) no-repeat 0px 2px;
	background-size:20px;
	margin:2px;
	text-decoration:underline;
	color:#0000CC;
	cursor:pointer;
}*/

.confirm .btnAddRow { display:none;}
	
/*.btnDelRow {
	display:block;
	height:24px;
	width:24px;
	padding:10px 10px;
	background:url(../img/icons/delete_pink.svg) no-repeat 0px 0px;
	background-size:24px;
	cursor:pointer;
}*/

/* 印刷用の指定*/
@media print{
	
	/* 審査画面 */
	#apply_eval .tab-box,
	#apply_eval .child_tab-box,
	#apply_eval_2 .tab-box{
		display:block!important;
	}
	#apply_eval .tab_area,
	#apply_eval .child_tab_area,
	#apply_eval_2 .tab_area{
		display:none;
	}
	#apply_eval .bd_title{
		page-break-before: always;
	}
	#apply_eval_2 #tab1{
		padding-top:30px;
	}
	.apply_process_box .ap_chk_wrap{
		overflow-y: visible;
		height:auto;
	}
	.apply_process_box .ap_box_04 .comment_box_inner{
		overflow-y: visible;
	}
	.apply_process_box.state_b .ap_box_04 .comment_box_inner{
		height:auto;
	}
	.apply_process_box.state_c .ap_box_04 .comment_box_inner{
		height:auto;
	}
}