@charset "UTF-8";

/**
 * 固定ページ・カスタム投稿ページ用の追加設定
 */

/* -----------------------------------------
  wp-block-table ヘッダー配色 強制指定
----------------------------------------- */
.wp-block-table thead {
  border-bottom: 3px solid #ddd !important;
}

/* thead の th */
.wp-block-table thead th{
  background-color: #4f8f6a !important;
  color: #ffffff !important;
}

/* thead 内の td（thを使っていない表対策） */
.wp-block-table thead td{
  background-color: #4f8f6a !important;
  color: #ffffff !important;
}

/* 中に strong / a / span が入っていても白にする */
.wp-block-table thead th *,
.wp-block-table thead td *{
  color: #ffffff !important;
}

/* -----------------------------------------
  スクロール表：重い表だけ class="scroll-table" を付与
----------------------------------------- */

/* 1) 親要素(figure)をスクロールの器にする */
figure.wp-block-table.scroll-table{
  overflow-x: auto !important; /* テーマの visible 等を上書き */
  position: relative;
  margin-bottom: 50px;
}

/* 2) SP表示（767px以下） */
@media screen and (max-width: 767px){

  figure.wp-block-table.scroll-table{
    display: block;
    width: 100%;
    -webkit-overflow-scrolling: touch; /* iOS慣性 */
    touch-action: pan-x;               /* 横スワイプを優先 */
  }

  /* tableが潰れないように：確実にはみ出させる */
  figure.wp-block-table.scroll-table table{
    width: max-content; /* ←ここが効く：中身幅で広がる */
    min-width: 600px;   /* 目安。列が多いなら 700-900 もあり */
  }

  /* 案内テキスト */
  figure.wp-block-table.scroll-table::before{
    content: "※ 表は左右にスワイプしてご確認ください";
    display: block;
    font-size: 12px;
    color: #666;
    margin-bottom: 5px;
    text-align: left;
  }
}

/* 1. 全体を整えるコンテナ */
.flow-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 40px auto;
}

/* 2. ステップのボックス装飾 */
.flow-box {
    width: 100%;
    max-width: 500px;
    background: #ffffff;
    border: 2px solid #4f8f6a; /* アクセントのグリーン */
    border-radius: 8px;
    padding: 20px !important;
    text-align: center;
    font-weight: bold;
    color: #333;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    margin: 0 !important; /* 標準の余白をリセット */
}

/* 3. 矢印部分の調整 */
.flow-arrow {
    color: #4f8f6a;
    font-size: 24px;
    padding: 15px 0;
    margin: 0 !important;
}

/* 4. [オプション] 最初の1文字や数字を強調したい場合 */
.flow-box::first-line {
    color: #3f7f63;
    font-size: 0.9em;
}

.radius-box01 {
    padding: 20px;
    border-radius: 10px;
}

.radius-box02 {
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #ddd;
}

.mb0{
    margin-bottom:0px;
}

/* form
---------------------------------------------- */

.form-intro{
  margin-bottom: 20px;
}

.form-intro p{
	margin: 20px 0;
}

/* ======= add contactform7 ======= */

.wpcf7{
    font-size: 16px;
	padding: 20px 20px 40px 20px;
}

.wpcf7 form{
    margin: 2em 1.5em 2em;
}

.wpcf7 label{
    margin: 0 0 0;
}

.wpcf7 select{
    margin: 0 0 0;
    padding: 12px;
    border-radius: 6px;
    border: 1px solid #ddd;
    box-sizing: border-box;
}

.wpcf7 input, .wpcf7 textarea{
    width: 100%;
    padding: 12px;
    border-radius: 6px;
    border: 1px solid #ddd;
    box-sizing: border-box;
}

.form-w60 .wpcf7-form-control {
  width: 60%;
}

/* ラジオボタン */
.wpcf7 input[type=radio] {
    width: auto;
    padding: 0;
}
/* チェックボックス */
.wpcf7 input[type=checkbox] {
    width: auto;
    padding: 0;
}

.wpcf7 .wpcf7-list-item{
    display: inline-block;
    padding: 4px;
}

.wpcf7 .wpcf7-list-item:first-child{
    margin-left:0px;
}

.form-programs .wpcf7-list-item{
    display: block;
	margin: 0 0 4px 0px; 
}

.wpcf7-not-valid-tip{
    font-size: 14px;
    margin-top: 6px;
}

/* layout */
.form-col2 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
	padding-bottom: 24px;
    margin-bottom: 24px;
	border-bottom: 1px dotted #ddd;
}

.form-last {
	padding-bottom: 0px;
    margin-bottom: 0px;
	border-bottom: none;
}

.form-item{
    width: 30%;
    font-weight: 500;
	line-height: 1.6;
}

.form-input{
    width: 70%;
}

.form-acceptance{
    text-align: center;
}

.form-acceptance a{
    text-decoration: underline;
}

.wpcf7 input.date-field{
    width: 40%;
}

span.required{
    padding: 2px 6px 3px 6px;
    border-radius: 4px;
    background-color: #ED854D;
    color: #fff;
    font-size: 12px;
    font-weight: normal;
}

.form-note{
	margin: 10px 0;
    padding:4px 0;
    font-size:15px;
    line-height: 1.6;
}

.send-btn{
	text-align:center;
}
.wpcf7 form .wpcf7-submit {
  max-width: 214px;
  display: inline-block;
  padding: 12px 36px;
  background: #97BE18;
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: 0.3s;
}

/* ホバー時 */
.wpcf7 form .wpcf7-submit:hover {
  opacity: 0.7;
}

/* 無効化（送信中など） */
.wpcf7 form .wpcf7-submit[disabled] {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* スピナー位置調整（CF7標準） */
.wpcf7 form .wpcf7-spinner {
  margin-left: .6em;
  position: relative;
  top: 1px;
  width: 20px;
  height: 20px;
}

@media (max-width: 960px) {
	.wpcf7 form{
    	margin: 0em 0em 0em;
	}
    .form-item{
        width: 100%;
        margin-bottom: 12px;
    }
    .form-input{
        width: 100%;
    }
	.form-w60 .wpcf7-form-control {
        width: 100%;
    }
    .wpcf7 form .wpcf7-submit {
		max-width: 100%;
        width: 100%;
    }
}
