@charset "UTF-8";
/*========================================================================================

共通設定

=========================================================================================*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none !important;
}
::before, ::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
  width: 100%;
  scroll-behavior: smooth;
  scroll-snap-type: y proximity;
  scroll-padding-top: 40px;
}
body {
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: left;
}
/*main {
  overflow: hidden;
}*/
img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  vertical-align: bottom;
}
a {
  transition: all .3s ease;
  cursor: pointer;
  text-decoration: none;
}
ul li, ol li {
  list-style-type: none;
}
/*========================================================================================

クラス名指定機能

=========================================================================================*/
.col-90 {
  width: 90%;
}
.col-87 {
  width: 87%;
}
.col-85 {
  width: 85%;
}
.col-83 {
  width: 83%;
}
.col-80 {
  width: 80%;
}
.col-75 {
  width: 75%;
}
.col-70 {
  width: 70%;
}
.col-65 {
  width: 65%;
}
.col-60 {
  width: 60%;
}
.col-55 {
  width: 55%;
}
.col-50 {
  width: 50%;
}
.col-46 {
  width: 46%;
}
.col-47 {
  width: 47%;
}
.col-48 {
  width: 48%;
}
.col-45 {
  width: 45%;
}
.col-42 {
  width: 42%;
}
.col-40 {
  width: 40%;
}
.col-37 {
  width: 37%;
}
.col-35 {
  width: 35%;
}
.col-32 {
  width: 32%;
}
.col-31 {
  width: 31%;
}
.col-30 {
  width: 30%;
}
.col-28 {
  width: 28%;
}
.col-25 {
  width: 25%;
}
.col-20 {
  width: 20%;
}
.col-15 {
  width: 15%;
}
.col-12 {
  width: 12%;
}
.col-10 {
  width: 10%;
}
.col-5 {
  width: 5%;
}
.mb-ten5em {
  margin-bottom: 0.5em;
}
.mb-1em {
  margin-bottom: 1em;
}
.mb-2em {
  margin-bottom: 2em;
}
.mb-short {
  margin-bottom: clamp(20px, 4vw, 80px);
}
.mb-mid {
  margin-bottom: clamp(40px, 6vw, 100px);
}
.mb-large {
  margin-bottom: clamp(80px, 10vw, 140px);
}
.mb-xlarge {
  margin-bottom: clamp(100px, 15vw, 180px);
}
.aspect1-1, img.aspect1-1 {
  aspect-ratio: 1 / 1;
}
.aspect2-1, img.aspect2-1 {
  aspect-ratio: 2 / 1;
}
.aspect2-3, img.aspect2-3 {
  aspect-ratio: 2 / 3;
}
.aspect3-2, img.aspect3-2 {
  aspect-ratio: 3 / 2;
}
.aspect3-4, img.aspect3-4 {
  aspect-ratio: 3 / 4;
}
.aspect4-5, img.aspect4-5 {
  aspect-ratio: 4 / 5;
}
.aspect19-7, img.aspect19-7 {
  aspect-ratio: 19 / 7;
}
/*仕様*/
.radius20 {
  border-radius: 20px;
}
.radius40 {
  border-radius: 40px;
}
.m-auto {
  margin: 0 auto;
}
.a-center {
  align-items: center;
  justify-content: center;
}
.t-center {
  text-align: center;
}
.g-center {
  display: grid;
  place-content: center;
  place-items: center;
}
.none {
  display: none;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.relative {
  position: relative;
  z-index: 1;
}
.bold {
  font-weight: 700;
}
.lead-txt {
  font-size: clamp(1.6rem, 1.527rem + 0.36vw, 1.8rem);
  line-height: 2.5;
  font-weight: 500;
  text-align: left;
}
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-reverse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}