@charset "UTF-8";
:root {
  --c-base:#FF6F61;
  --c-sub:#FFFAFA;
  --c-text:#37474F;
  --c-text-sub:#FFFAFA;
  --c-text-accent:#FF5722;
}

:root {
  --f1: "M PLUS Rounded 1c", sans-serif;
}

/* reset */
html {
  overflow-y: auto;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a {
  box-sizing: border-box;
}

dt,
th,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

section,
figure,
aside,
header,
footer,
main,
nav {
  display: block;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

caption,
th {
  text-align: left;
}

q:before,
q:after {
  content: "";
}

object,
embed {
  vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

img,
abbr,
acronym,
fieldset {
  border: 0;
}

li {
  list-style-type: none;
}

img {
  vertical-align: bottom;
}

hr {
  clear: both;
}

/* --------------------------------------------------------
	01share style
	-------------------------------------------------------- */
.tal {
  text-align: left;
}

.tar {
  text-align: right;
}

.tac {
  text-align: center;
}

.fwb {
  font-weight: bold;
}

.fwn {
  font-weight: normal;
}

/*CSS Rollover*/
a.cssRoll img {
  opacity: 1;
}

a:hover.cssRoll img {
  opacity: 0.6;
}

body {
  font-weight: normal;
  line-height: 1.7;
  color: #373737;
}

a:link {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

figure {
  display: block;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
}

em {
  font-weight: bold;
}

html {
  scroll-behavior: smooth;
}

body {
  width: 100%;
  font-family: var(--f1);
  font-weight: 400;
  overflow-x: hidden;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: var(--c-txt);
}

.l-wrap-1200 {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

.l-wrap-393 {
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) and (max-width:1100px) {
  .l-wrap-393 {
    max-width: 393px;
    width: 100%;
    margin: 0 auto;
    background-color: var(--c-sub);
    box-shadow: -8px 0 6px -6px rgba(0, 0, 0, 0.1), 8px 0 6px -6px rgba(0, 0, 0, 0.1);
  }
  body {
    background: #FFF0EF;
  }
}
/*@forward "./component/";*/
.c-title {
  position: relative;
  display: inline-block;
  min-height: 4rem;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  text-align: center;
  line-height: normal;
}
.c-title h2 {
  margin: 0;
  font-size: 4rem;
  font-weight: 700;
  color: #FFE3DD;
  letter-spacing: 0.02em;
}
.c-title p {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  color: var(--c-base);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  white-space: nowrap;
}

.c-nav {
  margin-top: 55px;
}
.c-navItems {
  display: flex;
  justify-content: flex-end;
  margin-right: 120px;
  gap: 40px;
}
.c-navItem a {
  transition: 0.3s ease-in-out;
}
.c-navItem a:hover {
  opacity: 0.8;
}

.c-btn {
  position: relative;
  width: 264px;
  padding: 6px 30px;
  background-color: var(--c-base);
  box-shadow: 7px 7px 0 0 #FFEDEA;
  display: flex;
  align-items: center;
  transition: 0.3s ease-in-out;
}
.c-btn:hover {
  transform: translate(3px, 3px);
  box-shadow: none;
}

.c-card {
  position: relative;
  z-index: 0;
  width: 285px;
}
.c-card img {
  display: flex;
  margin: 0 auto;
}
.c-cardItem {
  position: relative;
  display: flex;
  gap: 20px;
}
.c-cardItem_num {
  font-size: 3rem;
  font-weight: 800;
  background: linear-gradient(180deg, #FF7360 0.21%, #FFF 83.39%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.c-cardItem_ttl {
  font-size: 1.5rem;
  color: var(--c-base);
  font-weight: 700;
  line-height: normal;
  margin-top: 30px;
}
.c-card.--bg01::before, .c-card.--bg02::before, .c-card.--bg03::before, .c-card.--bg04::before {
  content: "";
  position: absolute;
  top: 65px;
  left: 50%;
  transform: translateX(-50%);
  width: 107px;
  height: 81px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  z-index: -1;
}
.c-card.--bg01::before {
  background-image: url(../img/img_cardBg01.webp);
}
.c-card.--bg02::before {
  background-image: url(../img/img_cardBg02.webp);
}
.c-card.--bg03::before {
  background-image: url(../img/img_cardBg03.webp);
}
.c-card.--bg04::before {
  background-image: url(../img/img_cardBg04.webp);
}

.c-block {
  width: 575px;
  background: #FFF0EF;
  box-shadow: 4px 4px 4px 0 #E66756;
}
@media screen and (max-width: 1100px) {
  .c-block {
    width: 357px;
    box-shadow: none;
  }
}
.c-blockWrap {
  padding: 35px 30px;
}
.c-block h3 {
  font-size: 1.5rem;
  color: var(--c-base);
}
.c-block h3 .--small {
  font-size: 1.25rem;
}
.c-blockBtn {
  margin-top: 25px;
}
@media screen and (max-width: 1100px) {
  .c-blockBtn {
    margin-top: 32px;
  }
}
.c-blockBtn a {
  position: relative;
  display: inline-flex;
  align-items: center;
  background-color: var(--c-base);
  color: var(--c-sub);
  font-weight: 500;
  padding: 15px 18px 15px 67px;
}
.c-blockBtn a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 24px;
  width: 34px;
  height: 26px;
  transform: translateY(-50%);
  background-image: url(../img/img_mail.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  pointer-events: none;
}
.c-blockBtn a {
  transition: 0.3s ease-in-out;
}
.c-blockBtn a:hover {
  opacity: 0.8;
}
.c-block p {
  margin-top: 43px;
}
@media screen and (max-width: 1100px) {
  .c-block p {
    color: var(--c-text);
  }
}

.p-hero {
  position: relative;
  width: 81.9270833333vw;
  height: auto;
  margin-top: 20px;
  margin-inline: auto;
}
.p-hero .--big {
  font-size: 1.25rem;
}
.p-heroInner {
  display: flex;
}
@media screen and (max-width: 1100px) {
  .p-heroInner {
    flex-direction: column;
  }
}
.p-heroInner_left {
  margin-top: 100px;
}
@media screen and (min-width:768px) and (max-width:1440px) {
  .p-heroInner_left {
    margin-top: 20px;
  }
}
.p-heroInner_left {
  width: 38.2072472982vw;
}
.p-heroInner_left h1 {
  margin-top: 10px;
  font-size: 64px;
  line-height: 1;
  color: var(--c-base);
}
.p-heroInner_left_subtitle {
  color: #FF9D90;
  font-size: 32px;
  line-height: 1;
}
.p-heroInner_left_txt {
  color: var(--c-text);
  margin-top: 50px;
}
.p-heroInner_right {
  width: 61.729179911vw;
}
.p-heroInner_right img {
  width: 100%;
  height: auto;
}
.p-heroInner_btn {
  text-align: center;
  margin: 60px auto 0;
}
.p-heroInner_flex {
  display: flex;
  justify-content: center;
  gap: 48px;
  margin-top: 24px;
  color: var(--c-sub);
}
.p-heroDate {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 32px;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media screen and (min-width:768px) and (max-width:1440px) {
  .p-heroDate {
    top: 10%;
    transform: translateY(-10%);
    font-size: 24px;
  }
}

.p-about {
  margin-top: 186px;
  padding-bottom: 202px;
  margin-right: 40px;
}
.p-aboutInner {
  position: relative;
  left: -85px;
  display: flex;
  justify-content: center;
  gap: 252px;
  margin-top: 180px;
  align-items: center;
}
.p-aboutInner::before {
  position: absolute;
  content: "";
  top: 23px;
  left: 12.8125vw;
  background-image: url(../../../img/img_aboutBg.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 16.875vw;
  height: 17.0833333333vw;
  min-width: 324px;
  min-height: 328px;
  z-index: -1;
}
.p-about h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26.3020833333%;
  height: 26.3020833333%;
  min-width: 505px;
  min-height: 505px;
  aspect-ratio: 1/1;
  background-color: var(--c-base);
  border-radius: 100vmax;
  color: var(--c-sub);
  font-size: 4rem;
  font-weight: 500;
  margin-left: 49px;
  line-height: 1;
}
.p-about p {
  width: 55.9895833333%;
  margin: 70px auto 0;
  font-size: 1.25rem;
  line-height: 2.1;
  color: var(--c-txt);
}
.p-about p .--big {
  font-size: 1.5rem;
}
.p-about p .--subcolor {
  color: var(--c-base);
  font-size: 1.5rem;
}

.p-overviewInner {
  width: 75%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 121px;
  margin: 0 auto;
}
.p-overviewInner_left, .p-overviewInner_right {
  flex: 0 0 calc(45.8247066943% - 121px);
}
@media screen and (min-width :1101px) {
  .p-overviewInner_left, .p-overviewInner_right {
    min-width: 644px;
  }
}
.p-overviewInner_left dl {
  display: grid;
  grid-template-columns: 190px 1fr;
  width: 100%;
  margin-top: 32px;
  overflow: hidden;
}
.p-overviewInner_left dt,
.p-overviewInner_left dd {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.4;
}
.p-overviewInner_left dt {
  background-color: var(--c-base);
  color: var(--c-text-sub);
  text-align: left;
  font-weight: 600;
  padding: 24px 0 !important;
  text-align: center;
}
.p-overviewInner_left dd {
  background-color: #FFEDEA;
  color: var(--c-txt);
  display: flex;
  align-items: center;
  padding: 10px !important;
}
.p-overviewInner_left dt:not(:last-of-type) {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.p-overviewInner_left dd:not(:last-of-type) {
  border-bottom: 1px solid rgba(255, 111, 97, 0.2);
}
.p-overviewInner_left .--big {
  font-size: 2rem;
  margin-right: 26px;
}
.p-overviewInner_map {
  margin: 45px auto 0;
  width: 84.3167701863%;
  aspect-ratio: 543/345;
}
@media screen and (max-width: 1100px) {
  .p-overviewInner_map {
    height: 165px;
  }
}
.p-overviewInner_map iframe {
  width: 100%;
  height: 100%;
}
.p-overviewCircle {
  display: flex;
  justify-content: center;
  gap: 140px;
  margin-top: 140px;
}
.p-overviewCircle_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 178px;
  height: 178px;
  border-radius: 100vmax;
  border: 3px solid var(--c-base);
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--c-base);
  text-align: center;
  line-height: normal;
}
.p-overviewCircle_sp {
  margin: 0 auto;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  width: fit-content;
}
.p-overviewCircle_sp_inner {
  display: flex;
  gap: 24px;
  justify-content: center;
}
.p-overviewCircle_sp_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 106px;
  height: 106px;
  border-radius: 100vmax;
  border: 3px solid var(--c-base);
  color: var(--c-base);
  text-align: center;
  line-height: normal;
  font-size: 0.875rem;
  font-weight: 500;
}

.p-sponsor {
  margin-top: 95px;
}
.p-sponsor h3 {
  position: relative;
  display: flex;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--c-base);
}
.p-sponsor h3::before {
  position: absolute;
  content: "";
  background-color: #fff0ef;
  width: 72px;
  height: 14px;
  z-index: -1;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.p-sponsor img {
  margin: 0 auto;
}
.p-sponsor p {
  margin-top: 30px;
}
.p-sponsorInner {
  margin-top: 50px;
  display: flex;
  justify-content: center;
  gap: 90px;
}
@media screen and (max-width: 1100px) {
  .p-sponsorInner {
    flex-direction: column;
  }
}
@media screen and (max-width: 1100px) {
  .p-sponsorInner_img {
    margin: 0 auto;
  }
}
.p-sponsorInner_img p {
  text-align: center;
}
.p-sponsorInner_img_flex {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1100px) {
  .p-sponsorInner_img_flex {
    flex-direction: column;
  }
}
.p-sponsorInner_img_flex {
  gap: 50px;
}
.p-sponsorInner a {
  margin: 0 auto;
  transition: 0.3s ease-in-out;
}
.p-sponsorInner a:hover {
  opacity: 0.8;
}

.p-workflow {
  position: relative;
  z-index: 0;
  margin-top: 400px;
  padding-inline: 20px;
}
@media screen and (max-width: 1100px) {
  .p-workflow {
    margin-top: 283px;
    padding-bottom: 265px;
  }
}
.p-workflow_txt {
  text-align: center;
}
.p-workflowInner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 55px;
  margin-top: 55px;
}
@media screen and (max-width: 1100px) {
  .p-workflowInner {
    margin-top: 90px;
  }
}
@media screen and (min-width: 1100px) and (max-width: 1345px) {
  .p-workflowInner {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    justify-items: center;
  }
}
.p-workflow::before {
  position: absolute;
  content: "";
  top: -307px;
  left: -358px;
  width: 562px;
  height: 562px;
  z-index: -2;
  border-radius: 100vmax;
  border: 30px solid var(--c-base);
}
@media screen and (max-width: 1100px) {
  .p-workflow::before {
    position: absolute;
    content: "";
    top: auto;
    bottom: -119px;
    left: -82px;
    right: auto;
    max-width: 234px;
    max-height: 234px;
    z-index: -1;
    border-radius: 100vmax;
    background-color: #FFF0EF;
    border: 0;
  }
}
.p-workflow::after {
  position: absolute;
  content: "";
  top: 142px;
  right: -245px;
  width: 20.8333333333vw;
  height: 20.8333333333vw;
  min-width: 400px;
  min-height: 400px;
  z-index: -1;
  border-radius: 100vmax;
  background-color: #FFF0EF;
}
@media screen and (max-width: 1100px) {
  .p-workflow::after {
    right: -233px;
    top: -226px;
  }
}

.p-application {
  position: relative;
  z-index: 1;
  margin-top: 340px;
  text-align: center;
}
.p-applicationTxt {
  margin-block: 20px;
}
.p-application .--bold {
  font-weight: 600;
}
.p-application_mail {
  margin-top: 29px;
}
.p-applicationInner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 100px;
  margin: 80px auto 0;
}
.p-applicationInner_left::before {
  content: "";
  position: absolute;
  bottom: -100px;
  left: -70px;
  width: 165px;
  height: 165px;
  border: 10px solid var(--c-base);
  border-radius: 100vmax;
  z-index: -1;
}
@media screen and (max-width: 1100px) {
  .p-applicationInner_left::before {
    top: -33px;
    left: -103px;
    width: 234px;
    height: 234px;
    background-color: #fffafa;
    border: 0;
    border-radius: 100vmax;
    z-index: -1;
  }
}
.p-applicationInner_right::before {
  content: "";
  position: absolute;
  top: -80px;
  right: -120px;
  width: 236px;
  height: 236px;
  background-color: var(--c-base);
  border-radius: 100vmax;
  z-index: -1;
}
@media screen and (max-width: 1100px) {
  .p-applicationInner_right::before {
    border: 10px solid #fffafa;
    width: 185px;
    height: 185px;
    z-index: -1;
    top: auto;
    right: -74px;
    bottom: -80px;
  }
}

.p-footer {
  margin-top: 410px;
  width: 100vw;
}
.p-footerInner {
  padding: 40px 90px;
  background-color: var(--c-base);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-footerInner_right {
  color: var(--c-sub);
  text-wrap: nowrap;
}
.p-footerLogo {
  margin-top: 70px;
  margin-bottom: 90px;
  display: flex;
  justify-content: center;
  gap: 100px;
}
.p-footerLogo a {
  transition: 0.3s ease-in-out;
}
.p-footerLogo a:hover {
  opacity: 0.8;
}

.p-heroSp {
  position: relative;
  padding-inline: 20px;
}
.p-heroSp .--big {
  margin-top: 76px;
  font-size: 0.875rem;
}
.p-heroSp h1 {
  font-size: 4rem;
  font-weight: 600;
  line-height: 1;
  color: var(--c-base);
}
.p-heroSp_mv {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.p-heroSp_img {
  width: 353px;
}
.p-heroSp_img img {
  width: 100%;
  height: auto;
}
.p-heroSp_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
.p-heroSp_left {
  position: relative;
  font-size: 1.875rem;
  font-weight: 500;
  color: var(--c-base);
  line-height: normal;
}
.p-heroSp_left::before {
  position: absolute;
  content: "";
  width: 156px;
  height: 156px;
  background-color: #FFF0EF;
  border-radius: 100vmax;
  top: 0px;
  left: -68px;
  z-index: -1;
}
.p-heroSp_right {
  width: 107px;
}
.p-heroSp_right img {
  width: 100%;
}
.p-heroSp_txt {
  width: fit-content;
  align-content: center;
  aspect-ratio: 1/1;
  margin: 195px auto 0;
  padding: 60px 10px;
  border-radius: 100vmax;
  background-color: #FFF0EF;
  text-align: center;
  font-size: 0.875rem;
  line-height: 2;
}
.p-heroSp_txt .--base {
  color: var(--c-base);
  font-size: 1rem;
  font-weight: 500;
}
.p-heroSp::before {
  position: absolute;
  content: "";
  width: 252px;
  height: 252px;
  background-color: var(--c-base);
  border-radius: 100vmax;
  top: -171px;
  right: -97px;
  z-index: -1;
}

.p-aboutSp {
  position: relative;
  padding-top: 170px;
  padding-bottom: 200px;
}
.p-aboutSp h2 {
  color: var(--c-text);
}
.p-aboutSp_txt {
  margin: 40px 59px 0;
  font-size: 0.9375rem;
  line-height: 2;
  color: var(--c-text);
}
.p-aboutSp .u-subtitleSp li::before {
  background-color: var(--c-text) !important;
}
.p-aboutSp li {
  color: var(--c-text) !important;
}
.p-aboutSp::before {
  content: "";
  position: absolute;
  background-color: var(--c-base);
  width: 262px;
  height: 258px;
  top: 85px;
  right: -134px;
  border-radius: 100vmax;
  z-index: -1;
}
.p-aboutSp::after {
  content: "";
  position: absolute;
  border: 30px solid var(--c-base);
  width: 200px;
  height: 200px;
  bottom: 0px;
  left: -136px;
  border-radius: 100vmax;
  z-index: -1;
}

.p-overviewSp {
  margin-top: 10px;
}
.p-overviewSp_ttl {
  text-align: right;
}
.p-overviewSp li {
  color: var(--c-base);
}
.p-overviewSp .u-subtitleSp li::before {
  background-color: var(--c-base) !important;
}

@media screen and (max-width: 1100px) {
  .p-overviewInner {
    display: block;
  }
  .p-overview dl dt {
    background-color: var(--c-sub);
    color: var(--c-base);
    font-size: 0.875rem;
    padding: 24px 0 !important;
    font-weight: 400;
    color: var(--c-text);
  }
  .p-overview dl dd {
    background-color: var(--c-sub);
    font-size: 0.9375rem;
    padding: 0 !important;
    font-weight: 400;
  }
}
.p-applicationSp_ttl {
  text-align: right;
}
.p-applicationSp_ttl h2 {
  color: var(--c-sub);
}
.p-applicationSp_ttl li {
  color: var(--c-sub) !important;
}
.p-applicationSp_txt {
  text-align: center;
}

@media screen and (max-width: 1100px) {
  .p-application {
    color: var(--c-sub);
    margin-top: 0px;
  }
  .p-applicationTxt {
    text-align: left;
    font-size: 0.9375rem;
    width: 324px;
    margin-inline: auto;
  }
  .p-applicationInner {
    margin-top: 60px;
    gap: 50px;
    padding-bottom: 60px;
  }
  .--Spbg {
    background-color: var(--c-base);
    padding-top: 35px;
  }
  .--bold {
    font-size: 15px;
  }
  .p-applicationSp::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 234px;
    height: 234px;
    border-radius: 234px 234px 0 0;
    background-color: #FFF0EF;
    z-index: -1;
  }
}
.p-footer {
  width: 100%;
}
@media screen and (max-width: 1100px) {
  .p-footer {
    margin-top: 80px !important;
  }
}
.p-footerSp {
  margin: 0 18px;
  padding-bottom: 47px;
}
.p-footerSp_ttl {
  color: var(--c-base);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-footerSp_subttl {
  color: var(--c-base);
  font-size: 1.25rem;
  font-weight: 600;
}
.p-footerSp_flex {
  margin-top: 30px;
  display: flex;
}
.p-footerSp_flex .--bottom {
  margin: auto 0 0 auto;
}
.p-footerSp_column {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.p-footerSp_imgs {
  display: flex;
  justify-content: center;
  gap: 64px;
}

.u-subtitle {
  position: relative;
  color: var(--c-base);
  border-bottom: 1px solid var(--c-base);
  font-size: 1.5rem;
  font-weight: 500;
}
@media screen and (max-width: 1100px) {
  .u-subtitle {
    font-size: 1.25rem;
  }
}
.u-subtitle::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 33px;
  background-color: var(--c-base);
  top: 8px;
}
@media screen and (max-width: 1100px) {
  .u-subtitle::before {
    height: 26px;
    width: 13px;
  }
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-1 {
  margin-top: 0.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-2 {
  margin-top: 0.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-3 {
  margin-top: 0.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-4 {
  margin-top: 0.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-5 {
  margin-top: 0.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-6 {
  margin-top: 0.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-7 {
  margin-top: 0.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-8 {
  margin-top: 0.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-9 {
  margin-top: 0.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-10 {
  margin-top: 0.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-11 {
  margin-top: 0.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-12 {
  margin-top: 0.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-13 {
  margin-top: 0.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-14 {
  margin-top: 0.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-15 {
  margin-top: 0.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-16 {
  margin-top: 1rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-17 {
  margin-top: 1.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-18 {
  margin-top: 1.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-19 {
  margin-top: 1.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-20 {
  margin-top: 1.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-21 {
  margin-top: 1.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-22 {
  margin-top: 1.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-23 {
  margin-top: 1.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-24 {
  margin-top: 1.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-25 {
  margin-top: 1.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-26 {
  margin-top: 1.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-27 {
  margin-top: 1.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-28 {
  margin-top: 1.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-29 {
  margin-top: 1.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-30 {
  margin-top: 1.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-31 {
  margin-top: 1.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-32 {
  margin-top: 2rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-33 {
  margin-top: 2.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-34 {
  margin-top: 2.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-35 {
  margin-top: 2.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-36 {
  margin-top: 2.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-37 {
  margin-top: 2.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-38 {
  margin-top: 2.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-39 {
  margin-top: 2.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-40 {
  margin-top: 2.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-41 {
  margin-top: 2.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-42 {
  margin-top: 2.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-43 {
  margin-top: 2.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-44 {
  margin-top: 2.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-45 {
  margin-top: 2.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-46 {
  margin-top: 2.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-47 {
  margin-top: 2.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-48 {
  margin-top: 3rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-49 {
  margin-top: 3.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-50 {
  margin-top: 3.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-51 {
  margin-top: 3.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-52 {
  margin-top: 3.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-53 {
  margin-top: 3.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-54 {
  margin-top: 3.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-55 {
  margin-top: 3.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-56 {
  margin-top: 3.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-57 {
  margin-top: 3.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-58 {
  margin-top: 3.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-59 {
  margin-top: 3.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-60 {
  margin-top: 3.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-61 {
  margin-top: 3.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-62 {
  margin-top: 3.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-63 {
  margin-top: 3.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-64 {
  margin-top: 4rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-65 {
  margin-top: 4.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-66 {
  margin-top: 4.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-67 {
  margin-top: 4.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-68 {
  margin-top: 4.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-69 {
  margin-top: 4.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-70 {
  margin-top: 4.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-71 {
  margin-top: 4.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-72 {
  margin-top: 4.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-73 {
  margin-top: 4.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-74 {
  margin-top: 4.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-75 {
  margin-top: 4.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-76 {
  margin-top: 4.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-77 {
  margin-top: 4.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-78 {
  margin-top: 4.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-79 {
  margin-top: 4.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-80 {
  margin-top: 5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-81 {
  margin-top: 5.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-82 {
  margin-top: 5.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-83 {
  margin-top: 5.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-84 {
  margin-top: 5.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-85 {
  margin-top: 5.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-86 {
  margin-top: 5.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-87 {
  margin-top: 5.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-88 {
  margin-top: 5.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-89 {
  margin-top: 5.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-90 {
  margin-top: 5.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-91 {
  margin-top: 5.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-92 {
  margin-top: 5.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-93 {
  margin-top: 5.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-94 {
  margin-top: 5.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-95 {
  margin-top: 5.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-96 {
  margin-top: 6rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-97 {
  margin-top: 6.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-98 {
  margin-top: 6.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-99 {
  margin-top: 6.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-100 {
  margin-top: 6.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-101 {
  margin-top: 6.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-102 {
  margin-top: 6.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-103 {
  margin-top: 6.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-104 {
  margin-top: 6.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-105 {
  margin-top: 6.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-106 {
  margin-top: 6.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-107 {
  margin-top: 6.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-108 {
  margin-top: 6.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-109 {
  margin-top: 6.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-110 {
  margin-top: 6.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-111 {
  margin-top: 6.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-112 {
  margin-top: 7rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-113 {
  margin-top: 7.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-114 {
  margin-top: 7.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-115 {
  margin-top: 7.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-116 {
  margin-top: 7.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-117 {
  margin-top: 7.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-118 {
  margin-top: 7.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-119 {
  margin-top: 7.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-120 {
  margin-top: 7.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-121 {
  margin-top: 7.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-122 {
  margin-top: 7.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-123 {
  margin-top: 7.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-124 {
  margin-top: 7.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-125 {
  margin-top: 7.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-126 {
  margin-top: 7.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-127 {
  margin-top: 7.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-128 {
  margin-top: 8rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-129 {
  margin-top: 8.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-130 {
  margin-top: 8.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-131 {
  margin-top: 8.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-132 {
  margin-top: 8.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-133 {
  margin-top: 8.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-134 {
  margin-top: 8.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-135 {
  margin-top: 8.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-136 {
  margin-top: 8.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-137 {
  margin-top: 8.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-138 {
  margin-top: 8.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-139 {
  margin-top: 8.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-140 {
  margin-top: 8.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-141 {
  margin-top: 8.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-142 {
  margin-top: 8.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-143 {
  margin-top: 8.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-144 {
  margin-top: 9rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-145 {
  margin-top: 9.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-146 {
  margin-top: 9.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-147 {
  margin-top: 9.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-148 {
  margin-top: 9.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-149 {
  margin-top: 9.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-150 {
  margin-top: 9.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-151 {
  margin-top: 9.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-152 {
  margin-top: 9.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-153 {
  margin-top: 9.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-154 {
  margin-top: 9.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-155 {
  margin-top: 9.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-156 {
  margin-top: 9.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-157 {
  margin-top: 9.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-158 {
  margin-top: 9.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-159 {
  margin-top: 9.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-160 {
  margin-top: 10rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-161 {
  margin-top: 10.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-162 {
  margin-top: 10.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-163 {
  margin-top: 10.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-164 {
  margin-top: 10.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-165 {
  margin-top: 10.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-166 {
  margin-top: 10.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-167 {
  margin-top: 10.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-168 {
  margin-top: 10.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-169 {
  margin-top: 10.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-170 {
  margin-top: 10.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-171 {
  margin-top: 10.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-172 {
  margin-top: 10.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-173 {
  margin-top: 10.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-174 {
  margin-top: 10.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-175 {
  margin-top: 10.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-176 {
  margin-top: 11rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-177 {
  margin-top: 11.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-178 {
  margin-top: 11.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-179 {
  margin-top: 11.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-180 {
  margin-top: 11.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-181 {
  margin-top: 11.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-182 {
  margin-top: 11.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-183 {
  margin-top: 11.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-184 {
  margin-top: 11.5rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-185 {
  margin-top: 11.5625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-186 {
  margin-top: 11.625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-187 {
  margin-top: 11.6875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-188 {
  margin-top: 11.75rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-189 {
  margin-top: 11.8125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-190 {
  margin-top: 11.875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-191 {
  margin-top: 11.9375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-192 {
  margin-top: 12rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-193 {
  margin-top: 12.0625rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-194 {
  margin-top: 12.125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-195 {
  margin-top: 12.1875rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-196 {
  margin-top: 12.25rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-197 {
  margin-top: 12.3125rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-198 {
  margin-top: 12.375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-199 {
  margin-top: 12.4375rem;
}

/* ★ ここから margin-top の追加 ★ */
.u-mt-200 {
  margin-top: 12.5rem;
}

.u-footerInner {
  color: var(--c-sub);
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
}
.u-footerInner_ttl {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: normal;
}
.u-footerInner_txt {
  font-size: 1.25rem;
  font-weight: 600;
}
.u-footerInner_right {
  display: flex;
  align-items: center;
}
.u-footerInner_right ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 44px;
}
.u-footerInner_right ul a {
  transition: 0.3s ease-in-out;
}
.u-footerInner_right ul a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 1100px) {
  .--pc {
    display: none;
  }
  .--sp {
    display: block !important;
  }
}
.--sp {
  display: none;
}

.u-subtitleSp li {
  position: relative;
  left: 24px;
}
.u-subtitleSp li::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 9px;
  width: 7px;
  height: 7px;
  background-color: var(--c-base);
  border-radius: 50%;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 2;
}
.u-subtitleSp.--left {
  text-align: left;
}
.u-subtitleSp.--left li {
  left: -24px;
  padding-left: 24px;
}
.u-subtitleSp.--left li::before {
  left: 0;
}
.u-subtitleSp.--right {
  text-align: right;
}
.u-subtitleSp.--right li {
  left: auto;
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding-right: 12px;
}
.u-subtitleSp.--right li::before {
  position: static;
  left: auto;
  right: auto;
  background-color: var(--c-sub);
}
.u-subtitleSp li {
  color: var(--c-base);
}

.u-spTtl {
  font-size: 4rem;
  color: var(--c-base);
  font-weight: 700;
  line-height: 1;
}
.u-spTtl.--alt {
  color: var(--c-sub);
}

.u-underline {
  text-decoration: underline !important;
}

/*# sourceMappingURL=style.css.map */
