@charset "UTF-8";
/*
brakepoint
*/
/* line 28, common.scss */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

/* line 35, common.scss */
*,
*:before,
*:after {
  box-sizing: border-box;
  -ms-box-sizing: border-box; }

/* line 41, common.scss */
html,
body {
  overflow-x: clip; }

/* line 45, common.scss */
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  scroll-behavior: smooth; }

/* line 51, common.scss */
body {
  font-size: 16px;
  color: #000000;
  line-height: 1;
  background-color: #FFFFFF;
  -webkit-font-smoothing: antialiased; }
  /* line 57, common.scss */
  body.fixed {
    width: 100%;
    height: 100%;
    position: fixed; }

/* line 63, common.scss */
:target {
  scroll-margin-top: 100px; }

/* line 66, common.scss */
body,
input,
textarea,
body.custom-font-enabled {
  font-family: "Outfit", "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  word-break: break-all; }

/* line 74, common.scss */
ol,
ul {
  list-style: none; }

/* line 78, common.scss */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* line 82, common.scss */
caption,
th,
td {
  font-weight: normal;
  text-align: left; }

/* line 88, common.scss */
h1,
h2,
h3,
h4,
h5,
h6 {
  position: relative;
  color: #000000;
  clear: both;
  line-height: 1;
  margin: 0;
  padding: 0; }

/* line 101, common.scss */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block; }

/* line 113, common.scss */
p {
  margin-bottom: 15px;
  line-height: 1.7;
  letter-spacing: -0.02em; }

/* line 120, common.scss */
ul li,
ol li {
  line-height: 1.7;
  margin: 0 0 5px; }

/* line 127, common.scss */
ol {
  list-style: decimal;
  margin: 0 0 20px 1.5em; }

/* line 131, common.scss */
ul ul,
ol ol,
ul ol,
ol ul {
  margin-bottom: 0; }

/* line 137, common.scss */
dl {
  margin: 0 0 24px 0; }

/* line 140, common.scss */
dt,
dd {
  line-height: 1.7; }

/* line 146, common.scss */
dt {
  font-weight: bold; }

/* line 149, common.scss */
dd {
  margin: 0 0 18px 20px; }

/* line 152, common.scss */
strong {
  font-weight: bold; }

/* line 155, common.scss */
cite,
i {
  font-style: normal; }

/* line 159, common.scss */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

/* line 166, common.scss */
sup {
  top: -0.5em; }

/* line 169, common.scss */
sub {
  bottom: -0.25em; }

/* line 172, common.scss */
small {
  font-size: smaller; }

/* line 175, common.scss */
img {
  border: none;
  vertical-align: top;
  max-width: 100%;
  height: auto; }

/* line 181, common.scss */
video {
  width: 100%; }

/* line 184, common.scss */
address {
  font-style: normal; }

/* line 188, common.scss */
.alignleft {
  float: left;
  margin: 0 24px 35px 0; }

/* line 192, common.scss */
.alignright {
  float: right;
  margin: 0 0 35px 24px; }

/* line 196, common.scss */
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 35px; }

/* line 204, common.scss */
a {
  color: #000000;
  text-decoration: underline; }
  /* line 207, common.scss */
  a img {
    transition: opacity 0.3s ease-out; }
    /* line 209, common.scss */
    a img:hover {
      opacity: 0.7; }
      @media screen and (max-width: 800px) {
        /* line 209, common.scss */
        a img:hover {
          opacity: 1; } }
  /* line 216, common.scss */
  a .btn_content {
    display: inline-block;
    position: relative;
    overflow: hidden;
    z-index: 2; }
    /* line 223, common.scss */
    a .btn_content .btn_first span,
    a .btn_content .btn_last span {
      display: inline-block;
      line-height: 1;
      transition: transform 0.5s ease-out 0s; }
    /* line 229, common.scss */
    a .btn_content .btn_first {
      position: relative; }
    /* line 232, common.scss */
    a .btn_content .btn_last {
      position: absolute;
      left: 0;
      top: 100%; }
      @media screen and (max-width: 800px) {
        /* line 232, common.scss */
        a .btn_content .btn_last {
          display: none; } }
      /* line 240, common.scss */
      a .btn_content .btn_last span:nth-child(1) {
        transform: translateY(0%); }
      /* line 243, common.scss */
      a .btn_content .btn_last span:nth-child(2) {
        transform: translateY(1em); }
      /* line 246, common.scss */
      a .btn_content .btn_last span:nth-child(3) {
        transform: translateY(2em); }
      /* line 249, common.scss */
      a .btn_content .btn_last span:nth-child(4) {
        transform: translateY(3em); }
      /* line 252, common.scss */
      a .btn_content .btn_last span:nth-child(5) {
        transform: translateY(4em); }
      /* line 255, common.scss */
      a .btn_content .btn_last span:nth-child(6) {
        transform: translateY(5em); }
      /* line 258, common.scss */
      a .btn_content .btn_last span:nth-child(7) {
        transform: translateY(6em); }
      /* line 261, common.scss */
      a .btn_content .btn_last span:nth-child(8) {
        transform: translateY(7em); }
  /* line 271, common.scss */
  a:hover .btn_content .btn_first span:nth-child(1) {
    transform: translateY(-1em); }
    @media screen and (max-width: 800px) {
      /* line 271, common.scss */
      a:hover .btn_content .btn_first span:nth-child(1) {
        transform: translateX(0); } }
  /* line 277, common.scss */
  a:hover .btn_content .btn_first span:nth-child(2) {
    transform: translateY(-2em); }
    @media screen and (max-width: 800px) {
      /* line 277, common.scss */
      a:hover .btn_content .btn_first span:nth-child(2) {
        transform: translateX(0); } }
  /* line 283, common.scss */
  a:hover .btn_content .btn_first span:nth-child(3) {
    transform: translateY(-3em); }
    @media screen and (max-width: 800px) {
      /* line 283, common.scss */
      a:hover .btn_content .btn_first span:nth-child(3) {
        transform: translateX(0); } }
  /* line 289, common.scss */
  a:hover .btn_content .btn_first span:nth-child(4) {
    transform: translateY(-4em); }
    @media screen and (max-width: 800px) {
      /* line 289, common.scss */
      a:hover .btn_content .btn_first span:nth-child(4) {
        transform: translateX(0); } }
  /* line 295, common.scss */
  a:hover .btn_content .btn_first span:nth-child(5) {
    transform: translateY(-5em); }
    @media screen and (max-width: 800px) {
      /* line 295, common.scss */
      a:hover .btn_content .btn_first span:nth-child(5) {
        transform: translateX(0); } }
  /* line 301, common.scss */
  a:hover .btn_content .btn_first span:nth-child(6) {
    transform: translateY(-6em); }
    @media screen and (max-width: 800px) {
      /* line 301, common.scss */
      a:hover .btn_content .btn_first span:nth-child(6) {
        transform: translateX(0); } }
  /* line 307, common.scss */
  a:hover .btn_content .btn_first span:nth-child(7) {
    transform: translateY(-7em); }
    @media screen and (max-width: 800px) {
      /* line 307, common.scss */
      a:hover .btn_content .btn_first span:nth-child(7) {
        transform: translateX(0); } }
  /* line 313, common.scss */
  a:hover .btn_content .btn_first span:nth-child(8) {
    transform: translateY(-8em); }
    @media screen and (max-width: 800px) {
      /* line 313, common.scss */
      a:hover .btn_content .btn_first span:nth-child(8) {
        transform: translateX(0); } }
  /* line 322, common.scss */
  a:hover .btn_content .btn_last span {
    transform: translateY(-100%); }
  /* line 328, common.scss */
  a:hover .btn_nolink::before {
    width: 100%; }
    @media screen and (max-width: 800px) {
      /* line 328, common.scss */
      a:hover .btn_nolink::before {
        display: none; } }
  /* line 334, common.scss */
  a:hover .btn_nolink::after {
    right: 20px;
    transition: right 0.6s ease-out; }
    @media screen and (max-width: 800px) {
      /* line 334, common.scss */
      a:hover .btn_nolink::after {
        right: 15px; } }

/* line 345, common.scss */
.pc {
  display: block; }
  @media screen and (max-width: 800px) {
    /* line 345, common.scss */
    .pc {
      display: none; } }

/* line 351, common.scss */
.sp {
  display: none; }
  @media screen and (max-width: 800px) {
    /* line 351, common.scss */
    .sp {
      display: block; } }

/* line 357, common.scss */
.komelist {
  margin: 0 0 35px; }

/* line 360, common.scss */
.komelist li {
  list-style: none;
  margin-left: 1em; }

/* line 364, common.scss */
.komelist li::before {
  content: "※";
  margin-left: -1em; }

/* line 369, common.scss */
main {
  position: relative;
  width: 100%;
  z-index: 1;
  padding-top: 130px;
  background-color: #F0F0F0; }
  @media screen and (max-width: 800px) {
    /* line 369, common.scss */
    main {
      padding-top: 85px; } }
  /* line 378, common.scss */
  main h1 {
    font-size: 77px;
    font-weight: 500;
    line-height: 1;
    z-index: 1;
    overflow: hidden;
    white-space: nowrap; }
  /* line 386, common.scss */
  main h2 {
    font-weight: 700;
    margin-bottom: 25px; }
    /* line 389, common.scss */
    main h2 .jp_title {
      display: block;
      font-size: 30px;
      line-height: 1.5;
      letter-spacing: -0.02em; }
      @media screen and (max-width: 800px) {
        /* line 389, common.scss */
        main h2 .jp_title {
          font-size: 24px; } }
    /* line 398, common.scss */
    main h2 .en_title {
      display: block;
      font-size: 20px;
      letter-spacing: 0.01em; }
      @media screen and (max-width: 800px) {
        /* line 398, common.scss */
        main h2 .en_title {
          font-size: 17px;
          letter-spacing: 0; } }

/* line 409, common.scss */
.cbox {
  position: relative;
  width: calc(100% - 60px);
  max-width: 1020px;
  margin: 0 auto; }
  /* line 414, common.scss */
  .cbox.cbox690 {
    max-width: 690px; }
    @media screen and (max-width: 800px) {
      /* line 414, common.scss */
      .cbox.cbox690 {
        max-width: inherit; } }
  /* line 420, common.scss */
  .cbox.cbox800 {
    max-width: 800px; }
    @media screen and (max-width: 800px) {
      /* line 420, common.scss */
      .cbox.cbox800 {
        max-width: inherit; } }
  /* line 426, common.scss */
  .cbox.cbox860 {
    max-width: 860px; }
    @media screen and (max-width: 800px) {
      /* line 426, common.scss */
      .cbox.cbox860 {
        max-width: inherit; } }
  /* line 432, common.scss */
  .cbox.cbox900 {
    max-width: 900px; }
    @media screen and (max-width: 800px) {
      /* line 432, common.scss */
      .cbox.cbox900 {
        max-width: inherit; } }
  /* line 438, common.scss */
  .cbox.cbox1100 {
    max-width: 1100px; }

/* line 443, common.scss */
section {
  position: relative; }

/* line 448, common.scss */
h2 .en_title {
  display: block;
  color: #DB002F;
  font-optical-sizing: auto;
  font-weight: 500;
  line-height: 1; }

/* line 456, common.scss */
typewritten-text {
  opacity: 0;
  /* Prevent double-copying */
  -ms-user-select: none;
  -webkit-user-select: none;
  user-select: none; }

/* line 463, common.scss */
typewritten-text-mirror {
  -ms-user-select: text;
  -webkit-user-select: text;
  user-select: text; }

/*
header
*/
/* line 473, common.scss */
header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 5;
  height: 0; }
  /* line 480, common.scss */
  header.open {
    height: 100vh;
    background-color: #F0F0F0; }
    @media screen and (max-width: 800px) {
      /* line 480, common.scss */
      header.open {
        height: 100svh; } }
    /* line 487, common.scss */
    header.open.active h1 {
      background: none; }
  /* line 493, common.scss */
  header.active h1 {
    background-color: #FFFFFF; }

/* line 498, common.scss */
.site-title {
  position: relative;
  width: 550px;
  height: 95px;
  border-radius: 0 0 40px 0;
  padding: 30px 0 0 40px;
  transition: background-color 0.3s ease; }
  @media screen and (max-width: 800px) {
    /* line 498, common.scss */
    .site-title {
      width: 280px;
      height: 70px;
      padding: 15px 15px 0 15px;
      border-radius: 0 0 20px 0; } }
  /* line 511, common.scss */
  .site-title a {
    display: flex;
    align-items: flex-end;
    width: 100%;
    text-decoration: none; }
    @media screen and (max-width: 800px) {
      /* line 511, common.scss */
      .site-title a {
        display: block; } }
    /* line 520, common.scss */
    .site-title a:hover img {
      opacity: 1; }
    /* line 524, common.scss */
    .site-title a .site-title-s {
      display: inline-block;
      color: #000000;
      font-family: "Kanit", sans-serif;
      font-size: 16px;
      font-weight: 500;
      line-height: 1;
      padding: 0 0 5px 10px; }
      @media screen and (max-width: 800px) {
        /* line 524, common.scss */
        .site-title a .site-title-s {
          font-size: 13px;
          padding: 5px 0 0 66px; } }

/*
toggle
*/
/* line 545, common.scss */
#toggle {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 130px;
  height: 90px;
  cursor: pointer;
  z-index: 10; }
  @media screen and (max-width: 800px) {
    /* line 545, common.scss */
    #toggle {
      width: 95px;
      height: 75px; } }

/* line 558, common.scss */
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s; }

/* line 563, common.scss */
.menu-trigger {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  outline: none; }
  /* line 569, common.scss */
  .menu-trigger span {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-color: #DB002F;
    width: 46px;
    height: 5px; }
    @media screen and (max-width: 800px) {
      /* line 569, common.scss */
      .menu-trigger span {
        width: 34px;
        height: 4px; } }
    /* line 581, common.scss */
    .menu-trigger span:nth-of-type(1) {
      top: 40px; }
      @media screen and (max-width: 800px) {
        /* line 581, common.scss */
        .menu-trigger span:nth-of-type(1) {
          top: 31px; } }
    /* line 587, common.scss */
    .menu-trigger span:nth-of-type(2) {
      top: 53px; }
      @media screen and (max-width: 800px) {
        /* line 587, common.scss */
        .menu-trigger span:nth-of-type(2) {
          top: 41px; } }
  /* line 595, common.scss */
  .menu-trigger.active :nth-of-type(1) {
    -webkit-transform: translate(-50%, 12px) rotate(-30deg);
    transform: translate(-50%, 12px) rotate(-30deg); }
    @media screen and (max-width: 800px) {
      /* line 595, common.scss */
      .menu-trigger.active :nth-of-type(1) {
        -webkit-transform: translate(-50%, 10px) rotate(-30deg);
        transform: translate(-50%, 10px) rotate(-30deg); } }
  /* line 603, common.scss */
  .menu-trigger.active :nth-of-type(2) {
    -webkit-transform: translate(-50%, 0px) rotate(30deg);
    transform: translate(-50%, 0px) rotate(30deg); }

/*
mainmenu
*/
/* line 614, common.scss */
.mainmenubox {
  width: 100%;
  height: 100vh;
  opacity: 0;
  transition: opacity 0.3s ease;
  visibility: hidden; }
  @media screen and (max-width: 800px) {
    /* line 614, common.scss */
    .mainmenubox {
      height: calc(100svh - 100px);
      overflow-y: auto; } }
  /* line 624, common.scss */
  .mainmenubox.active {
    opacity: 1;
    visibility: visible; }

/* line 629, common.scss */
.mainmenu {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-wrap: wrap;
  gap: 0 5.9%;
  width: calc(100% - 100px);
  max-width: 1020px;
  margin: 0 auto; }
  @media screen and (max-width: 800px) {
    /* line 629, common.scss */
    .mainmenu {
      position: relative;
      left: auto;
      top: auto;
      transform: none;
      display: block;
      width: calc(100% - 30px);
      margin-top: 20px; } }
  /* line 649, common.scss */
  .mainmenu .menu-content {
    width: 29.4%;
    margin-bottom: 70px; }
    @media screen and (max-width: 800px) {
      /* line 649, common.scss */
      .mainmenu .menu-content {
        width: 100%;
        margin-bottom: 40px; } }
    /* line 656, common.scss */
    .mainmenu .menu-content h2 {
      display: flex;
      align-content: flex-end;
      align-items: flex-end;
      flex-wrap: wrap;
      color: #DB002F;
      border-bottom: 1px solid #CCCCCC;
      margin-bottom: 20px;
      padding-bottom: 15px; }
      /* line 665, common.scss */
      .mainmenu .menu-content h2 .en_title {
        display: inline-block;
        font-size: 30px;
        font-weight: 500;
        line-height: 1; }
      /* line 671, common.scss */
      .mainmenu .menu-content h2 .jp_title {
        display: inline-block;
        font-size: 14px;
        letter-spacing: -0.02em;
        line-height: 1.4;
        margin-left: 17px; }
    /* line 680, common.scss */
    .mainmenu .menu-content nav ul {
      margin: 0;
      padding: 0; }
      /* line 683, common.scss */
      .mainmenu .menu-content nav ul li {
        line-height: 1.5;
        margin: 0;
        padding: 0; }
        /* line 687, common.scss */
        .mainmenu .menu-content nav ul li a {
          position: relative;
          display: inline-block;
          font-size: 14px;
          line-height: 1.85;
          letter-spacing: -0.02em;
          text-decoration: none;
          padding: 0 10px 0 20px; }
          /* line 695, common.scss */
          .mainmenu .menu-content nav ul li a::before {
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 10px;
            height: 5px;
            background-color: #DB002F;
            content: "";
            transition: width 0.3s ease-out,opacity 0.3s ease-out;
            z-index: 1;
            opacity: 1; }
          /* line 709, common.scss */
          .mainmenu .menu-content nav ul li a:hover::before {
            width: 100%;
            opacity: 0.3; }
            @media screen and (max-width: 800px) {
              /* line 709, common.scss */
              .mainmenu .menu-content nav ul li a:hover::before {
                width: 10px;
                opacity: 1; } }
        /* line 719, common.scss */
        .mainmenu .menu-content nav ul li:first-child {
          margin-bottom: 10px; }
          /* line 721, common.scss */
          .mainmenu .menu-content nav ul li:first-child a {
            font-size: 16px;
            line-height: 1.375; }
    /* line 730, common.scss */
    .mainmenu .menu-content nav.bannermenu ul li {
      margin-bottom: 8px; }
      /* line 732, common.scss */
      .mainmenu .menu-content nav.bannermenu ul li:last-child {
        margin-bottom: 0; }
      /* line 735, common.scss */
      .mainmenu .menu-content nav.bannermenu ul li a {
        position: relative;
        display: flex;
        justify-content: center;
        align-content: center;
        align-items: center;
        flex-wrap: wrap;
        width: 100%;
        min-height: 90px;
        color: #FFFFFF;
        background-color: #DB002F;
        text-align: center;
        text-decoration: none;
        padding: 0; }
        /* line 749, common.scss */
        .mainmenu .menu-content nav.bannermenu ul li a::before {
          display: none; }
        /* line 752, common.scss */
        .mainmenu .menu-content nav.bannermenu ul li a::after {
          position: absolute;
          left: 0;
          top: 0;
          width: 0;
          height: 100%;
          content: "";
          background-color: #ED5474;
          z-index: 0;
          transition: width 0.6s ease-out; }
          @media screen and (max-width: 800px) {
            /* line 752, common.scss */
            .mainmenu .menu-content nav.bannermenu ul li a::after {
              display: none; } }
        /* line 767, common.scss */
        .mainmenu .menu-content nav.bannermenu ul li a:hover::after {
          width: 100%; }
        /* line 771, common.scss */
        .mainmenu .menu-content nav.bannermenu ul li a .en_title {
          position: relative;
          font-size: 30px;
          line-height: 1;
          z-index: 2; }
        /* line 777, common.scss */
        .mainmenu .menu-content nav.bannermenu ul li a .jp_title {
          position: relative;
          display: block;
          width: 100%;
          font-size: 14px;
          line-height: 1.4;
          margin-top: 10px;
          z-index: 2; }

/* line 793, common.scss */
.submenu {
  position: absolute;
  right: 50px;
  bottom: 30px;
  width: calc(100% - 100px); }
  @media screen and (max-width: 800px) {
    /* line 793, common.scss */
    .submenu {
      position: relative;
      right: auto;
      bottom: auto;
      width: calc(100% - 30px); } }
  /* line 805, common.scss */
  .submenu nav ul {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 800px) {
      /* line 805, common.scss */
      .submenu nav ul {
        gap: 10px 0; } }
    /* line 814, common.scss */
    .submenu nav ul li {
      width: auto;
      margin: 0;
      padding: 0; }
      /* line 818, common.scss */
      .submenu nav ul li a {
        display: block;
        font-size: 12px;
        line-height: 1.5;
        text-decoration: none;
        padding: 0 10px;
        border-right: 3px solid #E2E9F0; }
        @media screen and (max-width: 800px) {
          /* line 818, common.scss */
          .submenu nav ul li a {
            font-size: 11px;
            padding: 0 5px; } }
        /* line 829, common.scss */
        .submenu nav ul li a:hover {
          text-decoration: underline; }
      /* line 834, common.scss */
      .submenu nav ul li:first-child a {
        padding-left: 0; }
      /* line 839, common.scss */
      .submenu nav ul li:last-child a {
        border-right: none; }

/*
breadcrumb
*/
/* line 852, common.scss */
.breadcrumb {
  position: relative;
  width: 100%;
  padding: 0 40px;
  z-index: 1; }
  @media screen and (max-width: 800px) {
    /* line 852, common.scss */
    .breadcrumb {
      padding: 0 15px; } }
  /* line 860, common.scss */
  .breadcrumb p {
    font-size: 12px;
    line-height: 1.5;
    margin: 0; }
    @media screen and (max-width: 800px) {
      /* line 860, common.scss */
      .breadcrumb p {
        font-size: 10px; } }
    /* line 867, common.scss */
    .breadcrumb p a {
      text-decoration: none; }
    /* line 870, common.scss */
    .breadcrumb p .page-item {
      position: relative;
      display: inline-block;
      padding-left: 20px; }
      /* line 874, common.scss */
      .breadcrumb p .page-item::before {
        position: absolute;
        top: 50%;
        left: 8px;
        transform: translateY(-50%);
        width: 4px;
        height: 4px;
        content: "";
        background-color: #000000;
        border-radius: 50%; }
        @media screen and (max-width: 800px) {
          /* line 874, common.scss */
          .breadcrumb p .page-item::before {
            width: 3px;
            height: 3px; } }
    /* line 890, common.scss */
    .breadcrumb p .current-item {
      color: #DB002F; }

/*
bg_page
*/
/* line 900, common.scss */
.bg_page {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 74vw;
  background-color: #F0F0F0;
  background-image: url("../img/bg_page.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 0; }
  @media screen and (max-width: 800px) {
    /* line 900, common.scss */
    .bg_page {
      top: 70px;
      background-image: url("../img/bg_page_sp.png");
      height: 93vw; } }

/*
page-title
*/
/* line 923, common.scss */
.page-title {
  border-bottom: 1px solid #DB002F; }
  /* line 925, common.scss */
  .page-title h1 {
    display: flex;
    align-items: flex-end;
    margin: 145px 0 20px;
    overflow: visible; }
    @media screen and (max-width: 800px) {
      /* line 925, common.scss */
      .page-title h1 {
        margin: 85px 0 15px; } }
    /* line 933, common.scss */
    .page-title h1 .en_title {
      display: inline-block;
      color: #DB002F;
      font-size: 100px;
      font-weight: 500;
      line-height: 0.8;
      letter-spacing: -0.01em;
      margin-right: 30px; }
      @media screen and (max-width: 800px) {
        /* line 933, common.scss */
        .page-title h1 .en_title {
          font-size: 42px;
          margin-right: 15px; } }
    /* line 946, common.scss */
    .page-title h1 .jp_title {
      display: inline-block;
      font-size: 20px;
      font-weight: 700;
      letter-spacing: -0.02em; }
      @media screen and (max-width: 800px) {
        /* line 946, common.scss */
        .page-title h1 .jp_title {
          font-size: 16px; } }

/*
page-topimage
*/
/* line 961, common.scss */
.page-topimage {
  padding-bottom: 100px; }
  /* line 963, common.scss */
  .page-topimage h1 {
    font-size: 77px;
    margin: 155px 0 95px; }
    @media screen and (max-width: 800px) {
      /* line 963, common.scss */
      .page-topimage h1 {
        font-size: 42px;
        margin: 25px 0 30px; } }

/* line 972, common.scss */
.pageimage {
  position: absolute;
  top: -195px;
  right: -175px;
  width: 53.9%;
  z-index: 0; }
  @media screen and (max-width: 800px) {
    /* line 972, common.scss */
    .pageimage {
      position: relative;
      width: 61.1%;
      top: auto;
      right: -9.3%;
      margin: 30px 0 0 auto; } }
  /* line 985, common.scss */
  .pageimage img {
    width: 100%; }

/* line 989, common.scss */
.read_page {
  font-size: 40px;
  line-height: 1.37;
  margin-bottom: 45px; }
  @media screen and (max-width: 800px) {
    /* line 989, common.scss */
    .read_page {
      font-size: 24px;
      margin-bottom: 25px; } }

/* line 998, common.scss */
.cap_page {
  font-size: 18px;
  margin-bottom: 0; }
  @media screen and (max-width: 800px) {
    /* line 998, common.scss */
    .cap_page {
      font-size: 15px; } }

/*
bg_lightgray
*/
/* line 1010, common.scss */
.bg_lightgray {
  background-color: #F0F0F0; }

/*
pagemenu
*/
/* line 1019, common.scss */
.pagemenu ul {
  width: 100%;
  display: flex;
  gap: 0 2%;
  margin: 0 auto;
  padding: 0; }
  /* line 1025, common.scss */
  .pagemenu ul li {
    width: 100%;
    min-height: 100px;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 800px) {
      /* line 1025, common.scss */
      .pagemenu ul li {
        min-height: 110px; } }
    /* line 1033, common.scss */
    .pagemenu ul li a {
      position: relative;
      display: flex;
      align-items: center;
      align-content: center;
      justify-content: center;
      flex-wrap: wrap;
      width: 100%;
      height: 100%;
      text-decoration: none; }
      /* line 1043, common.scss */
      .pagemenu ul li a::before, .pagemenu ul li a::after {
        position: absolute;
        content: ""; }
      /* line 1048, common.scss */
      .pagemenu ul li a::before {
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: #C7D2D6;
        z-index: 0; }
      /* line 1056, common.scss */
      .pagemenu ul li a::after {
        left: 50%;
        bottom: 15px;
        transform: translateX(-50%);
        width: 23px;
        height: 12px;
        background-image: url("../img/arrow_d_white.svg");
        background-repeat: no-repeat;
        background-position: left top;
        background-size: cover;
        z-index: 1;
        z-index: 1; }
        @media screen and (max-width: 800px) {
          /* line 1056, common.scss */
          .pagemenu ul li a::after {
            width: 19px;
            height: 9px; } }
      /* line 1073, common.scss */
      .pagemenu ul li a .p_text {
        position: relative;
        font-size: 18px;
        letter-spacing: -0.02em;
        line-height: 1.3;
        text-align: center;
        z-index: 1; }
        @media screen and (max-width: 800px) {
          /* line 1073, common.scss */
          .pagemenu ul li a .p_text {
            font-size: 15px; } }
      /* line 1084, common.scss */
      .pagemenu ul li a .en_title {
        position: relative;
        display: block;
        width: 100%;
        color: #DB002F;
        font-size: 12px;
        text-align: center;
        z-index: 1; }
        @media screen and (max-width: 800px) {
          /* line 1084, common.scss */
          .pagemenu ul li a .en_title {
            font-size: 11px; } }
      /* line 1097, common.scss */
      .pagemenu ul li a:hover::before {
        animation: bgbound 0.5s ease-in forwards; }
        @media screen and (max-width: 800px) {
          /* line 1097, common.scss */
          .pagemenu ul li a:hover::before {
            animation: none; } }
      /* line 1103, common.scss */
      .pagemenu ul li a:hover::after {
        animation: arrowbound 0.5s ease-in forwards; }
        @media screen and (max-width: 800px) {
          /* line 1103, common.scss */
          .pagemenu ul li a:hover::after {
            animation: none; } }
      /* line 1111, common.scss */
      .pagemenu ul li a.hover::before {
        animation: bgbound-out 0.5s ease-in forwards; }
        @media screen and (max-width: 800px) {
          /* line 1111, common.scss */
          .pagemenu ul li a.hover::before {
            animation: none; } }
      /* line 1117, common.scss */
      .pagemenu ul li a.hover::after {
        animation: arrowbound-out 0.5s ease-in forwards; }
        @media screen and (max-width: 800px) {
          /* line 1117, common.scss */
          .pagemenu ul li a.hover::after {
            animation: none; } }
/* line 1128, common.scss */
.pagemenu.pagemenu880 ul {
  max-width: 880px;
  gap: 0 2.3%; }
  @media screen and (max-width: 800px) {
    /* line 1128, common.scss */
    .pagemenu.pagemenu880 ul {
      max-width: inherit;
      gap: 0 2.8%; } }

@keyframes bgbound {
  0% {
    transform: scale(1);
    transition-timing-function: ease-in; }
  30% {
    transform: scale(1.07);
    transition-timing-function: ease-out; }
  50% {
    transform: scale(1.05);
    transition-timing-function: ease-in; }
  100% {
    transform: scale(1.07);
    transition-timing-function: ease-out; } }
@keyframes bgbound-out {
  0% {
    transform: scale(1.07); }
  100% {
    transform: scale(1); } }
@keyframes arrowbound {
  0% {
    transform: translate(-50%, 0%);
    transition-timing-function: ease-in; }
  30% {
    transform: translate(-50%, 80%);
    transition-timing-function: ease-out; }
  50% {
    transform: translate(-50%, 40%);
    transition-timing-function: ease-in; }
  100% {
    transform: translate(-50%, 80%);
    transition-timing-function: ease-out; } }
@keyframes arrowbound-out {
  0% {
    transform: translate(-50%, 80%); }
  100% {
    transform: translate(-50%, 0%); } }
/*
wrapper
*/
/* line 1197, common.scss */
.wrapper {
  position: relative;
  width: 100%;
  height: 100%; }
  /* line 1201, common.scss */
  .wrapper section {
    width: 100%; }
    /* line 1203, common.scss */
    .wrapper section.sidebar {
      position: sticky;
      height: 100%;
      z-index: 1;
      padding: 0; }
      @media screen and (max-width: 800px) {
        /* line 1203, common.scss */
        .wrapper section.sidebar {
          display: none; } }
      /* line 1211, common.scss */
      .wrapper section.sidebar ul {
        width: 100%;
        margin: 0;
        padding: 0; }

/*
fukidashi
*/
/* line 1224, common.scss */
.fukidashi {
  position: relative; }
  /* line 1226, common.scss */
  .fukidashi p {
    position: relative;
    display: inline-block;
    text-align: center;
    border-right: 3px solid #DB002F;
    border-bottom: 3px solid #DB002F;
    border-radius: 0 0 10px 0;
    padding: 0 7px 5px 0;
    margin: 0; }
    @media screen and (max-width: 800px) {
      /* line 1226, common.scss */
      .fukidashi p {
        text-align: center;
        font-size: 14px;
        border-right: 2px solid #DB002F;
        border-bottom: 2px solid #DB002F;
        padding: 0 7px 3px 0; } }
    /* line 1242, common.scss */
    .fukidashi p::before {
      position: absolute;
      top: 100%;
      right: 20px;
      width: 20px;
      height: 20px;
      content: "";
      background-image: url("../img/bg_fukidashi.png");
      background-repeat: no-repeat;
      background-position: left top;
      background-size: cover; }
      @media screen and (max-width: 800px) {
        /* line 1242, common.scss */
        .fukidashi p::before {
          right: 20px;
          width: 17px;
          height: 17px; } }
  /* line 1262, common.scss */
  .fukidashi.white p::before {
    background-image: url("../img/bg_fukidashi_white.png"); }

/*
btn
*/
/* line 1274, common.scss */
.btn {
  width: 100%;
  max-width: 230px;
  letter-spacing: 0;
  height: 50px;
  margin: 0; }
  /* line 1280, common.scss */
  .btn a {
    position: relative;
    display: grid;
    place-content: center;
    width: 100%;
    height: 100%;
    color: #FFFFFF;
    font-optical-sizing: auto;
    font-size: 26px;
    font-weight: 500;
    text-decoration: none;
    line-height: 1;
    background-color: #DB002F; }
    /* line 1293, common.scss */
    .btn a::before, .btn a::after {
      position: absolute;
      content: ""; }
    /* line 1298, common.scss */
    .btn a::before {
      width: 0;
      height: 100%;
      background-color: #ED5474;
      z-index: 0;
      transition: width 0.6s ease-out; }
    /* line 1305, common.scss */
    .btn a::after {
      right: 25px;
      top: 50%;
      width: 23px;
      height: 18px;
      transform: translateY(-50%);
      background-image: url("../img/arrow_r_white.svg");
      background-position: left top;
      background-repeat: no-repeat;
      background-size: cover;
      z-index: 1;
      transition: right 0.6s ease-out; }
    /* line 1319, common.scss */
    .btn a:hover::before {
      width: 100%; }
      @media screen and (max-width: 800px) {
        /* line 1319, common.scss */
        .btn a:hover::before {
          display: none; } }
    /* line 1325, common.scss */
    .btn a:hover::after {
      right: 20px; }
      @media screen and (max-width: 800px) {
        /* line 1325, common.scss */
        .btn a:hover::after {
          right: 25px; } }
    /* line 1332, common.scss */
    .btn a .jp_title {
      position: relative;
      display: block;
      width: 100%;
      font-size: 14px;
      line-height: 1.4;
      margin-top: 10px;
      z-index: 2; }
      @media screen and (max-width: 800px) {
        /* line 1332, common.scss */
        .btn a .jp_title {
          margin-top: 5px; } }
  @media screen and (max-width: 800px) {
    /* line 1345, common.scss */
    .btn.btn_s {
      max-width: 145px;
      height: 38px; } }
  @media screen and (max-width: 800px) {
    /* line 1350, common.scss */
    .btn.btn_s a {
      font-size: 16px; } }
  @media screen and (max-width: 800px) {
    /* line 1354, common.scss */
    .btn.btn_s a::after {
      right: 15px;
      width: 17px;
      height: 13px; } }
  /* line 1363, common.scss */
  .btn.btn_center {
    margin: 0 auto; }
  /* line 1366, common.scss */
  .btn.btn_nolink {
    position: relative;
    display: grid;
    place-content: center;
    width: 100%;
    color: #FFFFFF;
    font-optical-sizing: auto;
    font-size: 26px;
    font-weight: 500;
    text-decoration: none;
    background-color: #DB002F;
    line-height: 1; }
    @media screen and (max-width: 800px) {
      /* line 1366, common.scss */
      .btn.btn_nolink {
        max-width: 145px;
        height: 38px;
        font-size: 16px; } }
    /* line 1383, common.scss */
    .btn.btn_nolink::before, .btn.btn_nolink::after {
      position: absolute;
      content: ""; }
    /* line 1388, common.scss */
    .btn.btn_nolink::before {
      left: 0;
      top: 0;
      width: 0;
      height: 100%;
      background-color: #ED5474;
      z-index: 0;
      transition: width 0.6s ease-out; }
    /* line 1397, common.scss */
    .btn.btn_nolink::after {
      right: 25px;
      top: 50%;
      width: 23px;
      height: 18px;
      transform: translateY(-50%);
      background-image: url("../img/arrow_r_white.svg");
      background-position: left top;
      background-repeat: no-repeat;
      background-size: cover; }
      @media screen and (max-width: 800px) {
        /* line 1397, common.scss */
        .btn.btn_nolink::after {
          right: 15px;
          width: 17px;
          height: 13px; } }

/* line 1416, common.scss */
.btn_red {
  position: relative;
  display: block;
  max-width: 610px;
  z-index: 1; }
  @media screen and (max-width: 800px) {
    /* line 1416, common.scss */
    .btn_red {
      max-width: inherit; } }
  /* line 1424, common.scss */
  .btn_red a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 100px;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 1.5;
    font-weight: 700;
    background-color: #DB002F;
    text-decoration: none; }
    @media screen and (max-width: 800px) {
      /* line 1424, common.scss */
      .btn_red a {
        font-size: 16px;
        min-height: 70px; } }
    /* line 1441, common.scss */
    .btn_red a::before, .btn_red a::after {
      position: absolute;
      content: ""; }
    /* line 1446, common.scss */
    .btn_red a::before {
      top: 0;
      left: 0;
      width: 0;
      height: 100%;
      background-color: #ED5474;
      transition: width 0.5s ease-out;
      z-index: 0; }
      @media screen and (max-width: 800px) {
        /* line 1446, common.scss */
        .btn_red a::before {
          display: none; } }
    /* line 1458, common.scss */
    .btn_red a::after {
      top: 50%;
      right: 65px;
      transform: translateY(-50%);
      width: 12px;
      height: 23px;
      background-image: url("../img/arrow_r_white02.svg");
      background-repeat: no-repeat;
      background-position: left top;
      transition: right 0.5s ease-out; }
      @media screen and (max-width: 800px) {
        /* line 1458, common.scss */
        .btn_red a::after {
          right: 15px; } }
    /* line 1473, common.scss */
    .btn_red a:hover::before {
      width: 100%; }
    /* line 1476, common.scss */
    .btn_red a:hover::after {
      right: 55px; }
      @media screen and (max-width: 800px) {
        /* line 1476, common.scss */
        .btn_red a:hover::after {
          right: 15px; } }
    /* line 1483, common.scss */
    .btn_red a .btn_text {
      display: inline-block;
      position: relative;
      z-index: 1; }
  /* line 1489, common.scss */
  .btn_red.btn_red275 {
    margin: 10px 0 0;
    max-width: 275px; }
    /* line 1492, common.scss */
    .btn_red.btn_red275 a {
      font-size: 16px;
      min-height: 58px;
      justify-content: flex-start;
      padding-left: 25px; }
      @media screen and (max-width: 800px) {
        /* line 1492, common.scss */
        .btn_red.btn_red275 a {
          font-size: 14px;
          padding-left: 15px;
          min-height: 50px; } }
      /* line 1502, common.scss */
      .btn_red.btn_red275 a::after {
        right: 20px; }
      /* line 1506, common.scss */
      .btn_red.btn_red275 a:hover::after {
        right: 10px; }
        @media screen and (max-width: 800px) {
          /* line 1506, common.scss */
          .btn_red.btn_red275 a:hover::after {
            right: 20px; } }

/* line 1518, common.scss */
[data-aos="fadeup2"] {
  opacity: 0;
  transition-property: transform, opacity;
  transform: translateY(30px); }

/* line 1524, common.scss */
.aos-animate {
  opacity: 1;
  transform: translate(0); }

/* line 1529, common.scss */
.shuffle {
  opacity: 0; }

/*
.sticky-content
*/
/* line 1536, common.scss */
.sticky-content {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%; }
  @media screen and (max-width: 800px) {
    /* line 1536, common.scss */
    .sticky-content {
      display: block; } }
  /* line 1544, common.scss */
  .sticky-content .l-sticky {
    position: relative;
    width: 29.4%;
    padding: 100px 0; }
    @media screen and (max-width: 800px) {
      /* line 1544, common.scss */
      .sticky-content .l-sticky {
        width: 100%;
        padding: 30px 15px; } }
    /* line 1552, common.scss */
    .sticky-content .l-sticky::before {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 2px;
      content: "";
      background-color: #DB002F;
      z-index: 1; }
      @media screen and (max-width: 800px) {
        /* line 1552, common.scss */
        .sticky-content .l-sticky::before {
          width: 135px; } }
    @media screen and (max-width: 800px) {
      /* line 1565, common.scss */
      .sticky-content .l-sticky::after {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 2px;
        content: "";
        background-color: #CCCCCC; } }
    /* line 1576, common.scss */
    .sticky-content .l-sticky .l-sticky-inner {
      position: sticky;
      top: 150px; }
      @media screen and (max-width: 800px) {
        /* line 1576, common.scss */
        .sticky-content .l-sticky .l-sticky-inner {
          position: relative;
          top: auto; } }
    @media screen and (max-width: 800px) {
      /* line 1584, common.scss */
      .sticky-content .l-sticky h2 {
        margin-bottom: 15px; } }
    /* line 1589, common.scss */
    .sticky-content .l-sticky p {
      line-height: 1.375;
      margin-bottom: 0; }
  /* line 1594, common.scss */
  .sticky-content .r-sticky {
    position: relative;
    width: 69.6%;
    padding: 100px 0; }
    @media screen and (max-width: 800px) {
      /* line 1594, common.scss */
      .sticky-content .r-sticky {
        width: 100%;
        padding: 0 0 90px; } }
    /* line 1602, common.scss */
    .sticky-content .r-sticky::before {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 2px;
      content: "";
      background-color: #CCCCCC; }
      @media screen and (max-width: 800px) {
        /* line 1602, common.scss */
        .sticky-content .r-sticky::before {
          display: none; } }
  /* line 1616, common.scss */
  .sticky-content.last::before, .sticky-content.last::after {
    position: absolute;
    bottom: 0;
    height: 2px;
    content: "";
    z-index: 0; }
    @media screen and (max-width: 800px) {
      /* line 1616, common.scss */
      .sticky-content.last::before, .sticky-content.last::after {
        display: none; } }
  /* line 1627, common.scss */
  .sticky-content.last::before {
    left: 0;
    width: 29.4%;
    background-color: #DB002F; }
  /* line 1632, common.scss */
  .sticky-content.last::after {
    right: 0;
    width: 69.6%;
    background-color: #CCCCCC; }

/*
datas-inner
*/
/* line 1645, common.scss */
.datas-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
  width: 100%;
  z-index: 1; }
  @media screen and (max-width: 800px) {
    /* line 1645, common.scss */
    .datas-inner {
      width: calc(100% + 30px);
      gap: 7px 2%;
      margin-left: -15px; } }
  /* line 1657, common.scss */
  .datas-inner .dataslist {
    position: relative;
    width: 31.1%;
    background-color: #FFFFFF;
    border-radius: 15px; }
    @media screen and (max-width: 800px) {
      /* line 1657, common.scss */
      .datas-inner .dataslist {
        width: 49%;
        border-radius: 10px; } }
    /* line 1666, common.scss */
    .datas-inner .dataslist.wide {
      width: 66%; }
      @media screen and (max-width: 800px) {
        /* line 1666, common.scss */
        .datas-inner .dataslist.wide {
          width: 100%; } }
    @media screen and (max-width: 800px) {
      /* line 1672, common.scss */
      .datas-inner .dataslist.wide-sp {
        width: 100%; } }
    /* line 1677, common.scss */
    .datas-inner .dataslist h3 {
      width: 100%;
      color: #FFFFFF;
      font-size: 22px;
      letter-spacing: -0.02em;
      text-align: center;
      background-color: #DB002F;
      border-radius: 15px 15px 0 0;
      padding: 15px 5px; }
      @media screen and (max-width: 800px) {
        /* line 1677, common.scss */
        .datas-inner .dataslist h3 {
          font-size: 16px;
          padding: 5px;
          margin-bottom: 20px;
          border-radius: 10px 10px 0 0; } }
    /* line 1693, common.scss */
    .datas-inner .dataslist .data-detail {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: auto;
      padding: 40px 5px 50px; }
      @media screen and (max-width: 800px) {
        /* line 1693, common.scss */
        .datas-inner .dataslist .data-detail {
          flex-wrap: wrap;
          padding: 10px 5px 25px; } }
      /* line 1708, common.scss */
      .datas-inner .dataslist .data-detail .rikei p.colon::after {
        top: 20%; }
        @media screen and (max-width: 800px) {
          /* line 1708, common.scss */
          .datas-inner .dataslist .data-detail .rikei p.colon::after {
            top: 100%; } }
      @media screen and (max-width: 800px) {
        /* line 1705, common.scss */
        .datas-inner .dataslist .data-detail .rikei {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
          margin-top: 10px; } }
      /* line 1724, common.scss */
      .datas-inner .dataslist .data-detail p {
        position: relative;
        display: inline-block;
        font-size: clamp(20px, 2.2vw, 30px);
        text-align: center;
        margin: 0; }
        @media screen and (max-width: 800px) {
          /* line 1724, common.scss */
          .datas-inner .dataslist .data-detail p {
            font-size: 18px; } }
        /* line 1733, common.scss */
        .datas-inner .dataslist .data-detail p.tm {
          margin-right: 4.7%; }
          /* line 1735, common.scss */
          .datas-inner .dataslist .data-detail p.tm:last-child {
            margin-right: 0; }
        /* line 1739, common.scss */
        .datas-inner .dataslist .data-detail p.colon {
          position: relative;
          width: 40px;
          height: 21px; }
          @media screen and (max-width: 800px) {
            /* line 1739, common.scss */
            .datas-inner .dataslist .data-detail p.colon {
              width: 20px; } }
          /* line 1746, common.scss */
          .datas-inner .dataslist .data-detail p.colon::after {
            position: absolute;
            left: 50%;
            top: 100%;
            transform: translate(-50%, -50%);
            width: 8px;
            height: 21px;
            content: "";
            background-image: url("../img/bg_colon.svg");
            background-repeat: no-repeat;
            background-position: left top; }
        /* line 1759, common.scss */
        .datas-inner .dataslist .data-detail p.t_line {
          margin: 0 5%;
          padding: 0 5%;
          border-right: 1px solid #C7D2D6;
          border-left: 1px solid #C7D2D6; }
          @media screen and (max-width: 800px) {
            /* line 1764, common.scss */
            .datas-inner .dataslist .data-detail p.t_line.nm {
              border-right: none;
              margin-right: 0;
              padding-right: 0; } }
        /* line 1772, common.scss */
        .datas-inner .dataslist .data-detail p span {
          display: inline-block; }
          /* line 1774, common.scss */
          .datas-inner .dataslist .data-detail p span.t78 {
            font-size: clamp(39px, 5.7vw, 78px);
            line-height: 1;
            margin-right: 3px; }
            @media screen and (max-width: 800px) {
              /* line 1774, common.scss */
              .datas-inner .dataslist .data-detail p span.t78 {
                font-size: 45px; } }
          /* line 1782, common.scss */
          .datas-inner .dataslist .data-detail p span.t60 {
            font-size: clamp(30px, 4.4vw, 60px);
            line-height: 1;
            margin-right: 3px; }
            @media screen and (max-width: 800px) {
              /* line 1782, common.scss */
              .datas-inner .dataslist .data-detail p span.t60 {
                font-size: 45px; } }
          /* line 1790, common.scss */
          .datas-inner .dataslist .data-detail p span.t50 {
            font-size: clamp(25px, 3.7vw, 50px);
            line-height: 1;
            margin-right: 3px; }
            @media screen and (max-width: 800px) {
              /* line 1790, common.scss */
              .datas-inner .dataslist .data-detail p span.t50 {
                font-size: 45px; } }
          /* line 1798, common.scss */
          .datas-inner .dataslist .data-detail p span.t_top {
            display: block;
            font-size: clamp(13px, 1.2vw, 16px);
            line-height: 1.3; }
            @media screen and (max-width: 800px) {
              /* line 1798, common.scss */
              .datas-inner .dataslist .data-detail p span.t_top {
                font-size: 14px; } }
          /* line 1806, common.scss */
          .datas-inner .dataslist .data-detail p span.t_bottom {
            display: block;
            font-size: clamp(12px, 1vw, 14px);
            letter-spacing: 0; }
            @media screen and (max-width: 800px) {
              /* line 1806, common.scss */
              .datas-inner .dataslist .data-detail p span.t_bottom {
                display: none; } }
    /* line 1818, common.scss */
    .datas-inner .dataslist p.genzai {
      position: absolute;
      right: 20px;
      bottom: 15px;
      font-size: 13px;
      font-weight: 500;
      margin-bottom: 0; }
      @media screen and (max-width: 800px) {
        /* line 1818, common.scss */
        .datas-inner .dataslist p.genzai {
          font-size: 10px;
          right: 10px;
          bottom: 5px; } }

/*
bannerlist
*/
/* line 1841, common.scss */
.bannerlist {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 0 2.9%;
  margin: 0;
  padding: 0; }
  /* line 1848, common.scss */
  .bannerlist li {
    width: auto;
    margin: 0;
    padding: 0; }
  /* line 1853, common.scss */
  .bannerlist.bannerlist_s {
    max-width: 380px;
    gap: 0 5.3%; }

/*
related
*/
/* line 1865, common.scss */
.related {
  width: calc(100% - 60px);
  max-width: 657px;
  padding: 130px 0;
  margin: 0 auto; }
  @media screen and (max-width: 800px) {
    /* line 1865, common.scss */
    .related {
      width: calc(100% - 30px);
      max-width: inherit;
      padding: 70px 0; } }
  /* line 1875, common.scss */
  .related h2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: -0.02em;
    border-bottom: 3px solid #CCCCCC;
    padding-bottom: 10px;
    margin-bottom: 10px; }
    @media screen and (max-width: 800px) {
      /* line 1875, common.scss */
      .related h2 {
        font-size: 16px;
        border-bottom: 2px solid #CCCCCC; } }
    /* line 1889, common.scss */
    .related h2 .related_top {
      display: inline-block;
      margin-left: 10px; }
      /* line 1892, common.scss */
      .related h2 .related_top a {
        display: block;
        color: #DB002F;
        font-size: 16px;
        text-decoration: none;
        background-image: url("../img/arrow_r_red.svg");
        background-repeat: no-repeat;
        background-position: right center;
        padding-right: 30px; }
        @media screen and (max-width: 800px) {
          /* line 1892, common.scss */
          .related h2 .related_top a {
            font-size: 14px;
            padding-right: 25px;
            background-size: 15px 11px; } }
        /* line 1906, common.scss */
        .related h2 .related_top a:hover {
          text-decoration: underline; }
  /* line 1912, common.scss */
  .related ul {
    display: flex;
    gap: 0 2%;
    width: 100%;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 800px) {
      /* line 1912, common.scss */
      .related ul {
        flex-wrap: wrap;
        gap: 12px 3.2%; } }
    /* line 1922, common.scss */
    .related ul li {
      width: 100%;
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 800px) {
        /* line 1922, common.scss */
        .related ul li {
          width: 48.4%; } }
      /* line 1929, common.scss */
      .related ul li a {
        position: relative;
        display: block;
        background-color: #E2E9F0;
        text-decoration: none;
        padding: 15px;
        transition: all 0.3s ease; }
        @media screen and (max-width: 800px) {
          /* line 1929, common.scss */
          .related ul li a {
            padding: 10px; } }
        /* line 1939, common.scss */
        .related ul li a::before {
          position: absolute;
          left: 0;
          top: 0;
          width: 0;
          height: 100%;
          content: "";
          background-color: #DB002F;
          transition: width 0.5s ease-out; }
        /* line 1949, common.scss */
        .related ul li a .en_related {
          position: relative;
          display: block;
          color: #DB002F;
          font-size: 36px;
          font-weight: 500;
          line-height: 1.25;
          margin-bottom: 35px;
          transition: color 0.5s ease-out;
          z-index: 1; }
          @media screen and (max-width: 800px) {
            /* line 1949, common.scss */
            .related ul li a .en_related {
              font-size: 30px;
              margin-bottom: 30px; } }
        /* line 1964, common.scss */
        .related ul li a .jp_related {
          position: relative;
          display: block;
          font-size: 16px;
          line-height: 1.375;
          text-align: right;
          transition: color 0.5s ease-out;
          z-index: 1; }
          @media screen and (max-width: 800px) {
            /* line 1964, common.scss */
            .related ul li a .jp_related {
              font-size: 14px; } }
      /* line 1979, common.scss */
      .related ul li.current a::before {
        width: 100%; }
      /* line 1982, common.scss */
      .related ul li.current a .en_related {
        color: #E2E9F0; }
      /* line 1985, common.scss */
      .related ul li.current a .jp_related {
        color: #FFFFFF; }
      @media screen and (max-width: 800px) {
        /* line 1989, common.scss */
        .related ul li.current a:hover::before {
          display: block; } }
      @media screen and (max-width: 800px) {
        /* line 1994, common.scss */
        .related ul li.current a:hover .en_related {
          color: #E2E9F0; } }
      @media screen and (max-width: 800px) {
        /* line 1999, common.scss */
        .related ul li.current a:hover .jp_related {
          color: #FFFFFF; } }
      /* line 2009, common.scss */
      .related ul li:hover a::before {
        width: 100%; }
        @media screen and (max-width: 800px) {
          /* line 2009, common.scss */
          .related ul li:hover a::before {
            display: none; } }
      /* line 2015, common.scss */
      .related ul li:hover a .en_related {
        color: #E2E9F0; }
        @media screen and (max-width: 800px) {
          /* line 2015, common.scss */
          .related ul li:hover a .en_related {
            color: #DB002F; } }
      /* line 2021, common.scss */
      .related ul li:hover a .jp_related {
        color: #FFFFFF; }
        @media screen and (max-width: 800px) {
          /* line 2021, common.scss */
          .related ul li:hover a .jp_related {
            color: #000000; } }
  /* line 2031, common.scss */
  .related.one {
    max-width: 400px; }
    @media screen and (max-width: 800px) {
      /* line 2031, common.scss */
      .related.one {
        max-width: inherit; } }
    /* line 2036, common.scss */
    .related.one ul {
      justify-content: center; }
      /* line 2038, common.scss */
      .related.one ul li {
        width: 52.5%; }
        @media screen and (max-width: 800px) {
          /* line 2038, common.scss */
          .related.one ul li {
            width: 48.4%; } }

/*
joinus
*/
/* line 2055, common.scss */
.joinus {
  background-color: #F0F0F0;
  padding: 130px 0 90px; }
  @media screen and (max-width: 800px) {
    /* line 2055, common.scss */
    .joinus {
      padding: 70px 15px 80px; } }
  /* line 2061, common.scss */
  .joinus h2 {
    text-align: center;
    margin-bottom: 50px; }
    @media screen and (max-width: 800px) {
      /* line 2061, common.scss */
      .joinus h2 {
        margin-bottom: 25px; } }
    /* line 2067, common.scss */
    .joinus h2 .en_title {
      color: #DB002F;
      font-size: 120px;
      margin-bottom: 10px; }
      @media screen and (max-width: 800px) {
        /* line 2067, common.scss */
        .joinus h2 .en_title {
          font-size: 66px; } }
    /* line 2075, common.scss */
    .joinus h2 .jp_title {
      display: block;
      font-size: 40px;
      line-height: 1.375; }
      @media screen and (max-width: 800px) {
        /* line 2075, common.scss */
        .joinus h2 .jp_title {
          font-size: 18px;
          width: calc(100% + 60px);
          margin-left: -30px; } }
  /* line 2086, common.scss */
  .joinus ul {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 800px) {
      /* line 2086, common.scss */
      .joinus ul {
        flex-wrap: wrap;
        gap: 10px 0; } }
    /* line 2095, common.scss */
    .joinus ul li {
      width: 48%;
      height: 280px;
      line-height: 1;
      margin: 0;
      padding: 0; }
      @media screen and (max-width: 800px) {
        /* line 2095, common.scss */
        .joinus ul li {
          width: 100%;
          height: 110px; } }
      /* line 2105, common.scss */
      .joinus ul li a {
        position: relative;
        display: flex;
        align-items: center;
        align-content: center;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
        height: 100%;
        color: #FFFFFF;
        font-size: 24px;
        text-decoration: none;
        letter-spacing: -0.02em;
        text-align: center;
        background-color: #db002f;
        transition: background-color 0.3s ease; }
        @media screen and (max-width: 800px) {
          /* line 2105, common.scss */
          .joinus ul li a {
            font-size: 20px; } }
        /* line 2124, common.scss */
        .joinus ul li a::before {
          position: absolute;
          top: 0;
          left: 0;
          width: 0;
          height: 100%;
          content: "";
          background-color: #ED5474;
          transition: width 0.6s ease-out;
          z-index: 0; }
        /* line 2135, common.scss */
        .joinus ul li a:hover {
          background-color: rgba(219, 0, 47, 0.7); }
          @media screen and (max-width: 800px) {
            /* line 2135, common.scss */
            .joinus ul li a:hover {
              background-color: #DB002F; } }
          /* line 2140, common.scss */
          .joinus ul li a:hover::before {
            width: 100%; }
            @media screen and (max-width: 800px) {
              /* line 2140, common.scss */
              .joinus ul li a:hover::before {
                display: none; } }
        /* line 2147, common.scss */
        .joinus ul li a .en_title {
          position: relative;
          font-size: 30px;
          font-weight: 700;
          line-height: 1;
          z-index: 2; }
          @media screen and (max-width: 800px) {
            /* line 2147, common.scss */
            .joinus ul li a .en_title {
              font-size: 25px; } }
        /* line 2157, common.scss */
        .joinus ul li a .jp_title {
          position: relative;
          display: block;
          width: 100%;
          margin-top: 15px;
          z-index: 2; }
          @media screen and (max-width: 800px) {
            /* line 2157, common.scss */
            .joinus ul li a .jp_title {
              margin-top: 10px; } }

/*
footer
*/
/* line 2176, common.scss */
footer {
  position: relative;
  padding: 65px 0 0;
  z-index: 1; }
  @media screen and (max-width: 800px) {
    /* line 2176, common.scss */
    footer {
      padding-top: 80px; } }

/* line 2184, common.scss */
.logo_footer {
  width: 100%;
  max-width: 420px;
  margin: 0 40px 25px; }
  @media screen and (max-width: 800px) {
    /* line 2184, common.scss */
    .logo_footer {
      max-width: 345px;
      margin: 0 15px 35px; } }
  /* line 2192, common.scss */
  .logo_footer img {
    width: 100%; }

/* line 2196, common.scss */
.siteinfo {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  padding: 0 40px;
  margin-bottom: 15px; }
  @media screen and (max-width: 800px) {
    /* line 2196, common.scss */
    .siteinfo {
      display: block;
      padding: 0 15px; } }

/* line 2208, common.scss */
.l-footer {
  width: 45%; }
  @media screen and (max-width: 800px) {
    /* line 2208, common.scss */
    .l-footer {
      width: 100%;
      margin-bottom: 35px; } }
  /* line 2214, common.scss */
  .l-footer p {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 20px; }
    /* line 2218, common.scss */
    .l-footer p:last-child {
      margin-bottom: 0; }
    /* line 2221, common.scss */
    .l-footer p a {
      text-decoration: none; }
      /* line 2223, common.scss */
      .l-footer p a:hover {
        text-decoration: underline; }

/* line 2229, common.scss */
.r-footer {
  display: flex;
  justify-content: flex-end;
  width: 45%; }
  @media screen and (max-width: 800px) {
    /* line 2229, common.scss */
    .r-footer {
      display: block;
      width: 100%; } }
  /* line 2237, common.scss */
  .r-footer ul {
    display: flex;
    margin: 0;
    padding: 0; }
    /* line 2241, common.scss */
    .r-footer ul li {
      width: auto;
      margin: 0;
      padding: 0; }
      /* line 2245, common.scss */
      .r-footer ul li a {
        display: block;
        font-size: 12px;
        line-height: 1.5;
        text-decoration: none;
        padding: 0 10px;
        border-right: 3px solid #E2E9F0; }
        @media screen and (max-width: 800px) {
          /* line 2245, common.scss */
          .r-footer ul li a {
            font-size: 11px;
            border-right: 2px solid #E2E9F0;
            padding: 0 5px; } }
        @media screen and (max-width: 335px) {
          /* line 2245, common.scss */
          .r-footer ul li a {
            font-size: 10px; } }
        /* line 2260, common.scss */
        .r-footer ul li a:hover {
          text-decoration: underline; }
      /* line 2265, common.scss */
      .r-footer ul li:first-child a {
        padding-left: 0; }
      /* line 2270, common.scss */
      .r-footer ul li:last-child a {
        border-right: none; }

/* line 2277, common.scss */
.copyright {
  width: 100vw;
  color: #E2E9F0;
  font-optical-sizing: auto;
  font-size: 3.55vw;
  line-height: 1;
  padding-left: 40px; }
  @media screen and (max-width: 800px) {
    /* line 2277, common.scss */
    .copyright {
      padding-left: 5px; } }

/*# sourceMappingURL=common.css.map */
