@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Roboto:wght@300;400;500;700;900&display=swap");
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/**
 * Base
 */
::-moz-placeholder {
  opacity: 1;
}
:-ms-input-placeholder {
  opacity: 1;
}
::placeholder {
  opacity: 1;
}

label {
  cursor: pointer;
}

img,
iframe {
  vertical-align: top;
}

dt {
  font-weight: inherit;
}

small {
  font-size: inherit;
}

html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
}
html.is_locked {
  position: fixed;
  width: 100%;
}

body {
  min-width: 1080px;
  color: #222;
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 1.5px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -moz-osx-font-smoothing: unset;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
  }
}
@media (max-width: 767px) {
  body {
    min-width: 0;
  }
}

a {
  transition: all 0.2s;
}
img {
  max-width: 100%;
  height: auto;
}

.en {
  font-family: "Roboto", sans-serif;
}

body.compensate-for-scrollbar {
  overflow: hidden;
}

.fancybox-active {
  height: auto;
}

.fancybox-is-hidden {
  left: -9999px;
  margin: 0;
  position: absolute !important;
  top: -9999px;
  visibility: hidden;
}

.fancybox-container {
  -webkit-backface-visibility: hidden;
  height: 100%;
  left: 0;
  outline: none;
  position: fixed;
  -webkit-tap-highlight-color: transparent;
  top: 0;
  touch-action: manipulation;
  transform: translateZ(0);
  width: 100%;
  z-index: 99992;
}

.fancybox-container * {
  box-sizing: border-box;
}

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.fancybox-outer {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
}

.fancybox-is-open .fancybox-bg {
  opacity: 0.9;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
}

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption,
.fancybox-navigation .fancybox-button {
  direction: ltr;
  opacity: 0;
  position: absolute;
  transition: opacity 0.25s ease, visibility 0s ease 0.25s;
  visibility: hidden;
  z-index: 99997;
}

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption,
.fancybox-show-nav .fancybox-navigation .fancybox-button {
  opacity: 1;
  transition: opacity 0.25s ease 0s, visibility 0s ease 0s;
  visibility: visible;
}

.fancybox-infobar {
  color: #ccc;
  font-size: 13px;
  -webkit-font-smoothing: subpixel-antialiased;
  height: 44px;
  left: 0;
  line-height: 44px;
  min-width: 44px;
  mix-blend-mode: difference;
  padding: 0 10px;
  pointer-events: none;
  top: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.fancybox-toolbar {
  right: 0;
  top: 0;
}

.fancybox-stage {
  direction: ltr;
  overflow: visible;
  transform: translateZ(0);
  z-index: 99994;
}

.fancybox-is-open .fancybox-stage {
  overflow: hidden;
}

.fancybox-slide {
  -webkit-backface-visibility: hidden;
  /* Using without prefix would break IE11 */
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: absolute;
  text-align: center;
  top: 0;
  transition-property: transform, opacity;
  white-space: normal;
  width: 100%;
  z-index: 99994;
}

.fancybox-slide::before {
  content: "";
  display: inline-block;
  font-size: 0;
  height: 100%;
  vertical-align: middle;
  width: 0;
}

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block;
}

.fancybox-slide--image {
  overflow: hidden;
  padding: 44px 0;
}

.fancybox-slide--image::before {
  display: none;
}

.fancybox-slide--html {
  padding: 6px;
}

.fancybox-content {
  background: #fff;
  display: inline-block;
  margin: 0;
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 44px;
  position: relative;
  text-align: left;
  vertical-align: middle;
}

.fancybox-slide--image .fancybox-content {
  -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
  -webkit-backface-visibility: hidden;
  background: transparent;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
  max-width: none;
  overflow: visible;
  padding: 0;
  position: absolute;
  top: 0;
  transform-origin: top left;
  transition-property: transform, opacity;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 99995;
}

.fancybox-can-zoomOut .fancybox-content {
  cursor: zoom-out;
}

.fancybox-can-zoomIn .fancybox-content {
  cursor: zoom-in;
}

.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
  cursor: -webkit-grab;
  cursor: grab;
}

.fancybox-is-grabbing .fancybox-content {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.fancybox-container [data-selectable=true] {
  cursor: text;
}

.fancybox-image,
.fancybox-spaceball {
  background: transparent;
  border: 0;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: 100%;
}

.fancybox-spaceball {
  z-index: 1;
}

.fancybox-slide--video .fancybox-content,
.fancybox-slide--map .fancybox-content,
.fancybox-slide--pdf .fancybox-content,
.fancybox-slide--iframe .fancybox-content {
  height: 100%;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.fancybox-slide--video .fancybox-content {
  background: #000;
}

.fancybox-slide--map .fancybox-content {
  background: #e5e3df;
}

.fancybox-slide--iframe .fancybox-content {
  background: #fff;
}

.fancybox-video,
.fancybox-iframe {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

/* Fix iOS */
.fancybox-iframe {
  left: 0;
  position: absolute;
  top: 0;
}

.fancybox-error {
  background: #fff;
  cursor: default;
  max-width: 400px;
  padding: 40px;
  width: 100%;
}

.fancybox-error p {
  color: #444;
  font-size: 16px;
  line-height: 20px;
  margin: 0;
  padding: 0;
}

/* Buttons */
.fancybox-button {
  background: rgba(30, 30, 30, 0.6);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  height: 44px;
  margin: 0;
  padding: 10px;
  position: relative;
  transition: color 0.2s;
  vertical-align: top;
  visibility: inherit;
  width: 44px;
}

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc;
}

.fancybox-button:hover {
  color: #fff;
}

.fancybox-button:focus {
  outline: none;
}

.fancybox-button.fancybox-focus {
  outline: 1px dotted;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
  color: #888;
  cursor: default;
  outline: none;
}

/* Fix IE11 */
.fancybox-button div {
  height: 100%;
}

.fancybox-button svg {
  display: block;
  height: 100%;
  overflow: visible;
  position: relative;
  width: 100%;
}

.fancybox-button svg path {
  fill: currentColor;
  stroke-width: 0;
}

.fancybox-button--play svg:nth-child(2),
.fancybox-button--fsenter svg:nth-child(2) {
  display: none;
}

.fancybox-button--pause svg:nth-child(1),
.fancybox-button--fsexit svg:nth-child(1) {
  display: none;
}

.fancybox-progress {
  background: #ff5268;
  height: 2px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: scaleX(0);
  transform-origin: 0;
  transition-property: transform;
  transition-timing-function: linear;
  z-index: 99998;
}

/* Close button on the top right corner of html content */
.fancybox-close-small {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #ccc;
  cursor: pointer;
  opacity: 0.8;
  padding: 8px;
  position: absolute;
  right: -12px;
  top: -44px;
  z-index: 401;
}

.fancybox-close-small:hover {
  color: #fff;
  opacity: 1;
}

.fancybox-slide--html .fancybox-close-small {
  color: currentColor;
  padding: 10px;
  right: 0;
  top: 0;
}

.fancybox-slide--image.fancybox-is-scaling .fancybox-content {
  overflow: hidden;
}

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
  display: none;
}

/* Navigation arrows */
.fancybox-navigation .fancybox-button {
  background-clip: content-box;
  height: 100px;
  opacity: 0;
  position: absolute;
  top: calc(50% - 50px);
  width: 70px;
}

.fancybox-navigation .fancybox-button div {
  padding: 7px;
}

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0;
  left: env(safe-area-inset-left);
  padding: 31px 26px 31px 6px;
}

.fancybox-navigation .fancybox-button--arrow_right {
  padding: 31px 6px 31px 26px;
  right: 0;
  right: env(safe-area-inset-right);
}

/* Caption */
.fancybox-caption {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.15) 65%, rgba(0, 0, 0, 0.075) 75.5%, rgba(0, 0, 0, 0.037) 82.85%, rgba(0, 0, 0, 0.019) 88%, rgba(0, 0, 0, 0) 100%);
  bottom: 0;
  color: #eee;
  font-size: 14px;
  font-weight: 400;
  left: 0;
  line-height: 1.5;
  padding: 75px 44px 25px 44px;
  pointer-events: none;
  right: 0;
  text-align: center;
  z-index: 99996;
}

@supports (padding: 0px) {
  .fancybox-caption {
    padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));
  }
}
.fancybox-caption--separate {
  margin-top: -50px;
}

.fancybox-caption__body {
  max-height: 50vh;
  overflow: auto;
  pointer-events: all;
}

.fancybox-caption a,
.fancybox-caption a:link,
.fancybox-caption a:visited {
  color: #ccc;
  text-decoration: none;
}

.fancybox-caption a:hover {
  color: #fff;
  text-decoration: underline;
}

/* Loading indicator */
.fancybox-loading {
  -webkit-animation: fancybox-rotate 1s linear infinite;
  animation: fancybox-rotate 1s linear infinite;
  background: transparent;
  border: 4px solid #888;
  border-bottom-color: #fff;
  border-radius: 50%;
  height: 50px;
  left: 50%;
  margin: -25px 0 0 -25px;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  width: 50px;
  z-index: 99999;
}

@-webkit-keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes fancybox-rotate {
  100% {
    transform: rotate(360deg);
  }
}
/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  opacity: 0;
  transform: translate3d(-100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--next {
  opacity: 0;
  transform: translate3d(100%, 0, 0);
}

.fancybox-fx-slide.fancybox-slide--current {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1;
}

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(1.5, 1.5, 1.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
}

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  opacity: 0;
  transform: rotate(-360deg);
}

.fancybox-fx-rotate.fancybox-slide--next {
  opacity: 0;
  transform: rotate(360deg);
}

.fancybox-fx-rotate.fancybox-slide--current {
  opacity: 1;
  transform: rotate(0deg);
}

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--next {
  opacity: 0;
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
}

.fancybox-fx-circular.fancybox-slide--current {
  opacity: 1;
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
}

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
}

.fancybox-fx-tube.fancybox-slide--next {
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
}

.fancybox-fx-tube.fancybox-slide--current {
  transform: translate3d(0, 0, 0) scale(1);
}

/* Styling for Small-Screen Devices */
@media all and (max-height: 576px) {
  .fancybox-slide {
    padding-left: 6px;
    padding-right: 6px;
  }

  .fancybox-slide--image {
    padding: 6px 0;
  }

  .fancybox-close-small {
    right: -6px;
  }

  .fancybox-slide--image .fancybox-close-small {
    background: #4e4e4e;
    color: #f2f4f6;
    height: 36px;
    opacity: 1;
    padding: 6px;
    right: 0;
    top: 0;
    width: 36px;
  }

  .fancybox-caption {
    padding-left: 12px;
    padding-right: 12px;
  }

  @supports (padding: 0px) {
    .fancybox-caption {
      padding-left: max(12px, env(safe-area-inset-left));
      padding-right: max(12px, env(safe-area-inset-right));
    }
  }
}
/* Share */
.fancybox-share {
  background: #f4f4f4;
  border-radius: 3px;
  max-width: 90%;
  padding: 30px;
  text-align: center;
}

.fancybox-share h1 {
  color: #222;
  font-size: 35px;
  font-weight: 700;
  margin: 0 0 20px 0;
}

.fancybox-share p {
  margin: 0;
  padding: 0;
}

.fancybox-share__button {
  border: 0;
  border-radius: 3px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 40px;
  margin: 0 5px 10px 5px;
  min-width: 130px;
  padding: 0 15px;
  text-decoration: none;
  transition: all 0.2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
}

.fancybox-share__button:visited,
.fancybox-share__button:link {
  color: #fff;
}

.fancybox-share__button:hover {
  text-decoration: none;
}

.fancybox-share__button--fb {
  background: #3b5998;
}

.fancybox-share__button--fb:hover {
  background: #344e86;
}

.fancybox-share__button--pt {
  background: #bd081d;
}

.fancybox-share__button--pt:hover {
  background: #aa0719;
}

.fancybox-share__button--tw {
  background: #1da1f2;
}

.fancybox-share__button--tw:hover {
  background: #0d95e8;
}

.fancybox-share__button svg {
  height: 25px;
  margin-right: 7px;
  position: relative;
  top: -1px;
  vertical-align: middle;
  width: 25px;
}

.fancybox-share__button svg path {
  fill: #fff;
}

.fancybox-share__input {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d7d7d7;
  border-radius: 0;
  color: #5d5b5b;
  font-size: 14px;
  margin: 10px 0 0 0;
  outline: none;
  padding: 10px 15px;
  width: 100%;
}

/* Thumbs */
.fancybox-thumbs {
  background: #ddd;
  bottom: 0;
  display: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  padding: 2px 2px 4px 2px;
  position: absolute;
  right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  top: 0;
  width: 212px;
  z-index: 99995;
}

.fancybox-thumbs-x {
  overflow-x: auto;
  overflow-y: hidden;
}

.fancybox-show-thumbs .fancybox-thumbs {
  display: block;
}

.fancybox-show-thumbs .fancybox-inner {
  right: 212px;
}

.fancybox-thumbs__list {
  font-size: 0;
  height: 100%;
  list-style: none;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  position: relative;
  white-space: nowrap;
  width: 100%;
}

.fancybox-thumbs-x .fancybox-thumbs__list {
  overflow: hidden;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
  width: 7px;
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px;
}

.fancybox-thumbs__list a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: rgba(0, 0, 0, 0.1);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  float: left;
  height: 75px;
  margin: 2px;
  max-height: calc(100% - 8px);
  max-width: calc(50% - 4px);
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  width: 100px;
}

.fancybox-thumbs__list a::before {
  border: 6px solid #ff5268;
  bottom: 0;
  content: "";
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 99991;
}

.fancybox-thumbs__list a:focus::before {
  opacity: 0.5;
}

.fancybox-thumbs__list a.fancybox-thumbs-active::before {
  opacity: 1;
}

/* Styling for Small-Screen Devices */
@media all and (max-width: 576px) {
  .fancybox-thumbs {
    width: 110px;
  }

  .fancybox-show-thumbs .fancybox-inner {
    right: 110px;
  }

  .fancybox-thumbs__list a {
    max-width: calc(100% - 10px);
  }
}
/**
 * Layout
 */
.ly_container {
  margin: auto;
  padding: 0 40px;
  width: 100%;
  max-width: 1040px;
}
@media (max-width: 767px) {
  .ly_container {
    width: auto;
    padding: 0 20px;
    max-width: inherit;
  }
}

.ly_inner {
  width: 1000px;
  margin: auto;
}

/**
 * Header
 */
.ly_header {
  width: 100%;
  transition: all 0.5s;
}
.ly_header .logo {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  width: 300px;
  transition: all 0.3s;
  box-shadow: 0px 2px 8px 0px #dedede;
}
@media (max-width: 767px) {
  .ly_header .logo {
    width: 100%;
  }
}

.bl_header_btn {
  position: fixed;
  top: 16%;
  right: 0;
  z-index: 100;
}
@media (max-width: 767px) {
  .bl_header_btn {
    top: inherit;
    bottom: 0;
    right: inherit;
    display: flex;
    justify-content: center;
    width: 100%;
  }
}
.bl_header_btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #004099;
  color: #fff;
  font-weight: bold;
  font-size: 1.6rem;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  border-radius: 10px 0 0 0;
  padding: 18px;
  width: 70px;
  text-align: center;
}
@media (max-width: 767px) {
  .bl_header_btn a {
    -ms-writing-mode: inherit;
    writing-mode: inherit;
    width: 48%;
    font-size: 1.5rem;
    padding: 10px 5px;
  }
}
.bl_header_btn a span {
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  .bl_header_btn a span {
    font-size: 2rem;
  }
}
.bl_header_btn a img {
  margin-top: 5px;
  width: 24px;
  height: 24px;
}
@media (max-width: 767px) {
  .bl_header_btn a img {
    width: 18px;
    height: 18px;
    margin-top: 0;
    margin-left: 5px;
  }
}
.bl_header_btn a.lightBlue {
  background-color: #00B2EE;
  border-radius: 0 0 0 10px;
}
:where([data-whatintent="mouse"]) .bl_header_btn a.lightBlue:hover {
  background-color: #00BFFF;
}
@media (max-width: 767px) {
  .bl_header_btn a.lightBlue {
    border-radius: 0 10px 0 0;
  }
}
:where([data-whatintent="mouse"]) .bl_header_btn a:hover {
  background-color: #0050BF;
}

/**
 * Footer
 */
.ly_footer .bl_footer_contact {
  position: relative;
  padding: 50px 0 60px;
  background-color: #FFE200;
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_contact {
    font-size: 1.8rem;
    padding: 20px 0 30px;
  }
}
.ly_footer .bl_footer_contact.circle {
  background-color: #FFE200;
}
.ly_footer .bl_footer_contact .bl_secHdg_contact {
  position: relative;
  z-index: 1;
  font-size: 2.9rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_contact .bl_secHdg_contact {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
}
.ly_footer .bl_footer_contact .bl_secHdg_contact span {
  position: relative;
  display: inline-block;
}
.ly_footer .bl_footer_contact .bl_secHdg_contact::before, .ly_footer .bl_footer_contact .bl_secHdg_contact::after {
  position: absolute;
  top: 3px;
  display: inline-block;
  content: "";
  background: #222;
  width: 3px;
  height: 2em;
  margin: 0 1.5em;
  margin-top: -0.2em;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_contact .bl_secHdg_contact::before, .ly_footer .bl_footer_contact .bl_secHdg_contact::after {
    top: 10px;
    height: 3em;
  }
}
.ly_footer .bl_footer_contact .bl_secHdg_contact::before {
  left: 205px;
  transform: rotate(-42deg);
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_contact .bl_secHdg_contact::before {
    left: 40px;
  }
}
.ly_footer .bl_footer_contact .bl_secHdg_contact::after {
  right: 205px;
  transform: rotate(42deg);
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_contact .bl_secHdg_contact::after {
    right: 40px;
  }
}
.ly_footer .bl_footer_contact .bl_footer_btn {
  display: flex;
  gap: 20px;
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_contact .bl_footer_btn {
    display: block;
  }
}
.ly_footer .bl_footer_contact .bl_footer_btn a {
  position: relative;
  display: block;
  background-color: #004099;
  color: #fff;
  font-weight: bold;
  font-size: 3.2rem;
  border-radius: 10px;
  padding: 30px;
  width: 470px;
  text-align: center;
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_contact .bl_footer_btn a {
    font-size: 1.6rem;
    width: 100%;
    padding: 20px;
    margin-bottom: 20px;
  }
  .ly_footer .bl_footer_contact .bl_footer_btn a:last-child {
    margin-bottom: 0;
  }
}
.ly_footer .bl_footer_contact .bl_footer_btn a span {
  font-size: 3.6rem;
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_contact .bl_footer_btn a span {
    font-size: 2rem;
  }
}
.ly_footer .bl_footer_contact .bl_footer_btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 28px;
  transform: translateY(-50%);
  background-image: url(../images/btn_arrow.png);
  width: 36px;
  height: 36px;
}
.ly_footer .bl_footer_contact .bl_footer_btn a.lightBlue {
  background-color: #00B2EE;
}
:where([data-whatintent="mouse"]) .ly_footer .bl_footer_contact .bl_footer_btn a.lightBlue:hover {
  background-color: #00BFFF;
}
:where([data-whatintent="mouse"]) .ly_footer .bl_footer_contact .bl_footer_btn a:hover {
  background-color: #0050BF;
}
.ly_footer .bl_footer_bottom {
  padding: 68px 0;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_bottom {
    flex-direction: column;
    align-items: center;
    padding: 40px 0 80px;
  }
}
.ly_footer .bl_footer_logo .logo {
  width: 242px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_logo .logo {
    width: 169px;
    margin: 0 auto 20px;
  }
}
.ly_footer .bl_footer_logo .logo img {
  width: 100%;
}
.ly_footer .bl_footer_logo .bl_footer_address {
  font-size: 16px;
  letter-spacing: 0.01em;
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_logo .bl_footer_address {
    font-size: 1.3rem;
    margin-bottom: 20px;
  }
}
.ly_footer .bl_footer_right .sns {
  display: flex;
  gap: 15px;
  align-items: flex-end;
  justify-content: flex-end;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .ly_footer .bl_footer_right .sns {
    justify-content: center;
    margin-bottom: 24px;
  }
}
:where([data-whatintent="mouse"]) .ly_footer .bl_footer_right .sns a:hover {
  opacity: 0.5;
}
.ly_footer .bl_footer_copy {
  font-size: 12px;
  letter-spacing: 0.01em;
}

.bl_pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
@media (max-width: 767px) {
  .bl_pageTop {
    bottom: 60px;
  }
}
.bl_pageTop a {
  position: relative;
  display: block;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background-color: #222;
  opacity: 0.5;
}
@media (max-width: 767px) {
  .bl_pageTop a {
    width: 50px;
    height: 50px;
  }
}
.bl_pageTop a::before {
  content: "";
  position: absolute;
  top: 36%;
  left: 40%;
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 1em;
  height: 1em;
  border: 0.2em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(25%) rotate(-45deg);
}
@media (max-width: 767px) {
  .bl_pageTop a::before {
    width: 0.6em;
    height: 0.6em;
    border: 0.15em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    top: 40%;
  }
}
:where([data-whatintent="mouse"]) .bl_pageTop a:hover {
  opacity: 1;
}

.top_bg {
  background-image: url(../images/bg_pc.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .top_bg {
    background-image: url(../images/bg_sp.png);
    background-position: top center;
    background-repeat: repeat;
    background-size: contain;
    padding-top: 0;
    margin-top: 0;
  }
}

.bl_mv {
  position: relative;
  z-index: 1;
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .bl_mv {
    margin-bottom: 26px;
  }
}
.bl_mv .bl_mv_inner {
  position: relative;
}
.bl_mv .bl_scroll {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 900;
  color: #fff;
}
:where([data-whatintent="mouse"]) .bl_mv .bl_scroll:hover {
  opacity: 0.5;
}
@media (max-width: 767px) {
  .bl_mv .bl_scroll {
    font-size: 1.3rem;
    bottom: 10px;
  }
}

.bl_secHdg {
  text-align: center;
  margin-bottom: 60px;
}
.bl_secHdg span {
  position: relative;
  font-weight: 900;
  font-size: 2.9rem;
  text-align: center;
  padding-bottom: 20px;
  text-align: center;
  border-bottom: 3px solid #004099;
}
@media (max-width: 767px) {
  .bl_secHdg span {
    display: block;
    margin: auto;
    padding-bottom: 10px;
    font-size: 1.8rem;
    width: 295px;
  }
}
.bl_secHdg span::before, .bl_secHdg span::after {
  position: absolute;
  top: 100%;
  left: 50%;
  content: "";
  height: 0;
  width: 0;
}
.bl_secHdg span::before {
  border: 16px solid;
  border-top-width: 24px;
  border-color: transparent;
  border-top-color: #004099;
  margin-left: -16px;
}
.bl_secHdg span::after {
  border: 12px solid;
  border-top-width: 18px;
  border-color: transparent;
  border-top-color: white;
  margin-left: -12px;
}

.bl_reason {
  padding-bottom: 120px;
}
@media (max-width: 767px) {
  .bl_reason {
    padding-bottom: 60px;
  }
}
.bl_reason .bl_secHdg span::after {
  border-top-color: #F6F7F8;
}
.bl_reason_inner {
  margin-bottom: 120px;
}
@media (max-width: 767px) {
  .bl_reason_inner {
    margin-bottom: 74px;
  }
}
.bl_reason_inner:nth-child(2) {
  margin-bottom: 140px;
}
@media (max-width: 767px) {
  .bl_reason_inner:nth-child(2) {
    margin-bottom: 74px;
  }
}
.bl_reason_inner:last-child {
  margin-bottom: 0px;
}
.bl_reason_img {
  position: relative;
}
.bl_reason_img::before {
  content: "";
  position: absolute;
  top: -230px;
  left: 0;
  width: 218px;
  height: 291px;
}
@media (max-width: 767px) {
  .bl_reason_img::before {
    width: 100px;
    height: 132px;
    top: -180px;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 767px) {
  .bl_reason_img.img02::before {
    left: 50%;
    top: -250px;
  }
}
.bl_reason_img.img04 {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .bl_reason_img.img04::before {
    left: 50%;
    top: -220px;
  }
}
.bl_reason_caption {
  margin-top: 20px;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .bl_reason_caption {
    margin-top: 20px;
    font-size: 1.4rem;
  }
}
.bl_reason_caption ul {
  padding-left: 1.6rem;
}
.bl_reason_caption li {
  text-indent: -1.6rem;
  letter-spacing: 0.02em;
}
.bl_reason_caption a {
  color: #004099;
  text-decoration: underline;
}
.bl_reason_caption a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url(../images/icon_blank.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}
@media (max-width: 767px) {
  .bl_reason_caption a[target=_blank]::after {
    width: 12px;
    height: 12px;
  }
}
:where([data-whatintent="mouse"]) .bl_reason_caption a:hover {
  text-decoration: none;
}

.circle::before {
  position: absolute;
  content: "";
  left: 50%;
  z-index: 0;
  width: 364px;
  height: 251px;
  border-radius: 50%;
  background: inherit;
  transform: translateX(-50%) translateY(24%);
  top: -120px;
}
@media (max-width: 767px) {
  .circle::before {
    width: 172px;
    height: 130px;
    top: -60px;
  }
}

.bl_feature {
  position: relative;
  background-color: #FFE200;
  padding: 30px 0 120px 0;
}
@media (max-width: 767px) {
  .bl_feature {
    padding-bottom: 60px;
  }
}
.bl_feature.circle {
  background-color: #FFE200;
}
.bl_feature .bl_secHdg {
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .bl_feature .bl_secHdg {
    margin-bottom: 45px;
  }
}
.bl_feature .bl_secHdg span::after {
  border-top-color: #FFE200;
}
.bl_feature_inner {
  position: relative;
  z-index: 1;
}
.bl_feature_inner.col2 {
  display: flex;
  gap: 20px 20px;
}
@media (max-width: 767px) {
  .bl_feature_inner.col2 {
    display: block;
  }
}
.bl_feature_inner .img01 {
  margin-bottom: 20px;
}
.bl_feature_inner .img02 {
  margin-bottom: 20px;
}
.bl_feature_inner .img03 {
  margin-bottom: 20px;
}

.bl_schedule {
  padding: 30px 0 125px 0;
}
@media (max-width: 767px) {
  .bl_schedule {
    padding-bottom: 70px;
  }
}
.bl_schedule.circle {
  background-color: #fff;
}
.bl_schedule .bl_secHdg {
  margin-bottom: 84px;
}
@media (max-width: 767px) {
  .bl_schedule .bl_secHdg {
    margin-bottom: 45px;
  }
}
.bl_schedule .bl_schedule_txt {
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 15px;
}
.bl_schedule .bl_schedule_inner {
  position: relative;
  z-index: 1;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .bl_schedule .bl_schedule_inner {
    overflow: scroll;
    margin-bottom: 30px;
  }
}
.bl_schedule .bl_schedule_inner .bl_schedule_img {
  position: relative;
}
@media (max-width: 767px) {
  .bl_schedule .bl_schedule_inner .bl_schedule_img {
    min-width: 760px;
  }
}
.bl_schedule .bl_reason_caption {
  margin-top: -20px;
}
@media (max-width: 767px) {
  .bl_schedule .bl_reason_caption {
    margin-top: 33px;
  }
}

.bl_about {
  padding: 30px 0 80px 0;
}
@media (max-width: 767px) {
  .bl_about {
    padding-bottom: 60px;
  }
}
.bl_about.circle {
  background-color: #F0F2F5;
}
.bl_about .bl_secHdg {
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .bl_about .bl_secHdg {
    margin-bottom: 45px;
  }
}
.bl_about .bl_secHdg span::after {
  border-top-color: #F0F2F5;
}
.bl_about .bl_about_inner {
  position: relative;
  z-index: 1;
}
.bl_about .bl_about_inner {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .bl_about .bl_about_inner {
    gap: 20px;
  }
}
.bl_about .bl_about_inner .bl_about_img {
  width: calc(33.3333333333% - 20px);
}
@media (max-width: 767px) {
  .bl_about .bl_about_inner .bl_about_img {
    width: calc(50% - 10px);
  }
}
.bl_about .bl_about_inner .bl_about_img img {
  box-shadow: 0px 2px 8px 0px #dedede;
  border-radius: 10px;
}

.bl_access {
  padding-bottom: 73px;
}
@media (max-width: 767px) {
  .bl_access {
    padding-bottom: 60px;
  }
}
.bl_access .bl_secHdg {
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .bl_access .bl_secHdg {
    margin-bottom: 45px;
  }
}
.bl_access .bl_secHdg span::after {
  border-top-color: #F0F2F5;
}
.bl_access .campus {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .bl_access .campus {
    font-size: 1.4rem;
  }
}
.bl_access .bl_access_img {
  width: 560px;
  margin: auto;
}
@media (max-width: 767px) {
  .bl_access .bl_access_img {
    width: 100%;
  }
}

.bl_kousya {
  padding-bottom: 140px;
}
@media (max-width: 767px) {
  .bl_kousya {
    padding-bottom: 80px;
  }
}
.bl_kousya .bl_secHdg {
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .bl_kousya .bl_secHdg {
    margin-bottom: 45px;
  }
}
.bl_kousya .bl_secHdg span::after {
  border-top-color: #F0F2F5;
}
.bl_kousya .bl_secHdg_sm {
  font-weight: bold;
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .bl_kousya .bl_secHdg_sm {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
}
.bl_kousya .bl_kousya_inner {
  display: flex;
  gap: 30px;
}
@media (max-width: 767px) {
  .bl_kousya .bl_kousya_inner {
    display: block;
  }
  .bl_kousya .bl_kousya_inner img {
    margin-bottom: 16px;
  }
}

.fancybox-slide {
  padding: 0;
}

.bl_modal {
  position: relative;
  display: none;
  padding: 40px 0 0 0;
  background-color: transparent;
}
@media (max-width: 767px) {
  .bl_modal {
    padding: 47px 0 0 0;
  }
}
.bl_modal_img {
  max-width: 860px;
  pointer-events: none;
}
@media (max-width: 767px) {
  .bl_modal_img {
    width: 89.3%;
    margin: 0 auto;
  }
}
.bl_modal_closeTxt {
  position: absolute;
  top: -4px;
  right: 22px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.2s;
}
@media (max-width: 767px) {
  .bl_modal_closeTxt {
    top: 13px;
    right: 12.8%;
    letter-spacing: 0.01em;
  }
}
:where([data-whatintent="mouse"]) .bl_modal_closeTxt:hover {
  opacity: 0.5;
}
.bl_modal_closeTxt::before, .bl_modal_closeTxt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -15px;
  display: block;
  width: 4px;
  height: 20px;
  background-color: #fff;
}
@media (max-width: 767px) {
  .bl_modal_closeTxt::before, .bl_modal_closeTxt::after {
    right: -21px;
  }
}
.bl_modal_closeTxt::before {
  transform: translateY(-50%) rotate(45deg);
}
.bl_modal_closeTxt::after {
  transform: translateY(-50%) rotate(-45deg);
}
.bl_modal .fancybox-button {
  display: none;
}

.js_trigger {
  opacity: 0;
  transition: all 1s ease-out;
  transform: translateY(50px);
}

.is_fade {
  opacity: 1;
  transform: translateY(0);
}

/**
 * Element
 */
.el_btn {
  position: absolute;
  top: 116px;
  right: 10px;
  width: 208px;
  background-color: #00B2EE;
  border-radius: 6px;
  text-align: center;
  line-height: 1.1;
  transition: background-color 0.2s;
}
@media (max-width: 767px) {
  .el_btn {
    top: 105px;
    right: 7px;
    width: 136px;
  }
}
.el_btn__second {
  top: 195px;
}
@media (max-width: 767px) {
  .el_btn__second {
    top: 199px;
  }
}
.el_btn__third {
  top: 281px;
}
@media (max-width: 767px) {
  .el_btn__third {
    top: 293px;
  }
}
.el_btn__fourth {
  top: 368px;
}
@media (max-width: 767px) {
  .el_btn__fourth {
    top: 387px;
  }
}
.el_btn::before {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 208px;
  height: 28px;
  background-color: #004099;
  border-radius: 6px;
  z-index: -1;
  transition: background-color 0.2s;
}
@media (max-width: 767px) {
  .el_btn::before {
    width: 136px;
  }
}
:where([data-whatintent="mouse"]) .el_btn:hover {
  background-color: #004099;
}
:where([data-whatintent="mouse"]) .el_btn:hover::before {
  background-color: #00B2EE;
}
:where([data-whatintent="mouse"]) .el_btn:hover a::after {
  border-left: 4px solid #004099;
}
.el_btn a {
  position: relative;
  display: block;
  padding: 6px 30px 6px 12px;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.05em;
}
@media (max-width: 1040px) {
  .el_btn a {
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .el_btn a {
    padding: 9px 25px 8px 8px;
  }
}
.el_btn a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 9px;
  width: 14px;
  height: 14px;
  background-color: #fff;
  border-radius: 100px;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .el_btn a::before {
    right: 6px;
  }
}
.el_btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 13px;
  border-left: 4px solid #00B2EE;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  transform: translateY(-50%);
  transition: border-color 0.2s;
}
@media (max-width: 767px) {
  .el_btn a::after {
    right: 10px;
  }
}

/**
 * Unique
 */
/**
 * Helper
 */
@media (max-width: 767px) {
  .hp_pcOnly, .u-none-sp {
    display: none !important;
  }
}

@media not all and (max-width: 767px) {
  .hp_spOnly, .u-none-pc {
    display: none !important;
  }
}

/**
 * Page
 */
/* 20240319 added */
.notes_info_block2024_lp,
.notes_info_block {
  margin: 30px auto;
  /*width: 540px;*/
  /*background: rgba(82,125,175,.2);*/
  padding: 10px 15px;
  /*border: 1px solid #0E4780;*/
  color: #FF0000;
  text-align: center;
  font-weight: bold;
}

/**
 * Keyframes
 */


/* 240524 Add
---------------------------------------------------------------------*/
/* footer SNS link */
.footer-sns {
	display : flex;
	align-items : center;
}

@media screen and (max-width: 750px){
.footer-inner {
	max-width: 90%;
}
.footer-sns {
		justify-content: space-around;
		margin-top : calc( 75 * 100vw / 750 );
		margin-left: auto;
		margin-right: auto;
		width: 90%;
		box-sizing: border-box;
	}
.footer-sns li + li {
		/*margin-left : calc( 64 * 100% / 670 );*/
	}
.footer-sns li:nth-child(1) img {
		height : calc( 80 * 100vw / 750 );
		width: auto;
		max-width: none;
	}
.footer-sns li:nth-child(2) img{
		height : calc( 80 * 100vw / 750 );
		width: auto;
		max-width: none;
	}
.footer-sns li:nth-child(3) img{
		height : calc( 80 * 100vw / 750 );
		width: auto;
		max-width: none;
	}
.footer-sns li:nth-child(4) img{
		height : calc( 80 * 100vw / 750 );
		width: auto;
		max-width: none;
	}
.footer-sns li:nth-child(5) img{
		height : calc( 80 * 100vw / 750 );
		width: auto;
		max-width: none;
	}
.footer-sns {
	margin-bottom: 24px;
}
.bl_footer_right {
	width: 100%;
}
}
@media screen and (min-width: 751px) and (max-width:1299px){
.footer-sns li + li {
		margin-left : calc( 20 * 100vw / 1300 );
	}
.footer-sns li:nth-child(1) img {
		height : calc( 31 * 100vw / 1300 );
		width: auto;
	}
.footer-sns li:nth-child(2) img {
		height : calc( 31 * 100vw / 1300 );
		width: auto;
	}
.footer-sns li:nth-child(3) img {
		height : calc( 31 * 100vw / 1300 );
		width: auto;
	}
.footer-sns li:nth-child(4) img {
		height : calc( 31 * 100vw / 1300 );
		width: auto;
	}
.footer-sns li:nth-child(5) img {
		height : calc( 31 * 100vw / 1300 );
		width: auto;
	}
.footer-sns {
	margin-bottom: 40px;
}
}

@media print,screen and (min-width: 1300px){
.footer-sns li + li {
		margin-left : 20px;
	}
.footer-sns li img {
	width: auto;
}
.footer-sns li:nth-child(1) img {
		height : 31px;
	}
.footer-sns li:nth-child(2) img {
		height : 31px;
	}
.footer-sns li:nth-child(3) img {
		height : 31px;
	}
.footer-sns li:nth-child(4) img {
		height : 31px;
	}
.footer-sns li:nth-child(5) img {
		height : 31px;
	}
.footer-sns {
	margin-bottom: 40px;
}
}

/* tab */
/* ============================================ */
.tab_btn_list {
	display: flex;
	justify-content: space-between;
	border-bottom: #c80000 6px solid;
}
.tab_btn {
	width: 49%;
	text-align: center;
	list-style: none;
	cursor: pointer;
	transition: 0.4s ease-in-out;
	font-weight: 700;
	color: #c80000;
	background-color: #fff;
	border-left: #c80000 4px solid;
	border-right: #c80000 4px solid;
	border-top: #c80000 4px solid;
	border-radius: 1em 1em 0 0;
	font-size: 2.6rem;
	padding: 0.5em 0.25em;
}
.tab_btn.on,
.tab_btn:hover {
	background-color: #c80000;
	color: #fff;
}
.tab_contents {
	display: none;
}
.tab_contents.on {
	display: block;
	animation: panel-show .9s ease-in-out forwards;
}
.tab_wrap .tab_btn_list {
	position: relative;
	z-index: 1;
}
/* */
.bl_reason_img.img03,
.bl_reason_img.img04 {
	position: static;
}
.bl_reason_img.img03::before,
.bl_reason_img.img04::before {
	content: none;
}
.bl_reason_img.img04 {
	margin-bottom: 0;
}

.tab_wrap.img03,
.tab_wrap.img04 {
	position: relative;
}
.tab_wrap.img03::before,
.tab_wrap.img04::before {
	content: "";
	position: absolute;
	top: -230px;
	left: 0;
	width: 218px;
	height: 291px;
	z-index: 0;
}
.tab_wrap.img04 {
	margin-bottom: 20px;
}
@media (max-width: 767px) {
.tab_btn {
	font-size: 1.8rem;
}
.tab_wrap.img03::before,
.tab_wrap.img04::before {
	width: 100px;
	height: 132px;
	top: -180px;
	left: 50%;
	transform: translateX(-50%);
}
.tab_wrap.img04::before {
	left: 50%;
	top: -220px;
}
}
/* パネル切り替えのアニメーション */
@keyframes panel-show {
from {
	opacity: 0;
}
to {
	opacity: 1;
}
}
/* 入試日程 */
.el_btn__modal01 {
	top: 150px;
}
.el_btn__modal02 {
	top: 275px;
}
.el_btn__modal03 {
	top: 305px;
}
.el_btn__modal04 {
	top: 600px;
}
.el_btn__modal05 {
	top: 693px;
}
@media (min-width: 768px) {
.bl_schedule_inner {
	margin-top: 30px;
}
}
@media (max-width: 767px) {
.bl_schedule_txt.hp_spOnly {
	margin-top: 1em;
}
.el_btn__modal01 {
	top: 140px;
}
.el_btn__modal02 {
	top: 265px;
}
.el_btn__modal03 {
	top: 318px;
}
.el_btn__modal04 {
	top: 625px;
}
.el_btn__modal05 {
	top: 720px;
}
}
/* 追大とは */
@media (min-width: 768px) {
.bl_about .bl_about_inner .bl_about_img.se {
	width: 100%;
}
}

/* 241219 footer上 LPバナー4点追加 */
.p-banner {
  /*background-color: #749ccf;*/
  background-color: #fff;
  padding: 3rem 0;
}
.p-banner__inner {
  width: 92%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.p-banner__items {
  grid-gap: 1.3125rem;
  display: grid;
  gap: 1.3125rem;
  grid-template-columns: repeat(1, 1fr);
  margin: 0 auto;
  width: 98%;
}
.p-banner__items a {
  height: 100%;
}
.p-banner__items img {
  aspect-ratio: 721/332;
}
@media screen and (min-width: 768px) {
  .p-banner {
    padding: 6.25rem 0;
  }
  .p-banner__items {
    gap: 3.125rem 2.25rem;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
  }
}

/* 250411 入試日程に注釈追加 */
@media (min-width: 768px) {
.bl_secHdg + .notes_info_block2024_lp,
.bl_secHdg + .notes_info_block {
	position: relative;
	z-index: 2;
}
}

/* 250424 茨木総持寺キャンパスリンク追加 */
/* 250731 茨木総持寺キャンパスリンク 詳しくはこちらbtn */
.campus_btn {
	text-decoration: none;
	display: block;
	width: 80%;
	border: #004099 2px solid;
	background-color: #fff;
	color: #004099;
	font-weight: normal;
	margin-top: 1em;
	margin-left: auto;
	margin-right: auto;
	padding: 0.5em 2.5em;
	position: relative;
}
.campus_btn::after {
	content: '';
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	border-top: #004099 2px solid;
	border-right: #004099 2px solid;
	transform: rotate(45deg);
	position: absolute;
	right: 1em;
	top: 0;
	bottom: 0;
	margin: auto;
}
.bl_access_inner + .bl_access_inner {
	margin-top: 2em;
}
@media (min-width: 768px) {
.campus_btn {
	max-width: 510px;
}
}
@media (hover: hover) {
.campus_btn,
.bl_access_inner a {
	transition: 0.3s;
}
.campus_btn:hover {
	background-color: #004099;
	color: #fff;
}
.campus_btn:hover::after {
	border-top: #fff 2px solid;
	border-right: #fff 2px solid;
}
.bl_access_inner a:hover {
	opacity: 0.7;
}
}


/* 20260501 リニューアル */
/* ============================================ */
/* common */
.roboto {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.bl_pageTop {
	z-index: 10;
}
.top_bg {
	background-image: none;
	background-color: #f0f0f0;
}
.mgbLine,
.mgb1em {
	margin-bottom: 1em !important;
}
.sentence {
	margin-bottom: 4em;
}
.paragraph {
	margin-bottom: 2em;
}
.mgtLine {
	margin-top: 1em !important;
}
.taR {
	text-align: right;
}
.note {
	font-weight: 400;
}
@media (max-width: 767px) {
	.note {
		font-size: 1.2rem;
	}
	.section {
		margin-bottom: 3em !important;
	}
	.paragraph {
		margin-bottom: 2em !important;
	}
}
@media screen and (min-width: 768px) {
	.note {
		font-size: 1.4rem;
	}
	.section {
		margin-bottom: 50px !important;
	}
	.paragraph {
		margin-bottom: 30px !important;
	}
	.ly_container {
		padding: 0;
		max-width: 1200px;
	}
}
/* チャレンジしやすい理由 */
#anc-merit .bl_secHdg,
#choose_block .bl_secHdg {
	margin-bottom: 0;
	background-color: #01a0eb;
	border-radius: 5px 5px 0 0;
}
#anc-merit .bl_secHdg span,
#choose_block .bl_secHdg span {
	border-bottom: none;
	position: static;
	padding: 0;
	color: #fff;
}
#anc-merit .bl_secHdg span::before,
#anc-merit .bl_secHdg span::after,
#choose_bloc .bl_secHdg span::before,
#choose_bloc .bl_secHdg span::after {
	content: none;
}
.admission-block {
	background-color: #fff;
	border-radius: 0 0 5px 5px;
}
.bl_reason_block {
	text-align: center;
}
.bl_reason_block:last-child {
	margin-bottom: 0;
}
.bl_reason_block_ttl {
	background-color: #004099;
	color: #fff;
	font-weight: 700;
	text-align: center;
	border-radius: 2em;
	position: relative;
	margin-bottom: 1em;
}
.bl_reason_block_ttl::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 0.4em solid transparent;
	border-left: 0.4em solid transparent;
	border-top: 0.69em solid #004099;/*1.74倍*/
	border-bottom: 0;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.6em;
	margin: auto;
}
.bl_reason_block_ttl .label {
	display: inline-block;
	border: #fff 2px solid;
	border-radius: 0.25em;
	font-weight: 400;
	font-size: 0.85em;
	padding: 0 0.5em;
	margin-right: 0.5em;
}
span.num {
	font-family: "Roboto", sans-serif;
	font-weight: 900;
	font-size: 1.6em;
}
.bl_reason_block_txt {
	font-weight: 700;
}
.txt_red {
	color: #bd2800;
}
.bg_yel_box {
	background-color: #fefce1;
}
#point02 .bg_yel_box .box_ttl {
	font-weight: 700;
	text-align: center;
	color: #01a0eb;
	margin-bottom: 0.5em;
}
#point02 .bg_yel_box .box_ttl::before,
#point02 .bg_yel_box .box_ttl::after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1.5em;
	height: 1px;
	background-color: #01a0eb;
}
#point02 .bg_yel_box .box_ttl::before {
	margin-right: 0.5em;
}
#point02 .bg_yel_box .box_ttl::after {
	margin-left: 0.5em;
}
.admission_dl {
	font-weight: 700;
	border-radius: 0.25em;
	border-width: 2px;
	border-style: solid;
	position: relative;
	margin-top: 1.25em;
}
.admission_dl_ttl {
	text-align: center;
	font-weight: 700;
	color: #fff;
	border-radius: 2em;
	padding: 0.25em 2em;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: -1.25em;
	z-index: 2;
	height: 2em;
	display: flex;
	justify-content: center;
	align-items: center;
}
#point02 .admission_dl_ttl {
		background-color: #01a0eb;
}
#point02 .admission_dl {
	background-color: #fff;
	border-color: #000;
}
#point02 .admission_dl_txtarea {
	text-align: center;
}
.exam_ttl {
	color: #01a0eb;
	text-align: center;
	font-weight: 700;
	margin-bottom: 1em;
	position: relative;
}
.exam_ttl::before {
	content: '';
	width: 100%;
	height: 2px;
	background-color: #01a0eb;
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 0;
}
.exam_ttl .ttl {
	display: inline-block;
	background-color: #fff;
	padding: 0 1em;
	position: relative;
	z-index: 2;
}
.frame_red {
	font-weight: 700;
	color: #bd2800;
	border: #bd2800 3px solid;
	text-align: center;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
.frame_red.catch {
	border-radius: 2em;
	padding: 0.25em 2em;
	margin-bottom: 0.75em;
}
.faculty_dl {
	background-color: #fefce1;
}
.faculty_dl_ttl {
	background-color: #01a0eb;
	color: #fff;
	font-weight: 700;
	text-align: center;
}
.faculty_dl_txtarea {
	background-color: #fefce1;
	font-weight: 700;
}
.subject_list {
	text-align: center;
	letter-spacing: -0.4em;
}
.subject_list > li {
	display: inline-block;
	letter-spacing: normal;
	background-color: #fff601;
	font-weight: 700;
	padding: 0 0.5em;
	margin: 0 4px;
}
.faculty_dl .frame_red {
	background-color: #fff;
	padding:  0 0.5em;
}
@media (max-width: 767px) {
	#anc-merit {
		margin-bottom: 50px;
	}
	#anc-merit .bl_secHdg span,
	#choose_block .bl_secHdg span {
		font-size: 5vw;
		padding: 0.25em;
	}
	.bl_reason_inner,
	.bl_reason_inner:nth-child(2) {
		margin-bottom: 30px;
	}
	.admission-block_inner {
		padding: 10px;
	}
	.bl_reason_block {
		margin-bottom: 20px;
	}
	.bl_reason_block_ttl {
		font-size: 2rem;
		padding: 0.5em;
	}
	.bl_reason_block_ttl > span {
		display: block;
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
	}
	.bl_reason_block_txt {
		font-size: 2rem;
		line-height: 1.1;
	}
	#point02 .bg_yel_box,
	#point02 .bg_wht_box {
		padding: 15px 10px;
	}
	#point02 .bg_yel_box .box_ttl {
		font-size: 2rem;
		margin-bottom: 1.5em;
	}
	.admission_dl {
		font-size: 1.6rem;
		padding: 25px 0.5em 10px;
	}
	.admission_dl_ttl {
		font-size: 1.8rem;
		line-height: 1.2;
	}
	.admission_dl_txtarea {
		font-size: 1.6rem;
	}
	.admission_dl + .admission_dl {
		margin-top: 40px;
	}
	.exam_ttl {
		font-size: 2rem;
	}
	.frame_red.catch {
		font-size: 1.6rem;
	}
	.faculty_dl_ttl,
	.faculty_dl_txtarea {
		padding: 10px;
	}
	.faculty_dl_ttl {
		font-size: 1.8rem;
	}
	.faculty_dl_txtarea {
		font-size: 1.4rem;
		text-align: center;
	}
	.faculty_dl + .faculty_dl {
		margin-top: 20px;
	}
}
@media screen and (min-width: 768px) {
	#anc-merit {
		margin-bottom: 120px;
	}
	#anc-merit .bl_secHdg span,
	#choose_block .bl_secHdg span {
		font-size: 4.2rem;
		padding: 0.5em 0.25em;
		display: inline-block;
	}
	.bl_reason_inner {
		padding: 50px 0;
		max-width: 960px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 0;
	}
	.bl_reason_inner:nth-child(2) {
		margin-bottom: 0;
	}
	.bl_reason_block {
		margin-bottom: 30px;
	}
	.bl_reason_block_ttl {
		font-size: 3.7rem;
		padding: 0.5em 0.25em;
	}
	.bl_reason_block_txt {
		font-size: 3.7rem;
	}
	#point02 .bg_yel_box,
	#point02 .bg_wht_box {
		padding: 30px 35px;
	}
	#point02 .bg_yel_box .box_ttl {
		font-size: 2.4rem;
		margin-bottom: 2em;
	}
	.admission_dl {
		font-size: 2.4rem;
		padding: 50px 0.5em 20px;
	}
	.admission_dl_txtarea {
		font-size: 2rem;
	}
	.pc_col2_wrap {
		display: flex;
		flex-wrap: wrap;
	}
	.pc_col2_wrap > dl,
	.pc_col2_wrap > div {
		width: calc((100% - 20px) / 2);
		margin-right: 20px;
		margin-top: calc(1.25em + 20px);
	}
	.pc_col2_wrap > dl:nth-child(2n),
	.pc_col2_wrap > div:nth-child(2n) {
		margin-right: 0;
	}
	.pc_col2_wrap > dl:nth-child(-n + 2),
	.pc_col2_wrap > div:nth-child(-n + 2) {
		margin-top: 0;
	}
	#point02 .admission_dl {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.exam_ttl {
		font-size: 2.4rem;
	}
	.frame_red.catch {
		font-size: 2.2rem;
	}
	#point03 .pc_col2_wrap {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));/* grid-template-columns: repeat(n, minmax(0, 1fr)); 均等カラムを“中身に崩されないようにする”テンプレ*/
	column-gap: 20px;
	row-gap: 0;
	grid-auto-rows: auto; /* ここ重要 各行の高さは、その行に入っている要素の中で一番高さが大きいものに揃う */
	}
	#point03 .faculty_dl {
		width: 100%;
		margin: 0;
		display: grid;
		grid-template-rows: subgrid;/* 親の行を共有する */
		grid-row: span 2;
		border-radius: 4px;
		overflow: hidden;
	}
	#point03 .faculty_dl_ttl,
	#point03 .faculty_dl_txtarea {
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		box-sizing: border-box;
		font-size: 2.4rem;
		padding: 0.75em;
	}
	.faculty_dl_txtarea {
		flex-direction: column;
	}
	.subject_list > li {
		padding: 0 1em;
	}
}
/* 総合型選抜 or 公募制推薦入試 */
#choose_block.admission-block {
}
#choose_block .bl_secHdg {
	position: relative;
}
#choose_block .bl_secHdg .label {
	width: fit-content;
	display: block;
	background-color: #fff601;
	color: #004099;
	border-radius: 2em;
	font-size: 0.6em;
	line-height: 1;
	padding: 0.25em 1em;
	margin: auto;
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	top: -1.25em;
}
#choose_block .bl_secHdg span::before,
#choose_block .bl_secHdg span::after {
	content: none;
}
#choose_block .admission_dl_ttl {
	background-color: #004099;
}
#choose_block .admission_dl {
	border-color: #004099;
}
.frame_blu {
	border: #004099 1px solid;
	color: #004099;
	padding: 0 0.5em;
	width: fit-content;
	margin-bottom: 0.25em;
}
.circle_list_blue > li {
	padding-left: 1em;
	text-indent: -1em;
}
.dot_list {
	padding-left: 1.25em;
}
.dot_list > li {
	list-style: disc;
}
.bg_triangle_yel {
	background-image: url("../images/bg_triangle_yel.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	text-align: center;
	font-weight: 900;
	padding: 1em 0;
	margin: 1em 0;
}
.circle_list_blue {
	color: #01a0eb;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
.circle_list_blue.uline > li {
	background: linear-gradient(transparent 90%, #01a0eb 90%);
}
.tab_btn_list {
	border-bottom: #004099 6px solid;
}
.check_list > li {
	padding-left: 1.5em;
	background-image: url("../images/icon_check.svg");
	background-repeat: no-repeat;
	background-position: left 0.25em;
	background-size: 1.25em;
}
.tab_btn {
	color: #004099;
	border-left: #004099 4px solid;
	border-right: #004099 4px solid;
	border-top: #004099 4px solid;
}
.tab_btn.on, .tab_btn:hover {
	background-color: #004099;
}
.tab_contents {
	border-left: #004099 4px solid;
	border-right: #004099 4px solid;
	border-bottom: #004099 4px solid;
	border-radius: 0 0 10px 10px;
}
.tab_contents_ttl {
	background-color: #01a0eb;
	color: #fff;
	text-align: center;
	font-weight: 700;
	border-radius: 5px;
	margin-bottom: 0.5em;
}
.tab_contents_ttl .label {
	display: inline-block;
	color: #01a0eb;
	background-color: #fff;
	text-align: center;
	padding: 0 0.5em;
}
.tab_contents .lead {
	font-weight: 700;
	margin-bottom: 1em;
}
.qformat_dl {
	margin-bottom: 1em;
}
.qformat_dl_ttl {
	color: #01a0eb;
	font-weight: 700;
}
.qformat_dl_txtarea .bl_schedule_inner {
	margin-top: 0.5em;
}
.choose_type_ttl {
	margin-bottom: 0.5em;
}
.choose_type_ttl.l1h {
	line-height: 1;
	height: 2.8em;
}
.choose_type_ttl.l1h img {
	height: 100%;
	width: auto;
}
.fig_about_dl {
	border-radius: 5px;
	border: #f36e21 2px solid;
	margin-top: 20px;
	position: relative;
}
.fig_about_dl_ttl {
	background-color: #f36e21;
	color: #fff;
	font-weight: 700;
}
.fig_about_dl::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	border-bottom: 17px solid #f36e21;
	border-top: 0;
	position: absolute;
	left: 60px;
	top: -17px;
}
.fig_about_dl_txtarea {
	background-color: #fff;
}
.txt_orn {
	color: #f36e21;
}
.detail_btn_wrap {
	text-align: center;
}
.detail_btn_wrap a {
	display: block;
	color: #004099;
	border: #004099 2px solid;
	border-radius: 2em;
	line-height: 1;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.detail_btn_wrap a::after {
	content: '';
	display: block;
	width: 0.6em;
	height: 0.6em;
	border-top: 2px solid #004099;
	border-right: 2px solid #004099;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 1em;
	top: 0;
	bottom: 0;
	margin: auto;
}
.frame_blk {
	font-weight: 700;
	border: #000 1px solid;
	color: #000;
	padding: 0 0.5em;
	width: fit-content;
	margin-bottom: 0.25em;
}
.tab_contents_catch {
	background-color: #fff601;
	text-align: center;
	color: #004099;
	font-weight: 900;
	margin-bottom: 0.5em;
	border-radius: 5px;
}
.tab_contents_catch .txt_bigger {
	font-size: 1.3em;
}
.tab_contents_ttl.strategy {
	text-align: left;
	border-radius: 5px;
}
.tab_contents_ttl .ic_strategy {
	background-color: #fff601;
	color: #004099;
}
.tab_contents_ttl.strategy .sub {
	font-size: 0.7em;
}
.marker {
	color: #01a0eb;
	font-weight: 700;
	background: linear-gradient(transparent 90%, #fff601 90%);
}
.balloon_wrap {
	margin: 1.5em auto 1em;
}
.balloon {
	position: relative;
	display: inline-block;
	margin-top: 20px;
	border: 2px solid #01a0eb;
	color: #01a0eb;
	font-weight: 700;
	border-radius: 10px;
	background-color: #fff;
}
.balloon::before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	border-style: solid;
	border-width: 0 10px 20px 10px;
	border-color: transparent transparent #01a0eb;
	translate: -50% -100%;
}
.balloon::after {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	border-style: solid;
	border-width: 0 7.8px 15.5px 7.8px;
	border-color: transparent transparent #fff;
	translate: -50% -100%;
}
.lets_dl_ttl {
	background-color: #01a0eb;
	color: #fff;
	font-weight: 700;
	text-align: center;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0.5em;
}
.lets_dl .note {
	padding-left: 1em;
	text-indent: -1em;
}
.favorite_list .person {
	background-color: #fefce1;
	color: #01a0eb;
	font-weight: 700;
	text-align: center;
	border-radius: 5px;
}
.favorite_list .type {
	background-color: #fff;
	border: #b5c3cb 3px solid;
	color: #000;
	font-weight: 700;
	border-radius: 5px;
}
.method_dl {
	border-radius: 5px;
}
.method_dl_ttl {
	background-color: #01a0eb;
	border: #01a0eb 2px solid;
	border-radius: 5px 5px 0 0;
	color: #fff;
	text-align: center;
	font-weight: 700;
	line-height: 1;
}
.method_dl_ttl span {
	display: inline-block;
	vertical-align: middle;
}
.method_dl_ttl .nonum {
	width: 1em;
	height: 1em;
	background-color: #fff;
	color: #01a0eb;
	margin-left: 0.25em;
	text-align: center;
	border-radius: 50%;
}
.method_dl_txtarea {
	border: #01a0eb 2px solid;
	background-color: #fefce1;
	border-radius: 0 0 5px 5px;
}
.method_dl_txtarea_ttl {
	color: #01a0eb;
	font-weight: 700;
	text-align: center;
	margin-bottom: 0.5em;
}
.icNew {
	display: inline-block;
	vertical-align: top;
	font-size: 0.75em;
	line-height: 1;
	background-color: #fff601;
	padding: 0.25em 0.5em;
	border-radius: 1em;
	color: #bd2800;
}
@media (max-width: 767px) {
	#choose_block {
		margin-bottom: 30px;
	}
	#choose_block .bl_secHdg {
		font-size: 5vw;
	}
	#choose_block .bl_secHdg .label {
		font-size: 0.75em;
	}
	.tab_contents {
		padding: 10px;
	}
	.tab_contents_ttl {
		font-size: 1.8rem;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 10px;
	}
	.tab_contents .bg_yel_box {
		padding: 10px;
	}
	.bl_schedule_inner {
		overflow: scroll;
		margin-bottom: 30px;
	}
	.qformat_dl_txtarea .bl_schedule_inner .fig,
	.qformat_dl_txtarea .bl_schedule_inner .fig_about_dl {
		min-width: 820px;
	}
	.qformat_dl_ttl {
		font-size: 1.8rem;
	}
	.qformat_dl_txtarea {
		font-size: 1.4rem;
	}
	.fig_about_dl_ttl {
		font-size: 1.6rem;
		padding: 10px;
	}
	.fig_about_dl_txtarea {
		padding: 10px;
	}
	.detail_btn_wrap {
		margin: 15px auto 20px;
	}
	.detail_btn_wrap a {
		font-size: 1.6rem;
		padding: 0.5em 2em;
		width: 80%;
	}
	.fig.choose_type {
		min-width: 820px;
	}
	.tab_contents_catch {
		font-size: 2rem;
		line-height: 1.2;
		padding: 10px 5px;
	}
	.tab_contents_ttl .ic_strategy {
		display: inline-block;
		vertical-align: middle;
		padding: 0.25em 0.5em;
		font-size: 0.75em;
		border-radius: 0.5em;
	}
	.tab_contents_block p {
		font-size: 1.4rem;
	}
	.tab_contents_block .note {
		font-size: 1.2rem;
	}
	.balloon_wrap {
	margin: 0.5em auto 1em;
}
	.balloon {
		padding: 10px;
	}
	.lets_dl_ttl {
		font-size: 1.8rem;
		padding: 0.5em 0;
	}
	.favorite_list > li {
		margin-bottom: 15px;
	}
	.favorite_list > li:last-child {
		margin-bottom: 0;
	}
	.favorite_list .person {
		font-size: 1.8rem;
		padding: 10px;
		margin-bottom: 30px;
		position: relative;
	}
	.favorite_list .person::after {
		content: '';
		display: block;
		width: 30px;
		height: 30px;
		background-image: url("../images/yajirushi_down.svg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: auto 26px;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -30px;
		margin: auto;
	}
	.favorite_list .type {
		font-size: 1.6rem;
		padding: 10px;
	}
	.method_dl_ttl {
		font-size: 1.8rem;
		padding: 0.25em;
	}
	.method_dl_txtarea {
		padding: 10px;
		text-align: center;
	}
	.tab_contents_block .method_dl_txtarea_ttl {
		font-size: 2rem;
	}
	.fig.choose_highscores {
		min-width: 820px;
	}
}
@media screen and (min-width: 768px) {
	#choose_block {
		margin-bottom: 120px;
	}
	#choose_block .bl_secHdg {
		font-size: 4.2rem;
	}
	#choose_block .bl_secHdg .label {
		padding: 0.5em 3em;
	}
	.dl_1st {
		padding-top: 50px;
	}
	.bg_triangle_yel {
		font-size: 2.4rem;
	}
	.tab_contents {
		padding: 30px;
	}
	.tab_contents_ttl {
		padding: 15px;
		font-size: 2.8rem;
		position: relative;
	}
	.tab_contents_ttl .label {
		font-size: 2.4rem;
		height: 1.5em;
		line-height: 1.5em;
		position: absolute;
		right: 15px;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.tab_contents .lead,
	.tab_contents_block .choose_type_ttl {
		font-size: 2rem;
	}
	.tab_contents .bg_yel_box {
		padding: 30px;
	}
	.qformat_dl_ttl {
		font-size: 2.2rem;
	}
	.qformat_dl_txtarea {
		font-size: 1.6rem;
	}
	.fig_about_dl_ttl {
		font-size: 1.8rem;
		padding: 10px;
	}
	.fig_about_dl_txtarea {
		padding: 20px;
	}
	.detail_btn_wrap {
		margin: 30px auto;
	}
	.detail_btn_wrap a {
		font-size: 2.4rem;
		padding: 0.75em 2em;
		max-width: 500px;
	}
	.frame_blk {
		font-size: 2rem;
	}
	.bl_schedule_inner .fig {
		text-align: center;
	}
	.tab_contents_catch {
		font-size: 3.4rem;
	}
	.tab_contents_ttl.strategy {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		line-height: 1;
	}
	.tab_contents_ttl .ic_strategy {
		display: inline-block;
		vertical-align: middle;
		margin-right: 0.5em;
		padding: 0.25em 1em;
		font-size: 0.75em;
		border-radius: 2em;
	}
	.tab_contents_block p {
		font-size: 1.6rem;
	}
	.tab_contents_block .note {
		font-size: 1.4rem;
	}
	.balloon_wrap {
		max-width: 810px;
	}
	.balloon {
		padding: 15px;
	}
	.lets_dl_ttl {
		font-size: 2rem;
		width: 260px;
		padding: 0.5em 0;
	}
	.favorite_list > li {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 12px;
		background-image: url("../images/yajirushi.svg");
		background-repeat: no-repeat;
		background-position: center center;
		background-size:  46px auto;
	}
	.favorite_list > li:last-child {
		margin-bottom: 0;
	}
	.favorite_list > li > p {
		width: calc((100% - 54px) / 2);
	}
	.favorite_list .person {
		font-size: 2.4rem;
		padding: 10px;
	}
	.favorite_list .type {
		font-size: 2.2rem;
		padding: 10px;
	}
	.method_dl_ttl {
		font-size: 2rem;
		padding: 0.25em;
	}
	.method_dl_txtarea {
		padding: 30px;
		text-align: center;
	}
	.tab_contents_block .method_dl_txtarea_ttl {
		font-size: 2.4rem;
	}
}

/* 入試日程 */
#schedule_block .bl_secHdg span,
#feature_block .bl_secHdg span,
#about_block .bl_secHdg span,
#access_block .bl_secHdg span {
	border-bottom: 3px solid #01a0eb;
}
#schedule_block .bl_secHdg span::before,
#feature_block .bl_secHdg span::before,
#about_block .bl_secHdg span::before,
#access_block .bl_secHdg span::before {
	border-top-color: #01a0eb;
}
#schedule_block .bl_secHdg span::after,
#feature_block .bl_secHdg span::after {
	border-top-color: #fff;
}
#about_block .bl_secHdg span::after,
#access_block .bl_secHdg span::after {
	border-top-color: #f0f2f5;
}
#schedule_block .tab_btn_list {
	border-bottom: #01a0eb 6px solid;
}
#schedule_block .tab_btn {
	color: #01a0eb;
	border-left: #01a0eb 4px solid;
	border-right: #01a0eb 4px solid;
	border-top: #01a0eb 4px solid;
}
#schedule_block .tab_btn.on,
#schedule_block .tab_btn:hover {
	color: #fff;
	background-color: #01a0eb;
}
#schedule_block .tab_contents {
	padding: 0;
	border: none;
}
#schedule_block.bl_schedule {
	padding: 0;
}
@media (max-width: 767px) {
	.bl_schedule .bl_secHdg {
		padding-top: 20px;
	}
	.tab_btn {
		font-size: 1.6rem;
	}
	#schedule_block .bl_reason_inner {
		padding-bottom: 10px;
	}
}
@media screen and (min-width: 768px) {}

/* 追大のここがすごい */
#feature_block.bl_feature.circle {
	background-color: #fff;
}
#feature_block .admission_dl {
	border-color: #004099;
}
#feature_block .admission_dl_ttl {
	background-color: #004099;
}
.fig_ttl {
	text-align: center;
	margin-bottom: 0.5em;
}
.admission_dl_txtarea .fig {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.admission_dl_txtarea .achievements {
	color: #004099;
}
.admission_dl_txtarea .people {
	color: #bd2800;
}
.ranking_list {
	display: flex;
	flex-wrap: wrap;
}
.ranking_list > li {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: #f0f0f0;
	text-align: center;
}
.ranking_list > li.our {
	background-color: #bd2800;
	color: #fff;
}
.gb_blu {
	background-color: #d9f4fd;
}
.trend_box {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.trend_box .ttl .sub {
	font-weight: 400;
	font-size: 0.83em;
}
.trend_box_lead {
	text-align: center;
}
.txt_blu {
	color: #004099;
}
@media (max-width: 767px) {
	#feature_block .admission-block_inner {
		padding: 0;
	}
	.feature_col2_wrap {
		margin-bottom: 20px;
	}
	.fig_ttl {
		font-size: 1.8rem;
		line-height: 1.2;
	}
	.admission_public .admission_dl_txtarea {
		text-align: center;
		line-height: 1.2;
	}
	.admission_dl_txtarea .year {
		font-size: 2rem;
	}
	.admission_dl_txtarea .achievements {
		font-size: 2.4rem;
	}
	.admission_dl_txtarea .people {
		font-size: 4rem;
	}
	.admission_rank.admission_dl,
	.admission_result--trend.admission_dl {
		margin-top: 40px;
		padding: 60px 0.5em 10px;
	}
	.admission_rank .admission_dl_ttl,
	.admission_result--trend .admission_dl_ttl {
		display: block;
		min-height: 2em;
		height: auto;
	}
	.ranking_list > li {
		width: calc((100% - 10px) / 3);
		margin-right: 5px;
		margin-top: 5px;
		line-height: 1.2;
		padding: 5px;
	}
	.ranking_list > li:nth-child(3n) {
		margin-right: 0;
	}
	.ranking_list > li:nth-child(-n + 3) {
		margin-top: 0;
	}
	.ranking_list .rank {
		font-size: 2rem;
	}
	.ranking_list .name {
		font-size: 1.6rem;
	}
	.trend_box {
		padding: 5px;
	}
	.trend_box .ttl {
		font-size: 1.8rem;
	}
	.admission_dl_txtarea .note {
		padding-left: 1em;
		text-indent: -1em;
	}
}
@media screen and (min-width: 768px) {
	#feature_block .admission-block_inner {
		max-width: 960px;
		margin-left: auto;
		margin-right: auto;
	}
	#feature_block .admission_dl {
		margin-top: 30px;
	}
	.feature_col2_wrap {
		margin-bottom: 85px;
	}
	.fig_ttl {
		font-size: 2rem;
	}
	.admission_rate .fig {
		max-width: 330px;
	}
	.admission_public.admission_dl .admission_dl_txtarea {
		display: flex;
		flex-direction: column;
		height: 100%;
		justify-content: center;
		align-items: center;
	}
	.admission_dl_txtarea .year {
		font-size: 2.6rem;
	}
	.admission_dl_txtarea .achievements {
		font-size: 3.2rem;
	}
	.admission_dl_txtarea .people {
		font-size: 6rem;
	}
	#feature_block .admission_dl.admission_result--trend {
		margin-top: 85px;
	}
	.admission_dl.admission_rank,
	.admission_dl.admission_result--trend {
		padding: 70px 40px 20px;
	}
	.ranking_list > li {
		width: calc((100% - 50px) / 6);
		margin-right: 10px;
		padding: 10px 5px;
	}
	.ranking_list > li:nth-child(6n) {
		margin-right: 0;
	}
	.ranking_list .rank {
		font-size: 2.2rem;
	}
	.ranking_list .name {
		font-size: 1.6rem;
	}
	.trend_box .ttl {
		font-size: 2.4rem;
	}
	.admission_result--trend .trend_box {
		max-width: 670px;
		padding: 20px;
	}
	.trend_box_lead {
		font-size: 2rem;
	}
	.admission_result--trend .fig {
		max-width: 670px;
	}
}


/* 追大とは */
@media (max-width: 767px) {}
@media screen and (min-width: 768px) {}

/* アクセス */
#access_block .feature_block_sttl {
	margin-bottom: 1em;
}
#access_block .bl_secHdg_lg {
	display: block;
	font-weight: 900;
	text-align: center;
}
#access_block .bl_secHdg_lg span {
	color: #004099;
}
.campus_info_cap {
	text-align: center;
	font-weight: 700;
}
.campus_btn {
	font-weight: 400;
	text-align: center;
}
@media (max-width: 767px) {
	.bg_gry_box.bottom + .bg_wht_box {
		padding-top: 20px;
	}
	#access_block .bl_secHdg_lg {
		font-size: 2rem;
		margin-bottom: 40px;
	}
	#access_block .bl_secHdg_lg span {
		font-size: 2.6rem;
	}
	.campus_info_img_list > li {
		margin-bottom: 5px;
	}
	.campus_info_img_list > li:last-child {
		margin-bottom: 0;
	}
	.campus_info_block {
		margin-bottom: 20px;
	}
}
@media screen and (min-width: 768px) {
	.bg_gry_box.bottom + .bg_wht_box {
		padding-top: 80px;
	}
	#access_block {
		padding-bottom: 120px;
	}
	#access_block .bl_secHdg_lg {
		font-size: 3.2rem;
		margin-bottom: 40px;
	}
	#access_block .bl_secHdg_lg span {
		font-size: 4rem;
	}
	.bl_access .bl_access_img {
		width: 714px;
	}
	.campus_info_cap {
		font-size: 2.4rem;
	}
	.campus_info_block {
		margin-bottom: 70px;
	}
	.campus_info_img_list,
	.osaka-life_bnr_wrap {
		max-width: 960px;
		margin-left: auto;
		margin-right: auto;
	}
	.campus_info_img_list > li,
	.osaka-life_bnr_wrap > div {
		width: calc((100% - 20px) / 2);
		margin-right: 20px;
	}
	.campus_info_img_list > li:nth-child(2n),
	.osaka-life_bnr_wrap > div:nth-child(2n) {
		margin-right: 0;
	}
	.bl_access .bl_access_img {
		max-width: 100%;
	}
	.campus_btn {
		font-size: 2.4rem;
		margin-top: 35px;
	}
}

/* LPのバナー群 */
@media (max-width: 767px) {}
@media screen and (min-width: 768px) {
	.p-banner__inner {
		max-width: 1670px;
	}
	.p-banner__items {
		grid-template-columns: repeat(3, 1fr);
	}
}
/* お申し込みはこちらから 1つの場合 */
.ly_footer .bl_footer_contact .bl_footer_btn {
	justify-content: center;
}
/* 資料請求ボタン追加 */
.bl_header_btn {
	overflow: hidden;
}
.bl_header_btn a,
.bl_header_btn a.lightBlue,
.bl_header_btn a.red {
	border-radius: 0;
}
@media (max-width: 767px) {
	.bl_header_btn {
		width: 96%;
		border-radius: 10px 10px 0 0;
		left: 0;
		right: 0;
		margin: auto;
	}
	.bl_header_btn a {
		width: 50%;
	}
}
@media screen and (min-width: 768px) {
	.bl_header_btn {
		border-radius: 10px 0 0 10px;
	}
}
.bl_header_btn a.red,
.ly_footer .bl_footer_contact .bl_footer_btn a.red {
  background-color: #bd2800;
}
:where([data-whatintent="mouse"]) .bl_header_btn a.red:hover,
:where([data-whatintent="mouse"]) .ly_footer .bl_footer_contact .bl_footer_btn a.red:hover {
  background-color: #ce0200;
}

@media (hover: hover) {}

/* 20260609 共テとしてリニューアル */
/* ============================================ */
.bg_wht_box {
	background-color: #fff;
}
.bg_gry_box {
	background-color: #f0f2f5;
}
/* 一般入試に向けて、お守り＆駆け込みに */
#message_block {
	text-align: center;
}
.message_block_balloon {
	position: relative;
	display: inline-block;
	border: 5px solid #fe5d7c;
	border-radius: 0.5em;
	color: #fe5d7c;
	font-weight: 900;
	line-height: 1.4;
	background: #fff;
	margin-bottom: 30px;
}
.message_block_balloon::before,
.message_block_balloon::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
}

.message_block_balloon::before {
	bottom: -27px;
	border-style: solid;
	border-width: 27px 16px 0 16px;
	border-color: #fe5d7c transparent transparent transparent;
}
.message_block_balloon::after {
	bottom: -18px;
	border-style: solid;
	border-width: 18px 11px 0 11px;
	border-color: #fff transparent transparent transparent;
}
.message_block_catch {
	color: #fe5d7c;
	font-weight: 700;
}
@media (max-width: 767px) {
	#message_block {
		margin-bottom: 20px;
	}
	.message_block_balloon {
		font-size: 5vw;
		padding: 0.5em 1em;
	}
}
@media screen and (min-width: 768px) {
	#message_block {
		margin-bottom: 70px;
	}
	.message_block_balloon {
		font-size: 4.2rem;
		padding: 0.5em;
	}
	.message_block_catch {
		font-size: 2.4rem;
	}
}
/* OIDAIの共通テスト利用入試 TOPICS */
#topics_block {
}
.topics_block_ttl {
	color: #004099;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1em;
	position: relative;
}
.topics_block_ttl::before {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: #004099;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 0;
}
.topics_block_ttl .ttl {
	display: inline-block;
	background-color: #fff;
	position: relative;
	z-index: 1;
}
.topics_box {
	background-color: #e6f3ff;
	border-radius: 1em;
}
.topics_box:last-child {
	margin-bottom: 0;
}
.topics_box_ttl {
	display: flex;
	align-items: center;
	margin-bottom: 0.5em;
}
.topics_box_ttl .num {
	color: #fe5d7c;
	display: inline-block;
	font-family: "Roboto", sans-serif;
	font-weight: 900;
	line-height: 1;
}
.topics_box_ttl .ttl {
	color: #004099;
	font-weight: 700;
}
.topics_box_cont {
	font-weight: 500;
}
@media (max-width: 767px) {
	#topics_block {
		margin-bottom: 20px;
	}
	.topics_block_ttl .ttl {
		padding: 0 0.5em;
	}
	.topics_box {
		padding: 1em;
		margin-bottom: 10px;
	}
	.topics_box_ttl .num {
		font-size: 3.8rem;
		width: 3.8rem;
	}
	.topics_box_ttl .ttl {
		width: calc(100% - 3.8rem);
		font-size: 1.8rem;
	}
	.topics_box_cont {
		font-size: 1.6rem;
	}
}
@media screen and (min-width: 768px) {
	#topics_block {
		margin-bottom: 80px;
	}
	.topics_block_ttl {
		font-size: 3.4rem;
	}
	.topics_block_ttl .ttl {
		padding: 0 1em;
	}
	.topics_box {
		padding: 35px;
		margin-bottom: 25px;
	}
	.topics_box_ttl {
		font-size: 3.4rem;
	}
	.topics_box_ttl .num {
		font-size: 7.5rem;
		width: 1em;
	}
	.topics_box_cont {
		font-size: 2.6rem;
	}
}
/* アンカーリンク群 */
.gnav-list a {
	display: block;
	background-color: #004099;
	color: #fff;
	text-align: center;
}
.gnav-list > li a {
	display: block;
	font-weight: 700;
	color: #fff;
	text-align: center;
	background-color: #004099;
	border-radius: 0.5em;
	position: relative;
}
.gnav-list > li a::after {
	content: '';
	display: inline-block;
	width: 0.75em;
	height: 0.75em;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1em;
	margin: auto;
}
@media (max-width: 767px) {
	#gnav-list_block {
		margin-bottom: 20px;
	}
	.gnav-list > li {
		margin-bottom: 10px;
	}
	.gnav-list > li:last-child {
		margin-bottom: 0;
	}
	.gnav-list > li a {
		padding: 0.25em 0.25em 1.25em;
	}
	.gnav-list > li a::after {
		bottom: 0.5em;
	}
}
@media screen and (min-width: 768px) {
	#gnav-list_block {
		margin-bottom: 90px;
	}
	.gnav-list {
		display: flex;
		gap: 3%;
	}
	.gnav-list > li a {
		font-size: 2.2rem;
		line-height: 1.6;
		padding: 20px 20px 2em 20px;
	}
}
@media (hover: hover) {
	.gnav-list > li {
			position: relative;
			flex: 1;
			transition: all .5s;
	}
	.gnav-list > li:hover {
		transform: translateY(20px);
	}
}

/* h02Title */
.bl_secHdg_ttl_hn02 {
	margin-bottom: 0;
	background-color: #01a0eb;
	border-radius: 5px 5px 0 0;
	
	text-align: center;
}
.bl_secHdg_ttl_hn02 .ttl {
	font-weight: 900;
	color: #fff;
	display: inline-block;
}
@media (max-width: 767px) {
	.bl_secHdg_ttl_hn02 .ttl {
		font-size: 5vw;
		padding: 0.25em;
	}
}
@media screen and (min-width: 768px) {
	.bl_secHdg_ttl_hn02 .ttl {
		font-size: 4.2rem;
		padding: 0.5em 0.25em;
	}
}

/* メリットTitle */
.bl_secHdg_lg {
	font-weight: 900;
}
.bl_secHdg_lg .point_Num {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border: #0066cb 0.06em solid;
	font-family: "Roboto", sans-serif;
	font-weight: 900;
	color: #0066cb;
	line-height: 1;
}
.bl_secHdg_lg .point_Num::before {
	content: 'メリット';
	font-weight: 400;
	font-size: 0.25em;
	display: block;
}
.bl_secHdg_lg .ttl {
	font-weight: 700;
}
.bl_secHdg_lg .ttl .bl_secHdg_lg_ttl {
	margin-bottom: 0.25em;
}
.bl_secHdg_lg .ttl .bl_secHdg_lg_ttl > span {
	color: #0066cb;
	background: linear-gradient(transparent 90%, #fe5d7c 90%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	display: inline;
}
@media (max-width: 767px) {
	.bl_secHdg_lg {
		font-size: 2rem;
		text-align: center;
		margin-bottom: 30px;
	}
	.bl_secHdg_lg .point_Num {
		font-size: 3.8rem;
		width: 60px;
		height: 60px;
		margin-left: auto;
		margin-right: auto;
	}
	.bl_reason .bl_secHdg_lg {
		text-align: center;
	}
	.bl_secHdg_lg_txt {
		font-size: 1.6rem;
	}
}
@media screen and (min-width: 768px) {
	.bl_secHdg_lg {
		display: flex;
		align-items: center;
		font-size: 3.2rem;
		text-align: left;
		margin-bottom: 40px;
	}
	.bl_secHdg_lg .point_Num {
		font-size: 7.5rem;
		width: 126px;
		height: 126px;
		margin-right: 25px;
	}
	.bl_secHdg_lg .ttl .bl_secHdg_lg_ttl,
	.bl_secHdg_lg .ttl .bl_secHdg_lg_ttl > span {
		font-size: 3.4rem;
	}
	.bl_secHdg_lg .ttl .bl_secHdg_lg_txt {
		font-size: 2rem;
	}
}

/* 共通テスト利用4つのメリット */
.moreover_ttl {
	display: inline-block;
	color: #0066cb;
	font-weight: 700;
	border: #0066cb 2px solid;
	padding: 0 0.5em;
	margin-bottom: 0.25em;
}
.merit_marker {
	color: #0066cb;
	font-weight: 900;
	background: linear-gradient(transparent 95%, #fe5d7c 95%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	display: inline;
}
.schedule_ttl {
	background-color: #0087b2;
	color: #fff;
	padding: 0.25em 0.5em;
	margin-bottom: 1em;
}
.schedule_ttl .ttl {
	font-weight: 700;
}
#anc-merit .campus_info_block {
	margin-bottom: 0;
}
@media (max-width: 767px) {
	.bg_wht_box + .bg_gry_box {
		padding-top: 20px;
	}
	.moreover_ttl {
		font-size: 2rem;
	}
	.merit_marker {
		font-size: 1.8rem;
	}
	.schedule_ttl {
		font-size: 2rem;
	}
	.schedule_ttl .sub {
		font-size: 1.8rem;
	}
	.bl_schedule_inner {
		overflow: scroll;
		position: relative;
		z-index: 1;
		margin-bottom: 30px;
		margin-top: 30px;
	}
	.bl_schedule_inner img {
		position: relative;
		min-width: 760px;
	}
	.fig + .fig {
		margin-top: 10px;
	}
}
@media screen and (min-width: 768px) {
	.bg_wht_box + .bg_gry_box {
		padding-top: 80px;
	}
	.moreover_ttl {
		font-size: 2.6rem;
	}
	.merit_marker {
		font-size: 2.1rem;
	}
	.schedule_ttl {
		font-size: 2.8rem;
	}
	.schedule_ttl .sub {
		font-size: 2.2rem;
	}
	.schedule_ttl .ttl {
	}
	.fig + .fig {
		margin-top: 20px;
	}
}

/* 必見！昨年度の合格ライン */
.heading-2 {
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.heading-2-btn {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 0;
		background-image: url("/lp/common/assets/images/heading_ic_plus.svg");
		background-repeat: no-repeat;
		background-size: cover;
		cursor: pointer;
	}
.heading-2-btn.is-active {
	background-image: url("/lp/common/assets/images/heading_ic_minus.svg");
}
.heading-2-btn.js-scrollin .heading-2-hn::before {
	width: 100%;
}
@media (max-width: 767px) {
	.heading-2-btn {
		transform: translate(0, -50%);
		width: 50px;
		height: 50px;
	}
}
@media screen and (min-width: 768px) {
	.heading-2-btn {
		transform: translate(-10%, -50%);
		width: 100px;
		height: 100px;
	}
}

.passline {
	position: relative;
}
.passline-tab {
	margin-left: auto;
	margin-right: auto;
	display: none;
}
.passline-tab.is-active {
	display: block;
	animation-name: anime_add;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
.passline-tab-list {
	display: flex;
	justify-content: space-between;
}
.passline-tab-list > li {
	width: 49%;
	color: #004099;
	text-align: center;
	font-weight: 700;
	border-left: #004099 4px solid;
	border-right: #004099 4px solid;
	border-top: #004099 4px solid;
	border-radius: 1em 1em 0 0;
	padding: 0.5em 0.25em;
	transition: 0.4s ease-in-out;
}
.passline-tab-list > li:not(.is-active) {
	cursor: pointer;
}
.passline-tab-list > li:hover,
.passline-tab-list > li.is-active {
	color: #fff;
	background-color: #004099;
}
.passline-tab-content {
	border: #004099 4px solid;
}
.passline-tab-item {
	display: none;
}
.passline-tab-item.is-active {
	display: block;
	animation-name: anime_tab;
	animation-duration: .5s;
	animation-fill-mode: forwards;
}
@media (max-width: 767px) {
	#anc-passline {
		margin-bottom: 30px;
	}
	.passline-tab {
		padding: 15px;
	}
	.passline-tab-list {
		gap: 0 20px;
	}
	.passline-tab-content {
		padding: 10px;
	}
}
@media screen and (min-width: 768px) {
	#anc-passline {
		margin-bottom: 120px;
	}
	.passline-tab {
		margin-top: 70px;
		max-width: 960px;
		padding-bottom: 70px;
	}
	.passline-tab-list {
		gap: 0 40px;
	}
	.passline-tab-list > li {
		font-size: 2.6rem;
	}
	.passline-tab-content {
		padding: 40px;
	}
	#anc-passline .bl_schedule_inner {
		margin-top: 0;
	}
	.passline-tab-image img {
		width: 100%;
		height: auto;
	}
}

@keyframes anime_add {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes anime_tab {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* 共通テスト利用入試の日程 */
.schedule-box {
	border: #0066cb 2px solid;
	text-align: center;
}
.schedule-box-main {
	color: #0066cb;
	font-weight: 700;
	margin-bottom: 0.5em;
}
.schedule-box-sub {
	color: #0066cb;
	margin-bottom: 0.5em;
}
.schedule-box-category {
	margin-bottom: 0.5em;
}
.schedule-box-category,
.schedule-box-type {
	letter-spacing: -0.4em;
}
.schedule-box-category > li,
.schedule-box-type > li {
	letter-spacing: normal;
	display: inline-block;
	vertical-align: top;
}
.schedule-box-category > li:last-child,
.schedule-box-type > li:last-child {
	margin-right: 0;
}
.-color1 {
	background-color: #00b2ee;
}
.-color2 {
	background-color: #fe5d7c;
}
.schedule-box-category > li {
	color: #fff;
	border-radius: 2em;
}
.schedule-box-type > li {
	color: #0066cb;
	border: #0066cb 2px solid;
}
.schedule-title-3-hn {
	color: #fe5d7c;
	text-align: center;
	font-weight: 900;
	margin-bottom: 0.5em;
}
.schedule-title-4 {
	color: #0066cb;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1em;
	position: relative;
}
.schedule-title-4::before {
	content: '';
	display: inline-block;
	width: 100%;
	height: 2px;
	border-top: #0066cb 2px dotted;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 0;
}
.schedule-title-4 .ttl {
	display: inline-block;
	background-color: #fff;
	position: relative;
	z-index: 1;
}
.schedule-title-5 {
	background-color: #0066cb;
	color: #fff;
	font-weight: 700;
	text-align: center;
	margin-bottom: 0.5em;
}
@media (max-width: 767px) {
	.schedule-box {
		padding: 10px;
		margin-bottom: 20px;
	}
	.schedule-box-main {
		font-size: 5vw;
	}
	.schedule-box-category > li {
		display: block;
		width: fit-content;
		padding: 0.25em 1em;
		line-height: 1.2;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 5px;
	}
	.schedule-box-category > li:last-child {
		margin-bottom: 0;
	}
	.schedule-box-type > li {
		padding: 0.25em 0.5em;
		margin-right: 5px;
	}
	.schedule-title-3-hn {
		font-size: 4vw;
	}
	.schedule-title-4 {
		font-size: 1.8rem;
	}
	.schedule-title-4 .ttl {
		padding: 0 1em;
	}
	.schedule-title-5 {
		font-size: 1.8rem;
	}
	.schedule-item + .schedule-item {
		margin-top: 20px;
	}
}
@media screen and (min-width: 768px) {
	.schedule-box {
		padding: 40px;
		margin-bottom: 40px;
	}
	.schedule-box-main {
		font-size: 3.6rem;
	}
	.schedule-box-sub {
		font-size: 2.4rem;
	}
	.schedule-box-category > li {
		font-size: 1.8rem;
		padding: 0.25em 1.5em;
		margin-right: 0.25em;
	}
	.schedule-box-type > li {
		font-size: 1.8rem;
		padding: 0.25em 0.5em;
		margin-right: 10px;
	}
	.schedule-title-3-hn {
		font-size: 3.2rem;
	}
	.schedule-title-4 {
		font-size: 2.8rem;
	}
	.schedule-title-4 .ttl {
		padding: 0 1.5em;
	}
	.schedule-title-5 {
		font-size: 2.2rem;
	}
	.schedule-item + .schedule-item {
		margin-top: 70px;
	}
}

/* 入試形式を見るバナー群 */
.ly_footer.mid_content .bl_footer_contact {
	background-color: #fff;
}
@media (max-width: 767px) {}
@media screen and (min-width: 768px) {}

/* 数字で見る追大の実績 */
#anc-results .bl_secHdg span {
	border-bottom: 3px solid #fe5d7c;
}
#anc-results .bl_secHdg span::before {
	border-top-color: #fe5d7c;
}
.feature_block_sttl {
	color: #fff;
	background-color: #004099;
	font-weight: 700;
	text-align: center;
	border: #004099 2px solid;
}
.feature_block_sttl.dl-dt {
	border-radius: 0.25em 0.25em 0 0;
}
.feature_block_sttl.hn-ttl {
	border-radius: 0.25em;
	margin-bottom: 0.75em;
}
.feature_block_sttl + .fields_box {
	text-align: center;
	border: #004099 2px solid;
	border-radius: 0 0 0.25em 0.25em;
}
.fields_box_catch {
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 0.5em;
}
.disc_list {
	list-style-type: disc;
	padding-left: 1.5em;
	font-weight: 500;
}

@media (max-width: 767px) {
	.bg_gry_box + .bg_gry_box {
		padding-top: 20px;
	}
	.bg_gry_box.bottom {
		padding-bottom: 20px;
	}
	.bl_secHdg {
		margin-bottom: 30px;
	}
	.feature_block_sttl + .fields_box {
		padding: 10px;
		margin-bottom: 40px;
	}
	.feature_block_sttl.hn-ttl + .feature_col2_wrap {
		margin-top: 30px;
	}
	.disc_list {
		font-size: 1.4rem;
	}
	.admission_dl + .admission_dl {
		margin-top: 40px;
	}
}
@media screen and (min-width: 768px) {
	.bg_gry_box + .bg_gry_box {
		padding-top: 80px;
	}
	.bg_gry_box.bottom {
		padding-bottom: 80px;
	}
	.feature_block_sttl {
		font-size: 2.8rem;
		padding: 0.25em 0.5em;
	}
	.feature_block_sttl + .fields_box {
		padding: 35px;
		margin-bottom: 60px;
	}
	.fields_box_catch {
		font-size: 2.8rem;
	}
	.fields_box .fig {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.fields_box .fig img {
		width: 100%;
	}
	.disc_list {
		font-size: 1.6rem;
	}
	.pc_list_3col {
		column-count: 3;
		column-gap: 2em;
	}
	.admission_dl_txtarea .pc_list_3col {
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
	}
	#feature_block .admission_dl.admission_rank {
		margin-bottom: 85px;
	}
}
/* お申し込みはこちらから */
.ly_footer .bl_footer_contact.circle {
	background-color: #0066cb;
}
.ly_footer .bl_footer_contact .bl_secHdg_contact {
	color: #fff;
}
.ly_footer .bl_footer_contact .bl_secHdg_contact::before,
.ly_footer .bl_footer_contact .bl_secHdg_contact::after {
	background: #fff;
}

/* 20260608 公務員に強い変更 */
.admission_dl_txtarea .year {
	text-align: center;
}
.admission_dl_txtarea .year .sub {
	font-weight: 500;
}
.successful_table_ttl_wrap {
	background-color: #004099;
	color: #fff;
	text-align: center;
	font-weight: 500;
	margin-bottom: 1em;
}
.successful_table_ttl_wrap .ttl {
	font-weight: 700;
	line-height: 1.2;
}
.successful_table {
	box-sizing: border-box;
}
.successful_table td {
	vertical-align: middle;
	font-weight: 700;
}
.successful_table {
	color: #959595;
	font-weight: 500;
}
.successful_table .th_name,
.successful_table .th_people {
	color: #000;
}
.successful_table .tbody {
	position: relative;
}
.successful_table .tbody::after {
	content: '';
	display: block;
	height: 2px;
	background-color: #d3d3d3;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
}
.successful_table .td_name {
	color: #5d5d5d;
}
.successful_table .td_num {
	font-weight: 900;
	font-size: 1.5em;
}
.successful_table .td_num_wrap {
	display: inline-block;
	background-color: #eee;
	text-align: center;
}
.successful_table .th_name,
.successful_table .td_name {
	text-align: left;
}
.successful_table .th_people,
.successful_table .td_people {
	text-align: center;
}
.successful_table .act td,
.successful_table .act .td_num_wrap {
	background-color: #bd2800;
	color: #fff;
}
.successful_table + .note {
	margin-top: 1em;
	text-align: right;
	margin-left: auto;
}

@media (max-width: 767px) {
	#feature_block .admission_dl.admission_rate {
		margin-top: 40px;
	}
	.successful_table_ttl_wrap {
		padding: 10px;
	}
	.successful_table_ttl_wrap .ttl {
		font-size: 1.6rem;
		margin-bottom: 0.25em;
	}
	.successful_table_ttl_wrap .sub {
		font-size: 1.4rem;
	}
	.successful_table {
		width: 100%;
	}
	.successful_table .tbody::after {
		width: calc(100% - 10px);
	}
	.successful_table .th_rank,
	.successful_table .td_rank,
	.successful_table .th_people,
	.successful_table .td_people {
		padding: 5px;
	}
	.successful_table .th_rank,
	.successful_table .td_rank,
	.successful_table .th_people,
	.successful_table .td_people {
		text-align: center;
		white-space: nowrap;
	}
	.successful_table .th_rank,
	.successful_table .th_name,
	.successful_table .th_people {
		font-size: 1.2rem;
	}
	.successful_table .td_rank,
	.successful_table .td_name {
		font-size: 1.4rem;
	}
	.successful_table .act .td_rank,
	.successful_table .act .td_name {
		font-size: 1.7rem;
	}
	.successful_table .act .td_people {
		font-size: 1.6rem;
	}
.successful_table + .note {
		font-size: 1rem;
	}
}
@media screen and (min-width: 768px) {
	#feature_block .admission_dl.admission_rate {
		margin-top: 65px;
		margin-bottom: 85px;
	}
	.admission_dl.admission_public {
		margin-bottom: 85px;
	}
	.successful_table_ttl_wrap {
		padding: 10px 40px;
	}
	.successful_table_ttl_wrap .ttl {
		font-size: 2.4rem;
	}
	.successful_table {
		width: 100%;
		max-width: 810px;
	}
	.successful_table .tbody::after {
		width: 670px;
	}
	.successful_table .th_rank,
	.successful_table .td_rank,
	.successful_table .th_people,
	.successful_table .td_people {
		padding: 10px 70px;
	}
	.successful_table .th_rank,
	.successful_table .td_rank {
		width: 250px;
		text-align: center;
	}
	.successful_table .td_num_wrap {
		padding: 0 0.5em;
	}
	.successful_table .td_rank,
	.successful_table .td_name {
		font-size: 2.4rem;
	}
	.successful_table .act .td_rank,
	.successful_table .act .td_name {
		font-size: 3.5rem;
	}
	.successful_table .act .td_people {
		font-size: 3.2rem;
	}
.successful_table + .note {
		font-size: 1.2rem;
	}
}