/*メインビジュアル*/
.mv {background:#fff url('') no-repeat;}
.mv .mv-inner{display: grid; place-content: center; place-items: center; min-height: 400px; padding: 5rem 0;}
.mv .mv-inner.shadow{background-color: rgba(0,0,0,.4);}
.mv .catch-copy {color: #fff;font-size: 46px; font-weight: normal;}
.mv .sub-catch {color: #50c11f;font-size: 28px;font-weight: normal; margin-bottom: 5%}
@media screen and (max-width: 800px) {
.mv .catch-copy {font-size: 28px;}
.mv .sub-catch {font-size: 20px;}
}

/*お申し込みボタン（共通）*/
.cv-btn {display:block; border-radius: 30px; border: none; width: 300px; height: 60px;font-weight: bold; text-align: center; transition: .4s; cursor: pointer; line-height: 60px;margin: 0 auto;background: #9cc9e5; color: #fff;font-size: 18px;}
.cv-btn:hover {opacity: 0.6; box-shadow: none;color: #fff;}
@media screen and (max-width: 800px) {
.cv-btn {font-size: 16px;width: 90%}
}
/*PV*/
.pv {background: #000}
.pv-inner {margin: 0 auto; width: 800px;position: relative;padding: 5% 0}
.movie {position: relative; width: 100%; padding-top: 56.25%;margin:0 auto 15px;}
.movie iframe{position: absolute; top: 0; right: 0; width: 100% !important;height: 100% !important;}
@media screen and (max-width: 800px) {
.pv-inner {width: 100%}
}
/*コース説明*/
.course-sec {padding: 5% 0;background: #f7f7f7;}
.course-sec .course-sec-inner{margin: 0 auto; width: 900px;padding: 5% 0}
.course-sec .course-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.course-sec .course-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.course-sec .course-sec-inner .txt {font-size: 16px;margin-bottom: 5%}
@media screen and (max-width: 800px) {
.course-sec .course-sec-inner{width: 94%;}
.course-sec .course-sec-inner h2 {font-size: 20px;}
.course-sec .course-sec-inner .txt {}
}
/*カリキュラム*/
.curriculum-sec {padding: 5% 0;background: #FFFFFF;}
.curriculum-sec .curriculum-sec-inner{margin: 0 auto; width: 900px;}
.curriculum-sec .curriculum-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.curriculum-sec .curriculum-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.curriculum-sec .curriculum-sec-inner .table-lesson {width: 100%;margin-bottom: 5%}
.curriculum-sec .curriculum-sec-inner .table-lesson th {font-weight: bold; color: #fff;background: #000;font-size: 16px;}
.curriculum-sec .curriculum-sec-inner .table-lesson td {font-weight: bold; color: #000;background: #F7F7F7;font-size: 16px;vertical-align: middle;padding: 2%;box-sizing: border-box;}
.curriculum-sec .curriculum-sec-inner .table-lesson .table-icon {width: 50px;}
.curriculum-sec .curriculum-sec-inner .table-lesson .table-button {width: 130px;}
.curriculum-sec .curriculum-sec-inner .table-lesson .table-button .view-btn {display: inline-flex; justify-content: center; align-items: center; background: #454552; color: #fff; border-radius: 30px; border: none; min-width: auto; padding: 0 1.25rem; height: 1.75rem; font-size: 11px; -webkit-appearance: none; font-weight: bold;text-align: center;letter-spacing: 0.05rem; transition: .4s;line-height: 1;}
.curriculum-sec .curriculum-sec-inner .table-lesson .table-button .view-btn:hover {opacity: 0.7;}
@media screen and (max-width: 800px) {
.curriculum-sec .curriculum-sec-inner{width: 94%;}
.curriculum-sec .curriculum-sec-inner h2 {font-size: 20px;}
.curriculum-sec .curriculum-sec-inner .table-lesson th {font-size: 16px;}
.curriculum-sec .curriculum-sec-inner .table-lesson td {padding: 2% 1%;font-size: 16px;}
.curriculum-sec .curriculum-sec-inner .table-lesson .table-button {width: 100px;}
.curriculum-sec .curriculum-sec-inner .table-lesson td .view-btn { height: 30px;font-size: 11px;}
}
/*講師紹介*/
.teacher-sec {padding: 5% 0;background: #F7F7F7;}
.teacher-sec .teacher-sec-inner{margin: 0 auto; width: 900px;}
.teacher-sec .teacher-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.teacher-sec .teacher-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.teacher-sec .teacher-sec-inner .teacherBox {display: table;width: 100%; border-bottom: 1px solid rgba(255,255,255,.50);margin-bottom: 4%;}
.teacher-sec .teacher-sec-inner .teacherBox:last-child {border-bottom: none;}
.teacher-sec .teacher-sec-inner .teacherBox figure {display: table-cell;vertical-align: middle;box-sizing: border-box;padding: 2%;width: 30%;}
.teacher-sec .teacher-sec-inner .teacherBox figure img {width: 100%;height: auto;}
.teacher-sec .teacher-sec-inner .teacherBox .teacher-prof {display: table-cell;vertical-align: top;padding: 2%;width: 70%;}
.teacher-sec .teacher-sec-inner .teacherBox .teacher-prof h3{color: #1466D5;font-size: 18px;margin-bottom: 2%}
.teacher-sec .teacher-sec-inner .txt {font-size: 16px;margin-bottom: 5%}
@media screen and (max-width: 800px) {
.teacher-sec .teacher-sec-inner{width: 94%;}
.teacher-sec .teacher-sec-inner h2 {font-size: 20px;}
.teacher-sec .teacher-sec-inner .teacherBox .teacher-prof h3{font-size: 16px;}
.teacher-sec .teacher-sec-inner .teacherBox {display: block;}
.teacher-sec .teacher-sec-inner .teacherBox figure {display: block;width: 60%;margin: 0 auto 2%}
.teacher-sec .teacher-sec-inner .teacherBox .teacher-prof {display: block;width: 100%; margin: 0 auto 2%}	
}
/*特典情報*/
.benefit-sec {padding: 5% 0;background: #FFFFFF;}
.benefit-sec .benefit-sec-inner{margin: 0 auto; width: 900px;}
.benefit-sec .benefit-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.benefit-sec .benefit-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.benefit-sec .benefit-sec-inner h3 {position: relative;text-align: left; color: #000;font-size: 18px;margin-bottom: 1%;}
.benefit-sec .benefit-sec-inner h3:before { position: absolute; bottom: -5px; width: 100%; height: 2px; content: '';background: #000}
.benefit-sec .benefit-sec-inner .benefitBox {display: block;width: 100%; }
.benefit-sec .benefit-sec-inner .benefitBox:last-child {border-bottom: none;}
.benefit-sec .benefit-sec-inner .benefitBox .cnt {overflow: hidden;width: 100%;}
.benefit-sec .benefit-sec-inner .benefitBox .cnt figure {float: left;width: 30%;box-sizing: border-box;padding: 2% 2% 2% 0;}
.benefit-sec .benefit-sec-inner .benefitBox .cnt figure img {width: 100%;height: auto;}
.benefit-sec .benefit-sec-inner .benefitBox .cnt .desc {float: right;padding: 2%;width: 70%;}
@media screen and (max-width: 800px) {
.benefit-sec .benefit-sec-inner{width: 94%;}
.benefit-sec .benefit-sec-inner h2 {font-size: 20px;}
.benefit-sec .benefit-sec-inner h3{font-size: 16px;}
.benefit-sec .benefit-sec-inner .benefitBox .cnt figure,
.benefit-sec .benefit-sec-inner .benefitBox .cnt .desc {display: block;width: 100%; margin: 0 auto 2%;padding: 2% 0}	
}
/*こんな方におすすめ*/
.recommended-sec {padding: 5% 0;background: #F7F7F7;}
.recommended-sec .recommended-sec-inner{margin: 0 auto; width: 900px;}
.recommended-sec .recommended-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.recommended-sec .recommended-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.recommended-sec .recommended-sec-inner .recommendedBox {background: #fff;box-sizing: border-box;border: 4px solid #8B8B8B;border-radius: 6px;margin-bottom: 5%; white-space: inherit;}
.recommended-sec .recommended-sec-inner .recommendedBox ul {overflow: hidden;box-sizing: border-box;padding: 4% 8%;list-style: none !important;}
.recommended-sec .recommended-sec-inner .recommendedBox ul li {width: 100%; box-sizing: border-box; float: left; position: relative; padding-left: 40px; margin-bottom: 20px;font-weight: normal;font-size: 18px;}
.recommended-sec .recommended-sec-inner .recommendedBox ul li:last-child{margin-bottom: 0}
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-1 li:before,
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-2 li:before,
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-3 li:before,
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-4 li:before,
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-5 li:before,
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-6 li:before {content: ''; position: absolute; width: 24px; height: 24px;top: calc(50% - 12.5px); left: 0;}
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-1 li:before {background:url("/assets/img/common/icon/icon-list-01.svg");}
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-2 li:before {background:url("/assets/img/common/icon/icon-list-02.svg");}
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-3 li:before {background:url("/assets/img/common/icon/icon-list-03.svg");}
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-4 li:before {background:url("/assets/img/common/icon/icon-list-04.svg");}
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-5 li:before {background:url("/assets/img/common/icon/icon-list-05.svg");}
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-6 li:before {background:url("/assets/img/common/icon/icon-list-06.svg");}
@media screen and (max-width: 800px) {
.recommended-sec .recommended-sec-inner{width: 94%;}
.recommended-sec .recommended-sec-inner h2 {font-size: 20px;}
.recommended-sec .recommended-sec-inner .recommendedBox ul li {font-size: 16px;padding-left: 30px;}
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-1 li:before,
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-2 li:before,
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-3 li:before,
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-4 li:before,
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-5 li:before,
.recommended-sec .recommended-sec-inner .recommendedBox ul.type-6 li:before {width: 22px; height: 22px;top: calc(50% - 10.5px);background-size: 100% auto;left: 0;}
}
/*商品/サービス概要*/
.overview-sec {padding: 5% 0;background: #FFFFFF;}
.overview-sec .overview-sec-inner{margin: 0 auto; width: 900px;}
.overview-sec .overview-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.overview-sec .overview-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.overview-sec .overview-sec-inner .overviewBox {box-sizing: border-box;margin-bottom: 5%;padding: 4%; background: #fff;border: 4px solid #8B8B8B;border-radius: 6px;}
.overview-sec .overview-sec-inner .overviewBox dl {overflow: hidden;box-sizing: border-box;display: table;width: 100%;border-bottom: 1px solid rgba(0,0,0,.50);margin-bottom: 2%;font-size: 18px;}
.overview-sec .overview-sec-inner .overviewBox dl:last-child {border-bottom: 0;margin-bottom: 0;}
.overview-sec .overview-sec-inner .overviewBox dl dt {display: table-cell;vertical-align: top;width: 35%;box-sizing: border-box;padding: 1% 1% 2% 0;font-weight: bold;}
.overview-sec .overview-sec-inner .overviewBox dl dt span::after {content: ':'}
.overview-sec .overview-sec-inner .overviewBox dl dd {display: table-cell;vertical-align: top;width: 65%;box-sizing: border-box;padding: 1% 0 2% 1%}
@media screen and (max-width: 800px) {
.overview-sec .overview-sec-inner{width: 94%;}
.overview-sec .overview-sec-inner h2 {font-size: 20px;}
.overview-sec .overview-sec-inner .overviewBox dl {font-size: 16px;}
}
/*購入プラン*/
.plan-sec {padding: 5% 0;background: #F7F7F7;}
.plan-sec .plan-sec-inner{margin: 0 auto; width: 900px;}
.plan-sec .plan-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.plan-sec .plan-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.plan-sec .plan-sec-inner .planBox {box-sizing: border-box;margin-bottom: 5%;padding: 4%; background: #fff;border: 4px solid #8B8B8B;border-radius: 6px; white-space: inherit;}
.plan-sec .plan-sec-inner .planBox dl {overflow: hidden;box-sizing: border-box;width: 100%;padding-bottom: 1%; border-bottom: 1px solid rgba(0,0,0,.20);margin-bottom: 3%;font-size: 18px;}
.plan-sec .plan-sec-inner .planBox dl:last-child {border-bottom: 0;margin-bottom: 0;}
.plan-sec .plan-sec-inner .planBox dl dt {display: block;width: 100%;font-weight: normal;margin-bottom: 1%}
.plan-sec .plan-sec-inner .planBox dl dt span[data-rel="detailtitle"]::before {padding-right: 10px;}
.plan-sec .plan-sec-inner .planBox dl dd {display: block;width: 100%;font-weight: normal;padding-bottom: 1%}
.plan-sec .plan-sec-inner .planBox dl dd span[data-rel="detailbody"]::before {padding-right: 10px;}
.plan-sec .plan-sec-inner .planBox dl dt span p:first-child,
.plan-sec .plan-sec-inner .planBox dl dd span p:first-child{display: contents;}

@media screen and (max-width: 800px) {
.plan-sec .plan-sec-inner{width: 94%;}
.plan-sec .plan-sec-inner h2 {font-size: 20px;}
.plan-sec .plan-sec-inner .planBox dl {font-size: 16px;}
}
/*お客様の声紹介*/
.voice-sec {padding: 5% 0;background: #F7F7F7;}
.voice-sec .voice-sec-inner{margin: 0 auto; width: 900px;}
.voice-sec .voice-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.voice-sec .voice-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.voice-sec .voice-sec-inner .voiceBox {display: table;width: 100%; border-bottom: 1px solid rgba(255,255,255,.50);margin-bottom: 4%;}
.voice-sec .voice-sec-inner .voiceBox:last-child {border-bottom: none;}
.voice-sec .voice-sec-inner .voiceBox figure {display: table-cell;vertical-align: middle;box-sizing: border-box;padding: 2%;width: 30%;}
.voice-sec .voice-sec-inner .voiceBox figure img {width: 100%;height: auto;}
.voice-sec .voice-sec-inner .voiceBox .voice-prof {display: table-cell;vertical-align: top;padding: 2%;width: 70%;}
.voice-sec .voice-sec-inner .voiceBox .voice-prof h3{color: #1466D5;font-size: 18px;margin-bottom: 2%}
.voice-sec .v-sec-inner .txt {font-size: 16px;margin-bottom: 5%}
@media screen and (max-width: 800px) {
.voice-sec .voice-sec-inner{width: 94%;}
.voice-sec .voice-sec-inner h2 {font-size: 20px;}
.voice-sec .voice-sec-inner .voiceBox .voice-prof h3{font-size: 16px;}
.voice-sec .voice-sec-inner .voiceBox {display: block;}
.voice-sec .voice-sec-inner .voiceBox figure {display: block;width: 60%;margin: 0 auto 2%}
.voice-sec .voice-sec-inner .voiceBox .voice-prof {display: block;width: 100%; margin: 0 auto 2%}
}
/*よくある質問*/
.faq-sec {padding: 5% 0;background: #F7F7F7;}
.faq-sec .faq-sec-inner{margin: 0 auto; width: 900px;}
.faq-sec .faq-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.faq-sec .faq-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.faq-sec .faq-sec-inner .faqBox {box-sizing: border-box;margin-bottom: 5%;padding: 4%; background: #fff;border: 4px solid #8B8B8B;border-radius: 6px; white-space: inherit;}
.faq-sec .faq-sec-inner .faqBox dl {overflow: hidden;box-sizing: border-box;width: 100%;padding-bottom: 1%; border-bottom: 1px solid rgba(0,0,0,.20);margin-bottom: 3%;font-size: 18px;}
.faq-sec .faq-sec-inner .faqBox dl:last-child {border-bottom: 0;margin-bottom: 0;}
.faq-sec .faq-sec-inner .faqBox dl dt {display: block;width: 100%;font-weight: normal;margin-bottom: 1%}
.faq-sec .faq-sec-inner .faqBox dl dt span[data-rel="detailtitle"]::before {content: 'Q.';padding-right: 10px;}
.faq-sec .faq-sec-inner .faqBox dl dd {display: block;width: 100%;font-weight: normal;padding-bottom: 1%}
.faq-sec .faq-sec-inner .faqBox dl dd span[data-rel="detailbody"]::before {content: 'A.';padding-right: 10px;}
.faq-sec .faq-sec-inner .faqBox dl dt span p:first-child,
.faq-sec .faq-sec-inner .faqBox dl dd span p:first-child{display: contents;}

@media screen and (max-width: 800px) {
.faq-sec .faq-sec-inner{width: 94%;}
.faq-sec .faq-sec-inner h2 {font-size: 20px;}
.faq-sec .faq-sec-inner .faqBox dl {font-size: 16px;}
}
/*メッセージ*/
.message-sec {padding: 5% 0;background: #FFFFFF;}
.message-sec .message-sec-inner{margin: 0 auto; width: 900px;}
.message-sec .message-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.message-sec .message-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.message-sec .message-sec-inner .messageBox {margin-bottom: 5%;}
@media screen and (max-width: 800px) {
.message-sec .message-sec-inner{width: 94%;}
.message-sec .message-sec-inner h2 {font-size: 20px;}
.message-sec .message-sec-inner .messageBox dl {font-size: 16px;}
}
/*追加ブロック*/
.free-sec {padding: 5% 0;background: #F7F7F7;}
.free-sec .free-sec-inner{margin: 0 auto; width: 900px;}
.free-sec .free-sec-inner h2 {position: relative;text-align: center; color: #000;font-size: 28px;margin-bottom: 7%;}
.free-sec .free-sec-inner h2:before { position: absolute; bottom: -15px; left: calc(50% - 30px); width: 60px; height: 3px; content: '';background: #000}
.free-sec .free-sec-inner .freeBox {margin-bottom: 5%;}
@media screen and (max-width: 800px) {
.free-sec .free-sec-inner{width: 94%;}
.free-sec .free-sec-inner h2 {font-size: 20px;}
.free-sec .free-sec-inner .messageBox {}
}
/*フッター*/
footer.for-sales-page {padding: 15px 10px;color: #000;background: #A8A8A8}
footer.for-sales-page .footer-nav {display: flex; justify-content: center; align-items: baseline; margin-bottom: 0.75rem; font-size: 14px; letter-spacing: 1px;}
footer.for-sales-page a,
footer.for-sales-page a:hover {color: #000;text-decoration: underline;}
footer.for-sales-page .footer-nav li {margin: 0 0.5rem;}
footer.for-sales-page .copyright {text-align: center; font-size: 0.75rem; font-family: "Quicksand";}

.ql-align-center{text-align:center;}
.ql-align-right{text-align:right;}
.ql-align-justify{text-align:justify;}

/*--------------------------
AIによる自動デザイン生成
--------------------------*/
/* サイドバーの自動デザインボタン */
.ai-design-btn-wrap {display: flex; align-items: center; gap: 6px; padding: 12px; background: #E9E9E9; border-right: 1px solid #C1C1C1; border-bottom: 1px solid #C1C1C1;}
.btn-ai-design {display: flex; align-items: center; justify-content: center; gap: 6px; flex: 1 1 auto; min-width: 0; padding: 10px; border-radius: 8px; background: linear-gradient(90deg, #6d8df0, #9b6df0); color: #fff; font-weight: bold; font-size: 14px; text-align: center; transition: .3s;}
.btn-ai-design:hover {opacity: .8; color: #fff;}
.btn-ai-design .ai-design-icon {display: inline-flex; width: 16px; height: 16px;}
.btn-ai-design .ai-design-icon img {width: 100%; height: 100%; filter: brightness(0) invert(1);}

/* オーバーレイ */
.ai-design-overlay {display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9998; background: #989898; backdrop-filter: blur(10px); opacity: .5;}
.ai-design-overlay.active {display: block;}

/* モーダル本体 */
.ai-design-modal {display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9999; padding: 40px 10px; text-align: center;}
.ai-design-modal.active {display: flex; align-items: center; justify-content: center;}
.ai-design-modal-window {box-sizing: border-box; width: 560px; max-width: 100%; max-height: 90vh; overflow-y: auto; padding: 40px 24px; border-radius: 20px; background: #fff;}

/* 状態切替（既定は非表示、JSで対象状態のみ表示） */
.ai-design-state {display: none;}
.ai-design-state .h3 {margin-bottom: 8px;}
.ai-design-target {margin-bottom: 16px; font-weight: bold; color: #555; font-size: 14px;}
.ai-design-lead {margin-bottom: 12px; font-size: 14px;}

/* 生成タブ（AIで自動デザイン / AIでテキスト生成） */
.ai-design-tabs {display: flex; gap: 0; margin-bottom: 20px; border-radius: 8px; background: #f5f6fa; border: 1px solid #e2e5ee; padding: 4px;}
.ai-design-tab {flex: 1; padding: 10px 8px; border: none; border-radius: 6px; background: transparent; color: #555; font-size: 14px; font-weight: bold; cursor: pointer; transition: .2s;}
.ai-design-tab:hover {color: #333;}
.ai-design-tab.active {background: linear-gradient(90deg, #6d8df0, #9b6df0); color: #fff;}

/* 入力テキストエリア */
.ai-design-input {box-sizing: border-box; width: 100%; min-height: 120px; padding: 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 14px; resize: vertical;}
/* 画像生成オプション（チェックボックス） */
.ai-design-image-option {display: flex; align-items: center; gap: 8px; margin-top: 16px; padding: 12px 14px; background: #f5f6fa; border: 1px solid #e2e5ee; border-radius: 8px; font-size: 13px; color: #555; text-align: left; cursor: pointer; transition: .2s;}
.ai-design-image-option:hover {background: #eef0f8; border-color: #c9cee4;}
.ai-design-image-option input[type="checkbox"] {flex-shrink: 0; width: 18px; height: 18px; margin: 0; accent-color: #6d8df0; cursor: pointer;}
.ai-design-actions {display: flex; justify-content: center; gap: 12px; margin-top: 20px;}

/* 生成中表示 */
.ai-design-spinner {display: block; margin: 0 auto 16px; width: 96px; height: 96px;}
.ai-design-status {font-weight: bold; font-size: 16px;}

/* セクション別AI生成（「+ AIテキスト」「+ AI画像」ボタン + 共通モーダル） */
.ai-section-wrap {display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 12px;}
.btn-ai-text-open, .btn-ai-image-open {display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 6px 14px; border: none; border-radius: 6px; background: linear-gradient(90deg, #6d8df0, #9b6df0); color: #fff; font-weight: bold; font-size: 12px; cursor: pointer; transition: .3s;}
.btn-ai-text-open:hover, .btn-ai-image-open:hover {opacity: .8;}
.btn-ai-text-open .ai-text-icon, .btn-ai-image-open .ai-text-icon {display: inline-flex; width: 12px; height: 12px;}
.btn-ai-text-open .ai-text-icon img, .btn-ai-image-open .ai-text-icon img {width: 100%; height: 100%; filter: brightness(0) invert(1);}

/* モーダル（AIデザインモーダルと同トーン。クラスは共有しない: openAiDesignModal の一括 active 付与と衝突するため。
   テキスト用(.ai-text-*)と画像用(.ai-image-*)も開閉制御が独立するよう overlay/modal のクラスは分け、内側は共用） */
.ai-text-overlay, .ai-image-overlay {display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9998; background: #989898; backdrop-filter: blur(10px); opacity: .5;}
.ai-text-overlay.active, .ai-image-overlay.active {display: block;}
.ai-text-modal, .ai-image-modal {display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9999; padding: 40px 10px; text-align: center;}
.ai-text-modal.active, .ai-image-modal.active {display: flex; align-items: center; justify-content: center;}
.ai-text-modal-window {box-sizing: border-box; width: 480px; max-width: 100%; max-height: 90vh; overflow-y: auto; padding: 32px 24px; border-radius: 20px; background: #fff;}
.ai-text-modal-window .h3 {margin-bottom: 8px;}
.ai-text-target {margin-bottom: 16px; font-weight: bold; color: #555; font-size: 14px;}
.ai-text-lead {margin-bottom: 12px; font-size: 13px; color: #555;}
.ai-text-tabs {display: flex; gap: 0; margin-bottom: 16px; border-radius: 8px; background: #f5f6fa; border: 1px solid #e2e5ee; padding: 4px;}
.ai-text-tab {flex: 1; padding: 9px 6px; border: none; border-radius: 6px; background: transparent; color: #555; font-size: 13px; font-weight: bold; cursor: pointer; transition: .2s;}
.ai-text-tab:hover {color: #333;}
.ai-text-tab.active {background: linear-gradient(90deg, #6d8df0, #9b6df0); color: #fff;}
.ai-text-input {box-sizing: border-box; width: 100%; min-height: 96px; padding: 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 14px; resize: vertical;}
.ai-text-actions {display: flex; justify-content: center; gap: 12px; margin-top: 16px;}
.btn-ai-text-run {display: inline-block; padding: 8px 20px; border: none; border-radius: 6px; background: linear-gradient(90deg, #6d8df0, #9b6df0); color: #fff; font-weight: bold; font-size: 13px; cursor: pointer; transition: .3s;}
.btn-ai-text-run:hover {opacity: .8;}
.btn-ai-text-run:disabled {cursor: not-allowed;}
.ai-text-status {margin: 12px 0 0; font-size: 12px; color: #555;}
.ai-text-status.error {color: #d9534f;}

@media screen and (max-width: 800px) {
.ai-text-modal-window {width: 100%; padding: 28px 16px;}
}

@media screen and (max-width: 800px) {
.ai-design-modal-window {width: 100%; padding: 28px 16px;}
}

/* AI生成 Undo/Redoボタン（AI一括生成ボタンの右側に配置） */
.ai-design-btn-wrap .btn-ai-history {box-sizing: border-box; flex: 0 0 auto; width: 30px; height: 40px; margin: 0; padding: 0; border: 1px solid #252525; border-radius: 6px; background: #fff; color: #252525; font-size: 16px; font-weight: 700; cursor: pointer; transition: .4s;}
.ai-design-btn-wrap .btn-ai-history:hover:not(:disabled) {background: #252525; color: #fff;}
.ai-design-btn-wrap .btn-ai-history:disabled {opacity: .5; cursor: default;}
