/** TOP **/
@import url("variables.css");
#top section#key_v {
  width: 100%;
}
#top section#key_v .cont {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

#top section#key_v .cont .upperUnit {
  width: 100%;
  height: 425px;
}

#top section#key_v .cont .upperUnit .photoWrap {
  width: 100%;
  height: 100%;
}

#top section#key_v .cont .upperUnit .photoWrap .photo {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#top section#key_v .cont .upperUnit .photoWrap .photo img {
 width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}



#top section#key_v .cont .middleUnit {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-bottom: 25px;
  box-sizing: border-box;
}

#top section#key_v .cont .middleUnit .mainLogoWrap {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 25px 4%;
  box-sizing: border-box;
  gap: 15px;
}


@media screen and (max-width: 999px) {
  #top section#key_v .cont .middleUnit .mainLogoWrap {
    flex-direction: column;
  }
}

#top section#key_v .cont .middleUnit .mainLogoWrap .textWrap h2 {
  font-size: 3.75rem;
  font-weight: 700;
  color: var(--normal-color);
}

@media screen and (max-width: 1249px) {
  #top section#key_v .cont .middleUnit .mainLogoWrap .textWrap h2 {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 1149px) {
  #top section#key_v .cont .middleUnit .mainLogoWrap .textWrap h2 {
    font-size: 2.25rem;
  }
}

@media screen and (max-width: 767px) {
  #top section#key_v .cont .middleUnit .mainLogoWrap .textWrap h2 {
    font-size: 1.75rem;
  }
}



#top section#key_v .cont .middleUnit .menuWrap ul {
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

@media screen and (max-width: 767px) {
  #top section#key_v .cont .middleUnit .menuWrap ul {
    flex-direction: column;
    gap: 10px;
  }
}

#top section#key_v .cont .middleUnit .menuWrap ul li {
  width: 185px;
  border: 1px solid var(--blue-color);
  text-align: center;
}

#top section#key_v .cont .middleUnit .menuWrap ul li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 12px 18px;
  text-decoration: none;
  font-weight: 500;;
  color: var(--normal-color);
  position: relative;
}

#top section#key_v .cont .middleUnit .menuWrap ul li a:after {
  content: "";
  display: block;
  width: 8.5px;
  height: 8.5px;
  border-left: 1px solid var(--blue-color);
  border-bottom: 1px solid var(--blue-color);
  transform: rotate(-45deg) translateY(-50%);
  position: absolute;
  right: 8px;
  top: calc( 50% - 4.25px );
}


#top section#key_v .cont .lowerUnit {
  width: 100%;
  height: 285px;
}

@media screen and (max-width: 1099px) {
  #top section#key_v .cont .lowerUnit {
    height: auto;
  }
}



#top section#key_v .cont .lowerUnit .photos {
  height: 100%;
}

#top section#key_v .cont .lowerUnit .photos ul {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
}

#top section#key_v .cont .lowerUnit ul li {
  width: calc(100% / 3);
  height: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center
}

#top section#key_v .cont .lowerUnit ul li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}


#top section#serviceWrap {
  width: 100%;
}
#top section#serviceWrap .cont {
  width: 100%;
  height: 100%;
}

#top section#serviceWrap .cont .serviceBoxes {
  width: 92%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

#top section#serviceWrap .cont .serviceBoxes .box {
  
  width: 31%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--blue-color);
  border-radius: 10px;
  padding: 15px;
  box-sizing: border-box;
}

@media screen and (max-width: 649px) {
 #top section#serviceWrap .cont .serviceBoxes .box {
    width: 44%;
  }
}

#top section#serviceWrap .cont .serviceBoxes .box .imgWrap {
  width: 100%;
  max-width: 380px;
  height: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
  padding: 15px 0;
}

@media screen and (max-width: 999px) {
  #top section#serviceWrap .cont .serviceBoxes .box .imgWrap {
    max-width: 100%;
    height: 120px;
  }
}

@media screen and (max-width: 499px) {
  #top section#serviceWrap .cont .serviceBoxes .box .imgWrap {
    height: 80px;
    padding: 0;
  }
}

#top section#serviceWrap .cont .serviceBoxes .box .imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

#top section#serviceWrap .cont .serviceBoxes .box .textWrap h3 {
  width: 100%;
  height: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--normal-color);
  font-size: 1rem;
  line-height: 1.4em;
  font-weight: 500;
  text-align: center;
}



#top section#planWrap .cont {
  background: var(--blue-color);
  padding-bottom: 45px;
}


#top section#planWrap .cont .plansBoxes {
  width: 92%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 45px;
}

@media screen and (max-width: 767px) {
  #top section#planWrap .cont .plansBoxes {
    flex-direction: column;
  }
}


#top section#planWrap .cont .plansBoxes .box {
  width: 32%;
  min-height: 280px;
  background: #fff;
  padding: 25px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
}

@media screen and (max-width: 1199px) {
  #top section#planWrap .cont .plansBoxes .box {
    width: 49%;
  }
}

@media screen and (max-width: 999px) {
  #top section#planWrap .cont .plansBoxes .box {
    width: 48%;
  }
}

@media screen and (max-width: 767px) {
  #top section#planWrap .cont .plansBoxes .box {
    width: auto;
    min-width: 460px;
  }
}

@media screen and (max-width: 499px) {
  #top section#planWrap .cont .plansBoxes .box {
    width: 100%;
    min-width: auto;
  }
}



#top section#planWrap .cont .plansBoxes .box .titleH3 {
  text-align: center;
  margin-bottom: 12px;;
}

#top section#planWrap .cont .plansBoxes .box .flexWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 449px) {
  #top section#planWrap .cont .plansBoxes .box .flexWrap {
    flex-direction: column;
  }
}


#top section#planWrap .cont .plansBoxes .box .flexWrap .imgWrap {
  width: 60%;
  display: flex; 
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 999px) {
  #top section#planWrap .cont .plansBoxes .box .flexWrap .imgWrap {
    width: 50%;
  }
}

@media screen and (max-width: 449px) {
  #top section#planWrap .cont .plansBoxes .box .flexWrap .imgWrap {
    width: 100%;
    margin-bottom: 15px;
  }
}

#top section#planWrap .cont .plansBoxes .box .flexWrap {
    flex-direction: column;
}


#top section#planWrap .cont .plansBoxes .box .flexWrap .imgWrap img{
  margin-bottom: 0;
  vertical-align: baseline;
}

#top section#planWrap .cont .plansBoxes .box .flexWrap .priceWrap {
  width: 40%;
  text-align: center;
}

@media screen and (max-width: 999px) {
  #top section#planWrap .cont .plansBoxes .box .flexWrap .priceWrap {
    width: 50%;
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  #top section#planWrap .cont .plansBoxes .box .flexWrap .priceWrap {
    width: 100%;
    text-align: center;
  }
}


#top section#planWrap .cont .plansBoxes .box .flexWrap .priceWrap p {
  margin-bottom: 0;
}

#top section#planWrap .cont .plansBoxes .box .flexWrap .priceWrap p .en {
  font-size: 1rem;
}

#top section#planWrap .cont .plansBoxes .box .flexWrap .priceWrap p .num {
  font-size: 1.25rem;
  font-weight: 700;
}


#top section#planWrap .cont .addBoxes p.addText{
  color: #fff;
  text-align: center;
  line-height: 2.2em;
}


#top section#planWrap .cont .addBoxes p.addText .smaller{
  font-size: 1.625rem;
}

#top section#planWrap .cont .addBoxes p.addText .dot{
  position: relative;
}

#top section#planWrap .cont .addBoxes p.addText .dot:before{
  position: absolute;
  content: '・';
  top: -1.25em;
}

#top section#planWrap .cont .addBoxes p.addText .middler{
  font-size: 2.125rem;
}


#top section#planWrap .cont .sampleBox {
  width: 92%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  background: #fff;
}

#top section#planWrap .cont .sampleBox .flexWrap {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  background: #fff;
}

@media screen and (max-width: 767px) {
  #top section#planWrap .cont .sampleBox {
    flex-direction: column;
  }
}


#top section#planWrap .cont .sampleBox .textWrap {
  width: 50%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 15px 2%;
}

@media screen and (max-width: 767px) {
  #top section#planWrap .cont .sampleBox .textWrap {
    width: 100%;
    padding: 35px 2%;
  }
}

#top section#planWrap .cont .sampleBox .textWrap .subTitle h3 {
  font-size: 1.25rem;
  color: var(--normal-color);
  margin-bottom: 15px;
  padding: 8px 12px;
  border: 1px solid var(--normal-color);
}

#top section#planWrap .cont .sampleBox .textWrap .list {
  width: 90%;
}

#top section#planWrap .cont .sampleBox .textWrap .list dl {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 6px;
}

#top section#planWrap .cont .sampleBox .textWrap .list dl dt {
  padding:3px;
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  #top section#planWrap .cont .sampleBox .textWrap .list dl dt {
    font-size: 0.875rem;;
  }
}

#top section#planWrap .cont .sampleBox .textWrap .list dl dd {
  padding:3px;
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  #top section#planWrap .cont .sampleBox .textWrap .list dl dd {
    font-size: 0.875rem;;
  }
}

#top section#planWrap .cont .sampleBox .imgWrap {
  width: 50%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

@media screen and (max-width: 999px) {
  #top section#planWrap .cont .sampleBox .imgWrap {
    height: 280px;
  }
}

@media screen and (max-width: 767px) {
  #top section#planWrap .cont .sampleBox .imgWrap {
    width: 100%;
    height: auto;
  }
}

#top section#planWrap .cont .sampleBox .imgWrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  vertical-align: baseline;
}





