/*layout*/
@charset "utf-8";
html{ scroll-behavior: smooth; scroll-padding-top: 100px; }
body { padding-top: 100px; }
@media screen and (max-width: 768px) {
  body { padding-top: 62px; }
}

.contents-width-l { width: 100%; padding: 0 min(5%, 50px);  margin: 0 auto; }
.contents-width-l.has-max { max-width: 1920px; }
.contents-width-m { width: 90%; max-width: 1200px;  margin: 0 auto; }
.contents-width { width: 90%; max-width: 980px;  margin: 0 auto; }
.contents-width-s { width: 90%; max-width: 830px;  margin: 0 auto; }



.spacer { padding-top: 100px; }
.spacer-b { padding-bottom: 100px; }
.spacer-s { padding-top: 50px; }
.spacer-s.-both { padding-bottom: 50px; }

.header { width: 100%; position: fixed; top: 0; left: 0; right: 0; margin: auto; z-index: 999; background: #FFF; padding: 24px 0;font-family: 'Lato', sans-serif; }
.header .inner { display: flex; align-items: center; }
.header .logo { width: 145px; height: 50px; }
.global-navi { display: flex;  font-weight: 700;  margin: 0 auto; font-size: .875rem;  }
.global-navi a { display: inline-block; padding: 1em; position: relative; }
.global-navi a::after { content: ''; width: 100%; height: 2px; background: currentColor; position: absolute; bottom: -27px; left: 0; margin: auto; opacity: 0; }
.global-navi a:hover { font-weight: 900; }
.global-navi a:hover::after{ opacity: 1; }
.global-navi > li + li::before { content: '/'; color: #D8D5D5; }

.hamburger { display: none; }

@media screen and (max-width: 900px) {
  .header { padding: 1rem 0; }
  .header .inner { justify-content: center; }
  .header .logo {  width: auto;height: 35px;}
  .global-navi { position: fixed; top: 0; right: 0; margin: auto;  padding: 5rem 5%; transform: translateX(150%); display: block; width: 25em; height: 100%; text-align: center; transition: transform .3s; background: #FFF;  }
.global-navi > li + li::before { display: none; }
	.open   .global-navi  { transform: translateX(0); }
.global-navi a:hover::after{ display: none; }
	
  .hamburger { position: absolute; top: 0; right: 1rem; bottom: 0; margin: auto; z-index: 2; display: block; width: 3rem; height: 3rem; border: none; background: none; text-indent: 200%; overflow: hidden; white-space: nowrap; text-}
  .hamburger::before,
  .hamburger::after { content: ''; width: 2rem; height: 1px; display: block; position: absolute; inset: 0; background: currentColor; margin: auto; transition: transform .3s;  }
  .hamburger::before { transform: translateY(-8px); box-shadow: 0 8px 0 currentColor;}
  .hamburger::after { transform: translateY(8px); }
	
  .hamburger.open::before { transform: rotate(45deg); box-shadow: none; }
  .hamburger.open::after { transform:rotate(-45deg); }
  
  .lang-select {position: absolute;left: 1em; top: 1.25em; bottom: 0; margin: auto; }
}
.footer { background: #444444; color: #FFF; padding: 50px 0 16px;  }

.footer-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 70px 50px; }
.footer-menu .title { font-size: 1.125rem; border-bottom: 1px solid; padding-bottom: .5em; margin-bottom: .5em;  }

.footer-bottom { display: flex; align-items: flex-end; flex-direction: row-reverse; justify-content: space-between;font-size: .8125rem; margin-top: 70px;  }

.foot-sub { display: flex; align-items: flex-end; }
.footer-bottom .submenu { display: flex; }
.footer-bottom .submenu > li + li::before { content: '/'; margin: 0 .5em; }
.copyright{ }


@media screen and (max-width: 1300px) {
.footer { padding: 50px 0 100px;  }
}
@media screen and (max-width: 768px) {
  .footer-menu { grid-template-columns: 1fr; gap: 40px; }
  .footer-bottom { display: block; text-align: right; }
  .foot-sub { justify-content: flex-end; }
  .copyright{ margin-top: 2em; }
}


.formblock  .confirm-buttons .btn-block { margin-top: 1em; }

.page-top { position: fixed; right: 1.5em; bottom: 7em; margin: auto; }
