@charset "UTF-8";

/* bodyのmarginリセットは各ページのCSSで設定してください */

#tg-home-footer {
	min-width: 320px;
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 14px;
    color: #181A24;
    line-height: 1.6;
    overflow-wrap: break-word;
}
@media screen and (max-width: 767px) { #tg-home-footer { font-size: 14px; } }

#tg-home-footer a { background-color: transparent; }
#tg-home-footer small { font-size: 80%; line-height: 1.4; }
#tg-home-footer img { border-style: none; max-width: 100%; height: auto; vertical-align: middle; -webkit-backface-visibility: hidden; }
#tg-home-footer h3 { margin: 0; padding: 0; line-height: 1.4; }
#tg-home-footer ul, #tg-home-footer li { margin: 0; padding: 0; }
#tg-home-footer li { list-style: none; }
#tg-home-footer svg { vertical-align: middle; }

#tg-home-footer * {
    box-sizing: content-box;
}

/******************************************************************
layout - footer2
******************************************************************/
#tg-home-footer .l-footer2 { color: #fff; background: #004098; font-size: 14px; }

#tg-home-footer .l-footer2 a { color: #fff; text-decoration: none; }

#tg-home-footer .l-footer2 a:hover { text-decoration: underline; }

@media print, screen and (min-width: 768px) { .l-footer2__recommend { border-bottom: 1px solid #fff; padding-top: 40px; padding-bottom: 40px; line-height: 1.6; }
  #tg-home-footer .l-footer2__recommend-inner { max-width: 960px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; }
  #tg-home-footer .l-footer2__recommend h3 { font-size: 18px; font-weight: 400; margin-bottom: 24px; }
  #tg-home-footer .l-footer2__recommend ul { display: flex; flex-wrap: wrap; margin-top: -12px; margin-right: -12px; }
  #tg-home-footer .l-footer2__recommend li { width: 150px; margin-top: 12px; margin-right: 12px; }
  #tg-home-footer .l-footer2__recommend img { width: 100%; }
  #tg-home-footer .l-footer2__inner { line-height: 1.6; max-width: 960px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; padding-top: 40px; padding-bottom: 30px; display: flex; align-items: center; }
  #tg-home-footer .l-footer2__nav { flex-grow: 1; display: flex; font-size: 12px; }
  #tg-home-footer .l-footer2__nav ul { margin-right: 60px; } }

@media print, screen and (min-width: 768px) and (max-width: 980px) { #tg-home-footer .l-footer2__nav ul { margin-right: 3.06122vw; } }

@media print, screen and (min-width: 768px) { #tg-home-footer .l-footer2__nav li:not(:last-child) { margin-bottom: 5px; }
  #tg-home-footer .l-footer2__sns-outer { text-align: center; }
  #tg-home-footer .l-footer2__sns { display: flex; justify-content: center; margin-right: -18px; }
  #tg-home-footer .l-footer2__sns li { margin-right: 18px; }
  #tg-home-footer .l-footer2__sns a { transition-property: opacity; transition-duration: 0.3s; }
  #tg-home-footer .l-footer2__sns a:hover { opacity: 0.7; }
  #tg-home-footer .l-footer2__sns-list { margin-top: 15px; }
  #tg-home-footer .l-footer2__sns-list a { position: relative; padding-right: 5.5px; padding-right: 20px; }
  #tg-home-footer .l-footer2__sns-list a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; transform: translate(0px, 2.5px) rotate(45deg); transform-origin: top right; border-top: 1px solid #fff; border-right: 1px solid #fff; width: 7px; height: 7px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  #tg-home-footer .l-footer2__sns-list a::after { top: 2px; } }

@media screen and (max-width: 767px) { #tg-home-footer .l-footer2__recommend { border-bottom: 1px solid #fff; padding: 30px 24px; line-height: 1.6; }
  #tg-home-footer .l-footer2__recommend h3 { font-size: 18px; font-weight: 400; margin-bottom: 24px; }
  #tg-home-footer .l-footer2__recommend ul { display: flex; flex-wrap: wrap; margin-top: -8px; margin-right: -8px; }
  #tg-home-footer .l-footer2__recommend li { width: calc(33% - 8px); margin-top: 8px; margin-right: 8px; }
  #tg-home-footer .l-footer2__recommend img { width: 100%; }
  #tg-home-footer .l-footer2__inner { padding: 30px 24px; display: flex; flex-direction: column; }
  #tg-home-footer .l-footer2__nav { order: 3; margin-top: 30px; font-size: 12px; }
  #tg-home-footer .l-footer2__nav ul:not(:last-child) { margin-bottom: 24px; }
  #tg-home-footer .l-footer2__nav li:not(:last-child) { margin-bottom: 8px; }
  #tg-home-footer .l-footer2__sns { display: flex; justify-content: center; }
  #tg-home-footer .l-footer2__sns li { padding: 0 10px; }
  #tg-home-footer .l-footer2__sns li img { width: 40px; }
  #tg-home-footer .l-footer2__sns-list { margin-top: 12px; text-align: center; }
  #tg-home-footer .l-footer2__sns-list a { position: relative; padding-right: 5.5px; padding-right: 20px; }
  #tg-home-footer .l-footer2__sns-list a::after { position: absolute; content: ""; margin: auto; box-sizing: border-box; vertical-align: middle; top: 0; bottom: 0; right: 0; transform: translate(0px, 2.5px) rotate(45deg); transform-origin: top right; border-top: 1px solid #fff; border-right: 1px solid #fff; width: 7px; height: 7px; transition-property: top, right, bottom, left; transition-duration: 0.3s; }
  #tg-home-footer .l-footer2__sns-list a::after { top: 2px; } }

/******************************************************************
layout - footer-group
******************************************************************/
@media print, screen and (min-width: 768px) { #tg-home-footer .l-footer-group__inner { max-width: 960px; margin-right: auto; margin-left: auto; padding-right: 30px; padding-left: 30px; display: flex; justify-content: space-between; align-items: flex-end; padding-top: 12px; padding-bottom: 15px; } }

@media screen and (max-width: 767px) { #tg-home-footer .l-footer-group__inner { box-sizing: border-box; padding: 24px; display: flex; flex-direction: column; min-height: 134px; justify-content: center; } }

@media print, screen and (min-width: 768px) { #tg-home-footer .l-footer-group__logo img { width: 400px; } }

@media screen and (max-width: 767px) { #tg-home-footer .l-footer-group__logo img { width: 400px; } }

#tg-home-footer .l-footer-group__copy { font-size: 12px; color: #B9BABD; }

@media screen and (max-width: 767px) { #tg-home-footer .l-footer-group__copy { display: block; padding-top: 10px; } }

@media screen and (max-width: 767px) and (max-width: 320px) { #tg-home-footer .l-footer-group__copy { font-size: 10px; } }

/******************************************************************
utility - display-off
******************************************************************/
#tg-home-footer .u-display-off { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; overflow: hidden; padding: 0; clip: rect(0, 0, 0, 0); }
