@charset "utf-8";

/*================================

intro

================================*/

.intro {
                display: flex;
                width: 100%;
	align-items: center;
	justify-content: center;
                padding: 100px;
                }
@media (max-width: 768px) {
.intro {
                padding: 60px 0 40px;
                }
                }

.intro h2 {
                font-size: 1.5em;
                line-height: 1em;
                letter-spacing: .05em;
                }



/*================================

select

================================*/

/*タブ切り替え全体のスタイル*/
.tabs {
                width: 75%;
                margin: auto;
                }
@media (max-width: 768px) {
.tabs {
                width: 90%;
                }
                }

/*タブのスタイル*/
.tab_item {
                display: inline-block;
                float: left;
                width: calc(100% / 3);
                height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
                line-height: 60px;
                font-size: 1em;
                transition: all 0.2s ease;
	box-sizing: border-box;
                border-bottom: 2px solid transparent;
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
                cursor: pointer;
                }
.tab_item:hover {
                border-bottom: 2px solid #222;
                }

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
                display: none;
                }

/*タブ切り替えの中身のスタイル*/
.tab_content {
                display: none;
                clear: both;
                overflow: hidden;
                clear: left;
                }

/*選択されているタブのコンテンツのみを表示*/
#nc:checked ~ #nc_content,
#tx:checked ~ #tx_content,
#lx:checked ~ #lx_content {
                display: block;
                }

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
                border-bottom: 2px solid #222;
                }


/*================================

lineup

================================*/

.tab_content div._download{
                position: relative;
                display: flex;
                align-items: center;
	justify-content: center;
	width: 100%;
                margin-bottom: 80px;
	}
@media (max-width: 768px) {
.tab_content div._download{
                margin-bottom: 60px;
	}
                }

.tab_content div._download a{
                position: relative;
                display: flex;
                align-items: center;
                justify-content: center;
	width: calc(86% / 4);
                padding: 25px 0;
	}
@media (max-width: 768px) {
.tab_content div._download a{
                position: relative;
                display: flex;
                align-items: center;
                justify-content: center;
	width: 50%;
                padding: 15px 0;
	}
                }


/*================================

lineup

================================*/

.lineup {
                width: 100%;
                margin: auto;
                padding: 60px 0 100px;
                border-top: 1px solid #ccc;
                }
@media (max-width: 768px) {
.lineup {
                padding: 40px 0 20px;
                }
                }

.lineup div.list{
                width: 100%;
                margin: auto;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	column-gap: 7%;
	row-gap: 40px;
	flex-wrap: wrap;
                }
@media (max-width: 768px) {
.lineup div.list{
                width: 100%;
	column-gap: 5%;
	row-gap: 40px;
                }
                }

.lineup div.list div{
                width: calc(86% / 3);
                }
@media (max-width: 768px) {
.lineup div.list div{
                width: calc(95% / 2);
                }
                }

.lineup div.list div a{
                width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-direction: column;
                }

.lineup div.list div a div:first-child{
                width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
                overflow: hidden;
	aspect-ratio: 1;
                border: 1px solid #ccc;
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
                }

.lineup div.list div a:hover div:first-child{
                border: 1px solid #222;
                }

.lineup div.list div a div:first-child img{
                width: 100%;
                height: 100%;
                object-fit: contain;     /* 長い方を枠にフィットさせる */
                object-position: center; /* 中央に配置 */
                display: block;
                }

.lineup div.list div a div:last-child{
                width: 100%;
                margin-top:10px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
                }
@media (max-width: 768px) {
.lineup div.list div a div:last-child{
                margin-top: 10px;
                }
                }

.lineup div.list div a div:last-child p{
                display: inline-block;
                font-size: .7em;
                line-height: 1.5em;
                text-align: left;
                padding-right: 20px;
                border-bottom: 1px solid transparent;
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
                }

.download.icon {
                color: #222;
                position: absolute;
                display: block;
                margin-left: 0;
                margin-top: 7px;
                width: 13px;
                height: 5px;
                border-radius: 0;
                border-bottom: solid 1px #222;
                border-top: none;
                }

.download.icon:before {
                content: '';
                position: absolute;
                left: 6px;
                top: -8px;
                width: 1px;
                height: 8px;
                background-color: currentColor;
                }

.download.icon:after {
                content: '';
                position: absolute;
                left: 4px;
                top: -6px;
                width: 4px;
                height: 4px;
                border-top: solid 1px currentColor;
                border-right: solid 1px currentColor;
                -webkit-transform: rotate(135deg);
                transform: rotate(135deg);
                }




.tab_content div._download a p span{
                display:block;
                position: relative;
                font-size: .8em;
                margin-left: 10px;
	}

.tab_content div._download a p{
                display: flex;
                position: relative;
                font-size: .9em;
	}

.tab_content div._download a ._overlay{
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                border-bottom: 1px solid #ccc;
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
	}

.tab_content div._download a:hover ._overlay{
                border-bottom: 1px solid #000;
	}



















