@charset "UTF-8";
/* CSS Document */

/*

font-family:"museo-sans", sans-serif;
font-weight:300;
font-style:normal;

font-family:"museo-sans", sans-serif;
font-weight:500;
font-style:normal;

font-family:"museo-sans", sans-serif;
font-weight:700;
font-style:normal;

font-family:heisei-kaku-gothic-std, sans-serif;
font-weight:300;
font-style:normal;

font-family:heisei-kaku-gothic-std, sans-serif;
font-weight:500;
font-style:normal;

font-family:heisei-kaku-gothic-std, sans-serif;
font-weight:700;
font-style:normal;

font-family:"ta-kobe", sans-serif;
font-weight:400;
font-style:normal;

*/

:root{

  --black:rgba(0,0,0,1); /*#00000*/
  --white:rgba(255,255,255,1); /*#FFFFFF*/
  --gray:rgba(165,167,172,1); /*#AFAFAF*/
  --gray-pale:rgba(235,237,242,1); /*#EBEBED*/
  --red:rgba(230,10,10,1); /*#E60A0A*/
  --red-pale:rgba(250,237,240,1); /*#*/
  --yellow:rgba(245,200,10,1); /*#F5C80A*/
  --green:rgba(15,190,100,1); /*#0FBE64*/
  --blue:rgba(40,115,195,1); /*#2873C3*/
  --blue-pale:rgba(240,250,255,1); /*#2873C3*/
  --line:rgba(6,199,85,1); /*06C755*/

  --white-filter:rgba(255,255,255,.9);

  --space:60px;

}

* {
  color:var(--black);
  font-family:museo-sans,heisei-kaku-gothic-std,sans-serif,sans-serif;
  font-style:normal;
  font-weight:500;
  word-break:break-all;
  box-sizing:border-box;
  text-decoration:none;
}
html {}
body {
  font-size:16px;
  text-align:justify;
  line-height:2.3;
  margin:0;
  padding:0;
}
h1,h2,h3,h4,div,dl,dt,dd,ul,li,img,a,p,span,iframe,small,strong,figure,address,select,input,button,textarea,i,b,u,hr,em,sub,time {
  margin:0;
  padding:0;
  color:inherit;
  font-family:inherit;
  font-size:inherit;
  font-style:inherit;
  font-weight:inherit;
  list-style:none;
  text-align:justify;
  outline:none;
  background:none;
  border:none;
}
em {
  font-weight:700;
}
select,input {
  cursor:pointer;
  background:transparent;
  background-image:none;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
}
button {
  cursor:pointer;
}
picture {
  display:block;
}
br {}
sub {
  bottom:initial;
}
svg {
  display:block;
}
small {
  font-size:93%;
}
img {
  display:block;
  width:100%;
}
p {}
p a {
  text-decoration:underline;
}
mark {
  color:inherit;
  background-color:inherit;
  font-style:normal;
  font-weight:inherit;
}
hr {}

/* indention */
.brNar {
  display:none;
}

/* loading */
.loading {
  width:100vw;
  height:100vh;
  background:var(--black);
  overflow:hidden;
  position:fixed;
  top:0;
  left:0;
  z-index:1000;
}
.loading.hide {
  pointer-events:none;
  transform:translate(-100%,0);
  transition:.4s ease;
}
.loading h2 {
  width:100%;
  opacity:.9;
  position:absolute;
  top:50%;
  left:0;
  transform:translate(0,-50%);
}
.loading img {
  width:95%;
  margin:auto;
}
.loading .line {
  height:2px;
  margin:60px 0 0 0;
  background-color:var(--gray);
  opacity:.5;
  animation:loading 2.4s infinite;
}

@keyframes loading {
  0% {
    width:0;
    opacity:.5;
  }
  95% {
    width:100%;
    opacity:0;
  }
  100% {
    width:0%;
    opacity:0;
  }
}

/* develop */
.force-view{
  display:block;
  visibility:visible;
  opacity:1;
}

/* underconstruction */
.underconstruction {
  padding:300px;
}
.underconstruction p {
  margin:auto;
  text-align:center;
}

/* component */
header,main,footer,section,article {
  position:relative;
}

header {}
.navigation {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:250px;
  padding:0 var(--space);
}
.navigation h1 {
  width:100%;
  padding:25px 0 0;
}
.navigation nav {
  display:flex;
  justify-content:space-between;
  padding:0 0 35px;
}
.navigation nav ul {
  display:flex;
  align-items:center;
}
.navigation nav ul li {
  font-size:24px;
  font-weight:600;
  position:relative;
  white-space:nowrap;
}
.navigation nav ul > li + li {
  margin:0 0 0 14px;
}
.navigation nav ul img {
  width:36px;
  aspect-ratio:1;
} 
.navigation nav ul li:after {
  content:'';
  width:0;
  height:4px;
  background-color:var(--black);
  position:absolute;
  bottom:-35px;
  left:0;
  opacity:0;
  transition:.3s ease-out;
}
.navigation nav ul li:hover:after,
.navigation nav ul li.current:after {
  width:100%;
  opacity:1;
}
.navigation nav ul:last-child li:after {
  display:none;
}
.navigation.white ul li {
  color:var(--white);
}
.navigation.white nav ul li:after {
  background-color:var(--white);
}
.fullheight {
  height:100vh;
  height:100svh;
}
.eyecatch {
  width:100%;
  height:100%;
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
}
.eyecatch picture {
  width:100%;
  height:100%;
}
.eyecatch h2 {
  display:flex;
  flex-direction:column;
  line-height:2;
  position:absolute;
  bottom:var(--space);
  left:var(--space);
}
.eyecatch h2 i {
  font-size:25px;
  letter-spacing:.1rem;
}
.eyecatch h2 b {
  font-size:20px;
}

main {
  padding:0 0 200px 0;
}

.white {
  color:var(--white);
}
.red {
  color:var(--red);
}

[data-name="img-change"] {
  width:100%;
  aspect-ratio:1;
  background-color:var(--white);
  position:absolute;
  top:0;
  left:0;
}
[data-name="img-change"].active {
  opacity:0;
}

.backcolor:before {
  content:'';
  width:100vw;
  height:100%;
  background-color:var(--back);
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
}

.frame {
  max-width:1320px;
  margin:auto;
}

.crossing {
  width:100%;
  height:1px;
  background-color:var(--gray);
}

.screen {
  display:flex;
  flex-direction:column;
  width:100%;
  padding:175px var(--space) 0;
}
.screen picture {
  width:100%;
  height:625px;
}
.screen p {
  width:275px;
  margin:50px 0 0 0;
  font-size:90%;
}
.screen.align-left {
  align-items:flex-start;
}
.screen.align-right {
  align-items:flex-end;
}

.cover {
  height:100%;
  object-fit:cover;
}

.viewmore {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-width:375px;
  padding:6px 0 6px 20px;
  border:1px solid var(--gray);
  border-radius:25px;
  font-size:95%;
  white-space:nowrap;
}

.tips {
  display:inline-flex;
  padding:3px 30px;
  background-color:var(--gray-pale);
  border-radius:20px;
  font-size:92%;
}










.list-icon {}
.list-icon h2 {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  margin:auto;
  position:relative;
  padding:60px 0 0 0;
}
.list-icon h2 > * {
  white-space:nowrap;
}
.list-icon h2 i {
  font-size:30px;
  letter-spacing:-.06rem;
  position:absolute;
}
.list-icon h2 b {
  width:125px;
}
.list-icon h2 u {
  margin:25px 0 0 0;
  font-size:18px;
  line-height:1.8;
}
.list-icon p {
  margin:60px 0 0 0;
}
.list-icon h2 hr {
  top:65px;
  left:45px;
}

.coup {
  position:relative;
}
.coup:before,
.coup:after {
  content:'';
  width:27px;
  height:27px;
  background-size:cover;
  position:absolute;
  top:-22px;
  z-index:-1;
}
.coup:before {
  background-image:url(/images/icon/coup-left.svg);
  left:-22px;
  animation:bound-coup-left .6s infinite alternate;
}
@keyframes bound-coup-left {
  0% { transform:translate(0,0) scale(1); }
  100% { transform:translate(-9px,-9px) scale(1.1); }
}
.coup:after {
  background-image:url(/images/icon/coup-right.svg);
  right:-22px;
  animation:bound-coup-right .6s infinite alternate;
}
@keyframes bound-coup-right {
  0% { transform:translate(0,0) scale(1); }
  100% { transform:translate(9px,-9px) scale(1.1); }
}

.circle {
  display:flex;
  justify-content:center;
  align-items:center;
  width:125px;
  aspect-ratio:1;
  margin:0 35px;
  font-size:50px;
  letter-spacing:-.08rem;
  color:inherit;
  position:relative;
  white-space:nowrap;
}
.circle:before {
  content:'';
  width:125%;
  aspect-ratio:1;
  background-image:url(/images/icon/circle.svg);
  background-size:cover;
  background-position:center;
  border-radius:50%;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  transform-origin:center;
  animation:rotate 15s linear infinite;
}
@keyframes rotate {
  0% { transform:translate(-50%,-50%) rotate(0deg); }
  100% { transform:translate(-50%,-50%) rotate(360deg); }
}
.circle.white:before {
  background-image:url(/images/icon/circle-white.svg);
}
.circle small {
  font-size:16px;
  font-weight:600;
  text-align:center;
  letter-spacing:.12rem;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-55px);
}

.fadezoom {
  display:flex;
  flex-direction:column;
  align-items:center;
  line-height:1.2;
  position:relative;
  z-index:1;
}
.fadezoom:before {
  content:'';
  width:200%;
  aspect-ratio:1;
  background-color:var(--white);
  border-radius:50%;
  position:absolute;
  top:50%;
  left:50%;
  z-index:-1;
  animation:fade 1.2s infinite alternate;
}
@keyframes fade {
  0% { transform:translate(-50%,-50%) scale(1); opacity:.5; }
  100% { transform:translate(-50%,-50%) scale(1.3); opacity:1; }
}

.switch {
  display:inline-flex;
  align-items:center;
  height:37px;
}
.switch button {
  height:100%;
  margin:initial;
  border:1px solid var(--gray);
  background-color:var(--white);
  font-size:90%;
  letter-spacing:.04rem;
  top:initial;
}
.switch > button + button {
  border-left:none;
}
.switch a {
  display:inline-flex;
  padding:3px 30px;
  color:var(--gray);
  background-color:var(--gray-pale);
}
.switch .active {
  color:var(--black);
  background-color:var(--white);
}
.swiper-button-next em,
.swiper-button-prev em {
  color:var(--black);
}
.swiper-button-next:after,
.swiper-button-prev:after {
  display:none;
}
.swiper-frame {
  overflow:hidden;
}

hr.arrow {
  display:inline-flex;
  width:8px;
  height:8px;
  margin:0 0 0 9px;
  border-top:2px solid;
  border-right:2px solid;
  transform:rotate(45deg);
  position:relative;
  top:-1px;
}
hr.arrow.left {
  margin:0 9px 0 0;
  transform:rotate(-135deg);
}
hr.arrow.bottom {
  margin:0 9px 0 2px;
  transform:rotate(135deg);
  top:-3px;
}

hr.point {
  display:inline-flex;
  width:4px;
  height:4px;
  margin:0 10px 0 5px;
  background-color:var(--black);
  border-radius:50%;
}

.welcome {
  display:flex;
  justify-content:center;
  align-items:center;
  width:160px;
  aspect-ratio:1;
  color:var(--white);
  font-weight:700;
  line-height:1.6;
  position:fixed;
  bottom:15px;
  right:30px;
  animation:bound-circle .6s infinite alternate;
  z-index:100;
}
@keyframes bound-circle {
  0% { transform:translate(0,0); }
  100% { transform:translate(0,-25px); }
}
.welcome span {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:100%;
  height:100%;
  border-radius:50%;
  animation:color-change 25s infinite;
}
@keyframes color-change {
  0% { background-color:var(--black); }
  20% { background-color:var(--red); }
  40% { background-color:var(--yellow); }
  60% { background-color:var(--green); }
  80% { background-color:var(--blue); }
  100% { background-color:var(--black); }
}
.welcome span > * {
  position:relative;
}
.welcome i {
  margin:0 0 5px 0;
  font-size:20px;
  letter-spacing:-.02rem;
}
.welcome b {
  font-size:70%;
}

.title {
  display:flex;
  flex-direction:column;
  line-height:1.8;
}
.title > * {
  display:flex;
  align-items:center;
}
.title i {
  font-size:100px;
  letter-spacing:-.08rem;
  line-height:1.2;
}
.title b {
  display:flex;
  align-items:center;
  font-size:18px;
  margin:0;
  padding:50px 5px 0;
}
.title b hr {
  width:100px;
  height:1px;
  margin:0 15px 0 0;
  background-color:var(--black);
}
.title.center {
  align-items:center;
}
.title.right {
  align-items:flex-end;
}
.title.right em {
  text-align:right;
}
.title.right b {
  flex-direction:row-reverse;
}
.title.right b hr {
  margin:0 0 0 15px;
}

.title-liner {
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:27px;
  white-space:nowrap;
  position:relative;
}
.title-liner.white .circle:before {
  background-image:url(/images/icon/circle-white.svg);
}

.slash {
  width:2px;
  height:30px;
  background-color:var(--black);
  position:absolute;
  transform:rotate(-40deg);
}
.ways {
  display:flex;
  align-items:center;
  margin:0 0 60px 0;
  font-size:32px;
}
.ways i {
  margin:0 22px 0 0;
}
.ways img {
  width:55px;
}

footer {
  padding:200px var(--space) var(--space);
}
footer h2 {
  width:550px;
  padding:0 0 25px 0;
}
footer h3 {
  padding:0 80px 0 95px;
  font-size:18px;
  letter-spacing:.04rem;
  position:absolute;
  top:52.5%;
  right:var(--space);
}
footer h3:before,
footer h3:after {
  content:'';
  width:75px;
  height:1.5px;
  background-color:var(--black);
  position:absolute;
  top:50%;
  transform:translate(0,-50%);
}
footer h3:before {
  left:0;
}
footer h3:after {
  right:0;
}
footer ul {
  display:flex;
}
footer .info,
footer .gloval {
  flex-direction:column;
}
footer ul li {
  display:inline-flex;
  align-items:center;
  font-size:110%;
  line-height:1.8;
  position:relative;
}
footer .info {
  margin:20px 0 0 0;
}
footer .info i {
  margin:0 9px 0 0;
  padding:0 9px 0 0;
  position:relative;
}
footer .info i:after {
  content:'';
  width:2px;
  height:50%;
  background-color:var(--black);
  position:absolute;
  top:50%;
  right:0;
  transform:translate(50%,-55%);
}
footer .info em {
  font-size:105%;
}
footer .gloval {
  margin:22px 0 0 0;
  font-size:20px;
}
footer .sns {
  margin:25px 0 0 0;
}
footer .sns > li + li {
  margin:0 0 0 9px;
}
footer .sns img {
  width:32px;
  aspect-ratio:1;
}
footer .sub {
  margin:40px 0 0 0;
}
footer .sub li {
  font-size:90%;
  cursor:pointer;
}
footer .sub > li + li {
  margin:0 0 0 18px;
  padding:0 0 0 18px;
}
footer .sub > li + li:after {
  content:'';
  width:1px;
  height:75%;
  background-color:var(--black);
  position:absolute;
  top:50%;
  left:0;
  transform:translate(-50%,-55%) rotate(40deg);
}
footer p {
  margin:125px 0 0 0;
  font-size:90%;
}
footer p em > * {
  display:inline-flex;
  align-items:center;
}
footer p small {
  font-size:110%;
  margin:0 1px 0 0;
}

@media screen and (max-width:1240px) {

  .navigation {
    height:auto;
  }
  .navigation h1 {
    padding:25px 0;
  }


}


@media screen and (max-width:1080px) {

  .navigation h1 {
    padding:35px 0 30px;
  }
  .title b {
    font-size:20px;
    font-weight:600;
  }
  .title b hr {
    width:75px;
  }
  .title-liner {
    font-size:22px;
  }

  .detail dt i {
    font-size:75px;
  }

  .list-icon h2 b {
    width:150px;
  }

  .circle {
    margin:0 50px;
    font-size:75px;
    letter-spacing:-.3rem;
  }
  .circle:before {
    width:160%;
  }
  .circle small {
    transform:translate(-50%,-70px);
  }
  .switch button {
    font-size:100%;
    border:2px solid var(--black);
  }

  footer h2 {
    width:100%;
    padding:0 0 50px 0;
  }
  footer h3 {
    display:flex;
    justify-content:center;
    width:100%;
    margin:100px 0 0 0;
    padding:10px 0;
    font-size:20px;
    border:2px solid;
    position:relative;
    top:initial;
    right:initial;
  }
  footer h3:before,
  footer h3:after {
    display:none;
  }
  footer ul li {
    font-size:125%;
  }
  footer .sub li {
    font-size:100%;
  }

}


@media screen and (max-width:840px) {

  :root{

    --space:40px;

  }

  .navigation h1 {
    padding:35px 0 25px;
  }
  .navigation nav {
    flex-direction:column;
  }
  .navigation nav ul li {
    font-size:27px;
  }
  .navigation nav ul:last-child {
    margin:20px 0 0 0;
  }
  .navigation nav ul li:after {
    bottom:5px;
  }

  .welcome {
    width:175px;
  }

  .list-icon h2 b {
    width:120px;
  }

}


@media screen and (max-width:680px) {

  :root{
    --space:20px;
  }


  body {
    font-size:15px;
    line-height:2.2;
  }

  .brNar {
    display:block;
  }

  .loading .line {
    margin:60px 0;
  }

  header,main,footer {
    overflow:hidden;
  }
  header .crossing {
    display:none;
  }

  main {
    padding:0 0 75px 0;
  }
  main + .crossing {
    display:none;
  }

  .coup:before,
  .coup:after {
    width:24px;
    height:24px;
    top:-15px;
  }
  .coup:before {
    background-image:url(/images/icon/coup-left.svg);
    left:-15px;
    animation:bound-coup-left .6s infinite alternate;
  }
  @keyframes bound-coup-left {
    0% { transform:translate(0,0) scale(1); }
    100% { transform:translate(-6px,-6px) scale(1.1); }
  }
  .coup:after {
    background-image:url(/images/icon/coup-right.svg);
    right:-15px;
    animation:bound-coup-right .6s infinite alternate;
  }
  @keyframes bound-coup-right {
    0% { transform:translate(0,0) scale(1); }
    100% { transform:translate(6px,-6px) scale(1.1); }
  }

  .welcome,
  .welcome span {
    transition:.3s ease-out;
  }
  .welcome[data-scroll="off"] {
    width:50vw;
    max-width:250px;
    max-height:250px;
    opacity:.95;
    bottom:6px;
    right:9px;
  }
  @keyframes bound-circle {
    0% { transform:translate(0,0); }
    100% { transform:translate(0,-18px); }
  }
  .welcome[data-scroll="off"] i {
    margin:0 0 6px 0;
    font-size:22px;
  }
  .welcome[data-scroll="off"] b {
    font-size:80%;
  }
  .welcome[data-scroll="on"] {
    width:100%;
    height:70px;
    bottom:0;
    right:0;
    animation:none;
  }
  .welcome[data-scroll="on"] span {
    flex-direction:row;
    border-radius:initial;
  }
  .welcome[data-scroll="on"] span:after {
    content:'';
    width:9px;
    height:12px;
    background-color:var(--white);
    clip-path: polygon(0% 0%, 0% 100%, 100% 50%);
    position:absolute;
    top:calc(50% - 6px);
    right:20px;
    animation:arrowright .6s ease-in infinite alternate;
  }
  @keyframes arrowright {
    0% {
      transform:translate(-9px,0);
    }
    100% {
      transform:translate(0,0);
    }
  }
  .welcome[data-scroll="on"] i {
    margin:0 32px 0 0;
    font-size:18px;
  }
  .welcome[data-scroll="on"] i:after {
    content:'';
    width:2px;
    height:15px;
    background-color:var(--white);
    position:absolute;
    top:50%;
    right:-18px;
    transform:translate(0,-50%) rotate(40deg);
  }
  .welcome[data-scroll="on"] b {
    font-size:90%;
  }

  .navigation h1 {
    padding:25px 0 20px;
  }
  .navigation nav {
    padding:0 0 20px 0;
  }
  .navigation nav ul {
    flex-wrap:wrap;
  }
  .navigation nav ul:first-child {
    margin:6px 0;
  }
  .navigation nav ul li {
    font-size:22px;
    line-height:1.6;
  }
  .navigation nav ul:first-child li {
    margin:2px 4px 2px 0;
    padding:0 9px;
    border:3px solid;
    letter-spacing:-.06rem;
  }
  .navigation nav ul:last-child {
    margin:15px 0 0 0;
  }
  .navigation nav ul li:after {
    display:none;
  }
  .navigation nav ul li.current {
    color:var(--white);
    border-color:var(--black);
    background-color:var(--black);
  }


  .navigation nav ul > li + li {
    margin:0 0 0 12px;
  }
  .navigation nav ul img {
    width:40px;
  }

  .title,
  .title.left,
  .title.right {
    transition:.3s ease-out;
    align-items:center;
  }
  .title i {
    font-size:68px;
    white-space:nowrap;
  }
  .title b {
    padding:18px 5px 0;
  }
  .title b hr {
    display:none;
  }
  .title em,
  .title.right em {
    text-align:center;
  }

  .title-liner {
    margin:-20px 0 40px 0;
    flex-direction:column;
    align-items:flex-start;
    font-size:20px;
    letter-spacing:-.06rem;
    transition:.3s ease-out;
  }
  .title-liner i {
    position:relative;
    left:0;
    transition:.3s ease-out;
  }

  .circle {
    width:initial;
    aspect-ratio:auto;
    margin:-12px 0;
    font-size:80px;
    line-height:1.6;
    letter-spacing:-.3rem;
  }
  .circle:before {
    width:90vw;
    max-width:325px;
    background-image:url(/images/icon/circle-narrow.svg);
    visibility:hidden;
    opacity:0;
    transition:.1s ease;
  }
  .circle small {
    margin:0 0 0 -6px;
    padding:0 6px 0 0;
    font-size:20px;
    text-orientation:upright;
    -ms-writing-mode:tb-rl;
    writing-mode:vertical-rl;
    position:initial;
    top:initial;
    left:initial;
    transform:none;
  }

  .title[data-scroll="on"] {
    margin:50px 0 0 0;
  }

  .title-liner[data-scroll="on"] {
    margin:125px 0 150px;
  }
  .title-liner[data-scroll="on"] i {
    left:50%;
    transform:translate(-50%,0);
  }
  .title-liner[data-scroll="on"] .circle:before {
    visibility:visible;
    opacity:1;
  }

  .title-liner.verStatic {
    align-items:center;
    margin:150px auto 200px;
  }
  .title-liner.verStatic .circle:before {
    width:75vw;
  }
  .title-liner.verStatic .circle {
    margin:-10px 0 -10px -3px;
  }
  .title-liner.verStatic .circle:before {
    visibility:visible;
    opacity:1;
  }
  .title-liner.verTranse .circle:before {
    top:85%;
  }
  .title-liner.verTranse i:last-child {
    line-height:1.6;
  }


  hr.arrow {
    border-width:3px;
    margin:0 0 0 12px;
  }

  .eyecatch h2 {
    line-height:1.8;
    bottom:40px;
  }
  .eyecatch h2 i {
    font-size:24px;
    letter-spacing:0;
  }

  .slash {
    height:50px;
  }

  .tips {
    padding:2px 25px;
    font-size:90%;
  }
  .viewmore {
    width:100%;
    min-width:initial;
    padding:9px 0 9px 15px;
    border-radius:30px;
  }

  .list-icon h2 u {
    margin:50px 0 0 0;
    font-weight:600;
  }
  .list-icon h2 b {
    width:110px;
  }
  .list-icon p {
    margin:50px 0 0 0;
  }

  .ways {
    font-size:18px;
  }
  .ways i {
    margin:0 12px 0 0;
  }
  .ways img {
    width:45px;
  }

  footer {
    padding:90px var(--space) 25px;
  }
  footer h2 {
    padding:0 0 40px 0;
  }
  footer ul {
    flex-wrap:wrap;
  }
  footer ul li {
    font-size:100%;
    line-height:1.6;
  }
  footer ul li small {
    font-size:15px;
    letter-spacing:-.02rem;
    position:relative;
    top:-2px;
    left:-3px;
  }
  footer .info {
    margin:0;
    font-size:19px;
    white-space:nowrap;
  }
  footer .info i:after {
    width:2.5px;
  }
  footer .gloval {
    flex-wrap:wrap;
    flex-direction:row;
    margin:30px 0 0 0;
    font-size:22px;
  }
  footer .gloval li {
    margin:2px 4px 2px 0;
    padding:0 9px;
    border:3px solid;
    letter-spacing:-.06rem;
  }
  footer .sns {
    margin:40px 0 0 0;
  }
  footer .sns img {
    width:36px;
  }
  footer .sub {
    flex-direction:column;
  }
  footer .sub li:before {
    content:'';
    width:6px;
    aspect-ratio:1;
    border:2px solid;
    position:absolute;
    top:calc(50% - 6px);
    left:3px;
  }
  footer .sub li {
    padding:0 0 0 20px;
  }
  footer .sub > li + li {
    margin:5px 0 0 0;
    padding:0 0 0 20px;
  }
  footer .sub > li + li:after  {
    display:none;
  }
  footer h3 {
    justify-content:flex-start;
    margin:50px 0 0 0;
    padding:0;
    font-size:22px;
    line-height:2;
    letter-spacing:-.02rem;
    border:none;
  }
  footer p {
    margin:125px 0 0 0;
    font-size:95%;
    font-weight:600;
    line-height:1.6;
    letter-spacing:-.02rem;
  }
  footer p em {
    display:flex;
    flex-direction:column;
  }
  footer p b {
    font-size:80%;
    letter-spacing:-.02rem;
  }

}
