h1 span.detail{
	display:block;
	width:100%;
	font-size:88%;
}

.genki-inte_l{
	width:305px;
	background:#ffd44c;
	border-radius: 5px;
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
	-webkit-box-shadow: 0px 2px 2px #ccc;
	-moz-box-shadow: 0px 2px 2px #ccc;
	box-shadow: 0px 2px 2px #ccc;
	margin:0 10px 10px 0;
	padding:10px 0;
	float:left;
}

.genki-inte h3{
	font-size:24px;
	font-color:#ee4e78;
	padding:10px;
	border-bottom:solid 1px;
}

.genki img{
	margin-left:10px;
}

.genki p{
	margin:10px 15px 0 15px;
}

.genki-inte_r{
	width:305px;
	background:#ffd44c;
	border-radius: 5px;
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
	-webkit-box-shadow: 0px 2px 2px #ccc;
	-moz-box-shadow: 0px 2px 2px #ccc;
	box-shadow: 0px 2px 2px #ccc;
	margin:0 0 10px 0;
	padding:10px 0;
	float:left;
}

.genki-relief_r{
	width:305px;
	background:#ffc000;
	border-radius: 5px;
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
	-webkit-box-shadow: 0px 2px 2px #ccc;
	-moz-box-shadow: 0px 2px 2px #ccc;
	box-shadow: 0px 2px 2px #ccc;
	margin:0 0 10px 0;
	padding:10px 0;
	float:left;
}

.genki-relief{
	margin:0 0 10px 0;
	padding:10px 20;
	float:left;
	background:#ffffec;
}


p.relief_s{
	font-size:88%;
	line-height:120%;
}


h2.relief{
	border-bottom:solid 1px;
}

h3.relief{
	border-left:solid 4px;
	margin:4px 0 0 0;
	padding:0 0 0 4px;
}



/* Common */
p.center{
	text-align:center;
}

p.right{
	text-align:right;
}

div.center{
	text-align:center;
}


span.info{
	color:#c43c3c;
}

div.clear{
	clear:both;
}

/*外部リンク*/
a.link_blank:after{
	content:url("../../../images/icon_new_b.png");
	
}

/*内部リンク*/
a.link::before{
	content:"\0bb";
}

/* ルビ */
rt{
	font-size:xx-small;
}


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


/*ボックス全体*/
.accordion-box {
    margin: 10px 0;
    padding: 0;
}
/*ラベル*/
.accordion-box label {
    display: block;
    font-weight: bold;
    cursor :pointer;
    margin-top: 10px;
    padding:5px;
}

.accordion-box label.com{
	background-color:#6b90db;
	color:#ffffff;
}


/*チェックボックスを非表示にする*/
.accordion-box input {
    display: none; 
}

/* デフォルト：表示）================== */
/*中身を表示にしておく*/
.accordion-box div.act_display {
    height: auto;
    opacity: 1;
}

.accordion-box input:checked + label + div.act_display {
    height: 0;
    overflow-y: hidden;
    transition: 0.5s;/*表示するスピード*/
    opacity: 0;
}

/*アイコン*/
.accordion-box label.display::before {
    content: "-";
    padding-right: 8px;
}
/*クリックでアイコン入れ替え*/
.accordion-box input:checked + label.display::before {
    content: "+";
}

/* =============================================== */

/* デフォルト：非表示）================== */
/*中身を非表示にしておく*/
.accordion-box div.act {
    height: 0;
    overflow-y: hidden;
    transition: 0.5s;/*表示するスピード*/
    opacity: 0;
}

/*クリックで中身を表示*/
.accordion-box input:checked + label + div.act {
    height: auto;
    opacity: 1;
}

/*アイコン*/
.accordion-box label::before {
    content: "+";
    padding-right: 8px;
}
/*クリックでアイコン入れ替え*/
.accordion-box input:checked + label::before {
    content: "-";
}

/* =============================================== */

hr.relief{
	border-top:0;
	border-right:0;
	border-left:0;
	border-bottom:1px #ffc000;
	border-style:dotted;
	
}

img.relief_detail{
	float:left; 
	padding:8px;
	margin-right:20px;
	
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-box-shadow: 0px 2px 2px #ccc;
	-moz-box-shadow: 0px 2px 2px #ccc;
	
}


h4.relief_sup{
	padding: 0.5em;
	margin-bottom: 5px;
	line-height: 1.2;
	border-left: 4px solid #FFA000;
	color:#FFA000;
}

ul.relief{
	list-style-type:none;
}


ul.etc{
	list-style-type:none;
	
}

ul.etc li{
	padding-left:10px;
	margin:2px;
}

ul.etc li::before{
	content:'*';
}


._xs {
	font-size:58%;
	line-height:1.6;
}

._s {
	font-size:86%;
}

._m {
	font-size:92%;
}

._l{
	font-size:200%;
	color:#ffffff;

}

._pre{
	font-size:120%;
	color:#ffffff;

}


span.relief {
	background-color:green;
	padding:2px 8px 2px 8px;
	margin-right:10px;
	color:#ffffff;
	font-size:58%;
}



.dtable{
	display: table;
	table-layout:fixed; /* ブロックレベル要素を均等に配置 */
	width:100%;
}

.dtable_c{
	display: table-cell;
	text-align:center;
}




.ref {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow ul {
  padding: 0;
}


.flow li {
  list-style-type: none;
}

.flow dd {
  margin-left: 0;
  font-size:88%;
  line-height: 1.6;
}

.flow {
  position: relative;
}
.flow::before {
  content: "";
  width: 12px;
  height: 100%;
  background: #eee;
  margin-left: -8px;
  display: block;
  position: absolute;
  top: 0;

  left: 80px;
}
.flow > li {
  position: relative;
}


.flow > li:not(:last-child) {
  margin-bottom: 6vh;
}


.flow > li .icon {
  font-size: 10px;
  color: #fff;
  background: #6b90db;
  padding: 8px 10px;
  display: block;
  position: absolute;
  top: 0;
  z-index: 100;
}
.flow > li .icon::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #6b90db;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.flow > li dl {
  padding-left: 105px;
  position: relative;
}
.flow > li dl::before,
.flow > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}
.flow > li dl::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #6b90db;
  border-radius: 50%;
  left: 74px;
}
.flow > li dl::after {
  width: 30px;
  border-bottom: 1px dashed #999;
  position: absolute;
  left: 80px;


}
.flow > li dl dt {
  font-size: 20px;
  color: rgb(107,144,219);
  margin-bottom: 1vh;
}