/*
* Yuma CSS - モバイルファースト
* 基本スタイルはモバイル向けに記述し、PC向けはメディアクエリでオーバーライド
*/

.aiKaime_header{
	background: var(--ai-grd);
	color: var(--white);
	font-size: 1.4rem;
	font-weight: bold;
	display: flex;
	gap:8px;
	justify-content: center;
	width: 100%;
	padding: 8px 15px;
	text-align: center;
	align-items: center;
}

.aiKaime_header img{
	height: 1.6em;
	width: auto;
	filter: brightness(0) saturate(100%) invert(100%) sepia(9%) saturate(6032%) hue-rotate(261deg) brightness(121%) contrast(107%);
	}

.aiKaime_header_wrapper .bl_raceTtl-box{
	padding: 8px;
	border-bottom: 1px solid var(--global-gray-20);
}

.aiKaime_container{
	margin: 15px 8px;
}

.aiKaime_favoHorse{
	background: var(--white);
	border-collapse: separate;
	width: 100%;
	max-width: 420px;
	margin: 0 auto;
}

.aiKaime_favoHorse td{
	padding:8px 0.3rem;
	font-size: 1rem;
	line-height: 1.4;
}

.aiKaime_favoHorse td.favoMark{
	font-size: 1.1rem;
	font-weight: bold;
	color: var(--white);
	background: linear-gradient(360deg,rgba(91, 255, 195, 1) 0%, rgba(0, 185, 202, 1) 75%);
	background: ;
	line-height: 1;
	text-align: center;
	border-radius: 8px 0 0 8px;
	border-top: 3px solid var(--ai-green);
	border-left: 3px solid var(--ai-green);
	border-bottom: 3px solid var(--ai-green);
	width: 0;
	white-space: nowrap;
}

.aiKaime_favoHorse td.horse-number{
	text-align: center;
    font-weight: bold;
	font-size: 1rem;
	line-height: 1;
	border-right: 1px solid var(--global-gray-30);
	border-top: 3px solid var(--ai-green);
	border-bottom: 3px solid var(--ai-green);
	font-family: var(--roboto);
	width: 0;
	white-space: nowrap;
}

.aiKaime_favoHorse td.horse-detail{
	text-align: left;
	border-top: 3px solid var(--ai-green);
	border-bottom: 3px solid var(--ai-green);
	border-right: 1px solid var(--global-gray-30);
}


.aiKaime_favoHorse td.horse-detail .name{
	font-weight: bold;
	font-size: 1.1rem;
}

.aiKaime_favoHorse td.horse-detail .line_2st,.aiKaime_CheckBox-table td.horse-detail .line_2st{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 5px;
}

.riding-style{
	font-size: 0.6rem;
    color: var(--global-gray-50);
}

.jockey{
	font-size: 0.8rem;
	color: var(--global-gray-50);
}

.aiKaime_favoHorse td.odds,.aiKaime_favoHorse td.weight{
	font-family: var(--roboto);
	text-align: center;
	border-top: 3px solid var(--ai-green);
	border-bottom: 3px solid var(--ai-green);
	border-right: 1px solid var(--global-gray-30);
	width: 0;
	white-space: nowrap;
}

.aiKaime_favoHorse td.odds .favourite{font-size: 0.8rem;}

.aiKaime_favoHorse td.weight{
	border-top: 3px solid var(--ai-green);
	border-bottom: 3px solid var(--ai-green);
	border-right: 3px solid var(--ai-green);
	border-radius: 0 8px 8px 0;
}

.aiKaime_conditionSelect{
	margin: 15px 0 30px;
}

.aiKaime_cSelect_btnWrap{
	display: flex;
	gap:10px;
	flex-wrap: wrap;
	justify-content: center;
}

.btn_cSelect_input{
	position: absolute;
	clip: rect(0 0 0 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	border: 0;
	padding: 0;
	overflow: hidden;
}

.btn_cSelect{
	display:flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: calc((100% - 20px) / 3);
	border-radius: 8px;
	border: 1px solid var(--global-gray-30);
	background: var(--white);
	text-align: center;
	padding: 10px;
	cursor: pointer;
	user-select: none;
	font-size: 1rem;
	box-sizing: border-box;
	min-height: calc(4.5rem + 26px);
	transition: background-color .12s ease, border-color .12s ease,border-width .12s ease;
}

.btn_cSelect.plan{min-height: calc(3rem + 54px);}

.btn_cSelect.plan.off:hover{
	border: 1px solid var(--global-gray-30);
}

.btn_cSelect_input:checked + .btn_cSelect {
	background: #D9FCFF;
	border: 3px solid var(--ai-green);
  }

  .btn_cSelect_input:checked + .btn_cSelect.off{
	border: 1px solid var(--global-gray-30);
  } 

.aiKaime_cSelect_btnWrap input:focus {
	outline: none;
  }

  .btn_cSelect_input:not(:checked) + .btn_cSelect {
	background: var(--white);
	border: 1px solid var(--global-gray-30);
  }


.btn_cSelect:hover{border: 3px solid var(--ai-green);}

.btn_cSelect.plan.off{
	background: var(--global-gray-20);
	color: var(--global-gray-50);
	cursor: default;
}

.btn_cSelect.plan.off .aiKaime_label_rec{
	background: var(--global-gray-50);
}

.btn_cSelect.plan.off::before{
	content: "";
	height: 1em;
	width: 1em;
	background-image: url(https://www-f.keiba.jp/img/icons/ico_lock.svg);
	background-repeat: no-repeat;
	filter: brightness(0) saturate(100%) invert(46%) sepia(11%) saturate(27%) hue-rotate(329deg) brightness(99%) contrast(85%);
}

.btn_cSelect.yet{
	background: var(--global-gray-20);
	color: var(--global-gray-50);
	border: none;
	cursor: auto;
}

.btn_cSelect_input:not(:checked) + .btn_cSelect:hover{
	border: 3px solid var(--ai-green);
  }

  .btn_cSelect_input:not(:checked) + .btn_cSelect.off:hover{
	border: 1px solid var(--global-gray-30);
  }

.el_aiKaime_btn{
	background: var(--ai-green);
	color: var(--white);
	font-weight: bold;
	font-size:1.2rem;
	position: relative;
	border-radius: 8px;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 15px 50px 15px 30px;
	margin: 0 auto;
	max-width: 400px;
}

.el_aiKaime_btn.grd{
	background: var(--ai-grd);
}

.el_aiKaime_btn img{
	height: 1.8em;
	width: auto;
	filter: brightness(0) saturate(100%) invert(100%) sepia(9%) saturate(6032%) hue-rotate(261deg) brightness(121%) contrast(107%);
}

.el_aiKaime_btn:hover{opacity: 0.7;}

.el_aiKaime_btn::after{
	content: '';
    width: 0.5em;
    height: 0.5em;
    border: 0;
    border-bottom: solid 2px var(--white);
    border-right: solid 2px var(--white);
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
}

.aiKaime_fixMenu_wrap{
	position: fixed;
	z-index: 999;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color:rgba(255,255,255,0.9);
	border-top: 1px solid var(--global-gray-30);
	border-bottom: 1px solid var(--global-gray-30);
}

.aiKaime_fixMenu_wrap .btn_wrap{
	padding: 15px 10px;
	display: flex;
	flex-direction: column;
	gap:15px;
	align-items: center;
}

.aiKaime_fixMenu_wrap .btn_wrap .prev{
	max-width: 400px;
	background: var(--white);
	cursor: pointer;
}

.selectCond_inner{
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	display: flex;
	gap: 10px;
	list-style: none;
	padding: 10px;
}

.selectCond_inner.noScroll{
	flex-wrap: wrap;
	padding: 15px 0;
	justify-content: center;
}

.selectCond_inner::-webkit-scrollbar {
	display: none;
  }

.selectCond_btn{
	background: #D9FCFF;
	border: 1px solid var(--ai-green);
	padding:5px 8px;
	line-height: 1;
	border-radius: 5px;
	font-size: 0.8rem;
	display: block;
	white-space: nowrap;
}

.aiKaime_checkBoxTtl{
	background: var(--ai-green);
	color: var(--white);
	font-weight: bold;
	font-size: 1rem;
	padding: 8px;
	margin-bottom: 8px;
}

.aiKaime_degreeList{
	list-style: none;
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: flex-end;
	font-size: 0.7rem;
	line-height: 1;
	color: var(--global-gray-50);
	margin-bottom: 8px;
}

.aiKaime_degreeList li{
	display: flex;
	gap: 3px;
}
.aiKaime_degreeList li .block{
	width: 2.5em;
	height: 1em;
	border-radius: 3px;
}

.aiKaime_degreeList li .block.race{
	background: #fffaca;
}
.aiKaime_degreeList li .block.match{
	background: #D1F5D3;
}

.aiKaime_CheckBox-table{
	width: 100%;
}

.aiKaime_CheckBox-table td,.aiKaime_CheckBox-table th{
	border: 1px solid var(--global-gray-30);
	width: 0;
	white-space: nowrap;
	padding: 5px;
}

.aiKaime_CheckBox-table td.name,.aiKaime_CheckBox-table th.name{
	width: auto;
	white-space: wrap;
}

.aiKaime_CheckBox-table th{
	background: var(--global-gray-10);
	font-size: 0.8rem;
	line-height: 1.3;
	font-weight: normal;
	color: var(--global-gray-50);
}

.aiKaime_CheckBox-table .horse-number{
	text-align: center;
	font-family: var(--roboto);
	font-weight: bold;
	font-size: 1rem;
}

.aiKaime_CheckBox-table .mark-on{
	color: var(--red);
	text-align: center;
	font-weight: bold;
	font-size: 1rem;
}

.aiKaime_CheckBox-table .mark-off{
	color: var(--global-gray-30);
	text-align: center;
	font-weight: normal;
	font-size: 1rem;
}

.aiKaime_CheckBox-table .horse-detail .bold{
	font-size: 1rem;
}

.ai_score{
	display: flex;
	gap: 3px;
	list-style: none;
}

.ai_score li{
	border-radius: 3px;
	padding: 3px 5px;
	line-height: 1;
	color: var(--global-gray-50);
	font-size: 0.6rem;
}

.ai_score li.race{
	background: #fffaca;
}
.ai_score li.match{
	background: #D1F5D3;
}

.ai_score .rank{
	font-family: var(--roboto);
	font-weight: bold;
	font-size: 0.8rem;
	margin-right: 2px;
}

.rank-s{
	background: #716DF2;
background: linear-gradient(90deg,rgba(242, 148, 227, 1) 0%, rgba(113, 109, 242, 1) 34%, rgba(4, 178, 217, 1) 62%, rgba(4, 217, 217, 1) 81%, rgba(5, 242, 199, 1) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	}
.rank-a{color: #F44336;}
.rank-b{color: #00B94A;}
.rank-c{color: #FFBD22;}
.rank-d{color: var(--global-gray-50);}

.aiKaime_CheckBox-table .horse-detail .favourite{
	font-size: 0.8rem;
}

.aikaime_checkboxWrap{
	display: flex;
	align-items: center;
	justify-content: center;
}

.aikaime_checkbox {
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	line-height: 1;
	cursor: pointer;
	margin: auto;
}

.checkbox_icon {
	appearance: none;
	position: relative;
	width:2rem;
	height: 2rem;
	border: 2px solid var(--global-gray-30);
	border-radius: 5px;
	cursor: pointer;
  }

  .checkbox_icon:checked {
	border: 2px solid var(--ai-green);
	background-color: var(--ai-green);
  }

  .checkbox_icon:checked::after {
	content: "";
	position: absolute;
	top: 0.4rem;
	left: 0.35rem;
	width: 1.2rem;
	height: 0.6rem;
	border-bottom: 3px solid #ffffff;
	border-left: 3px solid #ffffff;
	transform: rotate(-45deg);
  }

.checkbox_icon:hover{border: 2px solid var(--ai-green);}

.checkbox_icon:not(:checked):hover{
	border: 2px solid var(--ai-green);
  }

.checkbox_icon:checked:hover{
	opacity: 0.7;
  }

.aikaime_noCheckbox{
	background: var(--global-gray-10);
	color: var(--global-gray-50);
	font-size: 1rem;
	font-weight: normal;
	text-align: center;
	line-height: 1;
}

.aiKaime_checkBox_section{
	margin-bottom: 30px;
}

.favo-replace_btnWrap{
	display: flex;
	gap: 15px;
	margin-bottom: 8px;
}

.favo-replace_btn {
	display: flex;
	align-items: center;
	gap: 4px;
	width: fit-content;
	line-height: 1;
	cursor: pointer;
	font-size: 0.8rem;
  }
  
  
  .favo-replace_check {
	appearance: none;
	position: relative;
	width: 1.2rem;
	height: 1.2rem;
	border: 1px solid #a3a3a3;
	border-radius: 2px;
	cursor: pointer;
  }
  
  .favo-replace_check:checked::after {
	content: "";
	position: absolute;
	top: 0.27rem;
	left: 0.2rem;
	width: 0.7rem;
	height: 0.35rem;
	border-bottom: 2px solid #34cbbf;
	border-left: 2px solid #34cbbf;
	transform: rotate(-45deg);
  }

.aiKaime_betBox{
	border: 2px solid var(--ai-green);
	border-radius: 8px;
	background: var(--white);
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}

.betBox_header{
	background: var(--ai-green);
	display: flex;
	justify-content: space-between;
	padding: 8px;
	align-items: center;
	border-radius: 6px 6px 0 0;
}

.betBox_header__ttl{
	color: var(--white);
	font-weight: bold;
	font-size: 1rem;
}

.betBox_deleteBtn{
	position: relative;
	width: 1.2rem;
	height: 1.2rem;
}

.betBox_deleteBtn:hover{opacity: 0.7;}

.betBox_deleteBtn:before{
	content: "";
        position: absolute;
        top: calc(8px + 0.6rem);
        bottom: 0;
        right: 8px;
        width: 2px;
        height: 1.2rem;
        background: var(--white);
        margin: auto 0;
		transform: translate(-50%, -50%) rotate(45deg);
}

.betBox_deleteBtn:after{
        content: "";
        position: absolute;
		top: calc(8px + 0.6rem);
        bottom: 0;
        right: 8px;
        width: 2px;
        height: 1.2rem;
        background: var(--white);
        margin: auto 0;
		transform: translate(-50%, -50%) rotate(-45deg);
}

.betBox_inner{
	padding: 8px;
}

.betBox_betTable th{
	font-size: 1rem;
	font-weight: bold;
	padding-right: 8px;
	width: 0;
	white-space: nowrap;
}

.betBox_betTable td{
	display: flex;
	gap: 5px;
	padding: 5px 0;
	flex-wrap: wrap;
}


.betBox_betTable .hn,.betEa_table .hn{
	border-radius: 3px;
	padding: 8px;
	line-height: 1;
	font-family: var(--roboto);
	font-weight: bold;
	font-size: 1.2rem;
	width: calc(1.2rem + 16px);
	height: calc(1.2rem + 16px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.aiKaime_betBox__list-wrap{
	display: flex;
	flex-direction: column;
	gap:15px;
	margin-bottom: 20px;
}

.betBox_betAmount_wrap{
	margin-top: 5px;
	padding-top: 5px;
	border-top: 1px solid var(--global-gray-50);
	display: flex;
	flex-direction: column;
	gap:5px;
	align-items: flex-end;
}

.betBox_bet-field .stepper{
	display: flex;
	align-items: center;
	gap: 8px;
}

.betBox_bet-field .txt{
	font-size: 0.8rem;
}

.betBox_bet-field .stepper button {
	appearance: none;
	background: var(--global-gray-20);
	padding: 5px;
	font-size: 0.8rem;
	width:calc(0.8rem + 10px);
	height:calc(0.8rem + 10px);
	border-radius: 100px;
	cursor: pointer;
	line-height: 1;
  }
.betBox_bet-field .stepper button:active {
	transform: translateY(1px);
  }
.betBox_bet-field .input-group {
	display: flex;
	align-items: center;
	gap: 3px;
	font-family: var(--roboto);
  }

.betBox_bet-field .input-group input[type="number"] {
	border: 1px solid #d0d7de;
	border-radius: 5px;
	background: #fff;
	width: 6ch;
	padding: 5px 3px;
	font-size: 1rem;
	outline: none;
	text-align: right;
	-moz-appearance: textfield;
  }
  /* Chrome, Safari, Edge用 */
  .betBox_bet-field .input-group input[type=number]::-webkit-inner-spin-button,
  .betBox_bet-field .input-group input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
  }
  .betBox_bet-field .input-group .suffix {
	font-size: 1rem;
  }
  .betBox_bet-field .total {
	margin-top: 8px;
	font-size: 1.1rem;
	font-weight: bold;
	display: flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 8px;
	font-family: var(--roboto);
  }
  .betBox_bet-field .points {
	font-size: 1.1rem;
	font-family: var(--roboto);
  }

  .betBox_bet-field .total-price .txt{
	font-size: 0.8rem;
	font-weight: normal;
	margin-right: 3px;
  }

  .assumption{
	color: var(--global-gray-50);
	font-size: 0.8rem;
	font-family: var(--roboto);
  }

  .betBox_betEa_wrap{
	overflow: hidden;
	margin: 15px 0 10px;
  }

  .betEa_header {
	border-radius: 100px;
	font-size: 0.8rem;
	padding: 5px 15px;
	text-align: center;
	background-color: #C9ECEF;
	display: flex;
	gap: 3px;
	justify-content: center;
	align-items: center;
	cursor: pointer;
  }

  .betEa_header .arrow,.betEa_content .close-btn .arrow{
	position: relative;
  }

  .betEa_header .arrow::before{
	content: '';
    width: 0.6em;
    height: 0.6em;
    border: 0;
    border-bottom: solid 2px var(--main-black);
    border-right: solid 2px var(--main-black);
    transform: rotate(45deg);
    position: absolute;
    top:-0.15em;
    left: 0.3em;
    bottom: 0;
    margin: auto;
  }

  .betEa_header.open .arrow::before{
	transform: rotate(225deg);
	top:0.15em;
  }

  .betEa_content .close-btn .arrow::before{
	content: '';
    width: 0.6em;
    height: 0.6em;
    border: 0;
    border-bottom: solid 2px var(--main-black);
    border-right: solid 2px var(--main-black);
	transform: rotate(225deg);
    position: absolute;
    top: 0.15em;
    left: 0.3em;
    bottom: 0;
    margin: auto;
  }

  .betEa_header:hover{opacity: 0.7;}

  .betEa_content {
    display: none;
  }

  .betEa_content .close-btn{
	font-size: 0.8rem;
	text-align: center;
	padding: 5px 10px 5px 0;
	border-radius: 100px;
	display: flex;
	gap: 3px;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	border: 1px solid var(--global-gray-30);
	width: calc(3.2rem + 45px);
	margin: 0 auto;
  }

  .betEa_content .close-btn:hover{opacity: 0.7;}

  .betEa_list{
	list-style:none;
	display: flex;
	flex-direction: column;
	padding: 15px 0;
  }

  .betEa_list li{
	border-bottom: 1px solid var(--global-gray-50);
	padding: 8px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
  }
  .betEa_list li:last-child{border: none;}

  .betEa_table td{
	display: flex;
	align-items: center;
	gap: 3px;
	line-height: 1;
  }

  .betEa_table td .bar{
	width: 0.4rem;
	border: 1px solid var(--main-black);
  }

/* 削除確認モーダルのスタイル */
.delete-confirm-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 999999 !important;
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.delete-confirm-overlay.show {
    display: flex;
    opacity: 1;
}

.delete-confirm-modal {
    background: white;
    border-radius: 16px;
    padding: 32px 24px 24px;
    max-width: 320px;
    width: 90%;
    position: relative;
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.delete-confirm-overlay.show .delete-confirm-modal {
    transform: scale(1);
}

.modal-close-button {
    position: absolute;
    top: 16px;
    right: 16px;
    background: none;
    border: none;
    font-size: 24px;
    color: #999;
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.2s ease;
}

.modal-close-button:hover {
    background-color: #f5f5f5;
}

.delete-confirm-content {
    text-align: center;
    margin-bottom: 32px;
}

.delete-confirm-content h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    color: #333;
    line-height: 1.4;
}

.delete-confirm-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.confirm-delete-button,
.cancel-delete-button {
    width: 100%;
    padding: 16px 24px;
    border: none;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.confirm-delete-button {
    background-color: #ff4444;
    color: white;
    order: 1;
}

.confirm-delete-button:hover {
    background-color: #e63939;
    transform: translateY(-1px);
}

.cancel-delete-button {
    background-color: #f5f5f5;
    color: #666;
    order: 2;
}

.cancel-delete-button:hover {
    background-color: #e9e9e9;
}

/* レスポンシブ対応 */
@media (max-width: 480px) {
    .delete-confirm-modal {
        width: 95%;
        margin: 20px;
    }
}

/* 削除完了モーダルのスタイル */
.delete-success-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 999999 !important;
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.delete-success-overlay.show {
    display: flex;
    opacity: 1;
}

.delete-success-modal {
    background: white;
    border-radius: 16px;
    padding: 32px 24px 24px;
    max-width: 320px;
    width: 90%;
    position: relative;
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.delete-success-overlay.show .delete-success-modal {
    transform: scale(1);
}

.delete-success-content {
    text-align: center;
    margin-bottom: 24px;
}

.delete-success-content h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
    line-height: 1.4;
}

.delete-success-buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.success-ok-button {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: #4CAF50;
    color: white;
}

.success-ok-button:hover {
    background-color: #45a049;
    transform: translateY(-1px);
}

.aiKaime_deleteBox{
	border: 2px solid var(--ai-green);
	border-radius: 8px;
	background: var(--white);
	margin-top: 15px;
}

.deleteBox_ttl{
	background: var(--ai-green);
	color: var(--white);
	font-size: 1rem;
	font-weight: bold;
	padding: 5px 10px;
	text-align: left;
	width: 100%;
}

.selectCond_plan_list{
	margin: 15px auto;
	border: 1px solid var(--ai-green);
	border-radius: 5px;
	display: flex;
	align-items: center;
	max-width: 500px;
}

.selectCond_plan_list dt{
	font-weight: normal;
	color: var(--ai-green);
	font-size: 1rem;
	padding: 8px 10px;
	background: #D9FCFF;
	border-right:1px solid var(--ai-green);
	border-radius: 5px 0 0 5px;
}

.selectCond_plan_list dd{
	font-size: 1rem;
	font-weight: bold;
	padding: 8px 10px;
}

/* 選択行の背景色 */
.aiKaime_CheckBox-table tr.selected {
    background-color: #f0ffff; /* 緑系の薄い色 */
  }

  .aiKaime_CheckBox-table tr.honmei {
    background-color: #fff1f1 !important; /* 赤系の薄い色 */
  }

 .aiKaime_CheckBox-table .aiRank {
	min-width: calc(3.2rem + 10px);
	max-width: calc(3.2rem + 10px);
 }

 .aiKaime_CheckBox-table .aiRank img{
	width: 35px;
	height: auto;
	margin: 0 auto;
}

.aiKaime_CheckBox-table td.w-auto{
	width: auto;
	white-space: wrap;
}

 .aiKaime_CheckBox-table td.aiRank.race, .aiKaime_CheckBox-table th.aiRank.race{
	background: #fffaca;
 }

.aiKaime_CheckBox-table td.aiRank.match,.aiKaime_CheckBox-table th.aiRank.match{
	background: #D1F5D3;
  }


.selectCond_plan_list2{
	background: linear-gradient(90deg,rgba(0, 185, 202, 1) 30%, rgba(38, 212, 228, 1) 100%);
	border-radius: 8px;
	padding: 2px;
	max-width: 500px;
	margin: 0 auto 25px;
}

.selectCond_plan_list2 dt{
	font-size: 1rem;
	color: var(--white);
	display: flex;
	gap: 6px;
	align-items:center;
	justify-content: center;
	padding: 8px;
}

.selectCond_plan_list2 dt .ico img{
	height: 1.6em;
	width: auto;
	filter: brightness(0) saturate(100%) invert(100%) sepia(9%) saturate(6032%) hue-rotate(261deg) brightness(121%) contrast(107%);
}

.selectCond_plan_list2 dd{
	background: var(--white);
	border-radius:0 0 6px 6px;
	padding: 8px;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	color: var(--ai-green);
	text-shadow: 0px 0px 6px rgba(195, 255, 253, 1);
	position: relative;
}

.selectCond_plan_list2 dd::after{
	content: "";
	position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 15px 15px 0 15px;
  border-color: var(--ai-green) transparent transparent;
  translate: -50% 100%;
}

.aiKaime_card{
	background: linear-gradient(90deg,rgba(66, 227, 178, 1) 0%, rgba(0, 185, 202, 1) 50%, rgba(72, 142, 240, 1) 100%);
	padding: 4px;
	border-radius: 8px;
	margin-bottom: 8px;
	 box-shadow: 0px 0px 15px 0px rgba(66, 227, 178,0.5);
}

.aiKaime_card__header{
	display: flex;
	justify-content: space-between;
	padding: 4px 4px 8px;
}

.aiKaime_card__header dt{
	font-size: 1rem;
    color: var(--white);
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    padding: 8px 0;
}

.aiKaime_card__header dt .ico img{
	height: 2em;
	width: auto;
	filter: brightness(0) saturate(100%) invert(100%) sepia(9%) saturate(6032%) hue-rotate(261deg) brightness(121%) contrast(107%);
}

.aiKaime_card__header dd{
	border-radius: 6px;
	font-size: 1rem;
	background: linear-gradient(90deg,rgba(64, 88, 87, 1) 30%, rgba(38, 38, 38, 1) 100%);
	color: #3bffc8;
	padding:0 12px;
	display: flex;
	align-items: center;
}

.aiKaime_card__inner{
	background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 6px;
	padding: 8px;
}

.betEa_table .odds{
	font-size: 0.7rem;
	margin-left: 5px;
}

.betEa_table .num{
	font-family: var(--roboto);
	font-weight:500;
	font-size: 1.2em;
	margin-right: 2px;
}

.aiKaime_umaren{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.aiKaime_umaren.sub{
	border-top: 1px solid var(--ai-green);
	padding-top: 10px;
	margin-top: 10px;
	padding-bottom: 5px;
}

.aiKaime_umaren li{
	display: flex;
    align-items: center;
    gap: 5px;
    line-height: 1;
}

.aiKaime_umaren li .hn{
	border-radius: 3px;
    padding: 8px;
    line-height: 1;
    font-family: var(--roboto);
    font-weight: bold;
    font-size: 1.2rem;
    width: calc(1.2rem + 16px);
    height: calc(1.2rem + 16px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.aiKaime_umaren.main li .hn{
	font-size: 1.6rem;
	width: calc(1.6rem + 16px);
    height: calc(1.6rem + 16px);
}

.aiKaime_umaren li .bar{
	width: 0.6rem;
    border: 1px solid var(--main-black);
}

.aiKaime_umaren.main li .bar{
	width: 0.8rem;
    border: 1px solid var(--main-black);
}

.aiKaime_umaren li .odds{
	font-size: 0.9rem;
	margin-left: 5px;
}

.aiKaime_umaren.main li .odds{
	font-size: 1rem;
	margin-left: 5px;
}

.aiKaime_umaren li .odds .num{
	font-family: var(--roboto);
	font-weight:500;
	font-size: 1.2em;
	margin-right: 2px;
}

.aiKaime_umaren.main li .odds .num{
	font-weight:600;
}

.betBox_betAmount_wrap  .aiKaime_card__odds,.betBox_betAmount_wrap  .aiKaime_card__num{
	font-size: 1rem;
}

.betBox_betAmount_wrap  .aiKaime_card__odds .num,.betBox_betAmount_wrap  .aiKaime_card__num .num{
	font-size: 1.4em;
	font-weight: bold;
	font-family: var(--roboto);
}

.aiPicup__wrap{
	max-width: 500px;
	margin: 0 auto;
}

.aiPicup__wrap.mb30{
	margin-bottom: 30px;
}

.aiKaime_CheckBox-table.picupList td.mark{
	text-align: center;
}

#aiKaime_loading,#aiKaime_loading2{
	/* width: 100vw;
  height: 100vh;
  background: linear-gradient(320deg,rgba(71, 132, 234, 0.9) 0%, rgba(66, 227, 178, 0.9) 92%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  left: 0 ;
  top: 0;
  z-index: 999; */
  display: none;
}

body.appear,body.appear2,body.appear2-2{
	overflow: hidden;
}

/*bodyにappearクラスがついたら出現*/
body.appear #aiKaime_loading,body.appear2 #aiKaime_loading2,body.appear2-2 #aiKaime_loading2-2{
    display: flex;
	 align-items: center;
  	justify-content: center;
    content: "";
    position:fixed;
	z-index: 999;
    width: 100vw;
    height: 100vh;
    top: 0;
	left: 0;
    transform: scaleX(0);
     background: linear-gradient(320deg,rgba(71, 132, 234, 0.9) 0%, rgba(66, 227, 178, 0.9) 92%);/*伸びる背景色の設定*/
	animation-name:PageAnime;
	animation-duration:0.5s;
	animation-timing-function:ease-in-out;
	animation-fill-mode:forwards;
}

@keyframes PageAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	100% {
		transform-origin:left;
		transform:scaleX(1);
	}
	/* 50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	} */
}


.aiK-load__spiner, .aiK-load__spiner2,.aiK-load__spiner2-2{
	width: 33vw;
	min-height: 33vw;
	position: relative;
	 opacity: 0;
	 visibility: hidden;
	 /* transition: opacity 0.6s ease; */
	/* display: none; */
}
.aiK-load__spiner2.active {
  opacity: 1;
  visibility: visible;
}

.aiK-load__spiner .ico img, .aiK-load__spiner2 .ico img{
	position: absolute;
	left:32%;
	top: 32%;
	width: 36%;
	height: 36%;
	z-index: 100;
}

.aiK-load__spiner2-2 .ico img{
	position: absolute;
	left:32%;
	top: 32%;
	width: 40%;
	height: 40%;
	z-index: 100;
}

.aiK-load__spiner .pulse, .aiK-load__spiner2 .pulse{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  will-change: opacity, transform;
	/* display: none; */
}

.aiK-load__spiner2 .pulse .circle {
  position: absolute;
  width: 30%;
  height: 30%;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.7);
  animation: pulseCircle 1.2s cubic-bezier(.52,.6,.25,.99) infinite;
  opacity: 0;
  transform: scale(0);
}


/* 2番目・3番目に遅延をつける */
.pulse .circle:nth-child(2) {
  animation-delay: 0.2s;
}
.pulse .circle:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes pulseCircle {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(2.5);
    opacity: 0;
  }
}

.aiK-load__spiner::after{
	content: "";
	width: 50%;
	height: 50%;
	background: rgba(255,255,255,0.7);
	border-radius: 50%;
	position: absolute;
	left: 25%;
	top: 25%;
}

.aiK-load__spiner2::after{
	content: "";
	width: 50%;
	height: 50%;
	background: rgba(255,255,255,0.7);
	border-radius: 50%;
	position: absolute;
	left: 25%;
	top: 25%;
}

.aiK-load__spiner .credit_wrap, .aiK-load__spiner2 .credit_wrap, .aiK-load__spiner2-2 .credit_wrap{
	display: flex;
	justify-content: center;
}

.aiK-load__spiner .credit, .aiK-load__spiner2 .credit, .aiK-load__spiner2-2 .credit{
	color: var(--white);
	font-weight:500;
	font-size: 0.9rem;
	white-space: nowrap;
	text-align: center;
	font-family: var(--roboto);
	position: absolute;
	bottom: 0;
}

.ld-bounce {
  animation: ld-bounce 1s infinite linear;
  transform-box: fill-box;
}
@keyframes ld-bounce
{
  0% {
    animation-timing-function: cubic-bezier(0.138,0.2541,0.2177,0.8747);
    transform: translate(0,0%) scaleY(1);
  }
  37% {
    animation-timing-function: cubic-bezier(0.7679,0.1817,0.8401,0.7167);
    transform: translate(0,-39.96%) scaleY(1);
  }
  72.2% {
    animation-timing-function: cubic-bezier(0.1045,0.2026,0.2224,0.9608);
    transform: translate(0,0%) scaleY(1);
  }
  87.2% {
    animation-timing-function: cubic-bezier(0.7463,0.2314,0.8159,0.6941);
    transform: translate(0,19.85%) scaleY(0.603);
  }
  100% {
    transform: translate(0,0%) scaleY(1);
  }
}

.aiKaime_label_rec{
	background: var(--red);
	border-radius: 100px;
	line-height: 1;
	padding: 5px 10px;
	color: var(--white);
	font-size: 0.7rem;
	font-weight: bold;
	margin-top: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#aiConditionGeneratedArea{
	margin-top: 1rem;
}

/* PC表示用のレスポンシブスタイル (768px〜) */
@media (min-width: 768px) {

	.aiKaime_header{
		font-size: 1.6rem;
		padding: 12px 20px;
	}

	.aiKaime_container{
		margin: 20px;
	}

	.el_aiKaime_btn{
		font-size: 1.3rem;
		padding: 20px 50px 20px 30px;
	}

	.selectCond_btn{
		padding:8px 10px;
		font-size: 0.9rem;
	}

	.selectCond_inner{
		flex-wrap: wrap;
		justify-content: center;
	}
	

	.aiKaime_fixMenu_inner{
		width: 1050px;
		margin: 0 auto;
	}

	.aiKaime_checkBox_section {
		margin: 0 auto 40px;
		max-width: 500px;
	}

	.ai_score .rank{
		font-size: 1.2em;
	}

	.ai_score li{
		font-size: 0.9rem;
	}
	
	.aiKaime_CheckBox-table .horse-detail .favourite{
		font-size: 0.9rem;
	}

	.aiKaime_CheckBox-table .horse-detail .bold{
		font-size: 1.1rem;
	}

	.aiKaime_degreeList{
		font-size: 0.8rem;
	}

	.aiKaime_CheckBox-table .horse-number{
		font-size: 1.2rem;
	}

	.aiKaime_favoHorse td.horse-detail .name{
		font-size: 1.2rem;
	}

	.aiKaime_favoHorse td.horse-number{
		font-size: 1.2rem;
	}

	.aiKaime_favoHorse td.favoMark{
		font-size: 1.2rem;
	}

	.aiKaime_favoHorse td{
		padding: 10px;
	}

	.aiKaime_CheckBox-table .mark-on{
		font-size: 1.2rem;
	}

	.aiKaime_checkBoxTtl{
		font-size: 1.2rem;
	}

	.betEa_header,.betEa_content .close-btn{
		font-size: 0.9rem;
	}

	.betBox_bet-field .total{
		font-size: 1.2rem;
	}

	.aiKaime_betBox__list-wrap{
		gap: 20px;
	}

	.aiKaime_betBox__list-wrap{
		margin-bottom: 30px;
	}

	.selectCond_planName{
		font-size: 1.3rem;
		margin-top: 15px;
	}
	
	.selectCond_plan_list{margin: 30px auto;}

	.selectCond_plan_list dt,.selectCond_plan_list dd{font-size: 1.2rem;}

	.selectCond_plan_list dt{
		padding: 10px 15px;
	}

	.selectCond_plan_list dd{
		padding: 10px 15px;
	}
	
	.aiKaime_CheckBox-table.picupList .horse-number,.aiKaime_CheckBox-table.picupList .mark{
		font-size: 1.2rem;
		padding: 8px 10px;
	}

	.aiKaime_card__header dt{
		font-size: 1.1rem;
	}

	.aiKaime_card__header dd{
		font-size: 1.1rem;
		padding: 8px 15px;
		border-radius: 8px;
	}


	.aiKaime_umaren li{
		gap: 5px;
	}

	.aiKaime_umaren li .odds {
    font-size: 1rem;
    margin-left: 5px;
	}

	.aiKaime_umaren.main li .odds {
    font-size: 	1.1rem;
    margin-left: 5px;
	}

	.aiKaime_card__inner{
	padding: 15px;
	border-radius: 8px;
	}


	.betBox_betTable td {
    gap: 8px;
	}

	.aiKaime_card{
		padding: 8px;
		border-radius: 15px;
	}

	.aiKaime_card__header{
		padding:4px 4px 12px 4px;
	}

	.aiK-load__spiner, .aiK-load__spiner2,.aiK-load__spiner2-2{
	width: 250px;
	min-height:  250px;
	position: relative;
	 opacity: 0;
	 visibility: hidden;
	}

	.aiK-load__spiner .credit, .aiK-load__spiner2 .credit, .aiK-load__spiner2-2 .credit{
	font-size: 1.2rem;
	bottom: 15px;
	}

}