@font-face {
    font-family: "Tiranti";
    src: url("https://andante-planning.com/wp-content/themes/Andante_Plannning/fonts/Tiranti.eot?") format('eot'),
        url("https://andante-planning.com/wp-content/themes/Andante_Plannning/fonts/Tiranti.woff2") format('woff2'),
        url("https://andante-planning.com/wp-content/themes/Andante_Plannning/fonts/Tiranti.woff") format('woff');
}

@font-face {
    font-family: "Expose";
    src: url("https://andante-planning.com/wp-content/themes/Andante_Plannning/fonts/expose.eot?") format('eot'),
        url("https://andante-planning.com/wp-content/themes/Andante_Plannning/fonts/expose.woff2") format('woff2'),
        url("https://andante-planning.com/wp-content/themes/Andante_Plannning/fonts/expose.woff") format('woff');
}

@font-face {
    font-family: "Flair";
    src: url("https://andante-planning.com/wp-content/themes/Andante_Plannning/fonts/FLAIN__.eot?") format('eot'),
        url("https://andante-planning.com/wp-content/themes/Andante_Plannning/fonts/FLAIN__.woff2") format('woff2'),
        url("https://andante-planning.com/wp-content/themes/Andante_Plannning/fonts/FLAIN__.woff") format('woff');
}

html, body {
    height: 100%;
	width:100%;
    margin: 0;
    padding: 0;
    font-family: 'ヒラギノ角ゴシック', Meiryo, sans-serif;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

#wrapper {
	width:100%;
}

#opera_sketch #header,
#opera_sketch #cast,
#opera_sketch #opus,
#opera_sketch #ticket,
#opera_sketch #concept {
    position: relative;
    min-height: 100vh;
    margin: 0;
    font-size: 13px;
    line-height: 1.5em;
}

header{
    background: url(bg.jpg) no-repeat;
    background-size: cover;
}

.special-footer {
	text-align:center;
	background:#333;
	color:#fff;
	padding:15px 0;
}

.use-floating-validation-tip .wpcf7-not-valid-tip  {
	background:none;
}



/* ===== CF7 Ticket: Dark / Transparent ===== */
#ticket .wpcf7, 
#ticket .wpcf7 form,
#ticket .wpcf7 .wpcf7-form {
  background: transparent !important;   /* 白背景カードを打ち消す */
  box-shadow: none !important;
  border: none !important;
	color:#fff;
}

/* フォーム内余白と最大幅（中央寄せ） */
#ticket form {
  max-width: 960px;
  margin: 0 auto;
  padding: 8px 0;
	color:#fff;
	margin-inline:auto;
}

/* 各行（p）が点線で区切られる雰囲気 */
#ticket .wpcf7-form > p {
  margin: 18px 0;
  padding: 14px 0 18px;
  border-bottom: 1px dashed rgba(255,255,255,.45);
}

/* ラベルと補足（プレースホルダ） */
#ticket label {
  display: inline-block;
  font-weight: 600;
  color: #ffe27a;            /* 見出しを温かい黄系に */
  margin-bottom: 6px;
}
#ticket ::placeholder {
  color: rgba(255,255,255,.55);
}

/* テキスト系の共通スタイル */
#ticket input[type="text"],
#ticket input[type="email"],
#ticket input[type="tel"],
#ticket input[type="number"],
#ticket input[type="url"],
#ticket input[type="date"],
#ticket textarea,
#ticket select {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  background: rgba(0,0,0,.35);        /* うっすら暗い透明 */
  color: #f6f6f6;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 6px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
  backdrop-filter: blur(2px);          /* 対応ブラウザで軽くブラー */
}

/* セレクトの高さを揃える */
#ticket select {
  height: 42px;
}

/* フォーカス時のグロー */
#ticket input:focus,
#ticket textarea:focus,
#ticket select:focus {
  border-color: #ffd24d;
  box-shadow: 0 0 0 3px rgba(255,210,77,.25);
  background: rgba(0,0,0,.45);
}

/* 送信ボタン */
#ticket .wpcf7-submit {
  display: inline-block;
  margin-top: 8px;
  padding: 12px 28px;
  font-weight: 700;
  letter-spacing: .03em;
  color: #1a1200;
  background: linear-gradient(180deg, #ffd24d 0%, #ffb800 100%);
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: transform .05s ease, filter .2s ease, box-shadow .2s ease;
  box-shadow: 0 6px 18px rgba(255,184,0,.25);
}
#ticket .wpcf7-submit:hover {
  filter: brightness(1.05);
}
#ticket .wpcf7-submit:active {
  transform: translateY(1px);
}

/* 必須表示 */
#ticket .required,
#ticket .wpcf7-required {
  color: #ff7b7b;
  font-weight: 700;
  margin-left: .3em;
}

/* エラーメッセージ＆バリデーション */
#ticket .wpcf7-not-valid-tip {
  color: #ff7b7b;
  font-size: .92rem;
  margin-top: 6px;
}
#ticket .wpcf7 form .wpcf7-response-output {
  border: 1px solid rgba(255,255,255,.35);
  color: #fff;
  background: rgba(255,0,0,.18);
  border-radius: 6px;
  padding: 10px 12px;
}

/* 成功メッセージ */
#ticket .wpcf7 form.sent .wpcf7-response-output {
  background: rgba(0,170,0,.18);
  border-color: rgba(255,255,255,.35);
}

/* プレースホルダの視認性（Safari/iOS含む） */
#ticket input:-webkit-autofill,
#ticket textarea:-webkit-autofill,
#ticket select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px rgba(0,0,0,.35) inset !important;
  -webkit-text-fill-color: #f6f6f6 !important;
  caret-color: #f6f6f6;
}

/* モバイル微調整 */
@media (max-width: 640px) {
  #ticket .wpcf7-form {
    padding: 4px 0;
  }
  #ticket .wpcf7-form > p {
    margin: 14px 0;
    padding: 12px 0 14px;
  }
}

.amount {
	width:100px !important;
	border:none !important;
}

.amount::after {
  content: " 円" !important;
  margin-left: 4px !important;
  color: #fff !important; /* 背景に合わせて変更 */
  font-size: 0.95em !important;
}

.bank {
color:#fff;
}

.credit-wrap{
 max-width:1000px;
 margin:auto;
display:flex;
justify-content:flex-end;
}

.credit a{
display:block;
padding:5px 25px;
background:#8C7103;
color:#fff;
border-radius:5px;
font-size:16px;
max-width:300px;
text-align:center;
}

.form-group {
margin:25px 0;
}

#ticket label .required-mark {
  display: inline-block;
  background: #e74c3c;
  color: #fff;
  font-size: 11px;
  padding: 0px;
  border-radius: 5px;
  text-align: center;
width:30px;
}

.ticket-confirm  form{
	color:#333;
	margin:50px auto 50px auto;
}

.nw {white-space:nowrap;}