@charset "UTF-8";
/* --------------------------------------------------------------
   共通フッター(SCSパートナーサイトより移植)
   取得元 https://ithelper.ripple-call.co.jp/scspartner/
   - 元サイトは html{font-size:6.25%} = 1rem 1px のため rem を px へ変換済み
   - 全セレクタを footer 配下にスコープ(汎用クラス名の衝突を防ぐため)
   - SCSSパイプラインには載せない。更新時はこのファイルを直接編集する
-------------------------------------------------------------- */

footer article,footer aside,footer details,footer figcaption,footer figure,footer,footer header,footer hgroup,footer menu,footer nav,footer section { display:block }
footer .accordion-sw { cursor:pointer }
footer .accordion-tg:not(.open) { display:none }
footer { background:#00233a;color:#fff;padding:60px clamp(30px,2.5vw,60px) }
footer .foot-wrap { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:1416px;margin:0 auto }
footer .foot-wrap .tit { font-size:14px;font-weight:700;line-height:1.8 }
footer .foot-wrap .txt { font-size:14px;line-height:1.5;margin:5px 0 0 }
footer .foot-wrap .privacymark { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:16px;margin:30px 0 0 }
footer .foot-wrap .privacymark .img { -ms-flex-negative:0;flex-shrink:0;width:110px }
footer .foot-wrap .privacymark .txt { font-size:12px;line-height:1.5;width:193px;margin:0 }
footer .foot-left { -ms-flex-negative:0;flex-shrink:0 }
footer .foot-left .logo { width:278px }
footer .foot-left .comp { margin:10px 0 0 }
footer .foot-left .comp .name { font-size:20px;font-weight:700;line-height:1.8;margin:5px 0 0 }
footer .foot-left .address { margin:20px 0 0 }
footer .foot-right { max-width:938px;width:calc(100% - 380px) }
footer .foot-right ul { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-line-pack:justify;align-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:30px;width:100%;height:400px }
footer .foot-right .accordion-sw .ico { display:none }
footer .foot-bottom { width:100%;margin:40px 0 0 }
footer .foot-nav { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:65px;border-top:1px solid #5b6268;border-bottom:1px solid #5b6268 }
footer .foot-nav ul { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:20px }
footer .foot-nav .nav-tit { font-size:14px;font-weight:700;-webkit-transition:0.3s ease;transition:0.3s ease }
footer .foot-copy { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;margin:20px 0 0 }
footer .foot-copy .copy { font-size:12px;line-height:1.8 }
footer .footer-middle { width: 100%; border-top: 1px solid #ddd; padding: 30px 0 0 }
footer .group_link_block h2 { font-size: 14px; margin-bottom: 15px }
footer .group_link_cat { position: relative; font-size: 13px; font-weight: 500; padding-left: 20px; cursor: pointer; transition: all .5s ease; color: #ddd }
footer .group_link_cat::before { position: absolute; content: ""; width: 10px; height: 2px; background-color: #999; left: 0; top: 50% }
footer .group_link_cat::after { position: absolute; content: ""; width: 10px; height: 2px; background-color: #999; left: 0; top: 50%; transform: rotate(-90deg); transition: all .4s }
footer .group_link_cat.close::after { transform: rotate(0deg) }
footer .group_link_box { display: none; padding: 10px 0px 0px }
footer .group_link_list li { margin-bottom: 10px }
footer .group_link_box li a { position: relative; display: block; font-size: 12px; color: #999; padding-left: 20px; transition: all .4s; margin-bottom: 4px }
footer .group_link_box li a::before { position: absolute; content: ""; width: 2px; height: 2px; border-radius: 5px; background-color: #ddd; top: 50%; left: 2px }

@media screen and (max-width:768px) {
  footer { padding:40px 20px }
  footer .foot-wrap .privacymark { margin:40px 0 0 }
  footer .foot-wrap .privacymark .txt { width:100% }
  footer .foot-left .logo { width:210px }
  footer .foot-left .comp .tit { font-size:12px }
  footer .foot-left .comp .name { font-size:16px;margin:0 }
  footer .foot-left .privacymark { display:none }
  footer .foot-right { width:100%;margin:30px 0 0 }
  footer .foot-right ul { gap:0;height:auto;border-top:1px solid #5b6268 }
  footer .foot-right li { width:100% }
  footer .foot-right .accordion { border-bottom:1px solid #5b6268 }
  footer .foot-right .accordion-sw { display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:15px 3px 15px 0;-webkit-transition:0.3s ease;transition:0.3s ease }
  footer .foot-right .accordion-sw .ico { position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:14px;min-width:0;aspect-ratio:1;-webkit-transition:0.3s ease;transition:0.3s ease }
  footer .foot-right .accordion-sw .ico:after,footer .foot-right .accordion-sw .ico:before { position:absolute;content:"";width:100%;height:2px;background:#fff;-webkit-transition:0.3s ease;transition:0.3s ease }
  footer .foot-right .accordion-sw .ico:before { -webkit-transform:rotate(90deg);transform:rotate(90deg) }
  footer .foot-right .accordion-sw.on { padding-bottom:5px }
  footer .foot-right .accordion-sw.on .ico { -webkit-transform:rotate(180deg);transform:rotate(180deg) }
  footer .foot-right .accordion-sw.on .ico:before { opacity:0 }
  footer .foot-right .accordion-tg .txt { margin-top:0px;padding-bottom:15px }
  footer .foot-nav { height:auto;padding:20px 0 }
  footer .foot-nav ul { -ms-flex-wrap:wrap;flex-wrap:wrap }
  footer .foot-copy { -webkit-box-pack:center;-ms-flex-pack:center;justify-content:center }
}

@media screen and (min-width:769px) {
  footer .foot-right .accordion-sw { pointer-events:none }
  footer .foot-right .accordion-tg { display:block }
  footer .foot-right .privacymark { display:none }
  footer .foot-nav ul a:hover .nav-tit { color:#0474c2 }
}

@media(min-width: 1025px) {
  footer .group_link_box { display: block }
  footer .group_link_list { display: flex; flex-wrap: wrap; row-gap: 10px }
  footer .group_link_list > li { width: 33% }
  footer .group_link_cat { padding: 0; cursor: auto }
  footer .group_link_cat::before,footer .group_link_cat::after { content: none }
  footer .group_link_list li { margin-bottom: 5px }
}

/* --------------------------------------------------------------
   Garden LP 向けの上書き(移植した元CSSはここより上。差分はこのブロックに集約する)
-------------------------------------------------------------- */

/* 背景は元のGarden LPフッターの色に戻す */
footer { background:#092413 }

/* ロゴは Garden bot のもの。濃色ロゴのため旧フッターと同じ白プレートに載せる */
footer .foot-left .logo { width:auto }
footer .foot-left .logo a { display:inline-block; padding:14px 18px; background:#fff; border-radius:8px }
footer .foot-left .logo img { width:211px; height:52px; object-fit:contain }

@media screen and (max-width:768px) {
  footer .foot-left .logo { width:auto }
  footer .foot-left .logo a { padding:10px 14px }
  footer .foot-left .logo img { width:170px; height:42px }
}

/* プライバシーマークの下にも同じ余白をつける(元は margin:30px 0 0) */
footer .foot-wrap .privacymark { margin-bottom:30px }
