
html {
    scroll-behavior: smooth;
}

.sp-only-block {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .sp-only-block {
    display: block !important;
  }
}

.pc-only-block {
  display: block !important;
}
@media screen and (max-width: 768px) {
  .pc-only-block {
    display: none !important;
  }
}

.sp-only-inline {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .sp-only-inline {
    display: inline !important;
  }
}

.pc-only-inline {
  display: inline !important;
}
@media screen and (max-width: 768px) {
  .pc-only-inline {
    display: none !important;
  }
}

.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}
.mb50{margin-bottom: 60px;}
.mb60{margin-bottom: 70px;}
.mb60{margin-bottom: 80px;}

img {
  width: 100%;
}

a img{
 transition : all 300ms;
}

a:hover img{
 opacity: 0.8;
}



body {
  font-family: "Noto Sans JP", "sans-serif", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-feature-settings: "palt";
  background-color: #f2f2f2;
  color: #666666;
  margin: 0;
  padding: 0;
}

header {
  padding: 50px;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
header {
  padding: 5vw;
}
}

header .logo{
  width: 5.18%;
  min-width: 42px;
}

header ul{
  text-align: right;

}

header ul li{
  display: inline-block;
  margin-right: 3rem;
}

header ul li:nth-child(1){
  width: 2.68%;
  min-width: 22px;
}
header ul li:nth-child(2){
  width: 4.75%;
  min-width: 38px;
}

header ul li:nth-child(3){
  width: 7.12%;
  min-width: 57px;
}

header ul li:nth-child(4){
  width: 5.31%;
  min-width: 43px;
}

header ul li:nth-child(5){
  width: 5.68%;
  min-width: 46px;
}

.kv {
  width: 80%;
  background-color: white;
  min-height: 600px;
  text-align: center;
  display: grid;
  place-content: center;
  margin: auto;
  margin-bottom: 11rem;
}

@media screen and (max-width: 768px) {
.kv {
  width: 90%;
  min-height: 60vw;
  margin-bottom: 5.5rem;
}
}

.kv h1{
  width: 45%;
  margin: auto;
}

@media screen and (max-width: 768px) {
.kv h1{
  width: 27%;
}
}



h2 {
  margin-top: 13rem auto;
  text-align: center;
}

@media screen and (max-width: 768px) {
h2 {
  margin-top: 6.5rem auto;
  text-align: center;
}
}

h2.title1 {
  width: 7.7444%;
  min-width: 61.6px;
  margin: auto auto 5rem auto;
}

@media screen and (max-width: 768px) {
h2.title1 {
  width: 14.52%;
  min-width: 14.52%;
  margin: auto auto 2.5rem auto;
}
}

.copy1{
  width: 39.525%;
  min-width: 316.2px;
  margin: 0 auto 13.75rem auto;

}

@media screen and (max-width: 768px) {
.copy1{
  width: 90%;
  min-width: 90%;
  margin: 0 auto 4.5em auto;

}
}

.copy2{
  width: 20.7%;
  min-width: 165.6px;
  margin: 0 auto 4rem auto;

}

@media screen and (max-width: 768px) {
.copy2{
  width: 34.5%;
  min-width: 34.5%;
  margin: 0 auto 2rem auto;

}
}


.link1{
  width: 38.25%;
  min-width: 234px;
  margin: 0 auto 21.25rem auto;

}

@media screen and (max-width: 768px) {
.link1{
  width: 54%;
  min-width: 21.9%;
  margin: 0 auto 6rem auto;

}
}

.link1 a:hover img{
  opacity: 0.5;
}


h2.title2 {
  width: 11.1444%;
  min-width: 89.6px;
  margin: auto auto 5rem auto;
}
@media screen and (max-width: 768px) {
h2.title2 {
  width: 20.85%;
  min-width: 20.85%;
  margin: auto auto 5rem auto;
}
}

.company{
  width: 36%;
  margin: 0 auto 21.25rem auto;
}

@media screen and (max-width: 768px) {
.company{
  width: 86%;
  margin: 0 auto 6rem auto;
}
}

.company dl{
  display: flex;
  justify-content: space-between;
  font-size: 1.04rem;
  letter-spacing: 0.1em;
  font-weight: normal;
}

@media screen and (max-width: 768px) {
.company dl{
  font-size: 0.9rem;
}
}

.company dl dt{
  width: 30%;
}

.company dl dd{
  width: 70%;
}

h2.title3 {
  width:8.496%;
  min-width: 68px;
  margin: auto auto 5rem auto;
}

@media screen and (max-width: 768px) {
h2.title3 {
  width: 15.93%;
  min-width: 15.93%;
  margin: auto auto 3rem auto;
}

}


.map{
  width: 80%;
  margin: 0 auto 8rem auto;
  font-size: 1.04rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
.map{
  width: 96%;
  margin: 0 auto 6rem auto;
  font-size: 0.9rem;
}
}

h2.title4 {
  width:8.9444%;
  min-width: 72px;
  margin: auto auto 5rem auto;
}

@media screen and (max-width: 768px) {
h2.title4 {
  width: 16.77%;
  min-width: 16.77%;
  margin: auto auto 3rem auto;
}
}

.copy3{
  width: 23%;
  min-width: 184px;
  margin: 0 auto 4rem auto;

}

@media screen and (max-width: 768px) {
.copy3{
  width: 34.5%;
  min-width: 34.5s%;
  margin: 0 auto 4rem auto;

}

}
