@charset "UTF-8";

*{
	min-width: 0;
	min-height: 0;
}

#wrapper{ /* 全体を囲う */
	margin: auto;
	width: 100%;
	font-size: 1em; /* 基本文字サイズ */
	color: #333333; /* 基本文字色 */
	position: relative;
	display: none;
}

body{
	overflow-x: hidden;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ","Meiryo", sans-serif;
	background: #FFFFFF;
	
}

/*===============================================================
メイン
=================================================================*/
/* メインからフッター前まで囲う */
.container{ 
	display: flex;
	flex-direction: column;
	margin-top: 50px;
}

.main-contents{
	display:flex;
	flex-direction: column;
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

.main-container{
	width: 100%;
	padding: 0 4vw;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* パンくずリスト */
.breadcrumbs{
	background: #f7f7f7;
	padding-left: 10px;
}

.breadcrumbs ul{
	margin: 20px auto 10px auto;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.8em;
	width: 100%;
	max-width: 1200px;
}

.breadcrumbs a{
	padding: 5px;
}

.breadcrumbs a:hover{
	text-decoration: underline;
}

.breadcrumbs li:last-child{
	font-weight: bold;
	pointer-events: none; /* 最後(現在地)のリンク無効に */
}

.breadcrumbs li::after{
	content: "\03e";
	margin: 0 10px;
	color: #888888;
}

.breadcrumbs li:last-child::after{ /* 最後の記号をなしに */
	content: "";
}

/* タイトルコーディング */
.main-title{
	margin-top: 50px;
	width: 100%;
}

.main-title h2{
	font-weight: bold;
	font-size: 1.6em;
	text-align: center;
}

.title-deco h2{
	position: relative;
}

.title-deco h2::before{ /* 各タイトル前の四角 */
	content: "";
	position: absolute;
	background-color: #EEEEEE;
	left: 0;
	bottom: -7px;
	height: 3px;
	width: 100%;
}

.title-deco h2::after{ /* 各タイトル前の四角 */
	content: "";
	position: absolute;
	background-color: #FF5050;
	left: 0;
	bottom: -7px;
	height: 3px;
	width: 30%;
}
/* タイトルコーディング ここまで */

/* 更新日・注意書き */
.introduction{
    margin-top: 40px;
    font-size: 1.1em;
}

.introduction span{
    font-size: 0.9em;
}

.explanation{
    margin-top: 30px;
    margin-bottom: 30px;
    width: 100%;
    border: 1px solid #333333;
    padding: 10px 20px;
}

.update{
    font-size: 20px;
    text-align: center;
    margin-bottom: 10px;
    font-weight: bold;
}

.update span{
    color: #FF5050;
    font-size: 1.4em;
}

.how_to{
	font-size: 1.2em;
}

.bold{
	font-size: 1.5em;
	font-weight: bold;
}

.kome{
	line-height: 1.5em;
	margin-bottom: 10px;
}

.kome ul{
	margin: 0;
	padding-left: 0;
}

.kome li{
	list-style: none;
	margin-left: 1em;
	position: relative;
}

.kome li::before{
	content: "※";
	position: absolute;
	left: -1em;
}

.tyuui{
	font-size: 0.9em;
	line-height: 1.5;
}

.series{
	margin-top: 20px;
}

.series ul{
	margin: 0;
	padding-left: 0;
}

.series li{
	list-style-type: square;
	list-style-position: outside;
	margin-left: 1em;
	padding-left: 0;
}

.accordion-title[data-series="se"] {
	color:  #EC7B48;
}

.accordion-title[data-series="sa"] {
	color:  #81C04F;
}

.accordion-title[data-series="sa-b"] {
	color:  #617287;
}

.accordion-title[data-series="sb"] {
	color:  #3d45d2;
}

.accordion-title[data-series="zm"] {
	color:  #329234;
}

.accordion-title[data-series="sgr"] {
	color:  #872ABD;
}

.accordion-title[data-series="ak"] {
	color:  #EB312F;
}

.accordion-title[data-series="rw"] {
	color:  #556AFB;
}

.accordion-title[data-series="rwt"] {
	color:  #27CED4;
}

.accordion-title {
	font-size: 1.4em;
	line-height: 2em;
    font-weight: bold;
    cursor: pointer;
    position: relative;
    padding-right: 20px;
    padding-left: 20px;
}

.accordion-title::after {
    content: "+";
    position: absolute;
    left: 0;
    top: 0;
}

.accordion-title.active::after {
    content: "−";
}

.accordion-content {
    display: none;
    margin-top: 10px;
}

.how_to_result li{
	list-style-type: square;
	list-style-position: outside;
	margin-left: 1em;
	padding-left: 0;
}

/* 更新日・注意書き ここまで */

/* メーカー・車種・年代 */
.select{
    width: 100%;
    text-align: left;
    display: flex;
    gap: 10px;
    padding-bottom: 20px;
}

.select select {
    border: 2px solid #7e7e7e; 
    border-radius: 2px;
    padding: 5px 10px;
    background-color: #fff;
}

.select h3{
    text-align: center;
	margin: 0;
}

select option.placeholder {
	text-align: center;
}

.select > div {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1px solid #333333;
    padding: 12px;
    box-sizing: border-box;
}

.select > div > select {
    margin-top: 0;
}

.item-select{
    font-weight: bold;
    margin-bottom: 0;
    width: 100%;
}

.fourth {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.year-month {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 0;
	width: 100%;
}

.select-unit {
	flex: 1;
    display: flex;
    align-items: center;
    gap: 5px;
}

.select-unit select {
    width: 100%;
}

/* ステップ状態表示 */
.select > div {
    position: relative;
    transition: background-color 0.2s, border-color 0.2s;
}

/* 現在操作中 */
.select > div.is-active {
    border-color: #cc5200;
    background-color: #fff7f0;
}

/* 選択完了 */
.select > div.is-done {
    border-color: #bbbbbb;
    background-color: #f8f8f8;
}

/* 見出し強調 */
.select > div.is-active h3 {
    font-weight: bold;
}

/* 無効状態を視覚化 */
.select select:disabled {
    background-color: #eeeeee;
    color: #777777;
}


@media screen and (max-width: 768px) {
    .select {
        flex-direction: column;
        gap: 20px;
    }
}

/* メーカー・車種・年代 ここまで*/

/* 検索結果 */
.search-results {
    width: 100%;
    padding: 20px 15px;
    border: 2px solid #007acc;
    border-radius: 6px;
    background-color: #fafcff;
}

.search-results-header {
    font-size: 1.4em;
    font-weight: bold;
    color: #007acc;
    text-align: center;
    margin-bottom: 25px;
    letter-spacing: 0.05em;
}

.result{
    margin-top: 50px;
}

@media screen and (max-width: 425px) {
    .search-results {
        margin-top: 40px;
        padding: 15px 10px 25px;
    }

    .search-results-header {
        font-size: 1.2em;
    }
}

.result-table {
    table-layout: auto;
    border-collapse: collapse;
	border-spacing: 0;
    text-align: left;
    padding: 10px;
    margin-left: auto;
    margin-right: auto;
}

.result-table th {
    background-color: #007acc;
	border: 1px solid #ccc;
    color: white;
    padding: 8px;
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
}

.result-table td {
    border: 1px solid #ccc;
    padding: 8px 10px;
	background-color: #ffffff;
}

.result-table th:first-child,
.result-table td:first-child {
    position: sticky;
    font-weight: bold;
    border-right: none;
    padding: 8px 30px 10px 20px;
    overflow: hidden;
    white-space: nowrap;
	left: 0;
}

.result-table th:first-child::after,
.result-table td:first-child::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 12px;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.25),
        rgba(0, 0, 0, 0)
    );
}

.result-table th:nth-child(-n+6),
.result-table td:nth-child(-n+6) {
    width: 1%;
}

.result-table th:nth-child(2),
.result-table td:nth-child(2) {
    padding-left: 15px;
	border-left: none;
}

.result-table tr:nth-child(even) td {
    background-color: #f5f5f5;
}

/* 1列目（ヘッダ） */
.result-table th:first-child {
    position: sticky;
    z-index: 3;
    background-color: #007acc;
}

/* 1列目（データ） */
.result-table td:first-child {
    position: sticky;
    z-index: 2;
    background-color: #fff;
}

.result-wrap {
    margin-left: auto;
    margin-right: auto;
    overflow-x: auto;
	white-space: nowrap;
}
/* 1列目（データ） */
.note-text {
	font-size: 0.85em;
}

.product-link {
  text-decoration: underline;
  cursor: pointer;
}

a.product-link[class*="product-SE-"] {
  color: #EC7B48;
}

a.product-link[class*="product-SA-"] {
  color: #81C04F;
}

a.product-link[class*="product-SA-B"] {
  color: #617287;
}

a.product-link[class*="product-SB-"] {
  color: #3d45d2;
}

a.product-link[class*="product-ZM-"] {
  color: #329234;
}

a.product-link[class*="product-SGR-"] {
  color: #872ABD;
}

a.product-link[class*="product-RS-"] {
  color: #535B28;
}

a.product-link[class*="product-AK-"] {
  color: #EB312F;
}

a.product-link[class*="product-RW-"] {
  color: #556AFB;
}

/* career.js連動 | は狭いときに改行される */
.mobile-break {
  display: inline;
}

.slash-break {
  display: block;
  margin-top: 0.3em;
}

@media screen and (max-width: 768px) {
  .mobile-break {
    display: block;
    height: 0;
  }
}
/* career.js連動 ここまで */
/* 検索結果 ここまで*/

/*===================
横幅425px以上でのレイアウト　メイン
===================*/
@media screen and (min-width: 620px){
	.container{
		margin-top: 65px;
	}

	.breadcrumbs{
		padding-left: 30px;
	}
}

/*===================
横幅925px以上でのレイアウト　メイン
===================*/
@media screen and (min-width: 925px){
	.container{
		flex-direction: row;
		margin-top: 105px;
		position: relative;
	}

}

/*===================
横幅1350px以上でのレイアウト　メイン
===================*/
@media screen and (min-width: 1350px){
	.main-container{
		width: 100%;
		padding: 0 4vw;
		margin-left: auto;
		margin-right: auto;
		max-width: 1500px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.container{
		flex-direction: row;
		margin-top: 105px;
		position: relative;
	}

}

