@charset "utf-8";
/* CSS Document */

/* ==========================
.top_visual
============================= */
.mainvisual{
	background: url(../img/mainvisual_bg.png) no-repeat center;
	background-size: cover;
}
/* ==========================
map_list
============================= */
.print_block{
	border-top: 3px solid #393a97;
	padding-top: 295px;
	position: relative;
	margin-bottom: 50px;
}
.print_block#p1{
	background: url(../img/main_bg01.png) no-repeat top center;
	background-size: 110%;
    padding-top: 322px;
}
.print_block#p2{
	background: url(../img/main_bg02.png) no-repeat top center;
	padding-top:275px;
}
.print_block#p3{
	background: url(../img/main_bg03.png) no-repeat top center;
	    padding-top: 280px;
}
.print_block#p4{
	background: url(../img/main_bg04.png) no-repeat top center;
	    padding-top: 300px;
}
.print_block#p5{
	background: url(../img/main_bg05.png) no-repeat top center;
	padding-top: 280px;
}

.print_txt_box{
	background-color:#383f9a;
	padding: 20px;
	overflow: hidden;
	color: #fff;
	width: 300px;
	position: absolute;
	bottom: 30px;
	right: 30px;
	min-height: 380px;
}
.print_txt_box.re{
	right:auto;
	left: 30px;
}

.print_txt_box p.midashi{
	font-size: 160%;
	margin-bottom: 15px;
	
}
.print_txt_box p{
	line-height: 2;
	margin-bottom: 30px;
}
.txt_list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
}
.txt_list li::after {
  display: block;
  content: '';
  position: absolute;
  top: .6em;
  left: 5px;
  width: 4px;
  height: 4px;
  background-color: #fff;
  border-radius: 50%;
}
.print_work_wrap{
	background-color:#ecebf0;
	padding: 30px;
	overflow: hidden;
	display: flex;
	justify-content: flex-start;
}
.print_work_wrap.re{
	justify-content: flex-end;
}
.print_work_wrap ul{
	display: flex;
	width: 575px;
	justify-content: space-between;
	
}
.print_work_wrap.re ul{
	float: right;
}
.print_work_wrap li.none{
	height: 140px;
}

/* ==========================
mv_box
============================= */
table{
	background-color: #fff;
	max-width: 800px;
	margin: auto;
}
table th{
	background-color:#e3e3e9;
	width: 150px;
}
table td {
    padding: 10px 30px;
}
table th {
    padding: 10px 30px;
	}
table td.num{
	width:80px;
	text-align:left;
}
/* ==========================
.flow_list
============================= */
.flow_list{
	display: flex;
	justify-content: space-between;
	width: 100%;
	overflow: hidden;
}

.flow_list li {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
 writing-mode: vertical-rl;
  position: relative;
  display: flex;
	justify-content: center;
	align-items: center;
  margin: 1.5em 15px 1.5em 0;
  min-width: 67px;
  color: #fff;
  font-size: 16px;
  background: #3a3e96;
	text-align: center;
	height: 200px;
}

.flow_list li:before {
  content: "";
  position: absolute;
  top: 20%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #3a3e96;
}
.flow_list li.last:before{
	display: none;
}

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

/* ==========================
mv_box
============================= */
.print_txt_box {
    padding: 5%;
    width: 90%;
	position: static;
	    min-height: 100%;
	}
.print_work_wrap li.none{
	height:100%;
}
	
.print_block#p1,.print_block#p2,.print_block#p3,.print_block#p4,.print_block#p5{
	   padding-top: 30%;
    background-size: contain;
	}
.print_work_wrap {

    padding:5% 3%;
	}
.print_work_wrap li{
	margin: 0 2%;
	}
table th,table td{
	width: 90%;
	}
table th,table td{
	padding: 10px 5%;
	}
.flow_list {
    display: block;
	}
.flow_list li {
	writing-mode: horizontal-tb;
	}
.flow_list li {
    margin: 1.5em 0;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    height: 100%;
	padding:15px 5%;
}

.flow_list li:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #e0edff;
border-top: 15px solid #3a3e96;
    margin-top: 0px;
	}
	
	
}
@media print {


}
.print_txt_box {
	opacity: 0;
	transform: translateY(40px);
	transition: all 0.8s ease;
}

.print_txt_box.inview {
	opacity: 1;
	transform: translateY(0);
}
.flow_list li {
    opacity: 0;                     /* 初期は透明 */
    transform: translateX(-50px);   /* 左にずらしてスタート */
    animation: fadeInRight 0.8s forwards;
    animation-play-state: paused;   /* スクロールまで停止 */
}

/* アニメーション定義 */
@keyframes fadeInRight {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* liごとに順番に遅延を付ける */
.flow_list li:nth-child(1) { animation-delay: 0.1s; }
.flow_list li:nth-child(2) { animation-delay: 0.3s; }
.flow_list li:nth-child(3) { animation-delay: 0.5s; }
.flow_list li:nth-child(4) { animation-delay: 0.7s; }
.flow_list li:nth-child(5) { animation-delay: 0.9s; }
.flow_list li:nth-child(6) { animation-delay: 1.1s; }
.flow_list li:nth-child(7) { animation-delay: 1.3s; }
.flow_list li:nth-child(8) { animation-delay: 1.5s; }
.flow_list li:nth-child(9) { animation-delay: 1.7s; }
.flow_list li:nth-child(10) { animation-delay: 1.9s; }
.flow_list li:nth-child(11) { animation-delay: 2.1s; }