/*--------------
common
--------------*/
html {
  font-size: min(0.875rem, 3.64vw);
}

@media print,screen and (min-width:1024px) {
  html {
    font-size: 0.875rem;
  }
}
@media print,screen and (min-width:1200px) {
  html {
    font-size: 1rem;
  }
}

*,
*::before,
*::after{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root{
  --color-black:#4e4e4e;
  --color-white:#fefefe;
  --color-blue:#00afc7;
  --color-purple:#5e65ad;
  --color-lPurple:#f5f5f9;
  --color-orange:#f39800;
  --color-pink:#ff85ed;
  --color-mOrange:#ff6e6e;
  --color-gray:#afafaf;
  --bg:#f5f7f9;
  --bg-padding:min(2rem,4vw);
  --b-radius:min(1rem,2vw);
  --g-black:linear-gradient(0deg,var(--color-black) 0%,rgba(0,0,0,0) 34%);
  --g-green:linear-gradient(0deg,var(--color-blue) 0%,rgba(0,149,110,.14) 34%);
  --b-shadow-black: 0 0 1rem var(--color-gray);
  --b-shadow-blue: 0 0 1rem rgba(0,175,199,.8);
  --hover-opacity:.6;
  --opacity-black:rgba(51, 51, 51,.8);
  --transition:all .5s cubic-bezier(.43,.05,.17,1);
  --contents-width:min(1140px, 86%);
  --section-margin:min(12rem,20vw);
  --line-height:2;
  --flex-gap:min(4rem, 4vw);
}

body {
  font-family: "Zen Maru Gothic",'YuGothic','Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ','Meiryo','ＭＳ ゴシック',sans-serif;
  line-height: 1.75;
  letter-spacing: .05em;
  font-weight: 400;
  color: var(--color-black);
  background: var(--color-white);
  position: relative;
  opacity: 0;
  animation: opacityAnimation 1s cubic-bezier(.55,.05,.22,.99) .2s normal forwards;
}

body.home{
  background: var(--bg);
}

@keyframes opacityAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

a {
  text-decoration: none;
  color: var(--color-black);
  transition: var(--transition);
  font-weight: 500;
}

li{
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

h1,h2,h3,h4,h5,h6{
  font-weight: 500;
}

table {
  clear: both;
  border-collapse: collapse;
  width: 100%;
  font-weight: 400;
}

td,th{
  padding: min(1rem, 1.4vw);
  font-weight: 400;
}

.hoursTable{
  color: var(--color-black);
}

.hoursTable-days{
  position: relative;
  border-bottom: solid 1px currentColor;
}

.hoursTable-hour{
  border-bottom: dashed 1px var(--color-gray);
}

.hoursTable-days th{
  padding: min(1.6rem, 3.4vw) min(.5rem, 1vw);
}

.hoursTable-days th h2.intro_title{
  margin-bottom: 0;
}

.hoursTable-hour th{
  padding: min(1.6rem, 3.4vw) min(.5rem, 1vw);
}
.hoursTable-hour th:nth-of-type(1){
  width: min(26%);
}

p.hoursTable-annotation{
  text-align: right;
  padding-top: min(1.4rem, 1.4vw);
  font-size: min(.83rem);
}

p.hoursTable-annotation span{
  color: var(--color-blue);
  font-size: 110%;
}

.contents{
  width: var(--contents-width);
  margin: 0 auto;
  position: relative;
}

.contents-introText{
  padding-bottom: min(1.4rem, 1.4vw);
}

.svg-icon{
  display: none;
}

svg.logo-sns{
  fill: var(--color-blue);
  position: relative;
  aspect-ratio: 1 / 1;
  display: block;
  transition: var(--transition);
}

.SVG-bubble_Wh{
  fill: var(--color-white);
}
.SVG-bubble_bl{
  fill: var(--bg);
}

picture{
  display: block;
  overflow: hidden;
}

/*---title---*/
.contents-title{
  position: relative;
  margin-bottom: min(4rem, 12vw);
  line-height: 1.5;
  font-size: min(1.4rem);
}

.contents-title>svg.contents-title_bgTitle{
  opacity: .1;
  position: absolute;
  height: min(7rem, 12vw);
  z-index: -1;
  top: 50%;
  left: 0;
  transform: translate(0,-50%);
}

.contents-title_inner{
  position: relative;
}
.contents-title_inner::before{
  position: absolute;
  content: "";
  background: var(--color-black);
  width: min(7rem);
  height: 1px;
  left: 0;
  bottom: -24%;
  transform: translate(0%, 24%);
}

.contents-title_inner:has(.contents-title_deco){
  display: flex;
  align-items: center;
  gap: min(.8rem);
}

.contents-title_deco{
  width: min(.8rem);
}
.contents-title_deco img{
  display: block;
}

.s-contentsTitle{
  text-align: center;
  font-size: min(1.4rem);
  margin-bottom: min(4rem,12vw);
}

.s-contentsTitle::before{
  width: min(1.4rem);
}

.s-contentsTitle_wrap{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(.8rem);
  position: relative;
}
.s-contentsTitle_wrap::before{
  position: absolute;
  content: "";
  background: var(--color-black);
  width: min(7rem);
  height: 1px;
  left: 50%;
  bottom: -24%;
  transform: translate(-50%, 24%);
}

.s-contentsTitle_deco{
width: min(.8rem);
}
.s-contentsTitle_deco img{
  display: block;
}

.svg-title{
  fill: var(--color-lGreen);
}

.svg-titleAnim path{
  transform: translateY(60%);
  opacity: 0;
  animation: svg-title 1s cubic-bezier(.55,.05,.22,.99) .5s normal forwards;
}
.svg-titleAnim path:nth-of-type(2){
  animation-delay: .55s;
}
.svg-titleAnim path:nth-of-type(3){
  animation-delay: .6s;
}
.svg-titleAnim path:nth-of-type(4){
  animation-delay: .65s;
}
.svg-titleAnim path:nth-of-type(5){
  animation-delay: .7s;
}
.svg-titleAnim path:nth-of-type(6){
  animation-delay: .75s;
}
.svg-titleAnim path:nth-of-type(7){
  animation-delay: .8s;
}
.svg-titleAnim path:nth-of-type(8){
  animation-delay: .85s;
}
.svg-titleAnim path:nth-of-type(9){
  animation-delay: .9s;
}
.svg-titleAnim path:nth-of-type(10){
  animation-delay: .95s;
}
.svg-titleAnim path:nth-of-type(11){
  animation-delay: 1s;
}
.svg-titleAnim path:nth-of-type(12){
  animation-delay: 1.05s;
}
.svg-titleAnim path:nth-of-type(13){
  animation-delay: 1.1s;
}
.svg-titleAnim path:nth-of-type(14){
  animation-delay: 1.15s;
}
.svg-titleAnim path:nth-of-type(15){
  animation-delay: 1.2s;
}
.svg-titleAnim path:nth-of-type(16){
  animation-delay: 1.25s;
}
.svg-titleAnim path:nth-of-type(17){
  animation-delay: 1.3s;
}
.svg-titleAnim path:nth-of-type(18){
  animation-delay: 1.35s;
}
.svg-titleAnim path:nth-of-type(19){
  animation-delay: 1.4s;
}

@keyframes svg-title {
  0%{
    transform: translateY(60%);
    opacity: 0;
  }
  100%{
    transform: translateY(0%);
    opacity: 1;
  }
}

/*--- scroll anim ---*/
.scroll-svg{
  fill: var(--color-blue);
  overflow: hidden;
}
.scroll-svg img{
  transform: translateY(2rem);
  opacity: 0;
}

.scroll-svg.is-active img{
  animation: svg-title 1s cubic-bezier(.55,.05,.22,.99) .6s normal forwards;
}

.scroll-fadeIn{
  opacity: 0;
  filter: blur(3px);
  transform: translate(-14px, 14px);
}
.scroll-fadeIn.is-active{
  animation: scrollFadeIn 1.2s cubic-bezier(.55,.05,.22,.99) .5s normal forwards;
}

@keyframes scrollFadeIn {
  0%{
    opacity: 0;
    filter: blur(3px);
    transform: translate(-14px, 14px);
  }
  100%{
    opacity: 1;
    filter: blur(0);
    transform: translate(0, 0);
  }
}

.scroll-picture img{
  opacity: 0;
  filter: blur(3px);
  transform: scale(1.1);
}
.scroll-picture.is-active img{
  animation: scrollFadeInPic 2s cubic-bezier(.55,.05,.22,.99) .5s normal forwards;
}

@keyframes scrollFadeInPic {
  0%{
    opacity: 0;
    filter: blur(3px);
    transform: scale(1.2);
  }
  100%{
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}


/*-- decoration ---*/
.starDeco-large{
  position: absolute;
  width: min(4rem, 8vw);
  top: -20%;
  right: 0;
}

.starDeco-bubble{
  position: absolute;
  width: min(7rem, 20vw);
}

.starDeco-wave{
  position: absolute;
  width: min(1.6rem,4vw);
}

.starDeco-items{
  position: absolute;
}

.starDeco-dia{
  position: absolute;
  width: min(67%);
  top: -40%;
  right: 78%;
}

.bubbleDeco-items{
  position: absolute;
  width: min(8rem, 22vw);
  z-index: -1;
}

/*--- animation ---*/
.a-star {
  animation: star 2s both infinite ease-in-out;
  animation-delay: .3s;
  transform-box: fill-box;
  transform-origin: center;
}
@keyframes star{
  0% {
    transform: scale(.65);
  }
  48% {
    transform: scale(1);
  }
  50% {
    transform: scale(1);
  }
  52% {
    transform: scale(1);
  }
  100% {
    transform: scale(.65);
  }
}

.a-star1{
  animation: star 3s both infinite ease-in-out;
  animation-delay: .4s;
  transform-box: fill-box;
  transform-origin: center;
}

.a-star2 {
  animation: starFlake 20s both infinite linear;
  transform-box: fill-box;
  transform-origin: center;
}

@keyframes starFlake{
  0% {
    transform: translateY(-10%) rotate(0);
  }
  50% {
    transform: translateY(10%) rotate(180deg);
  }
  100% {
    transform: translateY(-10%) rotate(360deg);
  }
}


/*---accordion---*/
.box{
  display: none;
  padding: min(2rem, 4vw) 0;
}

.arrow-svg{
  fill: none;
  stroke: var(--color-blue);
  stroke-linecap: round;
  stroke-miterlimit: 10;
  stroke-width: 8.5px;
  display: block;
}

.title{
  transition: var(--transition);
  font-size: min(1.24rem, 3.83vw);
  line-height: 1.5;
  color: var(--color-blue);
  border: solid 2px var(--color-blue);
  border-radius: 9999px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(var(--flex-gap) / 3);
  padding: 1rem;
  cursor: pointer;
}

.title-arrow{
  width: min(.8rem, 2vw);
  height: min(1.4rem, 3vw);
  transform: rotate(90deg);
  display: block;
  transition: var(--transition);
}

.title.close{
  background: var(--color-blue);
  color: var(--color-white);
}

.title.close .arrow-svg{
  stroke: var(--color-white);
}

.title.close .title-arrow{
  transform: rotate(-90deg);
}

/*---link---*/
.linkBtn{
  font-weight: 500;
  font-size: min(1.2rem, 3.83vw);
  text-align: center;
  margin: 0 auto;
  border-radius: 9999px;
  position: relative;
  z-index: 1;
  background: var(--color-blue);
  color: var(--color-white);
  padding: .8rem min(2.4rem,6vw);
}

.linkBtn span{
  position: relative;
  padding-right: min(2rem,8vw);
}

.linkBtn span::before{
  content: "";
  width: min(1.8rem, 6vw);
  height: min(1rem, 4vw);
  position: absolute;
  background: url(img/btn-deco.svg) no-repeat center;
  background-size: 100%;
  right: 0;
  top: 50%;
  transition: var(--transition);
  transform: translate(0, -50%);
}

.lineLink{
  position: relative;
  line-height: 1.8;
}

.lineLink-under{
  position: absolute;
  left: 0;
  bottom: 0%;
  display: inline-block;
  width: 0;
  height: 1px;
  background-color: currentColor;
}


/*--bgWave--*/
.bgWave{
  position: relative;
  z-index: 1;
  padding: min(8vw) 0px 22vw;
}
.bgWave.--blue{
  background: var(--bg);
}
.bgWave.--white{
  background: var(--color-white);
}
.bgWave.--purple{
  background: var(--color-lPurple);
}
.bgWave::before{
  position: absolute;
  content: "";
  width: 100%;
  height: 20vw;
  top: -10vw;
  left: 0;
  z-index: -1;
}

.bgWave.--blue::before{
  background: url(img/bg-wave_blue.png) no-repeat center;
  background-size: 100%;
}
.bgWave.--white::before{
  background: url(img/bg-wave_white.png) no-repeat center;
  background-size: 100%;
}
.bgWave.--purple::before{
  background: url(img/bg-wave_purple.png) no-repeat center;
  background-size: 100%;
}

@media print, screen and (min-width: 768px) {
  .linkBtn:hover{
    box-shadow: var(--b-shadow-blue);
    transform: scale(1.05);
  }

  .title{
    gap: calc(var(--flex-gap) / 5);
  }

  .title:hover{
    opacity: .6;
  }

  /*--bgWave--*/
  .bgWave{
    padding: min(8vw) 0px 16vw;
  }
  .bgWave::before{
    height: 20vw;
    top: -7vw;
    left: 0;
  }
}

.date{
  color: #838383;
  font-size: var(--font-size-text3);
  line-height: 1.5;
}


/*----- breadcrumbs/pageTop -----*/
.breadcrumbs {
  text-align: left;
  font-size: min(.8rem, 2.6vw);
  margin: auto;
  padding: min(16px, 2vw) 3vw;
  color: var(--color-blue);
  letter-spacing: .08em;
}

.breadcrumbs span {
  padding: 0 2px;
}

.breadcrumbs a {
  color: var(--color-blue);
  text-decoration: underline;
}

#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	width: 50px;
	height: 50px;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}

/*---- page top -----*/
.page-top{
  width: min(4rem, 16vw);
  margin: 0 auto 1.24rem;
}
.page-top a{
  display: block;
}

/*----- googleMap/youtube -----*/
.googleMap{
  position: relative;
  padding-bottom: 62.25%;
  overflow: hidden;
}

.googleMap iframe, .googleMap object, .googleMap embed{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.youtube{
  position:relative;
  width:100%;
  padding-top:62.25%;
}

.youtube iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}

/*----- not found -----*/
.notFound{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: min(10rem, 50vw) 0;
}

.notFont-wrapper{
  padding: 0 6vw 0;
}

.notFont-wrapper h2{
  font-weight: 500;
  line-height: 1.5;
  padding-bottom: 16px;
  color: var(--color-blue);
}
.notFont-wrapper h2 span{
  font-size: min(3.24rem,8vw);
  display: block;
}

.notFont-wrapper h2 img{
  display: block;
  width: 72%;
  margin: 0 auto min(1rem);
}

.notFont-wrapper p{
  padding-bottom: 40px;
}

.notFont-images{
  width: min(7rem, 21vw);
  margin: 0 auto min(2rem, 5vw);
}

/*----- swiper -----*/
.swiper-wrapper {
  transition-timing-function: linear;
}

.swiper-container{
  overflow: hidden;
}

.swiper-slide{
  padding: 0 2px;
}

.swiper-slide img {
  height: auto;
  width: 100%;
}


@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

.swiper-slide-active .swiper-slide,
.swiper-slide-duplicate-active .swiper-slide,
.swiper-slide-prev .swiper-slide {
  animation: zoomUp 7s linear 0s normal both;
}
.swiper-slide img {
  height: auto;
  width: 100%;
}


/*--------------
  header
--------------*/
header{
  padding: min(2rem, 6vw) min(10rem, 17vw) min(2rem, 6vw) min(5vw, 3rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-logo{
  width: min(17rem, 50vw);
  z-index: 4;
}

header h1 img{
  display: block;
}

.header-menuList{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: min(2rem);
}

.header-menuItem a.is-active{
  color: var(--color-blue);
}

.header-menuList li.header-sns{
  width: min(2rem);
}

.header-menuItem.current>a{
  color: var(--color-blue);
}

.header-menu{
  display: none;
}

@media screen and (min-width:1024px) {
  nav.headerNav{
    display: flex;
    gap: 20px;
  }

  .header-menu{
    display: block;
  }
}

@media screen and (min-width:768px) {
  header h1 a:hover,
  .header-menuList li.header-sns a:hover,
  .breadcrumbs a:hover{
    opacity: var(--hover-opacity);
  }

  .scroll{
    top: 20vw;
  }
}

/*----- hamburger -----*/
.openBtn{
  cursor: pointer;
  text-align: center;
  position: fixed;
  height: min(2.4rem, 7vw);
  width: min(3.6rem, 11vw);
  top: min(1.8rem, 5vw);
  right: min(4rem, 3vw);
  z-index: 200;
  transition: var(--transition);
}

.openBtn span{
  width: 100%;
  height: min(3px, .6vw);
  display: block;
  z-index: 1;
  position: absolute;
  margin: 0 auto;
  background: var(--color-blue);
  border-radius: 9999px;
  transition: var(--transition);
}

.openBtn span:nth-of-type(1){
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
.openBtn span:nth-of-type(2){
  top: 43%;
}
.openBtn span:nth-of-type(3){
  top: 87%;
  left: 50%;
  transform: translate(-50%, 0);
}

.openBtn.active span{
  background: var(--color-white);
}

.openBtn.active span:nth-of-type(1){
  width: 100%;
  top: 40%;
  left: 50%;
  transform: translate(-50%, 0) rotate(25deg);
}
.openBtn.active span:nth-of-type(2){
  display: none;
}
.openBtn.active span:nth-of-type(3){
  width: 100%;
  top: 40%;
  left: 50%;
  transform: translate(-50%, 0) rotate(-25deg);
}

.openBtn.active small{
  color: var(--color-white);
}

.openBtn small{
  position: absolute;
  left: 50%;
  bottom: -54%;
  text-transform: uppercase;
  transform: translateX(-50%);
  line-height: 1.5;
  font-size: min(.8rem, 2.6vw);
  font-weight: 500;
}

.g-nav .pullDownMenu{
  width: min(120px, 25vw);
}

#js-g-nav{
  transition: var(--transition);
  -webkit-transition: var(--transition);
  opacity: 0;
  visibility: hidden;
  transform: translate(0, 2%);
}

#js-g-nav.panelactive{
  opacity: 1;
  visibility: inherit;
  transform: translate(0, 0);
}

.g-nav{
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  width: 100%;
  height: 100svh;
  color: var(--color-black);
  background: var(--opacity-black);
  overflow: auto;
  visibility: hidden;
}

.g-nav>.openBtn{
  position: fixed;
  top: min(2rem, 4vw);
  right: min(2rem, 4vw);
  height: min(4rem, 12vw);
  width: min(9rem, 27vw);
}

.g-nav_container{
  display: flex;
  flex-wrap: wrap;
}

.g-nav_menu{
  padding: min(4rem,8vw);
  overflow-y: auto;
  background: var(--color-blue);
  color: var(--color-white);
  width: 100%;
  position: relative;
}

.g-nav_menu__wrapper{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
    gap: min(1rem, 3vw);
}

.g-nav_logo{
  width: 100%;
  padding-bottom: min(3rem, 6vw);
}
.g-nav_logo img{
  width: min(18rem, 58vw);
}

.g-nav_mainMenuList{
  display: flex;
  flex-wrap: wrap;
  gap: min(2rem,6vw) min(2rem,4vw);
  margin-bottom: min(4rem,10vw);
  justify-content: center;
  transition: all 1.2s cubic-bezier(0.43, 0.05, 0.17, 1);
  -webkit-transition: all 1.2s cubic-bezier(0.43, 0.05, 0.17, 1);
  transition-delay: .6s;
  opacity: 0;
  filter: blur(10px);
}
#js-g-nav.panelactive .g-nav_mainMenuList{
  opacity: 1;
  filter: blur(0px);
}

.g-nav_mainMenuList li{
  width: calc((100% - calc(min(2rem, 4vw)* 2)) / 3);
}

.g-nav_menuList{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: min(1.4rem, 3vw);
  font-size: min(1.14rem);
}

.g-nav_menuList li a{
  color: var(--color-white);
}

.g-nav_menuList li .footer-menuList_innerMenu{
  font-size: 86%;
}

li.g-nav_sns{
  padding-top: min(1rem, 3vw);
}

.g-nav_menuList li.g-nav_sns a{
  display: flex;
  align-items: center;
}

li.g-nav_sns a span{
  width: min(2rem, 6vw);
  margin-right: .5rem;
}

.g-nav_mainMenuList li a p{
  justify-content: center;
  text-align: center;
  line-height: 1.2;
  word-break: break-all;
}

li.g-nav_outSideLink{
  width: min(12rem, 92%);
  margin-top: min(1rem);
}

.g-nav_ch{
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  padding:min(4rem, 8vw);
  color: var(--color-white);
}
.g-nav_ch a{
  color: var(--color-white);
}

.g-nav_ch table{
  color: var(--color-white);
}

.g-nav_textArea{
  width: 100%;
  margin-top: calc(var(--section-margin) / 5);
}

.g-nav_address ul{
  display: flex;
  flex-wrap: wrap;
  gap: 0 min(1rem);
  font-size: min(1rem, 3vw);
}

@media screen and (min-width:1024px) {
  .g-nav_container{
    height: 100svh;
  }

  .g-nav_ch,.g-nav_menu{
    width: 50%;
  }

  .openBtn small{
    bottom: -60%;
  }
}

@media screen and (min-width:768px) {
  #js-g-nav{
    transform: translate(0, 4%);
  }

  .g-nav_mainMenuList li{
    width: calc((100% - calc(min(2rem,4vw) * 5)) / 6);
  }

  .g-nav_menu__wrapper{
    gap: 0;
  }

  .g-nav_menu{
    padding: min(4rem, 4vw);
  }

  .g-nav_menuList{
    width: 50%;
    padding: 0 min(4rem, 2vw);
  }
  .g-nav_menuList:nth-of-type(1){
    border-right:solid 1px var(--color-white);
  }

  .g-nav_menuList a:hover{
    opacity: .6;
  }

}


/*--------------
Fixed menu
--------------*/
.fixed-nav{
  position: fixed;
  right: 0;
  bottom: 2vw;
  z-index: 3;
  font-size: min(1.2rem);
  line-height: 1.4;
  width: 100%;
}

ul.fixed-nav_list{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--flex-gap) / 3);
  width: 94%;
  margin: 0 auto;
}

ul.fixed-nav_list>li{
  display: flex;
  justify-content: center;
  width: calc(100% / 2);
}

ul.fixed-nav_list>li a,
ul.linkNav-list>li a{
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-white);
  background: var(--color-blue);
  border-radius: 9999px;
  padding: min(.8rem) min(2rem, 1vw);
  width: 100%;
}

li a span.fixedIcon img{
  display: block;
}

li.link-tel a{
  gap: min(.6rem);
}

li.link-tel a span.fixedIcon{
width: min(26px, 6vw);
}

li.link-web a{
  gap: min(.6rem);
}

li.link-web a span.fixedIcon{
    width: 14px;
}
li.link-web a span.fixedIcon img{
  display: block;
}

.linkNav-list{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: calc(var(--flex-gap) / 2);
  margin-top: min(3rem, 6vw);
}

.linkNav-list li{
  width: 100%;
}

@media screen and (min-width:768px) {
  .fixed-nav{
    right: 2vw;
    width: auto;
  }

  ul.fixed-nav_list{
    width: min(32rem);
  }

  .linkNav-list li{
    width: calc((100% - calc(var(--flex-gap) / 2)) / 2);
  }

  ul.linkNav-list>li a:hover,
  ul.fixed-nav_list>li a:hover{
    box-shadow: var(--b-shadow-blue);
    transform: scale(1.05);
  }
}


/*--------------
footer
--------------*/
footer {
  z-index: 2;
  position: relative;
  padding: min(6rem, 12vw) min(7rem,7vw) min(2rem,4vw);
  background: var(--color-blue);
  color: var(--color-white);
  border-radius: var(--b-radius) var(--b-radius) 0 0 ;
}

footer a {
  color: var(--color-white);
}

.footer-wrapper{
  max-width: 1600px;
  margin: 0 auto;
}

.footer-logo{
  width: min(24rem, 72vw);
  margin-left: min(4rem, 1vw);
}

.footer-contents{
  display: flex;
  margin-top: min(3rem,3vw);
  flex-wrap: wrap;
}

.footer-contents_menu{
  width: 48%;
}

.footer-contents_add{
  width: 100%;
  margin-bottom: min(3rem);
}

.footer-hisuiLogo{
  width: min(21rem, 40vw);
  margin-top: min(3rem, 6vw);
}

.footer-menuList{
  display: flex;
  flex-direction: column;
  gap: min(1rem,2vw);
}

li>ul.footer-menuList_innerMenu{
  font-size: 90%;
}

.footer-sns{
  margin-top: min(3rem, 6vw);
}

.footer-sns a{
  display: flex;
  align-items: center;
}
.footer-sns a span{
  width: min(2rem,6vw);
  margin-right: .5rem;
}

footer small{
  display: block;
  padding: min(8rem, 14vw) 4vw 0;
  font-size: min(.74rem, 2.4vw);
  text-align: right;
  letter-spacing: 0;
  text-align: center;
}

@media print,screen and (min-width:521px) {
  .footer-contents_menu{
    width: 50%;
  }

  .footer-contents_item{
    padding: 0 min(4rem, 3vw);
  }

  .footer-contents_item:nth-of-type(2){
    border-right: solid 1px var(--color-white);
  }
}

@media print,screen and (min-width:768px) {
  .page-top a:hover{
    transform: scale(1.15);
  }

  footer a:hover{
    opacity: .6;
  }

  .footer-hisuiLogo{
    width: min(15rem, 31vw);
  }

  .footer-logo{
    margin-left: 2rem;
  }

  .footer-contents_add{
    margin-bottom: 0;
  }

    .footer-contents_menu{
    width: 45%;
  }

}

@media print,screen and (min-width:1024px) {
  .footer-contents_item:nth-of-type(1){
    border-right: solid 1px var(--color-white);
  }

  .footer-contents_add{
    width: 45%;
    line-height: 2.2;
  }

    .footer-contents_menu{
    width: calc(calc((100% - 45%)) / 2);
    }
}