/**
Theme Name: DT-Axis
Author: Saporal
Author URI: https://saporal.net/
Description: This is special theme for DT-Axis.
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: dt-axis
Template: astra
*/

/************* リセットCSS **************/
.entry-content p, p{
	margin-bottom: 0;
}

/* デフォルトのh1タグ非表示*/
header.entry-header .entry-title{
	display: none;
}


/* デフォルトフォント noto sans jp */
.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}


/* aタグのデフォルトスタイルを完全リセット */
a,
a:visited,
a:hover,
a:active,
a:focus,
a:focus-visible {
    color: inherit;
    text-decoration: none;
    outline: none;
    box-shadow: none;
    background-color: transparent;
}
/****************************************/

/**** post投稿ページのスタイル ****/
/* 投稿ページはデフォルト */
.single-post p {
	margin-bottom: 1.2em;
}

body.single-post .ha-post-content p {
    font-size: 18px;
    line-height: 1.8;
}

@media screen and (min-width: 768px) {
    body.single-post .ha-post-content p {
        font-size: 20px;
        line-height: 1.9;
    }
}

/* 投稿詳細ページ(.single-post)の本文内のリンクにのみ適用 */
body.single-post .ha-post-content a {
    color: #1e40af;          /* 信頼感のあるブルー */
    text-decoration: none;
    transition: color 0.3s ease;
}

/* ホバー時 */
body.single-post .ha-post-content a:hover {
    color: #10b981;          /* エメラルド */
}

/* 画像の影を消す */
body.single-post .ha-post-content img,
.editor-styles-wrapper img{
    box-shadow: none !important;
    border: none !important; /* もし枠線もついている場合は追加 */
}

/* エディタの画像配置を適用する */
/* aligncenterクラスを持つ要素を中央に配置する */
body.single-post .ha-post-content .aligncenter {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center; /* 子要素（img）も中央へ */
}

/* figureタグの中にある画像自体のマージンをリセット */
body.single-post .ha-post-content .aligncenter img {
    margin: 0 auto !important;
}
/****************************************/

/* overflow: hidden */
.overflow-hidden{
	overflow: hidden;
}

.overflow-visible{
	overflow: visible;
}

.max-width-none img{
	max-width: none !important;
}



/************* テキスト改行 ***************/
.sp-break {
    display: none;
}

@media (max-width: 767px) {
    .sp-break {
        display: inline;
    }
}
/*****************************************/



/************* View All・お問い合わせボタン(青枠・青文字) ***************/
.next-page-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 8px 26px;
  border: 2px solid #1a4896;
  border-radius: 50px;
  text-decoration: none !important;
  color: #1a4896;
  font-size: 18px;
  font-weight: 500;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: color 0.4s ease;
}

.next-page-link-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: #1a4896;
  transition: left 0.4s ease;
  z-index: -1;
}

.next-page-link-btn:hover::before,
.next-page-link-btn.is-animating::before {
  left: 0;
}

.next-page-link-btn:hover,
.next-page-link-btn.is-animating {
  color: #ffffff;
}

.arrow-circle {
  width: 36px;
  height: 36px;
  border: 2px solid #1a4896;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease;
}

.next-page-link-btn:hover .arrow-circle,
.next-page-link-btn.is-animating .arrow-circle {
  border-color: #ffffff;
  transform: translate(3px, -3px);
}

.arrow-circle svg {
  width: 18px;
  height: 18px;
  stroke: #1a4896;
  stroke-width: 3;
  fill: none;
  transition: stroke 0.4s ease;
}

.next-page-link-btn:hover .arrow-circle svg,
.next-page-link-btn.is-animating .arrow-circle svg {
  stroke: #ffffff;
}
/*****************************************/



/************* 反転ボタン(枠無し・白文字) ***************/
/* 反転バージョンのスタイル */
/* --- 反転用の差分スタイルのみ追加 --- */

/* ボタン本体の反転 */
.next-page-link-btn.is-reversed {
  border-color: #ffffff;
  color: #ffffff;
}

.next-page-link-btn.is-reversed::before {
  background-color: #ffffff;
}

.next-page-link-btn.is-reversed:hover,
.next-page-link-btn.is-reversed.is-animating{
  color: #1a4896; /* ホバー時に青文字 */
}

/* 矢印部分の反転（共通の .arrow-circle クラスを使用） */
.next-page-link-btn.is-reversed .arrow-circle {
  border-color: #ffffff;
}

.next-page-link-btn.is-reversed .arrow-circle svg {
  stroke: #ffffff;
}

/* 矢印部分のホバー時 */
.next-page-link-btn.is-reversed:hover .arrow-circle,
.next-page-link-btn.is-reversed.is-animating .arrow-circle{
  border-color: #1a4896;
}

.next-page-link-btn.is-reversed:hover .arrow-circle svg,
.next-page-link-btn.is-reversed.is-animating .arrow-circle svg{
  stroke: #1a4896;
}
/*****************************************/

/*****************************************/
/* iPad横向きでファーストビューのサイズが崩れるのを防ぐ */
/* iPad横向き時の修正 */
@media (min-width: 768px) and (max-width: 1180px) and (orientation: landscape) {
    .elementor-11 .elementor-element.elementor-element-d769d1f {
        /* background-attachment: fixed が効いている場合の強制解除 */
        background-attachment: scroll !important;
        
        /* 100vhの代わりに、より正確な svh (Small Viewport Height) を適用 */
        min-height: 100svh !important;
        
        /* 画像が拡大されすぎるのを防ぐ */
        background-size: contain; /* または 100% auto */
        background-position: center top !important;
    }
}
/*****************************************/