/* セクション：料金プラン表 */
.l-plan {
	padding: 70px 0 100px;
	background: radial-gradient(#fff,#dedede);
}
.l-plan_inr {
	max-width: 1080px;
	margin: 0 auto;
}
.logi-plan_lead {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 768px) {
	.logi-plan_lead {
		width: 100%;
	}
}
/* 他ページからのアンカー飛びで sticky ヘッダーに被らないようにする */
/* outline は箱外に描画されるため、前セクションに padding-bottom を足して枠を箱内に収める */
#butsuryu-shindan {
	scroll-margin-top: 80px;
	padding-top: 60px;
	padding-bottom: 12px; /* outline 10px 分を箱内に収める */
}
#temp-plan {
	scroll-margin-top: 80px;
	padding-top: 100px;
}
table {
	border-spacing: 0;
}
th,td {
	position:relative;
	padding: 0;
	border: none;
}
.plan-img{
	margin-top:40px;
}
.plan-img img{
	width:100%;
	height:auto;
	background:#fff;
}

/*強調表示*/
.title-primary {
    display: flex;
    justify-content: center;
    background: #fff;
    border-radius: 30px;
    width: 80%;
    height: 40px;
    margin: auto;
    align-items: center;
}

/* 各タイプ表 */
.plan-title {
	text-align: center;
	font-size: 2.4rem;
	margin-bottom: 40px;
	position:relative;
}
@media screen and (max-width: 820px) {
	.plan-title {
        position: static;
    }
}
.plan_type-temp_table tbody tr:nth-child(1) .with-sep::after,
.plan_type-shindan_table tbody tr:nth-child(1) .with-sep::after{
    content: "";
    width: 1px;
    height: 75%;
    background-color: #fff;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 5px;
    margin: auto;
}
.plan_col{
    background-color: #fff;
    padding: 10px;
    height: 145px;
    vertical-align: middle;
	text-align:left;
}

/* テンプレート型 */
.plan_type-temp_area{
	padding:40px;
	margin-top: 0;
	outline: 10px solid #C1E5F5;
	background: #ffffff;
	border-radius: 25px;
}
.plan_type-temp_table {
	width: 100%;
	table-layout: fixed;
	background: #46B1E1;
	outline: 10px solid #46B1E1;
	border-radius: 20px 20px 0px 0px;  
	outline-offset: -5px;
}
@media screen and (max-width: 820px) {
	.plan_type-temp_table{
		margin: 0 0 0 0px;
		font-size:1.5rem;
        width: 750px;
		overflow: hidden;
		outline:none;
		border:solid 5px #46B1E1; 
    }
}
.plan_type-temp_table th{
    border: none;
	padding: 20px;
}
.plan_type-temp_table tbody tr:first-child th {
    position: relative;
    background: #46B1E1;
}
.plan_type-temp_table tr:not(first-child) th {
	position: relative;
	background: #fff;
}
.plan_type-temp_table .middle_contents > span {
	display: inline-block;
	text-align: left;
}
/*縦線区切り（左側の要素用）*/
.plan_type-temp_table tbody tr .first_contents span::after {
    content: "";
    display: block;
    width: 1px;
    height: 90%;
    background-color: #46B1E1;
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    margin-left: 0;
}
/*縦線区切り（左側の要素用・最初の行以外）*/
.plan_type-temp_table tbody tr .first_middle_contents span::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #46B1E1;
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    margin-left: 0;
}
/*横線区切り（左側の要素用）*/
.plan_type-temp_table tbody tr .first_contents span::before,
.plan_type-temp_table tbody tr:not(:last-child) .first_middle_contents span::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width:95%;
	height: 1px;
	background-color: #46B1E1;
	z-index: 1;
}
/*横線区切り（中央の要素用）*/
.plan_type-temp_table tbody tr .middle_contents span::before,
.plan_type-temp_table tbody tr:not(:last-child) .middle_contents span::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width:100%;
	height: 1px;
	background-color: #46B1E1;
	z-index: 1;
}
/*縦線区切り（右側の要素用）*/
.plan_type-temp_table tbody tr .last_contents span::after {
    content: "";
    display: block;
    width: 1px;
    height: 90%;
    background-color: #46B1E1;
    position: absolute;
    z-index: 1;
    left: -1px;
    bottom: 0;
    margin-left: 0;
}
/*縦線区切り（右側の要素用・最初の行以外）*/
.plan_type-temp_table tbody tr .last_middle_contents span::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #46B1E1;
    position: absolute;
    z-index: 1;
    left: -1px;
    bottom: 0;
    margin-left: 0;
}
/*横線区切り（右側の要素用）*/
.plan_type-temp_table tbody tr .last_contents span::before,
.plan_type-temp_table tbody tr:not(:last-child) .last_middle_contents span::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width:95%;
	height: 1px;
	background-color: #46B1E1;
	z-index: 1;
}

/* 物流業務診断 */
.plan_type-shindan_area{
	padding:40px;
	margin-top: 0;
	outline: 10px solid #C1E5F5;
	background: #ffffff;
	border-radius: 25px;
}
.plan_type-shindan_table {
	width: 100%;
	table-layout: fixed;
	background: #46B1E1;
	outline: 10px solid #46B1E1;
	border:none;
	border-radius: 20px 20px 0px 0px;  
	outline-offset: -5px;
}
@media screen and (max-width: 820px) {
	.plan_type-shindan_table{
		margin: 0 0 0 0px;
		font-size:1.5rem;
        width: 750px;
		overflow: hidden;
		outline:none;
		border:solid 5px #46B1E1; 
    }
}
.plan_type-shindan_table th {
    border: none;
	padding: 20px;
}
.plan_type-shindan_table tbody tr:first-child th{
    position: relative;
    background: #46B1E1;
	border:none;
}
.plan_type-shindan_table tr:not(first-child) th {
	background: #fff;
	position: relative;
}
/*縦線区切り（右に出現）*/
.plan_type-shindan_table tbody tr:nth-child(2) .first_contents span::after {
    content: "";
    display: block;
    width: 1px;
    height: 95%;
    background-color: #46B1E1;
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    margin-left: 0;
}
/*縦線区切り（左に出現）*/
.plan_type-shindan_table tbody tr:nth-child(2) .last_contents span::after {
    content: "";
    display: block;
    width: 1px;
    height: 95%;
    background-color: #46B1E1;
    position: absolute;
    z-index: 1;
    left: -1px;
    bottom: 0;
    margin-left: 0;
}

/* ご利用の流れ */
.solution_inquiry{
	position: relative;
	/*要素内の余白は消す*/
	padding:0;
}
.solution_inquiry span{
	position: absolute;
    bottom: 8%;
    left: 1.5%;
    font-size: 1.7rem;
    color: white;
    background: rgb(182,182,182);
    border-radius: 7px;
    padding: 12px 22px;
    line-height: 1.5;
}
.solution_inquiry span:hover{
	/*以下装飾*/
    font-size: 1.7rem;
    color: white;
    background: rgb(1,168,202);
    border-radius: 7px;
    padding: 12px 22px;
    line-height: 1.5;
}

hr {
	border-top: 3px dashed #707070;
}

@media screen and (min-width:821px){
	.plan-title p::before {
		left:70%;
	}
	.plan-title p::after {
		right:70%;
	}
	.plan-title p::before, 
	.plan-title p::after {
		content: '';
		display: block;
		width: 100px;
		height: 3px;
		background: #333333;
		position: absolute;
		top: 0;
		bottom: 0;
		margin-top: auto;
		margin-bottom: auto;
	}
	.title-primary{
		width: 60%;
	}
}

@media screen and (max-width:820px){
	/* セクション：料金プラン表 */
	.l-plan {
		padding: 70px 20px;
	}
	/* テーブル */
	.tablescroll {
		overflow-x: scroll;
	}
	/* ご利用の流れ */
	.solution_inquiry.pc {
		display: block;
	}
	.solution_inquiry span {
		font-size: 1rem;
		padding: 6px 21px;
		bottom: 11%;
		line-height: normal;
	}
}

@media screen and (max-width:768px){
	/* ご利用の流れ */
	.solution_inquiry{
		margin: 10%;
	}
	.solution_inquiry.pc{
		display: none;
	}
	.solution_inquiry .solution_inquiry_btn {
		position: absolute;
		bottom: 78%;
		left: 22%;
		font-size: 0.5rem;
		color: white;
		background: rgb(182,182,182,0);
		border-radius: 7px;
		padding: 7% 28%;
	}
}
