/*
 Theme Name:   PLATE Child
 Theme URI:    
 Description:  
 Author:       Knot Creative Ltd.
 Author URI:   
 Template:     plate
 Version:      
 License:      
 License URI:  
 Tags:         
 Text Domain:  
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

:root {
    --font-serif-jp: YakuHanMP, "Noto Serif JP", serif;
    --font-sans-serif-jp: "Noto Sans JP", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	--color-base:#f1f3f8;
	--color-primary:#0f318d !important;
	--color-accent:#ff5f27;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p, button, input, select, optgroup, textarea{
   color:#252525;
}


h3{
	color:var(--color-primary);
}

body {
    margin: 0;
    padding: 0;
	min-width:300px;
　　overflow: hidden;
	background:var(--color-base);
}

p{
    font-size:18px;
    font-family: var(--font-sans-serif-jp);
}

li{
	font-family: var(--font-sans-serif-jp);
}


/* ヘッダー */
.site-header{
	background-color: rgb(255 255 255 / 0.7);
    position: fixed;
}

.site-footer{
	background:#FFF;
}

img{
	border-radius:10px;
}


#page .none{
	display:none !important;
}

/* 900以下*/
@media screen and (max-width: 900px) {
	
	h3{
	 	font-size:20px;
		line-height: 1.8;
    }
	
	.wp-block-spacer{
		max-height:50px; !important;
	}
	
}


/* -----------------------------------------
   トップページ　ファーストビュー
----------------------------------------- */

#first {
	position: relative;
    display: block !important;
    height: 858px;
    width: 100%;

}


.first-cat-custom{
    position: absolute;	
	top:0;
	left:50%;
	transform:translatex(-50%);
	z-index:20;
    width: 100%;
    height: 100%;
	max-width:1500px;
	
}

.first-cat-main-custom{
	position: absolute;	
	right:5%;
	bottom:80px;
	display:flex;/*iOSバグ対応*/
}


.first-cat-main-custom h1{
	color:#fff;
	font-size: 45px; 
    line-height: 2;
	font-family: var(--font-serif-jp);
	text-align: right;
	writing-mode: vertical-rl;
	margin:0;
}


.first-cat-sub-custom{
    position: absolute;	
	left:5%;
	bottom:80px;
}

.first-cat-sub-custom p{
	color:#fff;
	font-size: 40px;
	line-height: 2;
	font-family: var(--font-serif-jp);
	text-align: left;
    writing-mode: vertical-rl;
	font-weight:700;
	margin:0;
}


/*消し*/
.first-cat {
    position: absolute;
    top: 0;
    /*left: 0;*/ /*は消すか auto にし、左右中央寄せを有効にする */
    left: 50%;
	transform: translateX(-50%);
    display: -webkit-box; /* iOS Safari用 */
    display: flex;

    width: 100%;
    height: 100%;
    /* row-reverseのままでもOKですが、配置を直感的にするため通常のrowで解説します */
    flex-direction: row; 
    -webkit-box-pack:  space-between; /* iOS Safari用 */
    justify-content: space-between; /* 左右両端配置 */
    align-items: center; /* 縦方向を真ん中に揃える */
    padding: 0 5%; /* 画面端に密着しすぎないよう余白を追加 */
	/*background: rgba(0, 0, 0, 0.5);*/
	background:none;
	max-width: 1500px;   /* ★ここで1500px以上に広がらないように制限 */
	/*margin:0 auto !important;*/

}

/* メイン（h1側）：右側に寄せる */
.first-cat-main {
    margin: 0 !important;
    width: auto; /* 幅を自動にして右側に寄せる */
    order: 2;    /* row-reverseを使わず、orderで右側に配置 */
	align-items: flex-end; /* これで下揃えになります */
	margin-top: auto;
	padding-bottom: 50px;  /* 下から50pxの距離を確保 */	
	max-width: 100%;
	margin-top: auto !important;
}



.first-cat-main h1 {
    writing-mode: vertical-rl;
    text-align: right; /* 縦の中央に文字を置く */
    /*height: 60vh; */      /* 画像の高さに対してどのくらいの範囲で中央に置くか（調整可） */
    display: flex;
    align-items: center; /* 縦書きの中での中央揃え */
    font-size: 45px;     /* 必要に応じてサイズ調整 */
    line-height: 2;
	font-family: var(--font-serif-jp);
}

/* サブ（p側）：左側に寄せる */
.first-cat-sub {
    margin: 0 !important;
    /*width: auto;*/
    order: 1;    /* 左側に配置 */
    align-items: flex-end; /* これで下揃えになります */
	padding-bottom: 50px;  /* 下から50pxの距離を確保 */	
	margin-top: auto !important;
}

.first-cat-sub p {
    writing-mode: vertical-rl;
    text-align: left;
    /*height: 40vh;*/ /* メインより少し短めに設定するとバランスが良いです */
    /*display: flex;*/
    align-items: center;
    font-size: 40px;
	font-family: var(--font-serif-jp);
	 line-height: 2;
}

/* サブ（span側） */
.first-cat-sub span {
	font-weight:800;
	margin-top:5px;
}

/*消し*/


.first-img {
	display:block !important;
	width:100%;
	height:100%;
	background-size: auto 100%;
}

/* ファーストビュー 900以下*/
@media screen and (max-width: 900px) {
	#first {
		height: 700px;
	}
	
	.first-cat-main-custom{
		right:10px;
		bottom:50px;
	}
	
	.first-cat-main-custom h1{
		font-size: 36px; 
		line-height: 2;
	}


	.first-cat-sub-custom{
		left:10px;
		bottom:50px;
	}

	.first-cat-sub-custom p{
		font-size: 32px;
		line-height: 2;
	}


	
/*消し*/
/* 1. 親要素のズレをリセット */
    .first-cat {
        display: flex !important;
        justify-content:  space-between !important;
        align-items:  space-between !important;
        gap: 20px; /* メインとサブの間隔 */
        width: 100%;
        left: 0 !important; /* transformを使わず、flexのcenterに任せる */
        transform: none !important;
    }

    /* 2. 縦書き要素を「インラインブロック」にして位置を安定させる */
    .first-cat-main, .first-cat-sub {
        display: inline-block !important; /* Flex直下での挙動を安定させる */
        writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        height: auto;
        max-height: 70vh; /* 画面からはみ出さないよう高さを制限 */
        /*margin: 0 !important;*/
		margin-bottom:50px;
        vertical-align: middle;
		margin-top: 0 !important;
    }

    /* 3. 中の文字の「厚み」を最小限にする */
    .first-cat-main h1, .first-cat-sub p {
        display: block !important;
        margin: 0 !important;
        line-height: 1.2 !important; /* 厚みを極限まで絞る */
        text-align: start;
    }
	
	.first-cat-main h1{
		font-size:36px;
	}
	
	.first-cat-sub p{
		font-size:32px;
	}
/*消し*/	

	
}


/* -----------------------------------------
   トップページ　コンセプト
----------------------------------------- */

#top-concept{
	/*height:1000px;*/
	/* 子テーマのCSSファイルから見た画像へのパス */
    background-image: url('img/concept-bg.png');
    
    /* 背景画像の表示設定 */
    background-size: cover;           /* 全体を覆うように表示 */
    background-position: center;      /* 中央に配置 */
    background-repeat: no-repeat;     /* 繰り返しなし */
    padding-bottom: 100px;
    padding-top:50px;
}

.concept-title{
	width:430px;
	height:290px;
	margin:50px auto;
	flex-direction:row-reverse;
}


.concept-title-one{
	
}

.concept-title-two{
	margin-top: 50px !important;
}


/* タイトル文 */
.concept-title p{
	writing-mode: vertical-rl;
	font-family: var(--font-serif-jp);
	font-size:36px;
	font-weight:700;
	/* 横に2px, 縦に2px, ぼかし4px, 半透明の黒色 */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
	letter-spacing: 0.5rem;
    margin: 0;
}

.concept-title p strong{
    color:var(--color-accent);
}


/* 本文 */
.concept-text {
	margin:0px auto 100px auto;
}

.concept-text p{
	font-size:24px;	
	line-height: 3;
	letter-spacing: 0.2em;
	font-family: var(--font-serif-jp);
	font-weight:700;
}

.concept-text a{
	font-size:18px;
	color:var(--color-primary);
	text-decoration:underline;
}

/*改行する*/
.br-sp { display:block; }

/* コンセプト 900以下*/
@media screen and (max-width: 900px) {
	
	#top-concept {
        padding: 40px 20px; /* 上下の余白を調整 */
    }

	.concept-title-one{
	    display: flex;
        justify-content: flex-end; /* 中のpを右に寄せる */
        width: 100%;
        /*margin-bottom: 40px !important;*/ /* 下との間隔 */
    }
	
	/* two（原動力）を左に寄せる */
    .concept-title-two {
        display: flex;
        justify-content: flex-start; /* 中のpを左に寄せる */
        width: 100%;
        margin-top: 0 !important; /* 上のmargin-top 50pxをリセット */
    }
	
	.concept-title p {
		font-size:32px;
	}
	
   .concept-title {
	   height:100%;
	   margin:0;
	   
        display: flex !important;
        flex-direction: column !important; /* 縦に並べる */
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
	    gap:0 !important;
        padding: 0 15% !important;
	}
	
	.concept-text p{
		font-size:20px;
		/*letter-spacing: 0.1rem;*/
		line-height: 2.5;
	}
	
	/*改行しない*/
	.br-sp { display:none; }

}





/*トップ　ボタン*/
.top-btn-wrap a{
	font-family: var(--font-serif-jp);
	font-size:20px;
	border-radius: 0;
	width:400px !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: 0.3s; /* ホバー時に滑らかに変化 */
	padding:20px 50px;
	height:100%;
}

/* コンセプト 900以下*/
@media screen and (max-width: 900px) {
	.top-btn-wrap a{
		width:300px !important;
		padding: 20px;
        font-size: 18px;
	}	
	
	
}

/* -----------------------------------------
   トップページ　サービス
----------------------------------------- */
/* --- 共通設定・PCレイアウト --- */
#top-services {
    margin: 0 auto;
    max-width: 1700px;
    padding: 75px 50px;
}

#top-services h4{
	font-size:32px;
	display: block !important;
	background: var(--color-primary) !important;
	color: #FFF !important;
	padding: 0.5em 1em calc(0.5em - 6px) !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	/*font-size: 22px !important;*/
	font-weight: bold !important;
	border-left: 5px solid var(--color-primary) !important;
	margin-bottom: 2em !important;
	font-family: var(--font-serif-jp);

}

#top-services  .phase2-dic{
	margin-bottom:75px;
}

/* カード全体の余白と中央揃え */
.program-card {
    margin-bottom: 100px !important;
    align-items: center !important;
	background:#FFF;
	padding:15px 30px;
	border-radius:10px;
}

/* 画像カラムの幅調整 */
.program-img {
    flex-basis: 45% !important;
}

/* コンテンツ（テキスト側）カラムの幅調整 */
.program-content {
    flex-basis: 50% !important;
}

/* --- 数字とタイトルの親要素 --- */
.program-title {
    display: flex !important;
    align-items: center !important; /* 上下中央揃え */
    gap: 30px !important;           /* ラベルとタイトルの間の余白 */
    width: 100% !important;
}

/* --- Program文字と数字のセット (100px固定) --- */
.program-label {
    flex: 0 0 100px !important;     /* 幅を100pxに固定 */
    max-width: 100px !important;
    text-align: center;             /* 中央揃え */
}

/* Programの英字 */
.program-en {
    font-size: 16px !important;
    margin: 0 !important;
}

/* 大きな数字 */
.program-num {
    font-size: 56px !important;     /* PCで見栄え良く少し大きくしました */
    font-family: var(--font-serif-jp);
    line-height: 1 !important;
    margin: 5px !important;
}

/* --- タイトル部分 (残りの幅をすべて使う) --- */
.program-name {
    flex: 1 !important;             /* 残りのスペースを占有 */
}

.program-name h3 {
    font-family:var(--font-sans-serif-jp);
    font-size: 24px;
    line-height: 1.5;
    margin: 0;
}

.program-name h3 strong {
    color: var(--color-accent);
	font-size:32px;
}

/* 本文の行間 */
.program-text {
    line-height: 1.8;
    margin-top: 20px;
}

.program-text strong{
	color:var(--color-accent);
	font-weight:700;
}

.top-service-description strong{
	color:var(--color-accent);
	font-weight:700;
}

/* --- スマホ設定 (900px以下) --- */
@media screen and (max-width: 900px) {
	#top-services {
		padding: 40px 15px;
	}
	
	.top-service-header{
		gap:0px !important;
	}
	
	.top-service-label{
		padding:10px;
	}
	
	#top-services h4{
	    font-size:24px;
   }
	
    .top-service-description{
        padding:10px !important;
		line-height:1.8;
	}
	
    /* カードをGrid化して自由に入れ替える */
    .program-card {
        display: grid !important;
        grid-template-columns: 1fr;
		gap:10px !important;
		margin-bottom:50px !important;
    }

    /* カラムの幅制限を解除 */
    .program-img, .program-content {
        flex-basis: 100% !important;
        width: 100% !important;
        margin: 0 !important;
    }

    /* 並び順の指定 (Grid Row) */
    .program-content {
        grid-row: 1; /* コンテンツ全体を一度上に持ってくる */
        display: contents; /* 中身の要素をバラして直接並び替える */
    }

    /* 固定幅の解除 */
    .program-label {
        flex: 0 0 auto !important;
        max-width: none !important;
        text-align: left; /* スマホでは左寄せが収まりが良いです */
        margin-bottom: 10px;
    }

    /* クラス名を狙い撃ちして順序を固定 */
    .program-title { 
        order: 1 !important; 
		margin:0;
		gap: 10px !important;
    }
    .program-img { 
        order: 2 !important; 
        grid-row: 2; /* 確実にタイトルの下へ */
    }
    .program-text { 
        order: 3 !important; 
        grid-row: 3; /* 確実に画像の下へ */
        margin-top: 0;
    }

    /* スマホ時のフォントサイズ調整 */
    .program-num {
        font-size: 40px !important;
    }
    .program-name h3 {
        font-size: 20px;
    }
	
	.program-name h3 strong {
		font-size:28px;
	}
}




/*スクロール アニメ*/
.scroll {
  /*position: relative;*/
}
.scroll-text {
	position: relative;
  color: #333;
  font-size: 12px !important;
  text-align: center;
  /*ansform: rotate(90deg);*/
	color:#999999 !important;
	margin-bottom:0px;
}
.scroll-border {
  position: relative;
  top: 20px;
  width: 100%;
  height: 100px;
  overflow: hidden;
	margin:0;
}
.scroll-border::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 40px;
  top: 0;
  left: 0;
  right: 0;
  background: #999999 !important;
  animation: scrollbar 2.0s ease-in-out infinite;
  margin: auto;
}
@keyframes scrollbar {
  0% {
    height: 0;
    top: 0;
  }
  30% {
    height: 100%;
  }
  100% {
    top: 100%;
  }
}



/* -----------------------------------------
   トップページ以外固定ページ
----------------------------------------- */


.page-body  p{
	font-size: 18px;
    font-family: var(--font-sans-serif-jp) !important;
    line-height: 2.0;
}


@media screen and (max-width: 900px) {
	.page-body  p{
		line-height: 1.8;	
	}
}




/* -----------------------------------------
   Jibun-goto.とは
----------------------------------------- */

.profile-message h3{
	color: var(--color-primary);
	font-size:24px;
}



/* 自作したクラスを右寄せにする */
.right-icon-text {
    display: flex !important;
    justify-content: flex-end; /* 右に寄せる */
    align-items: center;       /* 上下中央を揃える */
    gap: 10px;                 /* アイコンと文字の間隔 */
}

.right-icon-text .wp-block-media-text__content{
	padding:0 5% !important;
}


.right-icon-text img{
   max-width:100px !important;
}

/* スマホでは中央にしたい場合（任意） */
@media screen and (max-width: 900px) {
    .right-icon-text {
        justify-content: center;
		margin-top:20px;
    }
}

.page-main-contents h2{
	font-size:32px;
	display: block !important;
	background: var(--color-primary) !important;
	color: #FFF !important;
	padding: 0.5em 1em calc(0.5em - 6px) !important;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	/*font-size: 22px !important;*/
	font-weight: bold !important;
	/*border-left: 5px solid var(--color-primary) !important;*/
	/*margin-bottom: 2em !important;*/
	letter-spacing:0.1em;
    font-family: var(--font-serif-jp)
}




.profile-content{
	
}

.profile-block{
	display:flex;
	flex-direction:column;
}


.profile-label{
	margin:0;
}

.profile-num{
    /*flex: 0 0 100px !important;*/
    max-width:200px !important;
    text-align: center;
}

.profile-num p{
	font-size: 56px !important;     /* PCで見栄え良く少し大きくしました */
    font-family: var(--font-serif-jp) !important;
	display: flex;
    justify-content: center;
    align-items: center;
    line-height: 0;
    margin: 0px;
}

.profile-title {
    max-width: 500px;
	margin:0;
}

.profile-title h3{
	color: var(--color-primary);
    font-size: 24px;
}


.profile-text{
	margin:0;
	padding:20px;
	margin-top:auto;
}

.page-sub-title{
	
}

/*専門領域*/
.business-faq-details summary::before,.business-faq-details p::before{
	content:none !important;
}

.business-faq-details summary,.business-faq-details p{
	padding-left:20px;
}

/*会社概要*/
.profile-table table,.profile-table th, .profile-table td{
	font-size:18px;
}

.profile-table th{
	color:var(--color-primary) !important;
}

.about-profile-section{
	background:#FFF;
	border-radius:10px;
}


@media (max-width: 900px) {
	
	#page .container {
        padding: 40px 15px;
    }
	
	.profile-message h3{
		font-size:20px;
	}
	
	.profile-message p{
		margin:5px;
	}
	
	.page-main-contents h2{
		font-size:24px;
	}
	
	.profile-title h3{
		font-size: 20px;
	}
	
	.profile-num{
		max-width:100% !important;
	}
	
	.profile-label {
		gap: 5px;
	}
	
	.profile-text {
		padding: 0 !important;
	}

	.profile-table th, .profile-table td {
		padding: 10px 0 !important;
	}
	
}



/* -----------------------------------------
   サービス
----------------------------------------- */

/*ページ内リンク*/
.about-anchor-nav a {
	color:#252525;
}

.services-num{
    /*flex: 0 0 100px !important;*/
    max-width: 400px !important;
    text-align: center;
}

.services-num p{
	font-size: 56px !important;     /* PCで見栄え良く少し大きくしました */
    font-family: var(--font-serif-jp) !important;
	display: flex;
    justify-content: center;
    align-items: center;
    line-height: 0;
    margin: 0px;
}

.services-title {
	margin:0;
	display: flex;
    /*justify-content: center;*/
    align-items: center;
}

.services-title h3{
	color: var(--color-primary);
    font-size: 32px;
	margin-block-start: 0;
    margin-block-end: 0;
}

.services-card{
	background:#FFF;
	padding:20px 40px;
	margin:20px auto;
	/*border:1px solid #252525;*/
	border-radius:10px;
}

.services-card h4{
	font-size:24px;
	margin:5px;
	
}

.services-card p{
	margin:10px auto;
}

/*6つの眼*/
.services-card2{
	padding:20px 40px;
	margin:20px auto;
	/*order:1px solid #252525;*/
	background-color:#FFF;
	border-radius:10px;
}

.services-card2 h4{
	font-size:24px;
	margin:10px auto;
}

.services-card2 ol{
	margin:0;
	margin-left: -25px !important;
}

.services-card ul,.services-card2 ul{
	margin:0;	
}

.services-card li,.services-card2 li{
	font-size:18px;
}

.services-card2-content{
	margin:0;
	padding:0;
}

.services-card2 p{
	margin:10px auto;
}

.services-card2 strong {
	color: var(--color-primary);
}

.services-btn-wrap a{
	font-family: var(--font-serif-jp);
	font-size:20px;
	border-radius: 0;
	padding:20px 50px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: 0.3s; /* ホバー時に滑らかに変化 */	
	
	display: inline-block;
    align-content: center;
    box-sizing: border-box;
    text-align: center;
    background-color: var(--color-accent);
    color: #ffffff;
	font-weight:700;
}

/*STEP*/
.about-history-section{
	background:#FFF !important;
	padding:10px 5px;
}

/*よくある質問*/
.business-faq-details summary {
	font-size: 18px;
	font-family: var(--font-sans-serif-jp);
	font-weight:normal;
}

.services-text strong{
	color:var(--color-accent);
	font-weight:700;
}

@media (max-width: 900px) {
	

	.about-anchor-nav{
		display:none !important;
	}

	.servies-content-header{
		flex-direction: column-reverse; 
	}
		
	.services-card,.services-card2{
		padding:10px 20px;
	}

	
	.wp-container-core-group-is-layout-16018d1d {
		justify-content:left !important;
		padding:0 !important;
	}
	
	.services-title h3 {
		font-size:24px;
		margin: 50px 0 0 0;
	}
	
	.services-card h4 ,.services-card2 h4 {
		font-size:20px;	
	}
	
	.services-card ul ,.services-card2 ul{
		margin:0;
		padding:0 0 0 15px;
	}
	
	/*沿革*/
	.timeline-list li {
		padding-left: 25px;
	}
	/*沿革ドット*/	
	.timeline-list li::before {
        left: -2px;
    }
	
	.services-btn-wrap a {
		width: 380px !important;
        padding: 20px;
        font-size: 18px;
	}
	
	.services-card .services-btn-wrap a {
		width:100% !important;
        padding: 20px;
	}
	
	.about-profile-section{
		padding:0;
	}

	
}

#page .profile-table{
	margin:0;
}

#page .profile-table th,#page .profile-table td{
	text-align:left;
}

#page .profile-table th{
	padding-left:20px;
}


.page-id-16 .program-card {
	margin-bottom:0 !important;
}



/* -----------------------------------------
   お知らせ
----------------------------------------- */
.single-news-header{
	background:none;
}

.single-news-header h1{
	color:var(--color-primary);
}

.single-news-title{
	font-size:24px;
}

.single-news-body{
	background:#FFF;
	border-radius:10px;
}

.single-news-body .entry-content{
	margin-bottom:100px;
}

.arhive-main-contents{

}

/* -----------------------------------------
   トップ・固定ページ共通
----------------------------------------- */

/*セクションタイトル*/
.main-title {
	font-family: var(--font-serif-jp);
	font-size:45px;
}


.sub-title{
	font-family: var(--font-serif-jp) !important;	
}


/*アクセント*/
.accent{
	color:var(--color-accent);
	font-weight:700;
	margin:0;
}


@media (max-width: 900px) {
    .main-title {
        font-size: 28px;
        margin-bottom: 0;
        margin-bottom: 20px;
    }
}

/* -----------------------------------------
   エントリーフォーム
----------------------------------------- */

/*フォーム全体・冒頭文*/
.wpcf7,.entry-from-label{
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
}

/*入力欄*/
.wpcf7-form-control:not(.wpcf7-submit){
	border-color:#252525;
	margin-top: 5px !important;
    margin-bottom: 50px !important;
}

/*送信ボタン*/
.wpcf7-submit{
	font-family: var(--font-serif-jp);
	font-size:20px;
	font-weight:700;
	border-radius: 0;
	height:auto !important;
	width:400px !important;
	padding:20px 50px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: 0.3s; /* ホバー時に滑らかに変化 */	
}

/*ラジオボタン・チェックボックス背景*/
.wpcf7-radio,.wpcf7-checkbox{
	border:none !important;
	font-size:18px !important;
	display:block;
	width:100%;
	background:#FFF;
}

/*ラジオボタン・チェックボックス縦配置*/
span.wpcf7-list-item {
    display: block;
}

/*同意チェックボックス*/
span.wpcf7-form-control-wrap[data-name="checkbox-234"] ,span.wpcf7-form-control-wrap[data-name="checkbox-503"] ,span.wpcf7-form-control-wrap[data-name="checkbox-922"] {
    display: block;
    margin-bottom: 0px;
	height:50px;
}

/*日付カレンダー*/
input.wpcf7-date.wpcf7-form-control.wpcf7-validates-as-date.wpcf7-validates-as-required {
    width: auto;
}

/*プルダウン矢印カスタム*/
/* 1. デフォルトの矢印を消す */
.wpcf7-select {
    -webkit-appearance: none; /* Safari, Chrome用 */
    -moz-appearance: none;    /* Firefox用 */
    appearance: none;         /* 標準 */
    
    /* 2. 自作の矢印を表示するためのスペースを右側に作る */
    padding-right: 50px !important; 
    
    /* 3. 背景画像として大きな矢印を配置する */
    background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23252525"><path d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 15px center; /* 右から15pxの位置 */
    background-size: 30px; /* ★ここで矢印の大きさを調整できます */
    
    /* 枠線などの調整（サイトのデザインに合わせて） */
    border: 1px solid #ccc;
    background-color: #fff;
    cursor: pointer;
}

/* IEで矢印が残るのを防ぐ（念のため） */
.wpcf7-select::-ms-expand {
    display: none;
}


/*ラベル*/
.wpcf7-form label:not(.wpcf7-list-item label){
	border-left: 5px solid var(--color-primary) !important;
	padding-left:5px;
}

/*説明文*/
.wpcf7-form aside{
	background:#e4e4e4;
	padding:10px 20px;
	margin:50px auto;
}

/*補足文*/
.wpcf7-form p{
	margin:0;
}

/*エラーチップ*/
.wpcf7-not-valid-tip
 {
    color: #f00;
    font-size: 15px;
	 margin-top: -50px;
}

/*必須マーク*/
.required {
	font-size: 0.8em;
	padding: 0 6px;
	background: #cc0000;
	color: #ffffff;
	border-radius: 0;
	margin-left: 10px;
	margin-bottom: 2px;
	display: inline-block;
}

/*任意マーク*/
.optional{
	font-size: 0.8em;
	padding: 0 6px;
	background: #555;
	color: #ffffff;
	border-radius: 0;
	margin-left: 10px;
	margin-bottom: 2px;
	display: inline-block;	
}


@media (max-width: 900px) {
	/*送信ボタン*/
	.wpcf7-submit{
		width:80% !important;
		padding:20px 0px;
	}
}
