/*!********************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./src/scss/style.scss ***!
  \********************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
:root {
  --container-width: 120.0rem;
  --side-margin: 4.8rem;
}
@media only screen and (max-width: 767px) {
  :root {
    --container-width: 40.0rem;
    --side-margin: 1.6rem;
  }
}

:root {
  --color-main: #009adc;
  --color-txt: #231815;
  --color-bg: #f0edf0;
  --color-white: #ffffff;
  --color-yellow: #fff000;
}

:root {
  --font-main: "Zen Kaku Gothic New", sans-serif;
  --font-en: "Courier Prime", serif;
  --weight-r: 400;
  --weight-m: 500;
  --weight-b: 700;
  --weight-h: 800;
}

:root {
  --default-space: 1.6rem;
  --space-xs: calc(var(--default-space) / 4);
  --space-s: calc(var(--default-space) / 2);
  --space-m: var(--default-space);
  --space-l: calc(var(--default-space) * 1.5);
  --space-2l: calc(var(--default-space) * 2);
  --space-3l: calc(var(--default-space) * 3);
  --space-4l: calc(var(--default-space) * 4);
  --space-5l: calc(var(--default-space) * 5);
  --space-6l: calc(var(--default-space) * 6);
  --section-btm: 8.8rem;
}

body {
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  line-height: 1;
}

div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
input,
textarea {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: var(--weight-m);
  font-style: normal;
  vertical-align: baseline;
  background: transparent;
}

img {
  vertical-align: bottom;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section,
div,
address,
iframe,
canvas,
hr,
textarea {
  display: block;
}

iframe {
  max-width: 100% !important;
}

img,
embed,
object,
video {
  max-width: 100%;
}

a, label {
  cursor: pointer;
}

blockquote {
  padding: 0;
  margin: 0;
  display: block;
}

address, em {
  font-style: normal;
}

hr {
  border: 0;
  margin: 0;
  padding: 0;
}

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

textarea {
  resize: vertical;
  overflow: hidden;
  -ms-appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border: 0;
}

input, button, select {
  vertical-align: middle;
  border-radius: 0;
  box-sizing: border-box;
  border: 0;
  background: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  cursor: pointer;
  white-space: normal;
  outline: 0;
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
}

button,
input[type=reset],
input[type=button],
input[type=submit],
input[type=checkbox],
input[type=radio],
select {
  box-sizing: border-box;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-indent: 0.01px;
  text-overflow: "";
}

select::-ms-expand {
  display: none;
}

table {
  border-collapse: collapse;
}

*:before, *:after {
  padding: 0;
  margin: 0;
  line-height: 1;
}

* {
  box-sizing: border-box;
}

*:before, *:after {
  box-sizing: border-box;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

br {
  font-size: 0;
}

::-moz-selection {
  background: var(--color-navy);
  color: #FFFFFF;
}

::selection {
  background: var(--color-navy);
  color: #FFFFFF;
}

input::-moz-selection, textarea::-moz-selection {
  color: #DDDDDD;
}

input::selection, textarea::selection {
  color: #DDDDDD;
}

html {
  font-size: 62.5%;
  min-height: 100%;
  padding: 0;
  scroll-behavior: smooth;
  /* レスポンシブフォント */
  /*
  @media screen and (min-width: 1023px) {
      font-size: .8vw;
  }

  @media screen and (min-width: 1281px) {
      font-size: .8vw;
  }

  @media screen and (min-width: 1401px) {
      font-size: .7vw;
  }

  @media screen and (min-width: 2001px) {
      font-size: 87.5%;
  }

  @include tab{
      font-size: 62.5%;
  }

  @include spl{
      font-size: 62.5%;
  }
  */
}

body {
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -o-font-smoothing: antialiased;
  font-smooth: antialiased;
  line-height: 2;
  font-family: var(--font-main);
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
  font-size: 1.4rem;
  color: var(--color-txt);
  background-color: var(--color-bg);
}
body.is-fixed {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
  left: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1.4rem;
}

input,
button,
select,
textarea {
  font-family: var(--font-main);
}

input:focus,
button:focus,
select:focus,
textarea:focus,
a:focus,
div:focus,
aside:focus {
  outline: none;
}

a {
  color: #000;
  text-decoration: underline;
}

a.is-hover {
  text-decoration: none;
}

br.is-pcbr {
  display: block;
}

br.is-spbr {
  display: none;
}

br.is-tabbr {
  display: none;
}

br.is-spsbr {
  display: none;
}

@media screen and (max-width: 1023px) {
  br.is-pcbr {
    display: none;
  }
}
@media only screen and (max-width: 1023px) {
  br.is-tabbr {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  br.is-spbr {
    display: block;
  }
}
@media screen and (max-width: 370px) {
  br.is-spsbr {
    display: block;
  }
}
/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.l-container {
  max-width: var(--container-width);
  margin-inline: auto;
  padding-left: var(--side-margin);
  padding-right: var(--side-margin);
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
/*---------------------------------------------------
oval
-----------------------------------------------------*/
.c-btn__oval {
  display: inline-block;
  background-color: var(--color-main);
  color: var(--color-white);
  font-weight: var(--weight-m);
  padding: 0.64em 2em 0.64em 3em;
  font-size: 0.8em;
  border-radius: 9999px;
  line-height: 1;
  letter-spacing: 0.16em;
  position: relative;
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  color: transparent;
  text-shadow: 0 -1.8em 0 var(--color-white), 0 0 0 var(--color-white);
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.c-btn__oval i {
  position: absolute;
  top: 50%;
  left: 0.56em;
  transform: translateY(-50%);
}
.c-btn__oval.is-hover {
  text-shadow: 0 0 0 var(--color-white), 0 1.8em 0 var(--color-white);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.c-btn__oval--yellow {
  background-color: var(--color-yellow);
  text-shadow: 0 -1.8em 0 var(--color-main), 0 0 0 var(--color-main);
}
.c-btn__oval--yellow.is-hover {
  text-shadow: 0 0 0 var(--color-main), 0 1.8em 0 var(--color-main);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
@media only screen and (max-width: 767px) {
  .c-btn__oval {
    padding: 0.64em 0.8em 0.64em 2.3em;
  }
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
/*---------------------------------------------------
type01
    * news
-----------------------------------------------------*/
.c-ttl__type01 {
  color: var(--color-main);
  text-align: center;
}
.c-ttl__type01 span {
  font-family: var(--font-en);
  font-weight: var(--weight-b);
  font-size: 5.6rem;
  line-height: 1;
  letter-spacing: 0.24em;
}
.c-ttl__type01 .c-ttl__type01__main {
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.24em;
}

/*---------------------------------------------------
type02
    * section title
-----------------------------------------------------*/
.c-ttl__type02 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 2rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-ttl__type02 {
    margin-bottom: 4rem;
  }
}
.c-ttl__type02::before, .c-ttl__type02::after {
  content: "";
  display: inline-block;
  width: 1em;
  aspect-ratio: 24/44;
  background-image: url("../img/balloon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: 0.2em;
}
.c-ttl__type02::after {
  transform: scaleX(-1);
}
.c-ttl__type02 br {
  display: none;
}
@media only screen and (max-width: 767px) {
  .c-ttl__type02 br {
    display: block;
  }
}

.c-ttl__type02__main {
  display: inline-flex;
  align-items: center;
  font-size: 2.4rem;
  font-weight: var(--weight-r);
  line-height: 1.2;
  letter-spacing: 0.24em;
  color: var(--color-main);
  padding: 0.2em 1em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-ttl__type02__main {
    font-size: 2rem;
  }
}

.c-ttl__type02__note {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.16em;
  color: var(--color-txt);
  white-space: nowrap;
  position: absolute;
  bottom: 0;
  left: calc(100% + 1em);
}
@media only screen and (max-width: 767px) {
  .c-ttl__type02__note {
    bottom: auto;
    top: 100%;
    left: auto;
    right: 0;
    margin-top: -1em;
  }
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.c-icon {
  display: inline-block;
  width: 100%;
  aspect-ratio: 1/1;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  background-repeat: no-repeat;
}
.c-icon--arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.1em;
  background-color: var(--color-white);
  border-radius: 9999px;
}
.c-icon--arrow::after {
  content: "";
  display: block;
  width: 40%;
  aspect-ratio: 1/1;
  border-right: 1px solid var(--color-main);
  border-top: 1px solid var(--color-main);
  transform-origin: center;
  transform: translateX(-24%) rotate(45deg);
}
.c-icon--arrow--blue {
  background-color: var(--color-main);
}
.c-icon--arrow--blue::after {
  border-color: var(--color-white);
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.c-logo {
  display: inline-block;
  width: 100%;
  aspect-ratio: 185/64;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  background-repeat: no-repeat;
}
.c-logo--nagasaki {
  background-image: url("../img/logo-nagasaki.svg");
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
/*---------------------------------------------------
hamb
-----------------------------------------------------*/
.c-hamb {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 4.8rem;
  aspect-ratio: 1/1;
  background-color: var(--color-main);
  border-radius: 50%;
  line-height: 1;
}
.c-hamb span {
  position: relative;
  display: block;
  width: 2.2rem;
  height: 2px;
  background-color: var(--color-white);
}
.c-hamb span::before, .c-hamb span::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  transition: 0.3s;
}
.c-hamb span::before {
  top: -8px;
}
.c-hamb span::after {
  bottom: -8px;
}
.c-hamb.is-open span {
  background-color: transparent;
}
.c-hamb.is-open span::before {
  animation: openHambTop 0.5s forwards;
}
.c-hamb.is-open span::after {
  animation: openHambBottom 0.5s forwards;
}
.c-hamb.is-closing span::before {
  animation: closeHambTop 0.5s forwards;
}
.c-hamb.is-closing span::after {
  animation: closeHambBottom 0.5s forwards;
}

/*---------------------------------------------------
animation
-----------------------------------------------------*/
@keyframes openHambTop {
  0% {
    transform: translateY(0) rotate(0);
  }
  30% {
    transform: translateY(8px) rotate(0);
  }
  100% {
    transform: translateY(8px) rotate(-30deg);
  }
}
@keyframes openHambBottom {
  0% {
    transform: translateY(0) rotate(0);
  }
  30% {
    transform: translateY(-8px) rotate(0);
  }
  100% {
    transform: translateY(-8px) rotate(30deg);
  }
}
@keyframes closeHambTop {
  0% {
    transform: translateY(8px) rotate(-30deg);
  }
  30% {
    transform: translateY(8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes closeHambBottom {
  0% {
    transform: translateY(-8px) rotate(30deg);
  }
  30% {
    transform: translateY(-8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.c-copy {
  font-size: 1rem;
  font-family: var(--font-en);
  font-weight: var(--weight-b);
  letter-spacing: 0.12em;
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.c-ticket__news {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 5.6rem;
  text-decoration: none;
  background-color: var(--color-white);
  font-size: 1.5rem;
  padding: 1.2em 3em;
  font-weight: inherit;
  position: relative;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
@media only screen and (max-width: 767px) {
  .c-ticket__news {
    grid-template-columns: 100%;
    gap: 0.8rem;
    padding: 1.1em 1.3em;
  }
}
.c-ticket__news time {
  color: var(--color-main);
  line-height: 1;
  text-shadow: 0 -6rem 0 var(--color-main), 0 0 0 var(--color-main);
}
.c-ticket__news span {
  color: var(--color-txt);
  text-shadow: 0 -6rem 0 var(--color-txt), 0 0 0 var(--color-txt);
}
.c-ticket__news time,
.c-ticket__news span {
  overflow: hidden;
  color: transparent;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
.c-ticket__news i {
  width: 2.4rem;
  position: absolute;
  top: 50%;
  right: 1.6em;
  transform: translateY(-50%);
}
.c-ticket__news i::after {
  border-width: 2px;
}
@media only screen and (max-width: 767px) {
  .c-ticket__news i {
    right: 0.8em;
  }
}
.c-ticket__news.is-hover time {
  text-shadow: 0 0 0 var(--color-main), 0 6rem 0 var(--color-main);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}
.c-ticket__news.is-hover span {
  text-shadow: 0 0 0 var(--color-txt), 0 6rem 0 var(--color-txt);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 3.2rem 4rem;
}
@media only screen and (max-width: 1027px) {
  .g-header {
    padding: 2.4rem 3.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .g-header {
    padding: 2rem 1.4rem;
  }
}

/*---------------------------------------------------
logo
-----------------------------------------------------*/
.g-header__logo {
  width: 18.5rem;
}
@media only screen and (max-width: 1440px) {
  .g-header__logo {
    width: 16rem;
  }
}
@media only screen and (max-width: 1200px) {
  .g-header__logo {
    width: 12.8rem;
  }
}

/*---------------------------------------------------
nav
-----------------------------------------------------*/
.g-header__nav {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 1023px) {
  .g-header__nav {
    gap: 1.6rem;
  }
}
@media only screen and (max-width: 350px) {
  .g-header__nav {
    flex-direction: column-reverse;
    align-items: flex-end;
  }
}

/*---------------------------------------------------
hamb
-----------------------------------------------------*/
.g-header__hamb {
  display: none;
  position: relative;
  z-index: 101;
}
@media only screen and (max-width: 1023px) {
  .g-header__hamb {
    display: block;
  }
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-footer {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-color: var(--color-white);
  padding: 4rem 1.6rem 1.6rem;
}
@media only screen and (max-width: 767px) {
  .g-footer {
    padding: 8rem var(--side-margin) 4rem;
  }
}

.g-footer__logo {
  text-align: center;
}
.g-footer__logo a {
  max-width: 19.6rem;
}

/*---------------------------------------------------
info
-----------------------------------------------------*/
.g-footer__info {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .g-footer__info {
    flex-direction: column;
    gap: 1.8rem;
  }
}
@media only screen and (max-width: 520px) {
  .g-footer__info {
    align-items: flex-start;
    margin-top: 8.8rem;
  }
}

.g-footer__info__txt {
  display: flex;
  font-size: 1.2rem;
  letter-spacing: 0.18em;
}
@media only screen and (max-width: 520px) {
  .g-footer__info__txt {
    flex-direction: column;
    line-height: 1.4;
  }
}
.g-footer__info__txt > * {
  font-weight: var(--weight-m);
}
.g-footer__info__txt > *::after {
  content: "／";
}
.g-footer__info__txt > *:last-child::after {
  content: "";
}
@media only screen and (max-width: 520px) {
  .g-footer__info__txt > *::after {
    content: "";
  }
}
.g-footer__info__txt address {
  text-decoration: none;
}
.g-footer__info__txt a {
  text-decoration: none;
}
.g-footer__info__txt a.is-hover {
  text-decoration: underline;
}

/*---------------------------------------------------
copy
-----------------------------------------------------*/
.g-footer__copy {
  margin-top: 4.8rem;
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
/*---------------------------------------------------
global
-----------------------------------------------------*/
.g-nav__global {
  display: block;
}
@media only screen and (max-width: 1023px) {
  .g-nav__global {
    display: none;
  }
}

.g-nav__global__list {
  display: flex;
  font-weight: var(--weight-m);
  font-size: 1.3rem;
}
.g-nav__global__list li {
  display: flex;
  align-items: center;
}
.g-nav__global__list li::before {
  content: "";
  display: inline-block;
  width: 2px;
  height: 1em;
  background-color: var(--color-txt);
}
.g-nav__global__list li:first-child::before {
  display: none;
}
.g-nav__global__list a {
  display: block;
  padding: 0.4em 1.4em;
  text-decoration: none;
  color: var(--color-txt);
  line-height: 1;
  letter-spacing: 0.1em;
  transition: 0.5s cubic-bezier(0.26, 0.06, 0, 1) all;
}
@media only screen and (max-width: 1200px) {
  .g-nav__global__list a {
    padding: 0.4em 1em;
    font-size: 1.2rem;
  }
}
.g-nav__global__list a.is-hover {
  color: var(--color-main);
  transition: 0.25s cubic-bezier(0.18, 0.06, 0.23, 1) all;
}

/*---------------------------------------------------
cv
-----------------------------------------------------*/
.g-nav__cv {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
}

/*---------------------------------------------------
modal
-----------------------------------------------------*/
.g-nav__modal {
  background-image: url("../img/pic-glasses.svg");
  background-size: min(17rem, 45.9459459459vw);
  background-repeat: no-repeat;
  background-position: right bottom;
  padding-bottom: 5.6rem;
}

.g-nav__modal__list a {
  font-size: 1.6rem;
  font-weight: var(--weight-m);
  letter-spacing: 0.12em;
  line-height: 2.5;
  text-decoration: none;
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-modalnav {
  display: none;
  width: 100vw;
  height: 100dvh;
  background-color: var(--color-bg);
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.g-modalnav.is-open {
  display: block;
  animation: fadein 0.3s forwards;
}
.g-modalnav.is-closing {
  animation: fadeout 0.3s forwards;
}

.g-modalnav__inner {
  max-width: 40rem;
  margin-inline: auto;
  padding: 10rem 2rem 4.4rem;
}

/*---------------------------------------------------
entry
-----------------------------------------------------*/
.g-modalnav__entry {
  margin-top: 1.6rem;
  font-size: 1.5rem;
}

/*---------------------------------------------------
copy
-----------------------------------------------------*/
.g-modalnav__copy {
  margin-top: 4rem;
}

/*---------------------------------------------------
animation
-----------------------------------------------------*/
@keyframes fadein {
  0% {
    opacity: 0;
  }
  3% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  3% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-mv {
  padding: 7.2rem 0 6.4rem;
}
@media only screen and (max-width: 767px) {
  .g-mv {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 6.4rem 0 8rem;
    overflow: hidden;
  }
}

.g-mv__img {
  display: block;
  width: 100%;
  aspect-ratio: 1104/416;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .g-mv__img {
    width: 54rem;
    aspect-ratio: unset;
    height: 52.5rem;
    margin-inline: auto;
  }
}
@media only screen and (max-width: 540px) {
  .g-mv__img {
    width: 100%;
  }
}
@media only screen and (max-width: 390px) {
  .g-mv__img {
    height: 135.1282051282vw;
  }
}
.g-mv__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width: 540px) {
  .g-mv__img img {
    max-width: 54rem;
    width: 145.9459459459vw;
  }
}
@media only screen and (max-width: 390px) {
  .g-mv__img img {
    width: 138.4615384615vw;
  }
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-lead {
  padding: 5.6rem 0;
}
@media only screen and (max-width: 767px) {
  .g-lead {
    padding: 6.4rem 0;
  }
}

.g-lead__inner {
  position: relative;
}
.g-lead__inner > * {
  position: relative;
  z-index: 1;
}
.g-lead__inner::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  aspect-ratio: 1097/630;
  background-image: url("../img/lead-bg.svg");
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-news {
  padding: 5.6rem 0;
  margin-bottom: 5.6rem;
  border-bottom: 1px solid var(--color-white);
}

/*---------------------------------------------------
list
-----------------------------------------------------*/
.g-news__list {
  display: grid;
  gap: 0.4rem;
  margin-top: 3.2rem;
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-purpose {
  margin-bottom: var(--section-btm);
}

.g-purpose__img {
  display: block;
  width: 100%;
  aspect-ratio: 1104/469;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .g-purpose__img {
    aspect-ratio: 359/1208;
  }
}
.g-purpose__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-feature {
  margin-bottom: var(--section-btm);
}

.g-feature__img {
  display: block;
  width: 100%;
  aspect-ratio: 1104/422;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .g-feature__img {
    aspect-ratio: 360/1330;
  }
}
.g-feature__img img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-summary {
  margin-bottom: var(--section-btm);
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-entry {
  padding: 9.6rem 0;
  margin-bottom: 8rem;
  display: flex;
  justify-content: center;
  font-size: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .g-entry {
    font-size: min(2rem, 5.4054054054vw);
  }
}
.g-entry::after {
  content: "";
  display: block;
  margin-top: -1px;
  width: 7.2rem;
  height: 4.2rem;
  background-color: var(--color-bg);
  -webkit-clip-path: polygon(0 0, 100% 0%, 50% 100%);
          clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-contents {
  margin-bottom: var(--section-btm);
}

.g-contents__img {
  display: block;
  width: 100%;
  aspect-ratio: 1104/476;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .g-contents__img {
    aspect-ratio: 386/1168;
    width: calc(100% + 3.2rem);
  }
}
@media only screen and (max-width: 400px) {
  .g-contents__img {
    width: calc(50% + 50vw);
    margin-right: calc(50% - 50vw);
  }
}
.g-contents__img img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left center;
     object-position: left center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 400px) {
  .g-contents__img img {
    -o-object-fit: cover;
       object-fit: cover;
  }
}

/*レスポンシブ用*/
/*-----------------------------------------
mixins
-----------------------------------------*/
.g-schedule {
  margin-bottom: var(--section-btm);
}

.g-schedule__img {
  display: block;
  width: 100%;
  aspect-ratio: 1104/479;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .g-schedule__img {
    aspect-ratio: 366/1542;
  }
}
.g-schedule__img img {
  -o-object-fit: auto 100%;
     object-fit: auto 100%;
  -o-object-position: center center;
     object-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.u-mat {
  position: relative;
}
.u-mat > * {
  position: relative;
  z-index: 1;
}
.u-mat::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background-color: var(--color-main);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
.u-mat--white::before {
  background-color: var(--color-white);
}

.u-m__xs {
  margin: var(--space-xs);
}

.u-m__s {
  margin: var(--space-s);
}

.u-m__m {
  margin: var(--space-m);
}

.u-m__l {
  margin: var(--space-l);
}

.u-m__2l {
  margin: var(--space-2l);
}

.u-m__3l {
  margin: var(--space-3l);
}

.u-m__4l {
  margin: var(--space-4l);
}

.u-m__5l {
  margin: var(--space-5l);
}

.u-mt__xs {
  margin-top: var(--space-xs);
}

.u-mt__s {
  margin-top: var(--space-s);
}

.u-mt__m {
  margin-top: var(--space-m);
}

.u-mt__l {
  margin-top: var(--space-l);
}

.u-mt__2l {
  margin-top: var(--space-2l);
}

.u-mt__3l {
  margin-top: var(--space-3l);
}

.u-mt__4l {
  margin-top: var(--space-4l);
}

.u-mt__5l {
  margin-top: var(--space-5l);
}

.u-mb__xs {
  margin-bottom: var(--space-xs);
}

.u-mb__s {
  margin-bottom: var(--space-s);
}

.u-mb__m {
  margin-bottom: var(--space-m);
}

.u-mb__l {
  margin-bottom: var(--space-l);
}

.u-mb__2l {
  margin-bottom: var(--space-2l);
}

.u-mb__3l {
  margin-bottom: var(--space-3l);
}

.u-mb__4l {
  margin-bottom: var(--space-4l);
}

.u-mb__5l {
  margin-bottom: var(--space-5l);
}

.u-margin-ia {
  margin-inline: auto;
}

.u-margin-scroll {
  scroll-margin-top: 5.6rem;
}

.u-p__xs {
  padding: var(--space-xs);
}

.u-p__s {
  padding: var(--space-s);
}

.u-p__m {
  padding: var(--space-m);
}

.u-p__l {
  padding: var(--space-l);
}

.u-p__2l {
  padding: var(--space-2l);
}

.u-p__3l {
  padding: var(--space-3l);
}

.u-p__4l {
  padding: var(--space-4l);
}

.u-p__5l {
  padding: var(--space-5l);
}

.u-pt__xs {
  padding-top: var(--space-xs);
}

.u-pt__s {
  padding-top: var(--space-s);
}

.u-pt__m {
  padding-top: var(--space-m);
}

.u-pt__l {
  padding-top: var(--space-l);
}

.u-pt__2l {
  padding-top: var(--space-2l);
}

.u-pt__3l {
  padding-top: var(--space-3l);
}

.u-pt__4l {
  padding-top: var(--space-4l);
}

.u-pt__5l {
  padding-top: var(--space-5l);
}

.u-pb__xs {
  padding-bottom: var(--space-xs);
}

.u-pb__s {
  padding-bottom: var(--space-s);
}

.u-pb__m {
  padding-bottom: var(--space-m);
}

.u-pb__l {
  padding-bottom: var(--space-l);
}

.u-pb__2l {
  padding-bottom: var(--space-2l);
}

.u-pb__3l {
  padding-bottom: var(--space-3l);
}

.u-pb__4l {
  padding-bottom: var(--space-4l);
}

.u-pb__5l {
  padding-bottom: var(--space-5l);
}

.u-fs__p10s10 {
  font-size: 1rem;
}

.u-fs__p10s11 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p10s12 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p10s13 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p10s14 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p10s15 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p10s16 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p10s17 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p10s18 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p10s19 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p10s20 {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p10s20 {
    font-size: 2rem;
  }
}

.u-fs__p11s10 {
  font-size: 1.1rem;
}

.u-fs__p11s11 {
  font-size: 1.1rem;
}

.u-fs__p11s12 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p11s13 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p11s14 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p11s15 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p11s16 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p11s17 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p11s18 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p11s19 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p11s20 {
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p11s20 {
    font-size: 2rem;
  }
}

.u-fs__p12s10 {
  font-size: 1.2rem;
}

.u-fs__p12s11 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p12s12 {
  font-size: 1.2rem;
}

.u-fs__p12s13 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p12s14 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p12s15 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p12s16 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p12s17 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p12s18 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p12s19 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p12s20 {
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p12s20 {
    font-size: 2rem;
  }
}

.u-fs__p13s10 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s10 {
    font-size: 1rem;
  }
}

.u-fs__p13s11 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p13s12 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p13s13 {
  font-size: 1.3rem;
}

.u-fs__p13s14 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p13s15 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p13s16 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p13s17 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p13s18 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p13s19 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p13s20 {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p13s20 {
    font-size: 2rem;
  }
}

.u-fs__p14s10 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s10 {
    font-size: 1rem;
  }
}

.u-fs__p14s11 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p14s12 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p14s13 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p14s14 {
  font-size: 1.4rem;
}

.u-fs__p14s15 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p14s16 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p14s17 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p14s18 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p14s19 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p14s20 {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p14s20 {
    font-size: 2rem;
  }
}

.u-fs__p15s10 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s10 {
    font-size: 1rem;
  }
}

.u-fs__p15s11 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p15s12 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p15s13 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p15s14 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p15s15 {
  font-size: 1.5rem;
}

.u-fs__p15s16 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p15s17 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p15s18 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p15s19 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p15s20 {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p15s20 {
    font-size: 2rem;
  }
}

.u-fs__p16s10 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s10 {
    font-size: 1rem;
  }
}

.u-fs__p16s11 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p16s12 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p16s13 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p16s14 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p16s15 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p16s16 {
  font-size: 1.6rem;
}

.u-fs__p16s17 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p16s18 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p16s19 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p16s20 {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p16s20 {
    font-size: 2rem;
  }
}

.u-fs__p17s10 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s10 {
    font-size: 1rem;
  }
}

.u-fs__p17s11 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p17s12 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p17s13 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p17s14 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p17s15 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p17s16 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p17s17 {
  font-size: 1.7rem;
}

.u-fs__p17s18 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p17s19 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p17s20 {
  font-size: 1.7rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p17s20 {
    font-size: 2rem;
  }
}

.u-fs__p18s10 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s10 {
    font-size: 1rem;
  }
}

.u-fs__p18s11 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p18s12 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p18s13 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p18s14 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p18s15 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p18s16 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p18s17 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p18s18 {
  font-size: 1.8rem;
}

.u-fs__p18s19 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p18s20 {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p18s20 {
    font-size: 2rem;
  }
}

.u-fs__p19s10 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s10 {
    font-size: 1rem;
  }
}

.u-fs__p19s11 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p19s12 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p19s13 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p19s14 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p19s15 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p19s16 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p19s17 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p19s18 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p19s19 {
  font-size: 1.9rem;
}

.u-fs__p19s20 {
  font-size: 1.9rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p19s20 {
    font-size: 2rem;
  }
}

.u-fs__p20s10 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s10 {
    font-size: 1rem;
  }
}

.u-fs__p20s11 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s11 {
    font-size: 1.1rem;
  }
}

.u-fs__p20s12 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s12 {
    font-size: 1.2rem;
  }
}

.u-fs__p20s13 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s13 {
    font-size: 1.3rem;
  }
}

.u-fs__p20s14 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s14 {
    font-size: 1.4rem;
  }
}

.u-fs__p20s15 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s15 {
    font-size: 1.5rem;
  }
}

.u-fs__p20s16 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s16 {
    font-size: 1.6rem;
  }
}

.u-fs__p20s17 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s17 {
    font-size: 1.7rem;
  }
}

.u-fs__p20s18 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s18 {
    font-size: 1.8rem;
  }
}

.u-fs__p20s19 {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-fs__p20s19 {
    font-size: 1.9rem;
  }
}

.u-fs__p20s20 {
  font-size: 2rem;
}

.u-color__blue {
  color: var(--color-main);
}

.u-color__black {
  color: var(--color-txt);
}

.u-width__short {
  max-width: 45rem;
  width: 100%;
  margin-inline: auto;
}

.u-home__messagemat {
  padding-top: 5.46875vw;
  padding-bottom: 5.46875vw;
}
@media only screen and (max-width: 767px) {
  .u-home__messagemat {
    padding-top: 18.9189189189vw;
    padding-bottom: 18.9189189189vw;
  }
}

.u-home__policymat {
  padding-bottom: 5.46875vw;
}
@media only screen and (max-width: 767px) {
  .u-home__policymat {
    padding-bottom: 18.9189189189vw;
  }
}

.u-home__profilemat {
  padding-right: var(--margin-5l);
  padding-left: var(--margin-5l);
}
@media only screen and (max-width: 767px) {
  .u-home__profilemat {
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }
}

.u-home__topicsmat {
  text-align: center;
}

.u-home__sns {
  display: block;
}
@media only screen and (max-width: 767px) {
  .u-home__sns {
    display: none;
  }
}
