@charset "utf-8";
/* CSS Document */

img{
    max-width: 100%;
    height: auto;
}
* {
  list-style: none;
  padding: 0;
  margin: 0;
  text-decoration: none;
  color: #2c2e36;
  transition: 0.4s;
  /*outline: 1px solid red;*/
}

html {
  scroll-behavior: smooth;
}

body { 
  font-family:"Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #2c2e36;
  margin: 0 auto;
}


p{
  font-size: clamp(0.563rem, 0.449rem + 0.57vw, 0.875rem);
}

h4{
  font-size: clamp(0.875rem, 0.648rem + 1.14vw, 1.5rem);
}


/*******************ここからヘッダー*************************/

.site-header{
  position: absolute;
  top: 1%;
  left: 1%;
  width: 100%;
  z-index: 1000; 
}

@media screen and (max-width:1280px){
  .site-header {
  position: static;
  width: 65%;
  margin: 5px;
}

}


/************************ここからメイン***********************/

.hero {
  position: relative;
  display: flex;
  justify-content: end; 
}

.hero .pc{
  max-width: 1400px;
  height: auto;
}

.hero .sp{
  display: none;
}

h2{
  font-family: "Noto Serif JP", serif;
  color: #D70A2F;
  font-size: clamp(2.5rem, 2.045rem + 2.27vw, 3.75rem);
  text-shadow:
    0 0 4px #fff,
    0 0 12px rgba(255,255,255,.8),
    0 0 10px rgba(255,255,255,.9);
  position: absolute;
  top: 13%;
  left: 5%;
  z-index: 800;
}

h4{
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
  position: absolute;
  top: 43%;
  left: 10%;
  z-index: 800;
  text-shadow:
    0 0 4px #fff,
    0 0 12px rgba(255,255,255,.8),
    0 0 10px rgba(255,255,255,.9);
}


.hero nav{
  position: absolute;
  top: 55%;
  left: 5%;
  z-index: 900;

  max-width: 600px;
  height: auto;
  background-color: #fff;
  border: solid #7DC3F5;
  border-radius: 30px;
  padding: 2px 50px;
}

.sns-points{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2vw;
  padding: 1.5vw;
  padding-top: 2vw;
}

.sns-points li{
  text-align: center;
}

.sns-points li .icon img{
  width: 55%;
}

.icon{
  height: 56px;

  display: flex;
  align-items: center;
  justify-content: center;
}


.sns-points li p{
  color: #D70A2F;
  line-height: 1.4;
  margin-top: 10px;
}

@media screen and (max-width:1280px){
  .hero {
  position: static;
  display: block;
  justify-content: center; 
  padding-bottom: 10px;
}

.hero .pc{
  display: none;
}

.hero .sp{
  display: block;
  max-width: 100%;
  margin-bottom: 10px;
}

h2{
  position: static;
  margin-top: 15px;
  padding-left: 10%;
}

h4{  
  position: static;
  margin: 15px auto;
  display: flex;
  justify-content: end;
  padding-right: 10%;
  margin-bottom: 4%;
}

.hero nav{
  max-width: 100%;
  position: static;
  margin: 0 auto;
  border-radius: 35px;
  padding: 2% 5%;
  padding-bottom: 6%;
  height: auto;
}

.sns-points{
  column-gap: 15%;
  padding: 5% 0 0;
  margin-bottom: 0;
}

.sns-points li{
  text-align: center;
  margin-bottom: 5%;
}

.sns-points li img{
  display: block;
  margin: 0 auto;
  max-width: 50%;
  max-height: auto;
  margin-top: 10px;
}

.sns-points li p{
  line-height: 5;
  padding-top: 10px;
}

}

@media screen and (max-width:500px){
  h2{
  position: static;
  margin-top: 15px;
  padding-left: 10px;
}

h4{  
  position: static;
  margin: 15px auto;
  display: flex;
  justify-content: end;
  padding-right: 35px;
}

  .sns-points{
  column-gap: 10%;
  row-gap: 2%;
  padding: 0;
}

.sns-points li p{
  line-height: 1.4;
}


}


/************************ここからfooter***********************/
footer{
  background-color: #D70A2F;
}

footer h3{
  color: #fff;
  background-color: #2c2e36;
  font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
  text-align: center;
}

footer nav ul{
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1vw;
  padding: 0.7vw;
}

footer nav ul li img{
 max-width: 30%;
}

footer nav ul li{
  text-align: center;
}

footer nav ul li p{
  color: #fff;
}

footer p{
  color: #fff;
  text-align: center; 
}

@media screen and (max-width:1280px){
  footer h3{
    padding: 3px 0;
  }

  footer nav ul{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: 5px;
  }

  footer nav ul li img{
    max-width: 60%;
    margin-top: 20px;
  }


}