@charset "UTF-8";
/*
 * filename: column.css
 * version: 1.0
 */
.partner {
  margin: 0 auto;
  max-width: 1120px;
  text-align: center;
  width: 100%;
}

.partner--business {
  border-top: 1px solid #cccccc;
  margin-bottom: 80px;
}

.partner__section {
  margin: 0 auto;
  max-width: 600px;
  padding: 60px 0;
  width: 100%;
}
.partner__section .partner__title {
  color: #00af3a;
  font-size: 38px;
  font-weight: bold;
  margin: 30px 0;
}
.partner__section .partner__subtitle {
  display: block;
  display: inline-block;
  font-size: 25px;
  font-weight: bold;
  margin-top: 10px;
}
.partner__section .partner__description {
  line-height: 1.7;
  text-align: left;
}
.partner__section .partner__action {
  margin: 30px 0 0;
}
.partner__section .partner__action a {
  color: #00af3a;
  font-weight: bold;
  text-decoration: underline;
}
.partner__section .partner__action a:hover {
  opacity: 0.7;
  text-decoration: none;
}
.partner__section .partner__description--personallink {
  margin: 30px 0 35px;
  text-align: center;
}
.partner__section .partner__description--personallink a {
  color: #00af3a;
  display: inline-block;
  margin: 0 2px 0 0;
  text-decoration: none;
}
.partner__section .partner__description--personallink a::after {
  background-color: #00af3a;
  bottom: -6px;
  height: 1px;
}
.partner__section .partner__description--personallink a:hover {
  text-decoration: none;
}

.partner--creative .partner__action a, .partner--business .partner__action a {
  background-color: #00af3a;
  border-radius: 30px;
  color: #fff;
  display: inline-block;
  font-size: 18px;
  font-weight: 700;
  padding: 18px 30px 20px;
  text-decoration: none;
}

#creator-program .creator {
  color: #444;
  font-size: 16px;
}
#creator-program .creator h1, #creator-program .creator h2, #creator-program .creator h3, #creator-program .creator h4, #creator-program .creator h5, #creator-program .creator strong {
  color: #222;
}
#creator-program .creator--hero {
  margin: 0 auto 160px;
  margin-top: 80px;
  max-width: 986px;
  position: relative;
  width: 100%;
}
#creator-program .creator--hero .creator__title {
  font-size: 25px;
  margin: 14px 0 30px;
}
#creator-program .creator--hero .creator__lead {
  color: #00af3a;
  font-size: 40px;
  line-height: 1.3;
  margin: 0 0 50px;
}
#creator-program .creator--hero .creator__intro--box {
  display: flex;
  justify-content: space-between;
}
#creator-program .creator--hero .creator__intro {
  line-height: 1.7;
  max-width: 340px;
}
#creator-program .creator--hero .creator__action {
  margin-top: -120px;
}
#creator-program .creator--hero .creator__action .creator__button {
  background-color: #FFAA00;
  border-radius: 30px;
  color: #fff;
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  padding: 18px 85px;
  text-decoration: none;
}
#creator-program .creator--hero .creator__action .creator__button:hover {
  opacity: 0.7;
}
#creator-program .creator--benefits {
  border-top: 4px solid #00af3a;
  margin: 0 auto;
  max-width: 1120px;
  padding-top: 80px;
  width: 100%;
}
#creator-program .creator--benefits .creator__section-title {
  color: #00af3a;
  font-size: 36px;
  margin-bottom: 60px;
  text-align: center;
}
#creator-program .creator--benefits .creator__benefit-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#creator-program .creator--benefits .creator__benefit {
  margin-bottom: 110px;
  text-align: center;
  width: 500px;
}
#creator-program .creator--benefits .creator__benefit .creator__benefit-title {
  font-size: 20px;
  line-height: 1.6;
}
#creator-program .creator--benefits .creator__benefit .creator__benefit-img {
  align-items: center;
  display: flex;
  height: 85px;
  justify-content: center;
  margin: 20px 0;
}
#creator-program .creator--benefits .creator__benefit .creator__benefit-text {
  line-height: 1.7;
}
#creator-program .creator--strengths {
  background-color: #00af3a;
  padding: 60px 0 80px;
}
#creator-program .creator--strengths .creator__section-title {
  color: #fff;
  font-size: 36px;
  margin: 0 0 40px;
  text-align: center;
}
#creator-program .creator--strengths .creator__section-title .creator__section-subtitle {
  display: block;
  font-size: 26px;
  font-weight: bold;
  margin-top: 20px;
}
#creator-program .creator--strengths .creator__strength-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1120px;
  width: 100%;
}
#creator-program .creator--strengths .creator__strength-list .creator__strength {
  background-color: #fff;
  border-radius: 20px;
  padding: 30px 0;
  text-align: center;
  width: 340px;
}
#creator-program .creator--strengths .creator__strength-list .creator__strength .creator__strength-badge {
  line-height: 1.2;
}
#creator-program .creator--strengths .creator__strength-list .creator__strength .creator__strength-badge span {
  display: block;
  font-size: 26px;
  font-weight: bold;
}
#creator-program .creator--strengths .creator__strength-list .creator__strength .creator__strength-title {
  color: #00af3a;
  font-size: 22px;
  margin: 20px 0 30px;
}
#creator-program .creator--strengths .creator__strength-list .creator__strength .creator__point-list {
  display: block;
  padding: 0 30px;
  text-align: left;
}
#creator-program .creator--strengths .creator__strength-list .creator__strength .creator__point-list .creator__point {
  font-size: 14px;
  line-height: 2.2;
  padding-left: 24px;
  position: relative;
}
#creator-program .creator--strengths .creator__strength-list .creator__strength .creator__point-list .creator__point::after {
  background: url(/images/promotion/partner/ico-creator-right_001.svg) no-repeat;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 26px;
  left: 0;
  position: absolute;
  top: 3px;
  width: 19px;
}
#creator-program .creator--strengths .creator__strength-list .creator__strength:nth-child(2) .creator__point-list {
  padding: 0 18px;
}
#creator-program .creator--message {
  color: #444444;
  margin: 180px auto;
  max-width: 1120px;
  width: 100%;
}
#creator-program .creator--message .creator__message-label {
  font-size: 20px;
  font-weight: bold;
}
#creator-program .creator--message .creator__message-title {
  color: #444;
  font-size: 46px;
  line-height: 1.4;
  margin: 100px 0 60px;
}
#creator-program .creator--message .creator__message-box {
  display: flex;
  justify-content: space-between;
}
#creator-program .creator--message .creator__message-text {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.8;
  margin: 80px 0 0;
  max-width: 500px;
}
#creator-program .creator--message .creator__message-image {
  max-width: 540px;
}
#creator-program .creator--example {
  margin: 0 auto 200px;
  max-width: 1120px;
  width: 100%;
}
#creator-program .creator--example .creator__section-title {
  color: #00af3a;
  font-size: 36px;
  margin-bottom: 30px;
  text-align: center;
}
#creator-program .creator--example .creator__example-intro {
  margin-bottom: 60px;
  text-align: center;
}
#creator-program .creator--example .creator__example-card {
  display: flex;
  flex-wrap: wrap;
  gap: 35px;
}
#creator-program .creator--example .creator__example-card .creator__example-works {
  flex: 0 0 calc(33.333% - 10px);
  margin: 0 auto;
  margin-bottom: 50px;
  max-width: 350px;
}
#creator-program .creator--example .creator__example-card .creator__example-works .creator__example--media {
  background-color: #F7F7F7;
  border-radius: 10px;
  margin: 0 0 20px;
  max-height: 320px;
  overflow: hidden;
  padding: 15px 15px 0;
  position: relative;
  position: relative;
  text-align: center;
  z-index: 0;
}
#creator-program .creator--example .creator__example-card .creator__example-works .creator__example--media .creator__example-images {
  max-height: 300px;
  overflow: hidden;
  position: relative;
}
#creator-program .creator--example .creator__example-card .creator__example-works .creator__example--media .creator__example-images img {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  display: block;
  max-width: 260px;
  position: relative;
}
#creator-program .creator--example .creator__example-card .creator__example-works .creator__example--media .creator__example-images .creator__example-images__sp {
  border-radius: 10px;
  box-shadow: 2px 2px 4px -1px rgba(0, 0, 0, 0.1);
  max-width: 100px;
  position: absolute;
  right: 0;
  right: 2px;
  top: 68px;
}
#creator-program .creator--example .creator__example-card .creator__example-works .creator__example--content .creator__example--header {
  margin: 0 0 20px;
}
#creator-program .creator--example .creator__example-card .creator__example-works .creator__example--content .creator__example--header .creator__example--title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
}
#creator-program .creator--example .creator__example-card .creator__example-works .creator__example--info .creator__example--info-row {
  font-size: 14px;
  line-height: 1.8;
  margin: 20px 0 30px;
  text-align: right;
}
#creator-program .creator--example .creator__example-card .creator__example-works .creator__example--info .creator__example--info-row .creator__example--info-company {
  font-size: 16px;
  font-weight: bold;
}
#creator-program .creator--model {
  margin: 0 auto 240px;
  max-width: 1120px;
  width: 100%;
}
#creator-program .creator--model .creator__section-title {
  color: #00af3a;
  font-size: 36px;
  margin-bottom: 30px;
  text-align: center;
}
#creator-program .creator--model .creator__model-intro {
  margin-bottom: 60px;
  text-align: center;
}
#creator-program .creator--model .creator__model-note {
  font-size: 15px;
  line-height: 1.7;
  margin: 30px 0 0;
}
#creator-program .creator--assist {
  border-bottom: 1px solid #cccccc;
  margin: 0 auto;
  max-width: 1120px;
  width: 100%;
}
#creator-program .creator--assist .creator__section-title {
  color: #00af3a;
  font-size: 36px;
  margin-bottom: 60px;
  text-align: center;
}
#creator-program .creator--assist .creator__assist-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#creator-program .creator--assist .creator__assist-list .creator__assist-item {
  margin-bottom: 90px;
  text-align: center;
  width: 500px;
}
#creator-program .creator--assist .creator__assist-list .creator__assist-item .creator__assist-title {
  font-size: 20px;
}
#creator-program .creator--assist .creator__assist-list .creator__assist-item .creator__assist-img {
  align-items: center;
  display: flex;
  height: 130px;
  justify-content: center;
  margin: 30px 0;
}
#creator-program .creator--assist .creator__assist-list .creator__assist-item .creator__assist-text {
  line-height: 1.7;
}
#creator-program .creator--flow {
  margin: 100px auto 180px;
  max-width: 1120px;
  width: 100%;
}
#creator-program .creator--flow .creator__section-title {
  color: #00af3a;
  font-size: 36px;
  margin-bottom: 80px;
  text-align: center;
}
#creator-program .creator--flow .creator__steps {
  margin: 0 auto;
  max-width: 580px;
}
#creator-program .creator--flow .creator__steps .creator__step-title {
  border: 1px solid #DDDDDD;
  border-radius: 20px;
  color: #00af3a;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  padding: 10px 20px;
}
#creator-program .creator--flow .creator__steps .creator__step-desc {
  line-height: 1.7;
  margin: 20px 0 44px 60px;
  max-width: 500px;
  position: relative;
}
#creator-program .creator--flow .creator__steps .creator__step-desc a {
  color: initial;
  text-decoration: underline;
}
#creator-program .creator--flow .creator__steps .creator__step-desc a:hover {
  text-decoration: none;
}
#creator-program .creator--faq {
  background-color: #FAFAFA;
  margin: 0 auto;
  padding: 80px 0;
  width: 100%;
}
#creator-program .creator--faq .creator--faq__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1120px;
}
#creator-program .creator--faq .creator__section-title {
  color: #00af3a;
  font-size: 28px;
}
#creator-program .creator--faq .creator__qa {
  background-color: #FFF;
  border-radius: 10px;
  margin: 0 0 30px;
  padding: 20px 40px;
  width: 800px;
}
#creator-program .creator--faq .creator__qa .creator__question {
  color: #000; /* iOS15対策 */
  font-size: 20px;
  font-weight: bold;
}
#creator-program .creator--faq .creator__qa .creator__answer {
  line-height: 1.7;
  max-height: 0;
  overflow: hidden;
  padding: 0;
  transition: max-height 0.35s ease, padding 0.35s ease;
}
#creator-program .creator--faq .creator__qa .creator__answer a {
  color: #00AF3A;
  display: block;
}
#creator-program .creator--faq .creator__qa .creator__answer a:hover {
  text-decoration: underline;
}
#creator-program .creator--apply {
  border-top: 4px solid #00af3a;
  margin: 130px auto 80px;
  max-width: 1120px;
  width: 100%;
}
#creator-program .creator--apply .creator__section-title {
  color: #00af3a;
  font-size: 36px;
  margin: 130px 0 30px;
  text-align: center;
}
#creator-program .creator--apply .creator__apply-intro__wrap {
  margin: 0 auto;
  max-width: 840px;
}
#creator-program .creator--apply .creator__apply-intro {
  font-size: 16px;
  line-height: 1.7;
  text-align: center;
}
#creator-program .creator--apply .creator__requirements {
  border: 1px solid #00af3a;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  margin: 40px 0 0 0;
  padding: 30px 40px;
}
#creator-program .creator--apply .creator__requirements .creator__requirements-title {
  color: #00af3a;
  font-size: 20px;
}
#creator-program .creator--apply .creator__requirements .creator__requirements-list {
  margin: -5px 0 0 70px;
}
#creator-program .creator--apply .creator__requirements .creator__requirements-list .creator__requirements-item {
  line-height: 1.8;
  list-style: disc;
}
#creator-program .creator--form {
  margin: 0 auto 200px;
  max-width: 1120px;
  width: 100%;
  /* レイアウト */
}
#creator-program .creator--form .creator__field {
  align-items: center;
  display: flex;
  justify-content: right;
}
#creator-program .creator--form .required__label {
  color: #222;
  display: block;
  margin: 0 0 40px;
}
#creator-program .creator--form .creator__form-Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: right;
}
#creator-program .creator--form .creator__main,
#creator-program .creator--form .creator__results,
#creator-program .creator--form .creator__free {
  width: 910px;
}
#creator-program .creator--form .creator__results,
#creator-program .creator--form .creator__free {
  border-top: 1px solid #DDD;
  padding: 30px 0 0;
}
#creator-program .creator--form .creator__results p {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 30px;
}
#creator-program .creator--form input[type=text], #creator-program .creator--form input[type=url] {
  border: 1px solid #999999;
  border-radius: 6px;
  color: #222;
  font-size: 14px;
  height: 54px;
}
#creator-program .creator--form textarea {
  border: 1px solid #999999;
  border-radius: 6px;
  box-sizing: border-box;
  color: #222;
  font-size: 14px;
  height: 54px;
  overflow: auto;
  padding: 10px 12px;
  resize: none; /* リサイズ禁止 */
}
#creator-program .creator--form .creator__fieldset {
  align-items: flex-start;
  border: 0;
  display: flex;
  gap: 8px;
  margin: 0 0 30px;
  padding: 0;
}
#creator-program .creator--form .creator__legend {
  font-weight: 700;
  margin-bottom: 12px;
}
#creator-program .creator--form .creator__radios {
  align-items: center;
  display: flex;
  gap: 20px;
  width: 100%;
}
#creator-program .creator--form .creator__radio {
  align-items: flex-start;
  display: flex;
  gap: 8px;
}
#creator-program .creator--form .creator__checkbox {
  margin: 0 0 12px 0;
  width: 100%;
}
#creator-program .creator--form .creator__checkbox .creator__checkbox--personallink {
  margin: 0 0 20px 0;
  text-align: center;
}
#creator-program .creator--form .creator__checkbox .creator__checkbox--personallink a {
  color: #00af3a;
  display: inline-block;
  margin: 0 3px 0 0;
}
#creator-program .creator--form .creator__checkbox .creator__checkbox--personallink a::after {
  background-color: #00af3a;
  bottom: -6px;
  height: 1px;
}
#creator-program .creator--form .creator__grid {
  gap: 16px;
}
#creator-program .creator--form .creator__field {
  gap: 30px;
  margin-bottom: 30px;
}
#creator-program .creator--form .creator__field .label-text {
  margin-top: -65px;
}
#creator-program .creator--form .creator__field textarea {
  min-height: 108px;
  width: 100%;
}
#creator-program .creator--form .creator__label {
  font-weight: 600;
  text-align: right;
  width: 220px;
}
#creator-program .creator--form .creator__label .creator__req {
  margin-right: 0;
}
#creator-program .creator--form .creator__req {
  color: #c00;
  font-size: 1em;
  margin-left: 0.5em;
  margin-right: 0.5em;
}
#creator-program .creator--form .creator__input,
#creator-program .creator--form .creator__radio-input {
  font: inherit;
  line-height: 1.4;
}
#creator-program .creator--form .creator__input {
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 10px 12px;
  width: 100%;
}
#creator-program .creator--form .creator__actions {
  margin-top: 40px;
  text-align: center;
}
#creator-program .creator--form .creator__submit {
  background-color: #00af3a;
  border: 0;
  border-radius: 30px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  padding: 18px 85px;
  text-decoration: none;
  transition: 0.2s;
}
#creator-program .creator--form .creator__submit:hover {
  opacity: 0.7;
}

/* FAQ */
.creator__question {
  background: #fff;
  border: none;
  cursor: pointer;
  gap: 12px;
  text-align: left;
  width: 100%;
}

/* ボタン右端に矢印のスペースを確保 */
#creator-program .creator--faq .creator__qa dt .creator__question {
  line-height: 1.4;
  padding-right: 32px;
  position: relative;
  text-align: left;
  width: 100%;
}

/* FAQ用の矢印  */
#creator-program .creator--faq .creator__question .creator__arrow {
  color: #00af3a;
  height: 25px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(0deg);
          transform: translateY(-50%) rotate(0deg); /* デフォルトは閉じている */
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

/* 2本の線で “V” を描く（デフォルトは下向き） */
#creator-program .creator--faq .creator__question .creator__arrow::before,
#creator-program .creator--faq .creator__question .creator__arrow::after {
  background: currentColor;
  bottom: 8px;
  content: "";
  height: 15px;
  left: 50%;
  position: absolute;
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  width: 2px;
}

#creator-program .creator--faq .creator__question .creator__arrow::before {
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}

#creator-program .creator--faq .creator__question .creator__arrow::after {
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

/* 開いたら矢印を180°回転（∧） */
#creator-program .creator--faq .creator__question[aria-expanded=true] .creator__arrow {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
/* 矢印本体（共通） */
.creator-arrow-line {
  --len: 120px; /* デフォルト長さ */
  --head: 10px; /* 矢尻 片側の長さ */
  --color: #DDD;
  background: var(--color); /* 縦線 1px */
  height: var(--len);
  margin-inline: auto;
  position: relative;
  width: 2px;
}

.creator-arrow-line {
  left: -23px;
  position: absolute;
  top: -20px;
}

/* 矢尻（左右1pxの縦線を回転） */
.creator-arrow-line::before,
.creator-arrow-line::after {
  background: var(--color);
  bottom: 0;
  content: "";
  height: var(--head);
  left: 50%;
  position: absolute;
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%; /* 下端中央を支点に回転 */
  width: 2px;
}

.creator-arrow-line::before {
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}

.creator-arrow-line::after {
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

/* サイズ修飾子 */
.creator-arrow-line--sm {
  --len: 105px;
}

.creator-arrow-line--lg {
  --len: 140px;
}

/* FAQ iOSの時のbuttonタグのcolorを回避 */
/* iOSのデフォルト外観を解除して、色・フォントは親から継承 */
#creator-program .creator__question {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: 0;
  color: inherit; /* ← ここ大事：親の色を使う */
  font: inherit; /* フォント・サイズ継承 */
  padding: 0; /* 必要なら元の余白を再指定 */
  text-align: left;
  -webkit-tap-highlight-color: transparent; /* タップ時の青ハイライトを消す */
}

/* クリック時の青っぽい選択表現を抑える（必要なら） */
#creator-program .creator__question:active {
  opacity: 0.8;
}

/* アクセシブルなフォーカス表示を自前で付与（色はサイトに合わせて） */
#creator-program .creator__question:focus-visible {
  outline: 2px solid #00af3a;
  outline-offset: 2px;
}

/* Firefoxの“内側フォーカス枠”を消す */
#creator-program .creator__question::-moz-focus-inner {
  border: 0;
}

/* フォーム要素 */
:root {
  --ctrl-size: 20px;
  --ctrl-gap: 10px;
  --ctrl-border: #bbb;
  --ctrl-bg: #fff;
  --ctrl-checked:#00af3a;
  --ctrl-focus: #4c9ffe;
}

/* 入力は視覚的に隠す（アクセシブルに残す） */
.creator__radio-input {
  border: 0;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  width: 1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

/* ラベルテキスト側を基準点にする */
.creator__radio-label {
  cursor: pointer;
  line-height: 20px;
  padding-left: calc(20px + 10px);
  position: relative;
}

/* 外側の円（左端に絶対配置） */
.creator__radio-label::before {
  background: #fff;
  border: 1.5px solid #bbb;
  border-radius: 50%;
  box-sizing: border-box;
  content: "";
  height: 20px;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  z-index: 1;
}

/* 中丸（左端＋半径分の位置に絶対配置→ど真ん中） */
.creator__radio-label::after {
  background: #00af3a;
  border-radius: 50%;
  content: "";
  height: calc(20px - 8px);
  left: calc(20px / 2);
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
  transition: -webkit-transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
  width: calc(20px - 8px);
  z-index: 2;
}

/* チェック状態で中丸を出す */
.creator__radio-input:checked + .creator__radio-label::after {
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
}

/* フォーカスリング（キーボード操作対応） */
.creator__radio-input:focus-visible + .creator__radio-label::before {
  outline: 2px solid #4c9ffe;
  outline-offset: 2px;
}

/* 入力は視覚的に隠す */
.creator__checkbox-input {
  border: 0;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  width: 1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

/* ラベルを基準点にして左端へ絶対配置 */
.creator__checkbox-label {
  cursor: pointer;
  line-height: 20px;
  padding-left: calc(20px + 10px);
  position: relative;
}

/* 外枠 */
.creator__checkbox-label::before {
  background: #fff;
  border: 1.5px solid #bbb;
  border-radius: 1px;
  box-sizing: border-box;
  content: "";
  height: 20px;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  z-index: 1;
}

/* ✓（線で描画） */
.creator__checkbox-label::after {
  border-bottom: 2px solid #00af3a;
  border-right: 2px solid #00af3a;
  content: "";
  height: 14px;
  left: 5px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-60%) rotate(45deg) scale(0);
          transform: translateY(-60%) rotate(45deg) scale(0);
  -webkit-transform-origin: 50% 70%;
          transform-origin: 50% 70%;
  transition: -webkit-transform 0.15s ease;
  transition: transform 0.15s ease;
  transition: transform 0.15s ease, -webkit-transform 0.15s ease;
  width: 8px;
  z-index: 2;
}

/* checkedで✓を表示 */
.creator__checkbox-input:checked + .creator__checkbox-label::after {
  -webkit-transform: translateY(-60%) rotate(45deg) scale(1);
          transform: translateY(-60%) rotate(45deg) scale(1);
}

/* フォーカスリング */
.creator__checkbox-input:focus-visible + .creator__checkbox-label::before {
  outline: 2px solid #4c9ffe;
  outline-offset: 2px;
}

/* フォーム（フォーカス時）*/
:root {
  --focus: #00af3a; /* フォーカスの基準色 */
  --focus-ring: rgba(0,175,58,.25); /* 外側のやわらかいリング */
}

/* 共通スタイル */
.creator__input,
.creator__form textarea {
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
  caret-color: #00af3a;
  outline: none; /* 既定のリングは消して自前で描く */
  padding: 10px 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* フォーカス（キーボード操作含む） */
.creator__input:focus,
.creator__input:focus-visible,
.creator__form textarea:focus,
.creator__form textarea:focus-visible {
  border-color: #00af3a;
  box-shadow: 0 0 0 3px rgba(0,175,58,.25);
}

/* マウスクリック等で :focus だが :focus-visible でない場合は最小限 */
.creator__input:focus:not(:focus-visible),
.creator__form textarea:focus:not(:focus-visible) {
  border-color: #00af3a;
  box-shadow: none;
}

/* ラベル強調（任意） */
.creator__field:focus-within .creator__label {
  color: #00af3a;
}

/* Chromeのオートフィル黄背景対策（任意） */
.creator__input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #fff inset !important;
}

.creator__input:-webkit-autofill:focus {
  border-color: #00af3a;
  box-shadow: 0 0 0 1000px #fff inset, 0 0 0 3px rgba(0,175,58,.25);
}

.creator__input::-webkit-input-placeholder, .creator__form textarea::-webkit-input-placeholder {
  color: #999;
  opacity: 1; /* Safari での薄さを打ち消す */
}

.creator__input:-ms-input-placeholder, .creator__form textarea:-ms-input-placeholder {
  color: #999;
  opacity: 1; /* Safari での薄さを打ち消す */
}

.creator__input::-ms-input-placeholder, .creator__form textarea::-ms-input-placeholder {
  color: #999;
  opacity: 1; /* Safari での薄さを打ち消す */
}

.creator__input::placeholder,
.creator__form textarea::placeholder {
  color: #999;
  opacity: 1; /* Safari での薄さを打ち消す */
}

/* フォーカス時に少し薄くする例（任意） */
.creator__input:focus::-webkit-input-placeholder, .creator__form textarea:focus::-webkit-input-placeholder {
  color: #999;
}
.creator__input:focus:-ms-input-placeholder, .creator__form textarea:focus:-ms-input-placeholder {
  color: #999;
}
.creator__input:focus::-ms-input-placeholder, .creator__form textarea:focus::-ms-input-placeholder {
  color: #999;
}
.creator__input:focus::placeholder,
.creator__form textarea:focus::placeholder {
  color: #999;
}

/* エラー時 */
.is-invalid .creator__input::-webkit-input-placeholder {
  color: #d93025;
}
.is-invalid .creator__input:-ms-input-placeholder {
  color: #d93025;
}
.is-invalid .creator__input::-ms-input-placeholder {
  color: #d93025;
}
.is-invalid .creator__input::placeholder {
  color: #d93025;
}

/* 無効時：グレーに */
#creator-program .creator--form .creator__submit:disabled {
  background-color: #c8cdd3;
  border-color: #c8cdd3;
  color: #fff;
  cursor: not-allowed;
  opacity: 0.8;
}

.creator__submit {
  /* iOSのボタン既定外観を無効化 */
  -webkit-appearance: none;
  appearance: none;
  background-image: none;
  -webkit-tap-highlight-color: transparent;
  background-color: #00af3a;
  border: 0;
  border-radius: 100px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  padding: 13px 85px;
  text-decoration: none;
  transition: background-color 0.2s, opacity 0.2s, -webkit-transform 0.05s;
  transition: background-color 0.2s, opacity 0.2s, transform 0.05s;
  transition: background-color 0.2s, opacity 0.2s, transform 0.05s, -webkit-transform 0.05s;
  /* 有効時だけホバー/アクティブ */
  /* キーボード操作のフォーカス見え方を自前で */
  /* Firefoxの内側フォーカス枠を消す */
  /* 無効化の見た目（iOS既定の“青っぽさ”を上書き） */
}
.creator__submit:not(:disabled):hover {
  opacity: 0.7;
}
.creator__submit:not(:disabled):active {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
.creator__submit:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.creator__submit::-moz-focus-inner {
  border: 0;
}
.creator__submit:disabled {
  background-color: #c8cdd3;
  color: #fff;
  cursor: not-allowed;
  opacity: 0.9;
}

/* 動きを減らす設定の利用者配慮（任意） */
/* CTA */
:root {
  --floating-bg: #00AF3A;
  --floating-fg: #fff;
  --cta-bg: #FFAA00;
  --cta-fg: #fff;
  --x-color: #fff;
  --close-size: 36px;
  --close-gap: 12px;
  --side-pad: 16px;
}

.creator__floating {
  background: #00AF3A;
  bottom: 0;
  color: #fff;
  left: 0;
  padding: 11px 16px;
  padding-bottom: max(11px, env(safe-area-inset-bottom));
  position: fixed;
  right: 0;
  text-align: center;
  transition: opacity 0.18s ease, -webkit-transform 0.18s ease;
  transition: opacity 0.18s ease, transform 0.18s ease;
  transition: opacity 0.18s ease, transform 0.18s ease, -webkit-transform 0.18s ease;
  will-change: opacity, transform;
  z-index: 1;
}

/* 中央のCTA（インラインで中央揃え） */
.creator__floating-body {
  display: inline-flex;
  justify-content: center;
}

.creator__floating-cta {
  background: #FFAA00;
  border: 1px solid #FFAA00;
  border-radius: 30px;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  padding: 18px 40px;
  text-decoration: none;
  transition: opacity 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, -webkit-transform 0.05s ease;
  transition: transform 0.05s ease, opacity 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
  transition: transform 0.05s ease, opacity 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, -webkit-transform 0.05s ease;
}
.creator__floating-cta span {
  font-weight: bold;
}

.creator__floating-cta:hover {
  opacity: 0.9;
}

.creator__floating-cta:active {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}

.creator__floating-cta:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* ✖（右端固定）念のため残しておく */
.creator__floating-close {
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  height: 36px;
  position: absolute;
  right: max(16px, env(safe-area-inset-right));
  top: 40%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 36px;
}

.creator__floating-close::before,
.creator__floating-close::after {
  background: #fff;
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  width: 18px;
}

.creator__floating-close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

.creator__floating-close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.creator__floating-close:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* 閉じるアニメ用 */
.creator__floating.is-hiding {
  opacity: 0;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
}

/* 画面下固定 */
.creator__floating {
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  -webkit-transform: translateY(110%);
          transform: translateY(110%);
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  will-change: transform;
  z-index: 1000;
}

/* 表示中（下からニュルッと出る） */
.creator__floating.is-visible {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* 退場中（下へニュルッと消える） */
.creator__floating.is-exiting {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
@media screen and (max-width: 600px) {
  .partner {
    padding: 0 20px;
  }
  .partner__section .partner__title {
    font-size: 28px;
  }
  .partner__section .partner__subtitle {
    font-size: 22px;
  }
  .partner__section .partner__description--personallink {
    text-align: left;
  }
  .partner__section .partner__description--personallink a::after {
    bottom: 0;
  }
  #creator-program .creator {
    padding: 0 20px;
  }
  #creator-program .creator--hero {
    margin: 60px auto 80px;
  }
  #creator-program .creator--hero .creator__title {
    font-size: 20px;
  }
  #creator-program .creator--hero .creator__lead {
    font-size: 25px;
    margin: 0 0 30px;
  }
  #creator-program .creator--hero .creator__intro--box {
    display: block;
  }
  #creator-program .creator--hero .creator__intro {
    margin: 0 0 30px;
  }
  #creator-program .creator--hero .creator__action {
    margin-top: 50px;
    text-align: center;
  }
  #creator-program .creator--benefits {
    padding-top: 80px;
  }
  #creator-program .creator--benefits .creator__section-title {
    font-size: 30px;
  }
  #creator-program .creator--benefits .creator__benefit .creator__benefit-text {
    text-align: left;
  }
  #creator-program .creator--strengths {
    padding: 60px 0 80px;
  }
  #creator-program .creator--strengths .creator__section-title {
    font-size: 30px;
  }
  #creator-program .creator--strengths .creator__section-title .creator__section-subtitle {
    font-size: 22px;
  }
  #creator-program .creator--strengths .creator__strength-list {
    display: block;
    padding: 0 20px;
  }
  #creator-program .creator--strengths .creator__strength-list .creator__strength {
    margin-bottom: 20px;
    width: 100%;
  }
  #creator-program .creator--message {
    margin: 90px auto;
  }
  #creator-program .creator--message .creator__message-label {
    display: block;
    text-align: center;
  }
  #creator-program .creator--message .creator__message-title {
    font-size: 25px;
  }
  #creator-program .creator--message .creator__message-box {
    display: block;
  }
  #creator-program .creator--message .creator__message-text {
    margin-bottom: 40px;
  }
  #creator-program .creator--message .creator__message-image {
    width: 100%;
  }
  #creator-program .creator--example {
    margin: 0 auto 50px;
    padding: 50px 20px;
  }
  #creator-program .creator--example .creator__section-title {
    font-size: 30px;
  }
  #creator-program .creator--example .creator__section-title {
    line-height: 1.3;
  }
  #creator-program .creator--example .creator__example-intro {
    text-align: left;
  }
  #creator-program .creator--example .creator__example-card {
    display: block;
  }
  #creator-program .creator--model {
    background-color: #FAFAFA;
    margin: 0 auto 50px;
    padding: 50px 20px;
  }
  #creator-program .creator--model .creator__section-title {
    font-size: 30px;
  }
  #creator-program .creator--model .creator__section-title {
    line-height: 1.3;
  }
  #creator-program .creator--model .creator__model-intro {
    text-align: left;
  }
  #creator-program .creator--assist .creator__section-title {
    font-size: 30px;
  }
  #creator-program .creator--assist .creator__assist-list .creator__assist-item .creator__assist-text {
    text-align: left;
  }
  #creator-program .creator--flow {
    margin: 80px auto 50px;
  }
  #creator-program .creator--flow .creator__section-title {
    font-size: 30px;
    line-height: 1.2;
  }
  #creator-program .creator--faq {
    margin: 0 auto;
    padding: 50px 20px 40px;
  }
  #creator-program .creator--faq .creator--faq__inner {
    display: block;
  }
  #creator-program .creator--faq .creator__section-title {
    margin: 0 0 50px;
    text-align: center;
  }
  #creator-program .creator--faq .creator__qa {
    padding: 20px 30px;
    width: 100%;
  }
  #creator-program .creator--apply {
    margin: 80px auto;
  }
  #creator-program .creator--apply .creator__section-title {
    font-size: 30px;
    margin: 60px auto 30px;
  }
  #creator-program .creator--apply .creator__apply-intro {
    text-align: left;
  }
  #creator-program .creator--apply .creator__requirements {
    display: block;
  }
  #creator-program .creator--apply .creator__requirements .creator__requirements-title {
    margin: 0 0 30px -20px;
  }
  #creator-program .creator--apply .creator__requirements .creator__requirements-list {
    margin: 0 0 0;
  }
  #creator-program .creator--form .creator__field {
    display: block;
  }
  #creator-program .creator--form .creator__radios {
    display: block;
  }
  #creator-program .creator--form .creator__checkbox .creator__checkbox--personallink {
    font-size: 16px;
  }
  #creator-program .creator--form .creator__checkbox .creator__checkbox--personallink a::after {
    bottom: 0;
  }
  #creator-program .creator--form .creator__field .label-text {
    margin-top: initial;
  }
  #creator-program .creator--form .creator__label {
    display: block;
    margin: 0 0 14px;
    text-align: initial;
    width: 100%;
  }
  #creator-program .creator--form .creator__actions {
    margin-top: 20px;
  }
  .creator-arrow-line--sm {
    --len: 135px;
  }
  .creator-arrow-line--lg {
    --len: 193px;
  }
  .creator__radio-label {
    line-height: 30px;
  }
  .creator__floating-cta {
    padding: 18px 85px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #creator-program .creator--faq .creator__question .creator__arrow {
    transition: none;
  }
  .creator__submit {
    transition: none;
  }
}
