@charset "UTF-8";

/*---------------------------
  
  1.header
  2.container
  3.table
  3.filter（検索エリア）
  4.検索結果
  5.引換券
  6.タイムスタンプ
  7.ボタンエリア
  8.モーダルウィンドウ

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

/* ================================================================
 * 
 * header
 * 
 * ================================================================ */

header{
	width:100%;
	min-width: 1200px;
	margin-bottom: 4.0rem;
}

.header__group{
	background:var(--color-wht);
	padding: 1.0rem 2.0rem;
	
	display: flex;
	justify-content: space-between;
	align-items:flex-end;
}

/*ロゴ*/
.header__logo{
	width: 120px;
}

/*ログアウトボタン*/
.header__logout-btn {
	background: var(--color-text-main);
	color: var(--color-wht);
	border-radius: .6rem;
	width: 103px;
	padding: .6rem 0;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none
}

.header__logout-btn::before{
	content:"";
	background: url(./../image/icon-logout.svg) no-repeat left center;
	display: inline-block;
	width:22px;
	height: 20px;
	margin-right: 0.5rem;
}

/*title*/
.header__title{
	font-family: "Meiryo", "メイリオ", sans-serif;
	background: linear-gradient(90deg, rgba(69, 176, 53, 1) 0%, rgba(10, 140, 13, 1) 100%);
	color:var(--color-wht);
	text-align: center;
	padding: 2.8rem 0;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

/*メニューボタン*/
.header__menu-btn{
	background: linear-gradient(180deg, rgba(69, 176, 53, 1) 0%, rgba(10, 140, 13, 1) 100%);
	color:var(--color-wht);
	border-radius: .6rem;
	width:120px;
	padding: .6rem 0;
	font-size: 1.2rem;
	text-decoration: none;
	
	display: flex;
	align-items: center;
	justify-content: center;
}

.header__menu-btn::before{
	content:"";
	background: url(./../image/icon-menu.svg) no-repeat left center;
	display: inline-block;
	width:17px;
	height: 15px;
	margin-right: 0.5rem;
}

/*title*/
.header__title{
	background: linear-gradient(90deg, rgba(69, 176, 53, 1) 0%, rgba(10, 140, 13, 1) 100%);
	color:var(--color-wht);
	text-align: center;
	padding: 2.8rem 0;
	font-size: 2.4rem;
	font-weight: 700;
}


/* ================================================================
 * 
 * container
 * 
 * ================================================================ */

.container{
	width:1200px;
	margin: 0 auto  10.0rem auto;
}

/*title*/
.main-title{
	font-size:3.2rem;
	text-align: left;
	margin-bottom: 2.4rem;
	letter-spacing: .3rem;
}

.text{
	margin-bottom: .6rem;
}


/*---------------------------------------------------
 * 
 * table
 *
----------------------------------------------------*/

/*---------------------------------------------------
 * c-table（共通）
----------------------------------------------------*/

.c-table{
	width: 100%; 
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 1.5rem;
	line-height: 1.5;
}

.c-table th,
.c-table td {
	vertical-align: middle;
	box-sizing: border-box;
}

/*左にth（見出し）がある場合*/

.c-table tbody{
	background:var(--color-wht);
}

.c-table .c-table__th{
	background:var(--color-sub);
	font-size: 1.2rem;
	color:var(--color-wht);
	text-align: left;
	
	width:160px;
	padding:.4rem 1.0rem;
}

.c-table .c-table__td {
	font-size: 1.4rem;
	padding: 1.4rem 1.0rem;
	min-height: 5.0rem;
}

.c-table tr:nth-child(even) {
	background-color: var(--color-bg-light);
}

.c-table tr:not(:last-of-type){
	border-bottom: 1px solid var(--color-line);
}

.c-table tr .c-table__th:first-of-type {
	border-bottom: 1px solid var(--color-wht);
}

.c-table tr:last-of-type .c-table__th {
	border-bottom: none;
}

/*---------------------------------------------------
 * 上にth（見出し）がある場合
----------------------------------------------------*/

.c-table.c-table--vertical thead{
	background:var(--color-sub);
	font-size: 1.2rem;
	color:var(--color-wht);
	height: 4.0rem;
}


.c-table.c-table--vertical .c-table__th,
.c-table.c-table--vertical .c-table__td {
	text-align: left;
}

.c-table.c-table--vertical .c-table__th{
	padding:.4rem 1.0rem;
	width:auto;
}

.c-table.c-table--vertical .c-table__td{
	font-size: 1.4rem;
	padding: 1.4rem 1.0rem;
	min-height: 5.0rem;
	vertical-align: top;
}

/*No.*/
.c-table.c-table--vertical .c-table__th--no{
	width:50px;
	text-align: right;
}
.c-table.c-table--vertical .c-table__td--no{
	text-align: right;
}

/*発行日・引換日*/
.c-table.c-table--vertical .c-table__th--date{
	width:114px;
}

/*E/O番号*/
.c-table.c-table--vertical .c-table__th--id{
	width:185px;
}

.c-table.c-table--vertical .c-table__td--id a{
	color:var(--color-link);
	text-decoration: none;
}

/*旅客名*/
.c-table.c-table--vertical .c-table__th--name{
	width:88px;
}

/*印刷*/
.c-table.c-table--vertical .c-table__th--print{
	width:77px;
	text-align: center;
}

.c-table.c-table--vertical .c-table__td--print{
	text-align: center;
}

/*キャンセル*/
.c-table.c-table--vertical .c-table__th--cancel{
	width:79px;
	text-align: center;
}
.c-table.c-table--vertical .c-table__td--cancel{
	font-size: 1.2rem;
	line-height: 1.6rem;
}

/*E-Ticket 引換券*/
.c-table.c-table--vertical .c-table__th--voucher{
	width:77px;
	text-align: center;
	line-height: 1.6rem;
}

.c-table.c-table--vertical .c-table__td--voucher{
	text-align: center;
}

/*引換者*/
.c-table.c-table--vertical .c-table__th--exch-user{
	width:114px;
}

/*発売額*/
.c-table.c-table--vertical .c-table__th--price{
	width:80px;
	text-align: right;
}
.c-table.c-table--vertical .c-table__td--price{
	text-align: right;
}

/*引換駅*/
.c-table.c-table--vertical .c-table__th--exch-station{
	width:114px;
}

/*引換区分*/
.c-table.c-table--vertical .c-table__th--exch-type{
	width:70px;
	text-align: center;  
}
.c-table.c-table--vertical .c-table__td--exch-type{
	text-align: center;  
	font-size: 1.2rem;
	line-height: 1.6rem;
}


/* ================================================================
 * 
 * 検索エリア
 * 
 * ================================================================ */

.filter{
	background:var(--color-wht);
	padding: 2.4rem;
	box-shadow: 0 .5rem 1.0rem -.5rem var(--color-shadow);
	border-radius: .6rem;
	margin-bottom: 4.0rem;
}

/*dl*/
.filter__def-list:not(:last-of-type){
	margin-bottom: 2.4rem;
}

/*dl（flex） */
.filter__def-list--row{
	display: flex;
	gap: 2.4rem;
}
/*dt*/
.filter__term{
	font-size:1.4rem;
	font-weight: 700;
}

.filter_input--span{
	margin: 0 .6rem;
}

/*dd横並びの場合*/
.filter__def-list--flex-row{
	display: flex;
    flex-wrap: wrap;
    gap: 0 2.4rem;
}

/* dt（見出し）横幅100% */
.filter__def-list--flex-row .filter__term {
    width: 100%;
}


 
/* ================================================================
 * 
 * 検索結果
 * 
 * ================================================================ */

.search-result__count{
	font-size: 1.4rem;
}

.search-result__count--btm{
	margin-top: .4rem;
}


/* ================================================================
 * 
 * 引換券
 * 
 * ================================================================ */

.ticket-status{
	text-align: center;
	margin-bottom: 4.0rem;
}

.ticket-status__value{
	font-size: 22px;
	font-weight: 700;
	width:400px;
	border-radius: .6rem;
	margin: .6rem auto .8rem auto;
	padding:2.5rem 0;
}

/*未引換券*/
.ticket-status__value--unissued{
	background:var(--color-wht);
	color:var(--color-main-dark);
	border:3px solid var(--color-main);
}

/*引換済*/
.ticket-status__value--issued{
	background:var(--color-gray-light);
	color:var(--color-wht);
	border:3px solid var(--color-gray-dark);
}

.ticket-status__text{
	color:var(--color-caution);
	font-weight: 700;	
}


/* ================================================================
 * 
 * タイムスタンプ
 * 
 * ================================================================ */

.filter-result__def-list{
	margin-top: 2.4rem;
	font-size: 1.4rem;
}

.filter-result__row{
	display: flex;
}

.filter-result__term{
	margin-right: .6rem;
}

.filter-result__term::after{
	content: " ：";
}

/* ================================================================
 * 
 * ボタンエリア
 * 
 * ================================================================ */

/*---------------------------------------------------
 * 入力エリア用
----------------------------------------------------*/

.filter__actions{
	margin: 2.4rem auto 0 auto;
}

/*---------------------------------------------------
 * ページ下部用
----------------------------------------------------*/

.page-actions{
	margin-top: 2.4rem;
}

/*テキストあり*/
.page-actions--with-text{
	position: relative;
}

.page-actions--with-text .page-actions__group{
	display: flex;
	justify-content: center;
	gap: 2.4rem;
	margin-top: 10.4rem;
}

.page-actions--with-text .page-actions__btn-text{
	position: absolute;
	right: 290px;
	top: -80px;
	background:var(--color-caution);
	color: var(--color-wht);
	text-align: center;
	display: inline-block;
	padding: 1.6rem 1.0rem;
	border-radius: .6rem;
}

.page-actions--with-text .page-actions__btn-text::after {
	content: "";
	position: absolute;
	right: 168px;            
	bottom: -14px;           

	width: 14px;
	height: 15px;
	background-color: var(--color-caution);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/*横並び*/
.page-actions--multiple .page-actions__group{
	display: flex;
	justify-content: center;
	gap: 2.4rem;
}
/*ダウンロードボタン*/
.page-actions--multiple .page-actions__group .download__btn{
	margin: 0!important;
}

/*登録する*/
.page-actions--multiple .page-actions__group .send__btn{
	margin: 0!important;
}

/*サブボタン*/
.page-subactions{
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

/*---------------------------------------------------
 * 個別ボタン
----------------------------------------------------*/

/*submitボタン*/
.submit__btn {
	background: var(--color-btn);
	background: var(--gradation-btn);
	color: var(--color-wht);
	border-radius: .6rem;
	width: 239px;
	padding: 1.6rem 0;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.submit__btn::before{
	content:"";
	display: inline-block;
	width:20px;
	height: 20px;
	margin-right: 0.5rem;
}

/*検索ボタン*/
.search__btn{
	margin: 0 auto;
}
.search__btn::before{
	background: url(./../image/icon-search.svg) no-repeat left center;	
}
/*コードボタン*/
.code__btn{
	margin: 0 auto;
}
.code__btn::before{
	background: url(./../image/icon-code.svg) no-repeat left center;	
}
/*ダウンロードボタン*/
.download__btn{
	height: 56px;
	margin: 0 auto;
}

.download__btn::before{
	background: url(./../image/icon-download.svg) no-repeat left center;	
}

/*表上部ダウンロードボタン*/
.page-subactions .download__btn{
	width:auto;
	height: auto;
	padding: .4rem .6rem;
	margin: 0 0 .6rem 0;
	background:var(--color-gray-thin);
	background: linear-gradient(0deg, rgba(222, 222, 222, 1) 0%, rgba(255, 255, 255, 1) 100%);
	color:var(--color-text-main);
	font-size: 1.2rem;
	border:1px solid var(--color-line);
	border-radius: .3rem;
}
.page-subactions .download__btn::before{
	background: url(./../image/icon-download-blk.svg) no-repeat left center;	
}

/*更新ボタン*/
.update__btn {
	margin: 0;
	height: 56px;
	text-decoration: none;
}

.update__btn::before{
	background: url(./../image/icon-update.svg) no-repeat left center;	
	width:24px;
	height: 24px;
}

/*登録する*/
.send__btn{
	margin: 0 auto;
}
.send__btn::before{
	background: url(./../image/icon-send.svg) no-repeat left center;	
}

/*引換ボタン*/
.exchange__btn{
	margin: 0;
	height: 56px;
}
.exchange__btn::before{
	background: url(./../image/icon-code.svg) no-repeat left center;	
}

/*戻るボタン*/
.back__btn {
	background: var(--color-gray-light);
	background: var(--gradation-btn-back);
	color: var(--color-wht);
	border-radius: .6rem;
	width: 239px;
	height: 56px;
	padding: 1.6rem 0;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.back__btn::before{
	content:"";
	background:url(./../image/icon-arrow-left.svg);
	width:7px;
	height: 12px;
	display: inline-block;
	position: absolute;
	left: 12px;
}


/* ================================================================
 * 
 *  モーダルウィンドウ
 * 
 * ================================================================ */

.filter__help{
	vertical-align: middle;
}

.filter__help img{
	width:24px;
	height: 24px;
}

/* Tabキーでボタンにフォーカスが当たったとき */
.filter__help:focus-visible {
	outline: 2px solid var(--color-link);
	border-radius: .4rem;
}