@charset "UTF-8";
/* Responsive
============================================================= */
/* Exclude
============================================================= */
/* map-get
============================================================= */
/* color */
/* font */
/* mediaquery
============================================================= */
/* hover
============================================================= */
/* other
============================================================= */
/* layout
============================================================= */
/* svg
============================================================= */
/* extend
============================================================= */
.button {
  line-height: 1.2;
  outline: none;
  text-align: center;
  text-decoration: none; }

/* base
============================================================= */
/* Canvas Size
============================================================= */
/* PC Responsive Width
============================================================= */
/* Color
============================================================= */
/* Font
============================================================= */
/* reset
============================================================= */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

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

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

.-parts table {
  border-collapse: collapse;
  border-spacing: 0; }
  .-parts table caption, .-parts table tbody, .-parts table tfoot, .-parts table thead, .-parts table tr, .-parts table th, .-parts table td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent; }

/* base
============================================================= */
html,
body {
  min-height: 100%; }

html {
  color: #000;
  overflow-y: scroll; }
  @media screen and (max-width: 767px) {
    html {
      font-size: 26.6666666667vw; } }
  @media screen and (min-width: 768px) {
    html {
      font-size: 7.3206442167vw; } }
  @media screen and (min-width: 1366px), print {
    html {
      font-size: 625%; } }
body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-size: 180%;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%; }
  body * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  @media screen and (min-width: 768px), print {
    body {
      font-size: 0.18rem;
      line-height: 1.8; } }
  @media screen and (max-width: 767px) {
    body {
      font-size: 0.14rem;
      line-height: 1.8; } }
  body.-spMenuOpen, body.-spSearchOpen {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden; }

#wrapper.-marginBottomNone {
  overflow: hidden; }
  #wrapper.-marginBottomNone + #footer {
    margin-top: 0; }

#main {
  background-color: #fff;
  display: block;
  position: relative; }
  #main a[tabindex]:focus {
    outline: none; }

/* link
============================================================= */
a {
  color: #000;
  text-decoration: underline;
  /* blank */
  /* pdf */
  /* key */ }
  a:hover {
    text-decoration: none; }
  a.key::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2226%22%20viewBox%3D%220%200%2020%2026%22%3E%0A%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M493%2C7461H481a4%2C4%2C0%2C0%2C1-4-4v-9a4%2C4%2C0%2C0%2C1%2C4-4h12a4%2C4%2C0%2C0%2C1%2C4%2C4v9A4%2C4%2C0%2C0%2C1%2C493%2C7461Zm-12-15a2%2C2%2C0%2C0%2C0-2%2C2v9a2%2C2%2C0%2C0%2C0%2C2%2C2h12a2%2C2%2C0%2C0%2C0%2C2-2v-9a2%2C2%2C0%2C0%2C0-2-2H481Zm12%2C0a1%2C1%2C0%2C0%2C1-1-1v-3a5%2C5%2C0%2C0%2C0-10%2C0v3a1%2C1%2C0%2C0%2C1-2%2C0v-3a7%2C7%2C0%2C0%2C1%2C14%2C0v3A1%2C1%2C0%2C0%2C1%2C493%2C7446Zm-6%2C8.25a1.75%2C1.75%2C0%2C1%2C1%2C1.75-1.75A1.749%2C1.749%2C0%2C0%2C1%2C487%2C7454.25Zm0-2a0.248%2C0.248%2C0%2C0%2C0-.25.25%2C0.254%2C0.254%2C0%2C0%2C0%2C.5%2C0A0.248%2C0.248%2C0%2C0%2C0%2C487%2C7452.25Z%22%20transform%3D%22translate(-477%20-7435)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
    background-size: 100% auto;
    content: '';
    display: inline-block;
    width: 0.1rem;
    height: 0.13rem;
    margin-left: 0.06rem;
    position: relative; }
    @media screen and (min-width: 768px), print {
      a.key::after {
        top: 0.02rem; } }
    @media screen and (max-width: 767px) {
      a.key::after {
        top: 0.01rem; } }
/* image
============================================================= */
img {
  height: auto;
  line-height: 1;
  max-width: 100%;
  vertical-align: top; }

table th img,
table td img {
  vertical-align: middle; }

/* form
============================================================= */
input,
textarea,
label {
  vertical-align: middle; }

/* display
============================================================= */
@media screen and (min-width: 768px), print {
  .-pcItem {
    display: block; } }

@media screen and (max-width: 767px) {
  .-pcItem {
    display: none !important; } }

@media screen and (min-width: 768px), print {
  .-spItem {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .-spItem {
    display: block; } }

/* margin
============================================================= */
@media screen and (min-width: 768px), print {
  .-mt0 {
    margin-top: 0rem !important; } }

@media screen and (max-width: 767px) {
  .-mt0 {
    margin-top: 0rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt5 {
    margin-top: 0.05rem !important; } }

@media screen and (max-width: 767px) {
  .-mt5 {
    margin-top: 0.05rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt10 {
    margin-top: 0.1rem !important; } }

@media screen and (max-width: 767px) {
  .-mt10 {
    margin-top: 0.1rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt15 {
    margin-top: 0.15rem !important; } }

@media screen and (max-width: 767px) {
  .-mt15 {
    margin-top: 0.15rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt20 {
    margin-top: 0.2rem !important; } }

@media screen and (max-width: 767px) {
  .-mt20 {
    margin-top: 0.2rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt25 {
    margin-top: 0.25rem !important; } }

@media screen and (max-width: 767px) {
  .-mt25 {
    margin-top: 0.25rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt30 {
    margin-top: 0.3rem !important; } }

@media screen and (max-width: 767px) {
  .-mt30 {
    margin-top: 0.3rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt35 {
    margin-top: 0.35rem !important; } }

@media screen and (max-width: 767px) {
  .-mt35 {
    margin-top: 0.35rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt40 {
    margin-top: 0.4rem !important; } }

@media screen and (max-width: 767px) {
  .-mt40 {
    margin-top: 0.4rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt45 {
    margin-top: 0.45rem !important; } }

@media screen and (max-width: 767px) {
  .-mt45 {
    margin-top: 0.45rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt50 {
    margin-top: 0.5rem !important; } }

@media screen and (max-width: 767px) {
  .-mt50 {
    margin-top: 0.5rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt55 {
    margin-top: 0.55rem !important; } }

@media screen and (max-width: 767px) {
  .-mt55 {
    margin-top: 0.55rem !important; } }

@media screen and (min-width: 768px), print {
  .-mt60 {
    margin-top: 0.6rem !important; } }

@media screen and (max-width: 767px) {
  .-mt60 {
    margin-top: 0.6rem !important; } }

@media screen and (min-width: 768px), print {
  .-mb0 {
    margin-bottom: 0rem !important; } }

@media screen and (max-width: 767px) {
  .-mb0 {
    margin-bottom: 0rem !important; } }

@media screen and (min-width: 768px), print {
  .-mb5 {
    margin-bottom: 0.05rem !important; } }

@media screen and (max-width: 767px) {
  .-mb5 {
    margin-bottom: 0.05rem !important; } }

@media screen and (min-width: 768px), print {
  .-mb10 {
    margin-bottom: 0.1rem !important; } }

@media screen and (max-width: 767px) {
  .-mb10 {
    margin-bottom: 0.1rem !important; } }

@media screen and (min-width: 768px), print {
  .-mb15 {
    margin-bottom: 0.15rem !important; } }

@media screen and (max-width: 767px) {
  .-mb15 {
    margin-bottom: 0.15rem !important; } }

@media screen and (min-width: 768px), print {
  .-mb20 {
    margin-bottom: 0.2rem !important; } }

@media screen and (max-width: 767px) {
  .-mb20 {
    margin-bottom: 0.2rem !important; } }

@media screen and (min-width: 768px), print {
  .-mb25 {
    margin-bottom: 0.25rem !important; } }

@media screen and (max-width: 767px) {
  .-mb25 {
    margin-bottom: 0.25rem !important; } }

@media screen and (min-width: 768px), print {
  .-mb30 {
    margin-bottom: 0.3rem !important; } }

@media screen and (max-width: 767px) {
  .-mb30 {
    margin-bottom: 0.3rem !important; } }

@media screen and (min-width: 768px), print {
  .-mr0 {
    margin-right: 0rem !important; } }

@media screen and (max-width: 767px) {
  .-mr0 {
    margin-right: 0rem !important; } }

@media screen and (min-width: 768px), print {
  .-mr5 {
    margin-right: 0.05rem !important; } }

@media screen and (max-width: 767px) {
  .-mr5 {
    margin-right: 0.05rem !important; } }

@media screen and (min-width: 768px), print {
  .-mr10 {
    margin-right: 0.1rem !important; } }

@media screen and (max-width: 767px) {
  .-mr10 {
    margin-right: 0.1rem !important; } }

@media screen and (min-width: 768px), print {
  .-mr15 {
    margin-right: 0.15rem !important; } }

@media screen and (max-width: 767px) {
  .-mr15 {
    margin-right: 0.15rem !important; } }

@media screen and (min-width: 768px), print {
  .-mr20 {
    margin-right: 0.2rem !important; } }

@media screen and (max-width: 767px) {
  .-mr20 {
    margin-right: 0.2rem !important; } }

@media screen and (min-width: 768px), print {
  .-ml0 {
    margin-left: 0rem !important; } }

@media screen and (max-width: 767px) {
  .-ml0 {
    margin-left: 0rem !important; } }

@media screen and (min-width: 768px), print {
  .-ml5 {
    margin-left: 0.05rem !important; } }

@media screen and (max-width: 767px) {
  .-ml5 {
    margin-left: 0.05rem !important; } }

@media screen and (min-width: 768px), print {
  .-ml10 {
    margin-left: 0.1rem !important; } }

@media screen and (max-width: 767px) {
  .-ml10 {
    margin-left: 0.1rem !important; } }

@media screen and (min-width: 768px), print {
  .-ml15 {
    margin-left: 0.15rem !important; } }

@media screen and (max-width: 767px) {
  .-ml15 {
    margin-left: 0.15rem !important; } }

@media screen and (min-width: 768px), print {
  .-ml20 {
    margin-left: 0.2rem !important; } }

@media screen and (max-width: 767px) {
  .-ml20 {
    margin-left: 0.2rem !important; } }

/* padding
============================================================= */
@media screen and (min-width: 768px), print {
  .-pcPdg {
    padding-left: 0.33rem;
    padding-right: 0.33rem; } }

@media screen and (max-width: 767px) {
  .-spPdg {
    padding-left: 0.15rem;
    padding-right: 0.15rem; } }

/* text-align
============================================================= */
.-textRight {
  text-align: right; }

.-textCenter {
  text-align: center; }

.-textLeft {
  text-align: left; }

/* 画像のDL禁止
============================================================= */
/* PCの右クリック禁止 */
img {
  pointer-events: none; }

/* SPの長押し禁止 */
img {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none; }

/* footer
============================================================= */
@media screen and (min-width: 768px), print {
  #footer {
    margin-top: 1rem; } }

@media screen and (max-width: 767px) {
  #footer {
    margin-top: 0.6rem; } }

@media screen and (min-width: 768px), print {
  .footer__contents {
    background-color: #2d287f;
    padding: 0.72rem 0 1.45rem; } }

@media screen and (max-width: 767px) {
  .footer__contents {
    display: none !important; } }

@media screen and (min-width: 768px), print {
  .footer__contentsInner {
    margin-left: auto;
    margin-right: auto;
    max-width: 13.66rem;
    padding-left: 0.33rem;
    padding-right: 0.33rem; } }

@media screen and (min-width: 768px), print {
  .footer__contentsInner {
    color: #fff; } }

@media screen and (min-width: 768px), print {
  .footer__contentsTitle {
    font-size: 0.18rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.2; }
    .footer__contentsTitle + * {
      margin-top: 0.18rem; } }

@media screen and (min-width: 768px), print {
  .footer__contentsList li {
    font-size: 0.14rem;
    letter-spacing: .05em;
    line-height: 1.3; }
    .footer__contentsList li:not(:last-child) {
      margin-bottom: 0.08rem; }
  .footer__contentsList a {
    color: #fff; }
  .footer__contentsList + * {
    margin-top: 0.7rem; } }

@media screen and (min-width: 768px), print {
  .footer__contentsItemWrap {
    display: flex;
    margin-top: 0.45rem; }
    .footer__contentsItemWrap + * {
      border-top: 1px solid #575399;
      margin-top: 0.45rem;
      padding-top: 0.45rem; }
    .footer__contentsItemWrap.-column {
      flex-wrap: wrap; } }

@media screen and (min-width: 768px), print {
  .footer__contentsItem {
    flex: 1; }
    .-column .footer__contentsItem {
      width: 25%;
      flex: auto; }
      .-column .footer__contentsItem:nth-child(n + 5) {
        margin-top: 0.7rem; } }

@media screen and (min-width: 768px), print {
  .footer__contentsItemTitle {
    font-size: 0.16rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.2; }
    .footer__contentsItemTitle + * {
      margin-top: 0.12rem; } }

.footer__end {
  background-color: #e8e9f4; }
  @media screen and (min-width: 768px), print {
    .footer__end {
      padding: 0.5rem 0 0.95rem; } }
  @media screen and (max-width: 767px) {
    .footer__end {
      padding: 0.25rem 0 0.36rem; } }
.footer__endInner {
  position: relative; }
  @media screen and (min-width: 768px), print {
    .footer__endInner {
      margin-left: auto;
      margin-right: auto;
      max-width: 13.66rem;
      padding-left: 0.33rem;
      padding-right: 0.33rem; } }
.footer__endContents {
  display: flex; }
  @media screen and (min-width: 768px), print {
    .footer__endContents {
      align-items: flex-start; } }
  @media screen and (max-width: 767px) {
    .footer__endContents {
      flex-direction: column-reverse;
      flex-wrap: wrap; } }
  @media screen and (max-width: 767px) {
    .footer__endContents > * {
      width: 100%; } }
@media screen and (max-width: 767px) {
  .footer__endContentsMain {
    margin-top: 0.225rem;
    text-align: center; } }

.footer__endContentsTitle {
  line-height: 1; }

.footer__endContentsAddress {
  letter-spacing: .05em;
  line-height: 1.5; }
  @media screen and (min-width: 768px), print {
    .footer__endContentsAddress {
      font-size: 0.14rem;
      margin-top: 0.1rem; } }
  @media screen and (max-width: 767px) {
    .footer__endContentsAddress {
      font-size: 0.12rem;
      margin-top: 0.05rem; } }
  .footer__endContentsAddress span {
    display: block; }
    @media screen and (max-width: 767px) {
      .footer__endContentsAddress span {
        margin-top: 0.08rem; } }
.footer__endContentsSns {
  display: flex;
  align-items: center; }
  @media screen and (min-width: 768px), print {
    .footer__endContentsSns {
      margin-left: 0.45rem; } }
  @media screen and (max-width: 767px) {
    .footer__endContentsSns {
      justify-content: center; } }
  .footer__endContentsSns li:not(:last-child) {
    margin-right: 0.1rem; }

@media screen and (min-width: 768px), print {
  .footer__endLogo {
    position: absolute;
    right: 0.33rem;
    top: 0;
    width: 1.35rem; } }

@media screen and (max-width: 767px) {
  .footer__endLogo {
    margin-top: 0.25rem;
    text-align: center;
    width: 100%; } }

.footer__endLogo a {
  display: inline-block; }
  @media screen and (max-width: 767px) {
    .footer__endLogo a img {
      width: 1rem; } }
.footer__copyright {
  line-height: 1.2; }
  @media screen and (min-width: 768px), print {
    .footer__copyright {
      font-size: 0.12rem;
      margin-top: 0.15rem;
      text-align: right; } }
  @media screen and (max-width: 767px) {
    .footer__copyright {
      font-size: 0.1rem;
      margin-top: 0.1rem;
      text-align: center; } }
@media screen and (min-width: 768px), print {
  .footer__end .buttonContact {
    margin-right: 0;
    margin-left: 0;
    width: 4rem; } }

@media screen and (max-width: 767px) {
  .footer__end .buttonContact {
    margin-right: auto;
    margin-left: auto;
    width: 80%; } }

@media screen and (min-width: 768px), print {
  .footer__end .buttonContact > a {
    margin-top: 0.15rem;
    padding: 0.05rem; } }

@media screen and (max-width: 767px) {
  .footer__end .buttonContact > a {
    margin-top: 0.05rem;
    padding: 0.05rem; } }

/* form
============================================================= */
/* reset */
form input,
form textarea,
form label {
  vertical-align: middle; }
  form input:focus,
  form textarea:focus,
  form label:focus {
    border-color: #2d287f; }

form input::-webkit-input-placeholder,
form textarea::-webkit-input-placeholder {
  color: #bababa; }

form input::-moz-placeholder,
form textarea::-moz-placeholder {
  color: #bababa; }

form input:-ms-input-placeholder,
form textarea:-ms-input-placeholder {
  color: #bababa; }

form input {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none; }
  form input::-ms-clear {
    visibility: hidden; }
  form input::-ms-reveal {
    visibility: hidden; }

form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none; }
  form select::-ms-expand {
    background-color: transparent;
    border: 0;
    display: none; }
  form select:focus {
    border-color: #2d287f; }

form textarea {
  resize: vertical;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "メイリオ", Meiryo, sans-serif;
  outline: none;
  width: 100%; }

form button,
form input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent; }

/* input */
form input[type="text"], form input[type="tel"], form input[type="email"] {
  background-color: #fff;
  border: 1px solid #ccc; }
  @media screen and (min-width: 768px), print {
    form input[type="text"], form input[type="tel"], form input[type="email"] {
      padding: 0.15rem;
      font-size: 0.16rem; } }
  @media screen and (max-width: 767px) {
    form input[type="text"], form input[type="tel"], form input[type="email"] {
      font-size: 16px;
      padding: 0.12rem;
      width: 100%; } }
  @media screen and (min-width: 768px), print {
    form input[type="text"].-small, form input[type="tel"].-small, form input[type="email"].-small {
      width: 0.8rem; } }
  @media screen and (max-width: 767px) {
    form input[type="text"].-small, form input[type="tel"].-small, form input[type="email"].-small {
      width: 0.6rem; } }
  @media screen and (min-width: 768px), print {
    form input[type="text"].-medium, form input[type="tel"].-medium, form input[type="email"].-medium {
      width: 4rem; } }
  @media screen and (min-width: 768px), print {
    form input[type="text"].-medium[name="postal_code"], form input[type="tel"].-medium[name="postal_code"], form input[type="email"].-medium[name="postal_code"] {
      width: 1.6rem; } }
  @media screen and (max-width: 767px) {
    form input[type="text"].-medium[name="postal_code"], form input[type="tel"].-medium[name="postal_code"], form input[type="email"].-medium[name="postal_code"] {
      width: 1.4rem;
      margin-right: 0.1rem; } }
  @media screen and (min-width: 768px), print {
    form input[type="text"].-large, form input[type="tel"].-large, form input[type="email"].-large {
      width: 100%; } }
  @media screen and (min-width: 768px), print {
    form input[type="text"].-name, form input[type="tel"].-name, form input[type="email"].-name {
      width: 4rem; }
      form input[type="text"].-name.-split, form input[type="tel"].-name.-split, form input[type="email"].-name.-split {
        width: 1.95rem; } }
  @media screen and (min-width: 768px), print {
    form input[type="text"].-email, form input[type="tel"].-email, form input[type="email"].-email {
      width: 5rem; } }
  @media screen and (min-width: 768px), print {
    form input[type="text"].-postal, form input[type="tel"].-postal, form input[type="email"].-postal {
      width: 1.85rem; } }
  @media screen and (min-width: 768px), print {
    form input[type="text"].-postalFirst, form input[type="tel"].-postalFirst, form input[type="email"].-postalFirst {
      width: 0.7rem; } }
  @media screen and (min-width: 768px), print {
    form input[type="text"].-postalLast, form input[type="tel"].-postalLast, form input[type="email"].-postalLast {
      width: 0.9rem; } }
  @media screen and (min-width: 768px), print {
    form input[type="text"].-telSplit, form input[type="tel"].-telSplit, form input[type="email"].-telSplit {
      width: 1rem; } }
form input[type="radio"] {
  display: inline-block;
  position: absolute;
  opacity: 0; }
  form input[type="radio"] + label {
    display: inline-block;
    cursor: pointer;
    position: relative; }
    @media screen and (min-width: 768px), print {
      form input[type="radio"] + label {
        margin-right: 0.26rem;
        margin-bottom: 0.1rem; } }
    @media screen and (max-width: 767px) {
      form input[type="radio"] + label {
        font-size: 0.16rem;
        line-height: 1.3;
        margin-right: 0.15rem;
        margin-bottom: 0.1rem; } }
    form input[type="radio"] + label:last-of-type {
      margin-right: 0; }
    form input[type="radio"] + label:before {
      background: #fff;
      border-radius: 50%;
      border: 1px solid #ccc;
      content: '';
      display: inline-block;
      position: relative;
      vertical-align: top;
      cursor: pointer; }
      @media screen and (min-width: 768px), print {
        form input[type="radio"] + label:before {
          width: 0.24rem;
          height: 0.24rem;
          margin-right: 0.1rem; } }
      @media screen and (max-width: 767px) {
        form input[type="radio"] + label:before {
          width: 0.16rem;
          height: 0.16rem;
          margin-right: 0.08rem; } }
    form input[type="radio"] + label::after {
      background-color: #2d287f;
      border-radius: 50%;
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      opacity: 0; }
      @media screen and (min-width: 768px), print {
        form input[type="radio"] + label::after {
          left: 0.05rem;
          top: 0.05rem;
          width: 0.16rem;
          height: 0.16rem; } }
      @media screen and (max-width: 767px) {
        form input[type="radio"] + label::after {
          left: 0.04rem;
          top: 0.04rem;
          width: 0.1rem;
          height: 0.1rem; } }
  form input[type="radio"]:checked + label::after {
    opacity: 1; }
  form input[type="radio"]:focus + label::before {
    border: 1px solid #2d287f; }
  form input[type="radio"]:disabled + label::before {
    border-color: #f9f9f9;
    background: #f9f9f9; }

form input[type="checkbox"] {
  position: absolute;
  opacity: 0; }
  form input[type="checkbox"] + label {
    cursor: pointer;
    display: inline-block;
    position: relative;
    padding-left: 0.27rem; }
    form input[type="checkbox"] + label:before {
      background: #fff;
      border: 1px solid #d5d5d5;
      content: '';
      display: block;
      position: absolute;
      cursor: pointer;
      left: 0;
      width: 0.17rem;
      height: 0.17rem;
      top: 0.02rem; }
    form input[type="checkbox"] + label::after {
      content: '';
      background: transparent;
      display: block;
      position: absolute;
      opacity: 0;
      border-left: 2px solid #fff;
      border-bottom: 4px solid #fff;
      border-top: 1px solid transparent;
      border-right: 1px solid transparent;
      transform: rotate(-45deg) scaleY(0.5);
      width: 0.1rem;
      height: 0.1rem;
      left: 0.03rem;
      top: 0.02rem; }
  form input[type="checkbox"]:checked + label::before {
    background-color: #2d287f;
    border: 1px solid #2d287f; }
  form input[type="checkbox"]:checked + label::after {
    opacity: 1; }
  form input[type="checkbox"]:focus + label::before {
    border: 1px solid #2d287f;
    border-color: #2d287f; }
  form input[type="checkbox"]:disabled + label::before {
    border-color: #f9f9f9;
    background: #f9f9f9; }

/* textarea */
form textarea {
  background-color: #fff;
  border: 1px solid #ccc; }
  @media screen and (min-width: 768px), print {
    form textarea {
      font-size: 0.16rem;
      min-height: 2.5rem;
      padding: 0.15rem; } }
  @media screen and (max-width: 767px) {
    form textarea {
      font-size: 0.16rem;
      min-height: 1.6rem;
      padding: 0.15rem; } }
  @media screen and (min-width: 768px), print {
    form textarea.-large {
      min-height: 3.5rem; } }
  @media screen and (max-width: 767px) {
    form textarea.-large {
      min-height: 2.2rem; } }
  @media screen and (min-width: 768px), print {
    form textarea.-small {
      min-height: 0.7rem; } }
  @media screen and (max-width: 767px) {
    form textarea.-small {
      min-height: 0.5rem; } }
/* select */
form select {
  background: #fff;
  border: 1px solid #ccc;
  line-height: 1.2; }
  @media screen and (min-width: 768px), print {
    form select {
      font-size: 0.16rem;
      padding: 0.16rem 0.45rem 0.16rem 0.15rem; } }
  @media screen and (max-width: 767px) {
    form select {
      font-size: 0.16rem;
      padding: 0.13rem 0.6rem 0.13rem 0.2rem;
      width: 100%; } }
  @media screen and (min-width: 768px), print {
    form select.-medium {
      width: auto; } }
  @media screen and (min-width: 768px), print {
    form select.-birth {
      width: 1rem; } }
  @media screen and (min-width: 768px), print {
    form select.-birth.-year {
      width: 1.2rem; } }
/* wrap */
@media screen and (min-width: 768px), print {
  .inputWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center; } }

@media screen and (min-width: 768px), print {
  .inputWrap > *:not(:last-child) {
    margin-right: 0.1rem; } }

.inputWrap.-labelMargin > label:not(:last-child) {
  margin-right: 0.2rem; }

.selectWrap {
  display: inline-block;
  position: relative; }
  @media screen and (max-width: 767px) {
    .selectWrap {
      width: 100%; } }
  .selectWrap::after {
    content: '';
    display: block;
    pointer-events: none;
    position: absolute;
    bottom: 0.04rem;
    top: 0;
    margin: auto;
    border-top: 2px solid #2d287f;
    border-right: 2px solid #2d287f;
    transform: rotate(135deg);
    width: 0.08rem;
    height: 0.08rem;
    right: 0.17rem; }

.radioWrap {
  overflow: hidden; }
  @media screen and (min-width: 768px), print {
    .radioWrap {
      margin-bottom: -0.1rem; } }
  @media screen and (max-width: 767px) {
    .radioWrap {
      margin-bottom: -0.1rem; } }
  @media screen and (min-width: 768px), print {
    .radioWrap.-block > *:not(:last-child) {
      margin-bottom: 0.1rem; } }
  @media screen and (max-width: 767px) {
    .radioWrap.-block > *:not(:last-child) {
      margin-bottom: 0.1rem; } }
  .radioWrap.-block label {
    display: block !important; }

.fileWrap + .fileWrap {
  margin-top: 0.1rem; }

/* error */
ul.error {
  background-color: rgba(45, 40, 127, 0.1); }
  @media screen and (min-width: 768px), print {
    ul.error {
      font-size: 0.14rem;
      padding: 0.2rem; } }
  @media screen and (max-width: 767px) {
    ul.error {
      font-size: 0.13rem;
      padding: 0.15rem; } }
  ul.error a {
    color: #e41500;
    text-decoration: underline; }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      ul.error a:hover {
        text-decoration: none; } }
  ul.error + * {
    margin-top: 0.2rem; }

/* formTitle */
.formTitle {
  font-weight: 700; }
  @media screen and (min-width: 768px), print {
    .formTitle {
      font-size: 0.28rem; } }
  @media screen and (max-width: 767px) {
    .formTitle {
      font-size: 0.2rem; } }
  .formTitle + * {
    margin-top: 0.2rem; }

/* formInfo */
.formInfo + * {
  margin-top: 0.35rem; }

/* formNote */
.formNote {
  color: #e41500;
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .formNote {
      font-size: 0.14rem;
      margin-top: 0.6rem; } }
  @media screen and (max-width: 767px) {
    .formNote {
      font-size: 0.13rem;
      margin-top: 0.4rem; } }
  @media screen and (min-width: 768px), print {
    .formNote + * {
      margin-top: 0.25rem !important; } }
  @media screen and (max-width: 767px) {
    .formNote + * {
      margin-top: 0.2rem !important; } }
/* formTable */
.formTable {
  border-top: 1px solid #c9d2cd;
  width: 100%; }
  @media screen and (min-width: 768px), print {
    .formTable {
      margin-top: 0.55rem; } }
  @media screen and (max-width: 767px) {
    .formTable {
      display: block; }
      .formTable tbody, .formTable tr, .formTable th, .formTable td {
        display: block; } }
  .formTable tr.-verTop th,
  .formTable tr.-verTop td {
    vertical-align: top !important; }
  .formTable tr.-required th span {
    display: flex;
    align-items: center; }
    .formTable tr.-required th span::after {
      background-color: #e41500;
      color: #fff;
      content: '必須';
      display: inline-block;
      font-size: 0.12rem;
      line-height: 1;
      margin-left: 0.1rem;
      padding: 0.03rem 0.05rem;
      white-space: nowrap; }
  .formTable tr.-subject {
    border-top: 4px solid #c9d2cd; }
  .formTable tr.-pattern02 {
    display: none; }
  @media screen and (min-width: 768px), print {
    .formTable tr.-attentionText td {
      font-size: 0.14rem;
      text-align: center;
      padding-bottom: 0.38rem;
      padding-top: 0.38rem; } }
  @media screen and (max-width: 767px) {
    .formTable tr.-attentionText td {
      font-size: 0.13rem;
      padding-bottom: 0.28rem;
      padding-top: 0.28rem; } }
  .formTable tr.error td {
    background-color: rgba(228, 21, 0, 0.1) !important; }
  .formTable.-pattern02 tr.-pattern01 {
    display: none; }
  .formTable.-pattern02 tr.-pattern02 {
    display: table-row !important; }
  .formTable.-val4 .-requiredVal4 th span {
    display: flex;
    align-items: center; }
    .formTable.-val4 .-requiredVal4 th span::after {
      background-color: #e41500;
      color: #fff;
      content: '必須';
      display: inline-block;
      font-size: 0.12rem;
      line-height: 1;
      margin-left: 0.1rem;
      padding: 0.03rem 0.05rem;
      white-space: nowrap; }
  .formTable th,
  .formTable td {
    background-color: #fff;
    border-bottom: 1px solid #c9d2cd;
    line-height: 1.4;
    text-align: left;
    vertical-align: middle; }
    @media screen and (min-width: 768px), print {
      .formTable th,
      .formTable td {
        padding: 0.2rem 0.25rem; } }
    @media screen and (max-width: 767px) {
      .formTable th,
      .formTable td {
        padding: 0.15rem; } }
  .formTable th {
    background-color: #f7f7f7;
    font-weight: 700; }
    @media screen and (min-width: 768px), print {
      .formTable th {
        font-size: 0.18rem;
        width: 28%; } }
    @media screen and (max-width: 767px) {
      .formTable th {
        font-size: 0.17rem; } }
    .formTable th.required > span {
      background-color: #e41500;
      display: inline-block;
      position: relative; }
      @media screen and (min-width: 768px), print {
        .formTable th.required > span {
          padding-right: 0.71rem; } }
      @media screen and (max-width: 767px) {
        .formTable th.required > span {
          padding-right: 0.568rem; } }
  .formTable td {
    letter-spacing: .03em; }
    @media screen and (min-width: 768px), print {
      .formTable td {
        font-size: 0.16rem;
        width: 72%; } }
    @media screen and (max-width: 767px) {
      .formTable td {
        font-size: 0.15rem; } }
    .formTable td span.note {
      display: block;
      color: #e41500; }
      @media screen and (min-width: 768px), print {
        .formTable td span.note {
          font-size: 0.13rem;
          margin-top: 0.1rem; } }
      @media screen and (max-width: 767px) {
        .formTable td span.note {
          font-size: 0.11rem;
          margin-top: 0.08rem; } }
    .formTable td span.error {
      display: block;
      color: #e41500; }
      @media screen and (min-width: 768px), print {
        .formTable td span.error {
          font-size: 0.13rem;
          margin-top: 0.15rem; } }
      @media screen and (max-width: 767px) {
        .formTable td span.error {
          font-size: 0.12rem;
          margin-top: 0.15rem; } }
    @media screen and (min-width: 768px), print {
      .formTable td > p {
        font-size: 0.13rem; } }
    @media screen and (max-width: 767px) {
      .formTable td > p {
        font-size: 0.11rem; } }
    .formTable td > p + * {
      margin-top: 0.05rem; }

/* formPrivacy */
@media screen and (min-width: 768px), print {
  .formPrivacy {
    margin-top: 0.4rem; } }

.formPrivacy__title {
  font-weight: 700; }
  @media screen and (min-width: 768px), print {
    .formPrivacy__title {
      font-size: 0.18rem; } }
  @media screen and (max-width: 767px) {
    .formPrivacy__title {
      font-size: 0.16rem; } }
  .formPrivacy__title + * {
    margin-top: 0.15rem; }

.formPrivacy__contents {
  background-color: #eee;
  height: 2rem;
  overflow-y: scroll;
  padding: 0.3rem 0.35rem;
  -webkit-overflow-scrolling: touch; }
  @media screen and (min-width: 768px), print {
    .formPrivacy__contents {
      font-size: 0.14rem; } }
/* formButton */
.formButton {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  @media screen and (min-width: 768px), print {
    .formButton {
      margin-top: 0.5rem; } }
  @media screen and (max-width: 767px) {
    .formButton {
      margin-top: 0.3rem; } }
  .formButton li {
    width: 100%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .formButton li:only-child .button {
        width: 100%; } }
    @media screen and (min-width: 768px), print {
      .formButton li:not(:last-child) {
        margin-bottom: 0.2rem; } }
    @media screen and (max-width: 767px) {
      .formButton li:not(:last-child) {
        margin-bottom: 0.1rem; } }
  .formButton .button {
    cursor: pointer; }
    @media screen and (min-width: 768px), print {
      .formButton .button {
        font-size: 0.16rem;
        min-width: 4rem; } }
    @media screen and (max-width: 767px) {
      .formButton .button {
        width: 100%; } }
@media screen and (min-width: 768px), print {
  .formButtonTop {
    margin-top: 0.5rem !important; } }

@media screen and (max-width: 767px) {
  .formButtonTop {
    margin-top: 0.3rem !important; }
    .formButtonTop .button {
      width: 100%; } }

/* header
============================================================= */
#header {
  position: relative; }
  @media screen and (min-width: 768px), print {
    #header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 1rem;
      padding-left: 0.33rem;
      padding-right: 2.8rem; } }
  @media screen and (max-width: 767px) {
    #header {
      display: flex;
      align-items: center;
      height: 0.6rem;
      padding-left: 0.15rem; } }
@media screen and (min-width: 768px), print {
  .header__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 13.66rem;
    padding-left: 0.33rem;
    padding-right: 0.33rem; } }

@media screen and (min-width: 768px), print {
  .header__logo {
    width: 2.15rem; } }

@media screen and (max-width: 767px) {
  .header__logo {
    width: 1.5375rem; } }

.header__logo a {
  display: block; }

.header__logo img {
  width: 100%; }

@media screen and (min-width: 768px), print {
  .header__navWrap {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    width: calc(100% - 2.85rem);
    margin-right: 0.35rem; } }

@media screen and (max-width: 767px) {
  .header__navWrap {
    background-color: #2d287f;
    display: none;
    flex-direction: column;
    position: absolute;
    left: 0;
    top: 0.6rem;
    width: 100%;
    padding: 0.2rem 0;
    z-index: 105;
    height: calc(100vh - 0.6rem);
    overflow-y: auto; }
    .-spMenuOpen .header__navWrap {
      display: flex; } }

.header__navWrap > .globalNavi,
.header__navWrap > .utilityNav {
  width: 100%; }

@media screen and (max-width: 767px) {
  .header__navWrap > .globalNavi {
    margin-top: 0.25rem;
    order: 2; } }

@media screen and (max-width: 767px) {
  .header__navWrap > .utilityNav {
    order: 3; } }

@media screen and (max-width: 767px) {
  .header__navWrap > .header__contact {
    width: 100%;
    order: 1; } }

@media screen and (min-width: 768px), print {
  .header__contact {
    position: absolute;
    right: 0;
    top: 0;
    width: 2.33rem;
    height: 100%;
    z-index: 0; } }

@media screen and (max-width: 767px) {
  .header__contact {
    padding-left: 0.15rem;
    padding-right: 0.15rem; } }

@media screen and (min-width: 768px), print {
  .header__contact::before {
    background-color: #fff;
    content: '';
    width: 2.75rem;
    height: 0.5rem;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 2;
    pointer-events: none; } }

.header__contact a {
  background-color: #ffc71c;
  color: #2d287f;
  display: block;
  position: relative;
  line-height: 1;
  text-decoration: none; }
  @media screen and (min-width: 768px), print {
    .header__contact a {
      height: 100%;
      padding-top: 0.28rem;
      transition-duration: 0.25s; }
      .header__contact a::before {
        background-color: #ffc71c;
        border-radius: 50%;
        content: '';
        display: block;
        width: 2rem;
        height: 2rem;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -0.42rem;
        margin: auto;
        z-index: 0;
        transition-duration: 0.25s; }
      .header__contact a span {
        position: relative;
        z-index: 1; } }
  @media screen and (max-width: 767px) {
    .header__contact a {
      border-radius: 50px;
      padding: 0.09rem 0.2rem 0.09rem 0.7rem; } }
  @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .header__contact a:hover {
      background-color: #c7caed; }
      .header__contact a:hover::before {
        background-color: #c7caed; } }
.header__contactTitle {
  display: block;
  font-weight: 700;
  letter-spacing: .02em; }
  @media screen and (min-width: 768px), print {
    .header__contactTitle {
      position: relative;
      font-size: 0.2rem;
      padding-left: 0.31rem; } }
  @media screen and (max-width: 767px) {
    .header__contactTitle {
      font-size: 0.16rem; } }
  .header__contactTitle::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22140%22%20height%3D%22100%22%20viewBox%3D%220%200%20140%20100%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M287.273%2C395H172.733a12.63%2C12.63%2C0%2C0%2C1-12.727-12.5v-75A12.632%2C12.632%2C0%2C0%2C1%2C172.733%2C295h114.54A12.632%2C12.632%2C0%2C0%2C1%2C300%2C307.5v75A12.63%2C12.63%2C0%2C0%2C1%2C287.273%2C395Zm-114.54-93.744a6.31%2C6.31%2C0%2C0%2C0-6.363%2C6.248v75a6.313%2C6.313%2C0%2C0%2C0%2C6.363%2C6.251h114.54a6.313%2C6.313%2C0%2C0%2C0%2C6.364-6.251v-75a6.31%2C6.31%2C0%2C0%2C0-6.364-6.248H172.733ZM230%2C348.116a24.491%2C24.491%2C0%2C0%2C1-14.772-4.924L163.405%2C304.04a3.094%2C3.094%2C0%2C0%2C1-.584-4.384%2C3.23%2C3.23%2C0%2C0%2C1%2C4.462-.572l51.827%2C39.151a18.143%2C18.143%2C0%2C0%2C0%2C21.787%2C0l51.826-39.151a3.219%2C3.219%2C0%2C0%2C1%2C4.462.572%2C3.094%2C3.094%2C0%2C0%2C1-.584%2C4.384l-51.827%2C39.152A24.486%2C24.486%2C0%2C0%2C1%2C230%2C348.116Z%22%20transform%3D%22translate(-160%20-295)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
    background-size: 100% auto;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto; }
    @media screen and (min-width: 768px), print {
      .header__contactTitle::before {
        left: 0;
        width: 0.21rem;
        height: 0.15rem; } }
    @media screen and (max-width: 767px) {
      .header__contactTitle::before {
        left: 0.25rem;
        width: 0.35rem;
        height: 0.25rem; } }
  @media screen and (min-width: 768px), print {
    .header__contactTitle + * {
      margin-top: 0.1rem; } }
  @media screen and (max-width: 767px) {
    .header__contactTitle + * {
      margin-top: 0.06rem; } }
.header__contactText {
  display: block;
  font-size: 0.14rem; }

/**
 * Visual Editor Styles
 */
/*
<div class="ve">

  <h3>大見出し（h3）<br>改行可<a href="sample">リンク</a></h3>

  <h4>中見出し（h4）<br>改行可<a href="sample">リンク</a></h4>

  <h5>小見出し（h5）<br>改行可<a href="sample">リンク</a></h5>
  
  <h6>小見出し（h6）<br>改行可<a href="sample">リンク</a></h6>

  <p>本文（p）<br>改行可<a href="sample">リンク</a></p>

  <div class="image-wrap">
    <p class="img img-left"><img src="https://placehold.jp/400x300.png" title="dummy"></p>
    <p class="text">左寄せ画像の回り込みテキスト</p>
  </div>

  <div class="image-wrap">
    <p class="img img-right"><img src="https://placehold.jp/400x300.png" title="dummy"></p>
    <p class="text">右寄せ画像の回り込みテキスト</p>
  </div>

  <div class="image-wrap">
    <p class="img img-center"><img src="https://placehold.jp/400x300.png" title="dummy"></p>
    <p class="text">中央寄せ画像の回り込みテキスト</p>
  </div>

  <div class="link-wrap">
    <a href="/" target="_blank">リンクテキスト（div.link-wrap > a）</a>
  </div>

  <ul>
    <li>リスト1</li>
    <li>リスト2</li>
  </ul>

  <ol>
    <li>リスト1</li>
    <li>リスト2</li>
  </ol>

  <table>
    <thead>
      <tr>
        <th scope="col">横に並ぶ見出し</th>
        <th scope="col">横に並ぶ見出し</th>
        <th scope="col">横に並ぶ見出し</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>セル</td>
        <td>セル</td>
        <td>セル</td>
      </tr>
    </tbody>
  </table>

  <table>
    <tbody>
      <tr>
        <th scope="row">縦にならぶ見出し</th>
        <td>セル</td>
        <td>セル</td>
      </tr>
      <tr>
        <th scope="row">縦にならぶ見出し</th>
        <td>セル</td>
        <td>セル</td>
      </tr>
    </tbody>
  </table>

</div>
*/
@media screen and (min-width: 768px), print {
  .ve > * {
    font-size: 0.18rem; } }

@media screen and (max-width: 767px) {
  .ve > * {
    font-size: 0.14rem; } }

@media screen and (min-width: 768px), print {
  .ve > * + * {
    margin-top: 0.3rem; } }

@media screen and (max-width: 767px) {
  .ve > * + * {
    margin-top: 0.2rem; } }

@media screen and (min-width: 768px), print {
  .ve h3 {
    font-size: 0.24rem; } }

@media screen and (max-width: 767px) {
  .ve h3 {
    font-size: 0.24rem; } }

@media screen and (min-width: 768px), print {
  .ve h4 {
    font-size: 0.2rem; } }

@media screen and (max-width: 767px) {
  .ve h4 {
    font-size: 0.2rem; } }

@media screen and (min-width: 768px), print {
  .ve h5 {
    font-size: 0.16rem; } }

@media screen and (max-width: 767px) {
  .ve h5 {
    font-size: 0.16rem; } }

.ve ul li {
  list-style-type: disc;
  margin-left: 1.5em; }

.ve ol li {
  margin-left: 1.5em; }

.ve table {
  width: 100%; }
  .ve table th,
  .ve table td {
    border: 1px solid #ddd; }
    @media screen and (min-width: 768px), print {
      .ve table th,
      .ve table td {
        padding: 0.1rem; } }
    @media screen and (max-width: 767px) {
      .ve table th,
      .ve table td {
        padding: 0.05rem;
        font-size: 0.12rem; } }
  .ve table th {
    background-color: #eee; }
  .ve table th[scope=row] {
    width: 33.33%; }

.ve .link-wrap a {
  color: #000;
  text-decoration: underline; }

.ve .link-wrap a:visited {
  color: #000;
  text-decoration: none; }

.ve .link-wrap a:hover {
  color: #000;
  text-decoration: none; }

.ve .image-wrap::after {
  display: block;
  clear: both;
  content: ''; }

.ve .image-wrap .img {
  overflow: hidden; }
  @media screen and (min-width: 768px), print {
    .ve .image-wrap .img {
      margin-bottom: 0.3rem; } }
  @media screen and (max-width: 767px) {
    .ve .image-wrap .img {
      margin-bottom: 0.2rem; } }
  .ve .image-wrap .img img {
    height: auto;
    max-width: 100%; }

@media screen and (min-width: 768px), print {
  .ve .image-wrap .img-left {
    float: left;
    margin-right: 0.3rem; } }

@media screen and (min-width: 768px), print {
  .ve .image-wrap .img-right {
    float: right;
    margin-left: 0.3rem; } }

@media screen and (min-width: 768px), print {
  .ve .image-wrap .img-left,
  .ve .image-wrap .img-right {
    max-width: 50%; } }

.ve .image-wrap .img-center {
  text-align: center; }

/* all
============================================================= */
/* object fit image */
img.objectFit {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0; }
  img.objectFit.-cover {
    font-family: 'object-fit: cover;';
    object-fit: cover; }
  img.objectFit.-contain {
    font-family: 'object-fit: contain;';
    object-fit: contain; }

/* sticky */
.sticky {
  position: sticky;
  top: 0; }
  .sticky::before, .sticky::after {
    content: '';
    display: table; }

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Dots */
.slick-dots {
  display: inline-block;
  position: absolute;
  list-style: none;
  line-height: 0;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99; }
  @media screen and (min-width: 768px), print {
    .slick-dots {
      bottom: -0.32rem; } }
  @media screen and (max-width: 767px) {
    .slick-dots {
      bottom: -0.24rem; } }
  .slick-dots li {
    position: relative;
    display: inline-block;
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    overflow: hidden; }
    @media screen and (min-width: 768px), print {
      .slick-dots li {
        width: 0.11rem;
        height: 0.11rem;
        margin: 0 0.06rem; } }
    @media screen and (max-width: 767px) {
      .slick-dots li {
        width: 0.09rem;
        height: 0.09rem;
        margin: 0 0.04rem; } }
    .slick-dots li button {
      background-color: #ccc;
      border: 0;
      border-radius: 50%;
      color: transparent;
      display: block;
      outline: none;
      line-height: 1;
      font-size: 0;
      padding: 0;
      overflow: hidden;
      cursor: pointer; }
      @media screen and (min-width: 768px), print {
        .slick-dots li button {
          width: 0.11rem;
          height: 0.11rem; } }
      @media screen and (max-width: 767px) {
        .slick-dots li button {
          width: 0.09rem;
          height: 0.09rem; } }
    .slick-dots li.slick-active button {
      background-color: #2d287f; }

/* arrow */
.slick-prev,
.slick-next {
  background-color: transparent !important;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  color: transparent;
  padding: 0;
  border: none;
  outline: none;
  z-index: 10;
  top: 0;
  bottom: 0;
  margin: auto; }
  @media screen and (min-width: 768px), print {
    .slick-prev,
    .slick-next {
      transition-duration: 0.375s;
      height: 0.58rem;
      width: 0.58rem; } }
  @media screen and (max-width: 767px) {
    .slick-prev,
    .slick-next {
      width: 0.075rem;
      height: 0.15rem; }
      .slick-prev::before,
      .slick-next::before {
        content: '';
        display: block;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2230%22%20viewBox%3D%220%200%2015%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M2909.7%2C946.012l-13.12%2C13.675a1.007%2C1.007%2C0%2C0%2C1-1.46%2C0c-0.4-.421.15-1.1%2C0.55-1.52L2908.3%2C945l-12.63-13.171c-0.4-.415-0.95-1.1-0.55-1.517a1%2C1%2C0%2C0%2C1%2C1.46%2C0l13.12%2C13.676A2.105%2C2.105%2C0%2C0%2C1%2C2909.7%2C946.012Z%22%20transform%3D%22translate(-2895%20-930)%22%2F%3E%0A%3C%2Fsvg%3E");
        background-size: 100% auto;
        width: 0.075rem;
        height: 0.15rem;
        position: absolute; } }
@media screen and (min-width: 768px), print {
  .slick-prev {
    left: 0; } }

@media screen and (max-width: 767px) {
  .slick-prev {
    left: -0.28rem; } }

.slick-prev::before {
  transform: scale(-1, 1);
  transform-origin: center center; }

@media screen and (min-width: 768px), print {
  .slick-next {
    right: 0; } }

@media screen and (max-width: 767px) {
  .slick-next {
    right: -0.28rem; } }

.accordion {
  border-bottom: 1px solid #000;
  overflow: hidden;
  transition: height .4s;
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1); }
  @media screen and (min-width: 768px), print {
    .accordion:not(:first-child) {
      margin-top: 0.3rem; } }
.accordion__title {
  display: flex;
  align-items: center;
  user-select: none;
  position: relative; }
  @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .accordion__title {
      transition-duration: 0.25s; }
      .accordion__title:hover {
        background-color: #f2f3f6;
        color: #635db6 !important; } }
.accordion__toggle {
  display: block;
  font-weight: 500;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer; }
  @media screen and (min-width: 768px), print {
    .accordion__toggle {
      font-size: 0.22rem;
      padding-right: 0.2rem;
      padding-bottom: 0.2rem;
      padding-top: 0.2rem; } }
  @media screen and (max-width: 767px) {
    .accordion__toggle {
      font-size: 0.16rem;
      padding-bottom: 0.15rem;
      padding-top: 0.15rem; } }
  .accordion__toggle p {
    position: relative; }
    @media screen and (min-width: 768px), print {
      .accordion__toggle p {
        padding-left: 0.55rem; } }
    @media screen and (max-width: 767px) {
      .accordion__toggle p {
        flex: 1;
        padding-left: 0.4125rem; } }
    .accordion__toggle p::before {
      content: "";
      position: absolute;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2260px%22%20height%3D%2260px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23000000%22%20d%3D%22M56.247%2C59.991%20L41.539%2C59.991%20C41.534%2C59.991%2041.528%2C59.994%2041.522%2C59.994%20C41.515%2C59.994%2041.508%2C59.991%2041.501%2C59.991%20L30.0%2C59.991%20L20.397%2C59.991%20L10.796%2C59.991%20L3.753%2C59.991%20C1.677%2C59.991%200.12%2C58.301%200.12%2C56.226%20L0.12%2C3.763%20C0.12%2C1.687%201.677%2C0.1%203.753%2C0.1%20L56.247%2C0.1%20C58.323%2C0.1%2060.13%2C1.687%2060.13%2C3.763%20L60.13%2C56.226%20C60.13%2C58.301%2058.323%2C59.991%2056.247%2C59.991%20ZM21.602%2C57.581%20L28.795%2C57.581%20L28.795%2C38.877%20L21.602%2C38.877%20L21.602%2C57.581%20ZM12.1%2C57.581%20L19.192%2C57.581%20L19.192%2C38.877%20L12.1%2C38.877%20L12.1%2C57.581%20ZM57.603%2C3.763%20C57.603%2C3.15%2056.994%2C2.408%2056.247%2C2.408%20L3.753%2C2.408%20C3.6%2C2.408%202.398%2C3.15%202.398%2C3.763%20L2.398%2C28.791%20L30.716%2C28.791%20L30.716%2C8.882%20C30.716%2C8.217%2031.256%2C7.677%2031.921%2C7.677%20L41.522%2C7.677%20C42.188%2C7.677%2042.728%2C8.217%2042.728%2C8.882%20L42.728%2C13.436%20L51.126%2C13.436%20C51.791%2C13.436%2052.331%2C13.975%2052.331%2C14.640%20L52.331%2C28.791%20L57.603%2C28.791%20L57.603%2C3.763%20ZM33.126%2C10.86%20L33.126%2C28.791%20L40.317%2C28.791%20L40.317%2C14.640%20L40.317%2C10.86%20L33.126%2C10.86%20ZM42.728%2C15.845%20L42.728%2C28.791%20L49.921%2C28.791%20L49.921%2C15.845%20L42.728%2C15.845%20ZM57.603%2C31.200%20L51.126%2C31.200%20L41.522%2C31.200%20L31.921%2C31.200%20L2.398%2C31.200%20L2.398%2C56.226%20C2.398%2C56.973%203.6%2C57.581%203.753%2C57.581%20L9.591%2C57.581%20L9.591%2C37.672%20C9.591%2C37.8%2010.130%2C36.468%2010.796%2C36.468%20L20.397%2C36.468%20L30.0%2C36.468%20C30.666%2C36.468%2031.205%2C37.8%2031.205%2C37.672%20L31.205%2C57.581%20L39.758%2C57.581%20L32.720%2C39.559%20C32.476%2C38.939%2032.784%2C38.241%2033.404%2C38.0%20L42.348%2C34.511%20C42.965%2C34.268%2043.667%2C34.573%2043.908%2C35.194%20L51.590%2C54.862%20C51.706%2C55.159%2051.700%2C55.491%2051.571%2C55.783%20C51.444%2C56.76%2051.204%2C56.304%2050.906%2C56.421%20L47.932%2C57.581%20L56.247%2C57.581%20C56.994%2C57.581%2057.603%2C56.973%2057.603%2C56.226%20L57.603%2C31.200%20ZM42.207%2C57.228%20L48.907%2C54.616%20L42.102%2C37.192%20L35.403%2C39.805%20L42.207%2C57.228%20Z%22%2F%3E%3C%2Fsvg%3E");
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain; }
      @media screen and (min-width: 768px), print {
        .accordion__toggle p::before {
          width: 0.3rem;
          height: 0.3rem;
          top: 50%;
          transform: translateY(-50%);
          left: 0.15rem; } }
      @media screen and (max-width: 767px) {
        .accordion__toggle p::before {
          width: 0.225rem;
          height: 0.225rem;
          top: 0;
          left: 0.075rem; } }
  .accordion__toggle span {
    display: inline-block;
    background-color: #2d287f;
    border-radius: 50%;
    position: relative; }
    @media screen and (min-width: 768px), print {
      .accordion__toggle span {
        width: 0.4rem;
        height: 0.4rem;
        right: 0;
        bottom: 0; } }
    @media screen and (max-width: 767px) {
      .accordion__toggle span {
        width: 0.3rem;
        height: 0.3rem;
        bottom: 0;
        right: 0;
        margin-left: 0.05rem; } }
    .accordion__toggle span::before, .accordion__toggle span::after {
      content: "";
      position: absolute;
      background-color: #fff;
      height: 1px;
      top: 50%;
      transform: translateY(-50%); }
      @media screen and (min-width: 768px), print {
        .accordion__toggle span::before, .accordion__toggle span::after {
          width: 0.2rem;
          left: 0.1rem; } }
      @media screen and (max-width: 767px) {
        .accordion__toggle span::before, .accordion__toggle span::after {
          width: 0.15rem;
          left: 0.075rem; } }
    .accordion__toggle span::after {
      transition: transform 0.3s; }
    .accordion.-folding .accordion__toggle span:after {
      transform: translateY(-50%) rotate(-90deg); }

.accordion__contents {
  opacity: 1;
  transition: opacity .3s;
  transition-delay: .1s; }
  @media screen and (min-width: 768px), print {
    .accordion__contents {
      padding: 0.25rem 0.55rem; } }
  @media screen and (max-width: 767px) {
    .accordion__contents {
      padding: 0 0.15rem 0.15rem; } }
  .-folding .accordion__contents {
    opacity: 0;
    transition-delay: 0s; }

.accordion__labelList {
  display: flex; }

@media screen and (min-width: 768px), print {
  .accordion__labelItem:not(:first-child) {
    margin-left: 0.4rem; } }

@media screen and (max-width: 767px) {
  .accordion__labelItem:not(:first-child) {
    margin-left: 0.3rem; } }

.accordion__labelItem a {
  display: block;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .accordion__labelItem a {
      padding-left: 0.17rem; } }
  @media screen and (max-width: 767px) {
    .accordion__labelItem a {
      font-size: 0.12rem;
      padding-left: 0.13rem; } }
  .accordion__labelItem a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border-top: 0.055rem solid transparent;
    border-bottom: 0.055rem solid transparent;
    border-left: 0.07rem solid #2d287f; }
  @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .accordion__labelItem a:hover {
      color: #635db6 !important; } }
.accordion__unit {
  background-color: #f2f3f6; }
  @media screen and (min-width: 768px), print {
    .accordion__unit {
      margin-top: 0.3rem;
      padding: 0.4rem 0.5rem; } }
  @media screen and (max-width: 767px) {
    .accordion__unit {
      margin-top: 0.15rem;
      padding: 0.2rem 0.25rem; } }
.accordion__unitHeading {
  line-height: 1;
  font-weight: 700;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .accordion__unitHeading {
      font-size: 0.2rem;
      padding-left: 0.25rem; } }
  @media screen and (max-width: 767px) {
    .accordion__unitHeading {
      padding-left: 0.15rem; } }
  .accordion__unitHeading::before {
    content: "";
    position: absolute;
    background-color: #2d287f;
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
    @media screen and (min-width: 768px), print {
      .accordion__unitHeading::before {
        width: 0.15rem;
        height: 0.15rem; } }
    @media screen and (max-width: 767px) {
      .accordion__unitHeading::before {
        width: 0.1rem;
        height: 0.1rem; } }
.accordion__unitList {
  margin-top: 0.1rem; }

.accordion__unitItem {
  border-bottom: 1px solid #dcdcdc; }
  .accordion__unitItem > a {
    text-decoration: none;
    line-height: 1;
    display: block; }
    @media screen and (min-width: 768px), print {
      .accordion__unitItem > a {
        padding: 0.19rem 0.25rem; } }
    @media screen and (max-width: 767px) {
      .accordion__unitItem > a {
        padding: 0.1rem 0.15rem; } }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .accordion__unitItem > a {
        transition-duration: 0.25s; }
        .accordion__unitItem > a:hover {
          opacity: .7; } }
    .accordion__unitItem > a > span {
      line-height: 1;
      display: inline-block;
      position: relative; }
      @media screen and (max-width: 767px) {
        .accordion__unitItem > a > span {
          font-size: 0.12rem; } }
      .accordion__unitItem > a > span::after {
        content: "";
        position: absolute;
        background: url(img/icon_pdf.png) no-repeat center center/contain;
        bottom: 0.01rem; }
        @media screen and (min-width: 768px), print {
          .accordion__unitItem > a > span::after {
            width: 0.12rem;
            height: 0.15rem;
            right: -0.22rem; } }
        @media screen and (max-width: 767px) {
          .accordion__unitItem > a > span::after {
            width: 0.09rem;
            height: 0.1125rem;
            right: -0.14rem; } }
.breadcrumbList {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  line-height: 1.2; }

@media screen and (min-width: 768px), print {
  .breadcrumbList__item {
    font-size: 0.12rem; } }

@media screen and (max-width: 767px) {
  .breadcrumbList__item {
    font-size: 0.1rem; } }

.breadcrumbList__item a {
  color: #2d287f;
  position: relative;
  text-decoration: none; }
  .breadcrumbList__item a::after {
    content: '';
    display: block;
    width: 0.035rem;
    height: 0.07rem;
    position: absolute;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2230%22%20viewBox%3D%220%200%2015%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%23000%22%20d%3D%22M2909.7%2C946.012l-13.12%2C13.675a1.007%2C1.007%2C0%2C0%2C1-1.46%2C0c-0.4-.421.15-1.1%2C0.55-1.52L2908.3%2C945l-12.63-13.171c-0.4-.415-0.95-1.1-0.55-1.517a1%2C1%2C0%2C0%2C1%2C1.46%2C0l13.12%2C13.676A2.105%2C2.105%2C0%2C0%2C1%2C2909.7%2C946.012Z%22%20transform%3D%22translate(-2895%20-930)%22%2F%3E%0A%3C%2Fsvg%3E");
    background-size: 100% auto; }
    @media screen and (min-width: 768px), print {
      .breadcrumbList__item a::after {
        top: 0.03rem;
        right: -0.16rem; } }
    @media screen and (max-width: 767px) {
      .breadcrumbList__item a::after {
        top: 0.02rem;
        right: -0.12rem; } }
@media screen and (min-width: 768px), print {
  .breadcrumbList__item:not(:last-child) {
    margin-right: 0.3rem; } }

@media screen and (max-width: 767px) {
  .breadcrumbList__item:not(:last-child) {
    margin-right: 0.18rem; } }

/* button
============================================================= */
/* btn */
.button {
  background-color: #fff;
  border: 1px solid #d4d4d4;
  color: #2d287f;
  display: inline-block; }
  @media screen and (min-width: 768px), print {
    .button {
      padding: 0.21rem 0.3rem; } }
  @media screen and (max-width: 767px) {
    .button {
      padding: 0.16rem 0.2rem; } }
  @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .button {
      transition-duration: 0.25s; }
      .button:hover {
        background-color: #c7caed;
        color: #000; } }
  @media screen and (min-width: 768px), print {
    .button.-middle {
      min-width: 4rem; } }
  @media screen and (max-width: 767px) {
    .button.-sp100 {
      display: block;
      width: 100%; } }
.buttonMore {
  display: block;
  text-decoration: none;
  background-color: #2d287f;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .buttonMore {
      width: 5rem;
      padding: 0.3rem 0.25rem;
      font-size: 0.2rem; } }
  @media screen and (max-width: 767px) {
    .buttonMore {
      width: 100%;
      padding: 0.25rem 0.15rem; } }
  @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .buttonMore {
      transition-duration: 0.25s; }
      .buttonMore:hover {
        background-color: #c7caed;
        color: #000; } }
.buttonMore__wrap {
  display: flex;
  justify-content: center; }
  @media screen and (min-width: 768px), print {
    .buttonMore__wrap + * {
      margin-top: 1.04rem; } }
  @media screen and (max-width: 767px) {
    .buttonMore__wrap + * {
      margin-top: 0.5rem; } }
.buttonContact {
  background-color: #ffc71c;
  border-radius: 0.06rem;
  margin-right: auto;
  margin-left: auto; }
  @media screen and (min-width: 768px), print {
    .buttonContact {
      width: 4rem; } }
  @media screen and (max-width: 767px) {
    .buttonContact {
      width: 100%; } }
  @media screen and (max-width: 767px) {
    .parts .buttonContact {
      margin-top: 0.5rem; } }
  .buttonContact > a {
    text-decoration: none;
    color: #2d287f;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
    @media screen and (min-width: 768px), print {
      .buttonContact > a {
        padding: 0.2rem; } }
    @media screen and (max-width: 767px) {
      .buttonContact > a {
        padding: 0.16rem 0.2rem; } }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .buttonContact > a {
        transition-duration: 0.25s; }
        .buttonContact > a:hover {
          background-color: #c7caed;
          border-radius: 0.06rem; } }
  .buttonContact .buttonContact__title {
    font-weight: 700;
    display: flex;
    align-items: center; }
    @media screen and (min-width: 768px), print {
      .buttonContact .buttonContact__title {
        font-size: 0.2rem; } }
    @media screen and (max-width: 767px) {
      .buttonContact .buttonContact__title {
        font-size: 0.16rem; } }
    .buttonContact .buttonContact__title::before {
      content: "";
      display: block;
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22140%22%20height%3D%22100%22%20viewBox%3D%220%200%20140%20100%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M287.273%2C395H172.733a12.63%2C12.63%2C0%2C0%2C1-12.727-12.5v-75A12.632%2C12.632%2C0%2C0%2C1%2C172.733%2C295h114.54A12.632%2C12.632%2C0%2C0%2C1%2C300%2C307.5v75A12.63%2C12.63%2C0%2C0%2C1%2C287.273%2C395Zm-114.54-93.744a6.31%2C6.31%2C0%2C0%2C0-6.363%2C6.248v75a6.313%2C6.313%2C0%2C0%2C0%2C6.363%2C6.251h114.54a6.313%2C6.313%2C0%2C0%2C0%2C6.364-6.251v-75a6.31%2C6.31%2C0%2C0%2C0-6.364-6.248H172.733ZM230%2C348.116a24.491%2C24.491%2C0%2C0%2C1-14.772-4.924L163.405%2C304.04a3.094%2C3.094%2C0%2C0%2C1-.584-4.384%2C3.23%2C3.23%2C0%2C0%2C1%2C4.462-.572l51.827%2C39.151a18.143%2C18.143%2C0%2C0%2C0%2C21.787%2C0l51.826-39.151a3.219%2C3.219%2C0%2C0%2C1%2C4.462.572%2C3.094%2C3.094%2C0%2C0%2C1-.584%2C4.384l-51.827%2C39.152A24.486%2C24.486%2C0%2C0%2C1%2C230%2C348.116Z%22%20transform%3D%22translate(-160%20-295)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center center;
      width: 0.25rem;
      height: 0.18rem;
      margin-right: 0.1rem; }
  .buttonContact .buttonContact__lead {
    line-height: 1.57;
    font-size: 0.14rem; }

/* contents
============================================================= */
@media screen and (min-width: 768px), print {
  .contents {
    margin-left: auto;
    margin-right: auto;
    max-width: 13.66rem;
    padding-left: 0.33rem;
    padding-right: 0.33rem; } }

@media screen and (max-width: 767px) {
  .contents {
    padding: 0 0.15rem; } }

/* event
============================================================= */
.event {
  background-color: #f7f7f7;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .event {
      padding: 0.68rem 0 0.7rem; }
      .event::before {
        background-color: #f7f7f7;
        content: '';
        width: 100vw;
        height: 100%;
        position: absolute;
        left: calc((-100vw + 13rem) / 2);
        top: 0; } }
  @media screen and (max-width: 767px) {
    .event {
      padding: 0.38rem 0.15rem 0.5rem;
      margin-left: -0.15rem;
      margin-right: -0.15rem; } }
@media screen and (min-width: 768px), print {
  .event__inner {
    position: relative;
    z-index: 1; } }

.event__more {
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .event__more {
      margin-top: 0.4rem; } }
  @media screen and (max-width: 767px) {
    .event__more {
      margin-top: 0.28rem; } }
  @media screen and (min-width: 768px), print {
    .event__more .button {
      width: 4rem; } }
  @media screen and (max-width: 767px) {
    .event__more .button {
      width: 3rem; } }
/* eventList
============================================================= */
@media screen and (min-width: 768px), print {
  .eventList {
    display: flex;
    flex-wrap: wrap; }
    .eventList.-center {
      justify-content: center; } }

@media screen and (max-width: 767px) {
  .eventList {
    border-top: 1px solid #e1e1e1;
    border-left: 1px solid #e1e1e1;
    border-right: 1px solid #e1e1e1; } }

.eventList__head {
  position: relative; }

@media screen and (min-width: 768px), print {
  .eventList__item {
    border-bottom: 1px solid #e1e1e1;
    width: 33.333%; }
    .eventList__item:not(:nth-child(3n)) {
      border-right: 1px solid #e1e1e1; } }

@media screen and (max-width: 767px) {
  .eventList__item {
    border-bottom: 1px solid #e1e1e1; } }

@media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .eventList__item {
    transition-duration: 0.25s; }
    .eventList__item .eventList__link {
      transition-duration: 0.25s; }
    .eventList__item:hover {
      box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.2); }
      .eventList__item:hover .eventList__link {
        background-color: #c7caed; } }

@media screen and (min-width: 768px), print {
  .-col2 .eventList__item {
    width: 50%;
    border-right: 1px solid #e1e1e1; }
    .-col2 .eventList__item:nth-child(3n) {
      border-right: 1px solid #e1e1e1; }
    .-col2 .eventList__item:nth-child(even) {
      border-right: none !important; } }

.eventList__link {
  background-color: #fff;
  display: block;
  text-decoration: none;
  height: 100%; }

.eventList__image {
  display: block; }
  @media screen and (min-width: 768px), print {
    .eventList__image {
      height: 2rem; } }
  @media screen and (max-width: 767px) {
    .eventList__image {
      height: 1.5rem; } }
  .eventList__image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }

.eventList__date {
  background-color: #2d287f;
  color: #fff;
  font-weight: 700;
  position: absolute;
  left: 0;
  bottom: 0;
  line-height: 1; }
  @media screen and (min-width: 768px), print {
    .eventList__date {
      font-size: 0.2rem;
      padding: 0.13rem 0.16rem; } }
  @media screen and (max-width: 767px) {
    .eventList__date {
      font-size: 0.14rem;
      padding: 0.06rem 0.12rem; } }
.eventList__contents {
  font-weight: 700; }
  @media screen and (min-width: 768px), print {
    .eventList__contents {
      font-size: 0.18rem;
      line-height: 1.6666666667;
      padding: 0.32rem 0.4rem 0.6rem; } }
  @media screen and (max-width: 767px) {
    .eventList__contents {
      font-size: 0.16rem;
      line-height: 1.5;
      padding: 0.18rem 0.19rem 0.37rem; } }
/* globalNavi
============================================================= */
@media screen and (min-width: 768px), print {
  .globalNavi {
    margin-top: 0.16rem; } }

@media screen and (min-width: 768px), print {
  .globalNavi__list {
    display: flex;
    justify-content: flex-end; } }

@media screen and (max-width: 767px) {
  .globalNavi__list {
    border-top: 1px solid #8785b0; } }

.globalNavi__listItem {
  font-weight: 700;
  line-height: 1.2; }
  @media screen and (min-width: 768px), print {
    .globalNavi__listItem:not(:last-child) {
      margin-right: 0.34rem; } }
  @media screen and (max-width: 767px) {
    .globalNavi__listItem {
      border-bottom: 1px solid #8785b0; } }
  .globalNavi__listItem > a {
    text-decoration: none !important; }
    @media screen and (max-width: 767px) {
      .globalNavi__listItem > a {
        color: #fff;
        display: block;
        font-size: 0.16rem;
        padding: 0.17rem 0.55rem 0.17rem 0.15rem;
        position: relative; }
        .globalNavi__listItem > a::after {
          background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%3E%0A%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M1381.1%2C7312.55a1.6%2C1.6%2C0%2C0%2C1-1.11.46%2C1.583%2C1.583%2C0%2C0%2C1-1.58-1.58l0.02-76.85a1.575%2C1.575%2C0%2C1%2C1%2C3.15%2C0l-0.02%2C76.85A1.605%2C1.605%2C0%2C0%2C1%2C1381.1%2C7312.55Zm38.44-38.44a1.605%2C1.605%2C0%2C0%2C1-1.12.46l-76.85.02a1.575%2C1.575%2C0%2C1%2C1%2C0-3.15l76.85-.02A1.583%2C1.583%2C0%2C0%2C1%2C1420%2C7273%2C1.6%2C1.6%2C0%2C0%2C1%2C1419.54%2C7274.11Z%22%20transform%3D%22translate(-1340%20-7233)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
          background-size: 100% auto;
          content: '';
          display: block;
          position: absolute;
          width: 0.2rem;
          height: 0.2rem;
          right: 0.2rem;
          top: 0.16rem; } }
  @media screen and (min-width: 768px), print {
    .globalNavi__listItem.-childOpen > a {
      color: #fff;
      position: relative; }
      .globalNavi__listItem.-childOpen > a span {
        position: relative;
        z-index: 1; }
      .globalNavi__listItem.-childOpen > a::before {
        background-color: #2d287f;
        content: '';
        display: block;
        position: absolute;
        left: -0.2rem;
        bottom: -0.23rem;
        width: calc(100% + 0.4rem);
        height: 0.55rem; }
      .globalNavi__listItem.-childOpen > a::after {
        background-color: transparent;
        content: '';
        display: block;
        position: absolute;
        left: -1rem;
        bottom: -0.23rem;
        right: 0;
        z-index: 0;
        width: calc(100% + 2rem);
        height: 0.23rem; } }
  @media screen and (max-width: 767px) {
    .globalNavi__listItem.-childOpen > a::after {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2280%22%20height%3D%223.156%22%20viewBox%3D%220%200%2080%203.156%22%3E%0A%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M1419.54%2C656.11a1.589%2C1.589%2C0%2C0%2C1-1.12.461l-76.85.016a1.574%2C1.574%2C0%2C1%2C1%2C0-3.148l76.85-.016A1.575%2C1.575%2C0%2C0%2C1%2C1419.54%2C656.11Z%22%20transform%3D%22translate(-1340%20-653.438)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
      background-size: 100% auto;
      height: 1px;
      top: 0.26rem; } }
  @media screen and (max-width: 767px) {
    .globalNavi__listItem.-noChild > a::after {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2230%22%20viewBox%3D%220%200%2015%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M2909.7%2C946.012l-13.12%2C13.675a1.007%2C1.007%2C0%2C0%2C1-1.46%2C0c-0.4-.421.15-1.1%2C0.55-1.52L2908.3%2C945l-12.63-13.171c-0.4-.415-0.95-1.1-0.55-1.517a1%2C1%2C0%2C0%2C1%2C1.46%2C0l13.12%2C13.676A2.105%2C2.105%2C0%2C0%2C1%2C2909.7%2C946.012Z%22%20transform%3D%22translate(-2895%20-930)%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100% auto;
      right: 0.25rem;
      top: 0.19rem;
      width: 0.075rem;
      height: 0.15rem; } }
.globalNav__child {
  display: none; }
  @media screen and (min-width: 768px), print {
    .globalNav__child {
      background-color: rgba(45, 40, 127, 0.9);
      position: absolute;
      left: 0;
      top: 100%;
      width: 100%;
      min-height: 4.95rem;
      z-index: 5;
      padding: 0.4rem 0 1rem; } }
  @media screen and (max-width: 767px) {
    .globalNav__child {
      margin-bottom: 0.15rem;
      width: 100%; } }
  .-childOpen .globalNav__child {
    display: block; }

@media screen and (min-width: 768px), print {
  .globalNav__childInner {
    margin-left: auto;
    margin-right: auto;
    max-width: 13.66rem;
    padding-left: 0.33rem;
    padding-right: 0.33rem; } }

@media screen and (max-width: 767px) {
  .globalNav__childInner {
    padding: 0 0.15rem; } }

@media screen and (min-width: 768px), print {
  .globalNav__childPcTitle {
    color: #fff;
    font-size: 0.24rem;
    display: flex;
    font-weight: 700;
    align-items: flex-end;
    line-height: 1; }
    .globalNav__childPcTitle::after {
      background-color: #595aa1;
      content: '';
      display: block;
      flex: 1;
      height: 0.05rem;
      margin-left: 0.42rem;
      margin-bottom: 0.02rem; }
    .globalNav__childPcTitle + * {
      margin-top: 0.25rem; } }

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

.globalNav__childList {
  font-weight: 400;
  letter-spacing: .05em; }
  @media screen and (min-width: 768px), print {
    .globalNav__childList {
      display: flex;
      flex-wrap: wrap;
      padding-left: 0.1rem; }
      .globalNav__childList > * {
        width: 25%; }
      .globalNav__childList li.long_menu {
        display: block;
        width: 100% !important; } }
  @media screen and (min-width: 768px), print {
    .globalNav__childList > li:not(:last-child) {
      margin-bottom: 0.14rem; } }
  @media screen and (max-width: 767px) {
    .globalNav__childList > li:not(:last-child) {
      margin-bottom: 1px; } }
  @media screen and (min-width: 768px), print {
    .globalNav__childList > li > ul {
      font-size: 0.14rem; } }
  @media screen and (min-width: 768px), print {
    .globalNav__childList > li > ul li:not(:last-child) {
      margin-bottom: 0.08rem; } }
  @media screen and (max-width: 767px) {
    .globalNav__childList > li > ul li:not(:last-child) {
      margin-bottom: 1px; } }
  @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .globalNav__childList > li > ul a {
      transition-duration: 0.25s; }
      .globalNav__childList > li > ul a:hover {
        background: linear-gradient(to right, #6f70ad, transparent); } }
  .globalNav__childList a {
    text-decoration: none; }
    @media screen and (min-width: 768px), print {
      .globalNav__childList a {
        color: #fff;
        display: block;
        padding: 0.02rem 0.1rem 0.02rem; } }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .globalNav__childList a {
        transition-duration: 0.25s; }
        .globalNav__childList a:hover {
          background: linear-gradient(to right, #6f70ad, transparent); } }
    @media screen and (max-width: 767px) {
      .globalNav__childList a {
        background-color: #c7caed;
        color: #2d287f;
        display: block;
        padding: 0.18rem 0.4rem 0.18rem 0.13rem;
        position: relative; }
        .globalNav__childList a::before {
          content: '';
          display: block;
          position: absolute;
          right: 0.14rem;
          top: 0.19rem;
          width: 0.075rem;
          height: 0.15rem;
          background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2230%22%20viewBox%3D%220%200%2015%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M2909.7%2C946.012l-13.12%2C13.675a1.007%2C1.007%2C0%2C0%2C1-1.46%2C0c-0.4-.421.15-1.1%2C0.55-1.52L2908.3%2C945l-12.63-13.171c-0.4-.415-0.95-1.1-0.55-1.517a1%2C1%2C0%2C0%2C1%2C1.46%2C0l13.12%2C13.676A2.105%2C2.105%2C0%2C0%2C1%2C2909.7%2C946.012Z%22%20transform%3D%22translate(-2895%20-930)%22%2F%3E%0A%3C%2Fsvg%3E");
          background-size: 100% auto; }
        .globalNav__childList a.key::after {
          background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2226%22%20viewBox%3D%220%200%2020%2026%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M493%2C7461H481a4%2C4%2C0%2C0%2C1-4-4v-9a4%2C4%2C0%2C0%2C1%2C4-4h12a4%2C4%2C0%2C0%2C1%2C4%2C4v9A4%2C4%2C0%2C0%2C1%2C493%2C7461Zm-12-15a2%2C2%2C0%2C0%2C0-2%2C2v9a2%2C2%2C0%2C0%2C0%2C2%2C2h12a2%2C2%2C0%2C0%2C0%2C2-2v-9a2%2C2%2C0%2C0%2C0-2-2H481Zm12%2C0a1%2C1%2C0%2C0%2C1-1-1v-3a5%2C5%2C0%2C0%2C0-10%2C0v3a1%2C1%2C0%2C0%2C1-2%2C0v-3a7%2C7%2C0%2C0%2C1%2C14%2C0v3A1%2C1%2C0%2C0%2C1%2C493%2C7446Zm-6%2C8.25a1.75%2C1.75%2C0%2C1%2C1%2C1.75-1.75A1.749%2C1.749%2C0%2C0%2C1%2C487%2C7454.25Zm0-2a0.248%2C0.248%2C0%2C0%2C0-.25.25%2C0.254%2C0.254%2C0%2C0%2C0%2C.5%2C0A0.248%2C0.248%2C0%2C0%2C0%2C487%2C7452.25Z%22%20transform%3D%22translate(-477%20-7435)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
          background-size: 100% auto; } }
  @media screen and (min-width: 768px), print {
    .globalNav__childList + .globalNav__childList {
      margin-top: 0.25rem;
      padding-left: 0; } }
  @media screen and (min-width: 768px) and (min-width: 768px), print {
    .globalNav__childList + .globalNav__childList > li:nth-child(n + 5) {
      margin-top: -1.1rem; } }
.globalNav__childSubTitle {
  color: #fff;
  font-weight: 700;
  letter-spacing: .05em;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .globalNav__childSubTitle {
      font-size: 0.12rem;
      padding-left: 0.25rem; }
      .globalNav__childSubTitle::before {
        background-color: #fff;
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 0.2rem;
        height: 1px; }
      ul + .globalNav__childSubTitle {
        display: block;
        margin-top: 0.32rem; } }
  @media screen and (max-width: 767px) {
    .globalNav__childSubTitle {
      display: block;
      margin-top: 0.25rem; } }
  @media screen and (min-width: 768px), print {
    .globalNav__childSubTitle + * {
      margin-top: 0.1rem; } }
  @media screen and (max-width: 767px) {
    .globalNav__childSubTitle + * {
      margin-top: 0.13rem; } }
/* googleMap
============================================================= */
.googleMap {
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
  position: relative; }
  .googleMap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%; }

/* imageLinkList
============================================================= */
@media screen and (min-width: 768px), print {
  .imageLinkList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: -0.15rem; }
    .imageLinkList::after {
      content: '';
      display: block;
      width: 4.2rem;
      height: 1px; } }

@media screen and (min-width: 768px), print {
  .imageLinkList + * {
    margin-top: 1.25rem; } }

@media screen and (max-width: 767px) {
  .imageLinkList + * {
    margin-top: 0.5rem; } }

@media screen and (min-width: 768px), print {
  .imageLinkList + .buttonMore__wrap {
    margin-top: 0.38rem; } }

@media screen and (max-width: 767px) {
  .imageLinkList + .buttonMore__wrap {
    margin-top: 0.25rem; } }

@media screen and (min-width: 768px), print {
  .imageLinkList__item {
    width: 4.2rem;
    min-width: 4.2rem;
    max-width: 4.2rem;
    height: 1.75rem;
    margin-bottom: 0.15rem; } }

@media screen and (max-width: 767px) {
  .imageLinkList__item {
    height: 1rem; }
    .imageLinkList__item:not(:last-child) {
      margin-bottom: 0.025rem; } }

.imageLinkList__link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  text-decoration: none;
  width: 100%;
  height: 100%; }
  .imageLinkList__link::before {
    background-color: rgba(0, 0, 0, 0.3);
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1; }
  @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .imageLinkList__link::before {
      transition-duration: 0.25s; }
    .imageLinkList__link:hover::before {
      opacity: 0; } }
  @media screen and (min-width: 768px), print {
    .-longText .imageLinkList__link {
      align-items: flex-start;
      padding-top: 0.4rem; } }
.imageLinkList__textWrap {
  position: relative;
  z-index: 2; }
  @media screen and (min-width: 768px), print {
    .imageLinkList__textWrap {
      padding-left: 0.3rem; } }
  @media screen and (max-width: 767px) {
    .imageLinkList__textWrap {
      padding-left: 0.22rem; } }
.imageLinkList__title,
.imageLinkList__text {
  color: #fff;
  letter-spacing: .05em;
  line-height: 1.3;
  width: 100%; }

.imageLinkList__title {
  font-weight: 700; }
  @media screen and (min-width: 768px), print {
    .imageLinkList__title {
      font-size: 0.24rem; } }
  @media screen and (max-width: 767px) {
    .imageLinkList__title {
      font-size: 0.18rem; } }
  @media screen and (min-width: 768px), print {
    .imageLinkList__title + * {
      margin-top: 0.16rem; } }
  @media screen and (max-width: 767px) {
    .imageLinkList__title + * {
      margin-top: 0.1rem; } }
@media screen and (max-width: 767px) {
  .imageLinkList__text {
    font-size: 0.12rem; } }

.imageLinkList__image img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0; }

.importantConfirm {
  background-color: #fff8c6; }
  @media screen and (min-width: 768px), print {
    .importantConfirm {
      display: flex;
      align-items: center;
      margin-top: 0.3rem;
      padding: 0.3rem; } }
  @media screen and (max-width: 767px) {
    .importantConfirm {
      margin-top: 0.3rem;
      padding: 0.15rem; } }
  @media screen and (min-width: 768px), print {
    .importantConfirm + * {
      margin-top: 1.25rem; } }
  @media screen and (max-width: 767px) {
    .importantConfirm + * {
      margin-top: 0.5rem; } }
  @media screen and (min-width: 768px), print {
    .importantConfirm + .buttonMore__wrap {
      margin-top: 0.38rem; } }
  @media screen and (max-width: 767px) {
    .importantConfirm + .buttonMore__wrap {
      margin-top: 0.25rem; } }
.importantConfirm__title {
  display: flex;
  align-items: center;
  color: #e41500;
  font-weight: bold; }
  @media screen and (min-width: 768px), print {
    .importantConfirm__title {
      margin-right: 0.45rem; } }
  @media screen and (max-width: 767px) {
    .importantConfirm__title + * {
      margin-top: 0.1rem; } }
.importantConfirm__titleLabel {
  background-color: #e41500;
  color: #fff;
  display: block;
  line-height: 1; }
  @media screen and (min-width: 768px), print {
    .importantConfirm__titleLabel {
      font-size: 0.14rem;
      letter-spacing: .05em;
      margin-right: 0.1rem;
      padding: 0.06rem 0.08rem; } }
  @media screen and (max-width: 767px) {
    .importantConfirm__titleLabel {
      font-size: 0.13rem;
      margin-right: 0.08rem;
      padding: 0.04rem 0.05rem; } }
@media screen and (min-width: 768px), print {
  .importantConfirm__list {
    flex: 1; } }

.importantConfirm__list li {
  line-height: 1.5;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .importantConfirm__list li {
      padding-left: 1.15em; } }
  @media screen and (max-width: 767px) {
    .importantConfirm__list li {
      padding-left: 1em; } }
  .importantConfirm__list li:not(:last-child) {
    margin-bottom: 0.05rem; }
  .importantConfirm__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0; }
    @media screen and (min-width: 768px), print {
      .importantConfirm__list li::before {
        border-top: 0.055rem solid transparent;
        border-bottom: 0.055rem solid transparent;
        border-left: 0.07rem solid #2d287f;
        top: 0.07rem; } }
    @media screen and (max-width: 767px) {
      .importantConfirm__list li::before {
        border-top: 0.04rem solid transparent;
        border-bottom: 0.04rem solid transparent;
        border-left: 0.055rem solid #2d287f;
        top: 0.06rem; } }
  .importantConfirm__list li a {
    text-decoration: none; }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .importantConfirm__list li a:hover {
        color: #635db6 !important; } }
    .importantConfirm__list li a[target="_blank"] {
      position: relative; }
      .importantConfirm__list li a[target="_blank"]::after {
        content: '';
        display: inline-block;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M2909.36%2C499.892a0.635%2C0.635%2C0%2C0%2C1-.64-0.638v-7.98h-7.98a0.638%2C0.638%2C0%2C1%2C1%2C0-1.276h8.62a0.632%2C0.632%2C0%2C0%2C1%2C.63.638v8.618A0.633%2C0.633%2C0%2C0%2C1%2C2909.36%2C499.892Zm-19.15%2C10.531a0.616%2C0.616%2C0%2C0%2C1-.45-0.186%2C0.637%2C0.637%2C0%2C0%2C1%2C0-.9l19.15-19.149a0.637%2C0.637%2C0%2C0%2C1%2C.9.9l-19.15%2C19.149A0.65%2C0.65%2C0%2C0%2C1%2C2890.21%2C510.423ZM2901.7%2C520h-19.15a2.561%2C2.561%2C0%2C0%2C1-2.56-2.554V498.3a2.561%2C2.561%2C0%2C0%2C1%2C2.56-2.553h11.49a0.639%2C0.639%2C0%2C1%2C1%2C0%2C1.277h-11.49a1.276%2C1.276%2C0%2C0%2C0-1.28%2C1.276v19.149a1.277%2C1.277%2C0%2C0%2C0%2C1.28%2C1.277h19.15a1.275%2C1.275%2C0%2C0%2C0%2C1.27-1.277V505.956a0.64%2C0.64%2C0%2C0%2C1%2C1.28%2C0v11.489A2.559%2C2.559%2C0%2C0%2C1%2C2901.7%2C520Z%22%20transform%3D%22translate(-2880%20-490)%22%2F%3E%0A%3C%2Fsvg%3E");
        background-size: 100% auto;
        width: 0.12rem;
        height: 0.12rem;
        margin-left: 0.08rem;
        margin-bottom: 0.01rem; }

@media screen and (min-width: 768px), print {
  .movie {
    margin-bottom: 0.6rem; } }

@media screen and (max-width: 767px) {
  .movie {
    margin-bottom: 0.3rem; } }

@media screen and (min-width: 768px), print {
  .movie + .news {
    margin-top: 1.25rem; } }

@media screen and (max-width: 767px) {
  .movie + .news {
    margin-top: 0.6rem; } }

.movie__inner {
  background-color: #f7f7f7; }
  @media screen and (min-width: 768px), print {
    .movie__inner {
      display: flex;
      align-items: center;
      margin-top: 0.7rem;
      padding: 0.15rem 0.15rem; } }
  @media screen and (max-width: 767px) {
    .movie__inner {
      margin-top: 0.3rem;
      padding: 0.225rem 0.15rem 0.25rem; } }
.movie__item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0 !important; }

.movie__wrap {
  height: 0;
  overflow: hidden;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .movie__wrap {
      width: 5.6rem;
      padding-top: 3.15rem; } }
  @media screen and (max-width: 767px) {
    .movie__wrap {
      width: 100%;
      padding-top: 1.77rem; } }
  .movie__wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important; }
  @media screen and (max-width: 767px) {
    .movie__wrap + * {
      margin-top: 0.2rem; } }
@media screen and (min-width: 768px), print {
  .text__wrap {
    margin-left: 0.5rem; } }

@media screen and (min-width: 768px), print {
  .movie__title {
    font-size: 0.2rem; } }

@media screen and (max-width: 767px) {
  .movie__title {
    font-size: 0.16rem; } }

@media screen and (min-width: 768px), print {
  .movie__title + * {
    margin-top: 0.2rem; } }

@media screen and (max-width: 767px) {
  .movie__title + * {
    margin-top: 0.15rem; } }

@media screen and (min-width: 768px), print {
  .movie__text {
    font-size: 0.16rem; } }

@media screen and (max-width: 767px) {
  .movie__text {
    font-size: 0.12rem; } }

.importantConfirm__title {
  display: flex;
  align-items: center;
  color: #e41500;
  font-weight: bold; }
  @media screen and (min-width: 768px), print {
    .importantConfirm__title {
      margin-right: 0.45rem; } }
  @media screen and (max-width: 767px) {
    .importantConfirm__title + * {
      margin-top: 0.1rem; } }
.importantConfirm__titleLabel {
  background-color: #e41500;
  color: #fff;
  display: block;
  line-height: 1; }
  @media screen and (min-width: 768px), print {
    .importantConfirm__titleLabel {
      font-size: 0.14rem;
      letter-spacing: .05em;
      margin-right: 0.1rem;
      padding: 0.06rem 0.08rem; } }
  @media screen and (max-width: 767px) {
    .importantConfirm__titleLabel {
      font-size: 0.13rem;
      margin-right: 0.08rem;
      padding: 0.04rem 0.05rem; } }
@media screen and (min-width: 768px), print {
  .importantConfirm__list {
    flex: 1; } }

.importantConfirm__list li {
  line-height: 1.5;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .importantConfirm__list li {
      padding-left: 1.15em; } }
  @media screen and (max-width: 767px) {
    .importantConfirm__list li {
      padding-left: 1em; } }
  .importantConfirm__list li:not(:last-child) {
    margin-bottom: 0.05rem; }
  .importantConfirm__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0; }
    @media screen and (min-width: 768px), print {
      .importantConfirm__list li::before {
        border-top: 0.055rem solid transparent;
        border-bottom: 0.055rem solid transparent;
        border-left: 0.07rem solid #2d287f;
        top: 0.07rem; } }
    @media screen and (max-width: 767px) {
      .importantConfirm__list li::before {
        border-top: 0.04rem solid transparent;
        border-bottom: 0.04rem solid transparent;
        border-left: 0.055rem solid #2d287f;
        top: 0.06rem; } }
  .importantConfirm__list li a {
    text-decoration: none; }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .importantConfirm__list li a:hover {
        color: #635db6 !important; } }
    .importantConfirm__list li a[target="_blank"] {
      position: relative; }
      .importantConfirm__list li a[target="_blank"]::after {
        content: '';
        display: inline-block;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M2909.36%2C499.892a0.635%2C0.635%2C0%2C0%2C1-.64-0.638v-7.98h-7.98a0.638%2C0.638%2C0%2C1%2C1%2C0-1.276h8.62a0.632%2C0.632%2C0%2C0%2C1%2C.63.638v8.618A0.633%2C0.633%2C0%2C0%2C1%2C2909.36%2C499.892Zm-19.15%2C10.531a0.616%2C0.616%2C0%2C0%2C1-.45-0.186%2C0.637%2C0.637%2C0%2C0%2C1%2C0-.9l19.15-19.149a0.637%2C0.637%2C0%2C0%2C1%2C.9.9l-19.15%2C19.149A0.65%2C0.65%2C0%2C0%2C1%2C2890.21%2C510.423ZM2901.7%2C520h-19.15a2.561%2C2.561%2C0%2C0%2C1-2.56-2.554V498.3a2.561%2C2.561%2C0%2C0%2C1%2C2.56-2.553h11.49a0.639%2C0.639%2C0%2C1%2C1%2C0%2C1.277h-11.49a1.276%2C1.276%2C0%2C0%2C0-1.28%2C1.276v19.149a1.277%2C1.277%2C0%2C0%2C0%2C1.28%2C1.277h19.15a1.275%2C1.275%2C0%2C0%2C0%2C1.27-1.277V505.956a0.64%2C0.64%2C0%2C0%2C1%2C1.28%2C0v11.489A2.559%2C2.559%2C0%2C0%2C1%2C2901.7%2C520Z%22%20transform%3D%22translate(-2880%20-490)%22%2F%3E%0A%3C%2Fsvg%3E");
        background-size: 100% auto;
        width: 0.12rem;
        height: 0.12rem;
        margin-left: 0.08rem;
        margin-bottom: 0.01rem; }

.movieList {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -0.3rem; }
  @media screen and (min-width: 768px), print {
    .movieList {
      margin-top: 0.6rem !important; } }
  @media screen and (max-width: 767px) {
    .movieList {
      margin-top: 0.5rem !important; } }
.movieList__item {
  margin-bottom: 0.3rem; }
  @media screen and (min-width: 768px), print {
    .movieList__item {
      width: 30%; }
      .movieList__item:not(:nth-child(3n)) {
        margin-right: 5%; } }
  @media screen and (max-width: 767px) {
    .movieList__item {
      width: 48%; }
      .movieList__item:nth-child(odd) {
        margin-right: 4%; } }
.movieList__title {
  font-weight: 700;
  line-height: 1.3; }
  @media screen and (min-width: 768px), print {
    .movieList__title {
      font-size: 0.14rem;
      margin-bottom: 0.15rem; } }
  @media screen and (max-width: 767px) {
    .movieList__title {
      font-size: 0.13rem;
      margin-bottom: 0.1rem; } }
/* news
============================================================= */
@media screen and (min-width: 768px), print {
  .news {
    margin-bottom: 1rem; } }

@media screen and (max-width: 767px) {
  .news {
    margin-bottom: 0.475rem; } }

@media screen and (min-width: 768px), print {
  .news__category {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin-top: 0.2rem !important; } }

@media screen and (max-width: 767px) {
  .news__category {
    margin: 0 0.25rem; } }

@media screen and (min-width: 768px), print {
  .news__category + * {
    margin-top: 0.07rem; } }

@media screen and (max-width: 767px) {
  .news__category + * {
    margin-top: 0.18rem; } }

.news__categoryItem {
  line-height: 1.2; }
  @media screen and (min-width: 768px), print {
    .news__categoryItem {
      border-bottom: 0.03rem solid #eee;
      min-width: 1.03rem;
      margin-top: 0.2rem;
      font-size: 0.15rem; } }
  @media screen and (max-width: 767px) {
    .news__categoryItem {
      font-size: 0.12rem;
      padding: 0 0.05rem;
      text-align: center; } }
  .news__categoryItem.-active {
    pointer-events: none; }
    @media screen and (min-width: 768px), print {
      .news__categoryItem.-active {
        border-color: #2d287f; } }
    .news__categoryItem.-active a {
      color: #2d287f; }
      @media screen and (max-width: 767px) {
        .news__categoryItem.-active a {
          border-color: #2d287f; } }
  @media screen and (min-width: 768px), print {
    .news__categoryItem:not(:last-child) {
      margin-right: 0.15rem; } }
  .news__categoryItem a {
    display: block;
    text-decoration: none; }
    .news__categoryItem a:focus {
      outline: none; }
    @media screen and (min-width: 768px), print {
      .news__categoryItem a {
        padding: 0 0.2rem 0.13rem 0.05rem; } }
    @media screen and (max-width: 767px) {
      .news__categoryItem a {
        border-bottom: 0.02rem solid #eee;
        padding: 0 0.1rem 0.06rem; } }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .news__categoryItem a {
        transition-duration: 0.25s; }
        .news__categoryItem a:hover {
          color: #2d287f; } }
@media screen and (min-width: 768px), print {
  .news__moreSp {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .news__moreSp {
    font-size: 0.12rem;
    margin-top: 0.25rem;
    text-align: center; }
    .news__moreSp a {
      text-decoration: none; } }

@media screen and (min-width: 768px), print {
  .top_info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .top_info .news {
      font-size: 0.16rem;
      max-width: 600px; }
      .top_info .news:first-child {
        border-right: 1px dotted #2d287f;
        padding-right: 50px;
        max-width: 650px; } }

/* newsList
============================================================= */
.newsList {
  letter-spacing: 0; }

.newsList__item {
  border-bottom: 1px solid #eaeaea; }

.newsList__link {
  display: block;
  position: relative;
  text-decoration: none; }
  @media screen and (min-width: 768px), print {
    .newsList__link {
      padding: 0.1rem 0;
      max-width: 600px; } }
  @media screen and (max-width: 767px) {
    .newsList__link {
      padding: 0.12rem 0; } }
  @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .newsList__link .newsList__text {
      transition-duration: 0.25s; }
    .newsList__link:hover .newsList__text {
      color: #2d287f; } }
@media screen and (max-width: 767px) {
  .newsList__linkHead {
    display: flex;
    align-items: center; }
    .newsList__linkHead + * {
      margin-top: 0.08rem; } }

.newsList__date {
  font-weight: 700; }
  @media screen and (min-width: 768px), print {
    .newsList__date {
      position: absolute;
      left: 0;
      top: 0.1rem;
      font-size: 0.14rem; } }
  @media screen and (max-width: 767px) {
    .newsList__date {
      font-size: 0.12rem; } }
.newsList__category {
  border: 1px solid #2d287f;
  border-radius: 50px;
  color: #2d287f;
  font-weight: 700;
  overflow: hidden;
  display: block;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (min-width: 768px), print {
    .newsList__category {
      position: absolute;
      left: 1.3rem;
      top: 0.12rem;
      font-size: 0.12rem;
      padding: 0.04rem 0.12rem; } }
  @media screen and (max-width: 767px) {
    .newsList__category {
      font-size: 0.1rem;
      min-width: 0.75rem;
      padding: 0.03rem 0.1rem;
      margin-left: 0.1rem; } }
.newsList__text {
  display: block; }
  @media screen and (min-width: 768px), print {
    .newsList__text {
      padding-left: 1.3rem;
      padding-top: 0.25rem;
      line-height: 1.4; } }
  @media screen and (max-width: 767px) {
    .newsList__text {
      font-size: 0.12rem; } }
/* pager
============================================================= */
.m-paginationList01 {
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (min-width: 768px), print {
    .m-paginationList01 {
      margin-top: 0.8rem; } }
  @media screen and (max-width: 767px) {
    .m-paginationList01 {
      margin-top: 0.5rem; } }
.page-numbers {
  line-height: 1;
  text-decoration: none; }
  @media screen and (min-width: 768px), print {
    .page-numbers {
      font-size: 0.16rem; } }
  @media screen and (max-width: 767px) {
    .page-numbers {
      font-size: 0.14rem; } }
  @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .page-numbers {
      transition-duration: 0.25s; }
      .page-numbers:hover {
        border-color: #2d287f !important; } }
  .page-numbers:not(:last-child) {
    margin-right: 0.1rem; }
  .page-numbers:not(.dots):not(.next):not(.prev) {
    border: 1px solid #d3d3d3;
    border-radius: 3px;
    text-align: center; }
    @media screen and (min-width: 768px), print {
      .page-numbers:not(.dots):not(.next):not(.prev) {
        width: 0.5rem;
        height: 0.6rem;
        padding: 0.2rem 0; } }
    @media screen and (max-width: 767px) {
      .page-numbers:not(.dots):not(.next):not(.prev) {
        width: 0.4rem;
        height: 0.5rem;
        padding: 0.17rem 0; } }
  .page-numbers.current {
    background-color: #f4f4f4;
    border-color: #f4f4f4 !important; }
  .page-numbers.next, .page-numbers.prev {
    overflow: hidden;
    position: relative;
    width: 0.11rem;
    height: 0.22rem; }
    .page-numbers.next::before, .page-numbers.prev::before {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 0.11rem;
      height: 0.22rem; }
  @media screen and (min-width: 768px), print {
    .page-numbers.next {
      margin-left: 0.2rem; } }
  @media screen and (max-width: 767px) {
    .page-numbers.next {
      margin-left: 0.1rem; } }
  .page-numbers.next::before {
    background: url(img/arrow_next.png) no-repeat left 0;
    background-size: 100% auto; }
  @media screen and (min-width: 768px), print {
    .page-numbers.prev {
      margin-right: 0.3rem; } }
  @media screen and (max-width: 767px) {
    .page-numbers.prev {
      margin-right: 0.2rem; } }
  .page-numbers.prev::before {
    background: url(img/arrow_prev.png) no-repeat left 0;
    background-size: 100% auto; }

/* pageTop
============================================================= */
.pageTop {
  background-color: rgba(0, 0, 0, 0.8);
  cursor: pointer;
  width: 0.4rem;
  height: 0.4rem;
  position: fixed;
  right: 0;
  bottom: 0.2rem;
  opacity: 0;
  pointer-events: none;
  transition-duration: 0.25s;
  z-index: 100; }
  .pageTop.-active {
    opacity: 1;
    pointer-events: all; }
  .pageTop span {
    display: block;
    width: 100%;
    height: 100%;
    position: relative; }
    .pageTop span::after {
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      content: '';
      width: 0.08rem;
      height: 0.08rem;
      position: absolute;
      right: 0;
      left: 0;
      bottom: 0;
      top: 0.04rem;
      margin: auto;
      transform: rotate(-45deg); }

.parts {
  letter-spacing: .05em; }
  @media screen and (min-width: 768px), print {
    .parts {
      line-height: 1.75; } }
  @media screen and (max-width: 767px) {
    .parts {
      line-height: 1.5; } }
  @media screen and (min-width: 768px), print {
    .parts > * + * {
      margin-top: 0.4rem; } }
  @media screen and (max-width: 767px) {
    .parts > * + * {
      margin-top: 0.3rem; } }
  @media screen and (min-width: 768px), print {
    .parts > p + p {
      margin-top: 0.3rem; } }
  @media screen and (max-width: 767px) {
    .parts > p + p {
      margin-top: 0.2rem; } }
  .parts .-left {
    text-align: left; }
  .parts .-center {
    text-align: center; }
  .parts h1 {
    border-top: 1px solid #000;
    font-weight: 700;
    line-height: 1.3; }
    @media screen and (min-width: 768px), print {
      .parts h1 {
        font-size: 0.3rem;
        padding-top: 0.45rem; } }
    @media screen and (max-width: 767px) {
      .parts h1 {
        font-size: 0.2rem;
        padding-top: 0.2rem; } }
    @media screen and (min-width: 768px), print {
      .parts h1 + * {
        margin-top: 0.7rem; } }
    @media screen and (max-width: 767px) {
      .parts h1 + * {
        margin-top: 0.3rem; } }
  .parts h2 {
    background-color: #f7f7f7;
    font-weight: 700;
    line-height: 1.3;
    position: relative; }
    @media screen and (min-width: 768px), print {
      .parts h2 {
        font-size: 0.22rem;
        padding: 0.37rem 0.25rem 0.38rem; } }
    @media screen and (max-width: 767px) {
      .parts h2 {
        font-size: 0.18rem;
        padding: 0.25rem 0.15rem 0.26rem; } }
    @media screen and (min-width: 768px), print {
      .parts h2 + * {
        margin-top: 0.3rem; } }
    @media screen and (max-width: 767px) {
      .parts h2 + * {
        margin-top: 0.3rem; } }
    .parts h2::before {
      background-color: #2d287f;
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 0; }
      @media screen and (min-width: 768px), print {
        .parts h2::before {
          width: 2rem;
          height: 0.03rem; } }
      @media screen and (max-width: 767px) {
        .parts h2::before {
          width: 1rem;
          height: 0.02rem; } }
    @media screen and (min-width: 768px), print {
      * + h2 {
        margin-top: 0.95rem !important; } }
    @media screen and (max-width: 767px) {
      * + h2 {
        margin-top: 0.6rem !important; } }
  .parts h3 {
    font-size: 700;
    line-height: 1.3;
    position: relative; }
    @media screen and (min-width: 768px), print {
      .parts h3 {
        font-size: 0.22rem; } }
    @media screen and (max-width: 767px) {
      .parts h3 {
        font-size: 0.16rem; } }
    @media screen and (min-width: 768px), print {
      .parts h3 + * {
        margin-top: 0.2rem; } }
    @media screen and (max-width: 767px) {
      .parts h3 + * {
        margin-top: 0.15rem; } }
    @media screen and (min-width: 768px), print {
      * + h3 {
        margin-top: 0.68rem !important; } }
    @media screen and (max-width: 767px) {
      * + h3 {
        margin-top: 0.45rem !important; } }
  .parts .img {
    text-align: center; }
    @media screen and (min-width: 768px), print {
      .parts .img.-spBlank a {
        pointer-events: none; } }
    @media screen and (max-width: 767px) {
      .parts .img.-spBlank a {
        display: block;
        position: relative;
        text-decoration: none; }
        .parts .img.-spBlank a::before {
          background-color: rgba(0, 0, 0, 0.8);
          content: 'クリックで拡大';
          color: #fff;
          position: absolute;
          right: 0;
          bottom: 0;
          font-size: 0.11rem;
          padding: 0.05rem 0.1rem; } }
  .parts sup {
    font-size: 0.1rem;
    position: relative;
    top: -.5em; }
  .parts:not(.-single) table:not(.formTable) {
    border-right: 1px solid #e1e1e1;
    border-bottom: 1px solid #eaeaea;
    width: 100%; }
    .parts:not(.-single) table:not(.formTable) > tbody > tr {
      background-color: #f7f7f7; }
      .parts:not(.-single) table:not(.formTable) > tbody > tr:nth-child(odd) {
        background-color: #ededed; }
      .parts:not(.-single) table:not(.formTable) > tbody > tr:not(:first-child) th {
        text-align: left; }
    .parts:not(.-single) table:not(.formTable) th,
    .parts:not(.-single) table:not(.formTable) td {
      border-left: 1px solid #e1e1e1;
      border-top: 1px solid #eaeaea;
      padding: 0.16rem 0.15rem; }
      .parts:not(.-single) table:not(.formTable) th:not(:last-child),
      .parts:not(.-single) table:not(.formTable) td:not(:last-child) {
        border-right: 1px solid #e1e1e1; }
    .parts:not(.-single) table:not(.formTable) th[scope="row"] {
      width: 33.33%; }
  .parts:not(.-single) table.-center th,
  .parts:not(.-single) table.-center td {
    text-align: center;
    vertical-align: middle; }
  .parts:not(.-single) table.-noThHead th,
  .parts:not(.-single) table.-noThHead td {
    text-align: left !important; }
  .parts:not(.-single) table.-sizeSmall th,
  .parts:not(.-single) table.-sizeSmall td {
    font-size: 0.16rem;
    padding: 0.08rem 0.15rem;
    line-height: 1.6; }
  .parts dl {
    line-height: 1.4; }
    @media screen and (min-width: 768px), print {
      .parts dl {
        margin-top: 0.4rem; } }
    .parts dl dt {
      font-weight: bold;
      position: relative; }
      @media screen and (min-width: 768px), print {
        .parts dl dt {
          font-size: 0.2rem;
          padding-left: 0.25rem; } }
      @media screen and (max-width: 767px) {
        .parts dl dt {
          font-size: 0.15rem;
          padding-left: 0.19rem; } }
      .parts dl dt::before {
        box-sizing: border-box;
        border: 1px solid #000;
        border-radius: 50%;
        content: '';
        display: block;
        position: absolute;
        left: 0; }
        @media screen and (min-width: 768px), print {
          .parts dl dt::before {
            top: 0.06rem;
            width: 0.15rem;
            height: 0.15rem; } }
        @media screen and (max-width: 767px) {
          .parts dl dt::before {
            top: 0.06rem;
            width: 0.1rem;
            height: 0.1rem; } }
      @media screen and (min-width: 768px), print {
        .parts dl dt:not(:first-of-type) {
          margin-top: 0.32rem; } }
      @media screen and (max-width: 767px) {
        .parts dl dt:not(:first-of-type) {
          margin-top: 0.25rem; } }
    @media screen and (min-width: 768px), print {
      .parts dl dd {
        font-size: 0.16rem;
        line-height: 1.7;
        margin-top: 0.1rem;
        padding-left: 0.25rem; } }
    @media screen and (max-width: 767px) {
      .parts dl dd {
        font-size: 0.16rem;
        margin-top: 0.1rem;
        padding-left: 0.19rem; } }
  @media screen and (min-width: 768px), print {
    .parts .note {
      font-size: 0.14rem; } }
  @media screen and (max-width: 767px) {
    .parts .note {
      font-size: 0.12rem; } }
  .parts .note li {
    line-height: 1.5;
    padding-left: 1.25em;
    position: relative; }
    .parts .note li::before {
      content: '※';
      position: absolute;
      left: 0;
      top: 0; }
    @media screen and (min-width: 768px), print {
      .parts .note li:not(:last-child) {
        margin-bottom: 0.1rem; } }
  .parts ul:not([class]) li {
    line-height: 1.75;
    padding-left: 1.15em;
    position: relative; }
    .parts ul:not([class]) li::before {
      background-color: #2d287f;
      border-radius: 50%;
      content: '';
      position: absolute;
      left: 0;
      width: 0.07rem;
      height: 0.07rem; }
      @media screen and (min-width: 768px), print {
        .parts ul:not([class]) li::before {
          top: 0.1rem; } }
      @media screen and (max-width: 767px) {
        .parts ul:not([class]) li::before {
          top: 0.08rem; } }
    @media screen and (min-width: 768px), print {
      .parts ul:not([class]) li:not(:last-child) {
        margin-bottom: 0.21rem; } }
    @media screen and (max-width: 767px) {
      .parts ul:not([class]) li:not(:last-child) {
        margin-bottom: 0.13rem; } }
  .parts ol li {
    margin-left: 1.4em; }
  .parts .bold {
    font-weight: bold; }
  .parts .linkList li {
    line-height: 1.5;
    position: relative; }
    @media screen and (min-width: 768px), print {
      .parts .linkList li {
        padding-left: 1.15em; } }
    @media screen and (max-width: 767px) {
      .parts .linkList li {
        padding-left: 1em; } }
    .parts .linkList li:not(:last-child) {
      margin-bottom: 0.05rem; }
    .parts .linkList li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0; }
      @media screen and (min-width: 768px), print {
        .parts .linkList li::before {
          border-top: 0.055rem solid transparent;
          border-bottom: 0.055rem solid transparent;
          border-left: 0.07rem solid #2d287f;
          top: 0.07rem; } }
      @media screen and (max-width: 767px) {
        .parts .linkList li::before {
          border-top: 0.04rem solid transparent;
          border-bottom: 0.04rem solid transparent;
          border-left: 0.055rem solid #2d287f;
          top: 0.06rem; } }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .parts .linkList li a:hover {
        color: #635db6 !important; } }
    .parts .linkList li a[target="_blank"] {
      position: relative; }
      .parts .linkList li a[target="_blank"]::after {
        content: '';
        display: inline-block;
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M2909.36%2C499.892a0.635%2C0.635%2C0%2C0%2C1-.64-0.638v-7.98h-7.98a0.638%2C0.638%2C0%2C1%2C1%2C0-1.276h8.62a0.632%2C0.632%2C0%2C0%2C1%2C.63.638v8.618A0.633%2C0.633%2C0%2C0%2C1%2C2909.36%2C499.892Zm-19.15%2C10.531a0.616%2C0.616%2C0%2C0%2C1-.45-0.186%2C0.637%2C0.637%2C0%2C0%2C1%2C0-.9l19.15-19.149a0.637%2C0.637%2C0%2C0%2C1%2C.9.9l-19.15%2C19.149A0.65%2C0.65%2C0%2C0%2C1%2C2890.21%2C510.423ZM2901.7%2C520h-19.15a2.561%2C2.561%2C0%2C0%2C1-2.56-2.554V498.3a2.561%2C2.561%2C0%2C0%2C1%2C2.56-2.553h11.49a0.639%2C0.639%2C0%2C1%2C1%2C0%2C1.277h-11.49a1.276%2C1.276%2C0%2C0%2C0-1.28%2C1.276v19.149a1.277%2C1.277%2C0%2C0%2C0%2C1.28%2C1.277h19.15a1.275%2C1.275%2C0%2C0%2C0%2C1.27-1.277V505.956a0.64%2C0.64%2C0%2C0%2C1%2C1.28%2C0v11.489A2.559%2C2.559%2C0%2C0%2C1%2C2901.7%2C520Z%22%20transform%3D%22translate(-2880%20-490)%22%2F%3E%0A%3C%2Fsvg%3E");
        background-size: 100% auto;
        width: 0.12rem;
        height: 0.1205rem;
        margin-left: 0.08rem;
        margin-bottom: 0.01rem; }
  .parts .indexList {
    margin-top: 0.1rem; }
    .parts .indexList li {
      border-bottom: 1px solid #eaeaea; }
    .parts .indexList a {
      display: block;
      text-decoration: none; }
      @media screen and (min-width: 768px), print {
        .parts .indexList a {
          padding: 0.2rem 0; } }
      @media screen and (max-width: 767px) {
        .parts .indexList a {
          padding: 0.12rem 0; } }
      @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .parts .indexList a {
          transition-duration: 0.25s; }
          .parts .indexList a:hover {
            opacity: .7; } }
    .parts .indexList span {
      align-items: center;
      position: relative; }
      @media screen and (max-width: 767px) {
        .parts .indexList span {
          font-size: 0.12rem; } }
      .parts .indexList span::after {
        content: "";
        display: block;
        position: absolute;
        background: url(img/icon_pdf.png) no-repeat center center/contain;
        bottom: 0.01rem; }
        @media screen and (min-width: 768px), print {
          .parts .indexList span::after {
            width: 0.12rem;
            height: 0.15rem;
            bottom: 0;
            right: -0.22rem; } }
        @media screen and (max-width: 767px) {
          .parts .indexList span::after {
            width: 0.09rem;
            height: 0.1125rem;
            bottom: 0;
            right: -0.14rem; } }
    @media all and (-ms-high-contrast: none) {
      .parts .indexList *::-ms-backdrop, .parts .indexList span:after {
        bottom: 0.08rem; } }
  .parts .resultList li {
    border-bottom: 1px solid #eaeaea; }
    @media screen and (min-width: 768px), print {
      .parts .resultList li {
        padding: 0.2rem 0 0.15rem; } }
    @media screen and (max-width: 767px) {
      .parts .resultList li {
        padding: 0.12rem 0; } }
  .parts .resultList a {
    text-decoration: none; }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .parts .resultList a {
        transition-duration: 0.25s; }
        .parts .resultList a:hover > p {
          opacity: .7; } }
    .parts .resultList a > span {
      color: #2d287f;
      font-weight: 700;
      line-height: 1;
      border-radius: 0.3rem;
      border: 1px solid #2d287f;
      letter-spacing: 0; }
      @media screen and (min-width: 768px), print {
        .parts .resultList a > span {
          min-width: 1.7rem;
          height: 0.3rem;
          margin-right: 0.25rem;
          padding: 0.06rem 0.23rem; } }
      @media screen and (max-width: 767px) {
        .parts .resultList a > span {
          display: inline-block;
          text-align: center;
          font-size: 0.1rem;
          min-width: 1rem;
          padding: 0.03rem 0.1rem; } }
      @media screen and (min-width: 768px), print {
        .parts .resultList a > span + * {
          margin-top: 0.1rem; } }
  @media screen and (min-width: 768px), print {
    .parts .resultList p {
      flex: 1; } }
  @media screen and (max-width: 767px) {
    .parts .resultList p {
      margin-top: 0.08rem; } }
  .parts .resultList p > span {
    position: relative; }
    @media screen and (max-width: 767px) {
      .parts .resultList p > span {
        font-size: 0.12rem; } }
    .parts .resultList p > span::after {
      content: "";
      position: absolute;
      background: url(img/icon_pdf.png) no-repeat center center/contain;
      bottom: 0.01rem; }
      @media screen and (min-width: 768px), print {
        .parts .resultList p > span::after {
          width: 0.12rem;
          height: 0.15rem;
          right: -0.22rem; } }
      @media screen and (max-width: 767px) {
        .parts .resultList p > span::after {
          width: 0.09rem;
          height: 0.1125rem;
          right: -0.14rem; } }
  @media all and (-ms-high-contrast: none) {
    .parts .resultList p *::-ms-backdrop, .parts .resultList p span:after {
      bottom: 0.07rem; } }
  .parts .searchList__square {
    background-color: #f7f7f7;
    display: flex; }
    @media screen and (min-width: 768px), print {
      .parts .searchList__square {
        padding: 0.3rem 0.25rem; } }
    @media screen and (max-width: 767px) {
      .parts .searchList__square {
        flex-wrap: wrap;
        padding: 0.2rem 0.15rem; } }
    .parts .searchList__square li {
      border-radius: 0.06rem;
      background-color: #fff;
      border: 1px solid #d3d3d3; }
      @media screen and (min-width: 768px), print {
        .parts .searchList__square li {
          margin-right: 0.08rem; } }
      @media screen and (max-width: 767px) {
        .parts .searchList__square li {
          margin-right: 0.08rem; } }
      @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .parts .searchList__square li {
          transition-duration: 0.25s; }
          .parts .searchList__square li:hover {
            background-color: #c7caed; } }
      @media screen and (max-width: 767px) {
        .parts .searchList__square li:nth-child(n + 6) {
          margin-top: 0.1rem; } }
    .parts .searchList__square a {
      display: block;
      text-decoration: none;
      line-height: 1; }
      @media screen and (min-width: 768px), print {
        .parts .searchList__square a {
          padding: 0.19rem 0.21rem 0.15rem 0.21rem; } }
      @media screen and (max-width: 767px) {
        .parts .searchList__square a {
          padding: 0.165rem 0.1575rem 0.1275rem 0.1575rem; } }
      @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .parts .searchList__square a {
          transition-duration: 0.25s; }
          .parts .searchList__square a span::after {
            transform-origin: left top;
            transform: scale(1, 1); }
          .parts .searchList__square a:hover {
            background-color: #c7caed; }
            .parts .searchList__square a:hover span::after {
              transform: scale(0, 1);
              transform-origin: right top;
              transition: transform .3s; } }
    .parts .searchList__square span {
      display: inline-block;
      font-weight: 700;
      color: #2d287f;
      position: relative;
      padding-bottom: 0.04rem; }
      @media screen and (min-width: 768px), print {
        .parts .searchList__square span {
          font-size: 0.18rem; } }
      .parts .searchList__square span::after {
        content: "";
        display: inline-block;
        position: absolute;
        background-color: #2d287f;
        width: 100%;
        height: 1px;
        bottom: 0;
        left: 0; }
  .parts .searchList__Rectangle {
    background-color: #f7f7f7; }
    @media screen and (min-width: 768px), print {
      .parts .searchList__Rectangle {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        padding: 0.3rem 0.15rem;
        /*padding: rem(30) rem(25);*/ }
        .parts .searchList__Rectangle > li {
          width: calc((100% - 0.5rem) / 6); }
          .parts .searchList__Rectangle > li:nth-child(n + 7) {
            margin-top: 0.15rem; }
          .parts .searchList__Rectangle > li:nth-child(n + 2) {
            margin-left: 0.1rem; }
          .parts .searchList__Rectangle > li:nth-child(6n - 5) {
            margin-left: 0px; }
          .parts .searchList__Rectangle > li:nth-child(6n) {
            margin-right: -1%; } }
    @media screen and (max-width: 767px) {
      .parts .searchList__Rectangle {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        padding: 0.2rem 0.15rem; }
        .parts .searchList__Rectangle > li {
          width: calc((100% - 0.07rem) / 2); }
          .parts .searchList__Rectangle > li:nth-child(n + 3) {
            margin-top: 0.21rem; }
          .parts .searchList__Rectangle > li:nth-child(n + 2) {
            margin-left: 0.07rem; }
          .parts .searchList__Rectangle > li:nth-child(odd) {
            margin-left: 0px; }
          .parts .searchList__Rectangle > li:nth-child(2n) {
            margin-right: -1%; } }
    .parts .searchList__Rectangle li {
      display: flex;
      align-items: center;
      justify-content: center;
      background-color: #fff;
      border: 1px solid #d3d3d3;
      position: relative; }
      @media screen and (min-width: 768px), print {
        .parts .searchList__Rectangle li {
          /*width: rem(200);*/
          width: 1.98rem; } }
      @media screen and (max-width: 767px) {
        .parts .searchList__Rectangle li {
          width: 1.55rem; } }
    .parts .searchList__Rectangle a {
      text-align: center;
      text-decoration: none;
      color: #2d287f; }
      @media screen and (min-width: 768px), print {
        .parts .searchList__Rectangle a {
          font-size: 0.14rem;
          padding: 0.04rem 0.03rem 0.07rem;
          /*padding: rem(4) rem(5) rem(7);*/ } }
      @media screen and (max-width: 767px) {
        .parts .searchList__Rectangle a {
          font-size: 0.12rem;
          padding: 0.08rem; } }
      .parts .searchList__Rectangle a::after {
        content: "";
        position: absolute;
        top: 50%;
        transform: translateY(-50%) translateX(-50%);
        left: 50%;
        transition: background-color 0.25s;
        height: 100%; }
        @media screen and (min-width: 768px), print {
          .parts .searchList__Rectangle a::after {
            width: 2rem; } }
        @media screen and (max-width: 767px) {
          .parts .searchList__Rectangle a::after {
            width: 1.5rem; } }
      @media screen and (min-width: 768px), print {
        .parts .searchList__Rectangle a:hover {
          z-index: 1; }
          .parts .searchList__Rectangle a:hover::after {
            z-index: -1;
            background-color: #c7caed; }
          .parts .searchList__Rectangle a:hover span {
            background-size: 0% 1px; } }
      .parts .searchList__Rectangle a span {
        background-image: linear-gradient(90deg, #2d287f, #2d287f);
        background-repeat: no-repeat;
        background-position: right bottom;
        background-size: 100% 1px;
        transition: background-size 0.25s; }
  .parts .contact {
    display: flex; }
    .parts .contact > div {
      border-bottom: 1px solid #000;
      border-top: 1px solid #000;
      width: 50%; }
      .parts .contact > div:only-child {
        width: 100%; }
      .parts .contact > div:nth-child(2) {
        border-left: 1px solid #000; }
    .parts .contact a {
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      text-decoration: none; }
      @media screen and (min-width: 768px), print {
        .parts .contact a {
          min-height: 1.96rem;
          padding: 0.2rem 0.3rem; } }
      @media screen and (max-width: 767px) {
        .parts .contact a {
          min-height: 1.2rem;
          padding: 0.2rem; } }
      @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .parts .contact a {
          transition-duration: 0.25s; }
          .parts .contact a:hover {
            background-color: #c7caed; } }
      .parts .contact a span {
        position: relative; }
        @media screen and (min-width: 768px), print {
          .parts .contact a span {
            padding-right: 0.25rem;
            padding-left: 0.32rem; } }
        @media screen and (max-width: 767px) {
          .parts .contact a span {
            padding-right: 0.18rem;
            padding-left: 0.3rem; } }
        .parts .contact a span::before {
          background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22140%22%20height%3D%22100%22%20viewBox%3D%220%200%20140%20100%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M287.273%2C395H172.733a12.63%2C12.63%2C0%2C0%2C1-12.727-12.5v-75A12.632%2C12.632%2C0%2C0%2C1%2C172.733%2C295h114.54A12.632%2C12.632%2C0%2C0%2C1%2C300%2C307.5v75A12.63%2C12.63%2C0%2C0%2C1%2C287.273%2C395Zm-114.54-93.744a6.31%2C6.31%2C0%2C0%2C0-6.363%2C6.248v75a6.313%2C6.313%2C0%2C0%2C0%2C6.363%2C6.251h114.54a6.313%2C6.313%2C0%2C0%2C0%2C6.364-6.251v-75a6.31%2C6.31%2C0%2C0%2C0-6.364-6.248H172.733ZM230%2C348.116a24.491%2C24.491%2C0%2C0%2C1-14.772-4.924L163.405%2C304.04a3.094%2C3.094%2C0%2C0%2C1-.584-4.384%2C3.23%2C3.23%2C0%2C0%2C1%2C4.462-.572l51.827%2C39.151a18.143%2C18.143%2C0%2C0%2C0%2C21.787%2C0l51.826-39.151a3.219%2C3.219%2C0%2C0%2C1%2C4.462.572%2C3.094%2C3.094%2C0%2C0%2C1-.584%2C4.384l-51.827%2C39.152A24.486%2C24.486%2C0%2C0%2C1%2C230%2C348.116Z%22%20transform%3D%22translate(-160%20-295)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
          background-size: 100% auto;
          content: '';
          display: block;
          position: absolute;
          top: 0;
          bottom: 0;
          margin: auto;
          left: 0;
          width: 0.21rem;
          height: 0.15rem; }
        .parts .contact a span::after {
          content: '';
          background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2230%22%20viewBox%3D%220%200%2015%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M2909.7%2C946.012l-13.12%2C13.675a1.007%2C1.007%2C0%2C0%2C1-1.46%2C0c-0.4-.421.15-1.1%2C0.55-1.52L2908.3%2C945l-12.63-13.171c-0.4-.415-0.95-1.1-0.55-1.517a1%2C1%2C0%2C0%2C1%2C1.46%2C0l13.12%2C13.676A2.105%2C2.105%2C0%2C0%2C1%2C2909.7%2C946.012Z%22%20transform%3D%22translate(-2895%20-930)%22%2F%3E%0A%3C%2Fsvg%3E");
          background-size: 100% auto;
          position: absolute;
          right: 0;
          top: 0;
          bottom: 0;
          margin: auto; }
          @media screen and (min-width: 768px), print {
            .parts .contact a span::after {
              width: 0.075rem;
              height: 0.15rem; } }
          @media screen and (max-width: 767px) {
            .parts .contact a span::after {
              width: 0.0525rem;
              height: 0.105rem; } }
  @media screen and (min-width: 768px), print {
    .parts .flow {
      margin-top: 0.6rem; } }
  @media screen and (max-width: 767px) {
    .parts .flow {
      margin-top: 0.5rem; } }
  .parts .flow__icon {
    display: flex;
    justify-content: flex-end; }
    .parts .flow__icon li {
      display: flex;
      align-items: center;
      line-height: 1; }
      @media screen and (min-width: 768px), print {
        .parts .flow__icon li {
          font-size: 0.14rem; } }
      @media screen and (max-width: 767px) {
        .parts .flow__icon li {
          font-size: 0.12rem; } }
      @media screen and (min-width: 768px), print {
        .parts .flow__icon li:not(:last-child) {
          margin-right: 0.15rem; } }
      @media screen and (max-width: 767px) {
        .parts .flow__icon li:not(:last-child) {
          margin-right: 0.1rem; } }
    @media screen and (min-width: 768px), print {
      .parts .flow__icon + * {
        margin-top: 0.2rem; } }
    @media screen and (max-width: 767px) {
      .parts .flow__icon + * {
        margin-top: 0.15rem; } }
  .parts .flow__iconItem {
    background-color: #ffd63b;
    color: #2d287f;
    display: block;
    font-weight: 700; }
    .parts .flow__iconItem.-color01 {
      background-color: #2d287f;
      color: #fff; }
    @media screen and (min-width: 768px), print {
      .parts .flow__iconItem {
        margin-right: 0.08rem;
        padding: 0.06rem 0.1rem; } }
    @media screen and (max-width: 767px) {
      .parts .flow__iconItem {
        margin-right: 0.05rem;
        padding: 0.04rem 0.07rem; } }
  .parts .flow__contentsItem {
    background-color: #f9f9f9;
    position: relative; }
    @media screen and (min-width: 768px), print {
      .parts .flow__contentsItem {
        padding: 0.3rem 0.5rem 0.35rem 0.8rem; } }
    @media screen and (max-width: 767px) {
      .parts .flow__contentsItem {
        padding: 0.25rem 0.4rem 0.3rem 0.65rem; } }
    @media screen and (min-width: 768px), print {
      .parts .flow__contentsItem:not(:last-child) {
        margin-bottom: 0.5rem; } }
    @media screen and (max-width: 767px) {
      .parts .flow__contentsItem:not(:last-child) {
        margin-bottom: 0.44rem; } }
    .parts .flow__contentsItem:not(:last-child)::after {
      background: url(img/arrow_flow.png) no-repeat left 0;
      background-size: 100% auto;
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: calc(100% + 0.05rem);
      margin: auto; }
      @media screen and (min-width: 768px), print {
        .parts .flow__contentsItem:not(:last-child)::after {
          width: 0.65rem;
          height: 0.4rem; } }
      @media screen and (max-width: 767px) {
        .parts .flow__contentsItem:not(:last-child)::after {
          width: 0.52rem;
          height: 0.32rem; } }
    .parts .flow__contentsItem .flow__icon {
      justify-content: flex-start; }
      .parts .flow__contentsItem .flow__icon li {
        margin-right: 0.05rem; }
        .parts .flow__contentsItem .flow__icon li .flow__iconItem {
          margin-right: 0; }
  .parts .flow__contentsText {
    position: relative; }
  .parts .flow__contentsNum {
    background-color: #e8e9f4;
    border-radius: 50%;
    color: #2d287f;
    font-size: 0.16rem;
    font-weight: 700;
    position: absolute;
    text-align: center;
    line-height: 1; }
    @media screen and (min-width: 768px), print {
      .parts .flow__contentsNum {
        padding: 0.1rem 0.05rem 0.1rem 0.07rem;
        left: -0.5rem;
        top: -0.04rem;
        width: 0.35rem;
        height: 0.35rem; } }
    @media screen and (max-width: 767px) {
      .parts .flow__contentsNum {
        padding: 0.09rem 0.05rem 0.09rem 0.06rem;
        left: -0.45rem;
        top: -0.05rem;
        width: 0.3rem;
        height: 0.3rem; } }
  @media screen and (min-width: 768px), print {
    .parts .bnrLinkList__item:not(:last-child) {
      margin-bottom: 0.5rem; } }
  @media screen and (max-width: 767px) {
    .parts .bnrLinkList__item:not(:last-child) {
      margin-bottom: 0.25rem; } }
  .parts .bnrLinkList__link {
    display: flex;
    text-decoration: none; }
  @media screen and (min-width: 768px), print {
    .parts .bnrLinkList__image {
      width: 3rem; } }
  @media screen and (max-width: 767px) {
    .parts .bnrLinkList__image {
      width: 1.2rem; } }
  .parts .bnrLinkList__image img {
    width: 100%; }
  .parts .bnrLinkList__contents {
    flex: 1; }
    @media screen and (min-width: 768px), print {
      .parts .bnrLinkList__contents {
        font-size: 0.14rem;
        padding-left: 0.3rem; } }
    @media screen and (max-width: 767px) {
      .parts .bnrLinkList__contents {
        font-size: 0.12rem;
        padding-left: 0.15rem; } }
  .parts .bnrLinkList__name {
    font-weight: 700;
    line-height: 1.3; }
    @media screen and (min-width: 768px), print {
      .parts .bnrLinkList__name {
        font-size: 0.18rem; } }
    @media screen and (max-width: 767px) {
      .parts .bnrLinkList__name {
        font-size: 0.15rem; } }
    @media screen and (min-width: 768px), print {
      .parts .bnrLinkList__name + * {
        margin-top: 0.13rem; } }
    @media screen and (max-width: 767px) {
      .parts .bnrLinkList__name + * {
        margin-top: 0.05rem; } }
  .parts.-single h1 {
    background-color: #f7f7f7;
    font-weight: 700;
    line-height: 1.3;
    position: relative;
    padding-top: 0;
    border-top: none; }
    @media screen and (min-width: 768px), print {
      .parts.-single h1 {
        font-size: 0.22rem;
        padding: 0.37rem 0.25rem 0.38rem; } }
    @media screen and (max-width: 767px) {
      .parts.-single h1 {
        font-size: 0.18rem;
        padding: 0.25rem 0.15rem 0.26rem; } }
    @media screen and (min-width: 768px), print {
      .parts.-single h1 + * {
        margin-top: 0.3rem; } }
    @media screen and (max-width: 767px) {
      .parts.-single h1 + * {
        margin-top: 0.3rem; } }
    .parts.-single h1::before {
      background-color: #2d287f;
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 0; }
      @media screen and (min-width: 768px), print {
        .parts.-single h1::before {
          width: 2rem;
          height: 0.03rem; } }
      @media screen and (max-width: 767px) {
        .parts.-single h1::before {
          width: 1rem;
          height: 0.02rem; } }
    @media screen and (min-width: 768px), print {
      * + h2 {
        margin-top: 0.95rem !important; } }
    @media screen and (max-width: 767px) {
      * + h2 {
        margin-top: 0.6rem !important; } }
  .parts.-single table {
    border-top: 1px solid #333;
    border-left: 1px solid #333;
    max-width: 100% !important; }
    .parts.-single table th,
    .parts.-single table td {
      border-bottom: 1px solid #333;
      border-right: 1px solid #333;
      padding: 0.05rem 0.1rem; }
  @media screen and (min-width: 768px), print {
    .parts.-single .-imageWrap {
      font-size: 0.14rem; } }
  @media screen and (max-width: 767px) {
    .parts.-single .-imageWrap {
      font-size: 0.12rem; } }
  @media screen and (min-width: 768px), print {
    .parts.-single .-imageWrap > div {
      margin-bottom: 0.15rem;
      width: 50%; } }
  @media screen and (max-width: 767px) {
    .parts.-single .-imageWrap > div {
      margin-bottom: 0.1rem;
      width: 100%; } }
  .parts.-single .-imageWrap > div img {
    width: 100%; }
  @media screen and (min-width: 768px), print {
    .parts.-single .-imageWrap + * {
      margin-top: 0.5rem; } }
  @media screen and (max-width: 767px) {
    .parts.-single .-imageWrap + * {
      margin-top: 0.4rem; } }
  .parts .important {
    background-color: #fff4f4; }
    @media screen and (min-width: 768px), print {
      .parts .important {
        display: flex;
        padding: 0.3rem 0.25rem; } }
    @media screen and (max-width: 767px) {
      .parts .important {
        padding: 0.2rem 0.15rem; } }
  .parts .important__title {
    color: #ea0000;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap; }
    @media screen and (max-width: 767px) {
      .parts .important__title + * {
        margin-top: 0.1rem; } }
  @media screen and (min-width: 768px), print {
    .parts .important__list {
      flex: 1;
      padding-left: 0.25rem; } }
  .parts .important__list li {
    line-height: 1.2; }
    .parts .important__list li::before {
      border-left-color: #ea0000;
      top: 0.04rem; }
    @media screen and (min-width: 768px), print {
      .parts .important__list li {
        font-size: 0.16rem;
        padding-left: 0.16rem; } }
    @media screen and (max-width: 767px) {
      .parts .important__list li {
        font-size: 0.13rem; } }
    .parts .important__list li a {
      color: #ea0000 !important; }
      .parts .important__list li a:hover {
        color: #ea0000 !important; }

/* searchKeyword
============================================================= */
#header .searchKeyword input[type=text] {
  background-color: #f4f4f4 !important; }

@media screen and (min-width: 768px), print {
  #header .searchKeyword {
    font-size: 0; }
    #header .searchKeyword #___gcse_0,
    #header .searchKeyword #___gcse_1 {
      width: 100% !important; }
    #header .searchKeyword .gsc-control-cse {
      background-color: transparent;
      border: none;
      padding: 0 !important; }
      #header .searchKeyword .gsc-control-cse .gsc-input-box {
        border-radius: 0 !important;
        padding: 0 !important;
        border: none !important; }
      #header .searchKeyword .gsc-control-cse table.gsc-input {
        display: block; }
        #header .searchKeyword .gsc-control-cse table.gsc-input *:not(.gsib_b) {
          display: block; }
      #header .searchKeyword .gsc-control-cse form.gsc-search-box,
      #header .searchKeyword .gsc-control-cse table.gsc-search-box {
        margin-bottom: 0 !important; }
        #header .searchKeyword .gsc-control-cse form.gsc-search-box tr,
        #header .searchKeyword .gsc-control-cse table.gsc-search-box tr {
          width: 100% !important; }
      #header .searchKeyword .gsc-control-cse td.gsc-input {
        padding: 0.05rem 0.1rem;
        min-width: 2.5rem;
        width: 2.5rem;
        background-color: #f4f4f4; }
      #header .searchKeyword .gsc-control-cse input.gsc-input {
        background-position: 0.2rem center !important;
        box-sizing: border-box;
        font-size: 0.13rem;
        margin: 0 !important;
        height: auto !important; }
      #header .searchKeyword .gsc-control-cse .gsib_a {
        padding: 0; }
      #header .searchKeyword .gsc-control-cse .gsib_b {
        display: none !important; }
      #header .searchKeyword .gsc-control-cse td.gsc-search-button {
        flex: 1; }
      #header .searchKeyword .gsc-control-cse button.gsc-search-button {
        background-color: #2d287f;
        border-radius: 0 !important;
        border: 1px solid transparent;
        color: #fff;
        font-weight: 400;
        margin-left: 0;
        height: 100%;
        width: 100%;
        font-size: 0.12rem;
        padding: 0.07rem 0.17rem;
        position: relative;
        /*&::before{
          content: '検索';
          display: block;
          white-space: nowrap;
        }*/ }
        #header .searchKeyword .gsc-control-cse button.gsc-search-button::before {
          content: '';
          display: inline-block;
          background: url(img/icon_search.png) no-repeat left 0;
          background-size: contain;
          width: 0.15rem;
          height: 0.15rem;
          vertical-align: middle; } }
      @media screen and (min-width: 768px) and (hover: hover), screen and (min-width: 768px) and (-ms-high-contrast: active), screen and (min-width: 768px) and (-ms-high-contrast: none), print and (hover: hover) {
        #header .searchKeyword .gsc-control-cse button.gsc-search-button {
          transition-duration: 0.25s; }
          #header .searchKeyword .gsc-control-cse button.gsc-search-button:hover {
            border-color: #444; } }
@media screen and (min-width: 768px), print {
        #header .searchKeyword .gsc-control-cse button.gsc-search-button svg {
          display: none; } }

@media screen and (max-width: 767px) {
  #header .searchKeyword {
    display: none !important; } }

@media screen and (min-width: 768px), print {
  .section__inner {
    width: 13rem;
    margin-right: auto;
    margin-left: auto; } }

@media screen and (max-width: 767px) {
  .section__inner {
    padding: 0 0.15rem; } }

/* sectionBorderTitle
============================================================= */
.sectionBorderTitle {
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1.3;
  overflow: hidden;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .sectionBorderTitle + * {
      margin-top: 0.47rem; } }
  @media screen and (max-width: 767px) {
    .sectionBorderTitle + * {
      margin-top: 0.3rem; } }
.sectionBorderTitle__main > span {
  border-top: 0.05rem solid #2d287f;
  display: inline-block;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .sectionBorderTitle__main > span {
      font-size: 0.2rem;
      padding: 0.25rem 0.67rem 0 0.1rem; } }
  @media screen and (max-width: 767px) {
    .sectionBorderTitle__main > span {
      border-width: 0.03rem;
      font-size: 0.16rem;
      padding: 0.17rem 0.1rem 0 0; } }
  .sectionBorderTitle__main > span::after {
    background-color: #dcdcdc;
    content: '';
    width: 100vw;
    height: 1px;
    position: absolute;
    top: 0; }
    @media screen and (min-width: 768px), print {
      .sectionBorderTitle__main > span::after {
        left: calc(100% + 0.5rem); } }
    @media screen and (max-width: 767px) {
      .sectionBorderTitle__main > span::after {
        left: calc(100% + 0.15rem); } }
  @media screen and (min-width: 768px), print {
    .sectionBorderTitle__main > span > span {
      font-size: 0.16rem; } }
@media screen and (min-width: 768px), print {
  .sectionBorderTitle__more {
    position: absolute;
    right: 0;
    top: 0.35rem; }
    .sectionBorderTitle__more a {
      text-decoration: none;
      font-size: 0.14rem; } }

@media screen and (max-width: 767px) {
  .sectionBorderTitle__more {
    display: none !important; } }

@media screen and (min-width: 768px), print {
  .sideUtility {
    position: fixed;
    right: 0;
    top: 1.97rem;
    z-index: 101;
    opacity: 0;
    pointer-events: none; }
    #topPage .sideUtility {
      display: none; }
    .sideUtility.-active {
      opacity: 1;
      pointer-events: all; } }

@media screen and (max-width: 767px) {
  .sideUtility {
    display: none !important; } }

@media screen and (min-width: 768px), print {
  .sideUtility__item {
    width: 0.5rem;
    height: 0.5rem; }
    .sideUtility__item:nth-child(1) svg {
      width: 0.15rem;
      height: 0.11rem; }
    .sideUtility__item:nth-child(2) svg {
      width: 0.18rem;
      height: 0.18rem; }
    .sideUtility__item:nth-child(3) svg {
      width: 0.17rem;
      height: 0.17rem; }
    .sideUtility__item:nth-child(4) svg {
      width: 0.2rem;
      height: 0.14rem; } }

@media screen and (min-width: 768px), print {
  .sideUtility__link {
    background-color: #2d287f;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%; }
    .sideUtility__link svg {
      fill: #fff; }
    .sideUtility__item:first-child .sideUtility__link {
      background-color: #8c88cb; }
      .sideUtility__item:first-child .sideUtility__link::after {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22140%22%20height%3D%22100%22%20viewBox%3D%220%200%20140%20100%22%3E%0A%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M287.273%2C395H172.733a12.63%2C12.63%2C0%2C0%2C1-12.727-12.5v-75A12.632%2C12.632%2C0%2C0%2C1%2C172.733%2C295h114.54A12.632%2C12.632%2C0%2C0%2C1%2C300%2C307.5v75A12.63%2C12.63%2C0%2C0%2C1%2C287.273%2C395Zm-114.54-93.744a6.31%2C6.31%2C0%2C0%2C0-6.363%2C6.248v75a6.313%2C6.313%2C0%2C0%2C0%2C6.363%2C6.251h114.54a6.313%2C6.313%2C0%2C0%2C0%2C6.364-6.251v-75a6.31%2C6.31%2C0%2C0%2C0-6.364-6.248H172.733ZM230%2C348.116a24.491%2C24.491%2C0%2C0%2C1-14.772-4.924L163.405%2C304.04a3.094%2C3.094%2C0%2C0%2C1-.584-4.384%2C3.23%2C3.23%2C0%2C0%2C1%2C4.462-.572l51.827%2C39.151a18.143%2C18.143%2C0%2C0%2C0%2C21.787%2C0l51.826-39.151a3.219%2C3.219%2C0%2C0%2C1%2C4.462.572%2C3.094%2C3.094%2C0%2C0%2C1-.584%2C4.384l-51.827%2C39.152A24.486%2C24.486%2C0%2C0%2C1%2C230%2C348.116Z%22%20transform%3D%22translate(-160%20-295)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
        background-size: 100% auto;
        content: '';
        display: block;
        width: 0.15rem;
        height: 0.11rem; } }

@media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .sideUtility__link {
    transition-duration: 0.25s;
    text-decoration: none !important; }
    .sideUtility__link:hover {
      opacity: .75; } }

.singleBack {
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .singleBack {
      margin-top: 0.95rem; } }
  @media screen and (max-width: 767px) {
    .singleBack {
      margin-top: 0.5rem; } }
  @media screen and (min-width: 768px), print {
    .singleBack .button {
      min-width: 4rem; } }
  @media screen and (max-width: 767px) {
    .singleBack .button {
      width: 100%; } }
@media screen and (min-width: 768px), print {
  .singleEventImage {
    margin-top: 0.4rem; } }

@media screen and (max-width: 767px) {
  .singleEventImage {
    margin-top: 0.3rem; } }

@media screen and (min-width: 768px), print {
  .singleEventImage img {
    width: 50%; } }

@media screen and (max-width: 767px) {
  .singleEventImage img {
    width: 100%; } }

.singleTitle {
  border-top: 1px solid #000; }
  @media screen and (min-width: 768px), print {
    .singleTitle + * {
      margin-top: 0.95rem; } }
  @media screen and (max-width: 767px) {
    .singleTitle + * {
      margin-top: 0.5rem; } }
.singleTitle__title {
  font-weight: 700; }
  @media screen and (min-width: 768px), print {
    .singleTitle__title {
      font-size: 0.3rem;
      padding-top: 0.37rem; } }
  @media screen and (max-width: 767px) {
    .singleTitle__title {
      font-size: 0.2rem;
      padding-top: 0.2rem; } }
  @media screen and (min-width: 768px), print {
    .singleTitle__title + * {
      margin-top: 0.36rem;
      margin-bottom: 0.36rem; } }
  @media screen and (max-width: 767px) {
    .singleTitle__title + * {
      margin-top: 0.2rem; } }
.singleTitle__inner {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .singleTitle__inner {
      align-items: flex-start; } }
  @media screen and (min-width: 768px), print {
    .singleTitle__inner + .singleTitle__inner {
      margin-top: 0.08rem; } }
  @media screen and (max-width: 767px) {
    .singleTitle__inner + .singleTitle__inner {
      margin-top: 0.04rem; } }
.singleTitle__date {
  word-break: break-all; }
  @media screen and (min-width: 768px), print {
    .singleTitle__date {
      margin-right: 0.1rem; } }
  @media screen and (max-width: 767px) {
    .singleTitle__date:nth-child(2) {
      width: 100%; } }
.singleTitle__category,
.singleTitle__eventLabel {
  border: 1px solid #2d287f;
  border-radius: 50px;
  color: #2d287f;
  font-weight: 700;
  overflow: hidden;
  display: block;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (min-width: 768px), print {
    .singleTitle__category,
    .singleTitle__eventLabel {
      width: 1.25rem;
      height: 0.3rem; } }
  @media screen and (max-width: 767px) {
    .singleTitle__category,
    .singleTitle__eventLabel {
      font-size: 0.1rem;
      min-width: 0.85rem;
      padding: 0.03rem 0.1rem;
      margin-left: 0.1rem;
      margin-bottom: 0.02rem; } }
.singleTitle__eventLabel {
  border: 1px solid #2d287f;
  background-color: #2d287f;
  color: #fff;
  border-radius: 0; }

.singleTitle__eventLabel {
  margin-right: 0.1rem; }
  @media screen and (max-width: 767px) {
    .singleTitle__eventLabel {
      margin-left: 0;
      margin-top: 0.04rem;
      width: 0.85rem; }
      .singleTitle__eventLabel + * {
        flex: 1; } }
.specialBanner img {
  width: 100%; }

@media screen and (min-width: 768px), print {
  .specialBanner {
    margin-bottom: 1.25rem; } }

@media screen and (max-width: 767px) {
  .specialBanner {
    margin-bottom: 0.5rem; } }

@media screen and (min-width: 768px), print {
  .specialContentsBanner {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 1.25rem; }
    .specialContentsBanner > a {
      width: calc((100% - 0.2rem) / 2); }
      .specialContentsBanner > a:nth-child(n + 3) {
        margin-top: 0.55rem; }
      .specialContentsBanner > a:nth-child(n + 2) {
        margin-left: 0.2rem; }
      .specialContentsBanner > a:nth-child(odd) {
        margin-left: 0px; }
      .specialContentsBanner > a:nth-child(2n) {
        margin-right: -1%; } }

@media screen and (max-width: 767px) {
  .specialContentsBanner {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    flex-direction: column;
    margin-bottom: 0.5rem; }
    .specialContentsBanner > a {
      width: 100%; }
      .specialContentsBanner > a:nth-child(n + 2) {
        margin-top: 0.2rem; } }

/* spMenuButton
============================================================= */
@media screen and (min-width: 768px), print {
  .spMenuButton {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .spMenuButton {
    background-color: #2d287f;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 0.6rem;
    height: 100%;
    z-index: 100; } }

@media screen and (max-width: 767px) {
  .spMenuButton__icon {
    background-color: #fff;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0.18rem;
    margin: auto;
    width: 0.3rem;
    height: 1px; }
    .spMenuButton__icon::before, .spMenuButton__icon::after {
      background-color: #fff;
      content: '';
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      margin: auto;
      width: 0.3rem;
      height: 1px;
      transition: all .25s; }
    .spMenuButton__icon::before {
      top: -0.18rem; }
    .spMenuButton__icon::after {
      top: 0.18rem; } }

@media screen and (max-width: 767px) {
  .-spMenuOpen .spMenuButton__icon {
    background-color: transparent; }
    .-spMenuOpen .spMenuButton__icon::before, .-spMenuOpen .spMenuButton__icon::after {
      top: 0; }
    .-spMenuOpen .spMenuButton__icon::before {
      transform: rotate(-45deg); }
    .-spMenuOpen .spMenuButton__icon::after {
      transform: rotate(45deg); } }

@media screen and (max-width: 767px) {
  .spMenuButton__label {
    color: #fff;
    font-size: 0.1rem;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    left: 0;
    bottom: 0.11rem;
    width: 100%;
    text-align: center; } }

/* spSearchButton
============================================================= */
@media screen and (min-width: 768px), print {
  .spSearchButton {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .spSearchButton {
    background-color: #000;
    color: #fff;
    position: absolute;
    top: 0;
    right: 0.6rem;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 0.6rem;
    height: 100%;
    z-index: 100; }
    .spSearchButton::before {
      background: url(img/icon_search.png) no-repeat left 0;
      background-size: 100% auto;
      content: '';
      width: 0.2rem;
      height: 0.2rem;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0.16rem;
      margin: auto; } }

@media screen and (max-width: 767px) {
  .spSearchButton__label {
    color: #fff;
    font-size: 0.1rem;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    left: 0;
    bottom: 0.11rem;
    width: 100%;
    text-align: center; } }

/* spSearchContents
============================================================= */
@media screen and (min-width: 768px), print {
  .spSearchContents {
    display: none !important; } }

@media screen and (max-width: 767px) {
  .spSearchContents {
    background-color: rgba(0, 0, 0, 0.8);
    display: none;
    position: absolute;
    left: 0;
    top: 0.6rem;
    width: 100%;
    height: calc(100vh - 0.6rem);
    z-index: 100; }
    .-spSearchOpen .spSearchContents {
      display: flex;
      justify-content: center;
      align-items: center;
      padding-bottom: 0.3rem; }
    .spSearchContents #___gcse_0,
    .spSearchContents #___gcse_1 {
      width: 92%;
      background-color: #000;
      padding: 0.15rem;
      position: relative;
      z-index: 1; }
    .spSearchContents .gsc-control-cse {
      background-color: transparent;
      border: none;
      padding: 0; }
      .spSearchContents .gsc-control-cse .gsc-input-box {
        border-radius: 0 !important;
        padding: 0 !important; }
      .spSearchContents .gsc-control-cse table.gsc-input {
        display: block; }
        .spSearchContents .gsc-control-cse table.gsc-input *:not(.gsib_b) {
          display: block; }
      .spSearchContents .gsc-control-cse form.gsc-search-box,
      .spSearchContents .gsc-control-cse table.gsc-search-box {
        margin-bottom: 0 !important; }
        .spSearchContents .gsc-control-cse form.gsc-search-box tr,
        .spSearchContents .gsc-control-cse table.gsc-search-box tr {
          display: flex !important; }
      .spSearchContents .gsc-control-cse td.gsc-input {
        padding-right: 0 !important; }
      .spSearchContents .gsc-control-cse input.gsc-input {
        background-position: 0.2rem center !important;
        box-sizing: border-box;
        font-size: 0.14rem;
        padding: 0.22rem !important;
        margin: 0 !important;
        height: auto !important;
        min-width: 2.5rem;
        width: 2.5rem; }
      .spSearchContents .gsc-control-cse .gsib_a {
        padding: 0; }
      .spSearchContents .gsc-control-cse .gsib_b {
        display: none !important; }
      .spSearchContents .gsc-control-cse td.gsc-search-button {
        flex: 1; }
      .spSearchContents .gsc-control-cse button.gsc-search-button {
        background-color: #000;
        border-radius: 0 !important;
        border: none;
        color: #fff;
        font-weight: 400;
        margin-left: 0;
        height: 100%;
        width: 100%; }
        .spSearchContents .gsc-control-cse button.gsc-search-button::before {
          color: #fff;
          content: '検索';
          display: block;
          white-space: nowrap;
          font-size: 0.15rem; }
        .spSearchContents .gsc-control-cse button.gsc-search-button svg {
          display: none; } }

@media screen and (max-width: 767px) {
  .spSearchContents__bg {
    position: absolute;
    left: 0;
    top: 0;
    background-color: transparent;
    width: 100%;
    height: 100%; } }

/* tab
============================================================= */
.tabWrap {
  width: 100%;
  background-color: #000; }
  @media screen and (min-width: 768px), print {
    .tabWrap {
      height: 1.04rem;
      padding-top: 0.29rem; } }
  @media screen and (max-width: 767px) {
    .tabWrap {
      padding-top: 0.22rem; } }
  @media screen and (min-width: 768px), print {
    .tabWrap + * {
      margin-top: 0.36rem; } }
  @media screen and (max-width: 767px) {
    .tabWrap + * {
      margin-top: 0.15rem; } }
.tab {
  display: flex;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .tab {
      margin-left: auto;
      margin-right: auto;
      max-width: 13.66rem;
      padding-left: 0.33rem;
      padding-right: 0.33rem; } }
  @media screen and (max-width: 767px) {
    .tab {
      padding: 0 0.15rem; } }
.tab__item {
  font-weight: 700;
  line-height: 1.3;
  background-color: #2d287f;
  color: #fff;
  text-align: center;
  cursor: pointer; }
  @media screen and (min-width: 768px), print {
    .tab__item {
      width: 6.25rem;
      height: 0.75rem;
      font-size: 0.22rem;
      padding: 0.25rem 0.1rem; } }
  @media screen and (max-width: 767px) {
    .tab__item {
      width: 50%;
      font-size: 0.14rem;
      padding: 0.15rem 0.05rem; } }
  @media screen and (min-width: 768px), print {
    .tab__item:not(:last-child) {
      margin-right: 0.5rem; } }
  @media screen and (max-width: 767px) {
    .tab__item:not(:last-child) {
      margin-right: 0.15rem; } }
  .tab__item.-active {
    background-color: #fff;
    color: #000; }

/* tabContents
============================================================= */
@media screen and (min-width: 768px), print {
  .tabContents__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 13.66rem;
    padding-left: 0.33rem;
    padding-right: 0.33rem; } }

@media screen and (max-width: 767px) {
  .tabContents__inner {
    padding: 0 0.15rem; } }

.tabContents__title {
  display: none; }

/* table
============================================================= */
.table {
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  width: 100%; }
  .table th,
  .table td {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc; }
    @media screen and (min-width: 768px), print {
      .table th,
      .table td {
        padding: 0.1rem; } }
    @media screen and (max-width: 767px) {
      .table th,
      .table td {
        padding: 0.1rem; } }
    .table th:not(:last-child),
    .table td:not(:last-child) {
      border-right: 1px solid #ccc; }
  .table th {
    background-color: #f5f5f5; }
    .table th[scope="row"] {
      width: 33.33%; }
  .table.-center th,
  .table.-center td {
    text-align: center;
    vertical-align: middle; }
  .-center th,
  .-center td {
    text-align: center !important;
    vertical-align: middle; }

/* spTableScroll */
@media screen and (max-width: 767px) {
  .spTableScroll {
    overflow-x: scroll; }
    .spTableScroll > table {
      width: 100%;
      white-space: nowrap; } }

/* telLink
============================================================= */
@media screen and (min-width: 768px), print {
  .telLink {
    pointer-events: none;
    text-decoration: none; } }

@media screen and (max-width: 767px) {
  .telLink {
    text-decoration: underline; } }

/* title
============================================================= */
/* topicPath
============================================================= */
.topicPath {
  display: flex; }
  @media screen and (min-width: 768px), print {
    .topicPath {
      margin-left: auto;
      margin-right: auto;
      max-width: 13.66rem;
      padding-left: 0.33rem;
      padding-right: 0.33rem; } }
  @media screen and (min-width: 768px), print {
    .topicPath {
      font-size: 0.12rem; } }
  @media screen and (max-width: 767px) {
    .topicPath {
      display: none; } }
  @media screen and (min-width: 768px), print {
    .topicPath li {
      list-style-type: none; }
      .topicPath li:last-child a {
        color: #000;
        cursor: text;
        pointer-events: none; }
      .topicPath li:not(:last-child) {
        position: relative;
        padding-right: 0.18rem;
        margin-right: 0.1rem;
        position: relative; }
        .topicPath li:not(:last-child)::before, .topicPath li:not(:last-child)::after {
          background-color: #666;
          content: '';
          display: block;
          width: 0.07rem;
          height: 1px;
          position: absolute;
          right: 0;
          top: 0;
          bottom: 0.02rem;
          margin: auto;
          transform-origin: right center; }
        .topicPath li:not(:last-child)::before {
          transform: rotate(30deg); }
        .topicPath li:not(:last-child)::after {
          transform: rotate(-30deg); } }
  .topicPath + * {
    margin-top: 0.2rem; }

/* topMainVisual
============================================================= */
.topMainVisual {
  overflow: hidden;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .topMainVisual {
      height: 4rem; } }
  @media screen and (max-width: 767px) {
    .topMainVisual {
      min-height: 2.5rem;
      padding-top: 0.4714285714rem;
      padding-bottom: 0.2rem;
      background-color: #2d287f; } }
  @media screen and (max-width: 767px) {
    .topMainVisual + * {
      margin-top: 0.2rem; } }
@media screen and (min-width: 768px), print {
  .topMainVisutal__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0.35rem; } }

.topMainVisutal__inner {
  position: relative;
  z-index: 1;
  height: 100%; }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__inner {
      margin-left: auto;
      margin-right: auto;
      max-width: 13.66rem;
      padding-left: 0.33rem;
      padding-right: 0.33rem; } }
.topMainVisutal__lead {
  color: #fff;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1; }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__lead {
      font-size: 0.5rem; } }
  @media screen and (max-width: 767px) {
    .topMainVisutal__lead {
      font-size: 0.25rem;
      text-align: center; } }
@media screen and (min-width: 768px), print {
  .topMainVisutal__leadText {
    margin-bottom: 0.4rem;
    margin-left: 0.7rem; } }

.topMainVisutal__leadTextSub {
  display: block;
  font-size: 0;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__leadTextSub {
      margin-top: 0.19rem;
      width: 2.12rem;
      padding-left: 0.35rem;
      padding-right: 0.35rem;
      left: -0.05rem; } }
  @media screen and (max-width: 767px) {
    .topMainVisutal__leadTextSub {
      margin-top: 0.11rem;
      width: 1.05rem;
      padding-left: 0.17rem;
      padding-right: 0.17rem;
      left: -0.025rem; } }
  .topMainVisutal__leadTextSub::before, .topMainVisutal__leadTextSub::after {
    background-color: #fff;
    content: '';
    height: 1px;
    position: absolute;
    top: 0.02rem;
    bottom: 0;
    margin: auto; }
    @media screen and (min-width: 768px), print {
      .topMainVisutal__leadTextSub::before, .topMainVisutal__leadTextSub::after {
        width: 0.25rem; } }
    @media screen and (max-width: 767px) {
      .topMainVisutal__leadTextSub::before, .topMainVisutal__leadTextSub::after {
        width: 0.125rem; } }
  .topMainVisutal__leadTextSub::before {
    left: 0; }
  .topMainVisutal__leadTextSub::after {
    right: 0; }
  .topMainVisutal__leadTextSub img {
    width: 100%; }

@media screen and (min-width: 768px), print {
  .topMainVisutal__menu {
    position: relative;
    right: 0rem; } }

@media screen and (max-width: 767px) {
  .topMainVisutal__menu {
    margin-top: 0.525rem;
    padding: 0 0.15rem; } }

.topMainVisutal__menuItem {
  overflow: hidden; }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__menuItem {
      width: 3.85rem; } }
  .topMainVisutal__menuItem a {
    background-color: #2d287f;
    color: #fff;
    display: flex;
    text-decoration: none !important;
    position: relative; }
    @media screen and (min-width: 768px), print {
      .topMainVisutal__menuItem a {
        padding: 0.12rem 0.32rem 0.12rem 0; } }
    @media screen and (max-width: 767px) {
      .topMainVisutal__menuItem a {
        padding: 0.08rem 0.4rem 0.08rem 0; } }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .topMainVisutal__menuItem a {
        transition-duration: 0.25s; }
        .topMainVisutal__menuItem a:hover {
          background-color: #635db6; } }
    .topMainVisutal__menuItem a::after {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2230%22%20viewBox%3D%220%200%2015%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M2909.7%2C946.012l-13.12%2C13.675a1.007%2C1.007%2C0%2C0%2C1-1.46%2C0c-0.4-.421.15-1.1%2C0.55-1.52L2908.3%2C945l-12.63-13.171c-0.4-.415-0.95-1.1-0.55-1.517a1%2C1%2C0%2C0%2C1%2C1.46%2C0l13.12%2C13.676A2.105%2C2.105%2C0%2C0%2C1%2C2909.7%2C946.012Z%22%20transform%3D%22translate(-2895%20-930)%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100% auto;
      content: '';
      position: absolute;
      right: 0.15rem;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 0.075rem;
      height: 0.15rem; }
    .topMainVisutal__menuItem a[target="_blank"]::after {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M2909.36%2C499.892a0.635%2C0.635%2C0%2C0%2C1-.64-0.638v-7.98h-7.98a0.638%2C0.638%2C0%2C1%2C1%2C0-1.276h8.62a0.632%2C0.632%2C0%2C0%2C1%2C.63.638v8.618A0.633%2C0.633%2C0%2C0%2C1%2C2909.36%2C499.892Zm-19.15%2C10.531a0.616%2C0.616%2C0%2C0%2C1-.45-0.186%2C0.637%2C0.637%2C0%2C0%2C1%2C0-.9l19.15-19.149a0.637%2C0.637%2C0%2C0%2C1%2C.9.9l-19.15%2C19.149A0.65%2C0.65%2C0%2C0%2C1%2C2890.21%2C510.423ZM2901.7%2C520h-19.15a2.561%2C2.561%2C0%2C0%2C1-2.56-2.554V498.3a2.561%2C2.561%2C0%2C0%2C1%2C2.56-2.553h11.49a0.639%2C0.639%2C0%2C1%2C1%2C0%2C1.277h-11.49a1.276%2C1.276%2C0%2C0%2C0-1.28%2C1.276v19.149a1.277%2C1.277%2C0%2C0%2C0%2C1.28%2C1.277h19.15a1.275%2C1.275%2C0%2C0%2C0%2C1.27-1.277V505.956a0.64%2C0.64%2C0%2C0%2C1%2C1.28%2C0v11.489A2.559%2C2.559%2C0%2C0%2C1%2C2901.7%2C520Z%22%20transform%3D%22translate(-2880%20-490)%22%2F%3E%0A%3C%2Fsvg%3E");
      background-size: 100% auto;
      width: 0.15rem;
      height: 0.15rem; }
  .topMainVisutal__menuItem.-colorReverse a {
    background-color: #fff;
    color: #2d287f;
    position: relative; }
    .topMainVisutal__menuItem.-colorReverse a::before {
      border: 1px solid #d4d4d4;
      box-sizing: border-box;
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0; }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .topMainVisutal__menuItem.-colorReverse a {
        transition-duration: 0.25s; }
        .topMainVisutal__menuItem.-colorReverse a:hover {
          background-color: #c7caed; } }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__menuItem + * {
      margin-top: 0.1rem; } }
  @media screen and (max-width: 767px) {
    .topMainVisutal__menuItem + * {
      margin-top: 0.08rem; } }
.topMainVisutal__menuIcon {
  border-right: 1px solid #575399;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 0.5rem;
  min-width: 0.5rem;
  max-width: 0.5rem;
  margin-right: 0.15rem; }
  .topMainVisutal__menuIcon svg {
    fill: #2d287f; }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__menuIcon.-icon01 svg {
      width: 0.25rem; } }
  @media screen and (max-width: 767px) {
    .topMainVisutal__menuIcon.-icon01 svg {
      width: 0.2rem; } }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__menuIcon.-icon02 svg {
      width: 0.25rem; } }
  @media screen and (max-width: 767px) {
    .topMainVisutal__menuIcon.-icon02 svg {
      width: 0.2rem; } }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__menuIcon.-icon03 svg {
      width: 0.3rem; } }
  @media screen and (max-width: 767px) {
    .topMainVisutal__menuIcon.-icon03 svg {
      width: 0.25rem; } }
.topMainVisutal__menuContents {
  line-height: 1.3;
  padding: 0.05rem 0 0.07rem; }

.topMainVisutal__menuTitle {
  font-weight: 700; }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__menuTitle {
      font-size: 0.2rem; } }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__menuTitle span {
      font-size: 0.16rem; } }
  @media screen and (min-width: 768px), print {
    .topMainVisutal__menuTitle + * {
      margin-top: 0.09rem; } }
  @media screen and (max-width: 767px) {
    .topMainVisutal__menuTitle + * {
      margin-top: 0.05rem; } }
@media screen and (min-width: 768px), print {
  .topMainVisutal__menuText {
    font-size: 0.13rem; } }

.info1 .topMainVisutal__menuText, .info2 .topMainVisutal__menuText {
  padding-bottom: 0.17rem; }

@media screen and (max-width: 767px) {
  .info1 .topMainVisutal__menuText {
    padding-bottom: 0rem; } }

@media screen and (min-width: 768px), print {
  .topMainVisual__keyword {
    background-color: #000;
    bottom: 0.4rem;
    font-size: 0;
    width: 9.25rem;
    padding: 0.125rem;
    display: flex;
    min-height: 0.87rem;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto; }
    .topMainVisual__keyword #___gcse_0,
    .topMainVisual__keyword #___gcse_1 {
      width: 100% !important; }
    .topMainVisual__keyword .gsc-control-cse {
      background-color: transparent;
      border: none;
      padding: 0; }
      .topMainVisual__keyword .gsc-control-cse .gsc-input-box {
        border-radius: 0 !important;
        padding: 0 !important;
        border: none !important; }
      .topMainVisual__keyword .gsc-control-cse table.gsc-input {
        display: block; }
        .topMainVisual__keyword .gsc-control-cse table.gsc-input *:not(.gsib_b) {
          display: block; }
      .topMainVisual__keyword .gsc-control-cse form.gsc-search-box,
      .topMainVisual__keyword .gsc-control-cse table.gsc-search-box {
        margin-bottom: 0 !important; }
        .topMainVisual__keyword .gsc-control-cse form.gsc-search-box tr,
        .topMainVisual__keyword .gsc-control-cse table.gsc-search-box tr {
          display: flex !important;
          width: 100% !important; }
      .topMainVisual__keyword .gsc-control-cse td.gsc-input {
        padding-right: 0 !important;
        min-width: 7.75rem;
        width: 7.75rem; }
      .topMainVisual__keyword .gsc-control-cse input.gsc-input {
        background-position: 0.2rem center !important;
        box-sizing: border-box;
        font-size: 0.14rem;
        padding: 0.22rem !important;
        margin: 0 !important;
        height: auto !important;
        min-width: 7.75rem;
        width: 7.75rem; }
      .topMainVisual__keyword .gsc-control-cse .gsib_a {
        padding: 0;
        width: 7.75rem;
        min-width: 7.75rem;
        max-width: 7.75rem; }
      .topMainVisual__keyword .gsc-control-cse .gsib_b {
        display: none !important; }
      .topMainVisual__keyword .gsc-control-cse td.gsc-search-button {
        flex: 1; }
      .topMainVisual__keyword .gsc-control-cse button.gsc-search-button {
        background-color: #000;
        border-radius: 0 !important;
        border: 1px solid transparent;
        color: #fff;
        font-weight: 400;
        margin-left: 0;
        height: 100%;
        width: 100%;
        font-size: 0.18rem; }
        .topMainVisual__keyword .gsc-control-cse button.gsc-search-button::before {
          content: '検索';
          display: block;
          white-space: nowrap; } }
      @media screen and (min-width: 768px) and (hover: hover), screen and (min-width: 768px) and (-ms-high-contrast: active), screen and (min-width: 768px) and (-ms-high-contrast: none), print and (hover: hover) {
        .topMainVisual__keyword .gsc-control-cse button.gsc-search-button {
          transition-duration: 0.25s; }
          .topMainVisual__keyword .gsc-control-cse button.gsc-search-button:hover {
            border-color: #444; } }
@media screen and (min-width: 768px), print {
        .topMainVisual__keyword .gsc-control-cse button.gsc-search-button svg {
          display: none; } }

@media screen and (max-width: 767px) {
  .topMainVisual__keyword {
    display: none !important; } }

.topMainVisual__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%; }
  @media screen and (min-width: 768px), print {
    .topMainVisual__image {
      height: 100%; } }
  @media screen and (max-width: 767px) {
    .topMainVisual__image {
      height: 3.25rem; } }
  .topMainVisual__image img {
    object-fit: cover;
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%; }

.underContents {
  background-color: #fff;
  border-top: 1px solid #eaeaea;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 768px), print {
    .underContents #main {
      display: flex;
      justify-content: space-between;
      padding-top: 0.55rem; } }
  @media screen and (max-width: 767px) {
    .underContents #main {
      padding-top: 0.28rem; } }
@media screen and (min-width: 768px), print {
  .underContents__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 13.66rem;
    padding-left: 0.33rem;
    padding-right: 0.33rem; } }

@media screen and (min-width: 768px), print {
  .underContents__inner {
    min-height: 4rem;
    padding-top: 0.25rem; } }

@media screen and (max-width: 767px) {
  .underContents__inner {
    padding: 0.15rem 0.15rem 0; } }

@media screen and (min-width: 768px), print {
  .underContents__main {
    width: 9.5rem;
    max-width: 9.5rem;
    min-width: 9.5rem; }
    .underContents__main:only-child {
      width: 100%;
      max-width: none; } }

@media screen and (min-width: 768px), print {
  .underContents__side {
    width: 3rem;
    max-width: 3rem;
    min-width: 3rem;
    line-height: 1.3; } }

@media screen and (max-width: 767px) {
  .underContents__side {
    display: none !important; } }

@media screen and (min-width: 768px), print {
  .underContents__sideTitle {
    background-color: #f4f4f4;
    border-top: 0.03rem solid #2d287f;
    font-weight: 700;
    padding: 0.2rem; }
    .underContents__sideTitle + * {
      margin-top: 0.3rem; } }

@media screen and (min-width: 768px), print {
  .underContents__sideNavigation {
    padding: 0.18rem 0.1rem 0; }
    .underContents__sideNavigation:not(:first-of-type) {
      border-top: 1px solid #2d287f; }
    .underContents__sideNavigation + * {
      margin-top: 0.3rem; }
    .underContents__sideNavigation ul li {
      font-size: 0.14rem; }
      .underContents__sideNavigation ul li.-active {
        font-weight: 700; }
        .underContents__sideNavigation ul li.-active a {
          color: #8c88cb;
          pointer-events: none; }
        .underContents__sideNavigation ul li.-active .keySide::after {
          background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2226%22%20viewBox%3D%220%200%2020%2026%22%3E%0A%20%20%3Cpath%20fill%3D%22%238c88cb%22%20d%3D%22M493%2C7461H481a4%2C4%2C0%2C0%2C1-4-4v-9a4%2C4%2C0%2C0%2C1%2C4-4h12a4%2C4%2C0%2C0%2C1%2C4%2C4v9A4%2C4%2C0%2C0%2C1%2C493%2C7461Zm-12-15a2%2C2%2C0%2C0%2C0-2%2C2v9a2%2C2%2C0%2C0%2C0%2C2%2C2h12a2%2C2%2C0%2C0%2C0%2C2-2v-9a2%2C2%2C0%2C0%2C0-2-2H481Zm12%2C0a1%2C1%2C0%2C0%2C1-1-1v-3a5%2C5%2C0%2C0%2C0-10%2C0v3a1%2C1%2C0%2C0%2C1-2%2C0v-3a7%2C7%2C0%2C0%2C1%2C14%2C0v3A1%2C1%2C0%2C0%2C1%2C493%2C7446Zm-6%2C8.25a1.75%2C1.75%2C0%2C1%2C1%2C1.75-1.75A1.749%2C1.749%2C0%2C0%2C1%2C487%2C7454.25Zm0-2a0.248%2C0.248%2C0%2C0%2C0-.25.25%2C0.254%2C0.254%2C0%2C0%2C0%2C.5%2C0A0.248%2C0.248%2C0%2C0%2C0%2C487%2C7452.25Z%22%20transform%3D%22translate(-477%20-7435)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
          background-size: 100% auto; }
      .underContents__sideNavigation ul li a {
        text-decoration: none; } }
      @media screen and (min-width: 768px) and (hover: hover), screen and (min-width: 768px) and (-ms-high-contrast: active), screen and (min-width: 768px) and (-ms-high-contrast: none), print and (hover: hover) {
        .underContents__sideNavigation ul li a:hover {
          color: #8c88cb; } }
@media screen and (min-width: 768px), print {
        .underContents__sideNavigation ul li a.key::after {
          background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2226%22%20viewBox%3D%220%200%2020%2026%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M493%2C7461H481a4%2C4%2C0%2C0%2C1-4-4v-9a4%2C4%2C0%2C0%2C1%2C4-4h12a4%2C4%2C0%2C0%2C1%2C4%2C4v9A4%2C4%2C0%2C0%2C1%2C493%2C7461Zm-12-15a2%2C2%2C0%2C0%2C0-2%2C2v9a2%2C2%2C0%2C0%2C0%2C2%2C2h12a2%2C2%2C0%2C0%2C0%2C2-2v-9a2%2C2%2C0%2C0%2C0-2-2H481Zm12%2C0a1%2C1%2C0%2C0%2C1-1-1v-3a5%2C5%2C0%2C0%2C0-10%2C0v3a1%2C1%2C0%2C0%2C1-2%2C0v-3a7%2C7%2C0%2C0%2C1%2C14%2C0v3A1%2C1%2C0%2C0%2C1%2C493%2C7446Zm-6%2C8.25a1.75%2C1.75%2C0%2C1%2C1%2C1.75-1.75A1.749%2C1.749%2C0%2C0%2C1%2C487%2C7454.25Zm0-2a0.248%2C0.248%2C0%2C0%2C0-.25.25%2C0.254%2C0.254%2C0%2C0%2C0%2C.5%2C0A0.248%2C0.248%2C0%2C0%2C0%2C487%2C7452.25Z%22%20transform%3D%22translate(-477%20-7435)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
          background-size: 100% auto; }
        .underContents__sideNavigation ul li a .keySide {
          position: relative; }
          .underContents__sideNavigation ul li a .keySide::after {
            content: "";
            width: 0.1rem;
            height: 0.13rem;
            background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2226%22%20viewBox%3D%220%200%2020%2026%22%3E%0A%20%20%3Cpath%20fill%3D%22%232d287f%22%20d%3D%22M493%2C7461H481a4%2C4%2C0%2C0%2C1-4-4v-9a4%2C4%2C0%2C0%2C1%2C4-4h12a4%2C4%2C0%2C0%2C1%2C4%2C4v9A4%2C4%2C0%2C0%2C1%2C493%2C7461Zm-12-15a2%2C2%2C0%2C0%2C0-2%2C2v9a2%2C2%2C0%2C0%2C0%2C2%2C2h12a2%2C2%2C0%2C0%2C0%2C2-2v-9a2%2C2%2C0%2C0%2C0-2-2H481Zm12%2C0a1%2C1%2C0%2C0%2C1-1-1v-3a5%2C5%2C0%2C0%2C0-10%2C0v3a1%2C1%2C0%2C0%2C1-2%2C0v-3a7%2C7%2C0%2C0%2C1%2C14%2C0v3A1%2C1%2C0%2C0%2C1%2C493%2C7446Zm-6%2C8.25a1.75%2C1.75%2C0%2C1%2C1%2C1.75-1.75A1.749%2C1.749%2C0%2C0%2C1%2C487%2C7454.25Zm0-2a0.248%2C0.248%2C0%2C0%2C0-.25.25%2C0.254%2C0.254%2C0%2C0%2C0%2C.5%2C0A0.248%2C0.248%2C0%2C0%2C0%2C487%2C7452.25Z%22%20transform%3D%22translate(-477%20-7435)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
            background-size: 100% auto;
            position: absolute;
            top: 0;
            margin-left: 0.06rem; }
          .underContents__sideNavigation ul li a .keySide:hover::after {
            background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2226%22%20viewBox%3D%220%200%2020%2026%22%3E%0A%20%20%3Cpath%20fill%3D%22%238c88cb%22%20d%3D%22M493%2C7461H481a4%2C4%2C0%2C0%2C1-4-4v-9a4%2C4%2C0%2C0%2C1%2C4-4h12a4%2C4%2C0%2C0%2C1%2C4%2C4v9A4%2C4%2C0%2C0%2C1%2C493%2C7461Zm-12-15a2%2C2%2C0%2C0%2C0-2%2C2v9a2%2C2%2C0%2C0%2C0%2C2%2C2h12a2%2C2%2C0%2C0%2C0%2C2-2v-9a2%2C2%2C0%2C0%2C0-2-2H481Zm12%2C0a1%2C1%2C0%2C0%2C1-1-1v-3a5%2C5%2C0%2C0%2C0-10%2C0v3a1%2C1%2C0%2C0%2C1-2%2C0v-3a7%2C7%2C0%2C0%2C1%2C14%2C0v3A1%2C1%2C0%2C0%2C1%2C493%2C7446Zm-6%2C8.25a1.75%2C1.75%2C0%2C1%2C1%2C1.75-1.75A1.749%2C1.749%2C0%2C0%2C1%2C487%2C7454.25Zm0-2a0.248%2C0.248%2C0%2C0%2C0-.25.25%2C0.254%2C0.254%2C0%2C0%2C0%2C.5%2C0A0.248%2C0.248%2C0%2C0%2C0%2C487%2C7452.25Z%22%20transform%3D%22translate(-477%20-7435)%22%2F%3E%0A%3C%2Fsvg%3E%0A");
            background-size: 100% auto; }
      .underContents__sideNavigation ul li:not(:last-child) {
        margin-bottom: 0.17rem; } }

.-news .underContents__sideNavigation ul li.-activeParent a, .-event .underContents__sideNavigation ul li.-activeParent a {
  color: #000;
  font-weight: 400;
  pointer-events: all; }
  .-news .underContents__sideNavigation ul li.-activeParent a:hover, .-event .underContents__sideNavigation ul li.-activeParent a:hover {
    color: #8c88cb; }

@media screen and (min-width: 768px), print {
  .underContents__sideSubTitle {
    color: #2d287f;
    font-size: 0.14rem;
    font-weight: 700; }
    .underContents__sideSubTitle + * {
      margin-top: 0.26rem; } }

/* underEnTitles
============================================================= */
.underEnTitles {
  line-height: 1.3;
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .underEnTitles {
      font-size: 0.3rem; } }
  @media screen and (max-width: 767px) {
    .underEnTitles {
      font-size: 0.18rem; } }
  .underEnTitles > span {
    color: #2d287f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: italic;
    font-weight: 400;
    position: relative; }
    @media screen and (min-width: 768px), print {
      .underEnTitles > span {
        font-size: 0.14rem;
        margin-top: 0.13rem; } }
    @media screen and (max-width: 767px) {
      .underEnTitles > span {
        font-size: 0.1rem;
        margin-top: 0.06rem; } }
    .underEnTitles > span::before, .underEnTitles > span::after {
      background-color: #000;
      content: '';
      display: block;
      height: 1px; }
      @media screen and (min-width: 768px), print {
        .underEnTitles > span::before, .underEnTitles > span::after {
          width: 0.04rem; } }
      @media screen and (max-width: 767px) {
        .underEnTitles > span::before, .underEnTitles > span::after {
          width: 0.03rem; } }
    .underEnTitles > span::before {
      margin-right: 0.04rem; }
    .underEnTitles > span::after {
      margin-left: 0.05rem; }
  @media screen and (min-width: 768px), print {
    .underEnTitles + * {
      margin-top: 0.275rem; } }
  @media screen and (max-width: 767px) {
    .underEnTitles + * {
      margin-top: 0.15rem; } }
/* utilityNav
============================================================= */
@media screen and (min-width: 768px), print {
  .utilityNav {
    display: flex;
    justify-content: flex-end; } }

.utilityNav__item {
  line-height: 1.2; }
  @media screen and (min-width: 768px), print {
    .utilityNav__item {
      font-size: 0.12rem; }
      .utilityNav__item:not(:last-child) {
        margin-right: 0.34rem;
        margin-top: 0.1rem; } }
  @media screen and (max-width: 767px) {
    .utilityNav__item {
      border-bottom: 1px solid #8785b0; } }
  .utilityNav__item > a {
    text-decoration: none !important; }
    @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .utilityNav__item > a {
        transition-duration: 0.25s;
        text-decoration: none !important; }
        .utilityNav__item > a:hover {
          color: #2d287f; } }
    @media screen and (max-width: 767px) {
      .utilityNav__item > a {
        color: #fff;
        display: block;
        font-size: 0.16rem;
        font-weight: 700;
        padding: 0.17rem 0.55rem 0.17rem 0.15rem;
        position: relative; }
        .utilityNav__item > a::after {
          content: '';
          display: block;
          background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2230%22%20viewBox%3D%220%200%2015%2030%22%3E%0A%20%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M2909.7%2C946.012l-13.12%2C13.675a1.007%2C1.007%2C0%2C0%2C1-1.46%2C0c-0.4-.421.15-1.1%2C0.55-1.52L2908.3%2C945l-12.63-13.171c-0.4-.415-0.95-1.1-0.55-1.517a1%2C1%2C0%2C0%2C1%2C1.46%2C0l13.12%2C13.676A2.105%2C2.105%2C0%2C0%2C1%2C2909.7%2C946.012Z%22%20transform%3D%22translate(-2895%20-930)%22%2F%3E%0A%3C%2Fsvg%3E");
          background-size: 100% auto;
          position: absolute;
          right: 0.25rem;
          top: 0.19rem;
          width: 0.075rem;
          height: 0.15rem; } }
/* youtube
============================================================= */
.youtube {
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
  position: relative; }
  .youtube > * {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%; }

/* ===========================================================
  下層ページの検索フォーム
=========================================================== */
/* ===========================================================
  
=========================================================== */
#interviews span.name {
  color: #2d287f;
  font-weight: bold;
  padding-right: 10px; }

#interviews .member_inner {
  padding: 0.2rem 0.3rem;
  background: #eff1f7; }
  #interviews .member_inner h4 {
    color: #2d287f;
    font-size: 0.22rem;
    border-left: 5px solid #2d287f;
    padding: 2px 8px; }
  #interviews .member_inner ul.member_list {
    margin-top: 0.3rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem; }
    #interviews .member_inner ul.member_list li {
      clear: both;
      overflow: hidden;
      width: calc(50% - 10px); }
      #interviews .member_inner ul.member_list li .member_img {
        width: 24%;
        margin-right: 0.12rem;
        float: left; }
        #interviews .member_inner ul.member_list li .member_img img {
          width: 100%; }
      #interviews .member_inner ul.member_list li .member_info {
        width: 73%;
        font-size: 0.12rem;
        float: left; }
        #interviews .member_inner ul.member_list li .member_info .name {
          color: #2d287f;
          font-size: 0.2rem;
          font-weight: bold;
          padding-right: 10px; }
          #interviews .member_inner ul.member_list li .member_info .name span {
            font-size: 0.14rem; }

@media screen and (max-width: 767px) {
  #interviews .member_inner {
    padding: 0.1rem;
    background: #eff1f7; }
    #interviews .member_inner h4 {
      color: #2d287f;
      font-size: 0.15rem;
      border-left: 4px solid #2d287f;
      padding: 2px 8px; }
    #interviews .member_inner ul.member_list {
      margin-top: 0.1rem;
      display: block;
      gap: 0.2rem; }
      #interviews .member_inner ul.member_list li {
        width: 100%;
        margin-top: 0.14rem; }
        #interviews .member_inner ul.member_list li .member_img {
          width: 26%;
          margin-right: 0.1rem;
          float: left; }
          #interviews .member_inner ul.member_list li .member_img img {
            width: 100%; }
        #interviews .member_inner ul.member_list li .member_info {
          width: 70%;
          font-size: 0.11rem;
          float: left; }
          #interviews .member_inner ul.member_list li .member_info .name {
            font-size: 0.14rem; }
            #interviews .member_inner ul.member_list li .member_info .name span {
              font-size: 0.12rem; } }

#interviews h3.s_title {
  color: #2d287f;
  padding: 0.17rem  0; }
  #interviews h3.s_title span::before {
    width: 50%;
    height: 0.03rem;
    background-color: #2d287f;
    content: '';
    position: absolute;
    left: 0;
    top: 0; }

@media screen and (min-width: 768px), print {
  #interviews ul.col2_img {
    display: flex;
    gap: 15px; } }

@media screen and (min-width: 768px), print {
  #interviews {
    display: block; } }

/*.seeds__resultTitle {
  line-height: 1;
  font-weight: 700;
  border-top: 1px solid #dcdcdc;
  position: relative;
  @include mq-pc {
    font-size: rem(20);
    padding-top: rem(30);
    margin-top: rem(100);
  }
  @include mq-sp {
    font-size: rem(16);
    padding-top: rem(20);
    margin-top: rem(60);
  }

  &::before{
    content: "";
    position: absolute;
    background-color: clr(main);
    top: 0;
    left: 0;
    @include mq-pc {
      width: rem(300);
      height: rem(4);
    }
    @include mq-sp {
      width: rem(130);
      height: 2px;
    }
  }
}*/
/* ===========================================================
  seeds内のボタン
=========================================================== 
 
.BtnKeyword{
  text-align: center;
  
  @include mq-pc{
    margin-top: rem(40);
  }

  @include mq-sp{
    margin-top: rem(28);
  }

  .button{
    @include mq-pc{
      width: rem(400);
    }

    @include mq-sp{
      width: rem(300);
    }
  }
}
*/
/* ===========================================================
  ページスタイル
=========================================================== */
/* mv
============================================================= */
.mv {
  position: relative; }
  @media screen and (max-width: 767px) {
    .mv {
      height: 5rem; } }
@media screen and (max-width: 767px) {
  .mv__inner {
    height: 100%; } }

.mv__body {
  position: absolute;
  left: 0;
  z-index: 1; }
  @media screen and (min-width: 768px), print {
    .mv__body {
      top: 2.95rem;
      padding: 0.32rem 0.64rem 0.32rem 0.64rem; } }
  @media screen and (max-width: 767px) {
    .mv__body {
      top: 2.68rem;
      padding: 0.06rem 0.16rem 0.1rem; } }
  .mv__body::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: .7;
    top: 0;
    left: 0;
    z-index: -1; }

.mv__titleHeading {
  display: inline-block;
  line-height: 1;
  letter-spacing: .05em; }
  @media screen and (min-width: 768px), print {
    .mv__titleHeading {
      font-size: 0.18rem; } }
  @media screen and (max-width: 767px) {
    .mv__titleHeading {
      font-size: 0.1rem; } }
.mv__title {
  font-weight: 600;
  line-height: 1;
  letter-spacing: .03em; }
  @media screen and (min-width: 768px), print {
    .mv__title {
      font-size: 0.48rem;
      margin-top: 0.16rem !important; } }
  @media screen and (max-width: 767px) {
    .mv__title {
      font-size: 0.24rem;
      margin-top: 0.08rem !important; } }
@media screen and (min-width: 768px), print {
  .mv__bg {
    width: 100%;
    height: auto; } }

.mv__bg img {
  width: 100%;
  height: auto; }

@media screen and (min-width: 768px), print {
  .mv__bgSlider .slick-dots {
    bottom: 1.2rem; } }

@media screen and (max-width: 767px) {
  .mv__bgSlider .slick-dots {
    bottom: 0.8rem; } }

/* secMessage
============================================================= */
.secMessage {
  position: relative;
  background-color: #fff;
  z-index: 1; }
  @media screen and (min-width: 768px), print {
    .secMessage {
      border-radius: 1.04rem;
      margin-top: -0.98rem;
      padding: 0.64rem 0 0.4rem; } }
  @media screen and (max-width: 767px) {
    .secMessage {
      margin-top: -0.54rem;
      padding: 0.24rem 0 0;
      border-radius: 0.4rem; } }
  .secMessage .section__inner {
    position: relative;
    display: grid; }
    .secMessage .section__inner > * {
      grid-area: 1/-1; }
    @media screen and (min-width: 768px), print {
      .secMessage .section__inner {
        align-items: center;
        margin-top: 0.64rem; } }
    @media screen and (max-width: 767px) {
      .secMessage .section__inner {
        align-items: start;
        margin-top: 0.32rem; } }
.secMessage__title {
  font-weight: 600;
  letter-spacing: .03em;
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .secMessage__title {
      font-size: 0.32rem;
      line-height: 1; } }
  @media screen and (max-width: 767px) {
    .secMessage__title {
      font-size: 0.18rem;
      line-height: 1.75; } }
.secMessage__body {
  background-color: #fff;
  z-index: 5; }
  @media screen and (min-width: 768px), print {
    .secMessage__body {
      width: 8.4rem;
      margin-block: 0.4rem;
      padding: 0.6rem 0.4rem 0.32rem 0; } }
  @media screen and (max-width: 767px) {
    .secMessage__body {
      margin-inline: 0.15rem;
      padding: 0 0.24rem 0.32rem; } }
.secMessage__text {
  line-height: 1.75; }
  @media screen and (min-width: 768px), print {
    .secMessage__text {
      font-size: 0.16rem; } }
  @media screen and (max-width: 767px) {
    .secMessage__text {
      font-size: 0.14rem;
      letter-spacing: .03em; } }
  @media screen and (min-width: 768px), print {
    .secMessage__text + .secMessage__text {
      margin-top: 0.24rem; } }
  @media screen and (max-width: 767px) {
    .secMessage__text + .secMessage__text {
      margin-top: 0.24rem; } }
.secMessage__movie {
  height: 0;
  overflow: hidden;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .secMessage__movie {
      width: 100%;
      margin-top: 0.32rem;
      padding-top: 4.5rem; } }
  @media screen and (max-width: 767px) {
    .secMessage__movie {
      width: 100%;
      margin-top: 0.24rem;
      padding-top: 1.5rem; } }
  .secMessage__movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important; }

.secMessage__note {
  margin-top: 0.08rem; }
  @media screen and (min-width: 768px), print {
    .secMessage__note {
      font-size: 0.14rem; } }
  @media screen and (max-width: 767px) {
    .secMessage__note {
      font-size: 0.1rem; } }
@media screen and (min-width: 768px), print {
  .secMessage__bg {
    width: 13rem;
    height: calc(100% + 0.8rem); } }

.secMessage__bg img {
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  object-fit: cover; }

/* secMessage
============================================================= */
@media screen and (min-width: 768px), print {
  .secFeature {
    margin-top: 1.28rem; } }

@media screen and (max-width: 767px) {
  .secFeature {
    margin-top: 0.64rem; } }

.secFeature__title {
  font-weight: 700;
  border-top: 1px solid #DCDCDC;
  line-height: 1;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .secFeature__title {
      padding-top: 0.4rem;
      padding-left: 0.1rem;
      font-size: 0.24rem; } }
  @media screen and (max-width: 767px) {
    .secFeature__title {
      font-size: 0.16rem;
      padding-top: 0.21rem;
      padding-left: 0.04rem; } }
  .secFeature__title::before {
    content: "";
    position: absolute;
    height: 0.05rem;
    background-color: #2D287F;
    top: -0.02rem;
    left: 0; }
    @media screen and (min-width: 768px), print {
      .secFeature__title::before {
        width: 2.5rem; } }
    @media screen and (max-width: 767px) {
      .secFeature__title::before {
        width: 1.25rem; } }
.secFeature__content {
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 768px), print {
    .secFeature__content {
      margin-top: 0.46rem;
      padding: 0.64rem 1.51rem; } }
  @media screen and (max-width: 767px) {
    .secFeature__content {
      margin-top: 0.32rem;
      padding: 0.15rem; } }
  .secFeature__content::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: #5148e5;
    background: -moz-linear-gradient(0deg, #5148e5 0%, #2d287f 100%);
    background: -webkit-linear-gradient(0deg, #5148e5 0%, #2d287f 100%);
    background: linear-gradient(0deg, #5148e5 0%, #2d287f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#5148e5",endColorstr="#2d287f",GradientType=1);
    opacity: .05;
    z-index: -1; }

.secFeature__contentBody {
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 40px 10px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 0px 40px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 40px 10px rgba(0, 0, 0, 0.1); }
  @media screen and (min-width: 768px), print {
    .secFeature__contentBody {
      padding: 0.64rem 0.64rem 0.5rem; } }
  @media screen and (max-width: 767px) {
    .secFeature__contentBody {
      padding: 0.24rem 0.24rem 0.32rem; } }
.secFeature__contentImg {
  margin-right: auto;
  margin-left: auto; }
  @media screen and (min-width: 768px), print {
    .secFeature__contentImg {
      width: 8.7rem; } }
  @media screen and (max-width: 767px) {
    .secFeature__contentImg {
      width: 100%;
      width: calc(100% + 0.48rem);
      margin-left: -0.24rem; } }
  .secFeature__contentImg img {
    width: 100%;
    height: auto; }
  @media screen and (min-width: 768px), print {
    .secFeature__contentImg + * {
      margin-top: 0.5rem; } }
  @media screen and (max-width: 767px) {
    .secFeature__contentImg + * {
      margin-top: 0.24rem; } }
@media screen and (min-width: 768px), print {
  .secFeature__contentText {
    font-size: 0.16rem;
    line-height: 2.2; } }

@media screen and (max-width: 767px) {
  .secFeature__contentText {
    font-size: 0.14rem;
    line-height: 1.8; } }

@media screen and (min-width: 768px), print {
  .secFeature__contentText + .secFeature__contentText {
    margin-top: 0.32rem; } }

@media screen and (max-width: 767px) {
  .secFeature__contentText + .secFeature__contentText {
    margin-top: 0.16rem; } }

.secFeature__list {
  display: flex; }
  @media screen and (min-width: 768px), print {
    .secFeature__list {
      margin-top: 0.64rem; } }
  @media screen and (max-width: 767px) {
    .secFeature__list {
      flex-direction: column; } }
  @media screen and (min-width: 768px), print {
    .secFeature__list > li {
      flex: 1;
      padding: 0.4rem 0.34rem 0.34rem;
      border-left: 1px solid #DCDCDC; } }
  @media screen and (max-width: 767px) {
    .secFeature__list > li {
      padding: 0.32rem 0.16rem 0.24rem;
      border-bottom: 1px solid #DCDCDC; } }
  @media screen and (min-width: 768px), print {
    .secFeature__list > li:last-of-type {
      border-right: 1px solid #DCDCDC; } }
.secFeature__listTitle {
  font-weight: 600;
  line-height: 1; }
  @media screen and (min-width: 768px), print {
    .secFeature__listTitle {
      font-size: 0.24rem; } }
  @media screen and (max-width: 767px) {
    .secFeature__listTitle {
      font-size: 0.18rem; } }
@media screen and (min-width: 768px), print {
  .secFeature__listText {
    font-size: 0.16rem;
    line-height: 2.2;
    margin-top: 0.18rem; } }

@media screen and (max-width: 767px) {
  .secFeature__listText {
    font-size: 0.14rem;
    line-height: 1.8;
    margin-top: 0.22rem; } }

.secFeature__text {
  font-weight: 600;
  letter-spacing: .03em; }
  @media screen and (min-width: 768px), print {
    .secFeature__text {
      text-align: center;
      margin-top: 0.8rem;
      line-height: 2; } }
  @media screen and (max-width: 767px) {
    .secFeature__text {
      margin-top: 0.36rem;
      line-height: 1.75;
      letter-spacing: 0; } }
/* secFacility
============================================================= */
.secFacility {
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 768px), print {
    .secFacility {
      padding-top: 1.63rem; } }
  @media screen and (max-width: 767px) {
    .secFacility {
      padding-top: 1.34rem; } }
  .secFacility::after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto; }
    @media screen and (min-width: 768px), print {
      .secFacility::after {
        background: url(img/bg_facility.png) no-repeat center center/100%;
        width: 14.56rem;
        height: 7.96rem;
        top: 0.98rem; } }
    @media screen and (max-width: 767px) {
      .secFacility::after {
        background: url(img/bg_facility@sp.png) no-repeat center center/100%;
        width: 3.45rem;
        height: 1.8861rem;
        top: 0.56rem; } }
.secFacility__title {
  text-align: center;
  line-height: 1;
  font-weight: 600; }
  @media screen and (min-width: 768px), print {
    .secFacility__title {
      letter-spacing: .03em; } }
.secFacility__cardList {
  display: flex; }
  @media screen and (min-width: 768px), print {
    .secFacility__cardList {
      width: 10.4rem;
      margin: 0.37rem auto 0;
      flex-wrap: wrap;
      gap: 0.32rem 0.4rem; } }
  @media screen and (max-width: 767px) {
    .secFacility__cardList {
      flex-direction: column;
      margin-top: 0.31rem;
      gap: 0.32rem 0; } }
  @media screen and (min-width: 768px), print {
    .secFacility__cardList > li {
      width: calc((100% - 0.4rem) / 2); } }
.secFacility__img {
  width: 100%; }
  .secFacility__img img {
    width: 100%;
    height: auto; }

.secFacility__text {
  font-size: 0.14rem;
  letter-spacing: .03em;
  margin-top: 0.1rem; }

/* ===========================================================
  下層ページの検索フォーム
=========================================================== */
.lowerPage__searchArea {
  width: 100%;
  background-color: #f9f9f9; }
  @media screen and (min-width: 768px), print {
    .lowerPage__searchArea {
      padding: 0.35rem 0; } }
  @media screen and (max-width: 767px) {
    .lowerPage__searchArea {
      padding: 0.2rem 0; } }
.searchForm {
  background-color: #000;
  display: flex;
  align-items: center;
  margin-right: auto;
  margin-left: auto; }
  @media screen and (min-width: 768px), print {
    .searchForm {
      width: 9.25rem;
      min-height: 0.85rem;
      padding: 0.125rem; } }
  @media screen and (max-width: 767px) {
    .searchForm {
      width: 3.15rem;
      padding: 0.08rem; } }
  @media screen and (min-width: 768px), print {
    .searchForm + p {
      width: 9.25rem;
      line-height: 1;
      margin-top: 0.3rem;
      margin-right: auto;
      margin-left: auto; } }
  @media screen and (max-width: 767px) {
    .searchForm + p {
      width: 3.15rem;
      margin-top: 0.2rem;
      margin-right: 0.15rem;
      margin-left: 0.15rem; } }
.searchForm__input {
  background-color: #fff;
  border: none !important; }
  @media screen and (min-width: 768px), print {
    .searchForm__input {
      width: 7.75rem;
      height: 0.6rem;
      margin-right: 2px;
      padding: 0.2rem !important; } }
  @media screen and (max-width: 767px) {
    .searchForm__input {
      width: 2.2rem; } }
  .searchForm__input::placeholder {
    color: #000; }
    @media screen and (min-width: 768px), print {
      .searchForm__input::placeholder {
        font-size: 0.14rem; } }
    @media screen and (max-width: 767px) {
      .searchForm__input::placeholder {
        font-size: 0.12rem; } }
.searchForm__button {
  color: #fff;
  font-weight: 400;
  border: 1px solid transparent;
  background-color: #000; }
  @media screen and (min-width: 768px), print {
    .searchForm__button {
      flex: 1;
      width: 1.16rem;
      height: 0.6rem;
      font-size: 0.18rem; } }
  @media screen and (max-width: 767px) {
    .searchForm__button {
      width: 0.8rem;
      font-size: 0.16rem; } }
  @media (hover: hover), screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .searchForm__button {
      transition-duration: 0.25s; }
      .searchForm__button:hover {
        border-color: #444; } }
/* ===========================================================
  seeds内のタイトル
=========================================================== */
.seeds__resultTitle {
  line-height: 1;
  font-weight: 700;
  border-top: 1px solid #dcdcdc;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .seeds__resultTitle {
      font-size: 0.2rem;
      padding-top: 0.3rem;
      margin-top: 1rem; } }
  @media screen and (max-width: 767px) {
    .seeds__resultTitle {
      font-size: 0.16rem;
      padding-top: 0.2rem;
      margin-top: 0.6rem; } }
  .seeds__resultTitle::before {
    content: "";
    position: absolute;
    background-color: #2d287f;
    top: 0;
    left: 0; }
    @media screen and (min-width: 768px), print {
      .seeds__resultTitle::before {
        width: 3rem;
        height: 0.04rem; } }
    @media screen and (max-width: 767px) {
      .seeds__resultTitle::before {
        width: 1.3rem;
        height: 2px; } }
/* ===========================================================
  seeds内のボタン
=========================================================== */
.BtnKeyword {
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .BtnKeyword {
      margin-top: 0.4rem; } }
  @media screen and (max-width: 767px) {
    .BtnKeyword {
      margin-top: 0.28rem; } }
  @media screen and (min-width: 768px), print {
    .BtnKeyword .button {
      width: 4rem; } }
  @media screen and (max-width: 767px) {
    .BtnKeyword .button {
      width: 3rem; } }
