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

/*-----------------------------------
	
   スマホ版

-----------------------------------*/
.section-title{
	text-align: center;
	margin: 10px 0 30px;
	font-size: 2rem;
}

.recom-table-section{
	padding: 40px 15px;
}
.table-wrapper{
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid #DDDDDD;
	border-radius: 8px;
	margin-bottom: 40px;
	position: relative;
}
.table-wrapper::after{
	content: "← 横にスクロールできます →";
	display: block;
	text-align: center;
	font-size: 1.2rem;
	color: #999999;
	padding: 10px 0;
}
.recom-table{
	width: 850px;
	border-collapse: collapse;
	table-layout: fixed;
}
.recom-table th, 
.recom-table td {
    border: 1px solid #ddd;
    padding: 15px;
    vertical-align: top;
    font-size: 1.3rem;
    line-height: 1.6;
}
.recom-table thead th {
    background-color: #E6F0FF;
    font-weight: bold;
    text-align: center;
    height: auto;
}
.recom-table thead th:first-child {
    position: sticky;
    left: 0;
    z-index: 10;
    background-color: #E6F0FF; 
    width: 110px;  
    min-width: 110px;
}
.recom-table thead th:not(:first-child) {
    position: static; 
    z-index: 1;
}
.row-label {
    width: 80px;
	min-width: 80px;
    color: #427BBF;
    background-color: #fdfdfd;
    position: sticky;
	left: 0;
	z-index: 5;
	box-shadow: 2px 0 5px rgba(0,0,0,0.05);
    padding-left: 25px;
}
.recom-table td {
    z-index: 1;
}

/* 戻るボタン */
.btn-area {
    text-align: center;
	margin-bottom: 100px;
}

.back-btn {
    display: inline-block;
    padding: 12px 30px;
    background-color: #DFFF4F;
    color: #333;
    text-decoration: none;
    font-weight: bold;
    border-radius: 8px;
}

/*-----------------------------------
	
   PC版

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

@media (min-width: 900px){
	.section-title{
		margin-bottom: 120px;
		font-size: 5rem;
	}
	
	.row-label,
    .recom-table thead th:first-child {
        position: static;
        width: 200px;
        min-width: 200px;
        box-shadow: none;
    }
	.recom-table-section {
        max-width: 1100px;
        margin: 0 auto;
        padding: 60px 20px;
    }
	.recom-table {
        width: 100%; 
    }
	.table-wrapper {
        overflow-x: visible; 
        border: none;
    }

    .table-wrapper::after {
        display: none; 
    }

    .row-label {
        width: 200px; 
    }

    .recom-table th, 
    .recom-table td {
        padding: 25px; 
    }

    .recom-table td {
        height: 180px; 
    }
	
}