/* CSS Document */
* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
}

body {
  width: 100%;
  padding: 0;
  margin: 0;
  position: relative;
}

/* all */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, address, strong, em, table, dl, ul, ol, img,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  padding: 0;
  margin: 0;
  background: transparent;
}

/* font */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, a, address, strong, em, form, input, textarea, select, submit,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  color: inherit;
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
}

/* indivisual */
a {
  border: none;
  color: inherit;
  text-decoration: underline;
  word-wrap: break-word;
}

a:hover {
  text-decoration: none;
}

address, em {
  font-style: normal;
}

ul, ol {
  list-style: none none outside;
}

img {
  display: block;
  border: none;
}

body {
  height: 100%;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1;
  text-align: justify;
  background-color: #fff;
}

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

@media only screen and (min-width: 1080px) {
  .cm_flex {
    display: flex;
  }
}

.en {
  display: block;
  color: #094899;
  font-family: "Jost", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}

.num {
  display: block;
  font-family: "Oswald", sans-serif;
}

.cm_link {
  display: block;
  width: 17.5rem;
  height: 3rem;
  line-height: 1;
  border-radius: 0.75rem;
  text-decoration: none;
  background: #094899;
  position: relative;
  transition: 0.375s;
  overflow: hidden;
  cursor: pointer;
}
.cm_link:hover::before {
  width: 1.5rem;
  height: 1.5rem;
}
.cm_link.green {
  background: #76C6C7;
}
.cm_link span {
  display: block;
  color: #FFF;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 1.5rem;
  transition: 0.375s;
  transform: translateY(-50%);
  white-space: nowrap;
}
.cm_link::before {
  width: 1rem;
  height: 1rem;
  content: "";
  background: url(../img/arw-b.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transition: 0.375s;
  transform: translate(50%, -50%);
  z-index: 2;
}

.cm_link_b {
  display: block;
  width: 100%;
  max-width: 25rem;
  height: 5rem;
  line-height: 1;
  border-radius: 1rem;
  text-decoration: none;
  background: linear-gradient(90deg, rgb(9, 72, 153) 0%, rgb(118, 198, 199) 100%);
  position: relative;
  transition: 0.375s;
  overflow: hidden;
  cursor: pointer;
}
.cm_link_b:hover::before {
  width: 2rem;
  height: 2rem;
}
.cm_link_b.green {
  background: #76C6C7;
}
.cm_link_b span {
  display: block;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 2.5rem;
  transition: 0.375s;
  transform: translateY(-50%);
  white-space: nowrap;
}
.cm_link_b::before {
  width: 1.5rem;
  height: 1.5rem;
  content: "";
  background: url(../img/arw-g.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 2.8125rem;
  transition: 0.375s;
  transform: translate(50%, -50%);
  z-index: 2;
}

.cm_table, .post table, .post .wp-block-table table {
  width: 100%;
  margin-top: 3rem;
  border-top: 1px solid rgba(9, 72, 150, 0.2);
  border-collapse: collapse;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 1079px) {
  .cm_table, .post table, .post .wp-block-table table {
    border-bottom: 1px solid rgba(9, 72, 150, 0.2);
  }
}
.cm_table.table_blue, .post table.table_blue {
  border-top: 2px solid #094899;
}
@media only screen and (max-width: 1079px) {
  .cm_table.table_blue, .post table.table_blue {
    border-bottom: 2px solid #094899;
  }
}
.cm_table.table_blue tbody tr:last-child th, .post table.table_blue tbody tr:last-child th, .cm_table.table_blue tbody tr:last-child td, .post table.table_blue tbody tr:last-child td {
  border-bottom: 2px solid #094899;
}
@media only screen and (max-width: 1079px) {
  .cm_table.table_blue tbody tr:last-child th, .post table.table_blue tbody tr:last-child th, .cm_table.table_blue tbody tr:last-child td, .post table.table_blue tbody tr:last-child td {
    border: none;
  }
}
@media only screen and (max-width: 1079px) {
  .cm_table.table_blue tbody tr:last-child td:last-child, .post table.table_blue tbody tr:last-child td:last-child {
    border-bottom: none;
  }
}
.cm_table.table_blue tbody tr th, .post table.table_blue tbody tr th {
  border-bottom: 1px dashed #094899;
}
@media only screen and (max-width: 1079px) {
  .cm_table.table_blue tbody tr th, .post table.table_blue tbody tr th {
    border: none;
  }
}
.cm_table.table_blue tbody tr td, .post table.table_blue tbody tr td {
  border-bottom: 1px dashed #094899;
}
@media only screen and (max-width: 1079px) {
  .cm_table.table_blue tbody tr td, .post table.table_blue tbody tr td {
    border-bottom: none;
  }
  .cm_table.table_blue tbody tr td:last-child, .post table.table_blue tbody tr td:last-child {
    border-bottom: 1px dashed #094899;
  }
}
.cm_table tbody tr:last-child th, .post table tbody tr:last-child th, .cm_table tbody tr:last-child td, .post table tbody tr:last-child td {
  border-bottom: 1px solid rgba(9, 72, 150, 0.2);
}
@media only screen and (max-width: 1079px) {
  .cm_table tbody tr:last-child th, .post table tbody tr:last-child th, .cm_table tbody tr:last-child td, .post table tbody tr:last-child td {
    border: none;
  }
}
@media only screen and (max-width: 1079px) {
  .cm_table tbody tr:last-child td:last-child, .post table tbody tr:last-child td:last-child {
    border-bottom: none;
  }
}
.cm_table tbody tr th, .post table tbody tr th, .post .wp-block-table table tbody tr th {
  width: 6.75rem;
  font-weight: normal;
  line-height: 1.5;
  padding: 1.25rem 0;
  vertical-align: top;
  border-bottom: 1px solid rgba(9, 72, 150, 0.2);
}
@media only screen and (max-width: 1079px) {
  .cm_table tbody tr th, .post table tbody tr th, .post .wp-block-table table tbody tr th {
    display: block;
    width: 100%;
    padding: 1rem 0 0.5rem;
    border: none;
  }
}
.cm_table tbody tr td, .post table tbody tr td, .post .wp-block-table table tbody tr td {
  line-height: 1.5;
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(9, 72, 150, 0.2);
}
@media only screen and (max-width: 1079px) {
  .cm_table tbody tr td, .post table tbody tr td, .post .wp-block-table table tbody tr td {
    display: block;
    width: 100%;
    padding: 0 0 1rem;
    border-bottom: none;
  }
  .cm_table tbody tr td:first-child, .post table tbody tr td:first-child {
    padding: 1rem 0;
  }
  .cm_table tbody tr td + td, .post table tbody tr td + td, .post .wp-block-table table tbody tr td + td {
    padding: 1rem 0;
  }
  .cm_table tbody tr td:last-child, .post table tbody tr td:last-child {
    border-bottom: 1px solid rgba(9, 72, 150, 0.2);
  }
}
.cm_table tbody tr td .red, .post table tbody tr td .red {
  color: #C80707;
}

.check {
  pointer-events: none;
}
.check::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 2px solid red;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.check::after {
  content: "";
  display: block;
  color: #fff;
  padding: 0.25em;
  background: red;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  transform: translateY(-100%);
}

.post .wp-block-image {
  width: 100%;
  margin: 2.5rem 0 0;
}
.post .wp-block-image.aligncenter img {
  margin: 0 auto;
}
.post .wp-block-image img {
  border-radius: 2rem;
}
.post .wp-block-image figcaption {
  line-height: 1.75;
  margin: calc(1rem - 0.375em) 0 -0.375em;
}
.post .aligncenter {
  text-align: center;
}
.post .aligncenterimg {
  display: block;
  margin: 2.5rem auto 0;
}
.post .aligncenter img {
  display: block;
  margin: 2.5rem auto 0;
}
.post .wp-block-table {
  margin-top: 2.5rem;
}
.post .wp-block-table.table_blue table {
  border-top: 2px solid #094899;
}
@media only screen and (max-width: 1079px) {
  .post .wp-block-table.table_blue table {
    border-bottom: 2px solid #094899;
  }
}
.post .wp-block-table.table_blue table tbody tr:last-child th, .post .wp-block-table.table_blue table tbody tr:last-child td {
  border-bottom: 2px solid #094899;
}
@media only screen and (max-width: 1079px) {
  .post .wp-block-table.table_blue table tbody tr:last-child th, .post .wp-block-table.table_blue table tbody tr:last-child td {
    border: none;
  }
}
@media only screen and (max-width: 1079px) {
  .post .wp-block-table.table_blue table tbody tr:last-child td:last-child {
    border-bottom: none;
  }
}
.post .wp-block-table.table_blue table tbody tr th {
  border-bottom: 1px dashed #094899;
}
@media only screen and (max-width: 1079px) {
  .post .wp-block-table.table_blue table tbody tr th {
    border: none;
  }
}
.post .wp-block-table.table_blue table tbody tr td {
  border-bottom: 1px dashed #094899;
}
@media only screen and (max-width: 1079px) {
  .post .wp-block-table.table_blue table tbody tr td {
    border-bottom: none;
  }
  .post .wp-block-table.table_blue table tbody tr td:last-child {
    border-bottom: 1px dashed #094899;
  }
}
.post .wp-block-table table {
  margin-top: 0 !important;
}
.post .wp-block-table figcaption {
  display: block;
  color: rgba(0, 0, 0, 0.5);
  font-size: 0.75rem;
  font-style: normal;
  line-height: 1.5;
  margin: calc(1.25rem - 0.25em) 0 -0.25em;
}
.post .wp-block-buttons .wp-block-button {
  text-align: center;
}
.post .wp-block-buttons .wp-block-button .wp-block-button__link {
  margin: 2.5rem auto 0;
}
.post .wp-block-columns {
  margin-top: 2rem;
}
@media only screen and (min-width: 1080px) {
  .post .wp-block-columns {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
  }
}
.post .wp-block-columns .wp-block-column > *:first-child {
  margin-top: 0;
}
.post .wp-block-columns .wp-block-column img {
  border-radius: 2rem;
}
.post .wp-block-quote {
  padding: 2.5rem;
  margin: 2.5rem 0 0;
  background: rgba(0, 159, 232, 0.06);
}
.post .wp-block-quote p {
  color: #76C6C7;
  font-weight: 700;
  margin-top: -0.5em;
}
.post .wp-block-quote cite {
  display: block;
  color: rgba(0, 0, 0, 0.5);
  font-size: 0.75rem;
  font-style: normal;
  line-height: 1.5;
  margin: calc(1.25rem - 0.25em) 0 -0.25em;
}
.post .wp-block-preformatted {
  color: #76C6C7;
  font-weight: normal;
  line-height: 2;
  padding: calc(2.5rem - 0.5em) 2.5rem;
  margin: 2.5rem 0 0;
  background: rgba(0, 159, 232, 0.06);
}
.post .wp-block-pullquote {
  margin: 2.5rem 0 0;
  border-top: 2px solid #76C6C7;
  border-bottom: 2px solid #76C6C7;
}
.post .wp-block-pullquote blockquote {
  padding: 2.5rem;
  margin: 0;
}
@media screen and (max-width: 1100px) {
  .post .wp-block-pullquote blockquote {
    padding: 2.5rem 0;
  }
}
.post .wp-block-pullquote blockquote p {
  color: #76C6C7;
  font-weight: 700;
  margin-top: -0.5em;
}
.post .wp-block-pullquote blockquote cite {
  display: block;
  color: rgba(0, 0, 0, 0.5);
  font-size: 0.75rem;
  font-style: normal;
  line-height: 1.5;
  margin: calc(1.25rem - 0.25em) 0 -0.25em;
}
.post .has-text-align-center {
  text-align: center;
}
.post .has-text-align-right {
  text-align: right;
}
.post .wp-block-media-text {
  gap: 0 2rem;
  margin-top: 2rem;
}
.post .wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}
.post .wp-block-media-text .wp-block-media-text__content > *:first-child {
  margin-top: 0;
}
.post .wp-block-media-text .wp-block-media-text__media {
  margin-bottom: 1rem;
}
.post .wp-block-media-text .wp-block-media-text__media > *:first-child {
  margin-top: 0;
}
.post .wp-block-media-text .wp-block-media-text__media img {
  border-radius: 2rem;
}
.post .wp-block-group.is-layout-constrained {
  margin: 5rem calc(50% - 50vw) 0;
  padding: 5rem 0 8.1875rem;
  position: relative;
}
.post .wp-block-group.is-layout-constrained > *:first-child {
  margin-top: 0;
}
.post .wp-block-group.is-layout-constrained::before {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  background: rgba(19, 175, 6, 0.08);
  z-index: -1;
}
.post .wp-block-gallery {
  margin-top: 2.5rem;
}

.post {
  max-width: 960px;
  margin: 0 auto;
  word-break: break-all;
}
@media only screen and (max-width: 1079px) {
  .post {
    padding: 0 2em;
  }
}
.post h1 {
  font-size: 2.5rem;
  padding-bottom: 1rem;
  border-bottom: 0.25rem solid rgba(0, 0, 0, 0.15);
  position: relative;
}
.post h1::after {
  width: 5rem;
  height: 0.25rem;
  content: "";
  background: #76C6C7;
  position: absolute;
  left: 0;
  bottom: -0.25rem;
}
.post h2, .post .h2 {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.5;
  margin: calc(6rem - 0.25em) 0 -0.25em;
}
.post h3 {
  color: #76C6C7;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  line-height: 1.5;
  margin: calc(4rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 1079px) {
  .post h3 {
    letter-spacing: 0.1em;
  }
}
.post h4 {
  color: #76C6C7;
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  line-height: 1.5;
  margin: calc(3rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 1079px) {
  .post h4 {
    letter-spacing: 0.1em;
  }
}
.post h5 {
  color: #76C6C7;
  letter-spacing: 0.2em;
  line-height: 1.5;
  margin: calc(2rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 1079px) {
  .post h5 {
    letter-spacing: 0.1em;
  }
}
.post p {
  line-height: 1.75;
  margin: 1.625em 0 -0.375em;
}
@media only screen and (max-width: 1079px) {
  .post .date {
    font-size: 1.0769230769rem;
  }
}
.post ul,
.post ol {
  padding-left: 1.25rem;
  margin: 2.5rem 0 0 0.25em;
  list-style: disc none;
}
.post ul li,
.post ol li {
  line-height: 2;
  margin: calc(1.5rem - 0.5em) 0 -0.5em;
}
.post ul li:first-child,
.post ol li:first-child {
  margin-top: -0.5em;
}
.post ol {
  margin: 2.5rem 0 0 0.5em;
  list-style: decimal none;
}
.post img {
  border-radius: 2rem;
  margin: 2.5rem 0 0;
}
.post img.thumnail {
  margin-top: 0;
}
.post figcaption {
  color: rgba(0, 0, 0, 0.75);
  line-height: 1.5;
  text-align: center;
  margin: calc(1rem - 0.25em) 0 -0.25em;
}
.post table td ol {
  margin: 0;
  padding: 0.75rem 0.75rem 0.75rem 1.5rem;
}
.post .blue {
  color: #76C6C7;
}
.post .map {
  width: 100%;
  padding-top: 56.25%;
  margin-top: 2.5rem;
  position: relative;
}
.post .map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.post .maskImage img {
  -webkit-mask-image: url("../img/mask.svg");
  mask-image: url("../img/mask.svg");
}
.post .prev_next {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #444;
  margin-top: 4rem;
  position: relative;
}
.post .prev_next .prev {
  display: block;
  line-height: 1.5;
  padding-right: 5em;
  margin: calc(1rem - 0.25em) 0 -0.25em;
}
.post .prev_next .back {
  display: block;
  position: absolute;
  left: 50%;
  top: 1.25rem;
  transform: translateX(-50%);
}
.post .prev_next .next {
  display: block;
  line-height: 1.5;
  text-align: right;
  padding-left: 5em;
  margin: calc(1rem - 0.25em) 0 -0.25em;
}
.post .mw_wp_form input[type=email],
.post .mw_wp_form input[type=text],
.post .mw_wp_form input[type=number],
.post .mw_wp_form textarea {
  border: 1px solid #ccc;
  border-radius: 0.5rem;
}

.mw_wp_form {
  margin: 1.75rem auto 0;
}
.mw_wp_form .need {
  display: inline-block;
  color: #F00C38;
  font-size: 0.75rem;
  padding-left: 0.5rem;
}
.mw_wp_form .error {
  color: #F00C38 !important;
  margin-top: 0.5em;
}
.mw_wp_form dl {
  position: relative;
}
.mw_wp_form dl:first-child dt {
  border-top: none;
}
@media only screen and (max-width: 1079px) {
  .mw_wp_form dl:last-of-type {
    border: none;
  }
}
.mw_wp_form dl:last-of-type dt {
  display: block;
}
@media only screen and (min-width: 1080px) {
  .mw_wp_form dl {
    display: flex;
  }
}
.mw_wp_form dl:first-child {
  margin-top: 0;
}
.mw_wp_form dl dt {
  font-weight: bold;
  line-height: 1.5;
  padding: 1.5rem 0rem;
}
@media only screen and (min-width: 1080px) {
  .mw_wp_form dl dt {
    width: 18.75rem;
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 1079px) {
  .mw_wp_form dl dt {
    font-size: 1.0769230769rem;
    padding: 0.75rem 0rem;
  }
}
.mw_wp_form dl dt .br {
  padding: 2px 0;
}
.mw_wp_form dl dd {
  padding: 1.25rem 0rem;
}
@media only screen and (min-width: 1080px) {
  .mw_wp_form dl dd {
    width: calc(100% - 300px);
    align-items: center;
  }
}
@media only screen and (max-width: 1079px) {
  .mw_wp_form dl dd {
    font-size: 1.0769230769rem;
    padding: 0.7692307692rem 0 1.1538461538rem;
  }
}
.mw_wp_form p.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 3.75rem 0 0;
}
@media only screen and (max-width: 1079px) {
  .mw_wp_form p.btn {
    flex-direction: column-reverse;
  }
}
.mw_wp_form input[type=tel],
.mw_wp_form input[type=email],
.mw_wp_form input[type=text],
.mw_wp_form input[type=number],
.mw_wp_form textarea {
  display: block;
  width: 100%;
  line-height: 1.5;
  padding: 0.75em 1em;
  background: #fff;
  border: 1px solid #C6C6C6;
  border-radius: 0.5rem;
  -webkit-appearance: none;
  box-sizing: border-box;
}
.mw_wp_form input[type=tel]::-moz-placeholder, .mw_wp_form input[type=email]::-moz-placeholder, .mw_wp_form input[type=text]::-moz-placeholder, .mw_wp_form input[type=number]::-moz-placeholder, .mw_wp_form textarea::-moz-placeholder {
  color: #C7C7C7;
}
.mw_wp_form input[type=tel]::placeholder,
.mw_wp_form input[type=email]::placeholder,
.mw_wp_form input[type=text]::placeholder,
.mw_wp_form input[type=number]::placeholder,
.mw_wp_form textarea::placeholder {
  color: #C7C7C7;
}
.mw_wp_form input[type=number] {
  width: 25%;
}
.mw_wp_form select {
  display: block;
  width: 100%;
  height: 3.125rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.5rem;
  background: #fff;
  padding: 0 1em;
}
.mw_wp_form select::-moz-placeholder {
  color: #C7C7C7;
}
.mw_wp_form select::placeholder {
  color: #C7C7C7;
}
@media only screen and (max-width: 1079px) {
  .mw_wp_form select {
    font-size: 16px;
  }
}
.mw_wp_form .btn {
  display: flex;
  justify-content: center;
  gap: 0 3.125rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 1079px) {
  .mw_wp_form .btn {
    flex-direction: column-reverse;
    gap: 2.0769230769rem 0;
    align-items: center;
  }
}
.mw_wp_form input[type=submit],
.mw_wp_form input[type=reset] {
  cursor: pointer;
  display: block;
  width: 18.75rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
  text-decoration: none;
  padding: 1.25rem 0;
  background: #094899;
  border: none;
  border-radius: 0.75rem;
  -webkit-appearance: none;
  transition: 0.25s;
}
.mw_wp_form input[type=submit]:hover,
.mw_wp_form input[type=reset]:hover {
  opacity: 0.6;
}
.mw_wp_form input[type=reset] {
  color: #fff;
  background: #000;
  border-radius: 0.3125rem;
}
.mw_wp_form.mw_wp_form_confirm dl dd {
  line-height: 1.5;
  padding: 1.5rem 0rem;
}
@media only screen and (max-width: 1079px) {
  .mw_wp_form.mw_wp_form_confirm dl dd {
    padding: 0.75rem 0rem;
  }
}

.cm_btn, .post .wp-block-buttons .wp-block-button .wp-block-button__link {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(50%);
}

.slideUp {
  transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(2rem);
  opacity: 0;
}
.slideUp.play {
  transform: translateY(0);
  opacity: 1;
}
@media only screen and (min-width: 1080px) {
  .slideUp.play.delay {
    transition-delay: 0.125s;
  }
  .slideUp.play.delay2 {
    transition-delay: 0.25s;
  }
}

.fadeIn {
  transition: 0.375s;
  opacity: 0;
}
.fadeIn.play {
  opacity: 1;
}

header {
  width: 100%;
  position: relative;
}
@media only screen and (min-width: 1080px) {
  header {
    display: flex;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9;
    justify-content: flex-end;
  }
  header.status .h1 img.first {
    opacity: 0;
    transform: translateX(-50%) translateY(-1rem);
  }
  header.status .h1 img.second {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
  header.status .support_link {
    border-radius: 0 0 0 1rem;
  }
}
@media only screen and (min-width: 1080px) {
  header .h1 {
    width: 14.52925rem;
    height: 4.875rem;
    position: fixed;
    top: 3rem;
    left: 3rem;
    transform: translate(0, -50%);
    transition: 0.375s;
    z-index: 2;
  }
}
@media only screen and (max-width: 1079px) {
  header .h1 {
    position: absolute;
    top: 1.5rem;
    left: 2rem;
    z-index: 2;
  }
}
@media only screen and (min-width: 1080px) {
  header .h1 img {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  }
  header .h1 img.first {
    width: 10.9375vw;
    height: 14.0392424906vw;
    top: 1rem;
    transform: translateX(-50%) translateY(0);
    opacity: 1;
  }
  header .h1 img.second {
    width: 14.52925rem;
    height: 4.875rem;
    top: 0;
    transform: translateX(-50%) translateY(1rem);
    opacity: 0;
  }
}
@media only screen and (max-width: 1079px) {
  header .h1 img {
    height: 7rem;
  }
  header .h1 img.second {
    display: none;
  }
}
@media only screen and (min-width: 1080px) {
  header .nav {
    display: flex;
    gap: 0 1.9375vw;
    margin-right: 2.0625vw;
  }
}
@media only screen and (max-width: 1079px) {
  header .nav {
    max-width: 20rem;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 1079px) {
  header .nav > li {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  header .nav > li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
}
@media only screen and (min-width: 1080px) {
  header .nav > li > a {
    padding: 2.5rem 0;
  }
}
@media only screen and (max-width: 1079px) {
  header .nav > li > a {
    padding: 1.5rem 0;
    text-align: center;
  }
  header .nav > li > a span {
    display: block;
    font-size: 0.875rem;
    letter-spacing: 0;
    margin-bottom: 1em;
  }
}
header .nav > li a {
  display: block;
  color: #094899;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: 0.5s;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  header .nav > li a {
    color: #fff;
  }
}
header .nav > li a:hover {
  opacity: 0.8;
}
header .nav > li .plus {
  display: none;
}
header .nav li.parent {
  position: relative;
}
header .nav li.parent.open .plus::after {
  transform: translateX(-50%) translateY(-50%) rotate(0deg);
}
header .nav li.parent > a {
  position: relative;
}
@media only screen and (min-width: 1080px) {
  header .nav li.parent > a {
    transform: translateY(-1px);
  }
}
@media only screen and (min-width: 1080px) {
  header .nav li.parent:hover .child {
    opacity: 1;
    visibility: visible;
  }
}
@media only screen and (max-width: 1079px) {
  header .nav li.parent .plus {
    cursor: pointer;
    display: block;
    width: 2rem;
    height: 2rem;
    top: 1.9375rem;
    right: 0;
    position: absolute;
    transform: translateY(-50%);
  }
  header .nav li.parent .plus::after, header .nav li.parent .plus::before {
    content: "";
    display: block;
    width: 1rem;
    height: 2px;
    background: #fff;
    position: absolute;
    top: 50%;
    right: 0;
    transition: 0.25s;
    transform: translateX(-50%) translateY(-50%);
  }
  header .nav li.parent .plus::after {
    transform: translateX(-50%) translateY(-50%) rotate(90deg);
  }
}
@media only screen and (min-width: 1080px) {
  header .nav .child {
    width: 12rem;
    transition: opacity 0.25s;
    opacity: 0;
    visibility: hidden;
    padding: 1.5rem 0;
    background: #094899;
    border-radius: 1rem;
    position: absolute;
    left: 50%;
    top: 4.5rem;
    transform: translateX(-50%);
    z-index: 2;
  }
}
@media only screen and (min-width: 1080px) {
  header .nav .child li {
    margin-top: 1.25rem;
  }
}
header .nav .child li:first-child {
  margin: 0;
}
@media only screen and (max-width: 1079px) {
  header .nav .child li {
    border-top: 1px dashed rgba(255, 255, 255, 0.2);
  }
}
header .nav .child li a {
  color: #fff;
}
@media only screen and (max-width: 1079px) {
  header .nav .child li a {
    padding: 1rem 0;
    text-align: center;
  }
}
@media only screen and (max-width: 1079px) {
  header nav {
    width: 100%;
    height: 100vh;
    padding: 5rem 3rem 3rem;
    background: linear-gradient(90deg, rgba(9, 72, 153, 0.95) 0%, rgba(118, 198, 199, 0.95) 100%);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9;
    transition: 0.25s;
    opacity: 0;
    visibility: hidden;
    overflow: auto;
  }
}
header nav.show {
  opacity: 1;
  visibility: visible;
}
header nav.show .h1 {
  transition-delay: 0.25s;
  opacity: 1;
}
header .menu {
  cursor: pointer;
  width: 2rem;
  height: 2rem;
  position: fixed;
  top: 2.5rem;
  right: 2rem;
  transform: translateY(-50%);
  z-index: 99;
}
@media only screen and (min-width: 1080px) {
  header .menu {
    display: none;
  }
}
header .menu div {
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  transition: 0.25s;
  background: #094899;
  margin: 0 auto;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  opacity: 1;
}
@media only screen and (max-width: 1079px) {
  header .menu .bar {
    top: calc(50% - 0.75rem);
  }
}
header .menu .bar2 {
  bottom: calc(50% - 1px);
}
@media only screen and (max-width: 1079px) {
  header .menu .bar3 {
    bottom: calc(50% - 0.75rem);
  }
}
header .menu.open div {
  background: #FFF;
}
header .menu.open .bar {
  top: 50%;
  transform: rotate(135deg);
}
header .menu.open .bar2 {
  opacity: 0;
}
header .menu.open .bar3 {
  top: 50%;
  transform: rotate(-135deg);
}
header .support_link {
  display: block;
  width: 11.125rem;
  height: 6rem;
  color: #FFF;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  text-decoration: none;
  background-color: #76C6C7;
  position: relative;
  transition: 0.5s;
}
@media only screen and (max-width: 1300px) {
  header .support_link {
    width: 8.625rem;
    line-height: 1.25;
  }
  header .support_link .br {
    display: block !important;
  }
}
@media only screen and (max-width: 1079px) {
  header .support_link {
    display: none;
  }
}
header .support_link .br {
  display: none;
}
header .support_link .absolute {
  display: block;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
header .support_link .absolute .s {
  display: block;
  font-size: 0.875rem;
  line-height: 1;
  margin-bottom: 0.75em;
}
header .contactBox {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 27.875rem;
  height: 6rem;
  color: #FFF;
  background-color: #094899;
}
@media only screen and (max-width: 1300px) {
  header .contactBox {
    width: 17.625rem;
  }
}
@media only screen and (max-width: 1079px) {
  header .contactBox {
    display: none;
    width: 100%;
    justify-content: center;
    width: auto;
    height: 4rem;
    gap: 0 4.6875vw;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 3;
  }
}
header .contactBox .tel {
  display: block;
  width: 16rem;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
}
header .contactBox .tel .small {
  display: none;
}
header .contactBox .tel .small img {
  width: auto;
  height: 1.75rem;
}
@media only screen and (min-width: 1080px) and (max-width: 1300px) {
  header .contactBox .tel {
    width: 5.875rem;
  }
  header .contactBox .tel .small {
    display: block;
  }
  header .contactBox .tel .big {
    display: none;
  }
}
@media only screen and (max-width: 1079px) {
  header .contactBox .tel {
    display: flex;
    align-items: center;
    gap: 0 0.5rem;
  }
}
header .contactBox .tel img {
  width: auto;
  height: 1.625rem;
  margin: 0 auto;
}
@media only screen and (max-width: 400px) {
  header .contactBox .tel img {
    height: 5.2734375vw;
  }
}
header .contactBox .tel span {
  display: block;
  font-size: 0.875rem;
  text-align: center;
  letter-spacing: 0.05em;
  margin: 0.75rem auto 0;
}
@media only screen and (min-width: 1080px) {
  header .contactBox .tel span {
    transform: translateX(0.5em);
  }
}
@media only screen and (max-width: 1079px) {
  header .contactBox .tel span {
    line-height: 1.15;
    margin: 0;
  }
}
@media only screen and (max-width: 400px) {
  header .contactBox .tel span {
    font-size: 2.734375vw;
  }
}
header .contactBox .form_link {
  width: 6.0625rem;
  text-align: center;
  text-decoration: none;
  line-height: 1.125rem;
  border-left: 1px solid #FFF;
}
@media only screen and (max-width: 1079px) {
  header .contactBox .form_link {
    display: flex;
    align-items: baseline;
    gap: 0 0.5rem;
    width: auto;
    padding: 0.75rem 0vw 0.75rem 4.6875vw;
    line-height: 1;
  }
}
header .contactBox .form_link.contact {
  width: 5.625rem;
}
header .contactBox .form_link span {
  display: block;
}
header .contactBox .form_link img {
  width: auto;
  height: 0.75rem;
  margin: 0.5rem auto 0;
}
@media only screen and (max-width: 1079px) {
  header .contactBox .form_link img {
    margin: 0;
  }
}
header .reservation {
  display: block;
  width: 20rem;
  height: 4rem;
  border-radius: 1rem;
  margin: 3rem auto 0;
  background-color: #FFF;
  position: relative;
}
@media only screen and (min-width: 1080px) {
  header .reservation {
    display: none;
  }
}
header .reservation span {
  display: block;
  color: #094899;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
header .reservation span::after {
  width: 0.875rem;
  height: 0.875rem;
  content: "";
  background: url("../img/link.svg") center/contain no-repeat;
}
header .sns {
  display: flex;
}
@media only screen and (min-width: 1080px) {
  header .sns {
    flex-direction: column;
    gap: 1rem;
    position: fixed;
    top: 8.125rem;
    right: 2.2rem;
  }
}
@media only screen and (max-width: 1079px) {
  header .sns {
    justify-content: center;
    align-items: center;
    gap: 0 1rem;
    margin-top: 3rem;
  }
}
header .sns li a {
  display: block;
}
header .sns li a img {
  height: 1.5rem;
}

footer {
  padding: 3rem 2rem;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  footer {
    padding-bottom: 8rem;
  }
}
footer .pageTop {
  width: 4rem;
  position: absolute;
  right: 1.875rem;
  top: -5.5rem;
}
@media only screen and (max-width: 1079px) {
  footer .pageTop {
    width: 3rem;
    top: 2rem;
  }
}
footer .cm_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1.75rem;
}
@media only screen and (max-width: 1079px) {
  footer .cm_flex {
    flex-direction: column;
    gap: 1.25rem;
  }
}
footer .logo {
  height: 4.9375rem;
}
@media only screen and (max-width: 1079px) {
  footer .logo {
    height: 8rem;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 1080px) {
  footer table {
    width: 37rem;
  }
}
footer table th {
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0.75rem 0;
  border-right: 1px solid rgba(9, 72, 153, 0.2);
}
@media only screen and (max-width: 1079px) {
  footer table th {
    min-width: 2.5rem;
  }
}
footer table th:last-child {
  border: none;
}
footer table th:first-child {
  width: 8.75rem;
}
footer table th .num {
  display: inline-block;
  letter-spacing: 0.1em;
}
footer table td {
  padding: 0.75rem 0;
  border-right: 1px solid rgba(9, 72, 153, 0.2);
}
footer table td:last-child {
  border: none;
}
footer table td img {
  width: 1rem;
  margin: 0 auto;
}
footer table td img.non {
  width: 0.75rem;
}
footer table tr:last-child th, footer table tr:last-child td {
  border-top: 1px solid rgba(9, 72, 153, 0.2);
}
footer ul {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 1.375rem;
}
@media only screen and (max-width: 1079px) {
  footer ul {
    flex-wrap: wrap;
    margin-top: 1.5rem;
  }
}
footer ul li {
  width: 12rem;
}
footer ul li:first-child {
  width: 16.375rem;
}
@media only screen and (max-width: 1079px) {
  footer ul li:first-child {
    width: 12rem;
  }
}
footer ul li a {
  display: block;
  height: 3rem;
  padding: 0.75rem 0;
  background-color: #76C6C7;
  border-radius: 0.75rem;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  footer ul li a {
    padding: 0.875rem 0;
  }
}
footer ul li a.form_link {
  background-color: #094899;
}
footer ul li a.form_link::before {
  background: url(../img/arw-b-link.svg) center/contain no-repeat;
}
footer ul li a.tel {
  background-color: #094899;
}
footer ul li a.tel::before {
  display: none;
}
footer ul li a.tel img {
  height: 1.5rem;
  margin: 0 auto;
}
@media only screen and (max-width: 1079px) {
  footer ul li a.tel img {
    height: 1.25rem;
  }
}
footer ul li a:hover::before {
  width: 1.5rem;
  height: 1.5rem;
}
footer ul li a span {
  display: block;
  color: #FFF;
  font-weight: bold;
  position: absolute;
  top: 50%;
  left: 1.5rem;
  transition: 0.375s;
  transform: translateY(-50%);
  white-space: nowrap;
}
footer ul li a::before {
  width: 1rem;
  height: 1rem;
  content: "";
  background: url(../img/arw-g.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transition: 0.375s;
  transform: translate(50%, -50%);
  z-index: 2;
}
footer address {
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  margin: calc(1.375rem - 0.25em) 0 -0.25rem;
}
@media only screen and (max-width: 1079px) {
  footer address {
    margin: calc(2rem - 0.25em) 0 -0.25rem;
  }
}
footer .copy {
  font-family: "Jost", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-align: center;
  margin-top: 3rem;
}
@media only screen and (max-width: 1079px) {
  footer .copy {
    margin-top: 2rem;
  }
}

.slide_loop {
  width: 100%;
  position: relative;
}
.slide_loop.center {
  overflow: visible;
}
.slide_loop.center .mask {
  overflow: visible;
}
.slide_loop.center .mask .image {
  justify-content: flex-start;
  position: static;
}
.slide_loop.center .thum {
  display: none;
}
.slide_loop .prev, .slide_loop .next {
  cursor: pointer;
}
.slide_loop .prev:hover, .slide_loop .next:hover {
  opacity: 0.5;
}
.slide_loop .prev.hide, .slide_loop .next.hide {
  opacity: 0;
  visibility: hidden;
}
.slide_loop .mask {
  overflow: hidden;
  position: relative;
}
.slide_loop .mask .image {
  position: absolute;
  top: 0;
  left: 0;
}
.slide_loop .mask .image.active {
  transition: 0.5s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.slide_loop .mask .image li {
  float: left;
  margin: 0;
}

.subPage {
  overflow: hidden;
}
.subPage header h1 {
  transition: 0.5s;
  opacity: 0;
}
.subPage .contents {
  padding-top: 6rem;
}
@media only screen and (max-width: 1079px) {
  .subPage .contents {
    padding-top: 5rem;
  }
}
.subPage .contents.status #fv h1 {
  transition-delay: 0.125s;
  opacity: 1;
}
@media only screen and (min-width: 1080px) {
  .subPage .contents.status #fv h1 {
    transform: translate(0, -50%);
  }
}
@media only screen and (max-width: 1079px) {
  .subPage .contents.status #fv h1 {
    transform: translate(0, 0);
  }
}
.subPage .contents.status #fv .image {
  transition-delay: 0.125s;
  transform: translate(0, 0);
  opacity: 1;
}
.subPage .contents.status .container {
  transition-delay: 0.625s;
  transform: translateY(0);
  opacity: 1;
}
.subPage .contents #fv {
  position: relative;
}
.subPage .contents #fv h1 {
  color: #094899;
  font-size: 3rem;
  letter-spacing: 0.2em;
  position: absolute;
  top: calc(50% + 3.5rem);
  left: calc(50% - 30rem);
  z-index: 2;
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  opacity: 0;
}
@media only screen and (min-width: 1080px) {
  .subPage .contents #fv h1 {
    transform: translate(-2rem, -50%);
  }
}
@media only screen and (max-width: 1079px) {
  .subPage .contents #fv h1 {
    font-size: 2.25rem;
    top: initial;
    bottom: 1.5384615385rem;
    left: 2rem;
    transform: translate(-2rem, 0);
  }
}
.subPage .contents #fv h1 .en {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-top: 1.25rem;
  transform: translateX(0.5rem);
}
@media only screen and (max-width: 1079px) {
  .subPage .contents #fv h1 .en {
    margin-top: 0.875rem;
  }
}
.subPage .contents #fv .image {
  width: 65vw;
  height: 26vw;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 1.5rem 0 0 1.5rem;
  margin-left: auto;
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translate(2rem, 0);
  opacity: 0;
}
@media only screen and (max-width: 1079px) {
  .subPage .contents #fv .image {
    width: calc(100% - 4rem);
    height: 54.6875vw;
  }
}
.subPage .contents .container {
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(2rem);
  opacity: 0;
}
.subPage .contents .w830 {
  width: calc(100% - 3em);
  max-width: 830px;
  margin: 0 auto;
}
.subPage .contents .w960 {
  width: calc(100% - 4em);
  max-width: 960px;
  margin: 0 auto;
}
.subPage .contents .w1120 {
  width: calc(100% - 4em);
  max-width: 1120px;
  margin: 0 auto;
}
.subPage .contents .fs20 {
  color: #094899;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: calc(4rem - 0.25em) 0 -0.25em;
}
.subPage .contents .fs24 {
  color: #094899;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: -0.25rem 0;
}
@media only screen and (max-width: 1079px) {
  .subPage .contents .fs24 {
    font-size: 1.375rem;
  }
}
.subPage .contents .fs28 {
  color: #094899;
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.15em;
  margin: calc(6rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 1079px) {
  .subPage .contents .fs28 {
    font-size: 1.25rem;
  }
}
.subPage .contents h2 + .fs28 {
  margin: calc(3rem - 0.25em) 0 -0.25em;
}
.subPage .contents .fs32 {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.2em;
  margin: -0.25rem 0;
}
@media only screen and (max-width: 1079px) {
  .subPage .contents .fs32 {
    font-size: 1.5rem;
  }
}
.subPage .contents .fs36 {
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.2em;
  margin: -0.25rem 0;
}
@media only screen and (max-width: 1079px) {
  .subPage .contents .fs36 {
    font-size: 1.75rem;
    margin: calc(3rem - 0.2em) 0 -0.2rem;
  }
}
.subPage .contents .fs40 {
  color: #094899;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.2em;
  margin: calc(5.25rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 1079px) {
  .subPage .contents .fs40 {
    font-size: 2rem;
    margin: calc(4rem - 0.25em) 0 -0.25em;
  }
}
.subPage .contents .txt {
  letter-spacing: 0.05em;
  line-height: 2;
  margin: calc(2rem - 0.5em) 0 -0.5rem;
}
.subPage .contents .flowList {
  max-width: 752px;
  margin: 0 auto;
}
.subPage .contents .flowList li {
  padding-left: 1.5rem;
  padding-bottom: 4rem;
  position: relative;
}
.subPage .contents .flowList li::after {
  width: 2px;
  height: calc(100% - 0.25rem);
  content: "";
  background: #094899;
  position: absolute;
  left: -1px;
  bottom: -2px;
}
.subPage .contents .flowList li .dt {
  display: block;
  color: #094899;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  .subPage .contents .flowList li .dt {
    font-size: 1.25rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin: -0.25em 0;
  }
}
.subPage .contents .flowList li .dt::after {
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  border: 0.375rem solid #094899;
  background-color: #FFF;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: -2.25rem;
  transform: translateY(-50%);
  z-index: 2;
}
@media only screen and (max-width: 1079px) {
  .subPage .contents .flowList li .dt::after {
    left: -2.125rem;
  }
}
.subPage .contents .flowList li .dd {
  display: block;
  letter-spacing: 0.05em;
  line-height: 2;
  margin: calc(2rem - 0.5em) 0 -0.5rem;
}
.subPage .contents .flowList li .dd a {
  display: block;
  padding-left: 1rem;
  background: url("../img/_arw-b.svg") left center/0.875rem no-repeat;
  position: relative;
}
.subPage .contents .flowList li .dd .flex {
  display: flex;
  gap: 0 2rem;
}
@media only screen and (max-width: 1079px) {
  .subPage .contents .flowList li .dd .flex {
    display: block;
  }
}
.subPage .contents ul.disc {
  list-style: square none;
  padding-left: 1.25rem;
  margin: calc(1.25rem - 0.5em) 0 -0.5rem;
}
.subPage .contents ul.disc li {
  line-height: 2;
  letter-spacing: 0.05em;
}

#index {
  overflow: hidden;
}
#index header .support_link {
  border-radius: 0 0 0 1rem;
}
@media only screen and (max-width: 1079px) {
  #index header .h1 {
    width: 7.7906625rem;
    height: 10rem;
    left: 50%;
    top: 3rem;
    transform: translateX(-50%);
  }
}
@media only screen and (max-width: 1079px) {
  #index header .h1 img {
    width: 100%;
    height: 100%;
  }
}
@media only screen and (max-width: 1079px) {
  #index .contents {
    padding-top: 11.25rem;
  }
}
#index .app_btn.status {
  opacity: 1;
  transform: translate(-50%, 0);
}
@media only screen and (min-width: 1080px) {
  #index .app_btn {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    z-index: 8;
    transition: 0.25s;
    transform: translate(-50%, 2rem);
    opacity: 0;
  }
}
@media only screen and (max-width: 1079px) {
  #index .app_btn {
    display: none;
    margin: 3rem auto 0;
    transform: translateX(-1rem);
  }
}
#index #fv {
  position: relative;
}
@media only screen and (min-width: 1080px) {
  #index #fv {
    height: 100vh;
    padding-top: 11rem;
  }
}
#index #fv.status .image {
  transition-delay: 0.125s;
  opacity: 1;
}
#index #fv.status .catch img {
  transition-delay: 0.375s;
  transform: translate(0);
  opacity: 1;
}
#index #fv.status .catch p {
  transition-delay: 0.5s;
  transform: translate(0);
  opacity: 1;
}
#index #fv::before {
  width: 7.4375vw;
  height: 12.5vw;
  content: "";
  background: url("../img/index/01.svg") center/cover no-repeat;
  position: absolute;
  left: 2.97204375vw;
  top: calc(100vh - 11vw);
  z-index: 3;
}
@media only screen and (max-width: 1079px) {
  #index #fv::before {
    display: none;
  }
}
#index #fv::after {
  width: 13.125vw;
  height: 17.5vw;
  content: "";
  background: url("../img/index/02.svg") center/cover no-repeat;
  position: absolute;
  left: 87.25980625vw;
  top: calc(100vh - 12vw);
  z-index: 3;
}
@media only screen and (max-width: 1079px) {
  #index #fv::after {
    display: none;
  }
}
#index #fv .image {
  width: 63.75vw;
  height: calc(100vh - 14rem);
  background: url("../img/index/main.webp") center/cover no-repeat;
  border-radius: 0 1.5rem 1.5rem 0;
  transition: 0.5s;
  opacity: 0;
}
@media only screen and (max-width: 1079px) {
  #index #fv .image {
    width: calc(100% - 2rem);
    height: 87.5vw;
  }
}
@media only screen and (min-width: 1080px) {
  #index #fv .catch {
    width: 30rem;
    position: absolute;
    left: 70vw;
    top: calc(11rem + (100vh - 14rem) / 2);
    transform: translate(-50%, -50%);
  }
}
@media only screen and (max-width: 1079px) {
  #index #fv .catch {
    width: calc(100% - 4rem);
    margin: -1.5rem auto 0;
  }
}
#index #fv .catch img {
  height: 10.22900625rem;
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateX(2rem);
  opacity: 0;
}
@media only screen and (max-width: 1079px) {
  #index #fv .catch img {
    height: 7.9556125rem;
  }
}
#index #fv .catch p {
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0.05em;
  margin: calc(3rem - 0.5em) 0 -0.5rem;
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  opacity: 0;
}
@media only screen and (min-width: 1080px) {
  #index #fv .catch p {
    transform: translateX(2rem);
  }
}
@media only screen and (max-width: 1079px) {
  #index #fv .catch p {
    transform: translateY(2rem);
  }
}
#index #index01 {
  margin-top: 10rem;
  position: relative;
}
@media only screen and (min-width: 1080px) {
  #index #index01.fixed h2 {
    position: fixed;
    top: 50%;
    transform: translate(-100%, -50%);
  }
  #index #index01.fixed .imgList {
    position: fixed;
    top: 50%;
    transform: translate(0, -50%);
  }
  #index #index01.absolute h2 {
    position: absolute;
    top: auto;
    bottom: 0;
    transform: translate(-100%, 0);
  }
  #index #index01.absolute .imgList {
    position: absolute;
    top: auto;
    bottom: 0;
    transform: translate(0, 0);
  }
}
@media only screen and (max-width: 1079px) {
  #index #index01 {
    margin-top: 6rem;
    padding: 0 2rem;
  }
}
#index #index01 .blank {
  pointer-events: none;
  width: 100%;
  height: 12rem;
  position: absolute;
}
@media only screen and (min-width: 1080px) {
  #index #index01 h2 {
    width: 5rem;
    height: calc(100vh - 24rem);
    border-right: 1px solid #094899;
    position: absolute;
    top: 0;
    left: calc(50vw - 480px);
    transform: translate(-100%, 0%);
  }
}
@media only screen and (max-width: 1079px) {
  #index #index01 h2 {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #094899;
  }
}
@media only screen and (min-width: 1080px) {
  #index #index01 h2 img {
    width: 2.045rem;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media only screen and (max-width: 1079px) {
  #index #index01 h2 img {
    height: 2.55095rem;
  }
}
@media only screen and (min-width: 1080px) {
  #index #index01 .list {
    max-width: 960px;
    padding-left: 4rem;
    margin: 0 auto;
  }
}
#index #index01 .list dl {
  color: #094899;
}
@media only screen and (min-width: 1080px) {
  #index #index01 .list dl {
    margin-top: 7rem;
  }
  #index #index01 .list dl:first-child {
    margin: 0;
  }
}
@media only screen and (max-width: 1079px) {
  #index #index01 .list dl {
    margin-top: 3rem;
  }
}
#index #index01 .list dl.status dt {
  transform: translateX(0);
  opacity: 1;
}
#index #index01 .list dl.status dd {
  transition-delay: 0.25s;
  transform: translateX(0);
  opacity: 1;
}
#index #index01 .list dl.status dd .b::after {
  transition-delay: 0.25s;
  transform: translateY(-50%) scale(1, 1);
}
#index #index01 .list dl dt {
  font-family: "Jost", sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  padding-bottom: 0.75rem;
  position: relative;
  transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateX(1.5rem);
  opacity: 0;
}
#index #index01 .list dl dt::after {
  width: 3rem;
  height: 1px;
  content: "";
  background: #094899;
  position: absolute;
  left: 0;
  bottom: 0;
}
#index #index01 .list dl dd {
  font-weight: bold;
  font-size: 1.75rem;
  line-height: 1.5;
  letter-spacing: 0.15em;
  margin: calc(2rem - 0.25em) 0 -0.25rem;
  transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateX(1.5rem);
  opacity: 0;
}
@media only screen and (max-width: 1079px) {
  #index #index01 .list dl dd {
    margin-top: calc(1.5rem - 0.25em);
  }
}
#index #index01 .list dl dd .b {
  display: inline-block;
  color: #FFF;
  font-size: 2.25rem;
  font-feature-settings: "palt";
  padding: 0 0.0625rem 0 0.375rem;
  margin-right: 0.25rem;
  position: relative;
}
#index #index01 .list dl dd .b::after {
  width: 100%;
  height: 3rem;
  content: "";
  background-color: #094899;
  position: absolute;
  left: 0%;
  top: 50%;
  transition: 0.5s cubic-bezier(0.5, 0, 0.75, 0);
  transform: translateY(-50%) scale(0, 1);
  transform-origin: left;
  z-index: -1;
}
#index #index01 .list dl dd .b.b2 span.trans {
  transform: translateY(-3.5px);
}
#index #index01 .list dl dd .b.b3 {
  padding-left: 0.125rem;
}
#index #index01 .list dl dd .b span {
  display: inline-block;
}
#index #index01 .list dl dd .b span.trans {
  transform: translateY(-1.5px);
}
#index #index01 .list dl dd .b span.num {
  font-weight: normal;
  letter-spacing: 0;
  transform: translateY(2px);
}
#index #index01 .list dl dd .b span.fs28 {
  font-size: 1.75rem;
}
#index #index01 .list dl dd .b span.fs40 {
  font-size: 2.5rem;
}
@media only screen and (min-width: 1080px) {
  #index #index01 .imgList {
    width: calc(50vw - 5rem);
    height: calc(100vh - 24rem);
    overflow: hidden;
    position: absolute;
    top: 0;
    left: calc(50vw + 5rem);
  }
  #index #index01 .imgList ul {
    width: calc((100vh - 24rem) * 0.6486486486 * 5 + 12.5rem);
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
  }
  #index #index01 .imgList ul li {
    margin-right: 2.5rem;
  }
  #index #index01 .imgList ul li img {
    width: calc((100vh - 24rem) * 0.6486486486);
    height: calc(100vh - 24rem);
  }
}
@media only screen and (max-width: 1079px) {
  #index #index01 .imgList {
    margin-top: 3rem;
  }
  #index #index01 .imgList ul li {
    display: none;
  }
  #index #index01 .imgList ul li:first-child {
    display: block;
  }
  #index #index01 .imgList ul li img {
    width: 75%;
    margin: 0 auto;
  }
}
#index #index02 {
  background: rgba(118, 198, 199, 0.15);
  margin-top: 12rem;
  padding: 8rem 0;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #index #index02 {
    margin-top: 6rem;
    padding: 6rem 0;
  }
}
#index #index02::after {
  width: 110vw;
  height: 73.8125vw;
  content: "";
  background: url("../img/index/08.svg") center/cover no-repeat;
  position: absolute;
  left: 50%;
  top: 7.875vw;
  transform: translateX(-50%);
}
#index #index02 .wrap {
  width: calc(100% - 4rem);
  max-width: 1120px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
#index #index02 h2 {
  color: #094899;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
}
#index #index02 h2 .jp {
  display: block;
  font-size: 2.5rem;
  line-height: 1.5;
  margin: -0.25em 0;
}
@media only screen and (max-width: 1079px) {
  #index #index02 h2 .jp {
    font-size: 2rem;
  }
}
#index #index02 h2 .en {
  display: block;
  font-family: "Jost", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  margin-top: 1rem;
}
#index #index02 .case {
  margin-top: 3rem;
}
@media only screen and (min-width: 1080px) {
  #index #index02 .case {
    display: flex;
    gap: 0 3rem;
    justify-content: center;
  }
}
#index #index02 .case dl {
  text-align: center;
  background-color: #FFF;
  border-radius: 1rem;
}
@media only screen and (min-width: 1080px) {
  #index #index02 .case dl {
    width: 21.375rem;
  }
}
@media only screen and (max-width: 1079px) {
  #index #index02 .case dl {
    margin-top: 3rem;
  }
}
#index #index02 .case dl dt {
  padding: 2rem 0;
  color: #094899;
  position: relative;
}
#index #index02 .case dl dt::after {
  width: 0;
  height: 0;
  content: "";
  border-style: solid;
  border-width: 1rem 1.5rem 0 1.5rem;
  border-color: #FFFFFF transparent transparent transparent;
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  transform: translateX(-50%);
}
#index #index02 .case dl dt .en {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}
#index #index02 .case dl dt .dt {
  display: block;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin: calc(1rem - 0.25em) 0 -0.25rem;
}
#index #index02 .case dl dt img {
  height: 8rem;
  margin: 1.5rem auto 0;
}
#index #index02 .case dl dd {
  color: #FFF;
  padding: 2rem 0;
  border-radius: 0 0 1rem 1rem;
  background-color: #76C6C7;
}
#index #index02 .case dl dd .en {
  color: #FFF;
}
#index #index02 .case dl dd .dd {
  display: block;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin: calc(1rem - 0.3em) 0 -0.3rem;
}
#index #index02 h3 {
  color: #094899;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.15em;
  margin-top: 6rem;
}
@media only screen and (max-width: 1079px) {
  #index #index02 h3 {
    font-size: 1.25rem;
  }
}
#index #index02 h3 span {
  display: inline-block;
  position: relative;
}
#index #index02 h3 span::before {
  width: 0.375rem;
  height: 4.5rem;
  content: "";
  background: url("../img/left.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: -2.5rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 1079px) {
  #index #index02 h3 span::before {
    height: 3.0625rem;
    background-size: contain;
  }
}
#index #index02 h3 span::after {
  width: 0.375rem;
  height: 4.5rem;
  content: "";
  background: url("../img/right.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  right: -2.5rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 1079px) {
  #index #index02 h3 span::after {
    height: 3.0625rem;
    background-size: contain;
  }
}
#index #index02 .list {
  display: flex;
  justify-content: center;
  margin-top: 3.3125rem;
}
@media only screen and (max-width: 1079px) {
  #index #index02 .list {
    overflow: scroll;
    justify-content: flex-start;
  }
}
#index #index02 .list img {
  height: 35rem;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
#index #index02 .list ul li {
  margin-top: 1rem;
}
#index #index02 .list ul li:first-child {
  margin: 0;
}
#index #index02 .list ul li a {
  display: block;
  width: 17.5rem;
  height: 8rem;
  background-color: #76C6C7;
  border-radius: 1rem;
  position: relative;
}
#index #index02 .list ul li a span {
  display: block;
  width: 100%;
  color: #FFF;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.2em;
  position: absolute;
  top: 50%;
  left: 0;
  transition: 0.375s;
  transform: translateY(-50%);
  white-space: nowrap;
}
#index #index02 .list ul li a::before {
  width: 1.5rem;
  height: 1.5rem;
  content: "";
  background: url(../img/arw-g.svg) center/contain no-repeat;
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  transition: 0.375s;
  z-index: 2;
}
#index #index02 #type h2 {
  margin-top: 8rem;
}
#index #index02 #type h2 + .box {
  margin-top: 2.8125rem;
}
#index #index02 #type .box {
  background: rgb(255, 255, 255);
  border: 2px solid #094899;
  border-radius: 1rem;
  margin-top: 4rem;
  position: relative;
}
#index #index02 #type .box figure {
  position: absolute;
  bottom: calc(100% + 2px);
  left: 9.1071428571%;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box figure {
    left: 6.25%;
  }
}
#index #index02 #type .box figure img {
  height: 10rem;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box figure img {
    height: 7rem;
  }
}
#index #index02 #type .box h4 {
  color: #094899;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.15em;
  border-bottom: 2px solid #094899;
  padding: 2.375rem 0;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box h4 {
    font-size: 1.25rem;
    padding: 1.5rem 0;
  }
}
#index #index02 #type .box h4::before {
  width: 4.5rem;
  height: 1.6875rem;
  content: "";
  background: url(../img/index/11.svg) center/cover no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 99%;
  transition: 0.375s;
  z-index: 2;
}
#index #index02 #type .box .w {
  padding: 3.625rem 5rem 3.3125rem;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box .w {
    padding: 3.625rem 2rem 3.3125rem;
  }
}
#index #index02 #type .box .w::after {
  width: 0;
  height: 0;
  content: "";
  border-style: solid;
  border-width: 1.5rem 2.25rem 0 2.25rem;
  border-color: #FFFFFF transparent transparent transparent;
  position: absolute;
  left: 50%;
  top: calc(100% - 2px);
  transform: translateX(-50%);
}
#index #index02 #type .box .w .lead {
  color: #094899;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.2em;
  line-height: 1;
  margin: 0;
}
#index #index02 #type .box .w .lead .fs20 {
  display: block;
  font-size: 1.25rem;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box .w .lead .fs20 {
    font-size: 1rem;
  }
}
#index #index02 #type .box .w .lead .fs80 {
  display: block;
  font-size: 5rem;
  padding: 1.25rem 0 2rem;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box .w .lead .fs80 {
    font-size: 3.5rem;
    line-height: 1.25;
    padding: 1rem 0 1.5rem;
  }
}
#index #index02 #type .box .w .lead .fs28 {
  display: block;
  line-height: 1.75;
  letter-spacing: 0.15em;
  margin: -0.375em 0;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box .w .lead .fs28 {
    font-size: 1.25rem;
  }
}
#index #index02 #type .box .w .lead .fs28 span {
  position: relative;
  display: inline-block;
}
#index #index02 #type .box .w .lead .fs28 span::before {
  width: 100%;
  height: 0.4375rem;
  content: "";
  background: url(../img/wave.svg) left center/278px repeat-x;
  position: absolute;
  left: 0;
  top: 2.5rem;
  transition: 0.375s;
  z-index: 2;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box .w .lead .fs28 span::before {
    top: 2rem;
    background-size: 160px;
  }
}
#index #index02 #type .box .w p {
  line-height: 2;
  margin: calc(2.8125rem - 0.5em) 0 -0.5rem;
}
#index #index02 #type .box .w img {
  height: 19rem;
  margin: 3rem auto 0;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box .w img {
    height: auto;
  }
}
#index #index02 #type .box .g {
  color: #FFF;
  padding: 3.75rem 5rem 3.3125rem;
  background-color: #76C6C7;
  border-radius: 0 0 1rem 1rem;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box .g {
    padding: 3.75rem 2rem 3.3125rem;
  }
}
#index #index02 #type .box .g .point {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box .g .point {
    font-size: 1rem;
  }
}
#index #index02 #type .box .g .point span {
  display: block;
  font-size: 1.75rem;
  letter-spacing: 0.15em;
  margin-top: 1.25rem;
  padding-top: 1.75rem;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #index #index02 #type .box .g .point span {
    font-size: 1.5rem;
    line-height: 1.5;
    margin-top: 1rem;
    padding-top: 1.5rem;
  }
}
#index #index02 #type .box .g .point span::after {
  width: 4rem;
  height: 2px;
  content: "";
  background-color: #FFF;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
#index #index02 #type .box .g p {
  line-height: 2;
  margin: calc(2rem - 0.5em) 0 -0.5rem;
}
#index #index02 #type .box .g .cm_link_b {
  background: #FFF;
  margin: 2rem auto 0;
}
#index #index02 #type .box .g .cm_link_b span {
  color: #76C6C7;
}
#index #index02 #type .box .g .cm_link_b::before {
  background-image: url(../img/_arw-g.svg);
}
#index #index02 .col2 {
  margin-top: 5.5rem;
}
@media only screen and (min-width: 1080px) {
  #index #index02 .col2 {
    display: flex;
    justify-content: center;
    gap: 0 4rem;
  }
}
@media only screen and (max-width: 1079px) {
  #index #index02 .col2 {
    margin-top: 3.5rem;
  }
}
#index #index02 .col2 dl {
  background: #FFF;
  border-radius: 1rem;
  padding: 3rem;
}
@media only screen and (min-width: 1080px) {
  #index #index02 .col2 dl {
    width: calc((100% - 4rem) / 2);
  }
}
@media only screen and (max-width: 1079px) {
  #index #index02 .col2 dl {
    padding: 2rem;
    margin-top: 3rem;
  }
}
#index #index02 .col2 dl dt {
  color: #094899;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
}
#index #index02 .col2 dl dd {
  line-height: 2;
  margin: calc(2rem - 0.5em) 0 -0.5rem;
}
#index #index02 .fs40 {
  color: #094899;
  font-size: 2.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.2em;
  margin: calc(5.8125rem - 0.25em) 0 -0.25rem;
}
@media only screen and (max-width: 1079px) {
  #index #index02 .fs40 {
    font-size: 2rem;
  }
}
#index #index02 .fs40 + p {
  max-width: 960px;
  line-height: 2;
  margin: calc(2rem - 0.5em) auto -0.5rem;
}
#index #index02 .slide_loop {
  width: 100%;
  margin-top: 3rem;
  overflow: hidden;
}
#index #index02 .slide_loop .image {
  display: flex;
  gap: 0 2rem;
  animation: scroll-left 60s infinite linear 0.5s both;
}
@media only screen and (max-width: 1079px) {
  #index #index02 .slide_loop .image {
    animation-duration: 20s;
  }
}
#index #index02 .slide_loop .image li {
  flex-shrink: 0;
  width: 40rem;
  height: 22.5rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 1.5rem;
}
@media only screen and (max-width: 1079px) {
  #index #index02 .slide_loop .image li {
    width: 62.5vw;
    height: 35.15625vw;
  }
}
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
#index #index02 .cm_link_b {
  margin: 3rem auto 0;
}
@media only screen and (min-width: 1080px) {
  #index #index02 .blank {
    height: 5rem;
    margin-top: 3rem;
  }
}
#approach .contents #fv {
  background: #FFF;
  padding: 0;
  margin: 0;
}
#approach .contents > section:nth-child(odd) {
  padding: 8rem 0;
  margin-top: 8rem;
  background: rgba(118, 198, 199, 0.15);
}
@media only screen and (max-width: 1079px) {
  #approach .contents > section:nth-child(odd) {
    padding: 6rem 0;
    margin-top: 6rem;
  }
}
#approach .contents h2 {
  color: #094899;
  font-size: 0.875rem;
  font-weight: bold;
}
#approach .contents h2 .en {
  font-weight: 500;
  letter-spacing: 0.2em;
  padding-bottom: 1em;
  position: relative;
}
#approach .contents h2 .en::after {
  width: 3rem;
  height: 1px;
  content: "";
  background: #094899;
  position: absolute;
  left: 0;
  bottom: 0;
}
#approach .contents h2 .jp {
  display: block;
  font-size: 4rem;
  letter-spacing: 0.1em;
  margin-top: 2rem;
}
@media only screen and (max-width: 1079px) {
  #approach .contents h2 .jp {
    font-size: 3rem;
    margin-top: 1.75rem;
  }
}
#approach .contents h3 {
  color: #094899;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.15em;
  margin-top: 6rem;
}
@media only screen and (max-width: 1079px) {
  #approach .contents h3 {
    font-size: 1.25rem;
  }
}
#approach .contents h3 span {
  display: inline-block;
  position: relative;
}
#approach .contents h3 span::before {
  width: 0.375rem;
  height: 4.5rem;
  content: "";
  background: url("../img/left.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: -2.5rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 1079px) {
  #approach .contents h3 span::before {
    height: 3.0625rem;
    background-size: contain;
  }
}
#approach .contents h3 span::after {
  width: 0.375rem;
  height: 4.5rem;
  content: "";
  background: url("../img/right.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  right: -2.5rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 1079px) {
  #approach .contents h3 span::after {
    height: 3.0625rem;
    background-size: contain;
  }
}
#approach .contents h4 {
  color: #094899;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-top: 4rem;
  padding-bottom: 0.625rem;
  border-bottom: 2px solid #094899;
}
@media only screen and (max-width: 1079px) {
  #approach .contents h4 {
    text-align: center;
  }
}
#approach .contents h5 {
  color: #094899;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-top: 3rem;
}
#approach .contents dl.checkList dt {
  color: #094899;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding-left: 2rem;
  margin-top: 4.1875rem;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #approach .contents dl.checkList dt {
    font-size: 1.25rem;
    margin-top: 4rem;
  }
}
#approach .contents dl.checkList dt::before {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background: url("../img/check.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#approach .contents dl.checkList dt span {
  display: inline-block;
  background-color: #76C6C7;
  color: #FFF;
  letter-spacing: 0.05em;
  font-size: 1rem;
  border-radius: 1.0625rem;
  padding: 0.5rem 1rem;
  vertical-align: text-bottom;
  margin-left: 1rem;
}
@media only screen and (max-width: 1079px) {
  #approach .contents dl.checkList dt span {
    margin-left: 0.5rem;
    vertical-align: middle;
  }
}
#approach .contents dl.checkList dd {
  letter-spacing: 0.05em;
  line-height: 2;
  margin: calc(2rem - 0.5em) 0 -0.5rem;
}
#approach .contents ul.checkList li {
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 1.75rem;
  padding-left: 2rem;
  position: relative;
}
#approach .contents ul.checkList li::before {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background: url("../img/check.svg") center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#approach .contents .imgList {
  display: flex;
  justify-content: center;
  gap: 0 1.5rem;
  margin-top: 3rem;
}
@media only screen and (max-width: 1079px) {
  #approach .contents .imgList {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
#approach .contents .imgList li {
  width: 19rem;
  background-color: #FFF;
  border-radius: 1rem;
  padding-bottom: 2rem;
}
@media only screen and (min-width: 1080px) {
  #approach .contents .imgList li:last-child .img::after {
    display: none;
  }
}
@media only screen and (max-width: 1079px) {
  #approach .contents .imgList li:first-child .img::after {
    display: none;
  }
}
#approach .contents .imgList li .img {
  position: relative;
}
#approach .contents .imgList li .img::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  position: absolute;
}
@media only screen and (min-width: 1080px) {
  #approach .contents .imgList li .img::after {
    border-width: 0.625rem 0 0.625rem 1.08125rem;
    border-color: transparent transparent transparent #094899;
    top: 50%;
    right: 0;
    transform: translateX(calc(50% + 0.75rem)) translateY(-50%);
  }
}
@media only screen and (max-width: 1079px) {
  #approach .contents .imgList li .img::after {
    border-width: 1.08125rem 0.625rem 0 0.625rem;
    border-color: #094899 transparent transparent transparent;
    top: 0;
    left: 50%;
    transform: translateX(-50%) translateY(calc(-50% - 1rem));
  }
}
#approach .contents .imgList li img {
  border-radius: 1rem 1rem 0 0;
}
#approach .contents .imgList li span {
  display: block;
  letter-spacing: 0.05em;
  line-height: 1.75;
  text-align: center;
  margin: calc(2rem - 0.375em) 0 -0.375em;
}
#approach #approach00 {
  margin-top: 4.5625rem;
}
#approach #approach00 .cm_flex {
  gap: 0 2rem;
}
#approach #approach00 .cm_flex dl dt {
  color: #094899;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.2em;
  margin: -0.25rem 0;
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .cm_flex dl dt {
    font-size: 5.46875vw;
    letter-spacing: 0.15em;
  }
}
#approach #approach00 .cm_flex dl dt span {
  display: inline;
  color: #FFF;
  padding: 0 0.25rem 0 0.5rem;
  margin-right: 0.25rem;
  position: relative;
}
#approach #approach00 .cm_flex dl dt span::after {
  width: 100%;
  height: 3.25rem;
  content: "";
  background-color: #094899;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .cm_flex dl dt span::after {
    height: 8vw;
  }
}
#approach #approach00 .cm_flex dl dd {
  letter-spacing: 0.05em;
  line-height: 2;
  margin: calc(2.5rem - 0.5em) 0 -0.5rem;
}
#approach #approach00 .cm_flex img {
  height: 18.75rem;
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .cm_flex img {
    display: none;
  }
}
#approach #approach00 .list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3rem;
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .list {
    flex-direction: column;
    justify-content: center;
    gap: 2rem 0;
  }
}
#approach #approach00 .list dl {
  text-align: center;
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .list dl {
    border-bottom: 1px solid #094899;
    padding-bottom: 2rem;
  }
  #approach #approach00 .list dl:last-child {
    border: none;
    padding-bottom: 0;
  }
}
@media only screen and (min-width: 1080px) {
  #approach #approach00 .list dl {
    width: 50%;
  }
  #approach #approach00 .list dl:nth-child(odd) {
    border-right: 1px solid #094899;
  }
  #approach #approach00 .list dl:nth-child(-n+2) {
    border-bottom: 1px solid #094899;
    padding-bottom: 2rem;
  }
  #approach #approach00 .list dl:nth-last-child(-n+2) {
    padding-top: 2rem;
  }
}
#approach #approach00 .list dl dt {
  color: #094899;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .list dl dt {
    font-size: 1.25rem;
  }
}
#approach #approach00 .list dl dt .en {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-bottom: 1em;
}
#approach #approach00 .list dl dd {
  letter-spacing: 0.05em;
  line-height: 1.75;
  margin: calc(1.375rem - 0.375em) 0 -0.375rem;
}
#approach #approach00 .about {
  margin-top: 5.8125rem;
  padding: 2.5rem 2.875rem 2.6875rem;
  border: 2px solid #094899;
  border-radius: 1rem;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .about {
    padding: 2rem 1.5rem 2.1875rem;
  }
}
#approach #approach00 .about h4 {
  margin: -0.25em 0;
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .about h4 {
    text-align: center;
  }
}
@media only screen and (min-width: 1080px) {
  #approach #approach00 .about .flex {
    display: flex;
    gap: 0 7.8125%;
  }
}
@media only screen and (min-width: 1080px) {
  #approach #approach00 .about .flex .txt {
    max-width: 29rem;
  }
}
@media only screen and (min-width: 1080px) {
  #approach #approach00 .about .flex .profile {
    text-align: right;
  }
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .about .flex .profile {
    text-align: center;
  }
}
#approach #approach00 .about .flex .profile h5 {
  margin: calc(2rem - 0.25em) 0 -0.25rem;
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .about .flex .profile h5 {
    margin: calc(4rem - 0.25em) 0 -0.25rem;
  }
}
#approach #approach00 .about .flex .profile .name {
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  margin-top: 1.75rem;
}
#approach #approach00 .about .flex .profile .name .en {
  color: #094899;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-top: 1em;
}
#approach #approach00 .about .flex .profile .blue {
  color: #094899;
  letter-spacing: 0.05em;
  line-height: 2;
  margin: calc(2.25rem - 0.5em) 0 -0.5rem;
}
#approach #approach00 .about .flex .profile .blue a {
  position: relative;
}
#approach #approach00 .about .flex .profile .blue a::before {
  width: 0.875rem;
  height: 0.875rem;
  content: "";
  background: url("../img/_arw-b.svg") center/cover no-repeat;
  position: absolute;
  left: -1rem;
  top: 50%;
  transform: translateY(-50%);
}
#approach #approach00 .about .flex img {
  height: 28.4375rem;
}
@media only screen and (min-width: 1080px) {
  #approach #approach00 .about .flex img {
    position: absolute;
    top: -2.75rem;
    left: 80.3571428571%;
  }
}
@media only screen and (max-width: 1160px) {
  #approach #approach00 .about .flex img {
    left: 85.7142857143%;
  }
}
@media only screen and (max-width: 1079px) {
  #approach #approach00 .about .flex img {
    height: 12.5rem;
    margin: 2rem auto 0;
  }
}
#approach #approach01 {
  position: relative;
}
#approach #approach01::before {
  width: 13.1875rem;
  height: 17.5rem;
  content: "";
  background: url("../img/approach/03.svg") center/cover no-repeat;
  position: absolute;
  top: -4rem;
  left: 70.4375vw;
}
@media only screen and (max-width: 1079px) {
  #approach #approach01::before {
    display: none;
  }
}
#approach #approach01 .w960 .cm_flex {
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #approach #approach01 .w960 .cm_flex {
    margin-bottom: 6rem;
  }
}
#approach #approach01 .w960 .cm_flex::after {
  width: 2rem;
  height: 2rem;
  content: "";
  background: url("../img/plus.svg") center/cover no-repeat;
  position: absolute;
  top: 100%;
  left: 2rem;
}
@media only screen and (max-width: 1079px) {
  #approach #approach01 .w960 .cm_flex::after {
    left: 50%;
    top: calc(100% + 1rem);
    transform: translateX(-50%);
  }
}
@media only screen and (min-width: 1080px) {
  #approach #approach01 .w960 .cm_flex {
    justify-content: space-between;
  }
}
@media only screen and (min-width: 1080px) {
  #approach #approach01 .w960 .cm_flex .image {
    order: 2;
    width: 26.9375rem;
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 1079px) {
  #approach #approach01 .w960 .cm_flex .image {
    display: flex;
    margin-top: 2rem;
    justify-content: space-between;
  }
}
#approach #approach01 .w960 .cm_flex .image img {
  border-radius: 1.5rem;
}
@media only screen and (min-width: 1080px) {
  #approach #approach01 .w960 .cm_flex .image img {
    width: 17.5rem;
  }
  #approach #approach01 .w960 .cm_flex .image img:last-child {
    margin-left: auto;
    margin-top: -3rem;
  }
}
@media only screen and (max-width: 1079px) {
  #approach #approach01 .w960 .cm_flex .image img {
    width: calc((100% - 1rem) / 2);
  }
}
@media only screen and (min-width: 1080px) {
  #approach #approach01 .w960 .cm_flex .checkList {
    width: 30.125rem;
    order: 1;
  }
}
#approach #approach01 .slide_loop .mask .image li {
  width: 44rem;
  background: rgb(255, 255, 255);
  border: 2px solid #094899;
  border-radius: 1rem;
  margin-top: 3rem;
  padding-bottom: 2rem;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #approach #approach01 .slide_loop .mask .image li {
    width: 46.875vw;
  }
}
#approach #approach01 .slide_loop .mask .image li span {
  display: block;
}
#approach #approach01 .slide_loop .mask .image li .txt1 {
  color: #094899;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 1.5rem 0;
  border-bottom: 2px solid #094899;
  position: relative;
}
#approach #approach01 .slide_loop .mask .image li .txt1::after {
  width: 3rem;
  height: 1.1875rem;
  content: "";
  background: url(../img/approach/arw.svg) center/cover no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 99%;
  z-index: 2;
}
#approach #approach01 .slide_loop .mask .image li .txt2 {
  color: #094899;
  font-size: 2.5rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  margin-top: 2.5rem;
}
#approach #approach01 .slide_loop .mask .image li .txt2 span {
  display: inline-block;
  font-size: 1rem;
  vertical-align: middle;
}
#approach #approach01 .slide_loop .mask .image li .txt3 {
  letter-spacing: 0.05em;
  line-height: 2;
  margin: calc(2rem - 0.5em) 2rem -0.5rem;
}
#approach #approach02 {
  margin-top: 8rem;
}
@media only screen and (max-width: 1079px) {
  #approach #approach02 {
    margin-top: 6rem;
  }
}
#approach #approach02 .w960 .image {
  margin-top: 3rem;
}
#approach #approach02 .w960 .col4 {
  margin-top: 3rem;
  position: relative;
}
#approach #approach02 .w960 .col4 ul {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
#approach #approach02 .w960 .col4 ul::after {
  width: 3.5rem;
  height: 3.5rem;
  content: "";
  background: url(../img/approach/17.svg) center/cover no-repeat;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
  z-index: 2;
}
#approach #approach02 .w960 .col4 ul li {
  width: 25%;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #approach #approach02 .w960 .col4 ul li {
    width: 50%;
  }
}
#approach #approach02 .w960 .col4 ul li span {
  display: block;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
}
@media only screen and (max-width: 1079px) {
  #approach #approach02 .w960 .col4 ul li span {
    width: 100%;
    margin: 0;
    padding: 0.75rem 0;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.9);
  }
}
#approach #approach02 .w960 .col4 .app {
  width: 50%;
  margin: 2rem 0 0 auto;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #approach #approach02 .w960 .col4 .app {
    width: 100%;
  }
}
#approach #approach02 .w960 .col4 .app::after {
  width: 100%;
  height: 0.75rem;
  content: "";
  position: absolute;
  top: -1.375rem;
  left: 0;
  border-left: solid 1px #000000;
  border-right: solid 1px #000000;
  border-bottom: solid 1px #000000;
}
@media only screen and (min-width: 1080px) {
  #approach #approach02 .w960 .cm_flex {
    gap: 0 4.25rem;
  }
}
@media only screen and (min-width: 1080px) {
  #approach #approach02 .w960 .cm_flex .checkList {
    width: calc((100% - 4rem) / 2);
  }
}
#approach #approach02 .w960 .cm_flex .checkList dt {
  margin-top: 3rem;
}
#approach #approach03 .w960 .cm_flex {
  margin-top: 3.25rem;
}
@media only screen and (min-width: 1080px) {
  #approach #approach03 .w960 .cm_flex {
    align-items: flex-start;
    justify-content: space-between;
  }
}
#approach #approach03 .w960 .cm_flex .left .fs28 {
  margin: -0.25em 0;
}
@media only screen and (min-width: 1080px) {
  #approach #approach03 .w960 .cm_flex .left .txt {
    max-width: 480px;
  }
}
#approach #approach03 .w960 .cm_flex img {
  border-radius: 1.5rem;
}
@media only screen and (min-width: 1080px) {
  #approach #approach03 .w960 .cm_flex img {
    width: 27rem;
  }
}
@media only screen and (max-width: 1079px) {
  #approach #approach03 .w960 .cm_flex img {
    margin-top: 2rem;
  }
}
#approach #approach03 .w960 .imgList {
  margin-top: 2rem;
}
#approach #approach03 .w960 .cm_flex2 {
  margin-top: 4rem;
}
@media only screen and (min-width: 1080px) {
  #approach #approach03 .w960 .cm_flex2 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0 3rem;
  }
}
@media only screen and (max-width: 1079px) {
  #approach #approach03 .w960 .cm_flex2 {
    margin-top: 3rem;
  }
}
#approach #approach03 .w960 .cm_flex2 img {
  border-radius: 1.5rem;
}
@media only screen and (min-width: 1080px) {
  #approach #approach03 .w960 .cm_flex2 img {
    width: 19rem;
  }
}
@media only screen and (max-width: 1079px) {
  #approach #approach03 .w960 .cm_flex2 img {
    margin-bottom: 2rem;
  }
}
#approach #approach03 .w960 .cm_link {
  width: 15rem;
  margin: 2rem auto 0;
}
#approach #approach04 {
  margin-top: 8rem;
}
@media only screen and (max-width: 1079px) {
  #approach #approach04 {
    margin-top: 6rem;
  }
}
#approach #approach04 .w960 .fs28 {
  line-height: 3rem;
}
@media only screen and (max-width: 1079px) {
  #approach #approach04 .w960 .fs28 {
    line-height: 1.75;
  }
}
#approach #approach04 .w960 .fs28 .fs16 {
  font-size: 1rem;
  display: block;
}
@media only screen and (max-width: 1079px) {
  #approach #approach04 .w960 .fs28 .fs16 {
    line-height: 1.5;
    margin-bottom: 0.5rem;
  }
}
#approach .bgBlue {
  margin: 8rem 0 0;
  padding-bottom: 8rem;
  background: rgba(9, 72, 153, 0.1);
}
@media only screen and (max-width: 1079px) {
  #approach .bgBlue {
    margin-top: 6rem;
    padding-bottom: 6rem;
  }
}
#approach .bgBlue h2 {
  padding: 8rem 0 0;
  text-align: center;
}
@media only screen and (max-width: 1079px) {
  #approach .bgBlue h2 {
    padding-top: 6rem;
  }
}
#approach .bgBlue h2 .jp {
  font-size: 2.5rem;
  letter-spacing: 0.2em;
  margin: 0;
}
@media only screen and (max-width: 1079px) {
  #approach .bgBlue h2 .jp {
    font-size: 2rem;
  }
}
#approach .bgBlue h2 .en {
  padding: 0;
  margin: 1.25rem 0 0;
}
#approach .bgBlue h2 .en::after {
  display: none;
}
#approach .bgBlue .box {
  background: rgb(255, 255, 255);
  border: 2px solid #094899;
  border-radius: 1rem;
  margin-top: 3rem;
  padding-top: 4rem;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #approach .bgBlue .box {
    padding-top: 3rem;
  }
}
#approach #price .box {
  padding-bottom: 4rem;
}
@media only screen and (max-width: 1079px) {
  #approach #price .box {
    padding-bottom: 3rem;
  }
}
#approach #price .box .cm_flex {
  gap: 0 3.625rem;
}
#approach #price .box .cm_flex .price {
  display: flex;
  align-items: flex-end;
  font-size: 1.25rem;
  color: #094899;
  font-weight: bold;
}
@media only screen and (max-width: 1079px) {
  #approach #price .box .cm_flex .price {
    justify-content: center;
    font-size: 1.125rem;
    margin-top: 1.5rem;
  }
  #approach #price .box .cm_flex .price:first-child {
    margin: 0;
  }
}
#approach #price .box .cm_flex .price span {
  display: block;
}
#approach #price .box .cm_flex .price .n {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  height: 3rem;
  color: #FFF;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  text-align: center;
  background: #76C6C7;
  border-radius: 0.5rem;
}
@media only screen and (max-width: 1079px) {
  #approach #price .box .cm_flex .price .n {
    font-size: 1.25rem;
  }
}
#approach #price .box .cm_flex .price .n .num {
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 1.625rem;
}
@media only screen and (max-width: 1079px) {
  #approach #price .box .cm_flex .price .n .num {
    font-size: 1.375rem;
  }
}
#approach #price .box .cm_flex .price .num1 {
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  font-weight: normal;
  padding-left: 1.875rem;
  padding-right: 0.25rem;
}
@media only screen and (max-width: 1079px) {
  #approach #price .box .cm_flex .price .num1 {
    padding-left: 1.5rem;
  }
}
#approach #price .box .cm_flex .price .num2 {
  font-family: "Oswald", sans-serif;
  font-size: 2.5rem;
  font-weight: normal;
  padding-left: 1.25rem;
  padding-right: 0.25rem;
}
#approach #price .box .cm_flex2 {
  margin-top: 3.125rem;
}
#approach #price .box .cm_flex2:last-child {
  padding-top: 2.625rem;
}
@media only screen and (min-width: 1080px) {
  #approach #price .box .cm_flex2 {
    display: flex;
    justify-content: space-between;
    gap: 0 1.6875rem;
  }
}
#approach #price .box .cm_flex2 img {
  height: 12.5rem;
}
@media only screen and (max-width: 1079px) {
  #approach #price .box .cm_flex2 img {
    margin: 0 auto 2rem;
  }
}
#approach #price .box .cm_flex2 .right .case {
  color: #094899;
  letter-spacing: 0.2em;
  margin-top: 1rem;
}
#approach #price .box .cm_flex2 .right .fs24 {
  margin: calc(1rem - 0.25em) 0 -0.25rem;
}
#approach #price .box .cm_flex2 .right h5 {
  width: 4rem;
  text-align: center;
  padding: 0.5rem 0;
  line-height: 1;
  border: 1px solid #094899;
  border-radius: 0.5rem;
  margin: 3rem 0 0;
}
#approach #price .box .cm_flex2 .right .txt {
  margin: calc(1.5rem - 0.5em) 0 -0.5rem;
}
#approach #price .box h3 {
  border-top: 2px solid #094899;
  border-bottom: 2px solid #094899;
  margin-top: 4rem;
  padding: 1.5rem 0;
  position: relative;
}
#approach #price .box h3::after {
  width: 3rem;
  height: 1.1875rem;
  content: "";
  background: url(../img/approach/arw.svg) center/cover no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 99%;
  z-index: 2;
}

#about h2 {
  color: #094899;
  text-align: center;
  margin-top: 8rem;
}
@media only screen and (max-width: 1079px) {
  #about h2 {
    margin-top: 6rem;
  }
}
#about h2 .jp {
  display: block;
  font-size: 2.5rem;
  letter-spacing: 0.2em;
  margin: 0;
}
@media only screen and (max-width: 1079px) {
  #about h2 .jp {
    font-size: 2rem;
  }
}
#about h2 .en {
  padding: 0;
  margin: 1.25rem 0 0;
}
#about h2 .en::after {
  display: none;
}
#about #vision .w960 .enTitle {
  color: #094899;
  padding-bottom: 1em;
  margin-top: 4rem;
  position: relative;
}
#about #vision .w960 .enTitle::after {
  width: 3rem;
  height: 1px;
  content: "";
  background: #094899;
  position: absolute;
  left: 0;
  bottom: 0;
}
#about #vision .w960 .catch {
  margin-top: 2rem;
}
#about #vision .w960 .catch img {
  height: 3.625rem;
}
@media only screen and (max-width: 1079px) {
  #about #vision .w960 .catch img {
    margin-top: 2.75rem;
  }
}
#about #vision .w960 ol {
  margin: calc(2rem - 0.5em) 0 -0.5rem;
  list-style: decimal none;
  padding-left: 1.25rem;
}
#about #vision .w960 ol li {
  line-height: 2;
  letter-spacing: 0.05em;
}
#about #vision .w960 ol li span {
  display: inline-block;
}
#about #vision .w960 ol li span:first-child {
  width: 11.875rem;
}
#about #vision .w960 .cm_flex {
  gap: 0 3rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 4rem;
  position: relative;
}
#about #vision .w960 .cm_flex::before {
  width: 7.4375rem;
  height: 12.5rem;
  content: "";
  background: url("../img/about/02.svg") center/cover no-repeat;
  position: absolute;
  left: -2rem;
  bottom: -1.6875rem;
}
@media only screen and (max-width: 1079px) {
  #about #vision .w960 .cm_flex::before {
    left: -1em;
  }
}
@media only screen and (min-width: 1080px) {
  #about #vision .w960 .cm_flex img {
    width: 30rem;
    order: 1;
  }
}
@media only screen and (max-width: 1079px) {
  #about #vision .w960 .cm_flex img {
    width: 75%;
    margin: 3rem auto 0;
  }
}
@media only screen and (min-width: 1080px) {
  #about #vision .w960 .cm_flex .right {
    order: 2;
  }
}
#about #vision .w960 .cm_flex .right h5 {
  color: #094899;
  letter-spacing: 0.1em;
  margin-top: 2.875rem;
}
@media only screen and (min-width: 1080px) {
  #about #vision .w960 .cm_flex .right h5:first-child {
    margin-top: 0;
  }
}
#about #vision .w960 .cm_flex .right .name {
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  margin-top: 1.75rem;
}
#about #vision .w960 .cm_flex .right .name .en {
  color: #094899;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-top: 1em;
}
#about #vision .w960 .cm_flex .right .txt {
  margin: calc(3rem - 0.5em) 0 -0.5rem;
}
#about #clinic .imgList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
  margin: 3rem auto 0;
}
#about #clinic .imgList li {
  width: calc((100% - 2rem) / 2);
}
#about #clinic .imgList li:first-child {
  width: 100%;
}
#about #clinic .access {
  width: calc(100% - 4em);
  max-width: 960px;
  margin: 4rem auto 0;
}
#about #clinic .access h3 {
  font-size: 1.375rem;
  letter-spacing: 0.2em;
  color: #094899;
  text-align: center;
}
#about #clinic .access img {
  border-radius: 2.25rem;
  margin: 2rem auto 0;
}
#about #outline .cm_table {
  max-width: 45rem;
  margin: 3rem auto 0;
}
#about .map {
  width: 100%;
  height: 30rem;
  margin: 3rem auto 0;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #about .map {
    height: 100vw;
  }
}
#about .map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

#contact h2 {
  color: #094899;
  text-align: center;
  margin-top: 8rem;
}
@media only screen and (max-width: 1079px) {
  #contact h2 {
    margin-top: 6rem;
  }
}
#contact h2 .jp {
  display: block;
  font-size: 2.5rem;
  letter-spacing: 0.2em;
  margin: 0;
}
@media only screen and (max-width: 1079px) {
  #contact h2 .jp {
    font-size: 2rem;
  }
}
#contact h2 .en {
  padding: 0;
  margin: 1.25rem 0 0;
}
#contact h2 .en::after {
  display: none;
}
#contact h3 {
  color: #094899;
  font-size: 1.75rem;
  letter-spacing: 0.15em;
  text-align: center;
  margin-top: 6rem;
}
@media only screen and (max-width: 1079px) {
  #contact h3 {
    font-size: 1.25rem;
  }
}
#contact #reservation h2 {
  margin-top: 6rem;
}
#contact #reservation h3 {
  margin-top: 4rem;
  padding-top: 4rem;
  border-top: 1px solid #094899;
}
#contact #reservation .tel {
  display: block;
  margin-top: 2.25rem;
}
#contact #reservation .tel img {
  height: 3rem;
  margin: 0 auto;
}
#contact #reservation .txt {
  text-align: center;
  margin: calc(2.25rem - 0.5em) 0 -0.5rem;
}
#contact #reservation .cm_link_b {
  margin: 2rem auto 0;
}
#contact #reservation .cm_link_b::before {
  background-image: url(../img/arw-g-link.svg);
}
#contact #reservation .w960 {
  padding-bottom: 4rem;
  border-bottom: 1px solid #094899;
}
#contact .faq {
  letter-spacing: 0.05em;
  border-top: 1px solid #094899;
}
#contact .faq:first-of-type {
  margin-top: 2rem;
}
#contact .faq:last-of-type {
  border-bottom: 1px solid #094899;
}
#contact .faq.open dt::after {
  transform: translateY(-50%) rotate(0deg);
}
#contact .faq dt {
  color: #094899;
  font-weight: bold;
  line-height: 2;
  padding: 1rem 3rem 1rem 0;
  cursor: pointer;
  position: relative;
}
#contact .faq dt::after, #contact .faq dt::before {
  content: "";
  display: block;
  width: 1rem;
  height: 2px;
  background: #094899;
  position: absolute;
  top: 50%;
  right: 1rem;
  transition: 0.25s;
  transform: translateY(-50%);
}
#contact .faq dt::after {
  transform: translateY(-50%) rotate(90deg);
}
#contact .faq dd {
  border-top: 1px dashed #094899;
  line-height: 2;
  padding: 1rem 0;
}
#contact .mw_wp_form {
  margin-bottom: 3rem;
}
#contact .mw_wp_form .cm_link_b {
  margin: 2rem auto 0;
}
#contact .mw_wp_form .cm_link_b::before {
  background-image: url(../img/arw-g-link.svg);
}

#health .contents h2 {
  color: #094899;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  margin-top: 8rem;
}
@media only screen and (max-width: 1079px) {
  #health .contents h2 {
    margin-top: 6rem;
  }
}
#health .contents h2 .jp {
  display: block;
  font-size: 2.5rem;
}
@media only screen and (max-width: 1079px) {
  #health .contents h2 .jp {
    font-size: 2rem;
  }
}
#health .contents h2 .en {
  display: block;
  font-family: "Jost", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  margin-top: 1rem;
}
#health .contents .fs40 span {
  display: inline-block;
  color: #FFF;
  padding: 0 0.0625rem 0 0.375rem;
  margin-right: 0.5rem;
  position: relative;
}
#health .contents .fs40 span::after {
  width: 100%;
  height: 3.25rem;
  content: "";
  background-color: #094899;
  position: absolute;
  left: 0%;
  top: 50%;
  transition: 0.5s cubic-bezier(0.5, 0, 0.75, 0);
  transform: translateY(-50%);
  transform-origin: left;
  z-index: -1;
}
@media only screen and (max-width: 1079px) {
  #health .contents .fs40 span::after {
    height: 2.5rem;
  }
}
#health .contents .box {
  background: rgb(255, 255, 255);
  border: 2px solid #094899;
  border-radius: 1rem;
  margin-top: 4rem;
  position: relative;
}
#health .contents .box h3 {
  width: calc(100% - 8rem);
  color: #094899;
  font-size: 1.75rem;
  letter-spacing: 0.15em;
  text-align: center;
  padding: 2rem 0;
  margin: 0 auto;
  border-bottom: 2px solid #094899;
}
@media only screen and (max-width: 1079px) {
  #health .contents .box h3 {
    width: 100%;
    font-size: 1.5rem;
    padding: 1.25rem 0;
    line-height: 1.5;
  }
}
#health .contents .box .col3 {
  display: flex;
  justify-content: center;
  gap: 0 5rem;
  margin-top: 3rem;
}
@media only screen and (max-width: 1079px) {
  #health .contents .box .col3 {
    flex-wrap: wrap;
    gap: 3rem;
  }
}
#health .contents .box .col3 li {
  width: 12.5rem;
}
#health .contents .box .col3 li span {
  display: block;
  font-weight: bold;
  line-height: 1.75;
  letter-spacing: 0.05em;
  text-align: center;
  margin: calc(1.5rem - 0.375em) 0 -0.375rem;
}
#health .contents .box .ex {
  width: auto;
  height: 5.75rem;
  margin: 3rem auto 0;
}
#health .contents .box .box2 {
  margin-top: 3.75rem;
  padding: 4rem;
  border-top: 2px solid #094899;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #health .contents .box .box2 {
    padding: 4rem 0rem;
  }
}
#health .contents .box .box2::after {
  width: 4.5rem;
  height: 1.6875rem;
  content: "";
  background: url(../img/health/arw.svg) center/cover no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -0.25rem;
  z-index: 2;
}
#health .contents .box .box2 h3 {
  padding: 0 0 3rem;
  border: none;
}
#health .contents .box .box2 .cm_flex {
  justify-content: space-between;
}
@media only screen and (max-width: 1079px) {
  #health .contents .box .box2 .cm_flex {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 3rem;
  }
}
#health .contents .box .box2 .cm_flex > div {
  width: calc((100% - 3rem) / 2);
  padding: 3rem 2rem;
  border-radius: 1.5rem;
  background: rgba(9, 72, 150, 0.1);
}
@media only screen and (max-width: 1079px) {
  #health .contents .box .box2 .cm_flex > div {
    width: calc(100% - 4rem);
  }
}
#health .contents .box .box2 h4 {
  color: #094899;
  font-size: 2.5rem;
  letter-spacing: 0.15em;
  text-align: center;
}
#health .contents .box .box2 .list li {
  width: 16rem;
  height: 3rem;
  padding-top: 0.875rem;
  border-radius: 1.5rem;
  margin: 1.5rem auto 0;
  background: #fff;
  position: relative;
  color: #094899;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.15em;
  text-align: center;
}
#health .contents .box .box2 .list li::after {
  width: 0;
  height: 0;
  content: "";
  border-style: solid;
  border-width: 1rem 2rem 0 2rem;
  border-color: #FFFFFF transparent transparent transparent;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
}
#health .contents .box .box2 .list li:first-child {
  margin-top: 2rem;
}
#health .contents .box .box2 .list li:last-child::after {
  display: none;
}
#health .contents .box .box2 .list li span {
  display: block;
  width: 100%;
  font-size: 1rem;
  line-height: 1.25;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#health .contents .box .box3 {
  padding: 4rem 0;
  border-radius: 0px 0px 1rem 1rem;
  background: #76C6C7;
  position: relative;
}
#health .contents .box .box3::after {
  width: 0;
  height: 0;
  content: "";
  border-style: solid;
  border-width: 1.5rem 2.25rem 0 2.25rem;
  border-color: #FFFFFF transparent transparent transparent;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
#health .contents .box .box3 .fs28 {
  color: #FFF;
  text-align: center;
  margin: -0.25em 0;
}
#health .contents #contents .col2 {
  display: flex;
  flex-wrap: wrap;
  gap: 3.75rem 5rem;
  margin-top: 3rem;
}
@media only screen and (min-width: 1080px) {
  #health .contents #contents .col2 li {
    width: calc((100% - 5rem) / 2);
  }
}
#health .contents #contents .col2 li h3 {
  color: #094899;
  font-weight: bold;
  font-size: 1.75rem;
  letter-spacing: 0.15em;
  text-align: center;
}
#health .contents #contents .col2 li h3.s {
  font-size: 1.25rem;
  line-height: 1.5;
  margin: -0.25em 0;
  transform: translateY(-0.75rem);
}
#health .contents #contents .col2 li .s + .img {
  margin-top: 0.625rem;
}
#health .contents #contents .col2 li .img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 16/9;
  border-radius: 1.5rem;
  margin-top: 2rem;
}
#health .contents #contents .col2 li p .link {
  padding-left: 1rem;
  position: relative;
}
#health .contents #contents .col2 li p .link::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  background: url("../img/_arw-b.svg") left center/0.875rem no-repeat;
  position: absolute;
  left: 0;
  top: calc(50% + 2px);
  transform: translateY(-50%);
}
#health .contents #flow .dl {
  border-radius: 1.5rem;
  background: rgba(118, 195, 196, 0.15);
  margin-top: 3rem;
  padding: 3rem;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #health .contents #flow .dl {
    padding: 3rem 2rem;
  }
}
#health .contents #flow .dl::after {
  width: 0;
  height: 0;
  content: "";
  border-style: solid;
  border-width: 1.5rem 2.25rem 0 2.25rem;
  border-color: rgba(118, 195, 196, 0.15) transparent transparent transparent;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
}
#health .contents #flow .dl:last-child::after {
  display: none;
}
#health .contents #flow .dl .dt {
  color: #094899;
  font-weight: bold;
  font-size: 1.75rem;
  letter-spacing: 0.15em;
  text-align: center;
  line-height: 1.5;
  margin: -0.25em 0;
}
#health .contents #flow .dl .imgList {
  display: flex;
  justify-content: space-between;
  margin-top: 2rem;
}
@media only screen and (max-width: 1079px) {
  #health .contents #flow .dl .imgList {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
#health .contents #flow .dl .imgList li {
  background-color: #FFF;
  border-radius: 1rem;
  overflow: hidden;
}
@media only screen and (min-width: 1080px) {
  #health .contents #flow .dl .imgList li {
    width: calc((100% - 4rem) / 3);
  }
}
#health .contents #flow .dl .imgList li span {
  display: block;
  line-height: 1.75;
  letter-spacing: 0.05em;
  padding: calc(1.5rem - 0.375em) 1.5rem;
}
#health .contents #price .fs28 {
  text-align: center;
}
#health .contents #price p {
  text-align: center;
}
#health .contents #price .cm_link_b {
  margin: 2rem auto 0;
}
#health .contents .map {
  width: 100%;
  height: 30rem;
  margin: 8rem auto 0;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #health .contents .map {
    height: 100vw;
  }
}
#health .contents .map frame {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

#insole .contents h2 {
  color: #094899;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-align: center;
  margin-top: 8rem;
}
@media only screen and (max-width: 1079px) {
  #insole .contents h2 {
    margin-top: 6rem;
  }
}
#insole .contents h2 .jp {
  display: block;
  font-size: 2.5rem;
}
@media only screen and (max-width: 1079px) {
  #insole .contents h2 .jp {
    font-size: 2rem;
  }
}
#insole .contents h2 .en {
  display: block;
  font-family: "Jost", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  margin-top: 1rem;
}
#insole .contents .fs40 {
  text-align: left;
}
@media only screen and (max-width: 1079px) {
  #insole .contents .fs40 {
    letter-spacing: 0.15em;
  }
}
#insole .contents .fs40 span {
  display: inline-block;
  color: #FFF;
  padding: 0 0.0625rem 0 0.375rem;
  margin-right: 0.375rem;
  position: relative;
}
#insole .contents .fs40 span::after {
  width: 100%;
  height: 3.25rem;
  content: "";
  background-color: #094899;
  position: absolute;
  left: 0%;
  top: 50%;
  transition: 0.5s cubic-bezier(0.5, 0, 0.75, 0);
  transform: translateY(-50%);
  transform-origin: left;
  z-index: -1;
}
@media only screen and (max-width: 1079px) {
  #insole .contents .fs40 span::after {
    height: 2.5rem;
  }
}
#insole .contents .map {
  width: 100%;
  height: 30rem;
  margin: 8rem auto 0;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #insole .contents .map {
    height: 100vw;
  }
}
#insole .contents .map frame {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#insole .contents .lead {
  position: relative;
}
@media only screen and (min-width: 1080px) {
  #insole .contents .lead .txtBox {
    width: 40.5rem;
  }
}
#insole .contents .lead img {
  width: 19.0625rem;
}
@media only screen and (min-width: 1080px) {
  #insole .contents .lead img {
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
@media only screen and (max-width: 1079px) {
  #insole .contents .lead img {
    margin: 2rem auto 0;
  }
}
#insole .contents #features .box {
  background: rgb(255, 255, 255);
  border: 2px solid #094899;
  border-radius: 1rem;
  margin-top: 4rem;
  padding-bottom: 3rem;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #insole .contents #features .box {
    margin-top: 3rem;
  }
}
#insole .contents #features .box h3 {
  color: #094899;
  font-weight: bold;
  font-size: 1.75rem;
  letter-spacing: 0.15em;
  text-align: center;
  padding: 2rem 0;
  border-bottom: 2px solid #094899;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #insole .contents #features .box h3 {
    font-size: 1.5rem;
    padding: 1.25rem 0;
    line-height: 1.5;
  }
}
#insole .contents #features .box h3::after {
  width: 4.5rem;
  height: 1.6875rem;
  content: "";
  background: url(../img/health/arw.svg) center/cover no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 99%;
  z-index: 2;
}
#insole .contents #features .box .txt {
  margin: calc(4rem - 0.5em) 4rem -0.5rem;
}
@media only screen and (max-width: 1079px) {
  #insole .contents #features .box .txt {
    margin: calc(3.5rem - 0.5em) 2rem -0.5rem;
  }
}
#insole .contents #features .box h4 {
  color: #094899;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 3rem;
}
#insole .contents #features .box img {
  width: auto;
  height: 8.0625rem;
  margin: 2rem auto 0;
}
@media only screen and (max-width: 1079px) {
  #insole .contents #features .box img {
    width: calc(100% - 4rem);
    height: auto;
  }
}
#insole .contents #features .box .col2 {
  display: flex;
  justify-content: center;
  gap: 0 3rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 1079px) {
  #insole .contents #features .box .col2 {
    flex-direction: column;
    gap: 3rem;
    padding: 0 2rem;
  }
}
#insole .contents #features .box .col2 dl {
  text-align: center;
  padding: 3.375rem 0 3rem;
  border-radius: 1.5rem;
  background: #76C6C7;
}
@media only screen and (min-width: 1080px) {
  #insole .contents #features .box .col2 dl {
    width: 24.375rem;
  }
}
@media only screen and (max-width: 1079px) {
  #insole .contents #features .box .col2 dl {
    padding: 3rem 0;
  }
}
#insole .contents #features .box .col2 dl dt {
  color: #FFF;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.05em;
  text-align: center;
}
@media only screen and (max-width: 1079px) {
  #insole .contents #features .box .col2 dl dt {
    font-size: 1.75rem;
  }
}
#insole .contents #features .box .col2 dl dd {
  width: 16rem;
  border-radius: 1.5rem;
  background: #fff;
  color: #76C6C7;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0.875rem 0;
  margin: 1.5rem auto 0;
}
#insole .contents #features .box .col2 dl dd:first-of-type {
  margin-top: 2rem;
}
#insole .contents #voice .voice {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0 3rem;
  margin-top: 3rem;
}
@media only screen and (max-width: 1079px) {
  #insole .contents #voice .voice {
    flex-direction: column;
    gap: 3rem;
    align-items: center;
    justify-content: center;
  }
}
#insole .contents #voice .voice .img {
  color: #094899;
  font-weight: bold;
  letter-spacing: 0.15em;
  text-align: center;
}
#insole .contents #voice .voice .img img {
  width: 6.875rem;
  margin: 0 auto 0.75rem;
}
#insole .contents #voice .voice .comment {
  width: 800px;
  border-radius: 4rem;
  border: 3px solid #094899;
  padding: 1.25rem 4rem;
  letter-spacing: 0.05em;
  color: #094899;
  line-height: 1.75;
  position: relative;
}
@media only screen and (max-width: 1079px) {
  #insole .contents #voice .voice .comment {
    width: 100%;
    padding: 1.5rem 2rem;
  }
}
#insole .contents #voice .voice .comment::after {
  width: 3rem;
  height: 3px;
  content: "";
  background: #094899;
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 1079px) {
  #insole .contents #voice .voice .comment::after {
    width: 3px;
    height: 2.5rem;
    left: 50%;
    bottom: 100%;
    top: initial;
    transform: translateX(-50%);
  }
}
#insole .contents #flow .cm_flex {
  margin-top: 2.25rem;
  justify-content: space-between;
  gap: 0 3rem;
}
@media only screen and (min-width: 1080px) {
  #insole .contents #flow .cm_flex .flowList {
    width: calc(100% - 23rem);
  }
}
#insole .contents #flow .cm_flex .flowList li {
  padding-bottom: 5rem;
}
@media only screen and (max-width: 1079px) {
  #insole .contents #flow .cm_flex .flowList li {
    padding-bottom: 4rem;
  }
}
#insole .contents #flow .cm_flex .flowList li .dt {
  font-size: 1.25rem;
}
@media only screen and (min-width: 1080px) {
  #insole .contents #flow .cm_flex .imgList {
    width: 20rem;
  }
}
@media only screen and (max-width: 1079px) {
  #insole .contents #flow .cm_flex .imgList {
    margin-top: -1rem;
  }
}
#insole .contents #flow .cm_flex .imgList li {
  border-radius: 1.5rem;
  margin-top: 1.5rem;
  overflow: hidden;
}
#insole .contents #flow .cm_flex .imgList li:first-child {
  margin: 0;
}
#insole .contents #price .priceBox {
  padding: 3rem 2rem;
  border-radius: 1.5rem;
  background: rgba(9, 72, 150, 0.1);
  margin-top: 1.75rem;
}
#insole .contents #price .priceBox .blue {
  color: #094899;
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 1.25;
  text-align: center;
}
#insole .contents #price .priceBox .blue .num {
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0;
  padding-right: 0.25rem;
}
#insole .contents #price .priceBox .blue strong.num {
  font-size: 2.5rem;
}
#insole .contents #price .priceBox .txt {
  text-align: center;
}
#insole .contents #price .priceBox .cm_link_b {
  margin: 2rem auto 0;
}

@media screen and (min-width: 1080px) {
  .pcNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 16px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
  }
  img {
    display: block;
    height: auto;
  }
}
@media screen and (max-width: 1079px) {
  .spNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 13px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
    overflow-x: hidden;
  }
  img {
    display: block;
    max-width: 100%;
    width: auto;
  }
}/*# sourceMappingURL=layout.css.map */