/*
 Theme Name: Astra Child
 Theme URI: 
 Description: Astra の子テーマ
 Template: astra
 Version: 1.0.0
 Text Domain: astra-child
*/
/*------------ヘッダ------------*/
.site-description {
		padding-left: 20px;
		letter-spacing: 8px;
}
.main-navigation {
		font-size: 17px;
	font-weight: 700;
}
/*------------フッタhtml------------*/
.tel {
		font-size: 20px;
		font-weight: 600;
		margin-top: -20px;
}
.company-data img {
		max-width: 300px;
}
.company-data .data {
		margin-left: 10px;
}
/* スマホ調整 */
@media (max-width: 768px) {
		.company-data .data {
				margin-left: 0px;
		}
}

/*------------お問い合わせCTA------------*/



.fixed-cta {
  position: fixed;
  z-index: 9999;
  background:#E0B341;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
}

.entry-content a.fixed-cta{
text-decoration: none;
	font-weight: 600
}

.entry-content a.fixed-cta:hover,.entry-content a.fixed-cta:active{
color: aliceblue;
	opacity: 0.8
}




/* PC */
@media (min-width: 769px) {
  .fixed-cta {
  right: 0px;
  top:30%;
  padding: 50px 18px;
  writing-mode: vertical-rl;
  border-bottom-left-radius: 10px;
  /* [disabled]border-bottom-right-radius: 10px; */
  /* [disabled]border-top-right-radius: 10px; */
  border-top-left-radius: 10px;
  }
}

/* スマホ */
@media (max-width: 768px) {
  .fixed-cta {
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 16px 0;
    text-align: center;
	}
	
body {
    padding-bottom: 50px;
  }
	
 .ast-scroll-to-top-right  {
    bottom: 70px !important;
  }	
  
}


/*------------ CTAアイコン（Font Awesome） ------------*/


/* PC：縦書き時のアイコン調整 */
@media (min-width: 769px) {
  .fixed-cta .cta-icon {
   
    margin-bottom: 6px;
  }
}

/* スマホ：横並び微調整 */
@media (max-width: 768px) {
  .fixed-cta .cta-icon i {
    font-size: 20px;
	    margin-right: 6px;
  }
}





/*-----------テーブル------------*/
.wp-block-table td, .wp-block-table th {
		padding-left: 20px;
		padding-top: 15px;
		padding-bottom: 15px;
}
.wp-block-table td:first-child, .wp-block-table th:first-child {
		background-color: #E0B341;
		font-weight: 600;
		text-align: center;
		width: 30%;
		padding-left: 0px;
}


/*-----------コンテンツ全体------------*/

html {
    font-size: 16px;
}

.wp-block-list li {
		line-height: 30px;
		padding-bottom: 10px;
	
}
 ul.wp-block-list,
 ol.wp-block-list {
	 padding-left: 0px!important;
}
	

.content-1200 {
		max-width: 1200px;
		margin: 0 auto;
		padding-left: 10px;
		padding-right: 10px;
}
h2 {
		font-size: 20px;
		font-weight: 700;
}
.padding-10 {
		padding-bottom: 10px
}
.back-img {
		background:
				url("img/back-img.png") repeat-x bottom center, linear-gradient(180deg, #1C2C4C 0%, #0F327A 100%);
		background-size:
				2200px auto, /* ← 画像サイズを固定（例：横300px） */ cover;
}
.back-img.white {
		background:
				url("img/back-img.png") repeat-x bottom center, white;
		background-size:
				2200px auto, /* ← 画像サイズを固定（例：横300px） */ cover;
}
.dot-back {
		background-image: url("img/dot-set.png");
		background-repeat: no-repeat;
		background-position: left;
		padding-left: 70px;
		padding-bottom: 20px;
		padding-top: 45px;
	margin-top: -45px!important;
}

/* スマホ調整 */
@media (max-width: 768px) {
		 .dot-back {

		padding-left: 20px;
		
}
}


.white h2 {
		position: relative;
		display: inline-block; /* テキストの実幅に合わせる */
		padding-bottom: 9px;
		font-size: 20px
}
.white h2::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		width: calc(100% + 40px); /* テキストより長く */
		height: 2px;
		background: #333;
}
.ast-single-post.ast-page-builder-template .site-main .ast-article-single {
		padding-top: 0em;
		padding-left: 0px;
		padding-right: 0px;
}
.ast-page-builder-template .entry-header {
		margin-top: 0em;
		margin-bottom: 0px;
}
.page .entry-title {
		margin-bottom: 0px;
}
.ast-single-post.ast-page-builder-template .site-main h1 {
		background-color: #1C2C4C;
		color: white !important;
		text-align: center;
		padding-top: 20px;
		padding-bottom: 20px;
}
/* スマホ調整 */

@media (max-width: 768px) {
.ast-single-post.ast-page-builder-template .site-main h1 {
	font-size: 24px
}
}




/* Astra でカバー（alignfull）を本当の全幅にする */
.wp-block-cover.alignfull, .wp-block-group.alignfull, .wp-block-image.alignfull, .wp-block-columns.alignfull {
		margin-left: calc(-50vw + 50%);
		margin-right: calc(-50vw + 50%);
		max-width: 100vw;
		width: 100vw;
}
/*------------ホーム------------*/
/* hero-img*/



.hero-section .content-1200 {
		/*background-image: url("img/hero-img-pc.png");*/
		background-repeat: no-repeat;
		background-size: contain;
		height: 100%;
}

.hero-section, .hero-section-sp{
		background-color: #2AB7A9;
		background: linear-gradient(180deg, #30CEBF 0%, #2AB7A9 100%);
		width: 100%;
}

.hero-section, .hero-section{
		background-color: #2AB7A9;
		background: linear-gradient(180deg, #30CEBF 0%, #2AB7A9 100%);
		width: 100%;
}





/* 最大幅2000px、中央寄せ */
.content-max-2000 {
		max-width: 1800px !important;
		margin: 0 auto;
}
/* 画像を16:9比率を維持したままレスポンシブにする */
.hero-section .content-max-2000 img {
		width: 100%;
		height: auto;
		aspect-ratio: 1200 / 483; /* 16:9 を維持 */
		object-fit: cover; /* 高さピッタリに収める（余りは切れる） */
}

.hero-section-sp .content-max-2000 img {
		width: 100%;
		height: auto;
		aspect-ratio: 609 / 674; /* 16:9 を維持 */
		object-fit: cover; /* 高さピッタリに収める（余りは切れる） */
}

/*pc,sp表示切り替え、テーマで対応するため、不使用*/

	 .hero-section{
				display: block
		}
		 .hero-section-sp{
				display: none
		}


/* スマホ調整 */

@media (max-width: 768px) {
		 .hero-section{
				display: none
		}
		 .hero-section-sp{
				display: block
		}
}




/* ----------ホーム section2 ----------*/

.section2 {
		text-align: center; /* これで h2 の inline-block を中央配置 */
}
.section2 .box {
		max-width: 700px;
		margin: 80px auto;
}
.section2 h2 {
		position: relative;
		display: inline-block; /* テキストの実幅に合わせる */
		padding-bottom: 9px;
		font-size: 20px
}
.section2 h2::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		width: calc(100% + 40px); /* テキストより長く */
		height: 2px;
		background: #000;
}
.section2 p {
		margin-top: 30px;
		text-align: left;
		line-height: 30px;
	font-size: 18px
}
/* スマホ調整 */
@media (max-width: 768px) {
		.section2 h2::after {
				width: calc(100% - 10px);
				height: 2px;
		}
}

/* -------- section2 背景スライド追加 -------- */
.section2 {
		position: relative;
		overflow: hidden; /* 背景のはみ出し防止 */
		padding: 40px 0;
}
/* 背景に横長のテキスト画像を敷き、横方向にスライド */
.section2::before {
		content: "";
		position: absolute;
		top: 25%; /* センター基準位置 */
		left: 0;
		transform: translateY(-50%); /* 画像を高さ方向で中央に */
		width: 300%;
		height: 100%;
		background-image: url("img/message-text.png");
		background-repeat: repeat-x;
		background-size: auto 50%; /* 高さを50%に縮小して横リピート */
		opacity: 0.4; /* 必要なら調整 */
		animation: slide-bg 30s linear infinite;
		z-index: 1;
}
/* 文字を背景の上に表示する */
.section2 .content-1200, .section2 h2, .section2 p {
		position: relative;
		z-index: 2;
}
/* 背景を横にスライドさせるアニメーション */
@keyframes slide-bg {
		0% {
				transform: translateX(0);
		}
		100% {
				transform: translateX(-33.3%);
		}
}

/* -------- ホーム section3  -------- */
.section3 {
		/*background: linear-gradient(180deg, #1C2C4C 0%, #0F327A 100%);*/
}
/*------------Web3共感マーケティング支援------------*/
.cube h2 {
		background-image: url("img/cube-img.png");
		background-repeat: no-repeat;
		background-position: left;
		padding-left: 60px;
		padding-bottom: 20px;
		padding-top: 20px
}
/* ===== Contact Form 7 基本レイアウト ===== */
.wpcf7 {
		max-width: 640px;
		margin: 0 auto;
}
/* 見出し */
.wpcf7 h2 {
		font-size: 28px;
		margin-bottom: 16px;
}
/* 説明文 */
.wpcf7 p {
		margin-bottom: 20px;
		line-height: 1.7;
}
/* ラベル */
.wpcf7 label {
		font-weight: 600;
		display: block;
}
/* 入力フィールド共通 */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
		width: 100%;
		padding: 12px 14px;
		margin-top: 6px;
		border: 1px solid #ccc;
		border-radius: 4px;
		font-size: 15px;
		box-sizing: border-box;
}
/* テキストエリア */
.wpcf7 textarea {
		min-height: 140px;
		resize: vertical;
}
/* フォーカス時 */
.wpcf7 input:focus, .wpcf7 textarea:focus {
		outline: none;
		border-color: #333;
}
/* 承認チェック */
.wpcf7 .wpcf7-acceptance {
		margin: 24px 0;
		font-size: 14px;
}
/* 送信ボタン */
.wpcf7 input[type="submit"] {
		display: block;
		width: 200px;
		margin: 0 auto;
		padding: 14px 0;
		background-color: #000;
		background: linear-gradient(180deg, #2AB7A9 0%, #1E7E74 100%);
		color: #fff;
		border: none;
		border-radius: 4px;
		font-size: 15px;
		cursor: pointer;
		transition: opacity 0.3s;
}
.wpcf7 input[type="submit"]:hover {
		opacity: 0.8;
}
/* エラーメッセージ */
.wpcf7 .wpcf7-not-valid-tip {
		color: #c00;
		font-size: 13px;
		margin-top: 6px;
}
/* 送信結果メッセージ */
.wpcf7-response-output {
		margin-top: 24px;
		padding: 16px;
		border-radius: 4px;
}
/* 必須ラベル */
.required-label {
		display: inline-block;
		background-color: #c00;
		color: #fff;
		font-size: 12px;
		padding: 2px 6px;
		margin-right: 6px;
		border-radius: 3px;
		line-height: 1;
		vertical-align: middle;
}