@charset "UTF-8";
/* **************************************************

  font-family

************************************************** */
/* **************************************************

  easing

************************************************** */
/* **************************************************

  transition

************************************************** */
/* **************************************************

  curves

************************************************** */
/* **************************************************

  concave

************************************************** */
/* **************************************************

  media

************************************************** */
/* ==============================
  min
============================== */
/* ==============================
  max
============================== */
/* ==============================
  screen
============================== */
body, html {
  font: 16px/1.5 "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
}

html {
  background: #fff;
  color: #333;
}

body {
  margin: 0;
  overflow: visible;
  padding: 0;
}

a img, img {
  border: 0;
}

blockquote, dd, div, dl, dt, h1, h2, h3, h4, h5, h6, li, ol, p, pre, span, td, th, ul {
  margin: 0;
  padding: 0;
}

abbr, acronym {
  border: 0;
}

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

caption, th {
  text-align: left;
}

code, kbd, pre, samp, tt {
  font-family: monospace;
  line-height: 100%;
}

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

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

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

button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

table {
  border-spacing: 0;
  font-size: 100%;
}

td, th {
  vertical-align: top;
}

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

button {
  background: 0;
  outline: 0;
  border: 0;
  -webkit-appearance: none;
  cursor: pointer;
}

em {
  font-style: italic;
}

sub {
  display: block;
}

@media screen and (max-width: 599px) {
  body, html {
    font-size: 4.2666666667vw;
  }
}
/* **************************************************

  font-family

************************************************** */
/* **************************************************

  easing

************************************************** */
/* **************************************************

  transition

************************************************** */
/* **************************************************

  curves

************************************************** */
/* **************************************************

  concave

************************************************** */
/* **************************************************

  media

************************************************** */
/* ==============================
  min
============================== */
/* ==============================
  max
============================== */
/* ==============================
  screen
============================== */
/* **************************************************

  AvantGarde Demi

************************************************** */
@font-face {
  font-family: AvantGardeDemi;
  src: url(../fonts/AvantGarde-Demi.woff2) format("woff2"), url(../fonts/AvantGarde-Demi.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
/* **************************************************

  SalesforceSans

************************************************** */
@font-face {
  font-family: "SalesforceSans";
  src: url("../fonts/SalesforceSans-Thin.eot?9uztsl"); /* IE9 Compat Modes */
  src: url("../fonts/SalesforceSans-Thin.eot?#iefix") format("embedded-opentype"), url("../fonts/SalesforceSans-Thin.woff?9uztsl") format("woff"), url("../fonts/SalesforceSans-Thin.woff2?9uztsl") format("woff2"), url("../fonts/SalesforceSans-Thin.ttf?9uztsl") format("truetype"), url("../fonts/SalesforceSans-Thin.svg?9uztsl#svgFontName") format("svg"); /* Legacy iOS */
  font-weight: 100;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "SalesforceSans";
  src: url("../fonts/SalesforceSans-Light.eot?9uztsl"); /* IE9 Compat Modes */
  src: url("../fonts/SalesforceSans-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/SalesforceSans-Light.woff?9uztsl") format("woff"), url("../fonts/SalesforceSans-Light.woff2?9uztsl") format("woff2"), url("../fonts/SalesforceSans-Light.ttf?9uztsl") format("truetype"), url("../fonts/SalesforceSans-Light.svg?9uztsl#svgFontName") format("svg"); /* Legacy iOS */
  font-weight: 300;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "SalesforceSans";
  src: url("../fonts/SalesforceSans-Regular.eot?9uztsl"); /* IE9 Compat Modes */
  src: url("../fonts/SalesforceSans-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/SalesforceSans-Regular.woff?9uztsl") format("woff"), url("../fonts/SalesforceSans-Regular.woff2?9uztsl") format("woff2"), url("../fonts/SalesforceSans-Regular.ttf?9uztsl") format("truetype"), url("../fonts/SalesforceSans-Regular.svg?9uztsl#svgFontName") format("svg"); /* Legacy iOS */
  font-weight: 400;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "SalesforceSans";
  src: url("../fonts/SalesforceSans-Bold.eot?9uztsl"); /* IE9 Compat Modes */
  src: url("../fonts/SalesforceSans-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/SalesforceSans-Bold.woff?9uztsl") format("woff"), url("../fonts/SalesforceSans-Bold.woff2?9uztsl") format("woff2"), url("../fonts/SalesforceSans-Bold.ttf?9uztsl") format("truetype"), url("../fonts/SalesforceSans-Bold.svg?9uztsl#svgFontName") format("svg"); /* Legacy iOS */
  font-weight: 700;
  font-style: normal;
  font-display: block;
}
/* **************************************************

  Icon

************************************************** */
@font-face {
  font-family: "icon";
  src: url("../fonts/icon.eot?o1ni34");
  src: url("../fonts/icon.eot?o1ni34#iefix") format("embedded-opentype"), url("../fonts/icon.ttf?o1ni34") format("truetype"), url("../fonts/icon.woff?o1ni34") format("woff"), url("../fonts/icon.svg?o1ni34#icon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  font-family: "icon" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-blank:before {
  content: "\e900";
}

/* **************************************************

  Display property

************************************************** */
.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

@media screen and (min-width: 601px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
}
@media screen and (min-width: 769px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
}
@media screen and (min-width: 961px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1281px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
}
/* **************************************************

  Text

************************************************** */
/* ==============================
  Text wrapping and overflow
============================== */
.text-justify {
  text-align: justify !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ==============================
  Text alignment
============================== */
.text-transform-uppercase {
  text-transform: uppercase !important;
}

.text-transform-lowercase {
  text-transform: lowercase !important;
}

/* ==============================
  Text alignment
============================== */
.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media screen and (min-width: 601px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media screen and (min-width: 769px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media screen and (min-width: 961px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media screen and (min-width: 1281px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
/* ==============================
  Font weight and italics
============================== */
.font-weight-light {
  font-weight: 300 !important;
}

.font-weight-normal {
  font-weight: 400 !important;
}

.font-weight-bold {
  font-weight: 700 !important;
}

.font-italic {
  font-style: italic !important;
}

/* ==============================
  Vertical alignment
============================== */
.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

/* **************************************************

  Flexbox

************************************************** */
/* ==============================
  justify-content
============================== */
.justify-start {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}

.justify-end {
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important;
}

.justify-center {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

.justify-between {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

.justify-around {
  -ms-flex-pack: distribute !important;
      justify-content: space-around !important;
}

@media screen and (min-width: 601px) {
  .justify-sm-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-sm--end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-sm--center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-sm--between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-sm--around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
}
@media screen and (min-width: 769px) {
  .justify-md-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-md--end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-md--center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-md--between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-md--around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
}
@media screen and (min-width: 961px) {
  .justify-lg-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-lg--end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-lg--center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-lg--between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-lg--around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
}
@media screen and (min-width: 1281px) {
  .justify-xl-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
  }
  .justify-xl--end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important;
  }
  .justify-xl--center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
  .justify-xl--between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important;
  }
  .justify-xl--around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
  }
}
/* **************************************************

  Position

************************************************** */
.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

/* **************************************************

  Sizing

************************************************** */
.w-100 {
  width: 100% !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

/* **************************************************

  Spacing

************************************************** */
.mx-auto {
  margin-right: auto !important;
}

.mx-auto {
  margin-left: auto !important;
}

/* **************************************************

  Visibility

************************************************** */
.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

/* **************************************************

  Slash

************************************************** */
.slash {
  font-weight: 300 !important;
}

/* **************************************************

  elements

************************************************** */
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@-ms-viewport {
  width: device-width;
}
:after,
:before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  font-size: 0.8333333333vw;
  background: #EAF5FE;
}

html.has-effect *[data-effect=no], html.has-effect *[data-effect=no] *, html.has-effect *[data-effect=no] *:before, html.has-effect *[data-effect=no] *:after {
  -webkit-transition: none !important;
  transition: none !important;
  -webkit-transition-delay: 0s !important;
          transition-delay: 0s !important;
}

body {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
  font-smooth: always;
  line-height: 1.5;
  color: #0F2D5D;
  text-align: left;
  letter-spacing: 0.05em;
  overflow-x: hidden;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

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

* {
  outline: none;
}
*::-moz-selection {
  background: rgba(207, 235, 248, 0.5);
  color: #000;
}
*::selection {
  background: rgba(207, 235, 248, 0.5);
  color: #000;
}
*::-moz-selection {
  background: rgba(207, 235, 248, 0.5);
  color: #000;
}
*::-webkit-input-placeholder {
  color: #B7BFCE;
}
*:-moz-placeholder-shown {
  color: #B7BFCE;
}
*:-ms-input-placeholder {
  color: #B7BFCE;
}
*:placeholder-shown {
  color: #B7BFCE;
}

a {
  text-decoration: none;
  color: #0B5CAB;
}
a:link, a:visited {
  text-decoration: none;
}
a.underline {
  text-decoration: underline;
}
a img {
  border: none;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  border: none;
  outline: none;
  -ms-interpolation-mode: bicubic;
  image-rendering: crisp-edges;
}

table {
  line-height: 1.5;
}

input,
textarea,
select {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
  color: #0F2D5D;
  border: none;
  outline: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
}

sub {
  display: inline;
}

@media (any-hover: hover) {
  a,
  button {
    -webkit-transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
    transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out, opacity 0.2s ease-in-out;
  }
  a:focus-visible,
  button:focus-visible {
    color: #459CD5;
  }
}
@media (any-hover: hover) and (any-hover: hover) {
  a:hover,
  button:hover {
    color: #459CD5;
  }
}
@media screen and (max-width: 1920px) {
  html,
  body {
    font-size: 16px;
  }
}
@media screen and (max-width: 960px) {
  html.is-menu-open body {
    overflow: hidden;
  }
}
@media screen and (min-width: 769px) {
  img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}
@media screen and (max-width: 1280px) {
  body {
    background-size: 1280px auto;
  }
}
@media screen and (max-width: 768px) {
  html,
  body {
    font-size: 2.0860495437vw;
  }
}
@media screen and (max-width: 600px) {
  html,
  body {
    font-size: 4.2666666667vw;
  }
}
/* ==================================================
* wrapper
================================================== */
@media screen and (min-width: 601px) {
  .wrapper {
    background: url("../images/bg_01.jpg") repeat-y center top;
    background-size: 100% auto;
  }
}
@media screen and (max-width: 600px) {
  .wrapper {
    background: url("../images/bg_01_sp.jpg") repeat-y center top;
    background-size: 100% auto;
  }
}
/* **************************************************

  header

************************************************** */
@media screen and (min-width: 961px) {
  .header {
    color: #fff;
    background: #032D60;
  }
  .header > .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header .logo {
    width: 21.25rem;
    padding-left: 1.25rem;
  }
  .header .nav {
    font-size: 0.875rem;
    font-weight: 700;
    margin-right: 20px;
  }
  .header .nav .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header .nav .list li:nth-child(n+2) {
    margin-left: clamp(1.5rem, -0.006rem + 2.51vw, 2rem);
  }
  .header .nav .list li a {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 3.75rem;
  }
  .header .nav .list li a:focus-visible {
    color: #459CD5;
  }
}
@media screen and (min-width: 961px) and (any-hover: hover) {
  .header .nav .list li a:hover {
    color: #459CD5;
  }
}
@media screen and (min-width: 961px) {
  .header .nav .list li.application a {
    color: #fff;
    background: #F4593D;
    padding: 0 2rem;
  }
  .header .nav .list li.application a:focus-visible {
    color: #fff;
    background: #459CD5;
  }
}
@media screen and (min-width: 961px) and (any-hover: hover) {
  .header .nav .list li.application a:hover {
    color: #fff;
    background: #459CD5;
  }
}
@media screen and (min-width: 961px) {
  .header .nav .list li.close {
    display: none;
  }
  .header .place {
    display: none;
  }
}
@media screen and (max-width: 1280px) {
  .header .nav {
    font-size: clamp(0.813rem, 0.624rem + 0.31vw, 0.875rem);
  }
}
@media screen and (max-width: 960px) {
  .header {
    color: #fff;
    background: #fff url("../images/menu_bg.jpg") no-repeat center top;
    background-size: cover;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
    width: 100%;
    height: 100%;
    z-index: 999;
    overflow: hidden;
    overflow-y: auto;
    position: fixed;
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.5s cubic-bezier(0.33, 1, 0.68, 1), visibility 0s 0.5s;
    transition: opacity 0.5s cubic-bezier(0.33, 1, 0.68, 1), visibility 0s 0.5s;
  }
  .header > .inner {
    padding: 12.625rem 10.6666666667vw 1.25rem;
  }
  .header .logo img {
    width: 37.125rem;
  }
  .header .date {
    font-family: "AvantGardeDemi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
    font-size: 1.875rem;
    font-weight: 700;
    margin-top: 1.25rem;
  }
  .header .date .week {
    font-size: 0.6666666667em;
  }
  .header .nav {
    font-size: 1.375rem;
    margin-top: 4.4em;
  }
  .header .nav .list {
    border-top: solid 1px #fff;
  }
  .header .nav .list li a {
    display: block;
  }
  .header .nav .list li:not(.application):not(.close) {
    border-bottom: solid 1px #fff;
  }
  .header .nav .list li:not(.application):not(.close) a {
    color: #fff;
    padding: 1em 0;
  }
  .header .nav .list li:not(.application):not(.close) a:focus-visible {
    outline: solid 2px;
  }
  .header .nav .list li.application {
    font-size: 1.3125rem;
    font-weight: 700;
    margin-top: 2.1428571429em;
  }
  .header .nav .list li.application a {
    color: #fff;
    background: #F4593D;
    padding: 1.2857142857em 0.5em;
    border-radius: 0.5em;
  }
  .header .nav .list li.application a:focus-visible {
    background-color: #459cd5;
  }
}
@media screen and (max-width: 960px) and (any-hover: hover) {
  .header .nav .list li.application a:hover {
    background-color: #459cd5;
  }
}
@media screen and (max-width: 960px) {
  .header .nav .list li.close {
    font-size: 1.125rem;
    margin-top: 3.3333333333em;
  }
  .header .nav .list li.close a {
    color: #032D60;
    background: #fff;
    max-width: 8.5em;
    margin: 0 auto;
    padding: 0.9166666667em 0.5em;
    border-radius: 0.5833333333em;
  }
  .header .nav .list li.close a:focus-visible {
    color: #fff;
    background-color: #459cd5;
  }
}
@media screen and (max-width: 960px) and (any-hover: hover) {
  .header .nav .list li.close a:hover {
    color: #fff;
    background-color: #459cd5;
  }
}
@media screen and (max-width: 960px) {
  .header .place {
    font-family: "AvantGardeDemi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
    font-size: 1rem;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    margin-top: 0.5rem;
    margin-inline: auto;
    position: relative;
  }
  .header .place::before, .header .place::after {
    content: "";
    display: block;
    width: 6.75rem;
    border-top: solid 1px;
    position: absolute;
    top: 50%;
  }
  .header .place::before {
    left: -0.5rem;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  .header .place::after {
    right: -0.5rem;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  .is-menu-open .header {
    visibility: visible;
    opacity: 1;
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
}
@media screen and (max-width: 600px) {
  .header > .inner {
    padding: 6rem 2.25rem 1.25rem;
  }
  .header .logo img {
    width: 17.75rem;
  }
  .header .date {
    font-size: 1.0625rem;
    margin-top: 0.75rem;
  }
  .header .nav {
    font-size: 4vw;
    margin-top: 2.5rem;
  }
  .header .nav .list li.application {
    font-size: 3.7333333333vw;
  }
  .header .nav .list li.close {
    font-size: 3.2vw;
  }
  .header .place::before, .header .place::after {
    width: 2.8125rem;
  }
}
@media (-webkit-min-device-pixel-ratio: 2) {
  .header .nav .list,
  .header .nav .list li {
    border-width: 0.5px !important;
  }
}

/* **************************************************

  menu

************************************************** */
@media screen and (min-width: 961px) {
  .menu {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .menu {
    background: #032D60;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 3.125rem;
    height: 3.125rem;
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    cursor: pointer;
  }
  .menu .line {
    background: #fff;
    display: block;
    width: 1.5rem;
    height: 0.1875rem;
    border-radius: 9999px;
    -webkit-transition: width 0.2s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.2s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: width 0.2s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.2s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: width 0.2s cubic-bezier(0.65, 0, 0.35, 1), transform 0.2s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.2s cubic-bezier(0.65, 0, 0.35, 1);
    transition: width 0.2s cubic-bezier(0.65, 0, 0.35, 1), transform 0.2s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.2s cubic-bezier(0.65, 0, 0.35, 1), -webkit-transform 0.2s cubic-bezier(0.65, 0, 0.35, 1);
  }
  .menu .line:nth-child(2) {
    margin: 0.3125rem 0;
  }
  .is-menu-open .menu .line:nth-child(1) {
    width: 2rem;
    -webkit-transform: translateY(calc(100% + 0.3125rem)) rotate(45deg);
            transform: translateY(calc(100% + 0.3125rem)) rotate(45deg);
  }
  .is-menu-open .menu .line:nth-child(2) {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    opacity: 0;
  }
  .is-menu-open .menu .line:nth-child(3) {
    width: 2rem;
    -webkit-transform: translateY(calc(-100% - 0.3125rem)) rotate(-45deg);
            transform: translateY(calc(-100% - 0.3125rem)) rotate(-45deg);
  }
}

/* **************************************************

  footer

************************************************** */
.footer {
  font-family: "AvantGardeDemi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
  color: #032D60;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 6.25rem;
  padding: 0 1.875rem;
}
.footer .copy {
  font-size: 0.6875rem;
}
@media screen and (min-width: 601px) {
  .footer {
    background: url("../images/footer_bg.jpg") no-repeat center center;
    background-size: cover;
  }
}
@media screen and (max-width: 600px) {
  .footer {
    background: url("../images/footer_bg_sp.jpg") no-repeat center center;
    background-size: cover;
    background-position: 85% 50%;
    background-size: cover;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    height: 2.875rem;
    padding: 0 1.25rem;
  }
  .footer .copy {
    font-size: 0.5625rem;
  }
}

/* **************************************************

  container

************************************************** */
.container {
  overflow: clip;
}
@media screen and (max-width: 1280px) {
  .container {
    background-size: 1280px auto;
  }
}
@media screen and (min-width: 601px) {
  .container {
    background: url("../images/bg_02.jpg") no-repeat center top;
    background-size: 100% auto;
  }
}
@media screen and (max-width: 600px) {
  .container {
    background: url("../images/bg_02_sp.jpg") no-repeat center top;
    background-size: 100% auto;
  }
}

/* **************************************************

  main

************************************************** */
.main {
  font-weight: 700;
  text-align: center;
  position: relative;
  z-index: 100;
  position: relative;
}
.main:before {
  display: block;
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
.main > .img1 {
  width: 18.75rem;
  position: absolute;
  top: -1.25rem;
  right: -1.25rem;
}
.main > .img1 img {
  width: 100%;
}
.main > .body {
  position: relative;
  z-index: 1;
}
.main > .body > .inner {
  padding: 6.25rem 3.125rem 0;
  position: relative;
  z-index: 1;
}
.main .logo {
  text-align: center;
}
.main .logo img {
  width: 37.125rem;
}
.main .date {
  font-family: "AvantGardeDemi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  margin-top: 1rem;
}
.main .date .week {
  font-size: 0.6666666667em;
}
.main .txt1 {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.6666666667;
  text-align: center;
  margin-top: 3.125rem;
}
.main .txt1 + .txt2 {
  margin-top: 3.375rem;
}
.main .txt2 {
  font-size: 1.0625rem;
  margin-top: 2.25rem;
}
.main .notes {
  font-size: 0.8125rem;
  margin-top: 1.625rem;
}
.main .end {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 44.375rem;
  margin: 3.75rem auto 0;
  padding: 1rem 0;
  border-top: solid 1px currentColor;
  border-bottom: solid 1px currentColor;
}
.main .generate {
  font-family: AvantGardeDemi;
  font-size: 0.5625rem;
  text-align: right;
}
.main .place {
  font-family: "AvantGardeDemi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
  font-size: 1rem;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-top: 0.5rem;
  margin-inline: auto;
  position: relative;
}
.main .place::before, .main .place:after {
  content: "";
  display: block;
  width: 6.75rem;
  border-top: solid 1px;
  position: absolute;
  top: 50%;
}
.main .place::before {
  left: -0.5rem;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.main .place::after {
  right: -0.5rem;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
@media screen and (max-width: 1280px) {
  .main > .img1 {
    width: max(23.4375vw, 137px);
    top: -2.125rem;
  }
}
@media screen and (max-width: 960px) {
  .main {
    text-align: left;
  }
  .main .generate {
    margin-top: 4rem;
  }
  .main > .body > .inner {
    padding-top: 15.625vw;
  }
}
@media screen and (min-width: 601px) {
  .main::before {
    background: url("../images/main_deco.png") no-repeat 50% top;
    background-size: 100% auto;
    width: 102.578125%;
    -webkit-transform: translateX(-1.2890625%);
            transform: translateX(-1.2890625%);
    aspect-ratio: 1332/305;
  }
}
@media screen and (max-width: 600px) {
  .main {
    background: url("../images/main_deco_sp.png") no-repeat 50% top;
    background-size: 100% auto;
  }
  .main:before {
    height: 11rem;
  }
  .main > .img1 {
    width: 8.5625rem;
    top: -2.125rem;
    right: -0.625rem;
  }
  .main > .body > .inner {
    padding: 6rem 1.25rem 0;
  }
  .main .logo img {
    width: 17.75rem;
  }
  .main .date {
    font-size: 1.0625rem;
    margin-top: 0.75rem;
  }
  .main .date .week {
    font-size: 0.6875rem;
  }
  .main .txt1 {
    font-size: 1.0625rem;
    margin-top: 3rem;
  }
  .main .txt2 {
    font-size: 0.8125rem;
    margin-top: 1.75rem !important;
  }
  .main .end {
    font-size: 1rem;
    margin-top: 3.125rem;
    padding: 0.75rem 0;
  }
  .main .generate {
    font-size: 0.5rem;
    margin-top: 3.125rem;
  }
  .main .place::before, .main .place::after {
    width: 2.8125rem;
  }
}

/* **************************************************

  content

************************************************** */
.content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 601px) {
  .content {
    background: url("../images/content_deco.png") no-repeat calc(50% - 2.5rem) 3.75rem;
    background-size: 93.4375rem;
  }
}
@media screen and (max-width: 600px) {
  .content {
    margin-top: 4.875rem;
  }
}

/* **************************************************

  intro

************************************************** */
.intro {
  text-align: center;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
}
.intro .end {
  font-size: 1.5rem;
  font-weight: 700;
  max-width: 44.375rem;
  margin: 0 auto 2.75rem;
  padding: 0.6666666667em 0;
  border-top: solid 1px currentColor;
  border-bottom: solid 1px currentColor;
}
.intro .txt1 {
  font-size: 1.875rem;
}
.intro .txt1 > span {
  font-weight: 700;
}
.intro .txt2 {
  font-size: 1.0625rem;
  line-height: 1.8823529412;
  margin-top: 1.5rem;
}
.intro .notes {
  font-size: 0.8125rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 961px) {
  .intro .txt1::before {
    content: "[";
  }
  .intro .txt1::after {
    content: "]";
  }
}
@media screen and (max-width: 960px) {
  .intro .txt1 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    position: relative;
  }
  .intro .txt1::before, .intro .txt1::after {
    display: block;
    content: "";
    width: 0.6666666667em;
    height: 100%;
    border: solid 1px;
    position: absolute;
    top: 0;
  }
  .intro .txt1::before {
    border-right: none;
    left: -0.5rem;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  .intro .txt1::after {
    border-left: none;
    right: -0.5rem;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@media screen and (max-width: 600px) {
  .intro {
    padding: 0 1.25rem;
  }
  .intro .end {
    font-size: 1rem;
    padding: 1em 0;
    margin-bottom: 3rem;
  }
  .intro .txt1 {
    font-size: 1.125rem;
  }
  .intro .txt2 {
    font-size: 0.8125rem;
    text-align: left;
    margin-top: 1.75rem;
  }
  .intro .notes {
    font-size: 0.6875rem;
    text-align: left;
  }
}

/* **************************************************

  exhibitor

************************************************** */
.exhibitor {
  padding: 6rem 3.125rem 6.25rem;
  position: relative;
  z-index: 1;
}
.exhibitor .section-header {
  text-align: center;
}
.exhibitor .section-header .title {
  font-size: 2.5rem;
  font-weight: 700;
}
.exhibitor .section-header .title:after {
  font-size: 0.8125rem;
  font-weight: 400;
  content: attr(data-notes);
  display: block;
}
.exhibitor .section-header .order {
  font-size: 0.8125rem;
  margin-top: 0.375rem;
}
.exhibitor .section-body {
  max-width: 73.75rem;
  margin: 3.125rem auto 0;
}
.exhibitor .section-body .exhibition {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(18.75rem, 100%), 1fr));
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(3.125rem, 3.90625vw);
}
.exhibitor .section-body .exhibition .item {
  position: relative;
}
.exhibitor .section-body .exhibition .item .icon {
  width: 4.8125rem;
  z-index: 100;
  position: absolute;
  top: -0.4375rem;
  right: -0.4375rem;
}
.exhibitor .section-body .exhibition .item .icon img {
  -webkit-filter: drop-shadow(0.3125rem 0.3125rem 0.4375rem rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0.3125rem 0.3125rem 0.4375rem rgba(0, 0, 0, 0.2));
  width: 100%;
}
.exhibitor .section-body .exhibition .item > a {
  color: #0F2D5D;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  box-sizing: border-box;
  height: 100%;
  padding: 1.25rem 1.875rem;
  border-radius: 1.25rem;
  overflow: hidden;
  -webkit-box-shadow: 0 0.1875rem 0.9375rem rgba(0, 0, 0, 0.05);
          box-shadow: 0 0.1875rem 0.9375rem rgba(0, 0, 0, 0.05);
}
.exhibitor .section-body .exhibition .item > a:focus-visible {
  background-color: #F4FDE8;
  outline: solid 2px;
}
@media (any-hover: hover) {
  .exhibitor .section-body .exhibition .item > a:hover {
    background-color: #F4FDE8;
  }
}
.exhibitor .section-body .exhibition .item .image {
  background: #fff;
  overflow: hidden;
}
.exhibitor .section-body .exhibition .item .image img {
  background: #fff;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 2/1;
  width: 100%;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}
.exhibitor .section-body .exhibition .item .text {
  margin-top: 1rem;
}
.exhibitor .section-body .exhibition .item .text .category {
  font-size: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.exhibitor .section-body .exhibition .item .text .category li:not(:last-child):after {
  content: "/";
}
.exhibitor .section-body .exhibition .item .text .company {
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 0.5rem;
}
@media screen and (min-width: 1281px) {
  .exhibitor .section-body .exhibition .item .text .company.-min {
    font-size: 1.125rem;
    line-height: 1.6666666667;
  }
}
.exhibitor .section-body .exhibition .item .text .products {
  font-size: 0.9375rem;
  margin-top: 0.5rem;
}
.exhibitor .section-body .exhibition .item .text .outline {
  margin-top: 0.9375rem;
}
.exhibitor .section-body .exhibition .item .text .outline:before {
  display: block;
  content: "";
  margin-bottom: 0.9375rem;
  border-top: solid 1px #CFD6DD;
}
.exhibitor .section-body .exhibition .item .text .title {
  font-family: "AvantGardeDemi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  word-break: break-all;
}
.exhibitor .section-body .exhibition .item .text .txt1 {
  font-size: 0.8125rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  max-height: 4.5em;
  margin-top: 0.5rem;
  overflow: hidden;
  word-break: break-all;
}
.exhibitor .section-body .exhibition .item .text .txt1 br {
  display: none;
}
.exhibitor .section-body .exhibition .item .text .txt1 .link,
.exhibitor .section-body .exhibition .item .text .txt1 .comment {
  display: none;
}
.exhibitor .section-body .exhibition .item .text .break-all {
  word-break: break-all;
}
.exhibitor .section-body .exhibition .item .text .more {
  font-family: "AvantGardeDemi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
  font-size: 0.8125rem;
  text-decoration: underline;
  color: #459CD5;
  text-align: right;
  margin-top: 0.5rem;
}
.exhibitor .section-body .exhibition .item .text .more i {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.2em;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
.exhibitor .section-body .exhibition .item .popup-clone {
  display: none;
}
@media screen and (max-width: 600px) {
  .exhibitor {
    background: url("../images/content_deco_sp.png") repeat-y 50% 0;
    background-size: 122.4%;
    padding: 5.875rem 1.25rem 6.25rem;
  }
  .exhibitor .section-header {
    text-align: left;
  }
  .exhibitor .section-header .title {
    font-size: 1.5625rem;
  }
  .exhibitor .section-header .title:after {
    font-size: 0.6875rem;
  }
  .exhibitor .section-header .order {
    font-size: 0.6875rem;
  }
  .exhibitor .section-body {
    margin-top: 1.75rem;
  }
  .exhibitor .section-body .exhibition {
    gap: 1.25rem;
  }
  .exhibitor .section-body .exhibition .item .icon {
    width: 3.4375rem;
    top: -0.3125rem;
    right: -0.3125rem;
  }
  .exhibitor .section-body .exhibition .item > a {
    padding: 0.625rem 1.25rem 1.25rem;
  }
  .exhibitor .section-body .exhibition .item .text {
    margin-top: 0.625rem;
  }
  .exhibitor .section-body .exhibition .item .text .category {
    font-size: 0.8125rem;
  }
  .exhibitor .section-body .exhibition .item .text .company {
    font-size: 1.25rem;
    margin-top: 0.5625rem;
  }
  .exhibitor .section-body .exhibition .item .text .outline {
    margin-top: 0.875rem;
  }
  .exhibitor .section-body .exhibition .item .text .outline:before {
    margin-bottom: 0.875rem;
  }
  .exhibitor .section-body .exhibition .item .text .title {
    font-size: 1.125rem;
  }
}

/* **************************************************

  overview

************************************************** */
.overview {
  padding: 0 3.125rem 6.25rem;
  position: relative;
}
.overview:before {
  display: block;
  content: "";
  position: absolute;
  pointer-events: none;
}
.overview .box {
  background-color: #fff;
  max-width: 54.375rem;
  padding: 4rem 1.25rem 4.375rem;
  margin-inline: auto;
  border-radius: 1.25rem;
}
.overview .box > * {
  position: relative;
  z-index: 1;
}
.overview .section-header {
  text-align: center;
}
.overview .section-header .title {
  font-size: 2.5rem;
  font-weight: 700;
}
.overview .section-body {
  margin-top: 2.375rem;
}
.overview .section-body .table {
  font-size: 1.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 45.625rem;
  width: 100%;
  margin: -1em auto 0;
}
.overview .section-body .table .th {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 7.5em;
  margin-top: 1em;
}
.overview .section-body .table .td {
  width: calc(100% - 8.5em);
  white-space: nowrap;
  margin-top: 1em;
}
.overview .section-body .table .td .notes {
  font-size: 0.7647058824rem;
}
.overview .section-body .table .td .icon-blank {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.2em;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
@media screen and (max-width: 1280px) {
  .overview .section-body .table .td {
    white-space: normal;
  }
}
@media screen and (min-width: 601px) {
  .overview::before {
    background: url("../images/overview_deco.png") no-repeat calc(50% + 2rem) 0;
    background-size: 97.25rem;
    width: 100%;
    height: 66.0625rem;
    top: 36%;
    left: 48%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 600px) {
  .overview {
    padding: 0;
  }
  .overview .box {
    padding: 2.875rem 1.25rem 6rem;
    border-radius: 0;
  }
  .overview .section-header {
    text-align: left;
  }
  .overview .section-header .title {
    font-size: 1.5625rem;
  }
  .overview .section-body {
    margin-top: 1.4375rem;
  }
  .overview .section-body .table {
    font-size: 0.9375rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    margin: 0;
  }
  .overview .section-body .table > * {
    width: 100% !important;
  }
  .overview .section-body .table .th {
    margin-top: 0;
  }
  .overview .section-body .table .th:nth-child(n+2) {
    margin-top: 1.4375rem;
  }
  .overview .section-body .table .td {
    margin-top: 0.5rem;
  }
  .overview .section-body .table .td .notes {
    font-size: 0.6875rem;
  }
}

/* **************************************************

  floatnav

************************************************** */
.floatnav {
  position: fixed;
  right: 0.625rem;
  bottom: 0.625rem;
  z-index: 888;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: opacity 0.4s cubic-bezier(0.65, 0, 0.35, 1), visibility 0s 0.4s, -webkit-transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 0.4s cubic-bezier(0.65, 0, 0.35, 1), visibility 0s 0.4s, -webkit-transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 0.4s cubic-bezier(0.65, 0, 0.35, 1), transform 0.4s cubic-bezier(0.33, 1, 0.68, 1), visibility 0s 0.4s;
  transition: opacity 0.4s cubic-bezier(0.65, 0, 0.35, 1), transform 0.4s cubic-bezier(0.33, 1, 0.68, 1), visibility 0s 0.4s, -webkit-transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}
.is-show-floatmenu .floatnav {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1), cubic-bezier(0.33, 1, 0.68, 1), linear;
          transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1), cubic-bezier(0.33, 1, 0.68, 1), linear;
}
.floatnav .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 0.625rem;
  overflow: hidden;
}
.floatnav .list li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-align: center;
}
.floatnav .list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
}
.floatnav .list li a:focus-visible {
  background: #459CD5 !important;
}
@media (any-hover: hover) {
  .floatnav .list li a:hover {
    background: #459CD5 !important;
  }
}
.floatnav .list li.mypage {
  width: 10.9375rem;
}
.floatnav .list li.mypage a {
  color: #fff;
  background: #0F2D5D;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 0;
}
.floatnav .list li.mypage a > span:nth-child(1) {
  font-size: 0.6875rem;
}
.floatnav .list li.mypage a > span:nth-child(2) {
  font-size: 1.0625rem;
  font-weight: 700;
}
.floatnav .list li.application {
  font-size: 1.25rem;
  font-weight: 700;
}
.floatnav .list li.application a {
  color: #fff;
  background: #f4593d;
  padding: 0.5em 2.25rem;
}
@media screen and (max-width: 600px) {
  .floatnav {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 0 0.3125rem;
    right: 0;
    bottom: 0.3125rem;
  }
  .floatnav .list {
    width: 100%;
    border-radius: 0.4375rem;
  }
  .floatnav .list li.mypage {
    width: 36.9863013699%;
  }
  .floatnav .list li.mypage a {
    padding: 0.5rem 0;
  }
  .floatnav .list li.mypage a > span:nth-child(1) {
    font-size: 0.5625rem;
  }
  .floatnav .list li.mypage a > span:nth-child(2) {
    font-size: 0.8125rem;
  }
  .floatnav .list li.application {
    font-size: 0.875rem;
    width: 63.0136986301%;
  }
  .floatnav .list li.application a {
    padding: 0.5rem 0;
  }
}

/* **************************************************

  modaal

************************************************** */
.modaal-wrapper.popup-exhibition {
  z-index: 10000;
}
.modaal-wrapper.popup-exhibition:after {
  background: url("../images/modal_logo.png") no-repeat left top;
  background-size: 100% auto;
  display: block;
  content: "";
  width: 26.125rem;
  height: 3.1875rem;
  position: absolute;
  top: 1.5625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (max-width: 600px) {
  .modaal-wrapper.popup-exhibition:after {
    width: 13.5rem;
    height: 1.875rem;
    top: 1rem;
  }
}
.modaal-wrapper.popup-exhibition + .modaal-overlay {
  z-index: 9999;
}
@media screen and (min-width: 601px) {
  .modaal-wrapper.popup-exhibition + .modaal-overlay {
    background: #EAF5FE url("../images/modal_bg.jpg") no-repeat center center !important;
    background-size: cover !important;
  }
}
@media screen and (max-width: 600px) {
  .modaal-wrapper.popup-exhibition + .modaal-overlay {
    background: #EAF5FE url("../images/modal_bg_sp.jpg") no-repeat center top !important;
    background-size: cover !important;
  }
}
.modaal-wrapper.popup-exhibition .modaal-close {
  visibility: hidden;
}
.modaal-wrapper.popup-exhibition .modaal-inner-wrapper {
  padding: 6.25rem 3.125rem 3.125rem;
}
.modaal-wrapper.popup-exhibition .modaal-inner-wrapper .modaal-container {
  max-width: 73.75rem;
  border-radius: 1.25rem;
}
@media screen and (max-width: 600px) {
  .modaal-wrapper.popup-exhibition .modaal-inner-wrapper {
    padding: 3.75rem 1.25rem 1.25rem;
  }
}
.modaal-wrapper.popup-exhibition .modaal-content-container {
  color: #0F2D5D;
  padding: 1.625rem 3.125rem 3.125rem;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .icon {
  width: 4.8125rem;
  z-index: 10;
  position: absolute;
  top: -2.0625rem;
  right: -3.5625rem;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .icon img {
  -webkit-filter: drop-shadow(0.3125rem 0.3125rem 0.4375rem rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0.3125rem 0.3125rem 0.4375rem rgba(0, 0, 0, 0.2));
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 37.037037037%;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .image img {
  background: #fff;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 2/1;
  width: 100%;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .image a {
  display: block;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .image a:focus-visible {
  opacity: 0.5;
  outline: solid 2px;
}
@media (any-hover: hover) {
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .image a:hover {
    opacity: 0.5;
  }
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .text {
  width: 100%;
  margin-right: 3.125rem;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .text .category {
  font-size: 1.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .text .category li:not(:last-child):after {
  content: "/";
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .text .company {
  font-family: "AvantGardeDemi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  margin-top: 0.8125rem;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .upper .text .products {
  font-size: 1.25rem;
  margin-top: 0.5rem;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .lower {
  margin-top: 1.5rem;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .lower:before {
  content: "";
  display: block;
  border-top: solid 1px #CFD6DD;
  margin-bottom: 3.125rem;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .lower .text .title {
  font-family: "AvantGardeDemi", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
  font-size: 2rem;
  font-weight: 700;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .lower .text .txt1 {
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.8823529412;
  margin-top: 1.875rem;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .lower .text .txt1 .comment {
  font-size: 0.9em;
  display: block;
  margin-top: 2em;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .lower .text .break-all {
  word-break: break-all;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .popup-close {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #032D60;
  display: block;
  width: 12.5rem;
  margin: 3rem auto 0;
  padding: 1rem 0.5em;
  border-radius: 0.625rem;
  cursor: pointer;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.modaal-wrapper.popup-exhibition .modaal-content-container .popup-close:focus-visible {
  background: #459CD5;
}
@media (any-hover: hover) {
  .modaal-wrapper.popup-exhibition .modaal-content-container .popup-close:hover {
    background: #459CD5;
  }
}
@media screen and (min-width: 769px) and (max-width: 960px) {
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .text {
    width: 100%;
    margin: 0;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .image {
    width: 18.75rem;
    margin-top: 1.75rem;
  }
}
@media screen and (max-width: 960px) {
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .image,
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .text {
    width: 100%;
    margin: 0;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .image {
    max-width: 400px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 600px) {
  .modaal-wrapper.popup-exhibition .modaal-content-container {
    padding: 1.25rem;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .icon {
    width: 3.4375rem;
    top: -1.5625rem;
    right: -1.5625rem;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .text {
    margin-top: 0.625rem;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .text .category {
    font-size: 0.8125rem;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .text .company {
    font-size: 1.25rem;
    margin-top: 0.5rem;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .upper .text .products {
    font-size: 0.9375rem;
    margin-top: 0.5rem;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .lower {
    margin-top: 0.875rem;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .lower:before {
    margin-bottom: 1.25rem;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .lower .text .title {
    font-size: 1.125rem;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .lower .text .txt1 {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック", "YuGothic", "游ゴシック体", "游ゴシック", "メイリオ", "Meiryo", sans-serif;
    font-size: 0.8125rem;
    font-weight: 400;
    margin-top: 2.375rem;
  }
  .modaal-wrapper.popup-exhibition .modaal-content-container .popup-close {
    font-size: 0.75rem;
    font-weight: 400;
    color: #fff;
    background: #0F2D5D;
    width: 6.375rem;
    margin-top: 1.25rem;
    padding: 0.6875rem 0.5em;
    border-radius: 0.4375rem;
  }
}

/* ==================================================
* special
================================================== */
.special {
  letter-spacing: 0;
  -webkit-margin-before: 5rem;
          margin-block-start: 5rem;
  padding-inline: 3.125rem;
}

.special__box {
  background-color: #fff;
  max-width: 73.75rem;
  margin-inline: auto;
  border-radius: 1.25rem;
  position: relative;
}
.special__box::after {
  display: block;
  content: "";
  background: url("../images/special_deco.png") no-repeat left top;
  background-size: 100% auto;
  width: 2.75rem;
  height: 2.8125rem;
  position: absolute;
  top: -0.9375rem;
  left: -0.75rem;
}

.special__header {
  font-family: AvantGardeDemi;
  font-size: min(1.625rem, 2.03125vw);
  background-color: #EAF5FE;
  display: block grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 4.0625rem;
  border-radius: 1.25rem 1.25rem 0 0;
  overflow: clip;
}
.special__header > * {
  display: block grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
  padding: 0.5rem 1.875rem;
}

.special__title {
  color: #fff;
  background-color: #0D9DDA;
}

.special__text {
  font-weight: 700;
  color: #0D9DDA;
}

.special__body {
  padding: 1.875rem;
  padding-left: 2.5rem;
  border-radius: 0 0 1.25rem 1.25rem;
}

.special__wrapper {
  display: block grid;
  grid-template-columns: 1fr 17.5625rem;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
}

.special__book {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  border-left: solid 1px #CFD6DD;
  padding-left: 1.875rem;
}

.book__image {
  width: 11.25rem;
  margin-inline: auto;
  -webkit-margin-before: -2.625rem;
          margin-block-start: -2.625rem;
  position: relative;
}

.book__txt {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #fff;
  background-color: #0B5CAB;
  display: block grid;
  place-items: center;
  width: 3.5294117647em;
  height: 3.5294117647em;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}

.book__title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #0D9DDA;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  -webkit-margin-before: 1.125rem;
          margin-block-start: 1.125rem;
}

.book__summary {
  font-size: 0.8125rem;
  list-style: 1.6923076923;
  -webkit-margin-before: 1.25rem;
          margin-block-start: 1.25rem;
}

.special__time {
  font-family: AvantGardeDemi;
  font-weight: 700;
  display: block flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  -webkit-column-gap: 1.375rem;
     -moz-column-gap: 1.375rem;
          column-gap: 1.375rem;
}

.special__time--item {
  display: block flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.3125rem;
     -moz-column-gap: 0.3125rem;
          column-gap: 0.3125rem;
}
.special__time--item .num {
  font-size: 0.8125rem;
  color: #fff;
  background-color: #032D60;
  padding-block: 0.125rem;
  padding-inline: 0.5rem;
  border-radius: 9999px;
}
.special__time--item .time {
  font-size: 1.25rem;
}

.special__subtitle {
  font-size: 1.875rem;
  margin-top: 0.625rem;
}

.special__summary {
  font-size: 1.0625rem;
  line-height: 1.8823529412;
  -webkit-margin-before: 0.71875rem;
          margin-block-start: 0.71875rem;
}

.special__notes {
  font-size: 0.8125rem;
  line-height: 1.6923076923;
  text-indent: -1em;
  margin-top: 0.625rem;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
}

.special__author {
  display: block grid;
  grid-template-columns: 7.5rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  margin-top: 1.625rem;
}

.author__image img {
  width: 100%;
}

.author__text {
  display: block grid;
  grid-template-columns: 1fr;
  row-gap: 0.3125rem;
}

.author__company {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.6923076923;
}

.author__name {
  font-size: 1.0625rem;
  font-weight: 700;
}

.author__profile {
  font-size: 0.8125rem;
  line-height: 1.6923076923;
}

@media screen and (max-width: 1280px) {
  .book__image {
    margin-top: 0;
  }
}
@media screen and (max-width: 960px) {
  .special__header {
    font-size: 1.125rem;
  }
  .special__wrapper {
    grid-template-columns: 1fr;
    row-gap: 1.875rem;
  }
  .special__author {
    padding-top: 1.875rem;
    border-top: solid 1px #CFD6DD;
  }
  .special__book {
    padding-top: 3.125rem;
    padding-left: 0;
    border-top: solid 1px #CFD6DD;
    border-left: none;
  }
}
@media screen and (max-width: 600px) {
  .special {
    -webkit-margin-before: 3.125rem;
            margin-block-start: 3.125rem;
    padding-inline: 1.25rem;
  }
  .special__header {
    font-size: 1.25rem;
    grid-template-columns: 1fr;
    text-align: center;
    height: auto;
  }
  .special__title {
    padding: 0.625rem;
  }
  .special__text {
    font-size: 0.9375rem;
    padding: 0.75rem 0.625rem;
  }
  .special__body {
    padding: 1.25rem;
  }
  .special__wrapper {
    row-gap: 1rem;
  }
  .special__time {
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
  }
  .special__time--item .num {
    font-size: 0.75rem;
  }
  .special__time--item .time {
    font-size: 0.9375rem;
  }
  .special__subtitle {
    font-size: 1.25rem;
    -webkit-margin-before: 0.9375rem;
            margin-block-start: 0.9375rem;
  }
  .special__summary {
    font-size: 0.8125rem;
  }
  .special__notes {
    font-size: 0.6875rem;
    -webkit-margin-before: 0.3125rem;
            margin-block-start: 0.3125rem;
  }
  .special__author {
    display: block grid;
    grid-template-columns: 7.5rem 1fr;
    grid-template-rows: -webkit-max-content auto 1fr;
    grid-template-rows: max-content auto 1fr;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-margin-before: 1.125rem;
            margin-block-start: 1.125rem;
    -webkit-padding-before: 1.125rem;
            padding-block-start: 1.125rem;
  }
  .author__image {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  .author__text {
    display: block grid;
    grid-template-rows: subgrid;
    grid-template-columns: subgrid;
    row-gap: 0;
    grid-row: 1/-1;
    grid-column: 1/-1;
  }
  .author__company {
    font-size: 0.6875rem;
    font-weight: 400;
    line-height: 1.6363636364;
    grid-column: 2/3;
    align-self: flex-end;
  }
  .author__name {
    font-size: 0.9375rem;
    grid-column: 2/3;
    align-self: flex-start;
    -webkit-margin-before: 0.3125rem;
            margin-block-start: 0.3125rem;
  }
  .author__profile {
    font-size: 0.6875rem;
    grid-column: 1/-1;
    -webkit-margin-before: 0.5rem;
            margin-block-start: 0.5rem;
  }
  .special__book {
    -webkit-padding-before: 2.1875rem;
            padding-block-start: 2.1875rem;
  }
  .book__image {
    width: 8.125rem;
  }
  .book__txt {
    font-size: 0.9375rem;
    width: 3.3333333333em;
    height: 3.3333333333em;
  }
  .book__title {
    font-size: 0.9375rem;
    margin-top: 1rem;
  }
  .book__summary {
    font-size: 0.6875rem;
    margin-top: 0.5rem;
  }
}