@import url("https://use.fontawesome.com/releases/v6.4.2/css/all.css");
@import url("https://fonts.googleapis.com/css2?family=Dela+Gothic+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Rubik+Mono+One&family=Zen+Old+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Aclonica&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New&display=swap");
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  background-color: #e8e8e8;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic", "Hiragino Sans", Meiryo, sans-serif;
}
@media only screen and (max-width: 767px) {
  body {
    font-size: 0.9rem;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  text-decoration: none;
}

.global_head {
  margin: 0;
}

.frame {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 90;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .frame {
    border: 20px solid #f3bb5f;
    border-radius: 50px;
  }
}
@media only screen and (min-width: 768px) {
  .frame {
    border: 30px solid #f3bb5f;
    border-radius: 80px;
  }
}
.frame::before, .frame::after {
  border-style: solid;
  border-width: 0;
}
.frame::before {
  content: "";
  position: absolute;
  display: block;
  transform: scaleX(-1);
}
@media only screen and (max-width: 767px) {
  .frame::before {
    border: 20px solid #f3bb5f;
    inset: -20px;
  }
}
@media only screen and (min-width: 768px) {
  .frame::before {
    border: 30px solid #f3bb5f;
    inset: -30px;
  }
}
.frame::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  border: 1.5px solid #111;
  z-index: 91;
}
@media only screen and (max-width: 767px) {
  .frame::after {
    border-radius: 30px;
  }
}
@media only screen and (min-width: 768px) {
  .frame::after {
    border-radius: 50px;
  }
}

.wrap {
  font-family: "Noto Sans JP";
}
.wrap::before, .wrap::after {
  background-color: #f3bb5f;
  width: 100%;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99;
}
@media only screen and (max-width: 767px) {
  .wrap::before, .wrap::after {
    height: 20px;
  }
}
@media only screen and (min-width: 768px) {
  .wrap::before, .wrap::after {
    height: 30px;
  }
}
.wrap::before {
  top: 0;
}
.wrap::after {
  bottom: 0;
}

.content {
  background: linear-gradient(#bbe2e8, #dbdfd0);
  box-shadow: inset 10px 20px 30px rgba(142, 145, 157, 0.1), inset -10px -20px 30px rgba(142, 145, 157, 0.1);
  height: calc(100% - 100px);
  overflow: hidden;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .content {
    margin: 20px 20px 20px;
  }
}
@media only screen and (min-width: 768px) {
  .content {
    margin: 30px 30px 30px;
  }
}
.content::before {
  content: "";
  background: url(../img/noise.png) repeat top left;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.lang {
  position: absolute;
  display: grid;
  gap: 0 5px;
  z-index: 99;
}
@media only screen and (max-width: 767px) {
  .lang {
    grid-template-columns: repeat(2, 50px);
    grid-template-rows: 28px;
    top: 20px;
    left: 5%;
  }
}
@media only screen and (min-width: 768px) {
  .lang {
    grid-template-columns: repeat(2, 55px);
    grid-template-rows: 30px;
    top: 30px;
    left: 30px;
  }
}
.lang__item {
  font-family: "Rubik Mono One", monospace;
  background-color: #f5ead4;
  color: #c8011a;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  .lang__item {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .lang__item {
    font-size: 1.3rem;
  }
}
.lang__item:hover {
  filter: brightness(1.2);
}
.lang__item.lang-selected {
  background-color: #c8011a;
  color: #fff;
}

.prod {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .prod {
    padding: 60px 0;
  }
}
@media only screen and (min-width: 768px) {
  .prod {
    padding: 80px 0 90px;
  }
}
.prod .newrelease {
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background-color: #eb4221;
  color: #fff;
  position: absolute;
}
@media only screen and (max-width: 767px) {
  .prod .newrelease {
    font-size: 1.1rem;
    top: 16px;
    right: -200px;
    transform: rotate(35deg);
  }
}
@media only screen and (min-width: 768px) {
  .prod .newrelease {
    top: 0;
    right: 0;
    width: 190px;
    height: 190px;
  }
}
.prod .newrelease p {
  font-family: "Aclonica";
  letter-spacing: -0.1rem;
  text-align: center;
  margin: 0;
  rotate: 45deg;
  position: relative;
  top: 39px;
  right: -21px;
}
@media only screen and (min-width: 768px) {
  .prod .newrelease p {
    font-size: 3.6rem;
  }
}
.prod .ttl {
  text-align: center;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .prod .ttl {
    margin: 0 0 28px;
    padding: 0 5%;
  }
}
@media only screen and (min-width: 768px) {
  .prod .ttl {
    margin: 0 auto 80px;
    max-width: 1000px;
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .prod .ttl img {
    filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.2));
  }
}
@media only screen and (min-width: 768px) {
  .prod .ttl img {
    filter: drop-shadow(5px 5px 1px rgba(0, 0, 0, 0.2));
  }
}
.prod .ttl__sub {
  display: inline-block;
  background-color: #fff;
  position: relative;
  max-width: 100%;
  margin-top: 16px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
@media only screen and (max-width: 767px) {
  .prod .ttl__sub {
    font-size: 0.8rem;
    padding: 5px 10px;
    margin-top: 12px;
    box-shadow: 3px 3px 1px rgba(0, 0, 0, 0.2);
  }
}
@media only screen and (min-width: 768px) {
  .prod .ttl__sub {
    font-size: 1.2rem;
    padding: 2px 15px 5px;
    box-shadow: 5px 5px 1px rgba(0, 0, 0, 0.2);
  }
}
.prod .intro {
  text-align: center;
  width: 90%;
}
@media only screen and (max-width: 767px) {
  .prod .intro {
    margin: 0 auto 30px;
  }
}
@media only screen and (min-width: 768px) {
  .prod .intro {
    margin: 0 auto 45px;
  }
}
.prod .intro p {
  display: inline-block;
  color: #cb2764;
  -webkit-text-stroke: 4px #fff;
  text-stroke: 4px #fff;
  paint-order: stroke;
  font-feature-settings: "palt";
  text-align: center;
  font-weight: 800;
  margin: 0;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
@media only screen and (max-width: 767px) {
  .prod .intro p {
    font-size: 1.1rem;
  }
}
@media only screen and (min-width: 768px) {
  .prod .intro p {
    font-size: 2.1rem;
  }
}
.prod__size img {
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(calc(-50% - 320px));
  z-index: 10;
}
@media only screen and (min-width: 768px) {
  .prod__size img {
    width: 15%;
    max-width: 150px;
  }
}
.prod__img {
  position: relative;
  min-width: 0;
}
@media only screen and (max-width: 767px) {
  .prod__img {
    margin: 0 auto 36px;
  }
}
@media only screen and (min-width: 768px) {
  .prod__img {
    margin: 0 auto 56px;
  }
}
.prod__img::before, .prod__img::after {
  content: none;
}
.prod__img .slide {
  position: relative;
}
.prod__img .slide img {
  display: block;
  width: 100%;
  height: clamp(300px, 60vh, 480px);
  margin: 0 auto;
  object-fit: contain;
  object-position: center bottom;
  transition: transform 0.3s;
  transform: scale(0.8);
  opacity: 0.3;
}
@media only screen and (max-width: 767px) {
  .prod__img .slide img {
    height: clamp(240px, 50vh, 340px);
  }
}
.prod__img .slide .slick-center img {
  transform: scale(1);
  opacity: 1;
}
.prod__img .slide:not(.slick-initialized) {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 0 24px;
  scroll-snap-type: x mandatory;
}
.prod__img .slide:not(.slick-initialized) .slide__item {
  flex: 0 0 auto;
  scroll-snap-align: center;
}
.prod__img .slide:not(.slick-initialized) img {
  opacity: 1;
  transform: none;
}
.prod__img .slide__item,
.prod__img .slick-slide {
  width: 420px;
  max-width: calc(100vw - 100px);
}
@media only screen and (max-width: 767px) {
  .prod__img .slide__item,
  .prod__img .slick-slide {
    width: 250px;
  }
}
.prod__img .slide-arrow {
  background-color: #c8011a;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 98;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .prod__img .slide-arrow {
    width: 40px;
    height: 40px;
  }
}
@media only screen and (min-width: 768px) {
  .prod__img .slide-arrow {
    width: 50px;
    height: 50px;
  }
}
.prod__img .slide-arrow::after {
  content: "";
  display: block;
}
@media only screen and (max-width: 767px) {
  .prod__img .slide-arrow::after {
    border-right: 3px solid #ffdfb9;
    border-top: 3px solid #ffdfb9;
    width: 12px;
    height: 12px;
  }
}
@media only screen and (min-width: 768px) {
  .prod__img .slide-arrow::after {
    border-right: 4px solid #ffdfb9;
    border-top: 4px solid #ffdfb9;
    width: 16px;
    height: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .prod__img .prev-arrow {
    left: 8px;
  }
}
@media only screen and (min-width: 768px) {
  .prod__img .prev-arrow {
    left: 5%;
  }
}
.prod__img .prev-arrow::after {
  transform: rotate(225deg);
  margin-left: 5px;
}
@media only screen and (max-width: 767px) {
  .prod__img .next-arrow {
    right: 8px;
  }
}
@media only screen and (min-width: 768px) {
  .prod__img .next-arrow {
    right: 5%;
  }
}
.prod__img .next-arrow::after {
  transform: rotate(45deg);
  margin-right: 5px;
}
.prod__img button.slide-arrow {
  border: 0;
  padding: 0;
  appearance: none;
}
.prod__img button.slide-arrow:focus-visible {
  outline: 3px solid #111;
  outline-offset: 4px;
}
.prod__detail_name {
  text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px;
  text-align: center;
  font-feature-settings: "palt";
  color: #c8011a;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0.2rem;
}
@media only screen and (max-width: 767px) {
  .prod__detail_name {
    font-size: clamp(1.2rem, 5vw, 1.8rem);
    margin: 0 0 20px;
    padding: 0 16px;
    line-height: 1.5;
    letter-spacing: 0.04em;
    overflow-wrap: anywhere;
  }
}
@media only screen and (min-width: 768px) {
  .prod__detail_name {
    font-size: 2.8rem;
    margin: 0 0 35px;
  }
}
.prod__detail_name span {
  display: block;
  letter-spacing: 0.1rem;
  margin: 0 0 5px;
}
@media only screen and (max-width: 767px) {
  .prod__detail_name span {
    font-size: 1.15rem;
  }
}
@media only screen and (min-width: 768px) {
  .prod__detail_name span {
    font-size: 1.6rem;
  }
}
.prod__detail_info {
  display: flex;
  flex-wrap: wrap;
  border-radius: 15px;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .prod__detail_info {
    flex-direction: column;
    max-width: 200px;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 768px) {
  .prod__detail_info {
    margin: 0 auto;
    width: 90%;
    max-width: 700px;
    gap: 0 15px;
  }
}
.prod__detail_info dl {
  font-weight: bold;
  display: flex;
  margin: 0 0 15px;
  border-bottom: 3px solid #000;
}
@media only screen and (max-width: 767px) {
  .prod__detail_info dl {
    font-size: 0.85rem;
  }
}
@media only screen and (min-width: 768px) {
  .prod__detail_info dl {
    font-size: 1.5rem;
    width: calc(50% - 15px);
  }
  .prod__detail_info dl:nth-of-type(3) {
    margin: 0;
  }
}
.prod__detail_info dl:nth-of-type(4) {
  margin: 0;
}
.prod__detail_info dl dt {
  margin: 0 5px 0 0;
  font-weight: 600;
}
.prod__detail_info dl dd {
  margin: 0;
  word-break: break-all;
}

.product-gallery-title {
  width: fit-content;
  max-width: 90%;
  margin: 0 auto 24px;
  padding: 6px 28px;
  border-radius: 999px;
  background: #fff;
  color: #c8011a;
  font-size: clamp(1.1rem, 2.5vw, 1.6rem);
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.12);
}
@media only screen and (max-width: 767px) {
  .product-gallery-title {
    margin-bottom: 16px;
    padding: 5px 22px;
  }
}

.product-galleries {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: 94%;
  max-width: 1400px;
  margin: 0 auto 56px;
}
@media only screen and (max-width: 767px) {
  .product-galleries {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
    width: 100%;
    margin-bottom: 36px;
  }
}
.product-galleries > .prod__img {
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}
.product-galleries .product-gallery-title {
  margin-top: 4px;
}

.sale {
  background-color: #f5ead4;
  border-radius: 30px;
  text-align: center;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .sale {
    width: 88%;
    margin: 0 auto 20px;
  }
}
@media only screen and (min-width: 768px) {
  .sale {
    max-width: 1050px;
    width: 90%;
    margin: 0 auto 40px;
  }
}
.sale::before {
  content: "";
  background: url(../img/noise.png) repeat top left;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.sale__ttl {
  background-color: #37b2d3;
  color: #f5ead4;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05rem;
  border-radius: 30px 30px 0 0;
  margin: 0;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .sale__ttl {
    font-size: 1.4rem;
    padding: 13px 0;
  }
}
@media only screen and (min-width: 768px) {
  .sale__ttl {
    font-size: 2.4em;
    margin: 0 0 10px;
    padding: 15px 0;
  }
}
.sale__ttl::before {
  content: "";
  background: url(../img/noise.png) repeat top left;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.sale__lead {
  text-align: center;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .sale__lead {
    margin: 0 0 15px;
    font-size: 0.95rem;
    line-height: 1.3;
  }
}
@media only screen and (min-width: 768px) {
  .sale__lead {
    margin: 0 0 30px;
    font-size: 1.1rem;
  }
}
.sale__content {
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .sale__content {
    padding: 20px;
  }
}
@media only screen and (min-width: 768px) {
  .sale__content {
    padding: 0 35px 30px 35px;
  }
}
.sale__item {
  border: 2px solid #000;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .sale__item {
    margin: 0 0 15px;
    padding: 20px 20px 25px;
  }
}
@media only screen and (min-width: 768px) {
  .sale__item {
    margin: 0 0 25px;
    padding: 30px 30px 35px;
  }
}
.sale__item:last-child {
  margin: 0;
}
.sale__item_ttl {
  font-weight: 700;
  border-bottom: 2px solid #000;
  display: inline-block;
  line-height: 1;
  letter-spacing: 0.05rem;
  padding: 0 0 3px;
}
@media only screen and (max-width: 767px) {
  .sale__item_ttl {
    font-size: 1.05rem;
    margin: 0 0 10px;
  }
}
@media only screen and (min-width: 768px) {
  .sale__item_ttl {
    font-size: 1.4rem;
    margin: 0 0 15px;
  }
}
@media only screen and (max-width: 767px) {
  .sale__item p {
    margin: 0 0 15px;
    line-height: 1.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .sale__item p {
    margin: 0;
    line-height: 1.8rem;
  }
}
.sale__item p span {
  font-weight: 600;
}
.sale .app-link {
  background: #c8001a;
  color: #fff;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.02rem;
  border-radius: 50px;
  text-align: center;
  position: relative;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  .sale .app-link {
    width: 90%;
    height: 53px;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 768px) {
  .sale .app-link {
    width: 480px;
    height: 80px;
    margin: 30px auto 0;
    font-size: 1.3rem;
  }
}
.sale .app-link::before {
  content: "";
  transform: rotate(45deg);
  position: absolute;
  top: 42%;
  transition: 0.3s;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .sale .app-link::before {
    border-top: solid 2.5px #fff;
    border-right: solid 2.5px #fff;
    width: 9px;
    height: 9px;
    right: 25px;
  }
}
@media only screen and (min-width: 768px) {
  .sale .app-link::before {
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    width: 12px;
    height: 12px;
    right: 35px;
  }
}
.sale .app-link:hover {
  filter: brightness(1.2);
}
.sale .app-link:hover::before {
  right: 30px;
}
.sale .app-link.link-soon {
  pointer-events: none !important;
  background: #c2c2c2 !important;
}
.sale .app-link.link-soon::before {
  content: none !important;
}

.sns {
  background: #efc881 url(../img/bg.png) no-repeat center/cover;
  color: #fff;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .sns {
    padding: 50px 10% 70px;
  }
}
@media only screen and (min-width: 768px) {
  .sns {
    padding: 90px 0;
  }
}
.sns::before {
  content: "";
  background: url(../img/noise.png) repeat top left;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.sns::after {
  content: "";
  background: linear-gradient(#d6ded2, transparent);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.sns__content {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sns__item {
  background-color: #c8001a;
  border: 1px solid #000;
  color: #fff;
  text-align: left;
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  .sns__item {
    width: 100%;
    height: 85px;
    padding: 0 30px;
  }
}
@media only screen and (min-width: 768px) {
  .sns__item {
    width: 550px;
    height: 120px;
    padding: 0 80px;
  }
}
.sns__item:hover {
  filter: brightness(1.2);
}
.sns__icon {
  width: 65px;
}
.sns__icon::before {
  content: "\f16d";
  display: block;
  font-family: "Font Awesome 5 Brands";
  font-weight: 900;
  color: #fff;
  margin-right: 5px;
  font-size: 3rem;
}
.sns__link {
  width: calc(100% - 65px);
}
.sns__ttl {
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .sns__ttl {
    margin: 0 0 3px;
  }
}
@media only screen and (min-width: 768px) {
  .sns__ttl {
    margin: 0 0 5px;
  }
}
.sns a {
  color: #fff;
}
.sns a::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.form {
  background-color: #eef1f6;
}
@media only screen and (max-width: 767px) {
  .form {
    padding: 40px 15px;
  }
}
@media only screen and (min-width: 768px) {
  .form {
    padding: 70px 0;
  }
}
.form__block {
  background: #fff;
  border-radius: 15px;
}
@media only screen and (max-width: 767px) {
  .form__block {
    margin: 0 0 25px;
    padding: 35px 25px;
  }
}
@media only screen and (min-width: 768px) {
  .form__block {
    max-width: 850px;
    width: calc(100% - 40px);
    margin: 0 auto 30px;
    padding: 65px;
  }
}
.form__block:last-child {
  margin: 0 auto;
}
.form h2 {
  border-bottom: 2px solid #333;
  letter-spacing: 0.05rem;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .form h2 {
    margin: 0 0 25px;
    padding: 0 0 15px;
    font-size: 1.35rem;
  }
}
@media only screen and (min-width: 768px) {
  .form h2 {
    margin: 0 0 40px;
    padding: 0 0 20px;
    font-size: 1.6rem;
  }
}
.form .local-head__info {
  display: flex;
  align-items: center;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .form .local-head__info {
    margin: 0 0 15px;
  }
}
@media only screen and (min-width: 768px) {
  .form .local-head__info {
    margin: 0 0 20px;
  }
}
.form .local-head__info_tag {
  background: #ff2727;
  color: #fff;
  border-radius: 50px;
  margin: 0 15px 0 0;
  padding: 6px 20px 5px;
  font-size: 0.8rem;
}
.form .local-head__info_date {
  color: #bebebf;
  letter-spacing: 0.1rem;
}
.form .local-head h1 {
  letter-spacing: 0.05rem;
  font-feature-settings: "palt";
  border-bottom: 2px solid #333;
}
@media only screen and (max-width: 767px) {
  .form .local-head h1 {
    margin: 0 0 20px;
    padding: 0 0 20px;
    font-size: 1.7rem;
    line-height: 2.1rem;
  }
}
@media only screen and (min-width: 768px) {
  .form .local-head h1 {
    font-size: 2.2rem;
    line-height: 1;
    margin: 0;
    padding: 0 0 30px;
  }
}
.form .local-head h1 span {
  display: block;
}
@media only screen and (max-width: 767px) {
  .form .local-head h1 span {
    font-size: 1.3rem;
    margin: 5px 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .form .local-head h1 span {
    margin: 15px 0 0;
  }
}
.form .local-head__note {
  margin: 0;
  border: 1px solid #333;
}
@media only screen and (max-width: 767px) {
  .form .local-head__note {
    padding: 10px 15px;
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .form .local-head__note {
    display: inline-block;
    margin: 30px 0 0;
    padding: 5px 15px;
    font-size: 1.1rem;
  }
}
.form .local-head__note span {
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .form .local-head__note span {
    display: block;
  }
}

.application {
  min-height: calc(100vh - 300px);
}
.application__note ul {
  margin: 0 0 0 15px;
  padding: 0;
}
@media only screen and (max-width: 767px) {
  .application__note ul li {
    margin: 0 0 5px;
    line-height: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .application__note ul li {
    margin: 0 0 8px;
    line-height: 1.7rem;
  }
}
.application__note ul li:last-child {
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .application__form {
    margin: 40px 0 0;
  }
}
.application__form h4 {
  text-align: center;
  margin: 0 0 35px;
  display: inline-block;
  border: 1px solid #333;
  padding: 5px 20px;
}
@media only screen and (max-width: 767px) {
  .application__form h4 {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .application__form h4 {
    font-size: 1.4rem;
  }
}
.application__form table {
  width: 100%;
}
.application__form table tr {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 767px) {
  .application__form table tr {
    border-bottom: 1px solid #dbddda;
    padding: 27px 0;
  }
  .application__form table tr:first-child {
    padding: 0 0 27px;
  }
  .application__form table tr:last-child {
    border-bottom: none;
    padding: 27px 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .application__form table tr {
    margin: 0 0 30px;
  }
  .application__form table tr:last-child {
    margin: 0;
  }
}
.application__form table th {
  display: flex;
  align-items: center;
  font-size: 0.95rem;
}
@media only screen and (max-width: 767px) {
  .application__form table th {
    margin: 0 0 15px;
  }
}
@media only screen and (min-width: 768px) {
  .application__form table th {
    margin: 0 0 13px;
  }
}
.application__form table th .required {
  background: #ff3a45;
  color: #fff;
  text-align: center;
  line-height: 1;
  border-radius: 5px;
}
@media only screen and (max-width: 767px) {
  .application__form table th .required {
    font-size: 0.65rem;
    margin: 0 10px 0 0;
    padding: 3px 5px 2px;
  }
}
@media only screen and (min-width: 768px) {
  .application__form table th .required {
    font-size: 0.7rem;
    padding: 3px 5px;
    margin: 0 10px 0 0;
  }
}
.application__form input[type=text] {
  background: #f6f6f6;
  border: 1px solid #e7e7e7;
  width: 100%;
  font-size: 1rem;
  border-radius: 5px;
}
@media only screen and (max-width: 767px) {
  .application__form input[type=text] {
    padding: 18px;
  }
}
@media only screen and (min-width: 768px) {
  .application__form input[type=text] {
    padding: 18px;
  }
}
.application__form input[type=text]::placeholder {
  color: #a8a8a8;
}
.application__form input[type=text]:focus {
  outline: 0;
}
.application__submit {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .application__submit {
    margin: 35px 0 0;
    flex-direction: column;
  }
}
@media only screen and (min-width: 768px) {
  .application__submit {
    margin: 40px 0 0;
  }
}
.application__submit input[type=submit] {
  background: #e4e4e4;
  color: #363030;
  border: none;
  font-weight: 600;
  letter-spacing: 0.03rem;
  display: block;
  border-radius: 50px;
  margin: 0 10px;
  transition: 0.3s;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .application__submit input[type=submit] {
    width: 100%;
    height: 58px;
    margin: 0 auto;
    font-size: 0.9rem;
  }
}
@media only screen and (min-width: 768px) {
  .application__submit input[type=submit] {
    width: 300px;
    height: 57px;
    font-size: 1rem;
  }
}
.application__submit input[type=submit]:hover {
  opacity: 0.8;
}
.application__submit input[type=submit]:first-child {
  background: #096be1;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .application__submit input[type=submit]:first-child {
    margin: 0 auto 15px;
  }
}
.application .msg {
  text-align: center;
  border: 2px solid #111;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .application .msg {
    padding: 20px 0;
  }
}
@media only screen and (min-width: 768px) {
  .application .msg {
    width: 60%;
    padding: 20px 0;
  }
}

@media only screen and (max-width: 767px) {
  .complete__content p {
    line-height: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .complete__content p {
    line-height: 1.7rem;
    margin: 0 0 15px;
  }
}
.complete__btn {
  background: #333;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.03rem;
  display: block;
  border-radius: 50px;
  margin: 40px auto 0;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  .complete__btn {
    width: 100%;
    height: 58px;
    font-size: 0.9rem;
  }
}
@media only screen and (min-width: 768px) {
  .complete__btn {
    width: 300px;
    height: 57px;
    font-size: 1rem;
  }
}
.complete__btn:hover {
  opacity: 0.8;
}
.complete__btn a {
  color: #fff;
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .sponly {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */