@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
a:hover{
  opacity: 0.8;
}
body {
  font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    line-height: 1.8;
    min-width: auto;
    margin: 0;
    color:#333333;
    scroll-behavior: smooth;
}
body.stop {
  overflow: hidden;
  display: block;
}
img{
  max-width: 100%;
}
@media screen and (min-width: 1200px) {
	.sp_head_area {
		display: none!important;
	}

}
@media screen and (min-width: 770px) {
	.sp_area {
		display: none!important;
	}

}
@media screen and (max-width: 1199px) {

  .pc_head_area {
		display: none!important;
	}
}
@media screen and (max-width: 769px) {

  body {
    min-width: auto;
    min-width: unset;

  }
	.pc_area {
		display: none!important;
	}
}

.inner{
  width: 1200px;
  max-width: calc(100% - 40px);
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}
.menu-box{
    max-width: calc(100% - 80px);
    width: 1500px;
    margin: 0 auto;
    height: 75px;
    display: flex;
    justify-content: space-between;
}
.menu_open-btn{
  display: none;
}
.menu-box input{
  display: none;
}
.navi-box{
  display: flex;
  justify-content: center;
  align-items: center;
  
}
#header{
  position: fixed;
  z-index: 99;
  width: 100%;
  height: 75px;
  transition: 0.2s;
}
#header.fixed,
#header.sub{
  background: rgba(255,255,255,0.6);
}
.header__logo a{
  position: relative;
}
#header .logo01{
  opacity: 0;
}
#header .logo02{
  opacity: 1;
  position: absolute;
  top: 10px;
  right: 0;
  width: 100%;
}
#header.fixed .logo02,
#header.open .logo02,
#header.sub  .logo02{
  opacity: 0;
}
#header.fixed .logo01,
#header.open  .logo01,
#header.sub  .logo01{
  opacity: 1;
}
.header__logo{
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header__logo a{
  display: flex;
  align-items: center;
  height: 100%;
}
.header__logo img{
  width: 390px;
}
.navi-shop__box a{
  width: 160px;
  height: 60px;
  border-radius: 0 6px 6px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  background: linear-gradient(90deg, rgb(231, 236, 42), rgb(238, 156, 31));
}
.navi{
  margin: 15px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  color:#fff;
  gap:5px;
}

.navi li.navi-item {
  position: relative;
  font-size: 16px;
}
.navi li.navi-item a{
  padding: 5px 10px;
  display: block;
  position: relative;
}

#header.fixed .navi{
  color:#0068B7;
}
#header.sub .navi{
  color:#0068B7;
}
.navi li.navi-item {
  position: relative;
  font-size: 16px;
}

.navi li.navi-item ul{
  display: none;
}
.navi li.navi-item label{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 15px;
  position: relative;
  gap: 4px;
}
.navi li.navi-item label::after{
  content:"";
  width:8px;
  height: 5px;
  background: url(../image/common/arrow-under.svg);
  background-size: contain;
  background-repeat: no-repeat;

}
.navi-item-facility{
  position: fixed;
  top: 90px;
  width: 936px;
  max-width: calc(100vw - 20px);
  background: #FFFFFF;
  display: flex;
  border-radius: 4px;
  overflow: hidden;
  right: 50%;
  transform: translate(50%, 0);
  z-index: 99;
  opacity: 0;
  pointer-events: none;
  transition: 0.2s;
}
input[name="navi-child"]{
  display: none;
}
input[name="navi-child"]:checked ~ .navi-item-facility{
  opacity: 1;
  pointer-events: auto;
}
.navi-child-bg{
  position: fixed;
  top:0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  z-index: 99;
  opacity: 0;
  pointer-events: none;
}
input[name="navi-child"]:checked ~ .navi-child-bg{
  opacity: 1;
  pointer-events: auto;
}
.navi-item-facility-ttl{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  font-size: 20px;
  background: #F5F2E9;
}
.navi-item-facility-flex{
  display: flex;
  flex-wrap: wrap;
  padding:20px 60px;
  gap: 10px 30px;
  width: calc(100% - 240px);
}
.navi-item-facility-flex a{
  width: calc(33.333% - 20px);
  padding: 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: solid 1px #cccccc;
  padding-bottom: 5px;
  font-size: 14px;
}
.navi-item-facility-flex a .navi-item-facility-arrow{
  width: 14px;
  height: 14px;
  border-radius: 40px;
  position: relative;
  background: linear-gradient(90deg, rgb(231, 236, 42), rgb(238, 156, 31));
}
 .navi-item-facility-flex a .navi-item-facility-arrow img {
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%) rotate(-180deg);
  width: 4px;
}
@media screen and (max-width: 769px){
  .inner{
    max-width: calc(100% - 40px);
    margin: 0 20px;
    position: relative;
    box-sizing: border-box;
  }
  .innersp{
    max-width: 100%;
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 1200px){
  #header{
    height: 50px;
  }
  #header .logo02{
    top: 1px;
  }
  .header__area{
    display: block;
    height: 50px;
    display: flex;
    justify-content: space-between;
    z-index: 99999;
    position: relative;
    transition: 0.5s;
  }
  .header__logo-pc{
    display: none;
  }
  .header__logo-sp{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 15px;
    width: 286px;
  }
  .header__logo-sp a{
    position: relative;
  }
  .menu_btn{
    display: flex;
  }
  .menu_open-btn{
    display: block;
    font-size: 10px;
    padding: 10px 10px;
    color: #fff;
    background: #0068B7;
    width: 50px;
    height: 50px;
  }
  .menu_open-btn-hum{
    position: relative;
    width: 23px;
    height: 18px;
    display: block;
    margin-right: 5px;
  }
  .menu_open-btn-hum span{
    width: 23px;
    height: 2px;
    position: absolute;
    top: 4px;
    left: 2px;
    border-radius: 2px;
    background: #fff;
    transition: 0.5s;
  }
  .menu_open-btn-hum span:nth-child(2){
      top:9px;
  }
  .open .menu_open-btn-hum span{
    transform: rotate(-15deg);
    top:5px;
  }
  .open .menu_open-btn-hum span:nth-child(2){
    transform: rotate(15deg);
    top:5px;
  }
  .menu_open-btn-text{
    position: relative;
    text-align: center;
    height: 22px;
  }
  .menu_open-btn-text span:last-child,
  .open .menu_open-btn-text span:first-child{
    position: absolute;
    opacity: 0;
    right: 0;
  }
  .open .menu_open-btn-text span:last-child{
    opacity: 1;
    top:0;
  }
  .navi-shop__box-sp a{
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(90deg, rgb(231, 236, 42), rgb(238, 156, 31));
  }
  .menu-box{
    opacity: 0;
    min-width: unset;
    min-width: auto;
    top: -101svh;
    width: 100%;
    height: 100svh;
    right: 0;
    display: block;
    overflow-y: auto;
    margin:  0;
    padding: 30px 20px 0;
    border-radius: 0;
    transform: translate(0, 0);
    transition: 0.5s;
    pointer-events: none;
    position: relative;
    z-index: 1;
    background-color: #ffffff;
  }
  .menu-box.open{
    opacity: 1;
    top: 0;
    position: fixed;
    pointer-events: auto;
    transform: translate(0, 0);
  }
  .header__logo{
    position: fixed;
    top:10px;
    left: 25px;
    z-index: 9999;
    margin: 0;
    padding: 0;
  }
  .header__logo img{
    width: 150px;
  }
  .navi {
    border-radius: 0;
    height: auto;
    margin: 30px 0;
    padding: 0;
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    color: #333333;
    width: 100%;
  }
  .navi-box{
    display: block;
  }
  .navi li.navi-item{
    display: block;
    width: 100%;
  }
  .navi li.navi-item label{
    width: 100%;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-radius: 6px;
  }
  .navi li.navi-item label .navi-child-icon{
    width: 20px !important;
    height: 20px !important;
    border-radius: 40px;
    position: relative;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, rgb(231, 236, 42), rgb(238, 156, 31));
    transition: 0.2s;
  }
  .navi li.navi-item label .navi-child-icon:before {
    position: absolute;
    width: 8px;
    height: 2px;
    background: #004D38;
    content: "";
    top: 50%;
    right: 50%;
    transform: translate(50%, -50%) rotate(-90deg);
    transition: 0.2s;
  }
  .navi li.navi-item label .navi-child-icon:after {
    position: absolute;
    width: 8px;
    height: 2px;
    background: #004D38;
    content: "";
    top: 50%;
    right: 50%;
    transform: translate(50%, -50%);
  }
  .navi li.navi-item label::after{
    display: none;
  }
  .navi li.navi-item .navi-item-facility_sp a{
    opacity: 0;
    pointer-events: none;
    height: 0;
    transition: 0.3s;
    padding: 0 10px;
    background: none;
    position: relative;
  }
  .navi li.navi-item .navi-item-facility_sp a::after{
    content:"";
    width: 6px !important;
    height: 6px !important;
    border-radius: 40px;
    position: absolute;
    top:50%;
    left: auto;
    right: 5px;
    background: linear-gradient(90deg, rgb(231, 236, 42), rgb(238, 156, 31));
    transform: translate(0, -50%);
  }
  .navi li.navi-item  a {
      padding: 10px 10px 10px;
      border-bottom: solid 1px #cccccc;
      position: relative;
      display: block;
      transition: 0.2s;
      color:#000;
      transition: 0.2s;
  }
  .navi li.navi-item  a:after {
      content: "";
      width: 6px;
      height: 6px;
      position: absolute;
      border-top: solid 1px #0068B7;
      border-right: solid 1px #0068B7;
      right: 15px;
      top: 50%;
      transform: translate(50%, -50%) rotate(45deg);
      transition: 0.2s;
      transition: 0.2s;
  }
  .navi li.navi-item a:hover:after {
      transform: translate(calc(50% + 3px), -50%) rotate(45deg);
  }
  .navi li.navi-item  a:hover {
    color:#0068B7;
  }
}


footer{
  overflow: hidden;
  display: block;
  padding: 60px 0 20px;
  position: relative;
  border-top:solid  1px #cccccc;
}
.foooter-flex01{
  display: flex;
  align-items: center;
  justify-content:space-between;
  gap: 20px;
  margin-bottom: 45px;
}
.foooter-logo{
  font-size: 26px;
  color:#fff;
  margin-right: 15px;
  font-weight: 700;
}
.foooter-logo img{
  width: 386px;
}
.foooter-contactlink a {
    margin: 0 auto 0;
    background: #0068B7;
    color: #fff;
    width: 150px;
    display: flex;
    position: relative;
    padding: 0 10px;
    align-items: center;
    border-radius: 5px;
    height: 35px;
    font-size: 16px;
    border: solid 2px  #0068B7;
    transition: 0.2s;
}
.foooter-contactlink a span{
	width: 15px;
    height: 15px;
    border-radius: 14px;
    position: absolute;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 10px;
    top: 50%;
    transform: translate(0, -50%);
    transition: 0.2s;
}
.foooter-contactlink span:after {
    content: "";
    width: 4px;
    height: 4px;
    position: absolute;
    border-top: solid 1px  #0068B7;
    border-right: solid 1px  #0068B7;
    right: calc(50% + 1px);
    top: 50%;
    transform: translate(50%, -50%) rotate(45deg);
    transition: 0.2s;
}
.foooter-contactlink a:hover{
    color: #0068B7;
    background: #fff;
}
.foooter-contactlink  a:hover span{
    background: #0068B7;
}
.foooter-contactlink  a:hover span:after {
    border-top: solid 1px  #fff;
    border-right: solid 1px  #fff;
}
.foooter-flex02{
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 15px;
}
.footer-list-flex{
  display: flex;
  gap:10px;
}
.foooter-box01-ttl{
  color:#0068B7;
  margin-bottom: 28px;
}
.footer-list li{
  margin-bottom: 5px;
  font-size: 14px;
  padding: 0 20px 0 0;
}

.footer-list li a{
    transition: 0.2s;
}
.footer-list li a:hover{
    color: #0068B7;
}
.footer-list-box{    
  margin: 0 0 0 0;
}
.foooter-box02{
  border-top:solid  1px #CCCCCC;
}
.footer_info{
  display: flex;
  align-items:center;
  justify-content:space-between;
  font-size : 14px;
  margin:20px 0 10px;
}
.footer_info-box01 span.companyname{
  font-weight:500;
  margin-right:20px;
}
.footer_info-copy{
  text-align:right;
  font-size:12px;
}
.pagetop{
  width: 40px !important;
  height: 40px !important;
  border-radius: 40px;
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 9;
  background: #0068B7;
  transition: 0.2s;
  opacity: 0;
  pointer-events: none;
}
.pagetop.visible{
  opacity: 1;
  pointer-events: auto;

}
.pagetop:after{
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    right: 50%;
    top: calc(50% + 2px);
    transform: translate(50%, -50%) rotate(-45deg);
}
.pagetop span{
  display: none;
}
#footer__linkarea{
    overflow: hidden;
    display: block;
    padding: 60px 0 20px;
    position: relative;
    background: #5FAC59;
}
.footer__linkarea_flex{
  display: flex;
  align-items: center;
  gap: 20px;
}
.footer__linkarea_box01{
  font-size: 26px;
  color:#fff;
  margin-right: 20px;
}
.footer__linkarea_box02{
  display: flex;
  align-items: center;
  gap: 15px;
}
.footer__linkarea_box02 a{
    font-size: 14px;
    width: 200px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
    color: #333333;
    background: linear-gradient(90deg, rgb(231, 236, 42), rgb(238, 156, 31));
}
@media screen and (max-width: 769px){
  footer{
    padding: 25px 0 10px;
  }
  .foooter-flex01{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 35px;
    justify-content: center;
  }
  .foooter-logo{
    font-size: 20px;
    margin-right: 0;
    font-weight: 700;
  }
  .foooter-logo img{
    width: 285px;
    max-width: 100%;
  }
  .foooter-flex02{
    display: none;
  }
  .foooter-box02{
    border:none;
  }
  .foooter-contactlink,
  .footer_info{
    display: none;
  }
  .footer_info-copy{
    text-align: left;
    font-size: 10px;
  }
  .pagetop{
    width: 50px !important;
    height: 50px !important;
    border-radius: 0;
    right: 0;
    bottom:0;
  }
  .pagetop span{
    padding-top: 27px;
    font-size: 10px;
    text-align: center;
    width: 100%;
    display: block;
    color: #fff;
  }   
   #wpadminbar {
        position: fixed;
    }
}

