.elementor-12 .elementor-element.elementor-element-07c5a5c{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--overlay-opacity:0.5;--padding-top:100px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-07c5a5c:not(.elementor-motion-effects-element-type-background), .elementor-12 .elementor-element.elementor-element-07c5a5c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.aoyamayobiko.com/wp-content/uploads/2026/01/img_30.jpg");background-position:center center;background-size:contain;}.elementor-12 .elementor-element.elementor-element-07c5a5c::before, .elementor-12 .elementor-element.elementor-element-07c5a5c > .elementor-background-video-container::before, .elementor-12 .elementor-element.elementor-element-07c5a5c > .e-con-inner > .elementor-background-video-container::before, .elementor-12 .elementor-element.elementor-element-07c5a5c > .elementor-background-slideshow::before, .elementor-12 .elementor-element.elementor-element-07c5a5c > .e-con-inner > .elementor-background-slideshow::before, .elementor-12 .elementor-element.elementor-element-07c5a5c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#F3F3F3;--background-overlay:'';}.elementor-12 .elementor-element.elementor-element-72e27de{--display:flex;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-6451742{text-align:center;}.elementor-12 .elementor-element.elementor-element-6451742 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:40px;text-transform:uppercase;line-height:36px;color:#0E4066;}.elementor-12 .elementor-element.elementor-element-a7531ae{text-align:center;font-family:"Noto Sans JP", Sans-serif;font-size:20px;line-height:16px;letter-spacing:2px;color:#0E4066;}.elementor-12 .elementor-element.elementor-element-7d564bd{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-7d564bd.e-con{--align-self:center;}.elementor-12 .elementor-element.elementor-element-5300caa{background-color:#4F5C7F;padding:8px 16px 8px 16px;border-radius:4px 4px 4px 4px;}.elementor-12 .elementor-element.elementor-element-5300caa .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;letter-spacing:1px;color:#FFFFFF;}.elementor-12 .elementor-element.elementor-element-007ff3c{background-color:#4F5C7F;padding:8px 16px 8px 16px;border-radius:4px 4px 4px 4px;}.elementor-12 .elementor-element.elementor-element-007ff3c .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;letter-spacing:1px;color:#FFFFFF;}.elementor-12 .elementor-element.elementor-element-b427f8f{background-color:#4F5C7F;padding:8px 16px 8px 16px;border-radius:4px 4px 4px 4px;}.elementor-12 .elementor-element.elementor-element-b427f8f .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;letter-spacing:1px;color:#FFFFFF;}.elementor-12 .elementor-element.elementor-element-e242df1{background-color:#4F5C7F;padding:8px 16px 8px 16px;border-radius:4px 4px 4px 4px;}.elementor-12 .elementor-element.elementor-element-e242df1 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;letter-spacing:1px;color:#FFFFFF;}.elementor-12 .elementor-element.elementor-element-9b372a0{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-9b372a0.e-con{--align-self:center;}.elementor-12 .elementor-element.elementor-element-d5b275f{width:var( --container-widget-width, 1000px );max-width:1000px;--container-widget-width:1000px;--container-widget-flex-grow:0;}.elementor-12 .elementor-element.elementor-element-d5b275f.elementor-element{--align-self:center;}.elementor-12 .elementor-element.elementor-element-f992e50{width:100%;max-width:100%;}.elementor-12 .elementor-element.elementor-element-a555e68{width:100%;max-width:100%;}.elementor-12 .elementor-element.elementor-element-14cae0e{width:100%;max-width:100%;}.elementor-12 .elementor-element.elementor-element-4602a87{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-7b51966{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-8d499f0{width:100%;max-width:100%;}.elementor-12 .elementor-element.elementor-element-8d499f0 img{width:100%;}.elementor-12 .elementor-element.elementor-element-fa33058{--display:flex;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-41af28d{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;}.elementor-12 .elementor-element.elementor-element-71ca7a4{--display:flex;--min-height:50px;--justify-content:center;--background-transition:0.3s;--border-radius:100px 100px 100px 100px;}.elementor-12 .elementor-element.elementor-element-71ca7a4:not(.elementor-motion-effects-element-type-background), .elementor-12 .elementor-element.elementor-element-71ca7a4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1F4B6E;}.elementor-12 .elementor-element.elementor-element-71ca7a4:hover{background-color:#3F6A8B;}.elementor-12 .elementor-element.elementor-element-71ca7a4.e-con{--align-self:center;}.elementor-12 .elementor-element.elementor-element-b029464 img{width:100%;}.elementor-12 .elementor-element.elementor-element-e08ea82{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-12 .elementor-element.elementor-element-82daea6 .elementor-button{background-color:#02010100;font-family:"Noto Sans JP", Sans-serif;font-size:14px;fill:#333333;color:#333333;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-12 .elementor-element.elementor-element-82daea6 .elementor-button:hover, .elementor-12 .elementor-element.elementor-element-82daea6 .elementor-button:focus{color:#969696;}.elementor-12 .elementor-element.elementor-element-82daea6 .elementor-button:hover svg, .elementor-12 .elementor-element.elementor-element-82daea6 .elementor-button:focus svg{fill:#969696;}.elementor-12 .elementor-element.elementor-element-df84c28 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-weight:300;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-12 .elementor-element.elementor-element-4602a87{--width:1000px;}.elementor-12 .elementor-element.elementor-element-7b51966{--width:300px;}.elementor-12 .elementor-element.elementor-element-fa33058{--width:350px;}.elementor-12 .elementor-element.elementor-element-71ca7a4{--width:50px;}.elementor-12 .elementor-element.elementor-element-e08ea82{--width:1000px;}}@media(max-width:767px){.elementor-12 .elementor-element.elementor-element-07c5a5c{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-12 .elementor-element.elementor-element-07c5a5c:not(.elementor-motion-effects-element-type-background), .elementor-12 .elementor-element.elementor-element-07c5a5c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-repeat:repeat;}.elementor-12 .elementor-element.elementor-element-6451742 .elementor-heading-title{font-size:22px;line-height:1em;}.elementor-12 .elementor-element.elementor-element-a7531ae{width:var( --container-widget-width, 206px );max-width:206px;--container-widget-width:206px;--container-widget-flex-grow:0;font-size:18px;line-height:1.4em;}.elementor-12 .elementor-element.elementor-element-a7531ae.elementor-element{--align-self:center;}.elementor-12 .elementor-element.elementor-element-5300caa{padding:6px 12px 6px 12px;}.elementor-12 .elementor-element.elementor-element-5300caa .elementor-heading-title{font-size:14px;}.elementor-12 .elementor-element.elementor-element-007ff3c{padding:6px 12px 6px 12px;}.elementor-12 .elementor-element.elementor-element-007ff3c .elementor-heading-title{font-size:14px;}.elementor-12 .elementor-element.elementor-element-b427f8f{padding:6px 12px 6px 12px;}.elementor-12 .elementor-element.elementor-element-b427f8f .elementor-heading-title{font-size:14px;}.elementor-12 .elementor-element.elementor-element-e242df1{padding:6px 12px 6px 12px;}.elementor-12 .elementor-element.elementor-element-e242df1 .elementor-heading-title{font-size:14px;}.elementor-12 .elementor-element.elementor-element-4602a87{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-12 .elementor-element.elementor-element-7b51966{--width:240px;}.elementor-12 .elementor-element.elementor-element-41af28d{text-align:center;font-size:14px;}.elementor-12 .elementor-element.elementor-element-71ca7a4{--width:46px;--min-height:46px;}.elementor-12 .elementor-element.elementor-element-b029464{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-12 .elementor-element.elementor-element-b029464 img{width:100%;}.elementor-12 .elementor-element.elementor-element-e08ea82{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-12 .elementor-element.elementor-element-82daea6.elementor-element{--align-self:center;}.elementor-12 .elementor-element.elementor-element-df84c28{text-align:center;}.elementor-12 .elementor-element.elementor-element-df84c28 .elementor-heading-title{font-size:12px;}}/* Start custom CSS for html, class: .elementor-element-d5b275f *//* ============================================================
   お問い合わせバナー：ベースレイアウト（PC/タブレット）
============================================================ */
.contact-banner-wrapper {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    max-width: 1000px;
    margin: 0 auto;
}

/* カード共通 */
.contact-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px 10px !important;
    border-radius: 15px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

/* ホバーアクション */
.contact-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important;
}

/* アイコン設定 */
.contact-icon {
    width: 64px !important;
    height: 64px !important;
    background: #fff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 25px !important;
}

.contact-icon img {
    width: 38px !important;
    height: auto !important;
}

/* 左側：電話アイコン背景紺・中身白（PC版用） */
.icon-navy {
    background: #1f4b6e !important;
}
.icon-navy img {
    filter: brightness(0) invert(1) !important;
}

/* --- フォント・テキスト設定 --- */
.font-helvetica {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.contact-main, .contact-sub {
    font-family: "Noto Sans JP", sans-serif !important;
    text-align: center;
}

.tel-number {
    font-size: 32px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    color: #1f4b6e !important;
}

.contact-main {
    font-size: 22px !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
    line-height: 1.2 !important;
    text-align: center;
}

.contact-sub {
    font-size: 12px !important;
    font-weight: 500 !important;
}

/* --- 各バナー配色（PC版） --- */
.card-tel { background: #ffffff !important; border: 1px solid #eee !important; }
.card-tel .contact-main, .card-tel .contact-sub { color: #1f4b6e !important; }

.card-mail { background: #b33e54 !important; }
.card-mail .contact-main, .card-mail .contact-sub { color: #ffffff !important; }

.card-line { background: #2dae51 !important; }
.card-line .contact-main, .card-line .contact-sub { color: #ffffff !important; }

/* ============================================================
   レスポンシブ：中間サイズ（タブレット等）
============================================================ */
@media screen and (max-width: 950px) {
    .tel-number { font-size: 24px !important; }
    .contact-main { font-size: 18px !important; }
}

/* ============================================================
   レスポンシブ：スマホ版（左寄せ・縦並び・フローティング）
============================================================ */
@media screen and (max-width: 767px) {
    /* コンテナを左下に固定 */
    .contact-banner-wrapper {
        position: fixed !important;
        bottom: 20px !important;
        left: 20px !important;
        right: auto !important;
        display: flex !important;
        flex-direction: column !important; /* 縦並び */
        gap: 12px !important;
        z-index: 9999 !important;
        max-width: 60px !important;
        padding: 0 !important;
        pointer-events: none;
    }

    /* 各カードを円形アイコンに変形 */
    .contact-card {
        pointer-events: auto;
        width: 54px !important;
        height: 54px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
        border: none !important;
        animation: floating-action 3s ease-in-out infinite;
    }

    /* スマホ版の背景色：電話も紺色に統一 */
    .card-tel { background: #1f4b6e !important; } 
    .card-mail { background: #b33e54 !important; } 
    .card-line { background: #2dae51 !important; } 

    /* アニメーションのタイミングをずらす */
    .card-tel { animation-delay: 0s; }
    .card-mail { animation-delay: 0.3s; }
    .card-line { animation-delay: 0.6s; }

    /* アイコン配置と白抜き設定 */
    .contact-icon {
        margin-bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: transparent !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .contact-icon img {
        width: 24px !important;
        filter: brightness(0) invert(1) !important; /* すべて白アイコン化 */
    }

    /* 不要なテキストを非表示 */
    .tel-number, .contact-main, .contact-sub {
        display: none !important;
    }
}

/* フローティングアニメーション（上下ふわふわ） */
@keyframes floating-action {
    0% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
    100% { transform: translateY(0); }
}
@media screen and (max-width: 767px) {
    .contact-banner-wrapper {
        /* --- 既存のスタイル --- */
        position: fixed !important;
        bottom: 20px !important;
        left: 20px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        z-index: 9999 !important;
        pointer-events: none;

        /* --- 追加：初期状態は非表示（下に隠す） --- */
        opacity: 0 !important;
        transform: translateX(-100px) !important; /* 左からスッと出す演出 */
        transition: all 0.4s ease !important;
        visibility: hidden !important;
    }

    /* 表示用クラスが付与された時 */
    .contact-banner-wrapper.is-visible {
        opacity: 1 !important;
        transform: translateX(0) !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f992e50 *//* 横線のみのスタイル */
.elementor-12 .elementor-element.elementor-element-f992e50 .custom-horizontal-line {
    width: 100%;            /* 横幅いっぱい */
    height: 1px;            /* 線の太さ */
    background-color: #c6c6c6; /* 線の色（白） */
    margin: 0px 0;         /* 上下の余白（適宜調整してください） */
    border: none;           /* 余計な枠線を消去 */
    opacity: 0.6;           /* 少し透かせると背景に馴染みます。不要なら削除 */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-14cae0e *//* 横線のみのスタイル */
.elementor-12 .elementor-element.elementor-element-14cae0e .custom-horizontal-line {
    width: 100%;            /* 横幅いっぱい */
    height: 1px;            /* 線の太さ */
    background-color: #c6c6c6; /* 線の色（白） */
    margin: 0px 0;         /* 上下の余白（適宜調整してください） */
    border: none;           /* 余計な枠線を消去 */
    opacity: 0.6;           /* 少し透かせると背景に馴染みます。不要なら削除 */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d8c131e *//* Back to top button */
.btt{
  --ink:#333333;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:6px;
  color:var(--ink);
  text-decoration:none;
  transition: color .2s ease;
  font-family:"Afacad", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:transparent;
}

/* 右下固定＋最初は非表示 */
.btt--fixed{
  position:fixed;
  right:20px;
  bottom:24px;
  z-index:999;
  opacity:0;
  pointer-events:none;
  transform: translateY(10px);
  transition:
    opacity .25s ease,
    transform .25s ease;
}

/* スクロールしたら表示用クラス */
.btt--fixed.is-visible{
  opacity:1;
  pointer-events:auto;
  transform: translateY(0);
}

/* テキスト */
.btt__text{
  font-weight:600;
  font-size:14px;
  line-height:1;
  color:var(--ink);
  letter-spacing:0.12em;
  transition: color .2s ease;
}

/* アイコン */
.btt__icon{
  width:22px;
  height:22px;
  display:inline-block;
  color:var(--ink);
  transition: color .2s ease;
}

/* 矢印アニメーション */
.btt__arrow{
  width:100%;
  height:100%;
  display:block;
  transform: translateY(0);
  transition: transform .22s cubic-bezier(.22,1,.36,1);
}

/* hoverで矢印だけ上に */
.btt:hover .btt__arrow,
.btt:focus-visible .btt__arrow{
  transform: translateY(-3px);
}

/* hover時：文字＆アイコンを少しグレーに */
.btt:hover,
.btt:hover .btt__text,
.btt:hover .btt__icon{
  color:#a5a5a5 !important;
}

/* focus時リング */
.btt:focus-visible{
  outline:2px solid rgba(0,0,0,.35);
  outline-offset:2px;
}

/* 省モーション対応 */
@media (prefers-reduced-motion:reduce){
  .btt__arrow{ transition:none; transform:none; }
}/* End custom CSS */