/**
Theme Name: AKM astra child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: akm-astra-child
Template: astra
*/

/* 固定ページタイトルの表示を強制 */
.ast-single-entry-banner .entry-title {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.tofu-slide .elementor-image-carousel,
.tofu-slide .e-n-carousel .swiper-wrapper {
  transition-timing-function: linear !important;
}

/* === スクロール演出：クレジット表示 === */
.scrolling-credits {
  height: 300px;
  overflow: hidden;
  position: relative;
  background: transparent;
}

.scrolling-credits div {
  position: absolute;
  top: 100%;
  width: 100%;
  animation: scroll-up 80s linear infinite;
  color: white;
  text-align: center;
  font-size: 1.6em;
}

/* === テキスト装飾：白文字に黒縁取り === */
.outlined {
  text-shadow:
    -1px -1px 0 black,
     1px -1px 0 black,
    -1px  1px 0 black,
     1px  1px 0 black;
  color: white;
}

/* === アニメーション定義：上方向にスクロール === */
@keyframes scroll-up {
  0% {
    top: 100%;
  }
  100% {
    top: -900px;
  }
}



.tategaki {
    writing-mode: vertical-rl;
}


 .carousel-item {
       transition: opacity 0.5s ease-in-out;
   }

.scrolling-credits {
  overflow: hidden;
  position: relative;
  background: transparent;
}

.scrolling-text {
  position: absolute;
  top: 100%;
  width: 100%;
  color: white;
  text-align: center;
  font-size: 1.2em;
}
	
.sticky-menu {
  position: -webkit-sticky;
  position: sticky;
  top: 100px;
  z-index: 1;
}

.appear-header2 {
  position: fixed;
  top: 0;
  width: 100%;
  height: 120px; /* ヘッダー高さ。ロゴやナビに応じて調整 */
  transform: translateY(-100%);
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
  z-index: 1000;
  background: transparent; /* デフォルトは透明 */
  pointer-events: none; /* ヘッダーが非表示時にクリックを防ぐ */
}

.appear-header2.visible {
  transform: translateY(0);
  pointer-events: auto; /* 表示時に操作可能に */
}

.appear-header2.frosted {
  background-color: rgba(255, 255, 255, 0.5); /* 半透明白背景 */
  backdrop-filter: blur(8px); /* 背景ぼかし */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* 浮遊感のあるシャドウ */
}




/* ContactForm7カスタマイズ */
table.CF7_table {
	width: 80%;
	margin: 0 auto;
	border: 3px solid #d8d8d8;
	border-radius: 15px;
	background-color: #ffffff;
	border-collapse: separate;
	border-spacing: 0;
}

/* セルの枠線なし */
table.CF7_table td,
table.CF7_table th {
	border: none;
}



/* 表示強制設定 */
.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table {
	display: table;
}

/* 入力欄 */
.CF7_table input,
.CF7_table textarea {
	border: 1px solid #d8d8d8;
	border-radius: 15px;
	padding: 0.5em;
	box-sizing: border-box;
	width: 100%;
}

.CF7_table ::placeholder {
	color: #797979;
}

/* タイトル列（PC） */
@media screen and (min-width: 768px) {
	.CF7_table th {
		width: 25%;
		background-color: #ffffff;
		text-align: left;
		padding-left: 20px;
		border-radius: 15px;
	}
}

/* レスポンシブ（スマホ） */
@media screen and (max-width: 768px) {
	table.CF7_table {
		width: 95%;
	}
	.CF7_table tr,
	.CF7_table td,
	.CF7_table th {
		display: block;
		width: 100%;
		line-height: 2.5em;
		border-radius: 15px;
	}
	.CF7_table th {
		background-color: #ebedf5;
		text-align: left;
		padding-left: 20px;
	}
	.CF7_table td {
		border-left: none; /* モバイル表示では区切り線を消す */
	}
}

/* 送信ボタン */
.wpcf7 input.wpcf7-submit {
	background-color: #f79034;
	border: 0;
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
	margin: 0 auto;
	padding: 0.8em 1.5em;
	border-radius: 15px;
	cursor: pointer;
}

.CF7_btn {
	text-align: center;
	margin-top: 20px;
}

.wpcf7-spinner {
	width: 0;
	margin: 0;
}


/******************************/
/** 企業コンタクトフォームの装飾 **/
/******************************/
#wpcf7-f74379d #cf7-area {
  width: 100%;
  margin: 0 auto;
  
}

#wpcf7-f74379d .cf7-item {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0 0 1.75em;
}

#wpcf7-f74379d .cf7-q {
  width: 30%;
  margin: 0 0 0 10px;
}

#wpcf7-f74379d .cf7-a {
  width: 60%;
}

/*　見出し　*/
#wpcf7-f74379d .form-heading {
  width: 100%;
  background-color: #191970;
  border-left: 1em solid #6495ED;
  border-radius: 2px;
  color: #ffffff;
  font-weight: bold;
  padding: 1em .8em;
  margin: 0 0 2em;
}

#wpcf7-f74379d .form-heading p {
  margin: 0;
}

/* 各項目共通 */
#wpcf7-f74379d label {
  font-weight: bold;
}

#wpcf7-f74379d input[type="text"],
#wpcf7-f74379d input[type="email"],
#wpcf7-f74379d input[type="tel"],
#wpcf7-f74379d textarea {
  background: #F0F8FF;
  width: 500px;
  margin-left: 10px;
}

#wpcf7-f74379d input[type="text"]:focus,
#wpcf7-f74379d input[type="email"]:focus,
#wpcf7-f74379d input[type="tel"]:focus,
#wpcf7-f74379d textarea:focus {
  background: #FFE4E1;
  border: 2px solid #FF1493;
  outline: 0;
}

#wpcf7-f74379d input[type="checkbox"],
#wpcf7-f74379d input[type="radio"] {
  appearance: auto;
}

#wpcf7-f74379d .wpcf7-list-item {
  display: block;
}

#wpcf7-f74379d textarea {
  height: 200px;
  padding: 0.625em 0.4375em;
}

#wpcf7-f74379d .cf7-accept-check {
  text-align: center;
  margin: 50px auto;
}

#wpcf7-f74379d .cf7-submit {
  width: 40%;
  margin: 0 auto;
  text-align: center;
}

#wpcf7-f74379d input[type="submit"] {
  width: 100%;
  background-color: #191970;
  color: #ffffff;
  border-radius: 5px;
  font-size: 1.2em;
  padding: 1em 10px;
}

#wpcf7-f74379d input[type="submit"]:hover {
  background-color: #ffffff;
  border: 2px solid #191970;
  color: #191970;
}

#wpcf7-f74379d .cf7-btn {
  width: 40%;
  margin: 0 auto;
  text-align: center;
}

/*　必須ラベル　*/
#wpcf7-f74379d .cf7-req {
  font-size: .8em;
  padding: 4px 6px;
  background: #eb2a2a;
  color: #ffffff;
  margin-left: 10px;
  display: inline-block;
}

/* レスポンシブ対応 */
@media screen and (max-width:768px) {
  #wpcf7-f74379d .cf7-item {
    display: block;
  }

  #wpcf7-f74379d label {
    display: block;
    margin-bottom: 10px;
  }

  #wpcf7-f74379d .cf7-q,
  #wpcf7-f74379d .cf7-a {
    width: 100%;
    margin: 0;
  }

  #wpcf7-f74379d input[type="text"],
  #wpcf7-f74379d input[type="email"],
  #wpcf7-f74379d input[type="tel"],
  #wpcf7-f74379d textarea {
    margin-left: 0;
  }

  #wpcf7-f74379d .cf7-submit {
    width: 90%;
  }
}


.entry-content a:hover {
  border-bottom: 1px solid #0000FF;
}

