@charset "UTF-8";

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

	reset, common

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

.genai-contents .pc { display: block; }
.genai-contents .pc_il { display: inline-block; }
.genai-contents .sp { display: none !important; }

@media (max-width: 575px) {
	.genai-contents .pc,
	.genai-contents .pc_il { display: none !important; }
	.genai-contents .sp { display: block !important; }
}

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

	genai header

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

.genai-header { text-align: center; padding: 60px 1.25rem 40px; border-top: 1px solid #eaeaea; }
.genai-header .main-head { margin-bottom: 32px; }
.genai-header .main-ttl {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 30px;
	/*letter-spacing: .1em;*/
	line-height: 1.4;
}
.genai-header .summary { font-size: 1.1rem; letter-spacing: .05em; margin-bottom: 0; }
.genai-header #suggest-target {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 800px;
	margin: 0 auto 50px;
}
.genai-header #suggest-target .suggest-button {
	display: block;
    border: 1px solid #fff;
    border-radius: 0.25rem;
    background: rgba(237,236,234,1);
    padding: 0.5rem 0.75rem;
    color: #000 !important;
	font-size: min(2vw, 0.9375rem);
    outline: none !important;
    text-decoration: none !important;
    text-align: center;
    transition: all .2s ease;
    cursor: pointer;
	margin-right: 0.875rem;
    margin-top: 0.875rem;
}
.genai-header #suggest-target .suggest-button:hover { background: rgba(237,236,234,.8); }
.genai-header #suggest-target .loading {
	width: 30px;
	height: 30px;
	border: 4px solid #cccccc;
	border-top-color: #0d497f;
	border-radius: 50%;
	animation: genai-spin 1s linear infinite;
	margin: 0 auto;
}

#rtgai-search-form { display: flex; position: relative; max-width: 700px; margin: 0 auto; }
#rtgai-search-form .input-wrap { flex: 1; position: relative; }

@keyframes genai-spin {
	to { transform: rotate(360deg); }
}

input:-webkit-autofill,
input:-internal-autofill-selected { -webkit-box-shadow: 0 0 0px 1000px #edecea inset; }
#rtgai-search-form #rtgai-input {
	width: 100%;
    height: 40px;
    height: 2.5rem;
    padding: 0 12px;
    padding: 0 0.75rem;
    background: #edecea;
    border: none;
    border-radius: 0 !important;
    outline: none;
    font-size: 16px;
    font-size: 1rem;
}
#rtgai-search-form #rtgai-label {
	position: absolute;
    top: 50%;
    left: 12px;
    left: 0.75rem;
    transform: translateY(-50%);
    margin-bottom: 0;
    color: #999999;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.2;
	padding-left: 1.5rem;
    pointer-events: none;
	opacity: 1;
	transition: opacity 0.2s ease;
}
#rtgai-search-form #rtgai-input:focus + #rtgai-label,
#rtgai-search-form #rtgai-input:not(:placeholder-shown) + #rtgai-label { opacity: 0; }

#rtgai-search-form #rtgai-label:before {
	display: inline-block;
	font-family: "icnfont";
	font-size: inherit;
	font-style: normal;
	line-height: 1;
	text-rendering: auto;
	content: "\ea13";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	font-size: 1.125rem;
	opacity: 1;
}
#rtgai-search-form #rtgai-input:focus + #rtgai-label:before,
#rtgai-search-form #rtgai-input:not(:placeholder-shown) + #rtgai-label:before { opacity: 0; }

#rtgai-search-form .rtgai-search-submit {
    background: #777576;
    border: none;
    color: #ffffff;
    font-size: 0.875rem;
    outline: none !important;
    word-break: break-all;
    line-height: 1;
	transition: .2s;
	width: 8.625rem;
	/* width: 10.625rem; */
}
#rtgai-search-form .rtgai-search-submit:hover { background: #9a9a9a; }
#rtgai-search-form .rtgai-search-submit:disabled {
	cursor: default !important;
	background-color: #ddd !important;
	color: #000 !important;
}
#rtgai-search-form .search-close {
    position: absolute;
    top: 50%;
    right: 12px;
    right: 0.75rem;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    outline: none !important;
    transform: translateY(-50%);
    color: #92918e !important;
    line-height: 1;
    font-size: 20px;
    font-size: 1.25rem;
    cursor: pointer;
	opacity: 0;
}
#rtgai-search-form .search-close.is-show,
#rtgai-search-form #rtgai-input:not(:placeholder-shown) ~ .search-close,
#rtgai-search-form #rtgai-input:focus ~ .search-close { opacity: 1;	pointer-events: auto; }

@media (max-width: 575px) {
	.genai-header { padding: 6vw 0.9375rem 4vw; }
	.genai-header .main-ttl { font-size: 1.125rem; margin-bottom: 5vw; }
	.genai-header .main-head { margin-bottom: 4vw; }
	.genai-header .summary { font-size: 0.875rem; }	
	.genai-header #suggest-target { max-width: 90%; margin-bottom: 6vw; }
    .genai-header #suggest-target .suggest-button {
        border-radius: 0.25rem;
        padding: 0.4375rem 0.625rem;
        font-size: .6875rem;
		margin-right: 0.5rem;
        margin-top: 0.5rem;
    }
	
	#rtgai-search-form .rtgai-search-submit { display: none; width: 10.625rem; }
	#rtgai-search-form .rtgai-search-submit { width: 10.625rem; }
	#rtgai-search-form #rtgai-label { padding-left: 1.875rem; font-size: 0.83375rem; text-align: left; }
	#rtgai-search-form #rtgai-label:before { font-size: 1rem; }
}

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

	genai container

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

.genai-wrap { padding: 0 1.25rem; }
.genai-inner { max-width: 1170px; margin-right: auto; margin-left: auto; }

.container-target * { margin: 20px 0 0 0; padding: 0 0.9375rem; }
.genai-icon-group-container * { visibility: hidden; height: 1%; }
.genai-container * { margin: 0; padding: 0; box-sizing: border-box; }
.genai-container .genai-section { margin-top: 3.5rem; }
.genai-container .genai-section:first-child { margin-top: 2.5rem; }
.genai-container .genai-caption { font-size: 1.125rem; font-weight: bold; }
.genai-container .genai-items {
    list-style-type: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 0 2.5641%;
    padding-left: 0;
}
.genai-container .genai-item {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	margin-top: 1.875rem;
}
.genai-container .genai-item a { text-decoration: none; }
.genai-container .genai-image {
	width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
	margin-bottom: 0.75rem;
}

/* brand */
.genai-item .genai-brand { font-size: 0.75rem; line-height: 1.2; }

/* name */

.genai-container .genai-text,
.genai-container .genai-name {
	font-size: min(2vw, 0.9375rem);
	line-height: 1.3;
	margin-top: 0.25rem;
	/* 文字数制限したい時用
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	*/
}
/* 文字数制限したい時用
.genai-item .genai-text:first-of-type {
	display: -webkit-box;
	-webkit-line-clamp: 2; 
	-webkit-box-orient: vertical;
}
*/

/* tag */

.genai-item .label_items {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin-top: 0.1875rem;
	line-height: 1;
}
.genai-item .label_items li { margin-right: 0.375rem; margin-top: 0.35rem; line-height: 1; }
.genai-item .label_items li span {
	display: block;
	vertical-align: middle;
	white-space: nowrap;
	line-height: 1;
	color: #c73339;
	font-size: 0.6875rem;
}
.genai-item .label_items .is-shopping {
	padding: 0.1875rem;
	border: 1px solid #c73339;
}
.genai-item .label_items .is-new {
	font-family: ciabatta, "游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic", "メイリオ", "Meiryo", "Noto Sans", "Noto Sans CJK JP", "system-ui", sans-serif;
    font-weight: 500;
    font-style: italic;
    font-size: 16px;
    font-size: 1rem;
}
.genai-item .label_items .is-fund {	color: #e52520; display: flex; align-items: center; }
.genai-item .label_items .is-fund:before {
	content: "";
	display: block;
	position: relative;
	background: url(../../../../../common/images/utils/icn-del-ptn/fund.png) 0 0 / contain no-repeat;
	width: 0.9375rem;
	height: 0.9375rem;
	margin-right: 0.1875rem;
}

/* price */

.genai-item .genai-price {
	font-size: 0.9375rem;
	margin-top: 0.3125rem;
	font-weight: 900;
	font-family: "Roboto", "游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic", "メイリオ", "Meiryo", "Noto Sans", "Noto Sans CJK JP", "system-ui", sans-serif;
}
.genai-item .genai-price span {
	display: block;
	font-weight: 900;
	font-size: 0.9375rem;
	line-height: 1.2;
}
.genai-item .genai-price .genai-price_sale { color: #c73339; }
.genai-item .genai-price .genai-price_cost {
	color: #999;
	text-decoration: line-through;
	text-decoration-color: #c73339;
	text-decoration-style: double;
}

@media (max-width: 767px) {
	.genai-item .genai-price { font-size: 0.6875rem; }
}
@media (max-width: 575px) {
	.genai-wrap { padding-right: 0.9375rem; padding-left: 0.9375rem; }
	.genai-container .genai-section:first-child { margin-top: 2rem; }
	.genai-container .genai-section:not(:first-child) { margin-top: 2.5rem; border-top: 1px solid #eaeaea; padding-top: 2rem; }
	.genai-container .genai-caption { font-size: 0.9375rem; line-height: 1.4; }
	
	.genai-container .genai-items { display: flex; flex-wrap: wrap; margin-right: -2.5641%; gap: 0; }
	.genai-container .genai-item { margin-top: 1.25rem; width: calc(100%/2 - 2.5641%); margin-right: 2.5641%; }
	.genai-item .genai-brand { font-size: 0.625rem; }
	.genai-container .genai-text,
	.genai-container .genai-name { font-size: 0.75rem; margin-top: 0.375rem; }
	.genai-item .label_items { margin-top: 0; }
	.genai-item .label_items li { margin-top: 0.25rem; }
	.genai-item .label_items li span { font-size: 0.5625rem; }
	.genai-item .label_items .is-shopping { padding: 0.15rem; }
	.genai-item .label_items .is-new { font-size: 0.8125rem; }
	.genai-item .label_items .is-fund:before { width: 0.75rem; height: 0.75rem; }
	.genai-item .genai-price { margin-top: 0.3rem; }
	.genai-item .genai-price span { font-size: 0.6875rem; }
}

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

	genai footer

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

.genai-footer { padding: 0 1.25rem 40px; }

@media (max-width: 575px) {
	.genai-footer { padding: 0 0.9375rem 4vw; }
}