@charset "UTF-8";
/*-----------------------------
国立国際医療研究センター　ICC.css
------------------------------*/
.header-image{
	 display:none;	
}
.article .icctop .txtbox {
	min-height: 0px; /*- コンテンツの最低の高さ -*/
	margin: 0; padding: 0; background: transparent; border: none; border-top: none;
}
.article.sub-top .icctop .txtbox.noheader { border-top: none;}

/*----------------
  トップレイアウト2
----------------*/
.tb_cont {
	width: 100%;
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}
.tb {
	 width: calc( 33% - 12px );
    margin-right: 12px;
    margin-bottom: 12px;
	padding: 0;
	overflow: hidden;
}
.bg1 {
	background:url("../image/btn_01_ja.png") no-repeat center center;
	background-size:contain;
	display: flex;
    flex-wrap: wrap;
}
.bg2 {
	background:url("../image/btn_02_ja.png") no-repeat center center;
	background-size:contain;
}
.bg3 {
	background:url("../image/btn_03_ja.png") no-repeat center center;
	background-size:contain;
}

.bg_e1 {
	background:url("../image/btn_01_en.png") no-repeat center center;
	background-size:contain;
	display: flex;
    flex-wrap: wrap;
}
.bg_e2 {
	background:url("../image/btn_02_en.png") no-repeat center center;
	background-size:contain;
}
.bg_e3 {
	background:url("../image/btn_03_en.png") no-repeat center center;
	background-size:contain;
}

.bg_c1 {
	background:url("../image/btn_01_zh.png") no-repeat center center;
	background-size:contain;
	display: flex;
    flex-wrap: wrap;
}
.bg_c2 {
	background:url("../image/btn_02_zh.png") no-repeat center center;
	background-size:contain;
}
.bg_c3 {
	background:url("../image/btn_03_zh.png") no-repeat center center;
	background-size:contain;
}

.image_link{
  position:relative;
  display:block;
  height:auto;
}
.image_link img{
  display:block;
  width:100%;
}
.image_link:before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  z-index:2;
  background:#fff;/*好みの色に変えてください。*/
  opacity:0;
  transition:0.3s;
}
.image_link:hover:before{
  opacity:0.2;
}

.btn1 {
	width: 48%;
	margin: 0 auto; /* ボックスの余白 */
	overflow: hidden;
}

.tb_cont .tb:nth-child(3n){
    margin-right: 0;
}

.tb_1st {
	width: 49%;
	margin: 0 auto; /* ボックスの余白 */
	overflow: hidden;
	
}

.item1a {
	height: auto;
	padding: 0;
	margin: 0;
	overflow: hidden;

}

.tb_2st {
	width: 24%;
	margin: 0 auto; /* ボックスの余白 */
	padding:0; /* ボックス内側余白 */
	overflow: hidden;
}
@media screen and (max-width: 580px) {
	.tb_1st {
		width: 94%;
		margin-bottom: 1em;
	}
	.tb_2st {
		width: 43%;
		padding: 0.5em;
	}
	.tb_cont {
		width: 100%;
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		align-items: center;
}
	.tb {
	width: 90%;
	margin: 5px auto;
	overflow: hidden;
}
	.tb_cont .tb:nth-child(3n){
	margin: 5px auto;
}

}









/*----------------
  トップレイアウト
----------------*/
.top_btn, .top_btn:before, .top_btn:after {
    box-sizing: border-box;
}
.top_btnbox {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}
.top_btnbox .top_btn {
    margin-right: 12px;
    margin-bottom: 12px;
	overflow: hidden;
}
.top_btn_1{
	flex-basis: 48%;
	 margin-right: 12px;
}
.top_btn_2{
		flex-basis: 24%;
}
.top_btnbox .top_subbtn {
    width: calc( 16.666% - 10px );
    margin-right: 12px;
    margin-bottom: 12px;
	overflow: hidden;
}
.top_btnbox .top_btn:nth-child(3n){
    margin-right: auto;
}
.top_btnbox .top_subbtn:nth-child(6n){
    margin-right: auto;
}
.top_btnbox .top_subbtn_zh {
    width: calc( 20% - 12px );
    margin-right: 12px;
    margin-bottom: 12px;
	overflow: hidden;
}
.top_btnbox .top_subbtn_zh:nth-child(5n){
    margin-right: 0;
}
.btn_tit {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 100px;
	margin: 0 auto 0.5em;
	padding: 0.2rem 3rem;
	font-weight: bold;
	color: #ffffff;
	background: #006837;
	border-radius: 100vh;
	transition: 0.5s;
}
.top_btn_w {
	display: flex;
}
.top_btn_w .item1 {
	margin-right: 12px;
}



@media screen and (max-width: 960px) {
    .top_btnbox .top_btn {
        width: calc( 33.33333% - 8px ) ;
    }
    .top_btnbox .top_btn:nth-child(4n){
        margin-right: 12px;
    }
    .top_btnbox .top_btn:nth-child(3n){
        margin-right: auto;
    }
    .top_btnbox .top_subbtn {
        width: calc( 16.666% - 12px ) ;
    }
	.top_btnbox .top_subbtn:nth-child(6n){
        margin-right: auto;
    }
}
@media screen and (max-width: 580px) {
    .top_btnbox .top_btn {
        width: calc( 50% - 6px ) ;
    }
    .top_btnbox .top_btn:nth-child(3n){
        margin-right: 12px;
    }
    .top_btnbox .top_btn:nth-child(2n){
        margin-right: auto;
    }
    .top_btnbox .top_subbtn {
        width: calc( 33% - 12px ) ;
    }
}
.cont-nav {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	height: 80px;
	overflow: hidden;
	}
.cont-nav .cont_btn {
	flex: 1;
	padding: 0 2px;
	overflow: hidden;
}
 
.cont-nav .cont_btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	line-height: 1.2;
	background-image: url("../image/btn_bg.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	border-radius: 4px;	
	padding: 0 3px;
}

.cont-nav .cont_btn a:hover {
	opacity: 0.75;
}
@media screen and (max-width: 580px) {
	.cont-nav {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		height: auto;

	}
    .cont-nav .cont_btn {
		width:  calc( 50% - 4px ) !important;
		padding: 2px 2px 2px 0;
		margin: 0;
		flex: none;
		height: 68px;
    }
	.cont-nav .cont_btn a {
	}
}
.tbber {
	border-top: 1px solid #29a72b;
	border-bottom:  1px solid #29a72b;
}

/*----------------
  訪日治療レイアウト
----------------*/
.add_flex {
	display: flex;
	width: auto;
	margin-bottom: 20px;
	padding: 0;
}
.add_flex .tit {
	flex: 0 0 260px;
	justify-content: center;
	display: flex;
	align-items: center;
	background-image: url(../image/btn_bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	color: #ffffff;
}
.add_flex .tit p {	
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	margin: 0;
}

.add_flex .add_box {
  flex: 1;
	margin-left: 20px;
}
.add_box .sec_tit {
	font-size: 1.5em;
	font-weight: bold;
	margin: 2px 0 0;
	
}
.add_box .add {
	display: inline-block;
	font-size: 30px;
	vertical-align: -0.35em;
	font-weight: bold;
}

@media screen and (max-width: 580px) {
	.add_flex {
		display: flex;
		flex-flow: column;
		width: auto;
		}
	.add_flex .tit {
		flex: 0 0 80px;
		}
	.add_box .add {
		font-size: 24px;
}
}

.col_2{
 display: flex;
}
.col_2_box{
 width: 50%;
 height: auto;
}
.dep {
 width: 98%;
 border-collapse: collapse;
 border-spacing: 0;
 background: #d4edd4;
}
.dep tr:nth-child(2n+1) {
 background: #e9f6e9;
}
.dep th {
 padding: 10px;
 border: solid 1px #ffffff!important;
 background: #29a72b!important;
 color: #ffffff!important;
	text-align: center;
}
.dep td {
 padding: 10px;
 border: solid 1px #ffffff!important;
}

@media screen and (max-width: 580px) {
	.col_2 {
		display: flex;
		flex-flow: column;
		width: auto;
		}
	.col_2_box{
		width: 90%;
		height: auto;
}
}
.button019 a {
    background: #29a72b;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 10px 0 auto;
    max-width: 300px;
	width: 60%;
    padding: 10px 35px 10px 10px;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-weight: 500;
	border: solid 1px #29a72b!important;
	text-decoration: none;

}
.button019 a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 1rem;
  font-size: 90%;
  display: flex;
	justify-content: flex-end;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.button019 a:hover {
  background: #c5eac5;
  color: #29a72b;
}
.button019 a:hover:after {
  right: 1.4rem;
}

/*----------------
  外来診療レイアウト
----------------*/
.tabMenu {
	padding: 0px;
	margin: 0px;
	text-align:center; 
	display: flex;
	display: -webkit-flex;
	flex-flow: row nowrap;
	border-bottom: 3px #29a72b solid
}
.tabMenu li {
	padding: 0px;
	margin: 0px;
	font-weight: bold;
	list-style: none;
	flex-grow: 1;
	background: #e9f6e9;
}

.tabMenu li::before {
	background: none!important;
}
.tabMenu li:nth-child(1) {  
	margin: 0px 10px 0 0;
	border: #29a72b solid 1px;
	border-bottom: none;

}
.tabMenu li:nth-child(2) {
	margin: 0px;
	border: #29a72b solid 1px;
	border-bottom: none;
}

.tabMenu li a {
	display:block;
	padding: 20px 0px;
	margin: 0px; 
	color: #29a72b;
	text-decoration: none;
	font-size: 20px;
}
.tabMenu li.select, 
.tabMenu li.select a {
	color: #fff;
	background: #29a72b;
}

.tabMenu li:hover {
  opacity: 0.75;
}
.tabContent { 
	padding: 10px 0px;
}
.tabContent.disnon {
	display: none;
}
.tabContent.select {
	display: block;
}

@media screen and (max-width: 580px) {
	.tabMenu li a {
	font-size: 16px;
}
}

.article .txtbox h2.con_title {
	position: relative;
	color: #333333;
	padding:0.5em 0.5em 0.5em 1.4em;
	background-color: #e9f6e9;
	margin-left: 0;
	font-size: 20px;
}
.article .txtbox h2.con_title:before { 
	position: absolute;
     top: 50%;
     left:0;
     transform:translateY(-50%);
     content: '';
     width: 18px;
     height:4px;
     background-color:#29a72b;
}
/*----------------
  診療科レイアウト
----------------*/
.mes_title,
.mes_cont{
	width: 98%;
	margin: 0 auto;
}

.mes_title {
	display: block;
	pointer-events: none;
	padding: 0px;
	background: #29a72b;
	color: #fff;
	font-weight: bold;
}
.mes_title h3 {
	padding: 8px;
	margin: 0;
}
.mes_title:hover {
  opacity: 0.75;
}

input{
	display: none;
}

.mes_cont {
	padding: 0;
	list-style: none;
}

.mes_cont .cont_1 {
	padding: 10px 8px 10px 18px;
	background: #e9fae9;
}
.mes_cont .cont_2 {
	padding: 10px 8px 10px 18px;
	background: #f9fdf9;
}

.mes_cont .cont_1:not(:last-child){
	border-bottom: solid 1px #fff;
}
.font_green { color: #29a72b; font-weight: bold;}

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

	.mes_title {
		pointer-events: all;
		width: 96%;
		margin-top: 1em;
	}
	
	.mes_cont {
		width: 96%;
		height: 0;
		padding: 0 8px;
		transition: .2s;
	}
	
	input:checked + .mes_cont {
		height: auto;
		padding: 0 8px 8px;
	}
	
	.mes_cont .cont_1 {
		padding: 10px 8px 10px 18px;
		line-height: 0;
		visibility: hidden;
		opacity: 0;
		transition: 
			padding .2s,
			line-height .2s,
			visibility .1s,
			opacity .1s;
	}
	.mes_cont .cont_2 {
		padding: 10px 8px 10px 18px;

	}	
	input:checked + .mes_cont .cont_1 {
		line-height: 1.5;
		visibility: visible;
		opacity: 1;
	}
}


/*----------------
  見出しレイアウト
----------------*/
.article .txtbox h2.title {
	border-top: 5px solid #29a72b;
	border-bottom: 1px solid #29a72b;
	background: #ffffff!important;
	font-size: 1.8em!important;
	margin-left: -1em!important;
}
.article .txtbox h2.title_en {
	border-top: 5px solid #29a72b;
	border-bottom: 1px solid #29a72b;
	background: #ffffff!important;
	font-size: 1.6em!important;
	margin-left: -1em!important;
}
.article .txtbox h2.title:before { width: 0em; top: 0.3em; bottom: 0.3em; left: 0em; background: url(../image/tex_diagnal.png) center #234A8F;}
.article .txtbox h2.title_en:before { width: 0em; top: 0.3em; bottom: 0.3em; left: 0em; background: url(../image/tex_diagnal.png) center #234A8F;}

.title-box {
	position: relative;
	text-align: center;
	overflow: hidden;
	height: 48px;
}
.title-box_t {
	background-color: #29a72b;
	padding: 8px;
	text-align: center;
	font-weight: 700;
	color: #fff;
	margin-bottom: 30px;
	border-radius: 20px;
}
.title-box:after{
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: -0px !important;
  left: 0 !important;
  width: 0px !important;
  height: 0px !important;
  margin: auto !important;
  border-style: solid !important;
  border-color: #29a72b transparent transparent transparent !important;
  border-width: 20px 20px 0 20px !important;
	color: #000;
	display: inline-block;
}


.title-box p {
margin: 0;
padding: 0;
	font-size: 1.2em;
}

.balloon1 {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #e0edff;
}

.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #e0edff;
}

.balloon1 p {
  margin: 0;
  padding: 0;
}

.tab1_content h2 .icc {
  position: relative;
  padding: 1.5rem 2rem;
  color: #fff;
  border-radius: 10px;
  background: #094;
}

.tab1_content h2 .icc:after {
  position: absolute;
  bottom: -9px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #094 transparent transparent transparent;
}

.article .txtbox h2.icc { 
	width:120px;
	margin: 0em 0 1em -1.8em; 
	padding: 0.7em 0.5em 0.5em 0.5em; 
	background: #c8da33; 
	font-size: 1.6em;
	color: white;
	position: relative;
	overflow:hidden;}
.article .txtbox h2.icc:before { 
	background: url() center !important;}

.article .txtbox .sec_top{
	margin: 2em auto;
}
.article .txtbox .sec_top p.top{
	font-size: 1.2em;
	font-weight: 600;
}
/* 見出し  ------------------ */
.article .txtbox h2 { margin: 1em 0 1em -1.8em; padding: 0.7em 0.5em 0.5em 1.2em; background: #eeeeee; font-size: 1.2em; position: relative;overflow:hidden;}
.article .txtbox h2:before { width: 0.45em; top: 0.3em; bottom: 0.3em; left: 0.5em; background: url(../image/tex_diagnal.png) center #29a72b !important;}
.article .txtbox h3 { margin-left: 0; padding-left: 1.2em; border-bottom: 1px dotted #999999; position: relative;}
.article .txtbox h3:before { width: 1em; height: 1em; top: 0.1em; left: 0px; background: url(../image/img_h3.png) center no-repeat; background-size: contain;}
.article .nav > dl dt,
.article .txtbox h3:before { border-color: #29a72b;}
.article .txtbox h4:before { color: #ffffff; background-color: #29a72b}
.article .nav > dl dt { color: #ffffff; border-bottom: 1px solid #29a72b; background: url(../image/s_navbg.png) center no-repeat; background-size: cover;　position: relative;}
.article .nav > dl dt:before { position: absolute; display: block; content: ""; width: 0px; height: 76%; top: 12%; left: 8px; background: url(../image/s_navbg.png) center no-repeat !important;}


/*----------------
  トップレイアウト　
----------------*/
/*タブ*/
.tab_container {
  padding-bottom: 1em;
  background-color: #fff;
  border:0px solid #37beb0;
  margin: 0 auto;}
.tab_item {
  width: calc(100%/2);
  padding:15px 0;
  border-bottom: 3px solid #234A8F ;
  background-color: #ececec;
	border-radius:20px 20px 0px 0px;
  text-align: center;
  color: #234A8F ;
  display: block;
  float: left;
  font-size: 1.2rem;
  font-weight: 300;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.75;
}
input[name="tab_item"] {
  display: none;
}
.tab_content {
  display: none;
  padding: 1em 1em 0;
  clear: both;
  overflow: hidden;
}
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content{
  display: block;
}
.tab_container input:checked + .tab_item {
  background-color: #234A8F ;
  color: #fff;
}

.case_btn {
  color: #29a72b;/*文字色*/
  border: solid 2px #29a72b;/*線色*/
  padding: 0.2em;/*文字周りの余白*/
	margin: 1em 2em;
  border-radius: 1.5em;/*角丸*/
	max-width: 280px;
	text-align: center;
}
/*ケースメニュー*/
.case-title {
	width: 200px;
	background: #c8da33;
	font-size: 1.3em;
    font-weight: 700;
	padding: 0.25em;
	vertical-align: middle;
}
.case-box {
	width: 96%;
	display: flex;
	margin-bottom: 1.2em;
	overflow: hidden;
}

.case-icon {
	max-width: 180px;
	text-align: center;
	margin: 0 auto;
	overflow: hidden;
}

.case-other {
	max-width: 280px;
	text-align: center;
	margin: 0 auto;
	overflow: hidden;
}

.case-text {flex: 1;}
.case-text p.tex_big {
	color:#234a8f!important;
	font-size: 1.3em;
	margin: 1em 0em 0em 0em!important;
	padding: 0.7em 0.5em 0.5em 1.8em!important;
	overflow: hidden;
}
.case-text p.tex_big a{
	color:#234a8f!important;
}
.case-text p {
		padding: 0em 0.5em 0.5em 2.25em!important;
}
.case-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	grid-auto-rows: 1fr;
	grid-gap: 1.3em;
	padding: 0.8em 1em 0.8em 0em;
	margin: 2em 0 2em;
	width: 95%;
}

.case-grid .case-gbox {
	overflow: hidden;
	min-width: 0;
	padding: 0em;
}
.case-grid .case-gbox .case-ginner  {
	overflow: hidden;
	min-width: 0;
	padding: 0em;
	text-align: center;
}
.tab_content_description a {
	color: #333;
}
.tab_content_description a:hover {
	color: #666;
	text-decoration: none;
}
/*概要*/
.tab_content table {
  border: 3px solid #234A8F!important;
  width: 90%;
	margin: 0 auto;
}
.tab_content td, th {
    border: none!important;
}
.tab_content table td {
    padding: 8px 10px!important;
}
.tab_content .border_a {
  border-bottom: 1px solid #234A8F!important;
	border-right: 1px solid #234A8F!important;
	font-weight: 700;
}
.tab_content .border_b {
  border-bottom: 1px solid #234A8F!important;
}
.tab_content td {
    vertical-align: top;  /* 中央揃え */
}
.tab_content h2{
	margin: 1em 0 1em 0em!important;
}
.tab_content h3 {
	margin-left: 0em!important;
}
	
/*----------------
  テキスト枠レイアウト
----------------*/
.faqbox h4 {
	font-size: 16px;
	background: #e9f6e9;
}



/*----------------
  テキスト枠レイアウト
----------------*/
.article .txtbox section {
	margin-top: 3em;
	margin-bottom: 3em;
}

.article .txtbox .flame01 {
margin: 2em auto;
padding: 1em;
width: 90%;
color: #333;
background-color: #ffffff;
border: 1px solid #d70035;
}
.article .txtbox .flame02 {
margin: 2em auto;
padding: 1em;
width: 90%;
color: #333;
background-color: #f0f8ff;
border: 1px solid #234a8f;
}
.article .txtbox .flame03 {
width: 92%;
display: flex;

padding: 1em;
color: #333;
background-color: #fff;
border: 2px solid #29a72b;
}
.article .txtbox .flame03 .text_left {width: 60%;}
.article .txtbox .flame03 .text_right {flex: 1;}

.article .txtbox .flame04 {
	width: 94%;
    margin: 2em 0;
    background: #fff;
	border: 2px solid #29a72b;
}
.article .txtbox .flame04 .flame04-title {
    font-size: 1.2em;
    background: #29a72b;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.article .txtbox .flame04 p {
    padding: 15px 20px;
    margin: 0;
}

.article .txtbox .flame05 {
margin: 2em auto;
padding: 1em;
width: 90%;
color: #333;
background-color: #ffffff;
border: 2px solid #29a72b;
}



.article .txtbox .sec_center{
	margin: 0 auto;
}

.article .txtbox .square_btn1 {
	display: inline-block;
	position: relative;
	width: 280px;
	font-size: 120%;
	padding: 0.8em;
	margin: 0.8em;
	text-align: center;
	text-decoration: none;
	color: #003f8e;
	background: #fff;
	border:1px solid #003f8e!important;
}
.article .txtbox .square_btn1:hover {
	 background: #003f8e;
     color: #fff;
	 cursor: pointer;
	 text-decoration: none;
}
.article .txtbox .square_btn2 {
	display: inline-block;
	position: relative;
	width: 280px;
	font-size: 120%;
	font-weight: 700;
	padding: 0.8em;
	margin: 0.8em;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	background: #29a72b;
	border:1px solid #29a72b!important;
}
.article .txtbox .square_btn2:hover {
	opacity: 0.6;
}
.article .txtbox .square_btn3 {
	display: inline-block;
	position: relative;
	width: 280px;
	font-size: 120%;
	font-weight: 700;
	padding: 0.8em;
	margin: 0.8em;
	text-align: center;
	text-decoration: none;
	color: #29a72b;
	background: #f0f7e1;
	border:1px solid #29a72b!important;
}
.article .txtbox .square_btn3:hover {
	opacity: 0.6;
}
/*----------------
  ステップレイアウト
----------------*/
.article .txtbox .timeline {
	position: relative;
	margin: 3em auto;
}
.article .txtbox .timeline:before {
	position: absolute;
	top: 55px;
	width: 4px;
	height: 80%;
	content: '';
	background-color: #003f8e;
	left: 30px;
}
.article .txtbox .timeline .timeline_group {
	position: relative;
	padding-top: 0px;
}
.article .txtbox .timeline .timeline_group:not(:first-of-type) {
	margin-top: 0rem;
}
.article .txtbox .timeline .timeline_item {
	margin-bottom: 1em;
	position: relative;
	padding-left: 80px;
}
.article .txtbox .timeline .timeline_item:not(:last-of-type) {
	margin-bottom: 4em;
}
.article .txtbox .timeline .timeline_item:before {
	position: absolute;
	z-index: -1;
	left: 0;
	width: 100%;
	height: 3px;
	content: '';
	background-color: #003f8e;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.article .txtbox .timeline .step_title {
	position: absolute;
	left: 0;
	box-sizing: border-box;
	min-width: 65px;
	min-height: 65px;
	padding: 0.5em 0.5em;
	text-align: center;
	color: #fff;
	background-color: #003f8e;
	top: 38%;
	margin-top: -19px;
	
}
.article .txtbox .timeline .step_tex {
	font-size: 1em;
	font-weight: 700;
	display: block;
}
.article .txtbox .timeline .step_no {
	font-size: 1.8em;
	display: block;
	text-transform: uppercase;
}
.article .txtbox .timeline .desc {
	padding: 0.5em 1em;
	background-color: #fff;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
	font-size: 1em;
}
/*----------------
  ステップレイアウト(eng)
----------------*/
.article .txtbox .timeline_e {
	position: relative;
	margin: 3em auto;
}
.article .txtbox .timeline_e:before {
	position: absolute;
	top: 65px;
	width: 4px;
	height: 70%;
	content: '';
	background-color: #003f8e;
	left: 30px;
}
.article .txtbox .timeline_e .timeline_group {
	position: relative;
	padding-top: 0px;
}
.article .txtbox .timeline_e .timeline_group:not(:first-of-type) {
	margin-top: 0rem;
}
.article .txtbox .timeline_e .timeline_item {
	margin-bottom: 1em;
	position: relative;
	padding-left: 80px;
}
.article .txtbox .timeline_e .timeline_item:not(:last-of-type) {
	margin-bottom: 4em;
}
.article .txtbox .timeline_e .timeline_item:before {
	position: absolute;
	z-index: -1;
	left: 0;
	width: 100%;
	height: 3px;
	content: '';
	background-color: #003f8e;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.article .txtbox .timeline_e .step_title {
	position: absolute;
	left: 0;
	box-sizing: border-box;
	min-width: 65px;
	min-height: 65px;
	padding: 0.5em 0.5em;
	text-align: center;
	color: #fff;
	background-color: #003f8e;
	top: 30%;
	margin-top: -19px;
	
}
.article .txtbox .timeline_e .step_tex {
	font-size: 1em;
	font-weight: 700;
	display: block;
}
.article .txtbox .timeline_e .step_no {
	font-size: 1.8em;
	display: block;
	text-transform: uppercase;
}
.article .txtbox .timeline_e .desc {
	padding: 0.5em 1em;
	background-color: #fff;
	box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.2);
	font-size: 1em;
}

/*----------------
  リスト
----------------*/
.article .txtbox ol.num  {
  position: relative;
  margin: 0;
  padding: 0
}
.article .txtbox ol.num li  {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.25em
}
.article .txtbox ol.num li span {
  position: absolute;
  left: 0;
  margin: 0
}
.article .txtbox p.num{
	margin: 1em 0 0.5em;
	font-weight: 700;
}

/*----------------
  申し込みボタン
----------------*/
.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

.btn-form,
a.btn-form {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #29a72b;
	margin: 0 auto;
}
.btn-form:hover,
a.btn-form:hover {
  color: #fff;
  background: #53b855;
}


/*----------------
  サブメニュー
----------------*/
.article .nav > dl.subtopnav {padding-left:0;padding-bottom:0;}
.article .nav > dl.subtopnav dd {margin: 0;border: 1px solid #cccccc; border-bottom: none;font-size:1.1em;}
.article .nav > dl.subtopnav dd:last-child { border: 1px solid #cccccc;}
.article .nav > dl.subtopnav dd a {
	padding: 0.8em 0.4em 0.6em 1.5em;
	font-weight: bold;
	display:block;
	width:inherit;
	color: #333333; 
	background: url(../../core/img/btn_subtop_side-nav.png) left bottom repeat-x; 
	background-size: contain; 
}
.article .nav > dl.subtopnav dd a:hover { color: #ffffff; background-image: none; background-color: #234A8F; text-decoration: none;}
.article .nav > dl dt p { margin: 0; padding: 0.5em 14px 0.3em; font-size: 1.4em; font-weight: bold;}

ul.sidenav {
	list-style-type: none;
	top: -14px;
	margin: 0;
	padding: 0;
	width: 100%;
	background-color: #f1f1f1;
	position: relative;
	overflow: auto;
}
ul.sidenav li a {
	display: block;
	color: #000000;
	padding: 8px 10px;
	text-decoration: none;
	background: #eaf1b3!important;
}
ul.sidenav li a:hover {
	background: #c8da33!important;
}

ul.sidenav li a span{
	display: block;
	font-size: 0.9em;
	font-weight: bold;
	color: #333333;
	padding: 6px 0px;
	text-decoration: none;
}
ul.sidenav li a.active {
	background-color: #c8da33;
	color: #234a8f;
}
ul.sidenav li a:hover:not(.active) {
	background: #c8da33;
	color: #234a8f;
}

@media screen and (max-width: 900px) {
	ul.sidenav {
		width: 100%;
		height: auto;
		position: relative;
	}
	ul.sidenav li a {
		float: left;
		padding: 15px;
	}
	div.content {
		margin-left: 0;
	}
}
@media screen and (max-width: 480px) {
	ul.sidenav li a {
		text-align: center;
		float: none;
	}
}








@media screen and (max-width: 1044px) {
	}

@media screen and (max-width: 787px) {
	}

@media screen and (max-width: 484px) {
.tab_item {
  font-size: 1rem;
}
.case-box {
	border: solid 2px #c8da33;
	width: 96%;
	display: block;
}
	
.article .txtbox .flame03 {
	display: block;}

.article .txtbox .timeline:before {
		left: 0;
	}
.article .txtbox .timeline:before {
	position: absolute;
	width: 0px;
}
.article .txtbox .timeline .timeline_group {
		padding-top: 20px;
	}
.article .txtbox .timeline .timeline_item {
		padding-top: 20px;
		padding-left: 10px;
	}
.article .txtbox .timeline .timeline_item:before {
		top: 90px;
	}
.article .txtbox .timeline .timeline_item:not(:last-of-type) {
	margin-bottom: 0em;
}
.article .txtbox .timeline .step_title {
		top: 40px;
		min-height: 2em;
	}
.article .txtbox .timeline .step_tex,
.article .txtbox .timeline .step_no {
		display: inline-block;
	}
.article .txtbox .timeline .desc {
		font-size: 1em;
		padding-top: 42px;
	}
.article .txtbox .timeline .step_no {
	font-size: 1em;
	font-weight: 700;
	text-transform: uppercase;
}
}

.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}

.st0{fill:#FFFFFF;}
	.st1{fill:#006837;}
	.st2{fill:#FCFADE;}
	.st3{fill:#DEF2FE;}
	.st4{fill:#92D6FF;}
	.st5{fill:#89A2B1;}
	.st6{fill:#FCFADE;stroke:#006837;stroke-width:2.0855;stroke-miterlimit:10;}
	.st7{fill:none;stroke:#006837;stroke-width:2.0386;stroke-miterlimit:10;}
	.st8{fill:#DEF2FE;stroke:#89A2B1;stroke-width:1.0428;stroke-miterlimit:10;}
	.st9{fill:#FAFAFA;}
	.st10{fill:#90CAF9;}
	.st11{fill:#E8F5E9;}
	.st12{fill:none;stroke:#90CAF9;stroke-width:3.1283;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
	.st13{fill:#006837;stroke:#FFFFFF;stroke-width:2.0855;stroke-miterlimit:10;}
	.st14{fill:none;stroke:#FFFFFF;stroke-width:2.045;stroke-miterlimit:10;}
	.st15{fill:none;stroke:#90CAF9;stroke-width:3.1283;stroke-miterlimit:10;}

/*---------------------------------
  accordion
--------------------------------*/
.accordion-container {
  margin: 30px auto 0;
  width: 96%;
}

.accordion-list:not(:first-child) {
  margin-top: 10px;
}

.accordion-title {
	background: #29a72b;
	cursor: pointer;
	font-size: 16px;
	color: #fff;
	font-weight: bold;
	padding: 10px 20px;
	position: relative;
}

.accordion-title:after {
  position: absolute;
  display: block;
  content: '';
  top: 35%;
  right: 22px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(135deg);
  transition: all .3s ease-in-out;
}

.accordion-title.open:after {
  transform: rotate(-45deg);
  top: 45%;
}

.accordion-text {
  display: none;
  padding: 0;
}

.accordion-text .cont_1 {
	padding: 10px 8px 10px 18px;
	background: #e9fae9;
}
.accordion-text .cont_2 {
	padding: 10px 8px 10px 18px;
	background: #f9fdf9;
}

/*---------------------------------
  参加施設
--------------------------------*/
.article .txtbox table.facilities-table,
.article .txtbox table.facilities-table th,
.article .txtbox table.facilities-table td {
  border: none;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.facilities-table {
  width: 70%;
}

.article .txtbox table.facilities-table thead th {
  text-align: left;
}

.article .txtbox table.facilities-table tbody tr:nth-child(odd) td {
  background-color: #CADFF740;
}

.article .txtbox table.facilities-table tbody tr:nth-child(even) td {
  background-color: #FFFFFF;
}

.article .txtbox table.facilities-table tbody tr + tr td {
  border-top: 1px dotted #CADFF7;
}

.article .txtbox table.facilities-table tbody tr:last-child td {
  border-bottom: 1px solid #CADFF740;
}

@media screen and (max-width: 1043px) {
  .facilities-table {
    width: 100%;
  }
}