.elementor-670 .elementor-element.elementor-element-bb5e532{--display:flex;--min-height:0px;--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-670 .elementor-element.elementor-element-1db898c{--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:100px 100px;--row-gap:100px;--column-gap:100px;--flex-wrap:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-670 .elementor-element.elementor-element-1db898c:not(.elementor-motion-effects-element-type-background), .elementor-670 .elementor-element.elementor-element-1db898c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#585858;}.elementor-670 .elementor-element.elementor-element-13bf64b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-670 .elementor-element.elementor-element-435842e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-670 .elementor-element.elementor-element-7f95d8c img{width:100%;}.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-670 .elementor-element.elementor-element-61a8eb1 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:20px;font-weight:600;letter-spacing:2px;color:#FFFFFF;}.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-670 .elementor-element.elementor-element-b243896{font-family:"Noto Sans JP", Sans-serif;font-weight:400;line-height:30px;letter-spacing:2px;color:#FFFFFF;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-670 .elementor-element.elementor-element-5645778 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-670 .elementor-element.elementor-element-5645778 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-670 .elementor-element.elementor-element-5645778{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-670 .elementor-element.elementor-element-5645778 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-670 .elementor-element.elementor-element-5645778 .elementor-icon-list-item > a{font-family:"Noto Sans JP", Sans-serif;font-size:12px;font-weight:400;line-height:14px;letter-spacing:1px;}.elementor-670 .elementor-element.elementor-element-5645778 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-670 .elementor-element.elementor-element-5645778 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#C9C9C9;}.elementor-670 .elementor-element.elementor-element-074a670{font-family:"Roboto", Sans-serif;font-size:12px;font-weight:400;letter-spacing:2px;color:#FFFFFF;}.elementor-670 .elementor-element.elementor-element-ec6fa42{--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;--justify-content:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-670 .elementor-element.elementor-element-2003de5{--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;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(16px/2);}.elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(16px/2);}.elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(16px/2);}.elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-16px/2);}.elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-16px/2);}.elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-670 .elementor-element.elementor-element-0911b5c{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-item > .elementor-icon-list-text, .elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-item > a{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;word-spacing:2px;}.elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-670 .elementor-element.elementor-element-0911b5c .elementor-icon-list-item:hover .elementor-icon-list-text{color:#C9C9C9;}.elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(16px/2);}.elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(16px/2);}.elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(16px/2);}.elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-16px/2);}.elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-16px/2);}.elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-670 .elementor-element.elementor-element-b9b583f{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-item > .elementor-icon-list-text, .elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-item > a{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;word-spacing:2px;}.elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-670 .elementor-element.elementor-element-b9b583f .elementor-icon-list-item:hover .elementor-icon-list-text{color:#C9C9C9;}.elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(16px/2);}.elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(16px/2);}.elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(16px/2);}.elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-16px/2);}.elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-16px/2);}.elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-670 .elementor-element.elementor-element-0f4a06a{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-item > .elementor-icon-list-text, .elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-item > a{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:400;letter-spacing:2px;word-spacing:2px;}.elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-670 .elementor-element.elementor-element-0f4a06a .elementor-icon-list-item:hover .elementor-icon-list-text{color:#C9C9C9;}.elementor-670 .elementor-element.elementor-element-f06a942{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-670 .elementor-element.elementor-element-13bf64b{--width:360px;}.elementor-670 .elementor-element.elementor-element-ec6fa42{--width:600px;}}/* Start custom CSS for html, class: .elementor-element-4f4c854 *//* ===============================
   SNS Dock（右下固定）
   =============================== */
.sns-dock{
  --dock-w: 300px;             /* 幅 */
  --dock-h-collapsed: 44px;    /* 閉じた高さ */
  --dock-h-open: 120px;        /* 開いた高さ（中身に合わせて調整） */

  position: fixed;
  right: 0;
  bottom: 0;
  width: var(--dock-w);
  height: var(--dock-h-collapsed);
  background: #0B3283;
  color: #fff;
  border-radius: 14px 0 0 0;   /* 上左右だけ角丸 */
  overflow: hidden;               /* 中身を隠す */
  transition: height .35s cubic-bezier(.22,.61,.36,1);
  z-index: 3000;
}

/* 開いたとき */
.sns-dock.is-open{
  height: var(--dock-h-open);
}

/* ===============================
   ヘッダー（常時表示部分）
   =============================== */
.sns-dock__head{
  all: unset; /* ボタンのリセット */
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: var(--dock-h-collapsed);
  padding: 0 30px;
  cursor: pointer;
  font: 500 14px/1 "Noto Sans JP", system-ui, sans-serif;
  letter-spacing: .08em;
  box-sizing: border-box;
}

/* 点滅テキスト */
.sns-dock__blink{
  animation: blink 1.1s steps(2, jump-none) infinite;
}
@keyframes blink{
  0%,100%{ opacity: 1; }
  50%{ opacity: 0; }
}

/* 矢印（上下反転アニメ） */
.sns-dock__chev{
  display: inline-block;
  transform: rotate(180deg);
  transition: transform .25s ease;
}
.sns-dock.is-open .sns-dock__chev{
  transform: rotate(0deg);
}

/* ===============================
   本体（アイコン部分）
   =============================== */
.sns-dock__body{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .28s ease, transform .28s ease;
}
.sns-dock.is-open .sns-dock__body{
  opacity: 1;
  transform: translateY(0);
}

/* 各リンク */
.sns-dock__link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  color: #fff;
  text-decoration: none;
  background: rgba(255,255,255,.08);
  transition: background-color .2s ease, transform .2s ease;
  white-space: nowrap;
}
.sns-dock__link:hover{
  background: rgba(255,255,255,.18);
  transform: translateY(-1px);
}
.sns-dock__link img{
  width: 26px;
  height: 26px;
  display: block;
}
.sns-dock__link span{
  font: 500 14px/1 "Noto Sans JP", system-ui, sans-serif;
  letter-spacing: .04em;
}
/* 初期は非表示（右下で小さく隠す） */
.sns-dock{
  opacity: 0;
  transform: translateY(40px);
  pointer-events: none;
}

/* 1000pxスクロール後に付与されるクラス */
.sns-dock.is-visible{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity .6s ease, transform .6s ease;
}

/* ===============================
   モバイル（横幅いっぱいに）
   =============================== */
@media (max-width: 480px){
  .sns-dock{
    --dock-w: auto;
    right: 0;
    left: 0;
    width: 100%;
    border-radius: 14px 14px 0 0; /* 上だけ角丸 */
  }
}

/* ===============================
   動きを控えめに（OS設定尊重）
   =============================== */
@media (prefers-reduced-motion: reduce){
  .sns-dock{ transition: none; }
  .sns-dock__blink{ animation: none; }
  .sns-dock__body{ transition: none; opacity: 1; transform: none; }
}/* End custom CSS */