/* layout */
.candc-slide-with-form-wrap{display:grid;gap:24px;padding:2rem;}
.candc-slide-with-form-wrap.pos-right{grid-template-columns:1fr 380px}
.candc-slide-with-form-wrap.pos-left{grid-template-columns:380px 1fr}
.candc-slide-with-form-wrap.pos-none{grid-template-columns:1fr}
.candc-slide-with-form-main{order:1; min-width:0;}
.candc-slide-with-form-sidebar{order:2; position:relative}
.candc-slide-with-form-iframe-wrap iframe{width:100%;height:64vh;border:0;border-radius:8px}
.candc-slide-with-form-actions{margin:.5rem 0;display:flex;gap:.5rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.4em;padding:.6em 1em;border:1px solid #ddd;border-radius:8px;text-decoration:none;cursor:pointer;background:#fff}
.candc-slide-with-form-title{margin:.6em 0}
.candc-slide-with-form-iframe-wrap{width:100%}

/* Smart sticky sidebar form */
:root{ --cs-sticky-top:24px; --cs-sticky-bottom-gap:24px; }
.candc-slide-with-form-sidebar .cs-sticky{
  position: sticky;
  top: var(--cs-sticky-top);
  max-height: calc(100vh - var(--cs-sticky-top) - var(--cs-sticky-bottom-gap));
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 8px;
}

/* サムネstripの“位置の基準”とクリッピングを厳密にする */
.cone-pdf-viewer .cpv_thumbs_wrap{
  position: relative;           /* ← 矢印の絶対配置の基準 */
  overflow: hidden;             /* ← はみ出しクリップ（列外に出ない） */
  isolation: isolate;           /* 新しいスタッキングコンテキストを作る */
  z-index: 0;                   /* 下地 */
}

/* 矢印は strip 内でのみ見える・中央に出る・列外に出ない */
.cone-pdf-viewer .cpv_arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);  /* strip 高さの中央に */
  z-index: 1;                   /* 背後のcanvasより前、他列よりは下 */
  pointer-events: auto;
}

/* 左右の位置は “strip の左右端から” */
.cone-pdf-viewer .cpv_arrow.left  { left: 6px;  }
.cone-pdf-viewer .cpv_arrow.right { right: 6px; }

/* 万一親列のz-indexが干渉するなら、メイン列にも相対基準を足す */
.candc-slide-with-form-main{
  position: relative;
  z-index: 0;
}

/* Stickyサイドバーとの干渉を避ける（念のため） */
.candc-slide-with-form-sidebar .cs-sticky{
  z-index: 0;                   /* サイドバーが矢印より前面に来ないよう調整 */
}

/* strip の高さが小さいケースでも矢印がずれないよう、行高を安定化 */
.cone-pdf-viewer .cpv_thumbs{
  align-items: center;          /* サムネと矢印の“縦中央”合わせ */
  min-height: calc(var(--cpv-thumb-w,120px) * 0.75 + 12px); /* 目安: サムネ比率に応じる */
}

/* mobile: form under */
@media (max-width:960px){
.candc-slide-with-form-main{width:100%!important;}
  .candc-slide-with-form-wrap{grid-template-columns:1fr!important;}
  .candc-slide-with-form-sidebar{order:3;width:100%;}
  .candc-slide-with-form-sidebar .cs-sticky{ position: static; max-height: none; overflow: visible; }
  .candc-slide-with-form-main{order:1}
}



/*フォーム*/
.wpcf7 {
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
  height: 1300px;
}
.wpcf7-form {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);/* コンタクトフォームを中央よせ */
  height: auto;
  width: 80%;
}

.wpcf7 dd {
  margin: 0 0 30px 0;
}
.wpcf7 dt {
  font-weight: normal;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.wpcf7 input, 
.wpcf7 textarea {
  width: auto;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #ccc;
  line-height: 1.2;
  padding: 8px;
}
.wpcf7 select,.wpcf7 input[type=checkbox], .wpcf7 input[type=radio] {
  width: auto;
  max-width: 97%;
  border: 1px solid #ccc;
  padding: 8px;
}
/* 必須マーク */
.wpcf7 .must {
  color: #FFF;
  border-radius: 3px;
  font-size: 10px;
  margin-left: 10px;
  padding: 5px 10px;
  letter-spacing: 2px;
  background: #ed6d46;
}
/* 同意チェック */
.accept-this{
  text-align: center;
}
/* 送信ボタン */
.btn_contact7 {
  margin-top: 5%;
  text-align: center;
  position: relative;
}
.btn_contact7 input {
  width: 70%;
  padding: 2% 0%;
  background-color: #27A6AF;
  color: #FFF;
  font-size: 1.1em;
  font-weight: bold;
  letter-spacing: 0.2em;
  border: 1px solid #27A6AF;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;	
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.btn_contact7 input:hover {
  background-color: #FFF;
  color: #27A6AF; 
}