@charset "UTF-8";
/* custom properties */
:root {
  --color-primary: #009b94;
  --color-secondary: #004097;
  --color-link: #193342;
  --color-hover: #009b94;
  --color-white: #fff;
  --color-black: #000;
  --color-gray: #666;
  --color-lightgray: #999;
  --color-lightgray2: #ccc;
  --color-lightgray3: #e4e4e4;
  --color-maintext: #193342;
  --color-subtext: #333;
  --color-bg01: #f3f7fa;
  --color-bg02: #bde5e3;
  --color-border01: #c0cdd7;
  --font-family-sans-serif: "Noto Sans JP", sans-serif;
  --font-family-font-awesome: "Font Awesome 5 Free"; }

/* Base */
html {
  font-size: 62.5%; }

@media (min-width: 769px) and (max-width: 1200px) {
  html {
    font-size: calc(1000vw / 1200); } }
body {
  color: var(--color-maintext);
  font-family: var(--font-family-sans-serif);
  font-size: clamp( 1.4rem, calc(1.4rem + (1.6rem - 1.4rem) * ((100vw - 375px) / (1200px - 375px))), 1.6rem );
  font-weight: 500;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  line-height: 1.5;
  background-color: var(--color-white); }

table {
  border-collapse: collapse;
  border-spacing: 0; }

img {
  width: 100%;
  height: auto;
  outline: none;
  vertical-align: middle;
  border-style: none; }

a {
  color: var(--color-link);
  text-decoration: none; }
  a:visited {
    color: var(--color-link);
    text-decoration: none; }
  a:hover {
    color: var(--color-hover);
    text-decoration: none; }

address {
  font-style: normal; }

/* fixed */
.fixed {
  position: fixed;
  width: 100%;
  height: 100%; }

/* no_scroll */
.no_scroll {
  height: 100%;
  overflow: hidden; }

/* disnon */
.disnon {
  display: none; }

@media screen and (min-width: 768px) {
  .pc_none {
    display: none; } }

@media (min-width: 769px) {
  .sp {
    display: none; } }

#wrapper {
  position: relative;
  min-height: 100svh; }

@media print {
  /* 印刷用 */
  html, body {
    width: 1366px; }

  header {
    position: relative !important; }

  main {
    margin: 0 !important; } }
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
/* comLink */
.comLink a {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.01em; }
  .comLink a:hover {
    color: var(--color-primary); }
.comLink img {
  margin: -0.3rem 0.7rem 0 0;
  width: 2.1rem;
  display: inline-block;
  vertical-align: middle; }

/* comLink02 */
.comLink02 a {
  padding-right: 2.8rem;
  font-size: 1.8rem;
  font-weight: 700;
  display: inline-block; }
  .comLink02 a::after {
    width: 1.4rem;
    height: 1.4rem;
    margin-left: 1rem;
    content: "";
    display: inline-block;
    -webkit-mask: url("../img/icon01.svg");
    mask: url("../img/icon01.svg");
    mask-size: cover;
    vertical-align: baseline;
    background-color: var(--color-primary); }
  .comLink02 a:hover {
    color: var(--color-primary); }
  .comLink02 a:hover::after {
    background-color: var(--color-primary); }
  .comLink02 a[target="_blank"]::after {
    -webkit-mask: url("../img/icon04.svg");
    mask: url("../img/icon04.svg"); }
  .comLink02 a[target="_blank"]:hover::after {
    background-color: var(--color-primary); }

/* comBtnUl */
.comBtnUl {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem; }
  .comBtnUl a {
    width: 100%;
    padding: 1.5rem 1.5rem;
    color: var(--color-primary);
    font-weight: 700;
    line-height: 1.0;
    border: 1px solid var(--color-primary);
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 767px) {
      .comBtnUl a {
        font-size: 1.4rem; } }
    .comBtnUl a:hover {
      color: var(--color-white);
      background-color: var(--color-primary); }
    .comBtnUl a.green {
      color: var(--color-white);
      background-color: var(--color-primary); }
      .comBtnUl a.green.green:hover {
        color: var(--color-primary);
        background-color: var(--color-white); }

/* comLinkList */
.comLinkList {
  margin: 0 auto;
  max-width: 108rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2.1rem; }
  .comLinkList li {
    width: calc((100% - 2.1rem*3)/4);
    border-bottom: 1px solid #D5DCE1; }
    @media screen and (max-width: 767px) {
      .comLinkList li {
        width: 100%; } }
  @media screen and (max-width: 767px) {
    .comLinkList li:first-child {
      border-top: 1px solid #D5DCE1; } }
  .comLinkList a {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%; }
  .comLinkList .img {
    display: block;
    width: 100%;
    aspect-ratio: 254/160;
    overflow: hidden;
    flex-shrink: 0; }
    .comLinkList .img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transform: scale(1);
      transition: transform 0.25s ease-in; }
  .comLinkList a:hover img {
    transform: scale(1.04);
    transition: transform 0.25s ease-out; }
  .comLinkList a:hover .txt {
    color: var(--color-primary); }
  .comLinkList .txt {
    position: relative;
    height: 100%;
    padding: 1.3rem 4rem 1.3rem 2rem;
    display: flex;
    align-items: center;
    color: var(--color-maintext);
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.028rem;
    transition: 0.3s; }
    .comLinkList .txt::after {
      position: absolute;
      content: "";
      top: 0;
      bottom: 0;
      right: 2rem;
      display: block;
      width: 1.3rem;
      height: 1.3rem;
      margin: auto 0;
      -webkit-mask: url("../img/icon01.svg");
      mask: url("../img/icon01.svg");
      mask-size: cover;
      vertical-align: middle;
      background-color: var(--color-primary); }

/* content */
.content {
  margin: 0 auto;
  padding: 0 4rem;
  max-width: calc(108rem + 8rem); }
  @media screen and (max-width: 767px) {
    .content {
      padding: 0;
      max-width: inherit !important; } }

@media screen and (max-width: 767px) {
  .innerBox {
    padding: 0 2rem; } }

ul.list > li {
  margin-left: 1.5em;
  list-style: disc; }

/* ------------------------
header
------------------------ */
#gHeader {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 80;
  width: 100%;
  height: 6.4rem;
  font-size: clamp( 1.2rem, calc(1.2rem + (1.4rem - 1.2rem) * ((100vw - 375px) / (1200px - 375px))), 1.4rem );
  border-bottom: 1px solid var(--color-border01);
  background-color: var(--color-white); }
  @media screen and (min-width: 1080px) {
    #gHeader {
      height: 8.0rem; } }
  #gHeader .hBox {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
    z-index: 10; }
  #gHeader .site_logo {
    margin: 0 0 0 2.6rem; }
    @media screen and (max-width: 767px) {
      #gHeader .site_logo {
        margin: 0 0 0 1.4rem; } }
    #gHeader .site_logo a {
      display: flex;
      align-items: center; }
      #gHeader .site_logo a .logo_img {
        width: 12.0rem; }
        @media screen and (min-width: 1080px) {
          #gHeader .site_logo a .logo_img {
            width: 16.7rem; } }
      #gHeader .site_logo a .site_name {
        margin-left: 1.5rem;
        font-size: 1.3rem;
        font-weight: 700;
        line-height: 1.3; }
  #gHeader .menu_icon {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 6.4rem;
    height: 100%;
    text-align: center;
    background-color: var(--color-primary);
    cursor: pointer; }
    @media screen and (min-width: 1080px) {
      #gHeader .menu_icon {
        width: 8.0rem; } }
    @media (min-width: 769px) {
      #gHeader .menu_icon {
        display: none; } }
  #gHeader .menu-trigger {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    box-sizing: border-box;
    position: relative;
    width: 2.0rem;
    height: 1.6rem; }
    @media screen and (min-width: 1080px) {
      #gHeader .menu-trigger {
        width: 2.4rem;
        height: 2.0rem; } }
    #gHeader .menu-trigger span {
      display: inline-block;
      -webkit-transition: all .4s;
      transition: all .4s;
      box-sizing: border-box;
      position: absolute;
      left: 0;
      width: 100%;
      height: 0.2rem;
      background-color: var(--color-white); }
      #gHeader .menu-trigger span:nth-of-type(1) {
        top: 0; }
      #gHeader .menu-trigger span:nth-of-type(2) {
        top: 0.7rem; }
        @media screen and (min-width: 1080px) {
          #gHeader .menu-trigger span:nth-of-type(2) {
            top: 0.9rem; } }
      #gHeader .menu-trigger span:nth-of-type(3) {
        bottom: 0; }
      #gHeader .menu-trigger span:nth-of-type(2)::after {
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 0.2rem;
        background-color: var(--color-white);
        border-radius: 0.2rem;
        -webkit-transition: all .4s;
        transition: all .4s; }
    #gHeader .menu-trigger.active span:nth-of-type(1) {
      translate: 0 2.0rem;
      scale: 0; }
    #gHeader .menu-trigger.active span:nth-of-type(2) {
      rotate: -45deg; }
    #gHeader .menu-trigger.active span:nth-of-type(2)::after {
      rotate: 90deg; }
    #gHeader .menu-trigger.active span:nth-of-type(3) {
      translate: 0 -2.0rem;
      scale: 0; }
  #gHeader #pc_navi_block {
    display: none; }
    @media screen and (min-width: 768px) {
      #gHeader #pc_navi_block {
        display: block; }
        #gHeader #pc_navi_block .pc_navi {
          display: flex;
          column-gap: 2em;
          margin-right: 4rem; }
          #gHeader #pc_navi_block .pc_navi > li {
            position: relative; }
            #gHeader #pc_navi_block .pc_navi > li a {
              color: var(--color-maintext);
              font-size: clamp( 1.2rem, calc(1.2rem + (1.6rem - 1.2rem) * ((100vw - 375px) / (1200px - 375px))), 1.6rem );
              font-weight: 700; }
              #gHeader #pc_navi_block .pc_navi > li a:hover {
                color: var(--color-hover); } }
  #gHeader .menuBox {
    position: fixed;
    top: 6.4rem;
    left: 0;
    width: 100%;
    height: calc(100% - 6.4rem);
    overflow-y: auto;
    background-color: #fff;
    z-index: 90;
    display: none; }
    @media screen and (min-width: 1080px) {
      #gHeader .menuBox {
        top: 8.0rem;
        height: calc(100% - 8.0rem); } }
    #gHeader .menuBox.on {
      display: block; }
    #gHeader .menuBox .innerBox {
      padding: 3.1rem 2rem; }
    #gHeader .menuBox .naviUl {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      column-gap: 4.0rem;
      row-gap: 4.0rem; }
      @media screen and (max-width: 767px) {
        #gHeader .menuBox .naviUl {
          margin-bottom: 3.1rem;
          display: block;
          font-size: 1.4rem; } }
      #gHeader .menuBox .naviUl > li {
        margin-right: 5.7rem; }
        @media screen and (max-width: 767px) {
          #gHeader .menuBox .naviUl > li {
            margin-right: 0 !important;
            border-bottom: 1px solid var(--color-border01); } }
        @media screen and (max-width: 767px) {
          #gHeader .menuBox .naviUl > li:first-child {
            border-top: 1px solid var(--color-border01); } }
        #gHeader .menuBox .naviUl > li:last-child {
          margin-right: -0.4rem; }
      #gHeader .menuBox .naviUl li:has(ul) .comLink02 a {
        position: relative; }
        @media screen and (max-width: 767px) {
          #gHeader .menuBox .naviUl li:has(ul) .comLink02 a::after {
            position: absolute;
            content: "";
            top: 0;
            bottom: 0;
            right: 1.2rem;
            background-color: var(--color-primary);
            display: inline-block;
            width: 1.2rem;
            height: 1.2rem;
            margin: auto;
            -webkit-mask: url("../img/icon02.svg");
            mask: url("../img/icon02.svg");
            -webkit-mask-size: cover;
            mask-size: cover;
            vertical-align: middle; } }
        @media screen and (max-width: 767px) {
          #gHeader .menuBox .naviUl li:has(ul) .comLink02 a.on::after {
            -webkit-mask: url("../img/icon03.svg");
            mask: url("../img/icon03.svg"); } }
      @media screen and (max-width: 767px) {
        #gHeader .menuBox .naviUl .linkUl {
          padding: 1.8rem 1.2rem 1.6rem;
          border-top: 1px solid var(--color-border01);
          display: none; } }
      #gHeader .menuBox .naviUl .linkUl li a {
        display: block;
        padding: 0.6rem 0; }
        @media screen and (max-width: 767px) {
          #gHeader .menuBox .naviUl .linkUl li a {
            padding: 1rem 0; } }
      @media screen and (max-width: 767px) {
        #gHeader .menuBox .naviUl .on .linkUl {
          display: block; } }
      #gHeader .menuBox .naviUl .comLink02 {
        margin-bottom: 2.1rem; }
        @media screen and (max-width: 767px) {
          #gHeader .menuBox .naviUl .comLink02 {
            margin-bottom: 0; } }
        #gHeader .menuBox .naviUl .comLink02 a {
          position: relative; }
          @media screen and (max-width: 767px) {
            #gHeader .menuBox .naviUl .comLink02 a {
              display: block;
              padding: 1.6rem 3rem 1.5rem 1.2rem;
              font-size: 1.6rem; } }
          @media screen and (max-width: 767px) {
            #gHeader .menuBox .naviUl .comLink02 a::after {
              position: absolute;
              top: 0;
              bottom: 0;
              right: 1.1rem;
              width: 1.4rem;
              height: 1.4rem;
              margin: auto; } }

/* ------------------------
main
------------------------ */
/* pageTitle */
.pageTitle {
  margin-bottom: 5.6rem;
  background-color: var(--color-bg01); }
  @media screen and (max-width: 767px) {
    .pageTitle {
      margin-bottom: 3.5rem; } }
  .pageTitle .innerBox {
    width: 100%;
    max-width: calc(100% - 20rem);
    height: 25rem;
    margin: 0 auto;
    padding: 4rem 1rem 1rem; }
    @media screen and (max-width: 767px) {
      .pageTitle .innerBox {
        width: auto;
        max-width: inherit;
        height: 15rem;
        padding: 2rem 1.5rem 1rem; } }
    .pageTitle .innerBox .headLine01 {
      width: 100%;
      height: 75%; }
      @media screen and (max-width: 767px) {
        .pageTitle .innerBox .headLine01 {
          width: auto;
          height: auto; } }
      .pageTitle .innerBox .headLine01 .title-page {
        font-size: clamp( 2.3rem, calc(2.3rem + (3.6rem - 2.3rem) * ((100vw - 375px) / (1200px - 375px))), 3.6rem ); }
        .pageTitle .innerBox .headLine01 .title-page .kana {
          font-size: 1.4rem;
          font-weight: 500; }
        .pageTitle .innerBox .headLine01 .title-page br {
          display: none; }
          @media screen and (max-width: 767px) {
            .pageTitle .innerBox .headLine01 .title-page br {
              display: inline-block; } }
    .pageTitle .innerBox #pagePath {
      margin-bottom: 0.4em; }
      .pageTitle .innerBox #pagePath ul {
        display: flex;
        column-gap: 1rem;
        color: var(--color-primary);
        font-weight: 700;
        font-size: clamp( 1.2rem, calc(1.2rem + (1.4rem - 1.2rem) * ((100vw - 375px) / (1200px - 375px))), 1.4rem ); }
        .pageTitle .innerBox #pagePath ul a {
          color: var(--color-primary); }
          .pageTitle .innerBox #pagePath ul a:hover {
            text-decoration: underline; }
        .pageTitle .innerBox #pagePath ul li:before {
          content: ">";
          margin-right: 1rem; }
        .pageTitle .innerBox #pagePath ul li:first-child::before {
          display: none; }

.section_heading {
  width: 100%;
  padding: 4rem 0;
  border-top: 4px solid var(--color-primary); }
  @media screen and (max-width: 767px) {
    .section_heading {
      padding: 2rem 2rem; } }
  .section_heading .section_title {
    color: var(--color-primary);
    font-size: 3.2rem;
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      .section_heading .section_title {
        font-size: 2.8rem; } }

.block_detail {
  line-height: 1.8; }
  .block_detail.columns {
    display: flex;
    justify-content: space-between;
    column-gap: 3rem; }
    @media screen and (max-width: 767px) {
      .block_detail.columns {
        display: block; } }
  @media screen and (max-width: 767px) {
    .block_detail {
      margin-bottom: 4rem; } }

.block_detail:has(+ .block_detail) {
  /* .block_detailが隣接する場合、前の.block_detailに適用 */
  margin-bottom: 2rem; }

@media screen and (max-width: 767px) {
  .box_txt p br {
    display: none; } }

.box_img {
  flex-shrink: 0; }
  .box_img img {
    width: 100%; }
  .box_img img + img {
    margin-top: 2rem; }

.caption {
  margin: 1rem auto 0;
  font-size: clamp( 1.2rem, calc(1.2rem + (1.4rem - 1.2rem) * ((100vw - 375px) / (1200px - 375px))), 1.4rem );
  font-weight: 400;
  line-height: 1.5; }

.note {
  margin-top: 1rem;
  font-size: clamp( 1.2rem, calc(1.2rem + (1.4rem - 1.2rem) * ((100vw - 375px) / (1200px - 375px))), 1.4rem );
  font-weight: 400;
  line-height: 1.5; }

.link {
  margin-top: 0.5em; }
  .link::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    -webkit-mask: url("../img/icon01.svg");
    mask: url("../img/icon01.svg");
    mask-size: cover;
    vertical-align: middle;
    background-color: var(--color-maintext); }

.link_btn a {
  position: relative;
  display: inline-block;
  margin-top: 1em;
  padding: 0.8em 2.5em 0.8em 1.5em;
  color: var(--color-white);
  font-size: clamp( 1.4rem, calc(1.4rem + (1.6rem - 1.4rem) * ((100vw - 375px) / (1200px - 375px))), 1.6rem );
  line-height: 1.0;
  background-color: var(--color-primary);
  border-radius: 999rem; }
  .link_btn a::after {
    content: '\f105';
    position: absolute;
    right: 1.0em;
    margin-left: 0.5rem;
    font-family: var(--font-family-font-awesome);
    font-weight: 900; }

.link_map {
  margin-top: 1.5em;
  font-size: clamp( 1.6rem, calc(1.6rem + (1.8rem - 1.6rem) * ((100vw - 375px) / (1200px - 375px))), 1.8rem );
  font-weight: 700; }
  .link_map::after {
    content: "";
    display: inline-block;
    width: 0.75em;
    height: 0.75em;
    margin-left: 0.5em;
    -webkit-mask: url("../img/icon01.svg");
    mask: url("../img/icon01.svg");
    mask-size: cover;
    vertical-align: middle;
    background-color: var(--color-primary); }

/* ------------------------
footer
------------------------ */
#gFooter {
  padding: 7.7rem 0 4.3rem;
  border-top: 1px solid var(--color-border01);
  background-color: var(--color-white); }
  @media screen and (max-width: 767px) {
    #gFooter {
      padding: 5.9rem 2rem 2.9rem; } }
  #gFooter .fBox {
    margin: 0 auto;
    max-width: 108rem; }
  #gFooter .btmBox {
    margin-top: 2.8rem;
    padding-top: 4.8rem;
    border-top: 1px solid var(--color-border01);
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      #gFooter .btmBox {
        margin-top: 0;
        margin-bottom: 2.3rem;
        padding-top: 2.9rem;
        display: block;
        border-top: none; } }
  #gFooter .topBox {
    margin-bottom: 3.6rem; }
    @media screen and (max-width: 767px) {
      #gFooter .topBox {
        margin-bottom: 3.1rem; } }
  #gFooter .comBtnUl {
    flex: 1; }
    #gFooter .comBtnUl > li {
      font-size: clamp( 1.2rem, calc(1.2rem + (1.4rem - 1.2rem) * ((100vw - 375px) / (1200px - 375px))), 1.4rem ); }
  #gFooter .fNavi {
    margin-bottom: 1.0rem;
    display: flex;
    flex-wrap: wrap;
    column-gap: 2.0rem;
    row-gap: 4.0rem; }
    @media screen and (max-width: 767px) {
      #gFooter .fNavi {
        margin-bottom: 0;
        display: block;
        font-size: 1.4rem; } }
    #gFooter .fNavi > li {
      margin-right: 0 !important;
      min-width: 8rem;
      font-size: clamp( 1.2rem, calc(1.2rem + (1.4rem - 1.2rem) * ((100vw - 375px) / (1200px - 375px))), 1.4rem ); }
      @media screen and (max-width: 767px) {
        #gFooter .fNavi > li {
          border-bottom: 1px solid var(--color-border01); } }
      @media screen and (max-width: 767px) {
        #gFooter .fNavi > li:first-child {
          border-top: 1px solid var(--color-border01); } }
      #gFooter .fNavi > li:last-child {
        margin-right: -0.4rem; }
    @media screen and (max-width: 767px) {
      #gFooter .fNavi .linkUl {
        padding: 1.5rem 1.2rem 1.6rem;
        border-top: 1px solid var(--color-border01);
        display: none; } }
    #gFooter .fNavi .linkUl a:hover {
      color: var(--color-primary); }
    #gFooter .fNavi .linkUl li {
      word-break: break-word; }
      #gFooter .fNavi .linkUl li a {
        display: block;
        padding: 0.6rem 0; }
        @media screen and (max-width: 767px) {
          #gFooter .fNavi .linkUl li a {
            padding: 1rem 0; } }
    #gFooter .fNavi .comLink02 {
      margin-bottom: 1.4rem; }
      @media screen and (max-width: 767px) {
        #gFooter .fNavi .comLink02 {
          margin-bottom: 0; } }
      #gFooter .fNavi .comLink02 a {
        position: relative;
        padding-right: 0; }
        @media screen and (max-width: 767px) {
          #gFooter .fNavi .comLink02 a {
            display: block;
            padding: 1.2rem 3rem 1.3rem 1.2rem;
            font-size: 1.4rem; } }
        @media screen and (max-width: 767px) {
          #gFooter .fNavi .comLink02 a::after {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 1.1rem;
            width: 1.4rem;
            height: 1.4rem;
            margin: auto; } }
    @media screen and (max-width: 767px) {
      #gFooter .fNavi li:has(ul) .comLink02 a::after {
        content: "";
        right: 1.2rem;
        background-color: var(--color-primary);
        display: inline-block;
        height: 1.2rem;
        width: 1.2rem;
        -webkit-mask: url("../img/icon02.svg");
        mask: url("../img/icon02.svg");
        -webkit-mask-size: cover;
        mask-size: cover;
        vertical-align: middle; } }
    @media screen and (max-width: 767px) {
      #gFooter .fNavi li:has(ul) .comLink02 a.on::after {
        -webkit-mask: url("../img/icon03.svg");
        mask: url("../img/icon03.svg"); } }
  #gFooter .fNavi + .fNavi {
    margin-bottom: 4.0rem; }
    @media screen and (max-width: 767px) {
      #gFooter .fNavi + .fNavi {
        margin-bottom: 0; } }
    @media screen and (max-width: 767px) {
      #gFooter .fNavi + .fNavi > li:first-child {
        border-top: none; } }
  #gFooter .fNavi02 {
    margin-top: -1px;
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    font-size: 1.2rem; }
    @media screen and (max-width: 767px) {
      #gFooter .fNavi02 {
        margin: 0 0 1.8rem;
        font-size: 1rem;
        justify-content: flex-start; } }
    #gFooter .fNavi02 li {
      margin-right: 2.8rem; }
      @media screen and (max-width: 767px) {
        #gFooter .fNavi02 li {
          margin: 0 1.4rem 1.1rem; } }
    #gFooter .fNavi02 a {
      display: inline-block; }
      #gFooter .fNavi02 a:hover {
        color: var(--color-primary); }
  #gFooter address {
    white-space: nowrap;
    font-size: 1.2rem;
    letter-spacing: 0; }
    @media screen and (max-width: 767px) {
      #gFooter address {
        white-space: wrap;
        font-size: 1rem;
        text-align: center; } }

.to_top {
  position: fixed;
  right: 0;
  bottom: 0;
  cursor: pointer;
  transition: all .3s ease 0s;
  width: 5rem;
  height: 5rem;
  z-index: 999;
  background-color: var(--color-black); }
  .to_top span {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 2rem;
    height: 2rem;
    margin: auto;
    -webkit-mask: url("../img/to_top.svg");
    mask: url("../img/to_top.svg");
    -webkit-mask-size: 100%;
    mask-size: 100%;
    mask-repeat: no-repeat;
    mask-position: center;
    vertical-align: middle;
    background-color: var(--color-white); }
  .to_top:hover {
    background-color: var(--color-primary); }
