*, *::before, *::after {  margin: 0;  padding: 0;  -webkit-box-sizing: border-box;          box-sizing: border-box;}body {  font-family: 'Noto Sans JP', 'Yu Gothic medium', 'Hiragino Sans', Meiryo, 'sans-serif';}p {  font-size: 16px;  line-height: 1.7;}@media screen and (max-width: 550px) {  p {    font-size: 14px;  }}a {  text-decoration: none;  -webkit-transition: all .3s;  -o-transition: all .3s;  transition: all .3s;}a:hover {  opacity: 0.7;}img {  width: 100%;  vertical-align: bottom;}main {  overflow: hidden;  min-width: 1000px;}@media screen and (max-width: 550px) {  main {    min-width: initial;  }}.bg {  background: -o-linear-gradient(top, #ebdcbe 75%, #fff 90%);  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, #ebdcbe), color-stop(90%, #fff));  background: linear-gradient(to bottom, #ebdcbe 75%, #fff 90%);  padding-bottom: 180px;}@media screen and (max-width: 550px) {  .bg {    padding-bottom: 80px;  }}.header {  position: fixed;  top: 0;  left: 0;  width: 100%;  padding-top: 30px;  padding-bottom: 10px;  padding-left: 40px;  z-index: 10;}@media screen and (max-width: 550px) {  .header {    padding-top: 15px;    padding-left: 15px;  }}.header-logo {  width: 100px;}@media screen and (max-width: 550px) {  .header-logo {    width: 18%;  }}.header-logo a {  display: block;  width: 100%;}.section {  margin-bottom: 100px;}.section:last-child {  margin-bottom: 0;}@media screen and (max-width: 550px) {  .section {    margin-bottom: 80px;  }}.mv {  display: -ms-grid;  display: grid;  place-items: center;  position: relative;  height: 100vh;}@media screen and (max-width: 550px) {  .mv {    height: 90vh;  }}.mv-frame {  height: 100%;  position: absolute;  width: 100%;  top: 0;  left: 0;  right: 0;  bottom: 0;}.mv-frame > div {  position: absolute;  top: 0;  width: 100%;  height: 100%;}.mv-frame > div > div {  position: absolute;}.mv-layer {  z-index: 0;}@media screen and (max-width: 550px) {  .mv-layer {    display: none;  }}.mv-layer-01, .mv-layer-02 {  width: 50%;  max-width: 1000px;}.mv-layer-01 {  top: 0;  left: 0;}.mv-layer-02 {  bottom: 0;  right: 0;}.mv-confetti {  z-index: 2;}.mv-confetti-01, .mv-confetti-02 {  width: 50%;  max-width: 500px;}.mv-confetti-01 {  width: 50%;  max-width: 900px;  top: -70px;  right: -50px;}@media screen and (max-width: 550px) {  .mv-confetti-01 {    top: 0%;    right: -35%;    width: 105%;  }}.mv-confetti-02 {  width: 23%;  max-width: 430px;  bottom: -57%;  left: -50px;}@media screen and (max-width: 1400px) {  .mv-confetti-02 {    bottom: -10%;  }}@media screen and (max-width: 550px) {  .mv-confetti-02 {    bottom: -10%;    left: -13%;    width: 55%;  }}.mv-mari {  z-index: 1;}.mv-mari-01 {  width: 15%;  max-width: 245px;  right: 92%;  top: 40%;}@media screen and (max-width: 550px) {  .mv-mari-01 {    width: 35%;    right: 82%;    top: 21%;  }}.mv-cloud {  z-index: 3;}.mv-cloud-01 {  width: 13%;  max-width: 250px;  right: 25%;  top: 9%;}@media screen and (max-width: 550px) {  .mv-cloud-01 {    width: 33%;    right: 10%;    top: 8%;  }}.mv-cloud-02 {  width: 25%;  max-width: 470px;  left: -12%;  top: 78%;}@media screen and (max-width: 550px) {  .mv-cloud-02 {    width: 65%;    left: -39%;    top: 50%;  }}.mv-cloud-03 {  width: 45%;  max-width: 850px;  right: -24%;  top: 30%;}@media screen and (max-width: 550px) {  .mv-cloud-03 {    width: 98%;    top: 22%;    right: -63%;  }}.mv-flower {  z-index: 5;}.mv-flower-01 {  width: 13%;  max-width: 150px;  left: 8%;  top: 25%;}@media screen and (max-width: 550px) {  .mv-flower-01 {    top: 8%;    left: 6%;    width: 25%;  }}.mv-flower-02 {  width: 25%;  max-width: 350px;  left: 85%;  bottom: -10%;}@media screen and (max-width: 550px) {  .mv-flower-02 {    bottom: 13%;    width: 48%;    left: 65%;  }}.mv-products {  z-index: 6;}.mv-products-item.fd {  width: 38%;  max-width: 800px;  min-width: 400px;  top: 0;  left: 14%;}@media screen and (max-width: 550px) {  .mv-products-item.fd {    min-width: initial;    width: 60%;    left: 22%;  }}.mv-products-item.hes {  width: 14%;  max-width: 280px;  min-width: 180px;  bottom: 19%;  left: 6%;}@media screen and (max-width: 1400px) {  .mv-products-item.hes {    bottom: 2%;    left: 1%;  }}@media screen and (max-width: 550px) {  .mv-products-item.hes {    min-width: initial;    width: 25%;    left: 5%;    bottom: 5%;  }}.mv-products-item.mlgx {  width: 25%;  max-width: 550px;  min-width: 320px;  top: 10%;  right: 5%;}@media screen and (max-width: 550px) {  .mv-products-item.mlgx {    min-width: initial;    width: 40%;    top: 12%;    right: 2%;  }}.mv-products-item.hg {  width: 13%;  max-width: 280px;  min-width: 180px;  bottom: 24%;  right: 8%;}@media screen and (max-width: 1400px) {  .mv-products-item.hg {    bottom: 0%;  }}@media screen and (max-width: 550px) {  .mv-products-item.hg {    min-width: initial;    width: 25%;    bottom: 3%;    right: 4%;  }}.mv-omikuji {  position: relative;  -webkit-transform: translate(5%, 8%);      -ms-transform: translate(5%, 8%);          transform: translate(5%, 8%);  max-width: 750px;  width: 82%;  max-height: 65vh;  aspect-ratio: 1115 / 1000;  z-index: 9;}@media screen and (max-width: 1400px) {  .mv-omikuji {    -webkit-transform: translate(5%, 0);        -ms-transform: translate(5%, 0);            transform: translate(5%, 0);    max-width: 600px;  }}@media screen and (max-width: 550px) {  .mv-omikuji {    -webkit-transform: translate(5%, -10%);        -ms-transform: translate(5%, -10%);            transform: translate(5%, -10%);    width: 78%;    max-height: 40vh;  }}.mv-omikuji-area {  background: url("../img/omikuji-snake.gif") no-repeat center/100%, url("../img/omikuji-bg.svg") no-repeat;  aspect-ratio: 600 / 538;  position: relative;  width: auto;  height: 100%;  margin: 0 auto;}@media screen and (max-width: 550px) {  .mv-omikuji-area {    max-height: 40vh;  }}.mv-omikuji-area::before {  content: "";  background: url("../img/omikuji-kazari.svg") no-repeat center/100%;  aspect-ratio: 60 / 25;  position: absolute;  bottom: -10%;  width: 130%;  left: 50%;  -webkit-transform: translateX(-54%);      -ms-transform: translateX(-54%);          transform: translateX(-54%);  z-index: -1;}.mv-omikuji-text {  text-align: center;  width: 50%;  margin: 0 auto;  -webkit-transform: translate(-10%, 28%);      -ms-transform: translate(-10%, 28%);          transform: translate(-10%, 28%);}.mv-omikuji-bubble {  position: absolute;  bottom: 23%;  width: 22%;  max-width: 185px;  left: 11%;  -webkit-transition: all .1s;  -o-transition: all .1s;  transition: all .1s;}.mv-omikuji-bubble.is-off {  opacity: 0;}#omikujiButton {  position: absolute;  bottom: 10%;  width: 35%;  max-width: 260px;  left: 50%;  -webkit-transform: translateX(-49%);      -ms-transform: translateX(-49%);          transform: translateX(-49%);  cursor: pointer;}.overlay {  position: fixed;  width: 100vw;  top: 0;  left: 0;  right: 0;  bottom: 0;  background-color: rgba(0, 0, 0, 0.7);  z-index: 20;  display: none;}.overlay-anchor {  position: absolute;  width: 100%;  height: 100%;}.overlay.is-active {  opacity: 1;  visibility: visible;}.overlay-container {  height: 90%;  position: absolute;  top: 50%;  left: 50%;  -webkit-transform: translate(-50%, -50%);      -ms-transform: translate(-50%, -50%);          transform: translate(-50%, -50%);}@media screen and (max-width: 550px) {  .overlay-container {    height: 80vh;  }}.overlay-frame {  height: calc(100% - 80px);  margin-top: 10px;  margin-bottom: 10px;}.overlay-frame a {  display: block;  height: 100%;  position: relative;}.overlay-frame a img {  height: 100%;  width: initial;}.overlay-frame a:hover {  opacity: 1;}#omikujiCloseButton {  display: block;  background: url("../img/close.svg") no-repeat center/100%;  aspect-ratio: 1 / 1;  height: 30px;  margin-left: auto;  cursor: pointer;}@includes sp {  #omikujiCloseButton {    height: 4%;  }}#omikujiCloseText {  text-align: center;  color: #fff;  font-size: 24px;  font-weight: bold;  line-height: 1.2;  cursor: pointer;}@media screen and (max-width: 550px) {  #omikujiCloseText {    margin-top: 10px;    font-size: 18px;  }}.greeting {  position: relative;  padding-top: 80px;}.greeting > div:not(.greeting-card) {  position: absolute;  width: 100%;  height: 100%;}.greeting > div:not(.greeting-card) > div {  position: absolute;}.greeting-layer {  z-index: 0;}@media screen and (max-width: 550px) {  .greeting-layer {    display: none;  }}.greeting-layer-01, .greeting-layer-02 {  width: 50%;  max-width: 1000px;  top: -80px;}.greeting-layer-01 {  right: 0;}.greeting-layer-02 {  left: 0;}.greeting-kazari {  z-index: 6;}@media screen and (max-width: 550px) {  .greeting-kazari {    display: none;  }}.greeting-kazari-01, .greeting-kazari-02 {  width: 16%;  max-width: 180px;  top: -40px;}.greeting-kazari-01 {  left: 0;}.greeting-kazari-02 {  right: 0;}.greeting-mari {  z-index: 1;}.greeting-mari-01 {  bottom: -10%;  left: 2%;  width: 18%;  max-width: 240px;}@media screen and (max-width: 550px) {  .greeting-mari-01 {    width: 40%;    left: -10%;  }}.greeting-card {  font-family: "Noto Serif JP", serif;  background-color: #fff;  max-width: 700px;  width: 90%;  margin: 0 auto;  text-align: center;  position: relative;  padding: 40px 20px;  z-index: 9;}@media screen and (max-width: 550px) {  .greeting-card {    padding: 20px 10px 30px;  }}.greeting-card::before, .greeting-card::after {  content: "";  position: absolute;  display: block;}.greeting-card::before {  background: url("../img/greeting-mizuhiki01.png") no-repeat center/100%;  width: 20%;  max-width: 120px;  aspect-ratio: 51 / 50;  right: -5%;  top: 0;}.greeting-card::after {  background: url(../img/greeting-mizuhiki02.png) no-repeat center/100%;  width: 18%;  max-width: 100px;  aspect-ratio: 1 / 1;  left: 0;  bottom: 0;}.greeting h2 {  font-size: 32px;  font-weight: 500;  margin-bottom: 30px;  letter-spacing: 3px;}@media screen and (max-width: 550px) {  .greeting h2 {    font-size: 20px;  }}.greeting p {  font-size: 18px;  margin-bottom: 24px;}@media screen and (max-width: 550px) {  .greeting p {    font-size: 14px;    margin-bottom: 15px;  }}.greeting-logo {  width: 70%;  max-width: 360px;  margin: 0 auto;}@media screen and (max-width: 550px) {  .greeting-logo {    width: 60%;  }}.field {  position: relative;}.field-mari {  position: absolute;  bottom: -10%;  right: -5%;  width: 15%;  max-width: 220px;  z-index: 1;}@media screen and (max-width: 550px) {  .field-mari {    width: 50%;    right: -20%;  }}.field-inner {  max-width: 1000px;  width: 90%;  margin: 0 auto;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  gap: 30px;}@media screen and (max-width: 550px) {  .field-inner {    -webkit-box-orient: vertical;    -webkit-box-direction: normal;        -ms-flex-direction: column;            flex-direction: column;    row-gap: 50px;  }}.field-card {  background-color: #fff;  border-radius: 5px;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-orient: vertical;  -webkit-box-direction: normal;      -ms-flex-direction: column;          flex-direction: column;  -webkit-box-pack: justify;      -ms-flex-pack: justify;          justify-content: space-between;  row-gap: 30px;  padding: 0 40px 20px;  position: relative;  z-index: 9;  width: calc(50% - 15px);}@media screen and (max-width: 550px) {  .field-card {    width: 100%;    padding: 0 15px 15px;  }}.field-card h2 {  margin-top: -30px;  margin-bottom: 30px;}@media screen and (max-width: 550px) {  .field-card h2 {    margin-bottom: 20px;  }}.field-card h3 {  padding-left: 20px;  position: relative;  margin-bottom: 20px;}@media screen and (max-width: 550px) {  .field-card h3 {    margin-bottom: 10px;  }}.field-card h3::before {  content: "";  position: absolute;  top: 4px;  left: 0;  width: 13px;  height: 13px;}.field-card.is-arch h3::before {  background-color: #2346aa;}.field-card.is-tech h3::before {  background-color: #fde100;}.field-card p {  margin-top: 20px;  padding: 0 20px;}@media screen and (max-width: 550px) {  .field-card p {    margin-top: 10px;  }}.field-button {  display: block;  width: 100%;  border-radius: 20px;  text-align: center;  padding: 10px 0;  color: #fff;  font-weight: 800;}@media screen and (max-width: 550px) {  .field-button {    font-size: 14px;  }}.field-button.is-arch {  background: #2346aa;}.field-button.is-tech {  background: -o-linear-gradient(left, #e7380d 20%, #f5aa00);  background: -webkit-gradient(linear, left top, right top, color-stop(20%, #e7380d), to(#f5aa00));  background: linear-gradient(to right, #e7380d 20%, #f5aa00);}.support {  position: relative;  z-index: 9;}.support-inner {  max-width: 1000px;  width: 95%;  margin: 0 auto;}.support h2 {  font-size: 20px;  margin-bottom: 30px;  font-weight: 500;  text-align: center;}@media screen and (max-width: 550px) {  .support h2 {    font-size: 16px;  }}.support-link {  margin-bottom: 60px;  position: relative;}.support-link-arch, .support-link-tech {  position: absolute;  width: 53.5%;  height: 100%;  top: 0;  -webkit-transition: all .3s;  -o-transition: all .3s;  transition: all .3s;}.support-link-arch:hover, .support-link-tech:hover {  background-color: rgba(255, 255, 255, 0.3);}.support-link-arch {  left: 0;  -webkit-clip-path: polygon(0 0, 100% 0, 87% 100%, 0 100%);          clip-path: polygon(0 0, 100% 0, 87% 100%, 0 100%);}.support-link-tech {  right: 0;  -webkit-clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);          clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);}.support-sns {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  gap: 40px;}@media screen and (max-width: 550px) {  .support-sns {    -ms-flex-wrap: wrap;        flex-wrap: wrap;    -webkit-column-gap: 20px;       -moz-column-gap: 20px;            column-gap: 20px;  }}.support-sns-content {  width: 35%;}@media screen and (max-width: 550px) {  .support-sns-content {    width: calc(50% - 10px);  }  .support-sns-content:nth-child(1) {    -webkit-box-ordinal-group: 2;        -ms-flex-order: 1;            order: 1;  }  .support-sns-content:nth-child(3) {    -webkit-box-ordinal-group: 3;        -ms-flex-order: 2;            order: 2;  }}.support-sns-content h3 {  text-align: center;  padding-bottom: 20px;  border-bottom: 2px solid #000;  margin-bottom: 40px;}@media screen and (max-width: 550px) {  .support-sns-content h3 {    font-size: 14px;    padding-bottom: 10px;    margin-bottom: 10px;  }}.support-sns-info {  width: calc(30% - 80px);}@media screen and (max-width: 550px) {  .support-sns-info {    -webkit-box-ordinal-group: 4;        -ms-flex-order: 3;            order: 3;    width: 100%;  }}.support-sns-list {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-align: center;      -ms-flex-align: center;          align-items: center;  -webkit-box-pack: center;      -ms-flex-pack: center;          justify-content: center;  -webkit-column-gap: 12px;     -moz-column-gap: 12px;          column-gap: 12px;}@media screen and (max-width: 550px) {  .support-sns-list {    -ms-flex-wrap: wrap;        flex-wrap: wrap;    -webkit-box-pack: start;        -ms-flex-pack: start;            justify-content: start;    row-gap: 15px;  }}.support-sns-item {  width: calc((100% - 48px) * 0.195);}.support-sns-item.is-youtube {  width: calc((100% - 48px) * 0.22);}@media screen and (max-width: 550px) {  .support-sns-item {    width: 36px;  }  .support-sns-item.is-youtube {    width: 46px;  }}.support-sns-info {  text-align: center;}@media screen and (max-width: 550px) {  .support-sns-info img {    margin-top: 10px;    max-width: 100px;  }}.support-sns-bubble {  border-radius: 30px;  border: 2px solid #000;  padding: 10px;  background: #fff;  position: relative;  margin-bottom: 20px;}@media screen and (max-width: 550px) {  .support-sns-bubble {    width: 40%;    margin: 0 auto;    font-size: 12px;    padding: 8px 5px;  }}.support-sns-bubble::before, .support-sns-bubble::after {  content: "";  display: block;  position: absolute;  left: 50%;  -webkit-transform: translateX(-50%);      -ms-transform: translateX(-50%);          transform: translateX(-50%);}.support-sns-bubble::before {  width: 20px;  height: 20px;  border-top: 18px solid #000;  border-left: 10px solid transparent;  border-right: 10px solid transparent;  bottom: -20px;}.support-sns-bubble::after {  width: 20px;  height: 20px;  border-top: 18px solid #fff;  border-left: 10px solid transparent;  border-right: 10px solid transparent;  bottom: -16px;}.footer p {  font-size: 10px;  text-align: center;  padding: 30px 0;}.footer-logo {  position: fixed;  bottom: 20px;  right: 3%;  width: 100px;  z-index: 10;}@media screen and (max-width: 550px) {  .footer-logo {    width: 20%;    bottom: 10px;  }}