@charset "UTF-8";
/* RESET */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  transition: all 0.4s ease-out;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

ul {
  list-style-type: none;
}

ol {
  list-style-type: decimal;
}

.forPC {
  display: block;
}

.forSP {
  display: none;
}

@media screen and (max-width: 768px) {
  .forPC {
    display: none;
  }

  .forSP {
    display: block;
  }
}
img {
  width: 100%;
}

html {
  font-size: 1vw;
  overflow-x: hidden;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media screen and (min-width: 1000px) {
  html {
    font-size: 10px;
  }
}
html {
  overflow-x: hidden;
  overflow-y: auto;
}

body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #523B43;
}
@media (max-width: 768px) {
  body {
    width: 100%;
    overflow-x: hidden;
  }
}

header {
  width: 100%;
  height: 70px;
  position: relative;
  overflow: visible;
  position: relative;
  z-index: 2;
  background: #fff;
}
@media (max-width: 768px) {
  header {
    height: 12rem;
  }
}
header .inner {
  width: 100rem;
  height: 100%;
  margin: auto;
  padding: 0 28px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  header .inner {
    width: 100%;
    padding: 0 0;
    display: block;
    position: relative;
  }
}
header .inner h1.logo {
  width: 156px;
  margin: 15px 0 0 0;
}
@media (max-width: 768px) {
  header .inner h1.logo {
    width: 30.4rem;
    position: absolute;
    top: 2rem;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
  }
}
header .inner .logo_lotte {
  width: 56px;
  margin: 9px 0 0 0;
}
@media (max-width: 768px) {
  header .inner .logo_lotte {
    width: 12.7rem;
    position: absolute;
    top: 3.71rem;
    left: 1.9rem;
    margin: auto;
  }
}

.mv {
  width: 100%;
  height: 46vw;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .mv {
    height: 130rem;
  }
}

section.enjoy {
  width: 100%;
  background: url("../images/bg_dot.png") center top 2rem #A9CD36;
  background-size: 100rem;
  padding-bottom: 5rem;
}
@media (max-width: 768px) {
  section.enjoy {
    background-size: 160rem;
    padding-bottom: 8rem;
  }
}
section.enjoy p.attention {
  margin: 1.9rem auto auto;
  font-size: 1rem;
  color: #523B43;
  transform: rotate(0.04deg);
  text-align: center;
}
@media (max-width: 768px) {
  section.enjoy p.attention {
    font-size: 1.5rem;
    margin: 2.9rem auto auto;
  }
}
section.enjoy .contHead {
  height: 25.2rem;
  padding-top: 3rem;
  margin: auto auto 3.5rem;
  position: relative;
}
@media (max-width: 768px) {
  section.enjoy .contHead {
    width: 100%;
    height: 67.6rem;
    overflow-x: hidden;
  }
}
section.enjoy .contHead::after {
  content: '';
  width: 4012px;
  height: 4012px;
  background: #FFF8B0;
  border-radius: 50%;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  section.enjoy .contHead::after {
    width: 480rem;
    height: 480rem;
    bottom: 2rem;
  }
}
section.enjoy .contHead p {
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 3.6rem;
  transform: rotate(0.04deg);
  color: #009E41;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  section.enjoy .contHead p {
    font-size: 3rem;
    line-height: 5.8rem;
  }
}
section.enjoy .contHead p span.marker {
  border-bottom: 0.4rem solid #FFDE00;
}
section.enjoy h2.h2_enjoy {
  width: 43rem;
  margin: auto;
  transform: translateX(1.8rem);
  position: relative;
}
@media (max-width: 768px) {
  section.enjoy h2.h2_enjoy {
    width: 64.5rem;
    transform: none;
  }
}
section.enjoy h2.h2_enjoy::after {
  content: '';
  width: 14.5rem;
  height: 10.25rem;
  background: url("../images/deco01.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: -1.2rem;
  right: -15.8rem;
}
@media (max-width: 768px) {
  section.enjoy h2.h2_enjoy::after {
    top: 38rem;
    right: -3rem;
    width: 20rem;
    height: 15rem;
    background-size: 20rem;
  }
}
section.enjoy figure.enjoy001 {
  width: 51.7rem;
  margin: -1rem auto auto;
}
@media (max-width: 768px) {
  section.enjoy figure.enjoy001 {
    width: 69.2rem;
  }
}
section.enjoy ul.enjoyLR {
  width: 100%;
  margin: 1.2rem auto auto;
  display: flex;
  justify-content: center;
  gap: 1.8rem;
}
@media (max-width: 768px) {
  section.enjoy ul.enjoyLR {
    width: 69rem;
    flex-direction: column;
    row-gap: 3.3rem;
  }
}
section.enjoy ul.enjoyLR li {
  width: 42.5rem;
  height: 52rem;
  position: relative;
  padding-top: 6.2rem;
}
@media (max-width: 768px) {
  section.enjoy ul.enjoyLR li {
    width: 100%;
    height: 100rem;
    padding-top: 11.9rem;
  }
}
section.enjoy ul.enjoyLR li:nth-of-type(1)::before {
  content: '';
  width: 100%;
  height: 100%;
  background: url(../images/enjoy_cafe.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
@media (max-width: 768px) {
  section.enjoy ul.enjoyLR li:nth-of-type(1)::before {
    height: 100rem;
    flex-direction: column;
    background: url(../images/enjoy_cafe_sp.png) no-repeat;
    background-size: cover;
  }
}
section.enjoy ul.enjoyLR li:nth-of-type(1) img.deco02 {
  width: 17.3rem;
  height: auto;
  position: absolute;
  top: -14rem;
  left: -0.9rem;
  z-index: 1;
}
@media (max-width: 768px) {
  section.enjoy ul.enjoyLR li:nth-of-type(1) img.deco02 {
    width: 18.5rem;
    height: auto;
    top: -15.3rem;
    left: 1rem;
  }
}
section.enjoy ul.enjoyLR li:nth-of-type(2)::before {
  content: '';
  width: 100%;
  height: 100%;
  background: url(../images/enjoy_goods.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
@media (max-width: 768px) {
  section.enjoy ul.enjoyLR li:nth-of-type(2)::before {
    height: 100rem;
    flex-direction: column;
    background: url(../images/enjoy_goods_sp.png) no-repeat;
    background-size: cover;
  }
}
section.enjoy ul.enjoyLR li:nth-of-type(2) img.deco03 {
  width: 12.4rem;
  height: auto;
  position: absolute;
  top: 4.2rem;
  right: -3.5rem;
  z-index: 3;
}
@media (max-width: 768px) {
  section.enjoy ul.enjoyLR li:nth-of-type(2) img.deco03 {
    top: 70rem;
    right: -2.2rem;
    width: 20rem;
  }
}
section.enjoy ul.enjoyLR li h3 {
  font-size: 1.8rem;
  font-weight: 800;
  color: #523B43;
  transform: rotate(0.04deg);
  margin-bottom: 35.5rem;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  section.enjoy ul.enjoyLR li h3 {
    font-size: 3.3rem;
    margin-bottom: 65rem;
  }
}
section.enjoy ul.enjoyLR li h3 span {
  font-size: 1.6rem;
}
@media (max-width: 768px) {
  section.enjoy ul.enjoyLR li h3 span {
    font-size: 2.8rem;
  }
}
section.enjoy ul.enjoyLR li p {
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 2.6rem;
  color: #523B43;
  transform: rotate(0.04deg);
  text-align: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  section.enjoy ul.enjoyLR li p {
    font-size: 3.2rem;
    line-height: 5rem;
  }
}

section.play {
  width: 100%;
  position: relative;
  background: linear-gradient(to bottom, #6AB9EB, #B4DCF5);
  padding-bottom: 24vw;
}
@media (max-width: 768px) {
  section.play {
    padding-bottom: 26rem;
  }
}
section.play::before {
  content: '';
  width: 100%;
  height: 1.5rem;
  background: url("../images/bg_play00.png") repeat-x center bottom;
  background-size: 15.6rem;
  position: absolute;
  top: -1.4rem;
  left: 0;
}
@media (max-width: 768px) {
  section.play::before {
    height: 3rem;
    background: url(../images/bg_play00.png) repeat-x center bottom;
    background-size: 22rem;
    top: -3rem;
  }
}
section.play::after {
  content: '';
  width: 100%;
  height: 240vw;
  background: url("../images/bottom.png") repeat-x center bottom;
  background-size: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
@media (max-width: 768px) {
  section.play::after {
    background: url("../images/bottom_sp.png") repeat-x center bottom;
    background-size: 100%;
    height: 24rem;
  }
}
section.play > .inner {
  width: 91.6rem;
  margin: auto;
  padding-top: 5rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  section.play > .inner {
    width: 65.4rem;
  }
}
section.play > .inner h2.h2_play {
  width: 89.1rem;
  margin: auto 0 auto auto;
}
@media (max-width: 768px) {
  section.play > .inner h2.h2_play {
    width: 64.5rem;
    margin: auto;
    position: relative;
  }
}
@media (max-width: 768px) {
  section.play > .inner h2.h2_play::after {
    content: '';
    width: 76rem;
    height: 20.3rem;
    background: url("../images/kumo01sp.png") no-repeat;
    background-size: cover;
    position: absolute;
    top: -2.7rem;
    left: -6rem;
  }
}
section.play > .inner .box01 {
  width: 100%;
  height: 47rem;
  border-radius: 22.5rem;
  background: linear-gradient(to bottom, #FFFEEF 20%, #FFF7B6 80%);
  margin: 2.5rem auto 3.5rem;
  padding-top: 3.3rem;
}
@media (max-width: 768px) {
  section.play > .inner .box01 {
    width: 100%;
    height: 130rem;
    border-radius: 32.25rem;
    padding-top: 8.6rem;
  }
}
section.play > .inner .box01 h3.h3_play01 {
  width: 20.369rem;
  margin: auto auto 0.2rem;
}
@media (max-width: 768px) {
  section.play > .inner .box01 h3.h3_play01 {
    width: 30.55rem;
    margin: auto auto 2.5rem;
  }
}
section.play > .inner .box01 p.lead {
  font-size: 1.8rem;
  font-weight: 800;
  transform: rotate(0.04deg);
  color: #523B43;
  text-align: center;
  margin-bottom: 2.5rem;
}
@media (max-width: 768px) {
  section.play > .inner .box01 p.lead {
    font-size: 2.8rem;
    line-height: 4.2rem;
  }
}
section.play > .inner .flexBox {
  width: 80.8rem;
  margin: auto auto auto 7.4rem;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  section.play > .inner .flexBox {
    width: 57rem;
    flex-direction: column;
    margin: auto;
  }
}
section.play > .inner .flexBox .txts {
  width: 48rem;
  display: flex;
  flex-direction: column;
  row-gap: 1.2rem;
}
@media (max-width: 768px) {
  section.play > .inner .flexBox .txts {
    width: 100%;
    row-gap: 2.4rem;
  }
}
section.play > .inner .flexBox .txts dl {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
section.play > .inner .flexBox .txts dl dt {
  width: 7rem;
}
@media (max-width: 768px) {
  section.play > .inner .flexBox .txts dl dt {
    width: 10.5rem;
  }
}
section.play > .inner .flexBox .txts dl dd {
  width: 38.7rem;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.46;
  letter-spacing: -0.1rem;
  transform: rotate(0.04deg);
  color: #523B43;
  margin-top: -0.4rem;
}
@media (max-width: 768px) {
  section.play > .inner .flexBox .txts dl dd {
    width: 44.7rem;
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
}
section.play > .inner .flexBox .txts dl dd span {
  font-size: 1.3rem;
}
@media (max-width: 768px) {
  section.play > .inner .flexBox .txts dl dd span {
    font-size: 1.95rem;
  }
}
section.play > .inner .flexBox figure {
  width: 30.292rem;
}
@media (max-width: 768px) {
  section.play > .inner .flexBox figure {
    width: 54.959rem;
  }
}
section.play > .inner .box02 {
  width: 87.6rem;
  margin: auto auto 5.9rem;
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media (max-width: 768px) {
  section.play > .inner .box02 {
    width: 100%;
    flex-direction: column;
    row-gap: 2.5rem;
  }
}
section.play > .inner .box02::after {
  content: '';
  width: 95rem;
  height: 46rem;
  background: url("../images/kumo.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: -3.7rem;
  left: -2rem;
}
@media (max-width: 768px) {
  section.play > .inner .box02::after {
    width: 8.7rem;
    height: 8.9rem;
    background: url("../images/kumo00_sp.png") no-repeat;
    background-size: cover;
    top: 59rem;
    left: -2rem;
  }
}
section.play > .inner .box02 .child {
  width: 43rem;
  height: 43rem;
  border-radius: 50%;
  background: linear-gradient(to bottom, #FFFEEF 20%, #FFF7B6 80%);
  padding-top: 4.3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child {
    width: 64.5rem;
    height: 64.5rem;
    padding-top: 6.5rem;
  }
}
section.play > .inner .box02 .child h3.h3_child01 {
  width: 20.315rem;
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child h3.h3_child01 {
    width: 30.457rem;
  }
}
section.play > .inner .box02 .child h3.h3_child02 {
  width: 20.305rem;
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child h3.h3_child02 {
    width: 30.457rem;
  }
}
section.play > .inner .box02 .child p.lead {
  margin-top: 1.2rem;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 2.6rem;
  transform: rotate(0.04deg);
  color: #523B43;
  text-align: center;
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child p.lead {
    font-size: 2.4rem;
    line-height: 4.2rem;
    margin-top: 1.1rem;
  }
}
section.play > .inner .box02 .child dl {
  width: 27rem;
  margin: 1rem auto auto;
  margin-block-end: 0;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child dl {
    width: auto;
    justify-content: center;
    gap: 1.7rem;
  }
}
section.play > .inner .box02 .child dl dt {
  width: 7rem;
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child dl dt {
    width: 10.5rem;
  }
}
section.play > .inner .box02 .child dl dd {
  width: 19rem;
  font-size: 1.5rem;
  color: #523B43;
  transform: rotate(0.04deg);
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child dl dd {
    width: auto;
    font-size: 2.25rem;
  }
}
section.play > .inner .box02 .child dl dd span {
  font-size: 1.3rem;
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child dl dd span {
    font-size: 2rem;
  }
}
section.play > .inner .box02 .child dl dd p.attention {
  font-size: 1rem;
  margin-top: 0.2rem;
  transform: rotate(0.04deg);
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child dl dd p.attention {
    font-size: 2rem;
  }
}
section.play > .inner .box02 .child figure.img_child {
  width: 19rem;
}
section.play > .inner .box02 .child figure.img_child.img_child01 {
  margin-top: 0.5rem;
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child figure.img_child.img_child01 {
    width: 29rem;
  }
}
section.play > .inner .box02 .child figure.img_child.img_child02 {
  width: 21rem;
  margin-top: 1.5rem;
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child figure.img_child.img_child02 {
    width: 31.5rem;
    margin-top: 3rem;
  }
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child.child01 {
    position: relative;
  }
}
section.play > .inner .box02 .child.child01::after {
  content: '';
  width: 11.3rem;
  height: 5.2rem;
  background: url("../images/kumo02sp.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: -2.6rem;
  right: 0;
}
@media (max-width: 768px) {
  section.play > .inner .box02 .child.child02 {
    position: relative;
  }
}
section.play > .inner .box02 .child.child02::after {
  content: '';
  width: 67.7rem;
  height: 8.5rem;
  background: url("../images/kumo03sp.png") no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: -1.8rem;
  left: -0.9rem;
}
section.play > .inner .qaBox {
  width: 66.4rem;
  margin: auto;
  background: #fff;
  border: 3px solid #77BC22;
  border-radius: 10rem;
  padding-top: 3.3rem;
  padding-bottom: 2.8rem;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox {
    width: 100%;
    padding-top: 5.8rem;
    padding-bottom: 4rem;
    border-radius: 15rem;
  }
}
@media (max-width: 768px) {
  section.play > .inner .qaBox.coming {
    border-radius: 10.3rem;
  }
}
section.play > .inner .qaBox h2 {
  width: 14.767rem;
  margin: auto;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox h2 {
    width: 22.2rem;
  }
}
section.play > .inner .qaBox .inner {
  width: 53rem;
  margin: auto;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox .inner {
    margin-top: 1rem;
  }
}
section.play > .inner .qaBox .inner p.about {
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  padding-top: 2rem;
  transform: rotate(0.04deg);
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox .inner p.about {
    font-size: 3rem;
    padding-top: 3rem;
  }
}
section.play > .inner .qaBox .inner p.about.first {
  margin-bottom: 0;
}
section.play > .inner .qaBox .inner p.btnMore {
  width: 10.018rem;
  margin: 2rem auto auto;
  cursor: pointer;
  transition: all 0.4s ease;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox .inner p.btnMore {
    width: 16rem;
  }
}
section.play > .inner .qaBox .inner p.btnMore.open {
  display: none;
}
section.play > .inner .qaBox .inner p.btnClose {
  width: 6.318rem;
  margin: 2rem auto auto;
  cursor: pointer;
  display: none;
  transition: all 0.4s ease;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox .inner p.btnClose {
    width: 9.6rem;
  }
}
section.play > .inner .qaBox .inner p.btnClose.open {
  display: block;
}
section.play > .inner .qaBox .inner dl {
  width: 100%;
  padding: 2rem 0 1.5rem;
  background: url("../images/dot_line.png") no-repeat center top;
  background-size: 100%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox .inner dl {
    padding: 2.5rem 0 2rem;
  }
}
section.play > .inner .qaBox .inner dl:first-of-type {
  background: none;
}
section.play > .inner .qaBox .inner dl.moreTop {
  background: url("../images/dot_line.png") no-repeat center top;
  background-size: 100%;
}
section.play > .inner .qaBox .inner dl dt {
  width: 100%;
  box-sizing: border-box;
  padding: 0 3.6rem 0 6rem;
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 2.8rem;
  transform: rotate(0.04deg);
  color: #523B43;
  background: url("../images/q.png") no-repeat top 0.5rem left;
  background-size: 4.3rem;
  position: relative;
  min-height: 5.6rem;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox .inner dl dt {
    font-size: 2.7rem;
    line-height: 4.2rem;
    background: url("../images/q.png") no-repeat top 0.5rem left;
    background-size: 6.45rem;
    padding: 0 7rem 0 9rem;
    min-height: 8.8rem;
  }
}
section.play > .inner .qaBox .inner dl dt::after {
  content: '';
  width: 2.4rem;
  height: 2.4rem;
  background: url("../images/ico_plus.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  section.play > .inner .qaBox .inner dl dt::after {
    width: 3.6rem;
    height: 3.6rem;
  }
}
section.play > .inner .qaBox .inner dl dt.open::after {
  background: url("../images/ico_minus.png") no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox .inner dl dt.open::after {
    width: 3.6rem;
    height: 3.6rem;
  }
}
section.play > .inner .qaBox .inner dl dd {
  width: 100%;
  box-sizing: border-box;
  padding: 0 3.6rem 0 6rem;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.8rem;
  transform: rotate(0.04deg);
  color: #523B43;
  background: url("../images/a.png") no-repeat top 0.5rem left;
  background-size: 4.3rem;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox .inner dl dd {
    font-size: 2.7rem;
    line-height: 4.2rem;
    background: url("../images/a.png") no-repeat top 0.5rem left;
    background-size: 6.45rem;
    padding: 0 1rem 0 10rem;
  }
}
section.play > .inner .qaBox .inner dl dd.open {
  min-height: 5.6rem;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox .inner dl dd.open {
    min-height: 8.8rem;
  }
}
section.play > .inner .qaBox figure.coming {
  width: 54.7rem;
  margin: 2rem auto;
}
@media (max-width: 768px) {
  section.play > .inner .qaBox figure.coming {
    width: 53rem;
  }
}
section.play figure.zehi {
  width: 52.282rem;
  margin: 4rem auto auto;
}
@media (max-width: 768px) {
  section.play figure.zehi {
    width: 53.373rem;
    margin: 5rem auto auto;
  }
}

.moreCont {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease;
}

.moreCont.open {
  max-height: 10000px;
  /* 十分大きい値 */
}

.qanda dd {
  overflow: hidden;
  max-height: 0;
  transition: all 0.4s ease;
}

.qanda dd.open {
  margin-top: 1.5rem;
}

.qanda dt {
  cursor: pointer;
}

.qanda dt.open + dd,
.qanda dd.open {
  max-height: 1000px;
}

footer {
  width: 100%;
  background: #A9CD36;
  padding: 10vw 0 3.4rem;
  position: relative;
  margin-top: -4vw;
}
@media (max-width: 768px) {
  footer {
    padding: 10rem 0 3.4rem;
  }
}
footer p.rights {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  transform: rotate(0.04deg);
  text-align: center;
}
footer ul.sns {
  margin: auto;
  display: flex;
  justify-content: center;
  gap: 2rem;
}
@media (max-width: 768px) {
  footer ul.sns {
    gap: 2.8rem;
  }
}
footer ul.sns li {
  width: 6.2rem;
}
@media (max-width: 768px) {
  footer ul.sns li {
    width: 9.3rem;
  }
}
footer ul.footLink {
  margin: 3.5rem auto 2rem;
  display: flex;
  justify-content: center;
  gap: 1rem;
}
@media (max-width: 768px) {
  footer ul.footLink {
    flex-wrap: wrap;
    gap: 1.3rem;
    row-gap: 0.5rem;
    margin: 5rem auto 2.8rem;
  }
}
footer ul.footLink li a {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  transform: rotate(0.04deg);
  text-decoration: none;
}
@media (max-width: 768px) {
  footer ul.footLink li a {
    font-size: 1.5rem;
  }
}

p.back-top {
  width: 15rem;
  height: 3.4rem;
  background: url("../images/to_top.png") no-repeat;
  background-size: cover;
  position: fixed;
  bottom: 1.8rem;
  right: 1.8rem;
  transition: all 0.4s ease;
  z-index: 4;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  pointer-events: none;
}
@media (max-width: 768px) {
  p.back-top {
    width: 13rem;
    height: 14rem;
    background: url("../images/to_top_sp.png") no-repeat;
    background-size: 13rem;
    bottom: 2.5rem;
    right: 2.5rem;
  }
}
p.back-top.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
p.back-top.bottomEnd {
  bottom: 17.2rem;
}
@media (max-width: 768px) {
  p.back-top.bottomEnd {
    bottom: 20.2rem;
  }
}
p.back-top a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

@media screen and (max-width: 768px) {
  .menuBtn {
    position: absolute;
    top: 0;
    right: 0;
    width: 12rem;
    height: 12rem;
    background: #00498e;
  }

  #menu-open {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
  }
  #menu-open span {
    position: absolute;
    width: 5.2rem;
    height: 0.4rem;
    background: #fff;
    transition: all 0.4s ease;
  }
  #menu-open span:nth-of-type(1) {
    top: 3.9rem;
    left: 3.3rem;
  }
  #menu-open span:nth-of-type(2) {
    top: 5.7rem;
    left: 3.3rem;
  }
  #menu-open span:nth-of-type(3) {
    top: 7.5rem;
    left: 3.3rem;
  }
  #menu-open.open span:nth-of-type(1) {
    top: 5.4rem;
    left: 3.4rem;
    transform: rotate(45deg);
  }
  #menu-open.open span:nth-of-type(2) {
    top: 5.7rem;
    left: 3.3rem;
    transform: translateX(100vw);
  }
  #menu-open.open span:nth-of-type(3) {
    top: 5.4rem;
    left: 3.4rem;
    transform: rotate(-45deg);
  }

  #menu-panel {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 12rem;
    background: linear-gradient(90deg, #2a87d2 1%, #53d7c7 100%);
    width: 100%;
  }

  #menu-panel.open {
    opacity: 1;
    visibility: visible;
    z-index: 10;
  }

  header .inner nav ul.menu {
    width: 100%;
    height: auto;
    display: block;
  }
  header .inner nav ul.menu > li {
    width: 100%;
    height: auto;
    border-bottom: 0.1rem solid rgba(255, 255, 255, 0.2);
  }
  header .inner nav ul.menu > li:last-of-type {
    border-bottom: none;
  }
  header .inner nav ul.menu > li > a {
    font-size: 3rem;
    font-weight: 700;
    color: #fff;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 4.4rem 7.3rem;
  }
  header .inner nav ul.menu > li > a::after {
    content: "";
    position: absolute;
    right: 7rem;
    top: 50%;
    width: 1.6rem;
    height: 1.6rem;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg) translateX(-50%) translateY(0);
    border-color: #fff;
  }
  header .inner nav ul.menu > li:has(div) > a {
    background: url("../images/ico_plus.png") no-repeat center right 7rem;
    background-size: 2.6rem;
  }
  header .inner nav ul.menu > li:has(div) > a::after {
    display: none;
  }
  header .inner nav ul.menu > li.open:has(div) > a {
    background: url("../images/ico_minus.png") no-repeat center right 7rem;
    background-size: 2.6rem;
  }

  header .inner nav ul > li .subMenu {
    display: block;
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: all 1s ease;
    position: relative;
    background: linear-gradient(90deg, #0171BF 1%, #32C8B6 100%);
  }
  header .inner nav ul > li .subMenu ul {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    height: auto;
  }
  header .inner nav ul > li .subMenu ul li {
    width: 100%;
    border-bottom: 0.1rem solid rgba(255, 255, 255, 0.2);
  }
  header .inner nav ul > li .subMenu ul li:last-of-type {
    border-bottom: none;
  }
  header .inner nav ul > li .subMenu ul li a {
    font-size: 3rem;
    font-weight: 400;
    color: #fff;
    padding: 4.4rem 7.3rem 4.4rem 13.2rem;
  }
  header .inner nav ul > li .subMenu ul li a::after {
    content: "";
    position: absolute;
    right: 7rem;
    top: 50%;
    width: 1.6rem;
    height: 1.6rem;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg) translateX(-50%) translateY(0);
    border-color: #fff;
  }

  header .inner nav ul > li .subMenu.open {
    opacity: 1;
    height: auto;
  }
}
.breadcrumb {
  width: 110rem;
  margin: 0.9rem auto auto;
}
@media (max-width: 768px) {
  .breadcrumb {
    display: none;
  }
}
.breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  gap: 0.6rem;
}
.breadcrumb ul li {
  font-size: 1.2rem;
  color: #808080;
  line-height: 1;
}
.breadcrumb ul li a {
  font-size: 1.2rem;
  color: #808080;
  padding-right: 2rem;
  position: relative;
  text-decoration: none;
}
.breadcrumb ul li a::after {
  content: "＞";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.kv {
  width: 100%;
  padding: 12rem 0 14rem;
  font-family: "Noto Serif JP", serif;
  font-size: 5.4rem;
  font-weight: 500;
  text-align: center;
  position: relative;
}
@media (max-width: 768px) {
  .kv {
    padding: 10.8rem 0 11.5rem;
  }
}
.kv h1 {
  font-family: "Noto Serif JP", serif;
  font-size: 5.4rem;
  font-weight: 500;
  text-align: center;
  position: relative;
  display: inline-block;
  line-height: 1;
  letter-spacing: 1rem;
}
.kv h1.newsPage::after {
  content: '';
  width: 16.1513rem;
  height: 7.9896rem;
  background: url("../images/news_after.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: 94%;
  left: 5rem;
  z-index: -1;
}
.kv h1.contactPage::after {
  content: '';
  width: 21.0476rem;
  height: 10.4276rem;
  background: url("../images/contact_after.png") no-repeat;
  background-size: cover;
  position: absolute;
  top: 69%;
  left: 14.3rem;
  z-index: -1;
}

article.content {
  width: 110rem;
  margin: 7rem auto auto;
  padding-bottom: 19rem;
}
@media (max-width: 768px) {
  article.content {
    width: 66rem;
    margin: 10.4rem auto auto;
  }
}
article.content p.postDate {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 4.6rem;
}
@media (max-width: 768px) {
  article.content p.postDate {
    font-size: 2.8rem;
    margin-bottom: 9.4rem;
  }
}
article.content h1 {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.2;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid rgba(0, 73, 142, 0.4);
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  article.content h1 {
    font-size: 4rem;
    line-height: 6.4rem;
    padding-bottom: 2.4rem;
    border-bottom: 0.2rem solid rgba(0, 73, 142, 0.4);
    margin-bottom: 3rem;
  }
}
article.content > ul.links {
  margin: 10rem auto auto;
  justify-content: center;
}
@media (max-width: 768px) {
  article.content > ul.links li {
    width: 40rem;
  }
}
article.content section + section {
  margin-top: 7rem;
}
article.content section p {
  font-size: 1.88rem;
  line-height: 1.8;
  color: #333333;
  text-align: justify;
}
@media (max-width: 768px) {
  article.content section p {
    font-size: 2.8rem;
    line-height: 4.8rem;
  }
}
article.content section p a {
  color: #00498e;
  text-decoration: underline;
}
article.content section p strong {
  font-weight: 700;
}
article.content section figure {
  width: 100%;
}
article.content section figure:has(~ p) {
  margin-top: 6.6rem;
}
@media (max-width: 768px) {
  article.content section figure:has(~ p) {
    margin-top: 9.4rem;
  }
}
article.content section figure + h2 {
  margin-top: 3rem;
}
article.content section h2 {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.7;
  margin-bottom: 1.8rem;
}
@media (max-width: 768px) {
  article.content section h2 {
    font-size: 3.2rem;
    line-height: 5.2rem;
  }
}
article.content section ul {
  list-style-type: none;
  margin-top: 4rem;
  font-size: 1.8rem;
  line-height: 1.88;
  color: #333333;
}
@media (max-width: 768px) {
  article.content section ul {
    margin-top: 6rem;
    font-size: 2.8rem;
    line-height: 4.8rem;
  }
}
article.content section ul li {
  position: relative;
  padding-left: 2.3rem;
}
@media (max-width: 768px) {
  article.content section ul li {
    padding-left: 3.2rem;
  }
}
article.content section ul li::before {
  content: '';
  width: 1.62rem;
  height: 1.62rem;
  border-radius: 50%;
  background: #00498e;
  position: absolute;
  top: 0.9rem;
  left: 0;
}
@media (max-width: 768px) {
  article.content section ul li::before {
    width: 2.47rem;
    height: 2.47rem;
    top: 1.3rem;
  }
}
article.content section ol {
  list-style: none;
  counter-reset: my-count;
  padding-left: 1em;
  margin-top: 4rem;
  font-size: 1.8rem;
  line-height: 1.88;
  color: #333333;
}
@media (max-width: 768px) {
  article.content section ol {
    margin-top: 6rem;
    font-size: 2.8rem;
    line-height: 4.8rem;
  }
}
article.content section ol li {
  position: relative;
  counter-increment: my-count;
}
article.content section ol li::before {
  content: counter(my-count);
  color: #00498e;
  font-weight: bold;
  position: absolute;
  left: -1em;
}
article.content section ul.attention {
  list-style-type: none;
  margin-top: 1.6rem;
  font-size: 1.4rem;
  line-height: 2;
  color: #333333;
}
@media (max-width: 768px) {
  article.content section ul.attention {
    font-size: 2.2rem;
    line-height: 3.6rem;
    margin-top: 3rem;
  }
}
article.content section ul.attention li {
  position: relative;
  padding-left: 1.4rem;
}
@media (max-width: 768px) {
  article.content section ul.attention li {
    padding-left: 2.4rem;
  }
}
article.content section ul.attention li::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
  background: none;
}
article.content section.rows2 {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  article.content section.rows2 {
    flex-direction: column-reverse;
  }
}
article.content section.rows2 figure {
  width: 53rem;
}
@media (max-width: 768px) {
  article.content section.rows2 figure {
    width: 31.8rem;
    margin: 3.8rem auto auto;
  }
}
article.content section.rows2 .txts {
  width: 53rem;
}
@media (max-width: 768px) {
  article.content section.rows2 .txts {
    width: 100%;
  }
}
article.content section.rows2.reverse {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  article.content section.rows2.reverse {
    flex-direction: column-reverse;
  }
}
@media (max-width: 768px) {
  article.content section.rows2.quarter {
    flex-direction: column-reverse;
  }
}
article.content section.rows2.quarter figure {
  width: 24.5rem;
}
@media (max-width: 768px) {
  article.content section.rows2.quarter figure {
    display: none;
  }
}
article.content section.rows2.quarter .txts {
  width: 81.5rem;
}
@media (max-width: 768px) {
  article.content section.rows2.quarter .txts {
    width: 100%;
  }
}
@media (max-width: 768px) {
  article.content section.rows2.quarter .txts p {
    width: 100%;
  }
}
@media (max-width: 768px) and (max-width: 768px) {
  article.content section.rows2.quarter .txts p::after {
    content: "";
    display: block;
    clear: both;
  }
}

@media (max-width: 768px) {
  article.content section.rows2.quarter .txts p img {
    float: right;
    width: 14.7rem;
    margin: 0 0 0 1em;
  }
}
article.content section.withBg {
  background: #e7f9ff;
  padding: 4.8rem;
}
@media (max-width: 768px) {
  article.content section.withBg {
    padding: 3.7rem 4rem;
  }
}

section.contact {
  width: 100%;
  background: #e7f9ff;
  padding: 10rem 0 9rem;
}
@media (max-width: 768px) {
  section.contact {
    padding: 10rem 0 15rem;
  }
}
section.contact.formTop {
  padding: 5rem 0 5rem;
}
@media (max-width: 768px) {
  section.contact.formTop {
    padding: 8.8rem 0 8.8rem;
  }
}
section.contact .inner {
  width: 80rem;
  margin: auto;
}
@media (max-width: 768px) {
  section.contact .inner {
    width: 66rem;
  }
}
section.contact .inner h2 {
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 3.4rem;
  text-align: center;
}
@media (max-width: 768px) {
  section.contact .inner h2 {
    font-size: 3.6rem;
  }
}
section.contact .inner p.lead {
  font-size: 1.8rem;
  line-height: 4rem;
  text-align: center;
}
@media (max-width: 768px) {
  section.contact .inner p.lead {
    font-size: 2.8rem;
    line-height: 4.8rem;
    text-align: left;
  }
}
section.contact .inner p.lead.alignleft {
  text-align: left;
}
section.contact .inner p.lead + p.lead {
  margin-top: 3rem;
}
@media (max-width: 768px) {
  section.contact .inner p.lead + p.lead {
    margin-top: 4.5rem;
  }
}
section.contact .inner p.lead span {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  background: #60d1ca;
  padding: 0.5rem 0.7rem;
  border-radius: 0.4rem;
  line-height: 1;
  margin-right: 0.9rem;
}
@media (max-width: 768px) {
  section.contact .inner p.lead span {
    font-size: 2.6rem;
    padding: 0.4rem 0.8rem 0.6rem;
  }
}
section.contact .inner p.lead a {
  color: #00498e;
}
section.contact .inner .viaMobile {
  width: 100%;
  margin: 3.8rem auto;
  border-radius: 0.4rem;
  padding: 1.9rem;
  border: 1px solid #00498e;
}
@media (max-width: 768px) {
  section.contact .inner .viaMobile {
    padding: 2rem 3.5rem;
    margin: 3.8rem auto 5rem;
  }
}
section.contact .inner .viaMobile h3 {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}
@media (max-width: 768px) {
  section.contact .inner .viaMobile h3 {
    font-size: 2.4rem;
    line-height: 2;
  }
}
section.contact .inner .viaMobile p {
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  section.contact .inner .viaMobile p {
    font-size: 2.4rem;
    line-height: 2;
  }
}
section.contact .inner ul.attention {
  list-style-type: none;
  margin-top: 3rem;
  font-size: 1.4rem;
  line-height: 2;
  color: #00498e;
  text-align: center;
}
@media (max-width: 768px) {
  section.contact .inner ul.attention {
    font-size: 2.2rem;
    line-height: 3.6rem;
    margin-top: 6rem;
  }
}
section.contact .inner ul.attention li {
  position: relative;
  padding-left: 1.4rem;
  display: inline-block;
  text-align: center;
}
@media (max-width: 768px) {
  section.contact .inner ul.attention li {
    padding-left: 2.4rem;
    text-align: left;
  }
}
section.contact .inner ul.attention li::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
  background: none;
}
section.contact .inner ul.links {
  margin: 9.6rem auto 11rem;
  justify-content: center;
}
@media (max-width: 768px) {
  section.contact .inner ul.links {
    margin: 13rem auto 5rem;
  }
}
@media (max-width: 768px) {
  section.contact .inner ul.links li {
    width: 40rem;
  }
}

section.formAbout {
  width: 100%;
  padding-top: 10rem;
  padding-bottom: 9.5rem;
}
section.formAbout .inner {
  width: 110rem;
  margin: auto;
}
@media (max-width: 768px) {
  section.formAbout .inner {
    width: 68rem;
  }
}
section.formAbout .inner .cards {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3.8rem;
  row-gap: 3rem;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards {
    flex-direction: column;
    row-gap: 3.8rem;
  }
}
section.formAbout .inner .cards .card {
  width: 53rem;
  border-radius: 0.4rem;
  overflow: hidden;
  color: #fff;
  padding: 3.8rem;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card {
    width: 100%;
    padding: 4.8rem 3.8rem 3.6rem;
  }
}
section.formAbout .inner .cards .card:nth-of-type(1) {
  background: url("../images/card_form01.jpg") no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card:nth-of-type(1) {
    background: url("../images/card_form01_sp.jpg") no-repeat;
    background-size: cover;
  }
}
section.formAbout .inner .cards .card:nth-of-type(2) {
  background: url("../images/card_form02.jpg") no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card:nth-of-type(2) {
    background: url("../images/card_form02_sp.jpg") no-repeat;
    background-size: cover;
  }
}
section.formAbout .inner .cards .card:nth-of-type(3) {
  background: url("../images/card_form03.jpg") no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card:nth-of-type(3) {
    background: url("../images/card_form03_sp.jpg") no-repeat;
    background-size: cover;
  }
}
section.formAbout .inner .cards .card:nth-of-type(4) {
  background: url("../images/card_form04.jpg") no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card:nth-of-type(4) {
    background: url("../images/card_form04_sp.jpg") no-repeat;
    background-size: cover;
  }
}
section.formAbout .inner .cards .card:nth-of-type(5) {
  background: url("../images/card_form05.jpg") no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card:nth-of-type(5) {
    background: url("../images/card_form05_sp.jpg") no-repeat;
    background-size: cover;
  }
}
section.formAbout .inner .cards .card:nth-of-type(6) {
  background: url("../images/card_form06.jpg") no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card:nth-of-type(6) {
    background: url("../images/card_form06_sp.jpg") no-repeat;
    background-size: cover;
  }
}
section.formAbout .inner .cards .card h2 {
  font-size: 2.57rem;
  font-weight: 700;
  line-height: 4.176rem;
  height: 6.6rem;
  display: flex;
  align-items: center;
  margin-bottom: 3.2rem;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card h2 {
    font-size: 3.6rem;
    line-height: 6rem;
    height: 13rem;
  }
}
section.formAbout .inner .cards .card p.group {
  font-size: 1.8rem;
  padding-bottom: 0.4rem;
  display: inline-block;
  border-bottom: 1px solid #fff;
  margin-bottom: 1.8rem;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card p.group {
    font-size: 2.6rem;
  }
}
section.formAbout .inner .cards .card .telFax {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card .telFax {
    flex-direction: column-reverse;
  }
}
section.formAbout .inner .cards .card .telFax p.tel {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card .telFax p.tel {
    width: 40rem;
    height: 10rem;
    border-radius: 0.4rem;
    overflow: hidden;
  }
}
section.formAbout .inner .cards .card .telFax p.tel span {
  float: left;
}
section.formAbout .inner .cards .card .telFax p.tel a {
  pointer-events: none;
  color: inherit;
  text-decoration: none;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card .telFax p.tel a {
    pointer-events: auto;
    font-size: 2.6rem;
    padding-left: 3.6rem;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-weight: 500;
    letter-spacing: 0.2rem;
    color: #00498e;
    background: #fff;
    text-decoration: none;
    position: relative;
    box-sizing: border-box;
  }
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card .telFax p.tel a::after {
    content: "";
    position: absolute;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg);
    border-color: #00498e;
    top: 4.3rem;
    right: 2.8rem;
    width: 1rem;
    height: 1rem;
  }
}
section.formAbout .inner .cards .card .telFax p.fax {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card .telFax p.fax {
    font-size: 2.6rem;
    margin-bottom: 1.5rem;
  }
}
section.formAbout .inner .cards .card p.btn {
  width: 28rem;
  height: 6rem;
  border-radius: 0.4rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card p.btn {
    width: 40rem;
    height: 10rem;
  }
}
section.formAbout .inner .cards .card p.btn a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 2.5rem;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  color: #00498e;
  background: #fff;
  text-decoration: none;
  position: relative;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card p.btn a {
    font-size: 2.6rem;
    padding-left: 3.6rem;
  }
}
section.formAbout .inner .cards .card p.btn a::after {
  content: "";
  position: absolute;
  right: 2.2rem;
  top: 2.7rem;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  border-color: #00498e;
}
@media (max-width: 768px) {
  section.formAbout .inner .cards .card p.btn a::after {
    top: 4.3rem;
    right: 2.8rem;
    width: 1rem;
    height: 1rem;
  }
}
section.formAbout .inner .cards .card p.btn a:hover {
  background: #00498e;
  color: #fff;
}
section.formAbout .inner .cards .card p.btn a:hover::after {
  border-color: #fff;
}
section.formAbout .inner .excuse {
  margin-top: 3.5rem;
}
@media (max-width: 768px) {
  section.formAbout .inner .excuse {
    margin-top: 9rem;
  }
}
section.formAbout .inner .excuse p {
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 768px) {
  section.formAbout .inner .excuse p {
    font-size: 2.8rem;
    line-height: 4.8rem;
  }
}
section.formAbout .inner .excuse ul {
  list-style-type: none;
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 1.7rem;
}
@media (max-width: 768px) {
  section.formAbout .inner .excuse ul {
    font-size: 2.4rem;
    line-height: 4.8rem;
  }
}
section.formAbout .inner .excuse ul li {
  position: relative;
  padding-left: 1em;
}
section.formAbout .inner .excuse ul li::before {
  content: '';
  width: 0.339rem;
  height: 0.339rem;
  border-radius: 50%;
  background: #00498e;
  position: absolute;
  top: 1em;
  left: 0.4em;
}
@media (max-width: 768px) {
  section.formAbout .inner .excuse ul li::before {
    width: 0.4rem;
    height: 0.4rem;
  }
}

section.privacy {
  width: 100%;
  background: #e7f9ff;
}
section.privacy .inner {
  width: 110rem;
  margin: auto;
  padding-top: 18.8rem;
}
@media (max-width: 768px) {
  section.privacy .inner {
    width: 66rem;
    padding-top: 12.5rem;
  }
}
section.privacy .inner h2 {
  font-size: 2.6rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 5rem;
}
@media (max-width: 768px) {
  section.privacy .inner h2 {
    font-size: 3.6rem;
    margin-bottom: 8.5rem;
  }
}
section.privacy .inner p {
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  section.privacy .inner p {
    font-size: 2.4rem;
    line-height: 2;
  }
}
section.privacy .inner ol {
  list-style-type: none;
  counter-reset: item;
}
section.privacy .inner ol > li {
  font-size: 1.6rem;
  line-height: 2;
  counter-increment: item;
  display: flex;
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  section.privacy .inner ol > li {
    font-size: 2.4rem;
    line-height: 2;
    margin-bottom: 3.5rem;
  }
}
section.privacy .inner ol > li::before {
  content: counter(item) ". ";
  flex-shrink: 0;
  margin-right: 1.1em;
}
@media (max-width: 768px) {
  section.privacy .inner ol > li::before {
    margin-right: 0.8em;
  }
}
section.privacy .inner ol > li:last-of-type {
  margin-bottom: 0;
}
section.privacy .inner ol ul {
  list-style-type: none;
  margin-top: 1.9rem;
  margin-left: 2.5em;
  margin-bottom: 1.9rem;
}
@media (max-width: 768px) {
  section.privacy .inner ol ul {
    margin-left: 4.6em;
    margin-top: 3rem;
  }
}
section.privacy .inner ol ul > li {
  position: relative;
  padding-left: 1em;
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  section.privacy .inner ol ul > li {
    font-size: 2.4rem;
    line-height: 2;
  }
}
section.privacy .inner ol ul > li::before {
  content: '';
  width: 0.339rem;
  height: 0.339rem;
  border-radius: 50%;
  background: #00498e;
  position: absolute;
  top: 1em;
  left: 0.4em;
}
@media (max-width: 768px) {
  section.privacy .inner ol ul > li::before {
    width: 0.4rem;
    height: 0.4rem;
  }
}

section.use {
  width: 100%;
  background: #e7f9ff;
  padding-bottom: 19rem;
}
@media (max-width: 768px) {
  section.use {
    padding-bottom: 15rem;
  }
}
section.use .inner {
  width: 110rem;
  margin: auto;
  padding-top: 18.8rem;
}
@media (max-width: 768px) {
  section.use .inner {
    width: 66rem;
    padding-top: 12.5rem;
  }
}
section.use .inner h2 {
  font-size: 2.6rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 5rem;
}
@media (max-width: 768px) {
  section.use .inner h2 {
    font-size: 3.6rem;
    margin-bottom: 8.5rem;
  }
}
section.use .inner h3 {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 5rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.2rem;
  margin-bottom: 3rem;
}
@media (max-width: 768px) {
  section.use .inner h3 {
    font-size: 2.8rem;
    margin-bottom: 5rem;
  }
}
section.use .inner h3::before {
  content: '';
  width: 1.8rem;
  height: 1.8rem;
  background: #00498e;
  border-radius: 50%;
}
@media (max-width: 768px) {
  section.use .inner h3::before {
    width: 2.51rem;
    height: 2.51rem;
    margin-top: 0.2em;
  }
}
section.use .inner p {
  font-size: 1.6rem;
  line-height: 2;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  section.use .inner p {
    font-size: 2.4rem;
    line-height: 2;
    margin-bottom: 4rem;
  }
}
section.use .inner p + h3 {
  margin-top: 5.5rem;
}
@media (max-width: 768px) {
  section.use .inner p + h3 {
    margin-top: 8rem;
  }
}
section.use .inner > ol {
  list-style-type: none;
  counter-reset: item;
}
section.use .inner > ol + h3 {
  margin-top: 5.5rem;
}
@media (max-width: 768px) {
  section.use .inner > ol + h3 {
    margin-top: 8rem;
  }
}
section.use .inner > ol > li {
  font-size: 1.6rem;
  line-height: 2;
  counter-increment: item;
  display: flex;
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  section.use .inner > ol > li {
    font-size: 2.4rem;
    line-height: 2;
    margin-bottom: 4rem;
  }
}
section.use .inner > ol > li::before {
  content: counter(item) ". ";
  flex-shrink: 0;
  margin-right: 1.1em;
}
@media (max-width: 768px) {
  section.use .inner > ol > li::before {
    margin-right: 0.8em;
  }
}
section.use .inner > ol > li:last-of-type {
  margin-bottom: 0;
}
section.use .inner ul {
  list-style-type: none;
  margin-top: 1.9rem;
  margin-left: 0;
  margin-bottom: 1.9rem;
}
section.use .inner ul > li {
  position: relative;
  padding-left: 1em;
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  section.use .inner ul > li {
    font-size: 2.4rem;
    line-height: 2;
    margin-bottom: 0.5rem;
  }
}
section.use .inner ul > li::before {
  content: '';
  width: 0.339rem;
  height: 0.339rem;
  border-radius: 50%;
  background: #00498e;
  position: absolute;
  top: 1em;
  left: 0.4em;
}
@media (max-width: 768px) {
  section.use .inner ul > li::before {
    width: 0.4rem;
    height: 0.4rem;
  }
}
section.use .inner ul ol.circled-decimal {
  list-style: none;
  counter-reset: circle-counter;
  padding-left: 2em;
}
@media (max-width: 768px) {
  section.use .inner ul ol.circled-decimal {
    padding-left: 3em;
  }
}
section.use .inner ul ol.circled-decimal li {
  position: relative;
  padding-left: 1.5em;
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  section.use .inner ul ol.circled-decimal li {
    font-size: 2.4rem;
    line-height: 2;
    padding-left: 1.2em;
  }
}
section.use .inner ul ol.circled-decimal li::before {
  counter-increment: circle-counter;
  /* カウンターを増やす */
  content: counter(circle-counter,decimal-leading-zero);
  /* 数字を表示 */
  /* 文字を丸で囲むデザイン */
  content: counter(circle-counter);
  position: absolute;
  top: 0.8em;
  left: 0;
  width: 1.52rem;
  height: 1.47rem;
  border: 1px solid #00498e;
  border-radius: 50%;
  text-align: center;
  line-height: 1.3;
  font-size: 0.7em;
}
@media (max-width: 768px) {
  section.use .inner ul ol.circled-decimal li::before {
    width: 2rem;
    height: 2rem;
    font-size: 0.7em;
    line-height: 1;
  }
}

/* 1. 全体的な初期化 */
input,
button,
select,
textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  /* iOS/Chromeのデフォルトスタイルを解除 */
  -moz-appearance: none;
  /* Firefoxのデフォルトスタイルを解除 */
  appearance: none;
  /* 標準的なプロパティ */
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}

/* 2. テキスト入力系 */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="url"],
textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
  /* paddingを含めたサイズ計算 */
}

/* 3. ボタン系 */
button,
input[type="submit"],
input[type="button"] {
  cursor: pointer;
  background-color: transparent;
}

/* 4. textareaのサイズ調整無効化（任意） */
textarea {
  resize: vertical;
  /* 縦方向のみリサイズ可能に */
}

/* 5. Selectの矢印を消す（自作する場合） */
select::-ms-expand {
  display: none;
  /* IE用 */
}

section.formSec {
  width: 100%;
  background: #e7f9ff;
  padding-bottom: 19.8rem;
}
section.formSec .inner {
  width: 80rem;
  margin: auto;
}
@media (max-width: 768px) {
  section.formSec .inner {
    width: 66rem;
  }
}
section.formSec .inner form {
  width: 100%;
}
section.formSec .inner .btnBox {
  margin: 9.6rem auto auto;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 3.8rem;
}
@media (max-width: 768px) {
  section.formSec .inner .btnBox {
    margin: 14rem auto auto;
    width: 40rem;
    flex-direction: column;
    row-gap: 4rem;
  }
}

dl.formDL {
  width: 100%;
}
dl.formDL + dl {
  margin-top: 3.8rem;
}
@media (max-width: 768px) {
  dl.formDL + dl {
    margin-top: 6rem;
  }
}
dl.formDL p.errorTxt {
  display: none;
  font-size: 1.6rem;
  font-weight: 500;
  color: #ed1e79;
  justify-content: flex-start;
  align-items: center;
  gap: 0.2rem;
  margin-top: 0.6rem;
}
@media (max-width: 768px) {
  dl.formDL p.errorTxt {
    font-size: 2.4rem;
    margin-top: 1.6rem;
    height: 2.05766rem;
    gap: 0.5rem;
  }
}
dl.formDL p.errorTxt::before {
  content: '';
  width: 1.64828rem;
  height: 1.41202rem;
  background: url("../images/ico_error.svg") no-repeat;
  background-size: 1.648rem;
}
@media (max-width: 768px) {
  dl.formDL p.errorTxt::before {
    width: 2.4rem;
    height: 2.05766rem;
    background: url("../images/ico_error.svg") no-repeat;
    background-size: 2.4rem;
  }
}
dl.formDL p.errorTxt.on {
  display: flex;
}
dl.formDL dt {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1.8rem;
}
@media (max-width: 768px) {
  dl.formDL dt {
    font-size: 2.8rem;
  }
}
dl.formDL dt:has(span) {
  margin-bottom: 1.4rem;
}
dl.formDL dt span {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  background: #60d1ca;
  padding: 0.5rem 0.7rem;
  border-radius: 0.4rem;
  line-height: 1;
  margin-right: 0.9rem;
}
@media (max-width: 768px) {
  dl.formDL dt span {
    font-size: 2.6rem;
    padding: 0.4rem 0.8rem 0.6rem;
  }
}
dl.formDL dt p {
  width: 100%;
  font-size: 1.6rem;
  margin-top: 1rem;
}
@media (max-width: 768px) {
  dl.formDL dt p {
    font-size: 2.4rem;
    margin-top: 1rem;
  }
}
dl.formDL dd {
  width: 100%;
}
dl.formDL dd.agree {
  width: 100%;
  height: 6rem;
  border: 1px solid rgba(0, 73, 142, 0.2);
  border-radius: 0.4rem;
  box-sizing: border-box;
  background: #fff;
  padding: 0 3.8rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
dl.formDL dd.agree.error {
  border-color: #ed1e79 !important;
}
@media (max-width: 768px) {
  dl.formDL dd.agree {
    height: 10rem;
  }
}
dl.formDL dd.agree label {
  font-size: 1.8rem;
  font-weight: 500;
  height: 3.08rem;
  display: flex;
  cursor: pointer;
}
@media (max-width: 768px) {
  dl.formDL dd.agree label {
    font-size: 2.8rem;
    height: 4.4rem;
  }
}
dl.formDL dd.postal {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 41.8rem;
}
@media (max-width: 768px) {
  dl.formDL dd.postal {
    width: 100%;
  }
}
dl.formDL dd p.attention {
  font-size: 1.4rem;
  margin-top: 1.9rem;
}
@media (max-width: 768px) {
  dl.formDL dd p.attention {
    font-size: 2.2rem;
    margin-top: 1.6rem;
  }
}

input, select {
  font-size: 1.8rem;
  font-weight: 500;
}

input.error, textarea.error {
  border-color: #ed1e79 !important;
}

input[type="radio"] {
  width: 3.08rem;
  height: 3.08rem;
  border: 0.2rem solid #00498e;
  box-sizing: border-box;
  border-radius: 50%;
  margin-right: 1.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  input[type="radio"] {
    width: 4.4rem;
    height: 4.4rem;
  }
}
input[type="radio"]::after {
  content: "";
  width: 2.05rem;
  height: 2.05rem;
  border-radius: 50%;
  background-color: #00498e;
  display: block;
  opacity: 0;
  /* 最初は隠す */
  transform: scale(0);
  transition: 0.2s;
}
@media (max-width: 768px) {
  input[type="radio"]::after {
    width: 2.9rem;
    height: 2.9rem;
  }
}
input[type="radio"]:checked::after {
  opacity: 1;
  transform: scale(1);
}

select {
  width: 100%;
  height: 6rem;
  border: 1px solid rgba(0, 73, 142, 0.2);
  border-radius: 0.4rem;
  box-sizing: border-box;
  background: #fff;
  padding: 0 3.8rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
select:invalid {
  color: #b3b3b3;
}
select:valid {
  color: #00498e;
}
select hr {
  width: 100%;
  height: 1px;
  background: rgba(0, 73, 142, 0.2);
  border: none;
}
select option {
  color: #00498e;
  background-color: #fff;
  /* 背景が透過しないよう指定 */
  height: 6rem;
  border-bottom: 1px solid rgba(0, 73, 142, 0.2);
}
select option:disabled {
  color: #b3b3b3;
}

.custom-dropdown {
  position: relative;
  width: 100%;
  cursor: pointer;
  /* リスト部分 */
  /* 開いている状態 */
}
.custom-dropdown.pref {
  width: 41.8rem;
}
@media (max-width: 768px) {
  .custom-dropdown.pref {
    width: 100%;
  }
}
.custom-dropdown .dropdown-label {
  font-size: 1.8rem;
  font-weight: 500;
  width: 100%;
  height: 6rem;
  border: 1px solid rgba(0, 73, 142, 0.2);
  border-radius: 0.4rem;
  background: #fff;
  padding: 0 3.8rem;
  display: flex;
  align-items: center;
  color: #b3b3b3;
  /* 初期状態（未選択）の色 */
  transition: 0.3s;
}
@media (max-width: 768px) {
  .custom-dropdown .dropdown-label {
    height: 10rem;
    font-size: 2.8rem;
  }
}
.custom-dropdown .dropdown-label.error {
  border-color: #ed1e79;
}
.custom-dropdown .dropdown-label.selected {
  color: #00498e;
  /* 選択後の色 */
}
.custom-dropdown .dropdown-label::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 6rem;
  height: 6rem;
  background: linear-gradient(90deg, #2a87d2 1%, #53d7c7 100%);
}
@media (max-width: 768px) {
  .custom-dropdown .dropdown-label::before {
    width: 10rem;
    height: 10rem;
  }
}
.custom-dropdown .dropdown-label::after {
  content: "";
  position: absolute;
  right: 2.5rem;
  top: 2.5rem;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(135deg);
  border-color: #fff;
  z-index: 1;
}
@media (max-width: 768px) {
  .custom-dropdown .dropdown-label::after {
    width: 2rem;
    height: 2rem;
    right: 3.6rem;
    top: 3.5rem;
  }
}
.custom-dropdown .dropdown-list {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background: #fff;
  border: 1px solid rgba(0, 73, 142, 0.2);
  border-top: none;
  border-radius: 0 0 0.4rem 0.4rem;
  z-index: 10;
  display: none;
  /* 初期は隠す */
  padding: 0;
  margin: 0;
  list-style: none;
}
.custom-dropdown .dropdown-list.pref {
  height: 66rem;
  overflow-y: scroll;
}
@media (max-width: 768px) {
  .custom-dropdown .dropdown-list.pref {
    height: 90rem;
  }
}
.custom-dropdown .dropdown-list li {
  height: 6rem;
  padding: 0 3.8rem;
  color: #00498e;
  border-bottom: 1px solid rgba(0, 73, 142, 0.1);
  /* 念願の下線 */
  transition: background 0.2s;
  font-size: 1.8rem;
  font-weight: 500;
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  .custom-dropdown .dropdown-list li {
    height: 10rem;
    font-size: 2.8rem;
  }
}
@media (max-width: 768px) {
  .custom-dropdown .dropdown-list li:nth-of-type(2) {
    height: 14.4rem;
  }
}
.custom-dropdown .dropdown-list li:last-child {
  border-bottom: none;
}
.custom-dropdown .dropdown-list li:hover {
  background: #f0f7ff;
}
.custom-dropdown.is-open .dropdown-list {
  display: block;
}
.custom-dropdown.is-open .dropdown-label::after {
  content: "";
  position: absolute;
  right: 2.5rem;
  top: 3rem;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(-45deg);
  border-color: #fff;
  z-index: 1;
}
@media (max-width: 768px) {
  .custom-dropdown.is-open .dropdown-label::after {
    width: 2rem;
    height: 2rem;
    right: 3.6rem;
    top: 4.7rem;
  }
}
.custom-dropdown.is-open .dropdown-label {
  /* 下の角丸を0にして、リストと繋げる */
  border-radius: 0.4rem 0.4rem 0 0;
  /* リストとの一体感を出すために境界線を少し調整してもOK */
  border-bottom: 1px solid rgba(0, 73, 142, 0.1);
}
.custom-dropdown.is-open .dropdown-list {
  display: block;
}

input[type="text"], input[type="tel"], input[type="email"], input[type="number"] {
  width: 100%;
  height: 6rem;
  border: 1px solid rgba(0, 73, 142, 0.2);
  border-radius: 0.4rem;
  box-sizing: border-box;
  background: #fff;
  padding: 0 3.8rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media (max-width: 768px) {
  input[type="text"], input[type="tel"], input[type="email"], input[type="number"] {
    height: 10rem;
    border-radius: 0.6rem;
  }
}

input[type="text"].postal {
  width: 20rem;
}
@media (max-width: 768px) {
  input[type="text"].postal {
    width: 32rem;
  }
}

input[type="text"].pref {
  width: 35.8rem;
}
@media (max-width: 768px) {
  input[type="text"].pref {
    width: 100%;
  }
}

button.postal {
  width: 20rem;
  height: 6rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(90deg, #2a87d2 1%, #53d7c7 100%);
  border-radius: 0.4rem;
  transition: all 0.4s ease;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  button.postal {
    width: 32rem;
    height: 10rem;
    font-size: 2.8rem;
    border-radius: 0.6rem;
  }
}
button.postal::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  background: #00498e;
  opacity: 0;
  transition: all 0.4s ease;
  border-radius: 0.4rem;
}
@media (hover: hover) {
  button.postal:hover::before {
    opacity: 1;
  }
}

button.confirm {
  width: 28rem;
  height: 6rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(90deg, #2a87d2 1%, #53d7c7 100%);
  border-radius: 0.4rem;
  transition: all 0.4s ease;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  button.confirm {
    width: 40rem;
    height: 10rem;
    font-size: 2.8rem;
    border-radius: 0.6rem;
  }
}
button.confirm::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  background: #00498e;
  opacity: 0;
  transition: all 0.4s ease;
  border-radius: 0.4rem;
}
@media (hover: hover) {
  button.confirm:hover::before {
    opacity: 1;
  }
}
button.confirm::after {
  content: "";
  position: absolute;
  right: 2rem;
  top: 2.6rem;
  width: 0.7rem;
  height: 0.7rem;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  border-color: #fff;
}
@media (max-width: 768px) {
  button.confirm::after {
    right: 2.8rem;
    top: 50%;
    width: 0.9rem;
    height: 0.9rem;
    transform: rotate(45deg) translateY(-50%);
  }
}

button.historyBack {
  width: 28rem;
  height: 6rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #aeb8b8;
  border-radius: 0.4rem;
  transition: all 0.4s ease;
  position: relative;
  z-index: 2;
  /*
  &::before {
  	content: "";
  	width:100%;
  	height:100%;
  	position: absolute;
  	z-index:-1;
  	background:#00498e;
  	opacity:0;
  	transition:all 0.4s ease;
  	border-radius:0.4rem;
  }
  		
  	&:hover::before {
  		@media (hover: hover) {
  			opacity:1;
  		}	
  	}
  */
}
@media (max-width: 768px) {
  button.historyBack {
    width: 40rem;
    height: 10rem;
    font-size: 2.8rem;
    border-radius: 0.6rem;
  }
}
button.historyBack::after {
  content: "";
  position: absolute;
  right: auto;
  left: 2rem;
  top: 2.7rem;
  width: 0.7rem;
  height: 0.7rem;
  border-top: 1px solid currentColor;
  border-right: none;
  border-left: 1px solid currentColor;
  transform: rotate(-45deg);
  border-color: #fff;
}
@media (max-width: 768px) {
  button.historyBack::after {
    left: 2.9rem;
    top: 50%;
    width: 0.9rem;
    height: 0.9rem;
    transform: rotate(-45deg) translateY(-50%);
  }
}

textarea {
  width: 100%;
  height: 28rem;
  padding: 2.5rem 4rem;
  box-sizing: border-box;
  border: 1px solid rgba(0, 73, 142, 0.2);
  border-radius: 0.4rem;
  box-sizing: border-box;
  background: #fff;
  font-size: 1.8rem;
  font-weight: 500;
}
@media (max-width: 768px) {
  textarea {
    height: 40rem;
    font-size: 2.8rem;
    border-radius: 0.6rem;
  }
}
textarea::placeholder {
  color: #b3b3b3;
}

input[readonly], textarea[readonly] {
  color: #666666;
}
@media (max-width: 768px) {
  input[readonly], textarea[readonly] {
    font-size: 2.8rem;
  }
}

.fadeIn {
  opacity: 0;
  transform: translateY(-30px);
  transition: all 0.8s ease;
}

.fadeIn.inView {
  opacity: 1;
  transform: translateY(0);
}
