/*　メイン　-------------------------------------------------------------------------------------*/
main{
	width:90%;
	margin:0 auto;
	max-width:1280px;

	font-size:18px;
	margin-bottom:100px;

	/*--変数--*/
	--border: #e5e7eb;
	--text_color: #333333;
	--shadow: 0 10px 25px rgba(0,0,0,0.08);
    --brand: #5b8def;      /* メインカラー */
    --brand-2: #8b5cf6;    /* アクセント（グラデ） */
    --warn: #f59e0b;
    --error: #ef4444;

	color:var(--text_color);

}

/*　タイトル　--------------------------------------------------------------------------------------*/
.CTitle h1{
    /*font-size:26px;*/
    font-size:26px;
    font-weight:500;
    margin-top:100px;
    margin-bottom:20px;
}
.CTitle img{
    width:70%;
    display:block;
    margin:0 auto;
}
.CTitle .CPR{
    font-size:18px;
    text-align:center;
    margin-top:10px;
}

@media only screen and (max-width:960px){
    .CTitle img{
        width:100%;
    }
    .CTitle .CPR{
        font-size:16px;
    }
}

/*　カード　----------------------------------------------------------------------------------------*/
.CCard{
	border-radius:20px;
	border: 1px solid rgb(200 200 230);

	padding: 20px 20px 36px 20px;
}

/* inputのスピンボタンを消す */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* 入力エリア -----------------------------------------------------------------------------------*/
.CEnter{
	display:grid;
	gap:14px;
	grid-template-columns: repeat(3, 1fr); /*横幅があれば３列*/
}
.CEnter_p{
	margin:10px 0;
}
.CEnter input[type="text"]{
    width: 100%;
    height:50px;
    font-size: 18px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: transparent;
    color: var(--text_color);
    outline: none;
    transition: box-shadow .15s ease, border-color .15s ease, transform .05s ease;
    -webkit-appearance: none;
    appearance: textfield;

    text-align:center;
}
.CEnter input:focus {
	border-color: #5b8def;
	box-shadow: 0 0 0 4px rgba(91, 141, 239, 0.45);
}

@media only screen and (max-width:960px){/*スマホ対応*/
	.CEnter{
		grid-template-columns: repeat(1, 1fr); /*1列*/
	}
}


/* 重複エリア-------------------------------------------------------------------------------------*/
.CDuplicate{
	display:flex;
	padding:20px 10px;
}


/* ボタンエリア------------------------------------------------------------------------------------*/
.CBuCo{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 6px;
}
.CBu{
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: #ffffff;
    color: var(--text_color);
    cursor: pointer;
    transition: transform .06s ease, box-shadow .15s ease, background .15s, opacity .15s;
    box-shadow: var(--shadow);
    font-size:18px;
    font-weight: 600;
}
.CBu:disabled{
	opacity: 0.5;
	cursor: not-allowed;
	box-shadow: none;
}
/*.bu:active { transform: translateY(5px); }*/
button.pressed{
	transform: translateY(5px);
}

.CBuGenerate{
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 92%, white), color-mix(in srgb, var(--brand-2) 65%, white));
    color: white;
    border: none;
}
.CBuCopy{
	background: transparent;
	/*border: 1px solid var(--border);*/
}
.CBuClear{
	background: color-mix(in srgb, var(--warn) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--warn) 45%, var(--border));
}


/* エラー表示エリア---------------------------------------------------------------------------------*/
.CError{
    margin: 8px 0 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid var(--border);

    color: white;
    background: var(--error);
    border-color: transparent;
}

/*　結果表示--------------------------------------------------------------------------------------*/
.CResultCo{
	padding:20px 20px;
	line-height:1.4;
}
.CResultCo p{
	font-weight:500;
	margin-bottom:10px;
}



/*　広告--------------------------------------------------------------------------------------*/
.CAdvert{
    text-align:center;
    max-width:100%;
    margin-top:100px;
}















