.elementor-5118 .elementor-element.elementor-element-d19ea2c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:95px;--padding-left:0px;--padding-right:0px;}.elementor-5118 .elementor-element.elementor-element-d19ea2c:not(.elementor-motion-effects-element-type-background), .elementor-5118 .elementor-element.elementor-element-d19ea2c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#C6E3FF;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-5118 .elementor-element.elementor-element-9f6542b{text-align:center;}.elementor-5118 .elementor-element.elementor-element-9f6542b .elementor-heading-title{font-family:"NotoSans JP", Sans-serif;font-size:24px;font-weight:500;}.elementor-5118 .elementor-element.elementor-element-bb58fe8 > .elementor-widget-container{margin:15px 0px 0px 0px;}.elementor-5118 .elementor-element.elementor-element-a7f0a74{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;}.elementor-5118 .elementor-element.elementor-element-442fd0e{--display:flex;--min-height:56px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;border-style:solid;--border-style:solid;border-color:var( --e-global-color-24fa62e );--border-color:var( --e-global-color-24fa62e );}.elementor-5118 .elementor-element.elementor-element-442fd0e:not(.elementor-motion-effects-element-type-background), .elementor-5118 .elementor-element.elementor-element-442fd0e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#221B63;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-5118 .elementor-element.elementor-element-cf2e9c6{text-align:right;font-family:"NotoSans JP", Sans-serif;font-size:12px;font-weight:400;color:var( --e-global-color-24fa62e );}.elementor-5118 .elementor-element.elementor-element-e35ba93{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-5118 .elementor-element.elementor-element-e35ba93:not(.elementor-motion-effects-element-type-background), .elementor-5118 .elementor-element.elementor-element-e35ba93 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-5118 .elementor-element.elementor-element-2a6c298 .elementor-button{background-color:#221B63;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;fill:#FFFFFF;color:#FFFFFF;border-style:none;}.elementor-5118 .elementor-element.elementor-element-2a6c298 .elementor-button:hover, .elementor-5118 .elementor-element.elementor-element-2a6c298 .elementor-button:focus{background-color:#221B63;color:#FFFFFF;}.elementor-5118 .elementor-element.elementor-element-2a6c298{width:var( --container-widget-width, 240px );max-width:240px;--container-widget-width:240px;--container-widget-flex-grow:0;}.elementor-5118 .elementor-element.elementor-element-2a6c298.elementor-element{--align-self:stretch;--flex-grow:1;--flex-shrink:0;}.elementor-5118 .elementor-element.elementor-element-2a6c298 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-5118 .elementor-element.elementor-element-2a6c298 .elementor-button:hover svg, .elementor-5118 .elementor-element.elementor-element-2a6c298 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-5118 .elementor-element.elementor-element-0cc0d20 .elementor-button{background-color:#221B63;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;fill:#FFFFFF;color:#FFFFFF;border-style:solid;}.elementor-5118 .elementor-element.elementor-element-0cc0d20 .elementor-button:hover, .elementor-5118 .elementor-element.elementor-element-0cc0d20 .elementor-button:focus{background-color:#221B63;color:#FFFFFF;}.elementor-5118 .elementor-element.elementor-element-0cc0d20{width:var( --container-widget-width, 240px );max-width:240px;--container-widget-width:240px;--container-widget-flex-grow:0;}.elementor-5118 .elementor-element.elementor-element-0cc0d20.elementor-element{--align-self:stretch;--flex-grow:1;--flex-shrink:0;}.elementor-5118 .elementor-element.elementor-element-0cc0d20 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-5118 .elementor-element.elementor-element-0cc0d20 .elementor-button:hover svg, .elementor-5118 .elementor-element.elementor-element-0cc0d20 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(max-width:1024px){.elementor-5118 .elementor-element.elementor-element-2a6c298 .elementor-button{font-size:14px;padding:14px 35px 14px 35px;}.elementor-5118 .elementor-element.elementor-element-0cc0d20 .elementor-button{font-size:14px;padding:14px 35px 14px 35px;}}@media(max-width:767px){.elementor-5118 .elementor-element.elementor-element-d19ea2c{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-5118 .elementor-element.elementor-element-442fd0e{border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;}.elementor-5118 .elementor-element.elementor-element-cf2e9c6{text-align:center;}.elementor-5118 .elementor-element.elementor-element-e35ba93{--min-height:50px;--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-around;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5118 .elementor-element.elementor-element-2a6c298{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-5118 .elementor-element.elementor-element-2a6c298.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-5118 .elementor-element.elementor-element-2a6c298 .elementor-button{border-radius:0px 0px 0px 0px;padding:12px 0px 12px 0px;}.elementor-5118 .elementor-element.elementor-element-0cc0d20{width:var( --container-widget-width, 50% );max-width:50%;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-5118 .elementor-element.elementor-element-0cc0d20.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-5118 .elementor-element.elementor-element-0cc0d20 .elementor-button{border-width:0px 0px 0px 1px;border-radius:0px 0px 0px 0px;padding:12px 0px 12px 0px;}}/* Start custom CSS for html, class: .elementor-element-bb58fe8 */.btn-grid {
  display: flex;
  gap: 40px;
}

/* 共通ボタン設定 */
.bg-button {
  position: relative;
  display: flex;
  align-items: center;        /* 縦中央 */
  justify-content: center;    /* 横中央 */
  width: 100%;
  height: 140px;
  overflow: hidden;
  text-decoration: none;
  color: #fff;

  /* 画像＋カラー乗算 */
  background-image: url('https://www.oceanglide.com/wp-content/uploads/2025/06/btn_haikei.jpg');
  background-color: #0062B3;
  background-blend-mode: multiply;
  background-size: 100% auto;
  background-position: center center;
  background-repeat: no-repeat;

  /* 背景ズームとアイコン移動用のアニメーション設定 */
  transition:
    background-size 0.5s ease-out,
    transform        0.3s ease-out;
}

/* ホバーで背景をズーム */
.bg-button:hover {
  background-size: 120% auto;
  color: #fff;
}

/* テキスト */
.bg-button .txt {
  z-index: 1;            /* 背景より前面 */
  font-size: 22px;
  font-weight: bold;
  text-align: center;    /* 複数行でも中央揃え */
  pointer-events: none;  /* クリックをアイコン／リンクに通す */
}

/* img をブロック要素にしてサイズを固定 */
.bg-button .icon img {
  display: block;
  width: 40px;    /* お好みで微調整 */
  height: auto;
}


/* ホバーでアイコンを右にスライド */
.bg-button:hover .icon {
  transform: translate(8px, -50%);
}


/* ボタン自体は position:relative にしてある前提 */
.bg-button {
  position: relative;
}

/* アイコンを右端・中央に配置 ＆ トランジション設定 */
.bg-button .icon {
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
  z-index: 1; /* 背景の下に隠れないように */
}

@media (max-width: 767px) {
  .btn-grid {
    flex-direction: column;
    gap: 20px; /* 縦方向の隙間を調整 */
  }
  
  /* 共通ボタン設定 */
.bg-button {
  
  width: 100%;
  height: 90px;
  
  background-size: 110% auto;
  
}


}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2e016d7 *//* フッター全体 */
.kainos-footer {
  color: #221B63;
}

.footer-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 80px 20px 90px 20px;
  position: relative;
}

.footer-inner::after {
  content: "";
  position: absolute;
  bottom: -70px;
  right: -65px;
  width: 259px;
  height: 240px;
  pointer-events: none;
  background: url('https://www.oceanglide.com/wp-content/uploads/2025/06/footer_shop.png') no-repeat center/100% 100%;
}

/* ロゴ */
.footer-logo {
  text-align: center;
  margin-bottom: 47px;
  position: relative;
  z-index: 10;
}
.footer-logo img {
  max-height: 44px;
}
.footer-logo-text {
  margin-top: 2px;
  font-size: 16px;
  font-weight: 600;
  color: #221B63;
  text-align: center;
  line-height: 1.4;
}

/* フッター2カラム */
.footer-widgets {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-bottom: 0;
}
.footer-col.info {
  flex: 0 0 445px;
  max-width: 445px;
  margin-left: 60px;
}
.footer-col.nav {
  flex: 1;
  padding-left: 90px;
}

/* 左カラム（住所・マップ） */
.footer-col.info .info-top {
  display: flex;
  align-items: center;
  margin-bottom: 17px;
}
.footer-col.info .info-top .addr {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}
.map-btn {
  display: block;
  position: relative;
  padding: 10px 20px 10px 18px;
  padding-right: 35px;
  border: 1.5px solid #808080;
  font-size: 12px;
  color: #000;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.3s;
}
.map-btn:hover {
  background-color: rgba(48,60,91,0.1);
}
.map-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 7px;
  width: 12px;
  height: 12px;
  background: url('https://www.oceanglide.com/wp-content/uploads/2025/07/right_arrow_b01.svg') no-repeat center/contain;
  transform: translateY(-50%);
}
.footer-col.info .hours {
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0 0 24px;
}

/* 電話予約 */
.phone-reserve {
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1.5px solid #999;
  padding: 7px 0;
  gap: 12px;
  margin-top:50px;
}
.phone-reserve .label {
  font-size: 16px;
  font-weight: 500;
  color: #221B63;
}
.phone-reserve .tel {
  font-size: 42px;
  font-weight: 500;
  color: #221B63;
  text-decoration: none;
}

/* リンクボタン */
.contact-links {
  display: flex;
  border-top: 1.5px solid #999;
  border-bottom: 1.5px solid #999;
  padding: 8px 0;
  text-align: center;
  margin: 0 auto;
}
.contact-links a {
  flex: 1;
  position: relative;
  font-size: 20px;
  font-weight: 500;
  color: #221B63;
  text-decoration: none;
}
.contact-links a:first-child::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.5px;
  height: 30px;
  background: #AAA;
  transform: translateY(-50%);
}

/* 右カラムナビ */
.nav-columns {
  display: flex;
  gap: 40px;
  margin-bottom: 20px;
}
.nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.nav-list li {
  margin-bottom: 8px;
}
.nav-list a {
  text-decoration: none;
  color: #221B63;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}
.footer-col.nav .nav-list a::before {
  content: "→";
  margin-right: 6px;
  color: inherit;
}

/* クイックリンク */
.quick-links {
  display: flex;
  gap: 24px;
  margin-bottom: 33px;
  
}


.quick-links a {
  font-size: 14px;
  color: #221B63;
  text-decoration: none;
}

/* SNSアイコン */
.social-icons {
  display: flex;
  align-items: center;
  gap: 27px;
}
.social-icons img {
  width: 30px;
  height: auto;
  display: block;
}

/* フッター下部 */
.footer-bottom {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 16px 80px;
  font-size: 0.875rem;
  max-width: 1160px;
  margin: 0 auto;
}
.footer-bottom > p {
  margin: 0 auto;
}
.footer-bottom a {
  text-decoration: none;
  color: #333;
}

/* PC/SP表示切り替え */
.pc-only,
.sp-only {
  display: none;
}

/* PC時SNS表示 */
@media (min-width: 768px) {
  .pc-only {
    display: flex;
  }
}

/* スマホ表示 */
@media (max-width: 767px) {

  .footer-inner {
    padding: 50px 20px;
  }

  .footer-inner::after {
    bottom: -190px;
    right: -30px;
    background-size: 60% 60%;
  }

  .footer-widgets {
      width:100%;
    flex-direction: column;
    padding-bottom: 0;
  }

  .footer-col.info {
    flex: 0 0 auto;
    margin-left: 0;
    width: 100% !important;
  }
  .footer-col.info .info-top {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-col.info .map-btn {
    margin-top: 10px;
    padding: 10px 30px 10px 18px;
  }

  .phone-reserve {  margin-top:0px;

    padding: 10px 0;
    border-bottom: 1.5px solid #999;
  }
  .phone-reserve .tel {
    font-size: 40px;
  }

  .contact-links {
    display: none;
  }

  .footer-col.nav {
    padding-left: 0;
  }
  .nav-columns {
    display: none;
  }
  .footer-col.nav {
    width: 100%;
    padding-left: 0;
  }
  .quick-links {
    display: flex;
    justify-content: center;
    margin: -20px auto 30px;
    width: fit-content;
    gap: 24px;
  }

  .quick-links a[href="/access"] {
    display: none;
  }

  .footer-logo {
    margin-bottom: 30px;
  }
  .footer-logo-text {
    text-align: center;
  }
  .sp-only {
    display: flex;
    justify-content: center;
    margin-top: 12px;
    gap: 25px;
  }
  .social-icons img {
    width: 20px;
  }

  .footer-bottom { position: relative;
  z-index: 1;
    display: block;
    text-align: center;
    padding: 0 20px 140px;
    margin-top: -60px;
    font-size: 0.875rem;
  }
  .footer-bottom a {
    font-size: 12px;
  }
  .footer-bottom > p {
    margin-top: 10px;
    font-size: 12px;
  }
}/* End custom CSS */