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

@media screen and (max-width:599px){
	
	.sub .mv{height: 30vh;}
	.sub .mv p{height: 100%;overflow: hidden;position: relative;}
	.sub .mv img{width: auto;max-width: none; height: 100%;
		position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);}
	
	.sub .pankuzu{padding: 0 5vw;}
	
	/* heading */
	.sub h1{padding: 0 5vw;margin-bottom: 35px;font-size: 8.5vw;margin-top: 40px}
	.sub h2{font-size: 6vw;margin-bottom: 45px;border-radius: 0;padding: 15px;}
	.sub h3{font-size: 5vw;    margin-bottom: 35px;}
	.sub h4 + p{padding-left: 0;}
	.sub h5{padding-left: 0;}
	.sub h5 + p{padding-left: 0;}

	/* contents */
	.sub main{width: 100%;margin-bottom: 0;padding: 0 5vw;box-sizing: border-box;}
	.sub section{padding: 0;}
	.sub .gray{width: 100%;padding:50px 0;position: relative;z-index: 0;}
	.sub .gray:after{content: ""; width: calc(100% + 10vw);height: 100%;background: #f2f2f2;
		position: absolute;top: 0; left: -5vw;z-index: -1;}	
	.sub .gray:last-child{margin-bottom: 0px;}
	
	/* block */
	.sub .block{flex-wrap: wrap;}
	
	.sub .block > *{flex-basis: 100%;}
	
	.sub .block .photo{order: 0;margin-bottom: 30px;}
	.sub .block .txt{order: 1;}
	
	.sub .block .photo img{width: 100%;}
	
	.sub .block .txt:nth-child(1) > *{margin-right: 0px;}
	.sub .block .txt:nth-child(2) > *{margin-left: 0px;}
	
	/* flow */
	.sub .flow .box{display: block;}
	.sub .flow .box p.img{width: 100%;margin-bottom: 25px;}
	.sub .flow .box .img img{width: 100%;}
	
	.sub .flow p.tit{text-align: center;margin-bottom: 25px;font-size: 6vw;}
	.sub .flow .box:not(:last-child){margin-bottom: 60px;}
	.sub .flow .box:not(:last-child):after{bottom: -60px; left: calc(50% - 25px);}

	/* table */
	.sub table.sp-block tr.tit{display: none;}
	.sub table.sp-block tr,
	.sub table.sp-block th,
	.sub table.sp-block td{display: block;width: 100%;}
	.sub table.sp-block th{border-bottom: 1px solid #ccc;background: #e3ebf5;}

	
	/* staff----------------- */
	.sub section.staff .block{position: relative;margin-bottom: 0px}
	.sub section.staff .block:not(:first-child){margin-top: 50px;}
	.sub section.staff .block .photo p{height: 200px;overflow: hidden;}
	.sub section.staff .block .photo img{width: 45vw;}
	
	.sub .profile{width: 100%;}
	.sub .profile:not(:last-child){margin-bottom: 25px;}
	.sub .name{width: 45vw;text-align: center !important;
		position: absolute;top: 100px;right: 0; transform: translateY(-50%);}
	
	.sub section.staff .block.director .photo p:first-child{height: 300px;margin-bottom: 30px;}
	.sub section.staff .block.director .photo p.sp{
		display: block; height: auto;font-size: 1.3em;text-align: center;line-height: 1.5;}
	.sub section.staff .block.director .photo img{width: 100%;}
	.sub section.staff .block.director .name{position: static;width: 100%; transform:none;}
	
	.sub .career{display: block;}
	.sub .career .box:not(:last-child){margin-bottom: 30px;}

	.trouble{padding: 0 0 50px;}
	.trouble h2{font-size: 7vw;margin-bottom: 65px;}
	.trouble .wrap{display: block; width: 100%;padding: 0 6vw;}
	.trouble .wrap .box{position: relative;margin-bottom: 60px;}
	.trouble .wrap .box p:first-child{width: 26vw;position: absolute;left: 0;top: -3vw;}
	.trouble h3{padding-left: 28vw;text-align: left;font-size: 5vw; font-size: 4vw; padding: 10px 10px 10px 28vw;}
	.trouble .btn3{width: 100%;}
	.trouble .wrap .box:after{content: "";width: calc(100% + 5vw);height: 1px;
		background: #f2f2f2;position: absolute;left: -2.5vw;bottom: -25px;}
	table.history th , table.history td{display: block}
	
	table.access th{padding: 5px 7px;font-size: 14px;}
	table.access td{padding: 5px; font-size: 4.5vw;}

.sub .qa{;background: none;}
.sub .qa h2{margin-bottom: 50px;}
.sub .qa h2 span{font-size: 7vw;}
.sub .qa ul{margin-bottom: 50px;}
.sub .qa ul li{padding: 25px 0px;}
.sub .qa ul li .q{padding-left: 13vw;font-size: 3.5vw;}
.sub .qa ul li .q label:after{margin-left: 10px;}
.sub .qa ul li .q:before{width: 10vw;height: 8vw;}

	.sub .qa ul li p{padding-left: 50px;font-size: 3.5vw;}

.sub .case{padding: 35px 0 45px;}
	.sub .case h2{font-size: 7vw;margin-bottom: 50px;}
	.sub .case .wrap{width: 100%;display: block; padding: 0 6vw;}
	.sub .case .box{margin-bottom: 25px;padding: 23px; position: relative;}
	
	.sub.case .photo:before{content: none;}
	
	.sub .case label{display: block;position: absolute;top: 25px;right: 5vw;}
	.sub .case label:before{content: "＋";font-size: 1.5em;}	
	.sub .case h3{margin-bottom: 0px;margin-top: 0; background: inherit;padding: 0;}
	.sub .case h3 > small{font-size: 18px;}
	.sub .case .photo,
	.sub .case .txt,
	.sub .case .btn4{max-height: 0; visibility: hidden;overflow: hidden;margin-bottom: 0;transition-duration: .3s;}
	
	.sub .case .box input:checked ~ .photo{max-height: 999px; visibility: visible;margin-bottom: 25px;}
	.sub .case .box input:checked ~ .txt{max-height: 999px; visibility: visible;padding-bottom: 100px;}
	.sub .case .box input:checked ~ .btn4{max-height: 999px; visibility: visible;}
	.sub .case input:checked ~ label:before{content: "−";}
		
	.flex_box{display: block;}
	.half{margin-bottom: 25px;}
	
	table{margin-bottom: 50px;}
	th,td{display: block; width: 100%;}
	td{text-align: left;}
	.sub .profile th{width: 100%;}
	.imp_ft {padding: 20px 10px;}
	table.access th{width: auto; display: table-cell;}
	table.access td{width: auto; display: table-cell;}
.item3 {flex-basis: 46%;}	
	section.ftmenu{padding-top:20px;}
	section.ftmenu h3{width: 250px;margin: auto;}
	
section.ftmenu h5{font-size:15px; }
	section.ftmenu h5:before{content: none;}	
div.imp_ft div.item3 p.btn{width: 100%;	font-size: 0.8em;margin-top: 5px;}	
	
	div.imp_ft div.item3 p.btn a:after{display: none;}	
	
}