@charset "UTF-8";
/* ---------------------------------------------------------------------------------------- */
/* FONT SET
/* ---------------------------------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Unna:ital@0;1&display=swap");
@font-face {
  font-family: "WorkSans";
  src: url("../webfont/WorkSans/WorkSans-Bold.woff2") format("woff2"), url("../webfont/WorkSans/WorkSans-Bold.woff") format("woff"), url("../webfont/WorkSans/WorkSans-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "WorkSans";
  src: url("../webfont/WorkSans/WorkSans-Medium.woff2") format("woff2"), url("../webfont/WorkSans/WorkSans-Medium.woff") format("woff"), url("../webfont/WorkSans/WorkSans-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "WorkSans";
  src: url("../webfont/WorkSans/WorkSans-Regular.woff2") format("woff2"), url("../webfont/WorkSans/WorkSans-Regular.woff") format("woff"), url("../webfont/WorkSans/WorkSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
/* ---------------------------------------------------------------------------------------- */
/* RESET
/* ---------------------------------------------------------------------------------------- */
* {
  box-sizing: border-box;
  background-repeat: no-repeat;
  padding: 0;
  margin: 0;
  font-style: normal;
}

::before, ::after {
  box-sizing: inherit;
  text-decoration: inherit;
  vertical-align: inherit;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
}

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

small {
  font-size: 80%;
}

[hidden], template {
  display: none;
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:active, a:hover {
  outline-width: 0;
}

h1, h2, h3, h4, h5, h6, p, li, dt, dd {
  font-size: 1em;
  margin: 0;
  padding: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

b, strong {
  font-weight: bolder;
}

dfn {
  font-style: italic;
}

mark {
  background-color: #ff0;
  color: #000;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
/* ---------------------------------------------------------------------------------------- */
fieldset {
  border: none;
}

input {
  border-radius: 0;
}

[type=number] {
  width: auto;
}

[type=search] {
  -webkit-appearance: textfield;
}

[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, textarea, select {
  font: inherit;
}

optgroup {
  font-weight: bold;
}

button {
  overflow: visible;
}

button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

button:-moz-focusring, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button, html [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button;
}

button {
  text-transform: none;
}

button, input, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

select {
  max-width: 100%;
  overflow: hidden;
}

/*
select {
	-moz-appearance: none;
	-webkit-appearance: none;
}
select::-ms-expand {
display:none;
}
select::-ms-value {
color:currentColor;
}
*/
legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

::-moz-placeholder {
  color: inherit;
  opacity: 0.5;
}

:-ms-input-placeholder {
  color: inherit;
  opacity: 0.5;
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.5;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/* Specify media element style
/* ---------------------------------------------------------------------------------------- */
img {
  border-style: none;
  vertical-align: bottom;
}

progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
}

audio, canvas, progress, video {
  display: inline-block;
}

/* Acessibility
/* ---------------------------------------------------------------------------------------- */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

/* Selection
/* ---------------------------------------------------------------------------------------- */
::-moz-selection {
  background-color: #000;
  color: #fff;
  text-shadow: none;
}

::selection {
  background-color: #000;
  color: #fff;
  text-shadow: none;
}

/* ---------------------------------------------------------------------------------------- */
/* COMMON
/* ---------------------------------------------------------------------------------------- */
html {
  height: 100%;
  font-size: 100%;
}

body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-size: 0.875em;
  line-height: 1.7;
  margin: 0;
  padding: 0;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #404040;
  text-align: center;
}
@media all and (-ms-high-contrast: none) {
  body {
    font-family: "メイリオ", Meiryo, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
}
@media print, screen and (min-width: 350px) {
  body {
    font-size: 0.92em;
  }
}
@media print, screen and (min-width: 1200px) {
  body {
    font-size: 1.08em;
  }
}

.no-overflow {
  position: fixed;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  height: 100vh;
  overflow-y: scroll;
}

.anime {
  transition: all 0.3s ease-in-out;
}

.flt-R {
  float: right;
}

.flt-L {
  float: left;
}

.flt-C {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.tb-L {
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.tb-R {
  margin-right: 0;
  margin-left: auto;
  text-align: right;
}

.clr-L {
  clear: left;
}

.clr-R {
  clear: right;
}

.clr-B {
  clear: both;
}

.aln-R {
  text-align: right;
}

.aln-C {
  text-align: center;
}

.aln-L {
  text-align: left;
}

.noshow {
  display: none;
}

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

.clear {
  clear: both;
  visibility: hidden;
  width: 0;
  height: 0;
}

.border-box {
  box-sizing: border-box;
}

.content-box {
  box-sizing: content-box;
}

.linkbox .readmore, .lkbx .readmore {
  display: none;
}

img {
  max-width: 100%;
  height: auto;
}

@media print, screen and (min-width: 800px) {
  .onlySMP {
    display: none;
  }
}

@media print, screen and (max-width: 959px) {
  .lg {
    display: none;
  }
}

@media print, screen and (max-width: 1199px) {
  .xl {
    display: none;
  }
}

.noSMP {
  display: none;
}
@media print, screen and (min-width: 800px) {
  .noSMP {
    display: inherit;
  }
}

.onlyPC {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .onlyPC {
    display: inherit;
  }
}

@media print, screen and (min-width: 800px) {
  .noPC {
    display: none;
  }
}

.notice {
  font-weight: bold;
}

.fnt-go {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media all and (-ms-high-contrast: none) {
  .fnt-go {
    font-family: "メイリオ", Meiryo, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
}

.fnt-min {
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.fnt-norm {
  font-weight: 400;
}

h1, h2 {
  margin-bottom: 1.5em;
  color: #003e91;
}

h3, h4 {
  margin-bottom: 1em;
  color: #00285e;
}
h3.no-sp-bottom, h4.no-sp-bottom {
  margin-bottom: 0;
}

h1:not(:first-child),
h2:not(:first-child),
h3:not(:first-child) {
  margin-top: 2em;
}

h5, h6, li, dt, dd {
  margin-bottom: 0.5em;
}

p:not(:last-child) {
  margin-bottom: 1.5em;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

h1.large {
  font-size: 1.875em;
  font-size: 5.5vw;
  line-height: 1.35;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
  margin-bottom: 0.75em;
}
@media print, screen and (min-width: 576px) {
  h1.large {
    font-size: 2em;
  }
}
@media print, screen and (min-width: 800px) {
  h1.large {
    font-size: 2.35em;
  }
}
@media print, screen and (min-width: 1200px) {
  h1.large {
    font-size: 2.125em;
  }
}
h1.large + h2 {
  margin-top: 0.75em;
}

h1 {
  font-size: 1.5em;
}
@media print, screen and (min-width: 576px) {
  h1 {
    font-size: 1.65em;
  }
}
@media print, screen and (min-width: 800px) {
  h1 {
    font-size: 2.025em;
  }
}

h2 {
  font-size: 1.45em;
}
@media print, screen and (min-width: 576px) {
  h2 {
    font-size: 1.75em;
  }
}
@media print, screen and (min-width: 800px) {
  h2 {
    font-size: 2em;
  }
}

h3,
h2.sml {
  font-size: 1.25em;
}
@media print, screen and (min-width: 576px) {
  h3,
  h2.sml {
    font-size: 1.5em;
  }
}
@media print, screen and (min-width: 800px) {
  h3,
  h2.sml {
    font-size: 1.75em;
  }
}
h3.small,
h2.sml.small {
  font-size: 1.15em;
}
@media print, screen and (min-width: 576px) {
  h3.small,
  h2.sml.small {
    font-size: 1.2em;
  }
}
@media print, screen and (min-width: 800px) {
  h3.small,
  h2.sml.small {
    font-size: 1.3em;
  }
}

h4,
h3.sml {
  font-size: 1.15em;
}
@media print, screen and (min-width: 576px) {
  h4,
  h3.sml {
    font-size: 1.2em;
  }
}
@media print, screen and (min-width: 800px) {
  h4,
  h3.sml {
    font-size: 1.3em;
  }
}

h5 {
  font-size: 1em;
}

h6 {
  font-size: 0.875em;
}

.no-mgn-top,
.no-sp-top {
  margin-top: 0 !important;
}

.no-mgn-btm,
.no-sp-btm {
  margin-bottom: 0 !important;
}

.sml-sp-btm {
  margin-bottom: 0.5rem !important;
}

.md-sp-btm {
  margin-bottom: 0.75rem !important;
}

.lg-sp-btm {
  margin-bottom: 1.5rem !important;
}

.sp-top-sml {
  margin-top: 0.5rem !important;
}

.sp-top-md {
  margin-top: 0.75rem !important;
}

.sp-top-lg {
  margin-top: 1.5rem !important;
}

.fntSS {
  font-size: 0.6875em;
  line-height: 1.5;
}

.fntS {
  font-size: 0.875em;
}

.fntL {
  font-size: 1.125em;
}

.fntLL {
  font-size: 1.375em;
}

.fntBold {
  font-weight: 700;
}

.asterisk {
  text-indent: -1em;
  margin-left: 1em;
  font-size: 0.8125em;
  line-height: 1.5;
}
.asterisk:not(:last-child) {
  margin-bottom: 0;
}

.dsp-b {
  display: block;
}

.dsp-ib {
  display: inline-block;
}

.dsp-tbl {
  display: table;
}
.dsp-tbl > .col {
  display: table-cell;
}

.dsp-fx {
  -js-display: flex;
  display: flex;
}

.list-ib {
  letter-spacing: -0.4em;
}
.list-ib > li,
.list-ib > .col {
  letter-spacing: normal;
  display: inline-block;
  vertical-align: middle;
}
.list-ib.with-gap li:not(:last-child) {
  margin-right: 2em;
}

@-moz-document url-prefix() {
  .list-ib {
    word-spacing: 0.1em;
  }
}
.list-tbl {
  display: table;
}
.list-tbl > li {
  display: table-cell;
  vertical-align: middle;
}

a {
  color: #082854;
  text-decoration: none;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

nav a, header a, footer a, a.no-underline {
  text-decoration: none;
}

a:active, a:hover {
  color: #0c3e83;
}

dt, dd, li, th, td {
  line-height: 1.5;
}

nav ol, nav ul,
.no-list-style {
  list-style: none;
}

ol:not(:last-child), ul:not(:last-child) {
  margin-bottom: 1em;
}

ol ol, ol ul, ul ul, ul ol, table ul, table ol {
  margin-bottom: 0;
}

.list-norm,
.page-single ul,
.page-single ol {
  margin-left: 1.75em;
}
.list-norm li,
.page-single ul li,
.page-single ol li {
  margin-bottom: 0.5em;
}
.list-norm li ol, .list-norm li ul,
.page-single ul li ol,
.page-single ul li ul,
.page-single ol li ol,
.page-single ol li ul {
  margin-top: 0.5em;
}

ol.list-norm,
.page-single ol {
  list-style: decimal;
}

ul.list-norm,
.page-single ul {
  list-style: disc;
}

table {
  border-collapse: collapse;
  margin-bottom: 1.5em;
}
table p {
  margin-bottom: 0;
}

.tb-norm {
  position: relative;
  margin-bottom: 1.5rem;
  font-size: 0.92em;
}
.tb-norm.fullW {
  width: 100%;
}
.tb-norm th,
.tb-norm td {
  padding: 0.5em;
  border: 1px solid #DDD;
  vertical-align: top;
}
@media print, screen and (min-width: 800px) {
  .tb-norm th,
  .tb-norm td {
    padding: 1em;
  }
}
.tb-norm thead th {
  background-color: #EEE;
}
.tb-norm tbody th {
  background-color: #F5F5F5;
}
.tb-norm .aln-C th,
.tb-norm .aln-C td {
  text-align: center;
}

[class*=inner-wrap] {
  position: relative;
  padding-left: 1.5em;
  padding-right: 1.5em;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
@media print, screen and (min-width: 800px) {
  [class*=inner-wrap] {
    padding-left: 2.25em;
    padding-right: 2.25em;
  }
}
@media print, screen and (max-width: 575px) {
  [class*=inner-wrap].small-space-smp {
    padding-left: 0.75em;
    padding-right: 0.75em;
  }
}

.inner-wrap {
  max-width: calc(1344px + 3em);
}
.inner-wrap.aln-C {
  text-align: center;
}
.inner-wrap--wide {
  max-width: calc(1568px + 3em);
}
.inner-wrap--semi {
  max-width: calc(1120px + 3em);
}
.inner-wrap--narrow {
  max-width: calc(896px + 3em);
}
.inner-wrap--thin {
  max-width: calc(672px + 3em);
}

[class*=swrap] {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
[class*=swrap].mgn-bottom {
  margin-bottom: 2rem;
}
@media print, screen and (min-width: 800px) {
  [class*=swrap].mgn-bottom {
    margin-bottom: 3rem;
  }
}
@media print, screen and (min-width: 1200px) {
  [class*=swrap].mgn-bottom {
    margin-bottom: 4rem;
  }
}
[class*=swrap].left {
  margin-left: 0;
}
[class*=swrap].right {
  margin-right: 0;
}

.swrap {
  max-width: 1344px;
}
.swrap--wide {
  max-width: 1568px;
}
.swrap--semi {
  max-width: 1120px;
}
.swrap--narrow {
  max-width: 896px;
}
.swrap--thin {
  max-width: 672px;
}

.with-bottom-border::before {
  position: absolute;
  bottom: 0;
  left: 2rem;
  width: calc(100% - 4rem);
  height: 0;
  content: " ";
  border-bottom: 1px solid #CCC;
}

#Mask-cnt {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFF;
  z-index: 101;
  cursor: pointer;
  opacity: 0;
  display: none;
}
#Mask-cnt.dark {
  background-color: #082854;
}

.gglmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 40%;
  overflow: hidden;
}
.gglmap iframe,
.gglmap object,
.gglmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.vd {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.vd iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.no-margin-top {
  margin-top: 0 !important;
}

.no-margin-btm {
  margin-bottom: 0 !important;
}

.margin-top--sm {
  margin-top: 0.5rem !important;
}

.margin-top--md {
  margin-top: 1.5rem !important;
}

.margin-top--lg {
  margin-top: 3rem !important;
}

.margin-top--xl {
  margin-top: 4rem !important;
}

.margin-btm--sm {
  margin-bottom: 0.5rem !important;
}

.margin-btm--md {
  margin-bottom: 1.5rem !important;
}

.margin-btm--lg {
  margin-bottom: 3rem !important;
}

.margin-btm--xl {
  margin-bottom: 4rem !important;
}

.no-padding-top {
  padding-top: 0 !important;
}

.no-padding-btm {
  padding-bottom: 0 !important;
}

.padding-top--sm {
  padding-top: 0.5rem !important;
}

.padding-top--md {
  padding-top: 1.5rem !important;
}

.padding-top--lg {
  padding-top: 3rem !important;
}

.padding-top--xl {
  padding-top: 4rem !important;
}

.padding-btm--sm {
  padding-bottom: 0.5rem !important;
}

.padding-btm--md {
  padding-bottom: 1.5rem !important;
}

.padding-btm--lg {
  padding-bottom: 3rem !important;
}

.padding-btm--xl {
  padding-bottom: 4rem !important;
}

.accordion {
  position: relative;
  border-bottom: 1px solid #DDDDDD;
}
.accordion:not(:last-child) {
  margin-bottom: 2rem;
}
.accordion dt {
  position: relative;
  padding: 0.75em 0;
  margin: 0;
  padding-right: 2em;
  display: block;
  border-top: 1px solid #DDDDDD;
  font-weight: bold;
  cursor: pointer;
  background-color: #FFF;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.accordion dt::before {
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -5px;
  width: 0;
  height: 11px;
  content: " ";
  border-left: 1px solid #888;
}
.accordion dt::after {
  position: absolute;
  top: 50%;
  right: 11px;
  width: 11px;
  height: 0;
  content: " ";
  border-top: 1px solid #888;
}
.accordion dt.active::before {
  display: none;
}
.accordion dd {
  border-top: 1px dotted #AAA;
  padding: 0;
  margin-bottom: 0;
  visibility: hidden;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.accordion dd.active {
  padding: 0.75em 0 1.5em;
  visibility: visible;
  opacity: 1;
  max-height: 999999px;
}

/* ---------------------------------------------------------------------------------------- */
/* BUTTON
/* ---------------------------------------------------------------------------------------- */
.btn, .btn--outline {
  position: relative;
  display: inline-block;
  font-size: 0.92em;
  line-height: 1;
  padding: 1.5em 1.25em;
  padding-right: 4em;
  background-color: #082854;
  color: #fff;
  font-weight: 700;
  text-align: left;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
  text-decoration: none !important;
}
.btn i, .btn--outline i {
  position: absolute;
  top: 50%;
  right: 0.5em;
  margin-top: -16px;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.btn i svg.icon-line-arrow, .btn--outline i svg.icon-line-arrow {
  width: 18px;
  height: 20px;
  stroke: #fff;
  fill: none;
}
.btn i svg.icon-filetype, .btn--outline i svg.icon-filetype {
  width: 32px;
  height: 32px;
  fill: #082854;
}
.btn.with-arrow, .with-arrow.btn--outline {
  padding: 1em 1em;
  padding-right: 4em;
}
.btn.with-arrow i, .with-arrow.btn--outline i {
  width: 32px;
  height: 32px;
  right: 0.25em;
}
.btn.with-arrow i svg, .with-arrow.btn--outline i svg {
  width: 100%;
  height: 100%;
}
.btn.fixsize, .fixsize.btn--outline {
  font-size: 1rem;
  line-height: 1;
  padding: 1rem 1rem;
}
.btn.large, .large.btn--outline {
  font-size: 1.15em;
  font-weight: bold;
  padding: 1em 3.5em 1em 2em;
  min-width: 12em;
}
@media print, screen and (min-width: 576px) {
  .btn.large, .large.btn--outline {
    padding-left: 1em;
    padding-right: 1em;
  }
}
.btn.full, .full.btn--outline {
  font-size: 1.15em;
  font-weight: bold;
  padding: 1.5em 4em 1.5em 1.5em;
  width: 100%;
}
.btn.xlarge, .xlarge.btn--outline {
  font-size: 1.35em;
}
.btn.semi, .semi.btn--outline {
  font-size: 0.875em;
  padding: 1em 2.5em 1em 0.75em;
}
.btn.semi i, .semi.btn--outline i {
  right: 0.75em;
}
.btn.semi i svg, .semi.btn--outline i svg {
  width: 16px;
}
.btn.small, .small.btn--outline {
  font-size: 0.875em;
  padding: 0.5em 2.5em 0.5em 1em;
}
.btn.small i, .small.btn--outline i {
  right: 0.5em;
}
.btn.small i svg, .small.btn--outline i svg {
  width: 12px;
}
.btn.back, .back.btn--outline {
  padding-right: 1.25em;
  padding-left: 2.5em;
}
.btn.back i, .back.btn--outline i {
  right: inherit;
  left: 0.75em;
}
.btn.dl-file, .dl-file.btn--outline {
  padding-right: 4em;
}
.btn.dl-file i, .dl-file.btn--outline i {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  margin-top: -16px;
}
.btn.nagative, .nagative.btn--outline {
  background-color: #5e5e5e;
}
.btn.nagative:hover, .nagative.btn--outline:hover {
  background-color: #919191;
}
.btn.disabled, .disabled.btn--outline, .btn:disabled, .btn--outline:disabled {
  background-color: hsl(0, 0%, 95%);
  color: #aaa;
  pointer-events: none;
}
.btn:hover, .btn--outline:hover {
  color: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  background-color: #041225;
}
.btn:hover.back i, .btn--outline:hover.back i {
  right: inherit;
  left: 1em;
}
.btn:active, .btn--outline:active {
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
  background-color: #0c3e83;
}

.btn--outline {
  background-color: #fff;
  border: 1px solid #082854;
  color: #082854;
  border-radius: 0.25em;
}
.btn--outline i svg.icon-line-arrow {
  stroke: #082854;
}
.btn--outline.with-arrow i svg {
  stroke: #082854;
  stroke-width: 1;
}
.btn--outline.with-arrow:hover i svg {
  stroke: #fff;
}
.btn--outline:hover {
  color: #135fc8;
  color: #fff;
  border-color: #0a336b;
  background-color: #0a336b;
}
.btn--outline:hover i svg.icon-line-arrow {
  stroke: #156be0;
  stroke: #fff;
  fill: none;
}
.btn--outline:hover i svg.icon-filetype {
  fill: #156be0;
  fill: #fff;
}
.btn--outline:active {
  background-color: #fff;
  color: #0c3e83;
  border-color: #0c3e83;
}

.wrap-btns {
  margin-left: -0.25em;
  margin-right: -0.25em;
}
.wrap-btns li {
  padding: 0.25em;
}
.wrap-btns--half-smp li {
  width: 50%;
}
@media print, screen and (min-width: 800px) {
  .wrap-btns--half-smp li {
    width: auto;
  }
}

.link-txt {
  display: inline-block;
  border-bottom: 1px dotted #082854;
}
.link-txt:hover {
  border-bottom-color: #2b3e54;
}
.link-txt:hover.with-arrow i {
  right: 0.25em;
}
.link-txt.with-arrow {
  position: relative;
  padding-right: 2em;
  padding: 0.5em 2em 0.5em 0;
}
.link-txt.with-arrow i {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.link-txt.with-arrow i svg.icon-line-arrow {
  width: 16px;
  height: 20px;
  stroke: #082854;
  fill: none;
}

.link-txt-sm {
  position: relative;
  display: inline-block;
  padding-right: 1.85em;
  font-weight: 700;
  font-feature-settings: "palt";
  color: #082854;
  text-decoration: none !important;
}
@media print, screen and (min-width: 576px) {
  .link-txt-sm {
    padding-right: 2em;
  }
}
.link-txt-sm i {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  display: block;
}
.link-txt-sm i svg {
  width: 100%;
  height: 100%;
  stroke-width: 1;
  stroke: #082854;
}
.link-txt-sm.back {
  padding-right: 0;
  padding-left: 1.5rem;
}
.link-txt-sm.back i {
  right: inherit;
  left: -16px;
}
.link-txt-sm.back i svg {
  transform: scaleX(-1);
}

.link-txt-dx {
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding-right: 1.5rem;
  padding-bottom: 0.15rem;
  font-weight: 700;
  font-feature-settings: "palt";
  margin-right: 16px;
}
.link-txt-dx::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  content: " ";
  border-top: 1px solid #082854;
}
.link-txt-dx i {
  position: absolute;
  bottom: 0;
  right: -16px;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #082854;
  padding: 2px;
}
.link-txt-dx i svg {
  width: 100%;
  height: 100%;
  stroke: #082854;
  stroke-width: 1;
}
.link-txt-dx.back {
  padding-right: 0;
  padding-left: 1.5rem;
}
.link-txt-dx.back i {
  right: inherit;
  left: -16px;
}
.link-txt-dx.back i svg {
  transform: scaleX(-1);
}

a.btn-oval {
  position: relative;
  display: inline-block;
  padding: 1em 2em;
  padding-right: 4em;
  text-decoration: none !important;
  background-color: #FFF;
  border-radius: 4em;
  border: 1px solid #082854;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.05);
}
a.btn-oval i {
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -16px;
  transition: all 0.1s ease-in-out;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #082854;
  padding: 4px;
}
a.btn-oval i svg {
  width: 100%;
  height: 100%;
  stroke: #082854;
  stroke-width: 1;
}
a.btn-oval:hover {
  background-color: #082854;
  color: #FFF;
}
a.btn-oval:hover i {
  border-color: #FFF;
}
a.btn-oval:hover i svg {
  stroke: #FFF;
}
a.btn-oval.sml {
  padding: 0.5em 1.25em;
  padding-right: 3em;
}
a.btn-oval.sml i {
  right: 10px;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  padding: 1px;
}

.dropdown-menu {
  position: relative;
}
.dropdown-menu > dt,
.dropdown-menu .dt {
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
  margin: 0;
}
.dropdown-menu > dt > i,
.dropdown-menu .dt > i {
  position: absolute;
  top: 50%;
  right: 0.8em;
  margin-top: -10px;
  transform: rotate(90deg);
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.dropdown-menu > dt > i > svg,
.dropdown-menu .dt > i > svg {
  width: 16px;
  height: 16px;
  stroke: #082854;
}
.dropdown-menu > dt.active > i,
.dropdown-menu .dt.active > i {
  transform: rotate(-90deg);
  right: 0.4em;
}
.dropdown-menu > dt.active + .dd,
.dropdown-menu .dt.active + .dd {
  visibility: visible;
  opacity: 1;
  max-height: 99999px;
}
.dropdown-menu > dd,
.dropdown-menu .dd {
  position: absolute;
  top: 100%;
  right: 0;
  width: 100%;
  overflow: hidden;
  visibility: hidden;
  max-height: 0;
  opacity: 0;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
@media print, screen and (min-width: 960px) {
  .dropdown-menu.open-pc > dt,
  .dropdown-menu.open-pc .dt {
    display: none;
  }
}
@media print, screen and (min-width: 960px) {
  .dropdown-menu.open-pc dd, .dropdown-menu.open-pc .dd {
    visibility: visible;
    opacity: 1;
    max-height: 99999px;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* FORM
/* ---------------------------------------------------------------------------------------- */
.form-group {
  position: relative;
  margin-bottom: 3rem;
  display: block;
}
.form-group--inner {
  display: block;
  width: 100%;
  padding: 1em 0;
  margin: 0;
  border-top: 1px solid #DDDDDD;
}
@media print, screen and (min-width: 800px) {
  .form-group--inner {
    display: table;
    padding: 1.5em 0 0;
    margin-bottom: 1em;
  }
}
.form-group--inner .col {
  display: block;
  width: auto;
}
@media print, screen and (min-width: 800px) {
  .form-group--inner .col {
    display: table-cell;
    width: 12em;
    vertical-align: text-top;
  }
}
.form-group--inner .col.ver-top {
  vertical-align: top;
}
.form-group--inner .col + .col {
  margin-top: 0.5em;
}
@media print, screen and (min-width: 800px) {
  .form-group--inner .col + .col {
    padding-top: 0;
    width: calc(100% - 12em);
  }
}
.form-group--inner .col span.error {
  display: block;
  color: #ff4359;
  margin-top: 0.5em;
}
.form-group--inner .col .inner-col {
  display: block;
}
.form-group--inner .col .inner-col:not(:last-child) {
  margin-bottom: 0.75em;
}
.form-group--inner .col .inner-col--title {
  display: block;
  font-size: 0.875em;
  margin-bottom: 0.5em;
}
.form-group--inner .mst,
.form-group--inner .opt {
  position: relative;
  display: inline-block;
  font-size: 0.7em;
  vertical-align: middle;
  font-style: normal;
  color: #ff4359;
  margin-left: 0.5em;
}
.form-group--inner .opt {
  color: #e60044;
}
@media print, screen and (min-width: 800px) {
  .form-group--inner.no-flt {
    margin-bottom: 0;
  }
}
.form-group--inner.no-flt dt {
  font-size: 1.07em;
  font-weight: 700;
  color: #003e91;
}
.form-group--inner.no-flt dt .fntS {
  font-weight: 400;
  font-size: 0.8125em;
  color: #444;
}
@media print, screen and (min-width: 800px) {
  .form-group--inner.no-flt .col {
    display: block;
    width: auto;
    margin-bottom: 1em;
  }
}
@media print, screen and (min-width: 800px) {
  .form-group--inner.no-flt .col + .col {
    width: auto;
  }
}
.form-group--bottom {
  border-top: 1px solid #CCC;
  padding-top: 1.5em;
}

input,
textarea,
select {
  padding: 0.35em 1em;
}

textarea {
  min-height: 10em;
}

input,
textarea {
  width: 100%;
  background-color: #F8F8F8;
  border: 1px solid #E0E0E0;
}

input.ipt-S {
  width: 10em;
}
input.ipt-SS {
  width: 5em;
}

input:focus,
textarea:focus,
select:focus {
  border-color: #999;
  outline: 0;
}

:disabled {
  opacity: 0.5;
}

[type=radio],
[type=radio] + label,
[type=checkbox],
[type=checkbox] + label {
  width: auto;
  display: inline-block;
}

[type=radio],
[type=checkbox] {
  margin-right: 0.5em;
}

.wrap-select {
  position: relative;
  display: inline-block;
  width: auto;
}

select,
.list-group-team select {
  padding: 0.5em 1em;
  background-color: hsl(0, 0%, 94%);
  background: linear-gradient(0deg, #F2F2F2, #FFF);
  padding-right: 32px;
  border: 1px solid #DDDDDD;
  cursor: pointer;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: normal;
}

.form-group select {
  max-width: calc(100vw - 4rem - 32px);
}
@media print, screen and (min-width: 350px) {
  .form-group select {
    max-width: calc(100vw - 4rem - 48px);
  }
}
@media print, screen and (min-width: 576px) {
  .form-group select {
    max-width: calc(100vw - 4rem - 96px);
  }
}
@media print, screen and (min-width: 960px) {
  .form-group select {
    max-width: 100%;
  }
}

.list-group-team select {
  border: 1px solid #BBB;
}

.btn-label input[type=radio],
.btn-label input[type=checkbox],
.txt-label input[type=radio],
.txt-label input[type=checkbox] {
  display: none;
}

.btn-label label {
  position: relative;
  padding: 0.5em 1em;
  border: 1px solid #AAA;
  background-color: #F5F5F5;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  margin-left: -1px;
  margin-top: -1px;
}
.btn-label label:hover {
  background-color: #CCC;
  color: #111;
}
.btn-label.sort-item label {
  padding: 0.5em 0.5em;
  background-color: #FFF;
  border-color: #DDD;
}
@media print, screen and (min-width: 350px) {
  .btn-label.sort-item label {
    padding: 0.5em 0.75em;
  }
}
.btn-label.separated label {
  padding: 1em 0.5em;
  background-color: #FFF;
  border-radius: 0;
}
.btn-label.separated label.btn-img label {
  padding: 0;
  background-color: #000;
  border-radius: 0;
  border: none;
}
.btn-label.full label {
  width: 100%;
}
.btn-label:not(:first-child) label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-label:not(:last-child) label {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-label.separated :not(:last-child) label {
  border-right: 1px solid #AAA;
}
.btn-label.separated.btn-img :not(:last-child) label {
  border: none;
}

.txt-label label {
  position: relative;
  padding: 0.25em 0;
  padding-left: 1em;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.txt-label label::before {
  position: relative;
  content: "・";
  margin-left: -1em;
  margin-right: 0.5em;
  display: inline-block;
}
.txt-label label:hover {
  color: #111;
}

.btn-label input[type=radio]:checked + label,
.btn-label input[type=checkbox]:checked + label {
  background-color: #555;
  color: #FFF;
}

.btn-label.btn-img input[type=radio]:checked + label,
.btn-label.btn-img input[type=checkbox]:checked + label {
  background-color: #000;
  border: 3px solid #e7cd00;
}

.btn-label.btn-img label img {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.btn-label.btn-img input[type=radio]:checked + label img,
.btn-label.btn-img input[type=checkbox]:checked + label img {
  opacity: 0.5;
}

.txt-label input[type=checkbox]:checked + label {
  font-weight: bold;
}

.txt-label input[type=checkbox]:checked + label::before {
  content: "-";
}

.form-help {
  display: inline-block;
  font-size: 0.83em;
  line-height: 1.4;
  margin-top: 0.5em;
}

.error label,
.error .label {
  color: #ff4359;
}

.error input, .error select,
.error .btn-label label {
  border-color: #ff4359;
}

.error-msg {
  display: block;
  color: #ff4359;
  margin-top: 0.5em;
}

/* ---------------------------------------------------------------------------------------- */
/* LAYOUT-FLEXBOX
/* ---------------------------------------------------------------------------------------- */
.flex-container--no-space, .flex-container {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.flex-container {
  margin: -0.75rem;
}
@media print, screen and (min-width: 800px) {
  .flex-container {
    margin: -1rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .flex-container {
    margin: -1.5rem;
  }
}
.flex-container--no-space {
  margin: 0;
}
.flex-container.sp-btm {
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 800px) {
  .flex-container.sp-btm {
    margin-bottom: 2rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .flex-container.sp-btm {
    margin-bottom: 2.5rem;
  }
}
.flex-container.align-top {
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
}
.flex-container.align-mid {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.flex-container.align-btm {
  -webkit-box-align: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
}

.flex-container.rev {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.flex-container > *[class^=col-] {
  position: relative;
  min-width: 2rem;
  padding: 0.75rem;
  word-wrap: break-word;
}
@media print, screen and (min-width: 800px) {
  .flex-container > *[class^=col-] {
    padding: 1rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .flex-container > *[class^=col-] {
    padding: 1.5rem;
  }
}
.flex-container > *[class^=col-].stick-right {
  margin-left: auto;
}
.flex-container > *[class^=col-].stick-bottom {
  margin-top: auto;
}

.flex-container--no-space > *[class^=col-] {
  padding: 0;
}

.col-sm-1 {
  width: 16.6666666667%;
}

.col-sm-2 {
  width: 33.3333333333%;
}

.col-sm-3 {
  width: 50%;
}

.col-sm-4 {
  width: 66.6666666667%;
}

.col-sm-5 {
  width: 83.3333333333%;
}

.col-sm-6 {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .col-xsm-1 {
    width: 12.5%;
  }
  .col-xsm-2 {
    width: 25%;
  }
  .col-xsm-3 {
    width: 37.5%;
  }
  .col-xsm-4 {
    width: 50%;
  }
  .col-xsm-5 {
    width: 62.5%;
  }
  .col-xsm-6 {
    width: 75%;
  }
  .col-xsm-7 {
    width: 87.5%;
  }
  .col-xsm-8 {
    width: 100%;
  }
}
@media print, screen and (min-width: 800px) {
  .col-md-1 {
    width: 12.5%;
  }
  .col-md-2 {
    width: 25%;
  }
  .col-md-3 {
    width: 37.5%;
  }
  .col-md-4 {
    width: 50%;
  }
  .col-md-5 {
    width: 62.5%;
  }
  .col-md-6 {
    width: 75%;
  }
  .col-md-7 {
    width: 87.5%;
  }
  .col-md-8 {
    width: 100%;
  }
}
@media print, screen and (min-width: 960px) {
  .col-lg-1 {
    width: 8.3333333333%;
  }
  .col-lg-2 {
    width: 16.6666666667%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-4 {
    width: 33.3333333333%;
  }
  .col-lg-5 {
    width: 41.6666666667%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-7 {
    width: 58.3333333333%;
  }
  .col-lg-8 {
    width: 66.6666666667%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-10 {
    width: 83.3333333333%;
  }
  .col-lg-11 {
    width: 91.6666666667%;
  }
  .col-lg-12 {
    width: 100%;
  }
}
@media print, screen and (min-width: 1200px) {
  .col-xl-1 {
    width: 8.3333333333%;
  }
  .col-xl-2 {
    width: 16.6666666667%;
  }
  .col-xl-3 {
    width: 25%;
  }
  .col-xl-4 {
    width: 33.3333333333%;
  }
  .col-xl-5 {
    width: 41.6666666667%;
  }
  .col-xl-6 {
    width: 50%;
  }
  .col-xl-7 {
    width: 58.3333333333%;
  }
  .col-xl-8 {
    width: 66.6666666667%;
  }
  .col-xl-9 {
    width: 75%;
  }
  .col-xl-10 {
    width: 83.3333333333%;
  }
  .col-xl-11 {
    width: 91.6666666667%;
  }
  .col-xl-12 {
    width: 100%;
  }
}
[class*=icon-] {
  font-size: 1px !important;
  line-height: 1;
}

svg.icon-fill,
svg.icon-stroke {
  width: 100%;
  height: 100%;
}

svg.icon-fill {
  fill: #000;
}

svg.icon-stroke {
  fill: none;
  stroke: #000;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
}
svg.icon-stroke.thin {
  stroke-width: 1;
}

.wrap-inline-scrl {
  padding: 4px;
  border: 1px solid #DDDDDD;
  background-color: #F5F5F5;
  font-size: 0.875em;
  margin-bottom: 2rem;
}
@media print, screen and (min-width: 800px) {
  .wrap-inline-scrl {
    padding: 8px;
    margin-bottom: 3rem;
  }
}

.inline-scrl {
  position: relative;
  padding: 2rem;
  height: 300px;
  overflow-y: scroll;
  border: 1px solid #DDDDDD;
  background-color: #FAFAFA;
}
@media print, screen and (min-width: 800px) {
  .inline-scrl {
    padding: 3rem;
    height: 300px;
  }
}

#Modal-mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1001;
  display: none;
  background-color: rgba(0, 0, 0, 0.95);
}
#Modal-mask.white {
  background-color: rgba(255, 255, 255, 0.9);
}
#Modal-mask.mask-lunchmenu-modal {
  background-color: rgba(252, 251, 240, 0.9);
}

.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
  z-index: 1002;
  display: block;
  transform: translate(-50%, -50%);
}
.modal .modalBtns {
  z-index: 1000;
  position: absolute;
  text-align: left;
  width: 32px;
  height: 32px;
  top: -32px;
  right: -32px;
}
@media print, screen and (min-width: 800px) {
  .modal .modalBtns {
    width: 40px;
    height: 40px;
    top: -40px;
    right: -40px;
  }
}
.modal .modalBtns a.modalBtn-close {
  position: relative;
  float: right;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  display: block;
  background-color: rgba(0, 0, 0, 0.8);
}
@media print, screen and (min-width: 800px) {
  .modal .modalBtns a.modalBtn-close {
    width: 40px;
    height: 40px;
  }
}
.modal .modalBtns a.modalBtn-close span {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -1px;
  transform: rotate(45deg);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.modal .modalBtns a.modalBtn-close span::before, .modal .modalBtns a.modalBtn-close span::after {
  position: absolute;
  top: -10px;
  left: -10px;
  content: "";
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.modal .modalBtns a.modalBtn-close span::before {
  margin-top: 10px;
  width: 21px;
  height: 0;
  border-top: 1px solid #fff;
}
.modal .modalBtns a.modalBtn-close span::after {
  margin-left: 10px;
  height: 21px;
  width: 0;
  border-left: 1px solid #fff;
}
.modal .modalBtns a.modalBtn-close:hover span {
  transform: scale(1.25) rotate(45deg);
}
#Ldng {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  background-color: #000;
}
#Ldng iframe,
#Ldng #vd-mpg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.list-paging {
  font-size: 0.875em;
  line-height: 1;
  font-family: "robotolight", sans-serif;
  letter-spacing: -0.4em;
}
.list-paging a {
  position: relative;
  text-decoration: none;
}
.list-paging a:hover {
  border-color: #AAA;
  background-color: #EEE;
}
.list-paging a:active {
  border-color: #111;
  background-color: #444;
  color: #FFF;
}
.list-paging li {
  letter-spacing: normal;
  display: inline-block;
  margin: 0 2px;
}
.list-paging li a,
.list-paging li span {
  text-align: center;
  display: block;
  padding: 0.35em;
  min-width: 2.5em;
  border: 1px solid #DDDDDD;
  border-radius: 3px;
}
.list-paging li .current {
  background-color: #222;
  color: #FFF;
}
.list-paging li.prev a {
  padding-left: 24px;
}
.list-paging li.prev a::after {
  left: 4px;
  content: "\e912";
}
.list-paging li.prev a:hover::after {
  color: #555;
}
.list-paging li.prev a:active::after {
  color: #FFF;
}
.list-paging li.next a {
  padding-right: 24px;
}
.list-paging li.next a::after {
  right: 4px;
  content: "\e910";
}
.list-paging li.next a:hover::after {
  color: #555;
}
.list-paging li.next a:active::after {
  color: #FFF;
}
.list-paging li.prev a::after, .list-paging li.next a::after {
  font-family: "icons";
  position: absolute;
  top: 50%;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 1;
  color: #888;
  pointer-events: none;
}

.isInView {
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.isInView.fast {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.isInView.faster {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.isInView.fastest {
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.isInView.slow {
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}
.isInView.slower {
  -webkit-transition: all 2s ease-in-out;
  transition: all 2s ease-in-out;
}
.isInView.slowest {
  -webkit-transition: all 3s ease-in-out;
  transition: all 3s ease-in-out;
}
.isInView.fadeIn {
  opacity: 0 !important;
}
.isInView.fadeIn.scrlin {
  opacity: 1 !important;
}
.isInView.slideIn {
  top: 2rem;
}
.isInView.slideIn.scrlin {
  top: 0;
}
.isInView.acco {
  visibility: hidden;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
}
.isInView.acco.scrlin {
  visibility: visible;
  max-height: none;
  opacity: 1;
}
.isInView.shutter.open {
  overflow: hidden;
}
.isInView.shutter.open::after {
  position: absolute;
  top: 0;
  right: 0;
  content: " ";
  width: 100%;
  height: 100%;
  background-color: rgb(255, 255, 255);
  z-index: 1;
  -webkit-transition: all 0.8s ease-in-out;
  transition: all 0.8s ease-in-out;
}
.isInView.shutter.open.shutter-rev::after {
  left: 0;
}
.isInView.shutter.open.scrlin::after {
  width: 0;
}
.isInView.delay1 {
  transition-delay: 0.2s;
}
.isInView.delay2 {
  transition-delay: 0.4s;
}
.isInView.delay3 {
  transition-delay: 0.6s;
}
.isInView.delay4 {
  transition-delay: 0.8s;
}
.isInView.delay5 {
  transition-delay: 1s;
}
.isInView.delay6 {
  transition-delay: 1.2s;
}
.isInView.delay7 {
  transition-delay: 1.4s;
}
.isInView.delay8 {
  transition-delay: 1.6s;
}
.isInView.delay9 {
  transition-delay: 1.8s;
}
.isInView.delay10 {
  transition-delay: 2s;
}
.isInView.img-shutter .img-shutter-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  overflow: hidden;
  pointer-events: none;
}
.isInView.img-shutter .img-shutter-mask::before, .isInView.img-shutter .img-shutter-mask--white, .isInView.img-shutter .img-shutter-mask--black {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 100%;
}
.isInView.img-shutter .img-shutter-mask::before {
  content: " ";
  background-color: #FFF;
  z-index: 1;
  width: 100%;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
  transition-delay: 0.45s;
  opacity: 1;
}
.isInView.img-shutter .img-shutter-mask--white {
  background-color: #EEE;
  z-index: 2;
}
.isInView.img-shutter .img-shutter-mask--black {
  background-color: #003e91;
  z-index: 3;
}
.isInView.img-shutter.scrlin .img-shutter-mask::before {
  opacity: 0;
}
.isInView.img-shutter.scrlin .img-shutter-mask--white {
  animation: shutterMaskA 0.8s ease-in-out forwards;
}
.isInView.img-shutter.scrlin .img-shutter-mask--black {
  animation: shutterMaskB 0.65s ease-in-out 0.25s forwards;
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay1 .img-shutter-mask::before {
    transition-delay: 0.65s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay1 .img-shutter-mask--white {
    animation-delay: 0.2s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay1 .img-shutter-mask--black {
    animation-delay: 0.45s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay2 .img-shutter-mask::before {
    transition-delay: 0.85s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay2 .img-shutter-mask--white {
    animation-delay: 0.4s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay2 .img-shutter-mask--black {
    animation-delay: 0.7s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay3 .img-shutter-mask::before {
    transition-delay: 1.05s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay3 .img-shutter-mask--white {
    animation-delay: 0.6s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay3 .img-shutter-mask--black {
    animation-delay: 0.95s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay4 .img-shutter-mask::before {
    transition-delay: 1.25s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay4 .img-shutter-mask--white {
    animation-delay: 0.8s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay4 .img-shutter-mask--black {
    animation-delay: 1.2s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay5 .img-shutter-mask::before {
    transition-delay: 1.45s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay5 .img-shutter-mask--white {
    animation-delay: 1s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay5 .img-shutter-mask--black {
    animation-delay: 1.45s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay6 .img-shutter-mask::before {
    transition-delay: 1.65s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay6 .img-shutter-mask--white {
    animation-delay: 1.2s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay6 .img-shutter-mask--black {
    animation-delay: 1.7s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay7 .img-shutter-mask::before {
    transition-delay: 1.85s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay7 .img-shutter-mask--white {
    animation-delay: 1.4s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay7 .img-shutter-mask--black {
    animation-delay: 1.95s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay8 .img-shutter-mask::before {
    transition-delay: 2.05s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay8 .img-shutter-mask--white {
    animation-delay: 1.6s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay8 .img-shutter-mask--black {
    animation-delay: 2.2s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay9 .img-shutter-mask::before {
    transition-delay: 2.25s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay9 .img-shutter-mask--white {
    animation-delay: 1.8s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay9 .img-shutter-mask--black {
    animation-delay: 2.45s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay10 .img-shutter-mask::before {
    transition-delay: 2.45s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay10 .img-shutter-mask--white {
    animation-delay: 2s;
  }
}
@media print, screen and (min-width: 960px) {
  .isInView.img-shutter.scrlin.animeDelay10 .img-shutter-mask--black {
    animation-delay: 2.7s;
  }
}
.isInView.delay1 {
  transition-delay: 0.2s;
}
.isInView.delay2 {
  transition-delay: 0.4s;
}
.isInView.delay3 {
  transition-delay: 0.6s;
}
.isInView.delay4 {
  transition-delay: 0.8s;
}
.isInView.delay5 {
  transition-delay: 1s;
}
.isInView.delay6 {
  transition-delay: 1.2s;
}
.isInView.delay7 {
  transition-delay: 1.4s;
}
.isInView.delay8 {
  transition-delay: 1.6s;
}
.isInView.delay9 {
  transition-delay: 1.8s;
}
.isInView.delay10 {
  transition-delay: 2s;
}

@keyframes inViewShutterOpen {
  0% {
    left: 0;
  }
  99% {
    left: 100%;
  }
  100% {
    left: 100%;
    display: none;
  }
}
@keyframes shutterMaskA {
  0% {
    width: 0;
    left: 0;
  }
  50% {
    width: 100%;
    left: 0;
  }
  60% {
    width: 100%;
    left: 0;
  }
  100% {
    left: 100%;
  }
}
@keyframes shutterMaskB {
  0% {
    width: 0;
    left: 0;
  }
  60% {
    width: 100%;
    left: 0;
  }
  70% {
    width: 100%;
    left: 0;
  }
  100% {
    left: 100%;
  }
}
.tab-menu {
  position: relative;
  display: table;
  border-collapse: collapse;
  margin-bottom: 0 !important;
  z-index: 1;
}
@media print, screen and (min-width: 800px) {
  .tab-menu {
    border-collapse: separate;
    border-spacing: 8px;
    margin: 0 -8px;
  }
}
.tab-menu li {
  display: table-cell;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid #DDDDDD;
  padding: 1rem 1.5rem;
  line-height: 1.5;
  transition: all 0.15s ease-in-out;
}
.tab-menu li:hover {
  background-color: #00285e;
  color: #EEE;
  border-color: #00285e;
}
.tab-menu li:active {
  background-color: #0054c4;
  color: #555;
  border-color: #0054c4;
}
.tab-menu li.active {
  background-color: #00285e;
  color: #EEE;
  border-color: #00285e;
}

.tab-content {
  position: relative;
  display: none;
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.tab-content.active {
  display: block;
  opacity: 1;
}

.wrap-tab-content {
  position: relative;
  width: 100%;
  margin-top: -1px;
  border-top: 1px solid #DDDDDD;
  padding-top: 2rem;
  z-index: 0;
}
@media print, screen and (min-width: 800px) {
  .wrap-tab-content {
    margin-top: -9px;
  }
}

.tb-norm thead th {
  background-color: rgba(0, 62, 145, 0.05);
  color: #00285e;
}
.tb-norm tbody th {
  background-color: rgba(0, 62, 145, 0.05);
  color: #00285e;
}

.wrap-tbls {
  position: relative;
}
.wrap-tbls:not(:last-child) {
  margin-bottom: 1.5em;
}
.wrap-tbls .dsp-tbls-norm {
  border: 1px dotted #AAA;
  border-top: none;
}
.wrap-tbls .dsp-tbls-norm .dsp-tbl {
  display: block;
  width: 100%;
  border-top: 1px dotted #AAA;
}
@media print, screen and (min-width: 800px) {
  .wrap-tbls .dsp-tbls-norm .dsp-tbl {
    display: table;
  }
}
.wrap-tbls .dsp-tbls-norm .dsp-tbl > .col {
  display: block;
}
@media print, screen and (min-width: 800px) {
  .wrap-tbls .dsp-tbls-norm .dsp-tbl > .col {
    display: table-cell;
    vertical-align: middle;
    padding: 1em;
  }
}
.wrap-tbls .dsp-tbls-norm .dsp-tbl > dt.col {
  color: #003e91;
  font-weight: 700;
  padding: 1em;
  background-color: rgba(0, 62, 145, 0.03);
  border-bottom: 1px solid rgba(0, 62, 145, 0.05);
}
@media print, screen and (min-width: 800px) {
  .wrap-tbls .dsp-tbls-norm .dsp-tbl > dt.col {
    width: 30%;
    padding: 1em;
  }
}
.wrap-tbls .dsp-tbls-norm .dsp-tbl > dd.col {
  padding: 1em;
}
@media print, screen and (min-width: 800px) {
  .wrap-tbls .dsp-tbls-norm .dsp-tbl > dd.col {
    width: 70%;
    padding: 1em;
  }
}

.trigger {
  position: fixed;
  top: 0.2rem;
  right: 0;
  width: 56px;
  height: 56px;
  padding: 14px 12px 12px;
  cursor: pointer;
  z-index: 103;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
@media print, screen and (min-width: 768px) {
  .trigger {
    width: 64px;
    height: 64px;
    padding: 18px 16px 14px;
  }
}
@media print, screen and (min-width: 960px) {
  .trigger {
    top: 2rem;
    right: 1rem;
    width: 80px;
    height: 80px;
  }
}
.trigger .trigger-nav--wrap {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}
.trigger .trigger-nav--wrap .bar--nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 18px;
  display: block;
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .trigger .trigger-nav--wrap .bar--nav {
    height: 24px;
  }
}
.trigger .trigger-nav--wrap .bar--nav span {
  position: absolute;
  left: 0;
  border-top: 2px solid #082854;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.trigger .trigger-nav--wrap .bar--nav span.top {
  top: 0;
  width: 100%;
}
.trigger .trigger-nav--wrap .bar--nav span.mid {
  top: 8px;
  width: 100%;
  animation-delay: 0.1s !important;
  border-top-color: #f7b400;
}
@media print, screen and (min-width: 960px) {
  .trigger .trigger-nav--wrap .bar--nav span.mid {
    top: 10px;
  }
}
.trigger .trigger-nav--wrap .bar--nav span.btm {
  top: 16px;
  width: 100%;
  animation-delay: 0.2s !important;
}
@media print, screen and (min-width: 960px) {
  .trigger .trigger-nav--wrap .bar--nav span.btm {
    top: 18px;
  }
}
.trigger .trigger-nav--wrap .bar--close {
  position: absolute;
  top: -6px;
  left: 0;
  width: 100%;
  height: 32px;
  display: block;
  overflow: hidden;
  transform: rotate(45deg);
}
.trigger .trigger-nav--wrap .bar--close span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.trigger .trigger-nav--wrap .bar--close span.ver {
  width: 0;
  height: 0%;
  margin-left: -1px;
  border-left: 1px solid #FFF;
  transform: translateY(-50%);
}
.trigger .trigger-nav--wrap .bar--close span.hori {
  width: 0%;
  height: 0;
  border-top: 1px solid #FFF;
  margin-top: -1px;
  transform: translateX(-50%);
  animation-delay: 0.05s !important;
}
.trigger .trigger-nav--wrap .ti {
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1.5em;
  color: #082854;
  text-align: center;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-size: 9px;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 0;
  overflow: hidden;
}
.trigger .trigger-nav--wrap .ti span {
  position: relative;
  top: 0;
  display: block;
  line-height: 1.5em;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
@media print, screen and (min-width: 960px) {
  .trigger .trigger-nav--wrap .ti {
    font-size: 16px;
  }
}

.trigger.active .trigger-nav--wrap .bar--nav span.top, .trigger.active .trigger-nav--wrap .bar--nav span.mid, .trigger.active .trigger-nav--wrap .bar--nav span.btm {
  left: 100%;
}
.trigger.active .trigger-nav--wrap .bar--close span.ver {
  height: 100%;
}
.trigger.active .trigger-nav--wrap .bar--close span.hori {
  width: 100%;
}
.trigger.active .trigger-nav--wrap .ti span {
  top: -1.5em;
  color: #FFF;
}
.trigger.active:hover {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.trigger.active:hover .trigger-nav--wrap .bar--close .ver {
  animation: triggerCloseHoverVer 0.35s forwards;
}
.trigger.active:hover .trigger-nav--wrap .bar--close .hori {
  animation: triggerCloseHoverHori 0.35s forwards;
}
@media print, screen and (min-width: 960px) {
  .trigger.active {
    top: 1rem;
    right: 0;
    width: 64px;
    height: 64px;
  }
  .trigger.active .ti {
    font-size: 9px;
  }
}

.trigger:not(.active):hover .trigger-nav--wrap .bar--nav span {
  animation: triggerHover 0.35s forwards;
}

@keyframes triggerHover {
  0% {
    left: 0;
  }
  50% {
    left: 100%;
  }
  51% {
    left: -100%;
  }
  100% {
    left: 0;
  }
}
@keyframes triggerCloseHoverVer {
  0% {
    top: 50%;
  }
  50% {
    top: 150%;
  }
  51% {
    top: -150%;
  }
  100% {
    top: 50%;
  }
}
@keyframes triggerCloseHoverHori {
  0% {
    left: 50%;
  }
  50% {
    left: 150%;
  }
  51% {
    left: -150%;
  }
  100% {
    left: 50%;
  }
}
.func-message--caution, .func-message--notice, .func-message {
  position: relative;
  padding: 2rem;
  background-repeat: repeat;
  background-position: 0 0;
  background-image: url(../img/common/slash/slash-x4.svg);
  background-size: 4px 4px;
}

.func-message--notice {
  border-color: #5ea3ff;
  color: #0054c4;
  background-color: rgba(0, 62, 145, 0.1);
}
.func-message--caution {
  border-color: #f9e0e0;
  color: #e06061;
  background-color: rgba(216, 53, 54, 0.5);
}
.func-message--caution::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: " ";
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 0;
}
.func-message--caution p {
  position: relative;
  z-index: 2;
  font-weight: 700;
}

.wp-caption {
  position: relative;
}
.wp-caption:not(:last-child) {
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .wp-caption:not(:last-child) {
    margin-bottom: 2em;
  }
}
.wp-caption .wp-caption-text {
  display: block;
  margin-top: 0.5em;
  font-size: 0.8125em;
  line-height: 1.5;
}

.alignnone:not(:last-child) {
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .alignnone:not(:last-child) {
    margin-bottom: 2em;
  }
}

.aligncenter {
  margin: 0 auto 1.5em;
}
@media print, screen and (min-width: 800px) {
  .aligncenter {
    margin-bottom: 2em;
  }
}

.alignleft {
  width: 100%;
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .alignleft {
    float: left;
    width: 50%;
    margin-right: 2em;
    margin-bottom: 2em;
  }
}

.alignright {
  width: 100%;
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .alignright {
    float: right;
    width: 50%;
    margin-left: 2em;
    margin-bottom: 2em;
  }
}

#Preloader {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background-color: #FFF;
  opacity: 0;
}
#Preloader .remove .bars {
  width: 0;
}
#Preloader .bars {
  position: absolute;
  top: 50%;
  left: 0%;
  width: 100%;
  height: 1px;
  display: block;
  overflow: hidden;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
#Preloader .bars i {
  position: absolute;
  display: block;
  overflow: hidden;
  width: 0%;
  height: 100%;
  animation: preloaderAnime 1s ease-in-out infinite;
}
#Preloader .bars i.one {
  background-color: rgb(255, 0, 0);
}
#Preloader .bars i.two {
  background-color: rgb(0, 255, 0);
  animation-delay: 0.35s;
}
#Preloader .bars i.three {
  background-color: rgb(0, 0, 255);
  animation-delay: 0.75s;
}

@keyframes preloaderAnime {
  0% {
    width: 0;
    left: 0;
  }
  50% {
    width: 100%;
    left: 0;
  }
  60% {
    width: 100%;
    left: 0;
  }
  100% {
    left: 100%;
  }
}
/* ---------------------------------------------------------------------------------------- */
/* GLOBAL-HEADER
/* ---------------------------------------------------------------------------------------- */
.global-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background-color: #f2faff;
  border-bottom: 0.5rem solid #003e91;
  box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.25);
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
@media print, screen and (min-width: 768px) {
  .global-header {
    border-bottom-width: 0.75rem;
  }
}
@media print, screen and (min-width: 960px) {
  .global-header {
    border-bottom-width: 1rem;
  }
}
.global-header--inner {
  position: relative;
  width: 100%;
  height: 120px;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .global-header--inner {
    height: 128px;
  }
}
@media print, screen and (min-width: 960px) {
  .global-header--inner {
    height: 136px;
  }
}
@media print, screen and (min-width: 1500px) {
  .global-header--inner {
    height: 144px;
  }
}
.global-header h1,
.global-header .h1 {
  position: absolute;
  top: 6px;
  left: 0.5rem;
  width: 120px;
  font-size: 1px;
  line-height: 1;
  margin: 0;
  z-index: 2;
}
@media print, screen and (min-width: 350px) {
  .global-header h1,
  .global-header .h1 {
    top: 3px;
    width: 140px;
  }
}
@media print, screen and (min-width: 768px) {
  .global-header h1,
  .global-header .h1 {
    top: 2px;
    left: 1rem;
    width: 168px;
  }
}
@media print, screen and (min-width: 960px) {
  .global-header h1,
  .global-header .h1 {
    width: 196px;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media print, screen and (min-width: 1200px) {
  .global-header h1,
  .global-header .h1 {
    width: 250px;
  }
}
.global-header h1 a,
.global-header .h1 a {
  display: block;
}
.global-header h1 img,
.global-header .h1 img {
  width: 100%;
  height: auto;
}
.global-header .search-and-dmenu {
  position: absolute;
  top: 0;
  right: 60px;
  z-index: 100;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
@media print, screen and (min-width: 800px) {
  .global-header .search-and-dmenu {
    right: 70px;
  }
}
@media print, screen and (min-width: 960px) {
  .global-header .search-and-dmenu {
    top: 50%;
    transform: translateY(-50%);
    right: 110px;
  }
}
.global-header .search-and-dmenu .trigger-search {
  position: relative;
  z-index: 1;
}
.global-header .search-and-dmenu .trigger-search .with-i {
  padding: 0.25em 0.5em 0;
}
@media print, screen and (min-width: 768px) {
  .global-header .search-and-dmenu .trigger-search .with-i {
    padding: 0 0.5em;
  }
}
.global-header .search-and-dmenu .trigger-search .with-i--i {
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
@media print, screen and (max-width: 767px) {
  .global-header .search-and-dmenu .trigger-search .with-i--i {
    width: 32px;
    height: 32px;
  }
}
.global-header .search-and-dmenu .trigger-search:hover .with-i--i {
  transform: scale(1.1);
}

.trigger-search.active .searchbox,
.another-search .searchbox {
  right: 0;
  opacity: 1;
  visibility: visible;
}
.another-search .searchbox {
  position: relative;
  top: inherit;
  right: inherit;
  background-color: transparent;
  width: 100%;
}
.another-search .searchbox form {
  display: inline-block;
  margin: 0 auto;
}

.searchbox {
  position: absolute;
  bottom: 11px;
  z-index: 100;
  background-color: #fff;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  right: 0;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
@media print, screen and (min-width: 800px) {
  .searchbox {
    bottom: 8px;
  }
}
@media print, screen and (min-width: 960px) {
  .searchbox {
    bottom: 18px;
  }
}
.searchbox .search-input {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: calc(100vw - 65px);
  max-width: calc(100vw - 65px);
  background-color: #DDD;
  border-radius: 24px;
  height: 48px;
  padding: 0 0 0 1em;
}
@media print, screen and (min-width: 576px) {
  .searchbox .search-input {
    width: 30em;
  }
}
@media print, screen and (min-width: 768px) {
  .searchbox .search-input {
    width: 30em;
    border-radius: 28px;
    max-width: calc(100vw - 92px);
  }
}
.searchbox .search-input--text {
  width: calc(100% - 6em);
}
.searchbox .search-input--text input {
  background-color: transparent;
  border: none;
}
.searchbox .search-input--btn {
  width: 6em;
}
.searchbox .search-input--btn input {
  width: 6em;
  height: 48px;
  display: flex;
  background-color: #082854;
  border: none;
  color: #FFF;
  font-weight: 700;
  border-radius: 24px;
  justify-content: center;
}
@media print, screen and (min-width: 800px) {
  .searchbox .search-input--btn input {
    border-radius: 28px;
  }
}

@media print, screen and (max-width: 349px) {
  .search-not-found {
    font-size: 0.92em;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* GLOBAL-FOOTER
/* ---------------------------------------------------------------------------------------- */
.global-footer {
  position: relative;
  padding-bottom: 5rem;
  background-color: #f2faff;
  border-top: 0.5rem solid #003e91;
  color: #003e91;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .global-footer {
    border-top-width: 0.75rem;
  }
}
@media print, screen and (min-width: 960px) {
  .global-footer {
    padding-bottom: 4rem;
    border-top-width: 1rem;
  }
}
.global-footer .copyright {
  font-weight: 400;
  font-size: 0.8125em;
  line-height: 1.5;
  letter-spacing: 0.075em;
  margin: 0;
  padding: 0 1rem;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
}
.global-footer address {
  font-style: normal;
  text-align: center;
  margin-bottom: 1.5rem;
  padding: 0 1rem;
}
.global-footer address dl dt {
  margin-bottom: 0.75em;
}
.global-footer address dl dt img {
  width: 200px;
  height: auto;
}
.global-footer address dl dd {
  margin: 0;
  font-size: 0.92em;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.footer-navigation {
  position: relative;
  text-align: left;
  border-bottom: 1px dotted rgb(8, 40, 84);
  margin-bottom: 2rem;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 800px) {
  .footer-navigation {
    font-size: 0.875em;
    border-bottom-style: dotted;
    margin-bottom: 3rem;
  }
}
.footer-navigation ul {
  letter-spacing: -0.4em;
  list-style: none;
  margin: 0;
}
.footer-navigation ul li {
  margin: 0;
  letter-spacing: 0;
  display: block;
  border-top: 1px dotted rgb(8, 40, 84);
}
@media print, screen and (min-width: 800px) {
  .footer-navigation ul li {
    display: inline-block;
    border-top: none;
    margin-right: 3em;
  }
}
.footer-navigation ul li i {
  position: absolute;
  top: 50%;
  right: 1.75rem;
  transform: translateY(-50%);
  font-size: 1px;
  line-height: 1;
}
@media print, screen and (min-width: 800px) {
  .footer-navigation ul li i {
    display: none;
  }
}
.footer-navigation ul li i svg {
  width: 20px;
  height: 17px;
  stroke: #003e91;
}
.footer-navigation a {
  position: relative;
  display: block;
  padding: 1em 1.5em;
  padding-right: 4em;
  color: #003e91;
}
@media print, screen and (min-width: 800px) {
  .footer-navigation a {
    padding: 0.5em 0;
  }
}
.footer-navigation .nav-solo {
  position: relative;
  border-top: 1px dotted rgb(8, 40, 84);
}
@media print, screen and (min-width: 800px) {
  .footer-navigation .nav-solo {
    padding: 1.5rem 2rem;
    border-top-style: dotted;
  }
}
.footer-navigation .nav-solo > ul li:first-child {
  border-top: none;
}
.footer-navigation dl {
  margin: 0;
  border-top: 1px dotted rgb(8, 40, 84);
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
@media print, screen and (min-width: 800px) {
  .footer-navigation dl {
    padding: 1.5rem 2rem;
    border-top-style: dotted;
  }
}
.footer-navigation dl dt,
.footer-navigation dl dd {
  margin: 0;
}
.footer-navigation dl dt {
  width: 100%;
  font-weight: 700;
  color: #003e91;
  cursor: pointer;
}
@media print, screen and (min-width: 800px) {
  .footer-navigation dl dt {
    width: 12em;
    cursor: default;
  }
}
.footer-navigation dl dt.active i.plus {
  transform: rotate(180deg);
}
.footer-navigation dl dt.active i.plus::after {
  opacity: 0;
}
.footer-navigation dl dt span {
  position: relative;
  display: block;
  padding: 1em 1.5em;
}
@media print, screen and (min-width: 800px) {
  .footer-navigation dl dt span {
    padding: 0.5em 0;
  }
}
.footer-navigation dl dt i.plus {
  position: absolute;
  top: 50%;
  right: 2rem;
  margin-top: -8px;
  width: 14px;
  height: 14px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
@media print, screen and (min-width: 800px) {
  .footer-navigation dl dt i.plus {
    display: none;
  }
}
.footer-navigation dl dt i.plus::before, .footer-navigation dl dt i.plus::after {
  position: absolute;
  content: " ";
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.footer-navigation dl dt i.plus::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 0;
  margin-top: -1px;
  border-top: 2px solid #003e91;
}
.footer-navigation dl dt i.plus::after {
  left: 50%;
  top: 0;
  height: 100%;
  width: 0;
  margin-left: -1px;
  border-left: 2px solid #003e91;
}
.footer-navigation dl dt:hover i.plus {
  transform: rotate(180deg);
}
.footer-navigation dl dt:hover i.plus::after {
  opacity: 0;
}
.footer-navigation dl dd {
  width: 100%;
  height: 0;
  overflow: hidden;
}
@media print, screen and (min-width: 800px) {
  .footer-navigation dl dd {
    width: calc(100% - 12em);
    height: inherit;
    overflow: visible;
  }
}
.footer-navigation dl dd.active {
  height: inherit;
}
.footer-navigation dl dd > ul {
  background-color: rgba(0, 0, 0, 0.03);
}
@media print, screen and (min-width: 800px) {
  .footer-navigation dl dd > ul {
    background-color: transparent;
  }
}
.footer-navigation dl dd > ul li svg {
  stroke: #003e91;
}

.global-footer-flt {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1em;
  text-align: center;
  z-index: 10;
}
.global-footer-flt .copyright {
  font-weight: 400;
  font-size: 0.8125em;
  line-height: 1.5;
  letter-spacing: 0.075em;
  margin: 0;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
}
.global-footer-flt .backto-prev-page {
  margin: 0 auto;
  padding: 1em;
  text-align: center;
  font-size: 0.875em;
}
.global-footer-flt .backto-prev-page a {
  position: relative;
  display: inline-block;
  padding: 0.5em 1em;
  padding-left: 3em;
  text-decoration: none !important;
  background-color: #FFF;
  border-radius: 4em;
  box-shadow: 0 0 1em rgba(233, 83, 119, 0.15);
}
.global-footer-flt .backto-prev-page a i {
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -12px;
  transition: all 0.1s ease-in-out;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #082854;
  padding: 2px;
}
.global-footer-flt .backto-prev-page a i svg {
  width: 100%;
  height: 100%;
  stroke: #082854;
  stroke-width: 1;
  transform: scaleX(-1);
}

/* ---------------------------------------------------------------------------------------- */
/* GLOBAL-NAVIGATION
/* ---------------------------------------------------------------------------------------- */
.global-navigation {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 10;
  width: 100%;
  max-width: 1154px;
}
@media print, screen and (min-width: 960px) {
  .global-navigation {
    width: calc(100% - (400px + 3rem));
    right: 200px;
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
  }
}
@media print, screen and (min-width: 1200px) {
  .global-navigation {
    width: 250px;
    width: calc(100% - (500px + 7rem));
    right: 250px;
  }
}
.global-navigation::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.5em;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0) 100%);
}
.global-navigation > ul {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
  margin: 0;
}
.global-navigation > ul > li {
  position: relative;
  width: 20%;
  border-left: 1px dotted #003e91;
  margin: 0;
  padding: 0;
}
.global-navigation > ul > li:first-child {
  border-left: none;
}
@media print, screen and (min-width: 960px) {
  .global-navigation > ul > li:first-child {
    border-left: 1px dotted #003e91;
  }
  .global-navigation > ul > li:last-child {
    border-right: 1px dotted #003e91;
  }
}
.global-navigation > ul > li.has-children {
  cursor: pointer;
}
.global-navigation > ul > li.has-children::after {
  position: absolute;
  bottom: -2px;
  left: 50%;
  margin-left: -4px;
  width: 0;
  height: 0;
  content: " ";
  border: 4px solid transparent;
  border-top-color: #082854;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
@media print, screen and (min-width: 768px) {
  .global-navigation > ul > li.has-children::after {
    bottom: 0;
  }
}
.global-navigation > ul > li.has-children.active::after {
  border-top-color: transparent;
  border-bottom-color: #082854;
}
.global-navigation > ul > li.has-children.active .regional {
  top: 100%;
  overflow: visible;
  visibility: visible;
  max-height: 99999em;
  opacity: 1;
}
.global-navigation .regional {
  position: absolute;
  top: 80%;
  left: 0;
  text-align: left;
  background-color: rgba(255, 255, 255, 0.99);
  min-width: 100%;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
}
.global-navigation .regional ul {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #082854;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.04);
  border-radius: 0.25em;
}
.global-navigation .regional ul li {
  margin: 0;
  font-size: 0.92em;
}
.global-navigation .regional ul li:not(:first-child) {
  border-top: 1px dotted rgba(255, 255, 255, 0.2);
}
.global-navigation .regional ul li a {
  white-space: nowrap;
  font-weight: 700;
  display: block;
  padding: 1em 0.75em;
  color: #FFF;
}

.global-header .with-i {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  cursor: pointer;
  height: 64px;
  padding: 0.25em 0.5em 0;
}
@media print, screen and (min-width: 768px) {
  .global-header .with-i {
    padding: 0 0.5em;
    justify-content: center;
  }
}
@media print, screen and (min-width: 960px) {
  .global-header .with-i {
    height: 85px;
  }
}
@media print, screen and (min-width: 1500px) {
  .global-header .with-i {
    height: 90px;
  }
}
.global-header .with-i--i {
  position: relative;
  width: 40px;
  height: 40px;
}
@media print, screen and (min-width: 960px) {
  .global-header .with-i--i {
    width: 48px;
    height: 48px;
  }
}
@media print, screen and (min-width: 1200px) {
  .global-header .with-i--i {
    width: 56px;
    height: 56px;
  }
}
.global-header .with-i--i img {
  width: 100%;
  height: 100%;
}
.global-header .with-i--t {
  position: relative;
  margin-top: -2px;
  font-size: 0.685em;
  font-weight: 700;
  font-feature-settings: "palt";
  display: block;
  color: #003e91;
  white-space: nowrap;
}
@media print, screen and (min-width: 576px) {
  .global-header .with-i--t {
    font-size: 0.75em;
  }
}
@media print, screen and (min-width: 768px) {
  .global-header .with-i--t {
    margin-top: 0;
    font-size: 0.875em;
  }
}
@media print, screen and (min-width: 1200px) {
  .global-header .with-i--t {
    font-size: 0.92em;
  }
}
@media print, screen and (min-width: 1500px) {
  .global-header .with-i--t {
    font-size: 1em;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* SIDE-NAVIGATION
/* ---------------------------------------------------------------------------------------- */
.side-navigation {
  position: fixed;
  top: calc(56px + 0.5rem);
  right: -100%;
  width: 90%;
  max-width: 480px;
  height: calc(100% - (56px + 0.5rem));
  padding: 0 0 6rem;
  background-color: #fff;
  text-align: left;
  z-index: 99999;
  -webkit-transition: all 0.15s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 0.15s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  overflow-y: scroll;
}
@media print, screen and (min-width: 768px) {
  .side-navigation {
    top: calc(64px + 0.75rem);
    height: calc(100% - (64px + 0.75rem));
  }
}
@media print, screen and (min-width: 960px) {
  .side-navigation {
    top: calc(64px + 1rem);
    height: calc(100% - (64px + 1rem));
  }
}
.side-navigation.slideIn {
  right: 0;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
  display: block;
}
.side-navigation.slideIn + .btn-guidebook {
  margin-left: 0;
  visibility: visible;
  opacity: 1;
  pointer-events: all;
}
.side-navigation ul {
  letter-spacing: -0.4em;
  list-style: none;
  margin: 0;
}
.side-navigation ul li {
  margin: 0;
  letter-spacing: 0;
  display: block;
  border-top: 1px dotted #bbb;
}
.side-navigation ul li i {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  font-size: 1px;
  line-height: 1;
}
.side-navigation ul li i svg {
  width: 24px;
  height: 24px;
  stroke-width: 1;
}
.side-navigation a {
  position: relative;
  display: block;
  padding: 1em 1.5rem;
  padding-right: 4em;
}
.side-navigation .nav-solo {
  position: relative;
  border-top: 1px solid #bbb;
}
.side-navigation .nav-solo > ul li:first-child {
  border-top: none;
}
.side-navigation dl {
  margin: 0;
  border-top: 1px solid #bbb;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.side-navigation dl dt,
.side-navigation dl dd {
  margin: 0;
}
.side-navigation dl dt {
  width: 100%;
  font-weight: 700;
  color: #003e91;
  cursor: pointer;
}
.side-navigation dl dt.active i.plus {
  transform: rotate(180deg);
}
.side-navigation dl dt.active i.plus::after {
  opacity: 0;
}
.side-navigation dl dt span {
  position: relative;
  display: block;
  padding: 1em 1.5rem;
}
.side-navigation dl dt i.plus {
  position: absolute;
  top: 50%;
  right: 1.15rem;
  margin-top: -8px;
  width: 14px;
  height: 14px;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.side-navigation dl dt i.plus::before, .side-navigation dl dt i.plus::after {
  position: absolute;
  content: " ";
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.side-navigation dl dt i.plus::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 0;
  margin-top: -1px;
  border-top: 2px solid #003e91;
}
.side-navigation dl dt i.plus::after {
  left: 50%;
  top: 0;
  height: 100%;
  width: 0;
  margin-left: -1px;
  border-left: 2px solid #003e91;
}
.side-navigation dl dt:hover i.plus {
  transform: rotate(180deg);
}
.side-navigation dl dt:hover i.plus::after {
  opacity: 0;
}
.side-navigation dl dd {
  width: 100%;
  height: 0;
  overflow: hidden;
}
.side-navigation dl dd.active {
  height: inherit;
}
.side-navigation dl dd > ul {
  background-color: rgba(0, 0, 0, 0.03);
}
.side-navigation dl dd > ul li svg {
  stroke: #112e54;
}

.btn-guidebook {
  position: relative;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
  padding: 1em;
  border-top: 1px solid #000;
}
.btn-guidebook a {
  background-color: #082854;
  color: #fff;
  padding: 1.5em;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-weight: 500;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
  font-size: 3.5vw;
}
@media print, screen and (min-width: 576px) {
  .btn-guidebook a {
    font-size: 1em;
  }
}
.btn-guidebook a i {
  margin-left: 1em;
}
.btn-guidebook a i svg {
  fill: #fff;
  width: 2.5em;
  height: 2.5em;
}
@media print, screen and (min-width: 576px) {
  .btn-guidebook a i svg {
    width: 32px;
    height: 32px;
  }
}
.btn-guidebook a small {
  font-size: 0.75em;
  display: inline-block;
}

.nav-uti-side {
  position: fixed;
  top: 0.2rem;
  right: 56px;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@media print, screen and (min-width: 768px) {
  .nav-uti-side {
    top: 0.5rem;
    right: 64px;
  }
}
@media print, screen and (min-width: 960px) {
  .nav-uti-side {
    top: 1rem;
  }
}
.nav-uti-side ul {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-uti-side ul li {
  margin: 0;
}
.nav-uti-side .with-i {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  cursor: pointer;
  height: 56px;
  min-width: 56px;
  padding: 0.25em 0.5em 0;
  margin: 0;
}
@media print, screen and (min-width: 768px) {
  .nav-uti-side .with-i {
    height: 64px;
    min-width: none;
    padding: 0.25em 1.25em;
    flex-direction: row;
    justify-content: center;
  }
}
.nav-uti-side .with-i--i {
  position: relative;
  width: 32px;
  height: 32px;
}
@media print, screen and (min-width: 768px) {
  .nav-uti-side .with-i--i {
    margin-left: -1em;
    width: 40px;
    height: 40px;
  }
}
.nav-uti-side .with-i--i img {
  width: 100%;
  height: 100%;
}
.nav-uti-side .with-i--t {
  position: relative;
  margin-top: -1px;
  font-size: 0.6125em;
  font-weight: 700;
  font-feature-settings: "palt";
  display: block;
  color: #FFF;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .nav-uti-side .with-i--t {
    margin-top: 0;
    font-size: 0.875em;
    padding-left: 0.5em;
  }
}

body.open-nav .nav-uti-side {
  visibility: visible;
  opacity: 1;
  pointer-events: all;
}

/* ---------------------------------------------------------------------------------------- */
/* REGIONAL-NAVIGATION
/* ---------------------------------------------------------------------------------------- */
.scn-footer--bnrsS {
  position: relative;
  padding-top: 3rem;
  padding-bottom: 4rem;
  /*border-top: 1px solid #ccc;*/
  z-index: 2;
}
@media print, screen and (max-width: 575px) {
  .scn-footer--bnrsS {
    padding: 1.5em 0;
  }
}
.scn-footer--bnrsS ul {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  list-style: none;
  margin: -4px;
}
@media print, screen and (min-width: 800px) {
  .scn-footer--bnrsS ul {
    margin: -8px;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-footer--bnrsS ul {
    margin: -16px;
  }
}
.scn-footer--bnrsS ul li {
  position: relative;
  width: 50%;
  padding: 4px;
  margin: 0;
}
@media print, screen and (min-width: 576px) {
  .scn-footer--bnrsS ul li {
    width: 25%;
  }
}
@media print, screen and (min-width: 800px) {
  .scn-footer--bnrsS ul li {
    padding: 8px;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-footer--bnrsS ul li {
    width: 20%;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-footer--bnrsS ul li {
    padding: 16px;
  }
}
.scn-footer--bnrsS ul li a {
  display: block;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
}
@media print, screen and (min-width: 800px) {
  .scn-footer--bnrsS ul li a {
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
  }
}
.scn-footer--bnrsS ul li a img {
  width: 100%;
  height: auto;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - COMMON
/* ---------------------------------------------------------------------------------------- */
body {
  overflow-x: hidden;
  width: 100%;
}
body.open-nav {
  overflow: hidden;
}
body.scrl-up .global-header {
  top: -200px;
}
body.scrl-up .trigger {
  top: -200px;
}
body.scrl-up .float-local-nav {
  top: 0 !important;
}
body.scrl-up .col-region {
  top: 0;
}
body.scrl-up .col-region nav {
  top: 0;
}
.wrapper {
  position: relative;
  display: block;
  opacity: 0;
}

.content {
  position: relative;
  z-index: 1;
  padding-top: calc(120px + 0.5rem);
}
@media print, screen and (min-width: 768px) {
  .content {
    padding-top: calc(128px + 0.75rem);
  }
}
@media print, screen and (min-width: 960px) {
  .content {
    padding-top: calc(136px + 1rem);
  }
}
@media print, screen and (min-width: 1500px) {
  .content {
    padding-top: calc(144px + 1rem);
  }
}
.content.no-sp {
  padding-top: 0;
}
.content .with-marker {
  position: relative;
  background: linear-gradient(transparent 70%, rgba(0, 62, 145, 0.2) 0%);
  display: inline;
  padding-bottom: 0;
}
.content .attention {
  color: #111;
  font-weight: 700;
  font-size: 1.15em;
}
.content .attention.with-marker {
  background: linear-gradient(transparent 70%, rgba(255, 67, 89, 0.4) 0%);
}

.sp-top {
  padding-top: 2rem;
}
@media print, screen and (min-width: 768px) {
  .sp-top {
    padding-top: 3rem;
  }
}
@media print, screen and (min-width: 960px) {
  .sp-top {
    padding-top: 4rem;
  }
}

.sp-btm {
  padding-bottom: 2rem;
}
@media print, screen and (min-width: 768px) {
  .sp-btm {
    padding-bottom: 3rem;
  }
}
@media print, screen and (min-width: 960px) {
  .sp-btm {
    padding-bottom: 4rem;
  }
}

.page-home {
  position: relative;
}

.page-norm,
.page-single {
  position: relative;
}
.page-norm:not(.no-sp-bottom),
.page-single:not(.no-sp-bottom) {
  padding-bottom: 3rem;
}
@media print, screen and (min-width: 800px) {
  .page-norm:not(.no-sp-bottom),
  .page-single:not(.no-sp-bottom) {
    padding-bottom: 4rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm:not(.no-sp-bottom),
  .page-single:not(.no-sp-bottom) {
    padding-bottom: 6rem;
  }
}

.atl-norm {
  text-align: left;
}

.nav-inpage {
  position: relative;
  padding: 0 0.5rem;
  text-align: center;
  width: 100%;
  z-index: 3;
  background-color: #f8f8f8;
  border-bottom: 1px solid #ddd;
}
.nav-inpage ul {
  position: relative;
  display: table;
  border-collapse: collapse;
  list-style: none;
  margin: 0 auto;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
@media print, screen and (min-width: 800px) {
  .nav-inpage ul {
    max-width: 360px;
  }
}
@media print, screen and (min-width: 1200px) {
  .nav-inpage ul {
    max-width: 480px;
  }
}
.nav-inpage ul li {
  position: relative;
  display: table-cell;
  margin: 0;
  padding: 0;
}
.nav-inpage ul li a {
  position: relative;
  display: block;
  text-align: center;
  font-weight: 700;
  padding: 0 2em;
  height: 3rem;
  line-height: 3rem;
  font-size: 0.92em;
  color: #082854;
}
.nav-inpage ul li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  content: " ";
  border-top: 2px solid #003e91;
  z-index: 1;
  display: none;
}
.nav-inpage ul li a:hover {
  color: #fff;
  background-color: #003e91;
}
.nav-inpage ul li a:hover i {
  height: 1em;
  border-color: #fff;
}
@media print, screen and (min-width: 800px) {
  .nav-inpage ul li a {
    height: 3.5rem;
    line-height: 3.5rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .nav-inpage ul li a {
    height: 5rem;
    line-height: 5rem;
    font-size: 1em;
  }
}
.nav-inpage ul li a i {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 0.5em;
  content: " ";
  z-index: 2;
  border-left: 1px solid #082854;
  opacity: 0.4;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  display: none;
}

.page-norm .corner-header,
.page-single .corner-header {
  position: relative;
  width: 100%;
  max-width: 1568px;
  padding: 0 0.75em;
  margin: 0 auto;
}
.page-norm .corner-header .parent,
.page-single .corner-header .parent {
  position: relative;
  width: 100%;
  padding: 0.5rem 0.5em 0.25rem;
}
.page-norm .corner-header .parent .inner,
.page-single .corner-header .parent .inner {
  margin: auto;
  text-align: right;
  font-size: 0.8125em;
}
@media print, screen and (min-width: 800px) {
  .page-norm .corner-header .parent .inner,
  .page-single .corner-header .parent .inner {
    font-size: 1em;
  }
}
.page-norm .corner-header .parent .inner span,
.page-single .corner-header .parent .inner span {
  display: inline-block;
  vertical-align: middle;
}
@media print, screen and (min-width: 800px) {
  .page-norm .corner-header .parent .inner span,
  .page-single .corner-header .parent .inner span {
    display: block;
  }
}
.page-norm .corner-header .parent .inner .jp,
.page-single .corner-header .parent .inner .jp {
  display: none;
}
.page-norm .corner-header .parent .inner .en,
.page-single .corner-header .parent .inner .en {
  font-family: "Unna", "Times New Roman", Times, serif;
  font-style: italic;
  font-weight: 500;
}
.page-norm .corner-header .self,
.page-single .corner-header .self {
  position: relative;
  width: 100%;
  border-radius: 1em;
  overflow: hidden;
}
@media print, screen and (min-width: 800px) {
  .page-norm .corner-header .self,
  .page-single .corner-header .self {
    background-color: #FFF;
  }
}
.page-norm .corner-header .self .img,
.page-single .corner-header .self .img {
  position: relative;
  width: 100%;
  padding-top: 65%;
  display: block;
  z-index: 0;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 1em;
}
@media print, screen and (min-width: 576px) {
  .page-norm .corner-header .self .img,
  .page-single .corner-header .self .img {
    padding-top: 32%;
  }
}
@media print, screen and (min-width: 800px) {
  .page-norm .corner-header .self .img,
  .page-single .corner-header .self .img {
    padding-top: calc((100% - 10em) * 0.32);
    margin-left: auto;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm .corner-header .self .img,
  .page-single .corner-header .self .img {
    padding-top: calc((100% - 15em) * 0.32);
    margin-left: auto;
  }
}
.page-norm .corner-header .self .img img,
.page-single .corner-header .self .img img {
  position: absolute;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 0;
}
.page-norm .corner-header .self .img.top,
.page-single .corner-header .self .img.top {
  background-position-y: top;
}
.page-norm .corner-header .self .img.center,
.page-single .corner-header .self .img.center {
  background-position-y: center;
}
.page-norm .corner-header .self .img.bottom,
.page-single .corner-header .self .img.bottom {
  background-position-y: bottom;
}
@media print, screen and (max-width: 575px) {
  .page-norm .corner-header .self .img.pc,
  .page-single .corner-header .self .img.pc {
    display: none;
  }
}
@media print, screen and (min-width: 576px) {
  .page-norm .corner-header .self .img.smp,
  .page-single .corner-header .self .img.smp {
    display: none;
  }
}
.page-norm .corner-header .self .txt,
.page-single .corner-header .self .txt {
  position: absolute;
  top: 0;
  left: 0;
  text-align: left;
  z-index: 1;
  margin: 0;
  padding: 1em 1em;
  background-color: #FFF;
  border-bottom-right-radius: 30px;
  max-height: calc(100% - 1em);
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
}
@media print, screen and (min-width: 800px) {
  .page-norm .corner-header .self .txt,
  .page-single .corner-header .self .txt {
    padding: 2.5em 2em;
  }
}
.page-norm .corner-header .self .txt h1,
.page-single .corner-header .self .txt h1 {
  display: block;
  font-size: 1em;
  line-height: 1.3;
  font-feature-settings: "palt";
  letter-spacing: 0.5em;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  margin: 0;
  color: #1f408f;
}
@media print, screen and (min-width: 350px) {
  .page-norm .corner-header .self .txt h1,
  .page-single .corner-header .self .txt h1 {
    font-size: 1.25em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm .corner-header .self .txt h1,
  .page-single .corner-header .self .txt h1 {
    font-size: 1.5em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm .corner-header .self .txt h1,
  .page-single .corner-header .self .txt h1 {
    font-size: 1.5em;
  }
}
.page-norm .corner-header .self .txt h1 span,
.page-single .corner-header .self .txt h1 span {
  display: inline-block;
  /*&.with-marker {
      background: linear-gradient(transparent 80%, rgba(colors(prA), .3) 0%);
  }*/
}
.page-norm .corner-header .self .txt h2,
.page-single .corner-header .self .txt h2 {
  margin: 0.25em 0 0;
  font-size: 0.75em;
  letter-spacing: 0.05em;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
}
.page-norm .corner-header.no-parent,
.page-single .corner-header.no-parent {
  position: relative;
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.page-norm .corner-header.no-parent .img,
.page-single .corner-header.no-parent .img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.page-norm .corner-header.no-parent .img::after,
.page-single .corner-header.no-parent .img::after {
  position: absolute;
  top: 0;
  left: 0;
  content: " ";
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.6) 0, rgba(0, 0, 0, 0) 100%);
}
.page-norm .corner-header.no-parent .img img,
.page-single .corner-header.no-parent .img img {
  position: absolute;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 0;
}
.page-norm .corner-header.no-parent .img.top img,
.page-single .corner-header.no-parent .img.top img {
  top: 0;
}
.page-norm .corner-header.no-parent .img.center img,
.page-single .corner-header.no-parent .img.center img {
  top: 50%;
  transform: translateY(-50%);
}
.page-norm .corner-header.no-parent .img.bottom img,
.page-single .corner-header.no-parent .img.bottom img {
  bottom: 0;
}
.page-norm .corner-header.no-parent .txt,
.page-single .corner-header.no-parent .txt {
  position: relative;
  text-align: left;
  width: 100%;
  margin: 0;
  z-index: 1;
  padding: 4em 1.5rem;
}
@media print, screen and (min-width: 800px) {
  .page-norm .corner-header.no-parent .txt,
  .page-single .corner-header.no-parent .txt {
    padding: 0.5em 2em;
  }
}
.page-norm .corner-header.no-parent .txt h1,
.page-single .corner-header.no-parent .txt h1 {
  display: block;
  color: #fff;
  font-size: 1.65em;
  line-height: 1.3;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin: auto 0;
}
.page-norm .corner-header.no-parent .txt h1 span,
.page-single .corner-header.no-parent .txt h1 span {
  display: inline-block;
}
.page-norm .corner-header.no-parent .txt h2,
.page-single .corner-header.no-parent .txt h2 {
  margin: 0.5em 0 0;
  font-size: 1.35em;
}

.scn-norm,
.scn-home {
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media print, screen and (min-width: 768px) {
  .scn-norm,
  .scn-home {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-norm,
  .scn-home {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-norm,
  .scn-home {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.scn-norm.sml-sp,
.scn-home.sml-sp {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .scn-norm.sml-sp,
  .scn-home.sml-sp {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-norm.sml-sp,
  .scn-home.sml-sp {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-norm.sml-sp,
  .scn-home.sml-sp {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.scn-norm.deco-overflow,
.scn-home.deco-overflow {
  overflow-x: hidden;
}
.scn-norm.clrd,
.scn-home.clrd {
  background-color: rgba(0, 0, 0, 0.02);
}
.scn-norm.clrd.white,
.scn-home.clrd.white {
  background-color: rgba(255, 255, 255, 0.5);
}
.scn-norm.last,
.scn-home.last {
  padding-bottom: 5rem;
}
@media print, screen and (min-width: 768px) {
  .scn-norm.last,
  .scn-home.last {
    padding-bottom: 7rem;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-norm.last,
  .scn-home.last {
    padding-bottom: 8rem;
  }
}
.scn-norm.no-sp,
.scn-home.no-sp {
  padding: 0;
}
.scn-norm.no-sp-top,
.scn-home.no-sp-top {
  padding-top: 0;
}
.scn-norm.no-sp-bottom,
.scn-home.no-sp-bottom {
  padding-bottom: 0;
}
.scn-norm.row-divide-half,
.scn-home.row-divide-half {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
}
.scn-norm.row-divide-half.rev,
.scn-home.row-divide-half.rev {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.scn-norm.row-divide-half > .col,
.scn-home.row-divide-half > .col {
  position: relative;
  width: 50%;
}
.scn-norm.sml-sp-top,
.scn-home.sml-sp-top {
  padding-top: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .scn-norm.sml-sp-top,
  .scn-home.sml-sp-top {
    padding-top: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-norm.sml-sp-top,
  .scn-home.sml-sp-top {
    padding-top: 2.5rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-norm.sml-sp-top,
  .scn-home.sml-sp-top {
    padding-top: 3rem;
  }
}
.scn-norm .palt,
.scn-home .palt {
  font-feature-settings: "palt";
}
.scn-norm em,
.scn-home em {
  font-style: italic;
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.scn-norm h3:not(.plain),
.scn-home h3:not(.plain) {
  position: relative;
  display: block;
  font-weight: 500;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.scn-norm h3:not(.plain)::first-letter,
.scn-home h3:not(.plain)::first-letter {
  font-size: 140%;
  font-weight: 700;
}
.scn-norm h4:not(.plain),
.scn-home h4:not(.plain) {
  position: relative;
  display: block;
  width: 100%;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  padding-left: 1.15em;
}
.scn-norm h4:not(.plain)::before,
.scn-home h4:not(.plain)::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 0.75em;
  height: 0.75em;
  content: " ";
  border: 2px solid #000;
  border-radius: 0.15em;
  background-color: #FFF;
}
.scn-norm h5:not(.plain),
.scn-home h5:not(.plain) {
  position: relative;
  display: block;
  width: 100%;
}
.scn-norm p,
.scn-home p {
  line-height: 1.7;
}
.scn-norm p:not(.not-justify),
.scn-home p:not(.not-justify) {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
}
.scn-norm .lead,
.scn-home .lead {
  font-weight: 700;
  font-size: 1.1em;
  line-height: 2.2;
  color: #272727;
  font-feature-settings: "palt";
}
.scn-norm .strong-heading,
.scn-home .strong-heading {
  font-weight: 400;
}
.scn-norm .wrap-lead .lead,
.scn-home .wrap-lead .lead {
  display: block;
  margin: 0 auto;
}
.scn-norm .see-all,
.scn-home .see-all {
  text-align: right;
}
.scn-norm .dl-flt,
.scn-home .dl-flt {
  overflow: hidden;
}
.scn-norm .dl-flt dt,
.scn-home .dl-flt dt {
  float: left;
  width: 5em;
}
.scn-norm .dl-flt dd,
.scn-home .dl-flt dd {
  padding-left: 5em;
}
.scn-norm a:not(.btn):not(.link-txt):not(.btn--outline):not(.link-txt-dx),
.scn-home a:not(.btn):not(.link-txt):not(.btn--outline):not(.link-txt-dx) {
  text-decoration: underline;
}
.scn-norm .lead-with-img,
.scn-home .lead-with-img {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-bottom: 2em;
}
@media print, screen and (min-width: 800px) {
  .scn-norm .lead-with-img,
  .scn-home .lead-with-img {
    margin-bottom: 3em;
  }
}
.scn-norm .lead-with-img--img,
.scn-home .lead-with-img--img {
  width: 90%;
  max-width: 480px;
  margin-left: -1.5rem;
}
@media print, screen and (min-width: 768px) {
  .scn-norm .lead-with-img--img,
  .scn-home .lead-with-img--img {
    width: 60%;
    margin: 0;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-norm .lead-with-img--img,
  .scn-home .lead-with-img--img {
    width: 40%;
  }
}
.scn-norm .lead-with-img--txt,
.scn-home .lead-with-img--txt {
  padding: 1.5rem;
  padding-right: 0;
  margin-left: -1.5rem;
  margin-top: -10em;
  background-color: rgba(255, 255, 255, 0.9);
}
@media print, screen and (min-width: 768px) {
  .scn-norm .lead-with-img--txt,
  .scn-home .lead-with-img--txt {
    margin-top: 60%;
    margin-left: -40%;
    width: 80%;
    padding: 3em;
    padding-right: 0;
    background-color: rgba(255, 255, 255, 0.9);
  }
}
@media print, screen and (min-width: 960px) {
  .scn-norm .lead-with-img--txt,
  .scn-home .lead-with-img--txt {
    width: 60%;
    padding: 0;
    padding-left: 3em;
    margin: 0;
  }
}

.wrap-tb {
  position: relative;
  width: 100%;
}
.wrap-tb.scrl-x {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
.wrap-tb.scrl-x > .tb-norm.fullW {
  min-width: 720px;
}
@media print, screen and (min-width: 800px) {
  .wrap-tb.scrl-x {
    overflow-x: visible;
  }
  .wrap-tb.scrl-x > .tb-norm.fullW {
    min-width: inherit;
  }
}
@media print, screen and (min-width: 800px) {
  .wrap-tb.scrl-x.large-tb {
    overflow-x: scroll;
  }
  .wrap-tb.scrl-x.large-tb > .tb-norm.fullW {
    min-width: inherit;
  }
}

.with-flt-btn {
  position: relative;
}
.with-flt-btn::after {
  content: " ";
  display: block;
  clear: both;
}
.with-flt-btn .flt-btn {
  position: absolute;
  top: -0.5rem;
  right: 0;
}
@media print, screen and (max-width: 799px) {
  .with-flt-btn .flt-btn {
    position: static;
  }
  .with-flt-btn .flt-btn a {
    padding: 1.5em 4em 1.5em 1.5em;
    width: 100%;
    text-align: center;
    margin-top: 1.5em;
  }
}

.atl-error {
  padding-top: 6em;
  text-align: center;
  max-width: 640px;
  margin: 0 auto;
  min-height: 480px;
}
.atl-error h1 {
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-weight: 300;
  font-size: 3em;
  line-height: 1.2;
  margin-bottom: 2rem;
}
.atl-error h3 {
  margin-top: 0;
  margin-bottom: 3rem;
}

.row {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.row.rev {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.row > .col {
  position: relative;
}

.wrap-bnr-norm--sml {
  position: relative;
  text-align: right;
  width: 100%;
}

.bnr-norm--sml {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 480px;
  border-radius: 0.15em;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.bnr-norm--sml::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  content: " ";
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
  opacity: 0;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.bnr-norm--sml img {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 0;
}
.bnr-norm--sml:hover {
  box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.4);
}
.bnr-norm--sml:hover::before {
  width: 100%;
  opacity: 1;
}

.row-with-sidebar {
  position: relative;
}
@media print, screen and (min-width: 960px) {
  .row-with-sidebar {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
}
.row-with-sidebar .col-sidebar {
  position: sticky;
  top: 0;
  width: 100%;
  background-color: #FFF;
  z-index: 2;
  padding: 1em 0;
}
@media print, screen and (min-width: 960px) {
  .row-with-sidebar .col-sidebar {
    position: relative;
    top: inherit;
    padding: 0;
    width: 24em;
  }
}
.row-with-sidebar .col-sidebar .stickey {
  position: sticky;
  top: 0;
  margin: 0;
}
.row-with-sidebar .col-content {
  position: relative;
  z-index: 0;
  padding-top: 1.5em;
}
@media print, screen and (min-width: 960px) {
  .row-with-sidebar .col-content {
    width: calc(100% - 24em);
    padding-top: 0;
  }
}

.interlude {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.scn-norm + .interlude:not(.no-sp-top), .interlude.sp-top {
  padding-top: 3rem;
}
@media print, screen and (min-width: 800px) {
  .scn-norm + .interlude:not(.no-sp-top), .interlude.sp-top {
    padding-top: 4rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-norm + .interlude:not(.no-sp-top), .interlude.sp-top {
    padding-top: 6rem;
  }
}
.interlude.has-space {
  padding: 2rem 0;
}
@media print, screen and (min-width: 800px) {
  .interlude.has-space {
    padding: 3rem 0;
  }
}
.interlude.has-space.space-large {
  padding: 3rem 0;
}
@media print, screen and (min-width: 800px) {
  .interlude.has-space.space-large {
    padding: 4rem 0;
  }
}
@media print, screen and (min-width: 1200px) {
  .interlude.has-space.space-large {
    padding: 5rem 0;
  }
}
.interlude span {
  position: relative;
  display: block;
}
.interlude.two span {
  width: 50%;
}
.interlude.three span {
  width: 50%;
}
@media print, screen and (min-width: 576px) {
  .interlude.three span {
    width: 33.33333333%;
  }
}
@media print, screen and (max-width: 575px) {
  .interlude.three span.hide-smp {
    display: none;
  }
}
.interlude.four span {
  width: 50%;
}
@media print, screen and (min-width: 768px) {
  .interlude.four span {
    width: 25%;
  }
}
.interlude img {
  width: 100%;
  height: auto;
}
.interlude.clr-belt::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3rem;
  background-color: #003e91;
  z-index: 1;
  content: " ";
  mix-blend-mode: multiply;
  opacity: 0.8;
}

.deco-img {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.deco-img img {
  width: 100%;
  height: auto;
}

i.dum1-1 {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 100%;
  background-color: #333;
}

i.dum2-1 {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 50%;
  background-color: #333;
}

i.dum4-3 {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 75%;
  background-color: #333;
}

i.dum3-2 {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 66.6%;
  background-color: #333;
}

i.dum3-4 {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 133%;
  background-color: #333;
}

i.dum1-1.c,
i.dum2-1.c,
i.dum4-3.c,
i.dum3-2.c,
i.dum3-4.c {
  background-color: #5478ff;
}
i.dum1-1.m,
i.dum2-1.m,
i.dum4-3.m,
i.dum3-2.m,
i.dum3-4.m {
  background-color: #ff282c;
}
i.dum1-1.y,
i.dum2-1.y,
i.dum4-3.y,
i.dum3-2.y,
i.dum3-4.y {
  background-color: #ffd125;
}
i.dum1-1.g,
i.dum2-1.g,
i.dum4-3.g,
i.dum3-2.g,
i.dum3-4.g {
  background-color: #27d369;
}

.fig-group {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
}
.fig-group span {
  display: block;
  width: 50%;
}
@media print, screen and (min-width: 960px) {
  .fig-group span {
    width: 100%;
  }
  .fig-group span + span {
    margin-top: 1rem;
  }
}
.fig-group span.right {
  margin-left: auto;
  margin-right: 0;
}
.fig-group.one span {
  position: relative;
  width: 100%;
}
.fig-group.one span:not(:last-child) {
  margin-bottom: 0.5rem;
}
@media print, screen and (max-width: 959px) {
  .fig-group.one span.cut-btm-s {
    height: 0;
    padding-top: 100%;
    overflow: hidden;
  }
  .fig-group.one span.cut-btm-s img {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.fig-group img {
  width: 100%;
  height: auto;
}
.fig-group i.name {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  height: auto;
}

.fig-norm {
  position: relative;
}
.fig-norm:not(:first-child) {
  margin-top: 2em;
}
h6 + .fig-norm:not(:first-child) {
  margin-top: 0.75em;
}
h4 + .fig-norm:not(:first-child) {
  margin-top: 0;
}
.fig-norm:not(:last-child) {
  margin-bottom: 2em;
}
.fig-norm.sml-sp-btm {
  margin-bottom: 0.5em;
}
.fig-norm.mid {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.fig-norm.sml {
  max-width: 320px;
  margin-left: auto;
  margin-right: auto;
}
.fig-norm figcaption {
  position: relative;
  display: block;
  font-size: 0.8125em;
  line-height: 1.4;
  margin-top: 0.5em;
}
.fig-norm img {
  max-width: 100%;
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 959px) {
  .fig-norm.only-lg {
    display: none;
  }
}

.img-center-ver {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  max-width: none;
  transform: translateY(-50%);
}

.img-center-hori {
  position: absolute;
  top: 0;
  left: 50%;
  width: auto;
  height: 100%;
  max-width: none;
  transform: translateX(-50%);
}

@media print, screen and (max-width: 959px) {
  .scrl-up .flt-btns, .scrl-up .flt-btns--header {
    top: 0;
  }
}

.flt-btns, .flt-btns--header {
  position: fixed;
  top: 64px;
  right: 0;
  z-index: 50;
  width: 100%;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
@media print, screen and (min-width: 576px) {
  .flt-btns, .flt-btns--header {
    width: inherit;
  }
}
.flt-btns::before, .flt-btns--header::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100%;
  content: " ";
  background-color: #003378;
}
@media print, screen and (min-width: 960px) {
  .flt-btns::before, .flt-btns--header::before {
    display: none;
  }
}
@media print, screen and (min-width: 960px) {
  .flt-btns, .flt-btns--header {
    top: 8rem;
    right: 0;
    bottom: inherit;
  }
}
.flt-btns ul, .flt-btns--header ul {
  list-style: none;
  margin: 0;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  background-color: #003e91;
  width: 100%;
}
@media print, screen and (min-width: 576px) {
  .flt-btns ul, .flt-btns--header ul {
    width: inherit;
  }
}
@media print, screen and (min-width: 960px) {
  .flt-btns ul, .flt-btns--header ul {
    display: block;
  }
}
.flt-btns ul li, .flt-btns--header ul li {
  position: relative;
  margin: 0;
  border-right: 1px dotted rgba(255, 255, 255, 0.4);
  width: 16.66666666%;
}
@media print, screen and (min-width: 576px) {
  .flt-btns ul li, .flt-btns--header ul li {
    width: inherit;
  }
}
@media print, screen and (min-width: 960px) {
  .flt-btns ul li, .flt-btns--header ul li {
    border-right: none;
  }
  .flt-btns ul li:not(:last-child), .flt-btns--header ul li:not(:last-child) {
    border-bottom: 1px dotted rgba(255, 255, 255, 0.4);
  }
}
@media print, screen and (max-width: 959px) {
  .flt-btns ul li.no-btm, .flt-btns--header ul li.no-btm {
    display: none;
  }
}
.flt-btns ul li.sns a, .flt-btns--header ul li.sns a {
  padding-top: 12px;
}
.flt-btns ul li a, .flt-btns--header ul li a {
  position: relative;
  display: block;
  width: 100%;
  height: 56px;
  padding: 6px 8px;
  background-color: #003e91;
}
@media print, screen and (min-width: 576px) {
  .flt-btns ul li a, .flt-btns--header ul li a {
    width: 56px;
  }
}
@media print, screen and (min-width: 960px) {
  .flt-btns ul li a, .flt-btns--header ul li a {
    width: 64px;
    height: 64px;
    padding: 6px 12px;
  }
}
.flt-btns ul li a i, .flt-btns--header ul li a i {
  position: relative;
  width: 100%;
  font-size: 1px;
  line-height: 1;
  display: block;
}
.flt-btns ul li a i svg, .flt-btns--header ul li a i svg {
  fill: #FFF;
  width: 32px;
  height: 32px;
}
@media print, screen and (min-width: 960px) {
  .flt-btns ul li a i svg, .flt-btns--header ul li a i svg {
    width: 40px;
    height: 40px;
  }
}
.flt-btns ul li a span, .flt-btns--header ul li a span {
  position: absolute;
  top: 40px;
  left: 0;
  text-align: center;
  width: 100%;
  color: #FFF;
  font-size: 8px;
  line-height: 1;
  font-weight: 700;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 960px) {
  .flt-btns ul li a span, .flt-btns--header ul li a span {
    top: 50px;
    font-size: 9px;
  }
}

.flt-btns--header {
  position: relative;
  top: inherit;
  right: inherit;
  display: block;
  z-index: 1;
  height: 64px;
}
@media print, screen and (min-width: 960px) {
  .flt-btns--header {
    display: none;
  }
}
.flt-btns--header::before {
  display: none;
}
.flt-btns--header ul {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  background-color: #FFF;
  border-left: 1px dotted #BBB;
}
.flt-btns--header ul li {
  border-right: 1px dotted #BBB;
}
.flt-btns--header ul li:last-child {
  border-right: none;
}
.flt-btns--header ul li a {
  width: 64px;
  height: 64px;
  padding: 6px 12px 5px;
  background-color: #F9F9F9;
}
@media print, screen and (max-width: 349px) {
  .flt-btns--header ul li a {
    width: 56px;
    padding: 6px 4px 5px;
  }
}
.flt-btns--header ul li a i svg {
  width: 40px;
  height: 40px;
  fill: #003e91;
}
.flt-btns--header ul li a span {
  top: 48px;
  color: #003e91;
}

.column-with-title {
  position: relative;
  margin-left: -1rem;
  margin-right: -1rem;
  background-color: #003e91;
  border-radius: 1.085em;
  padding: 2px;
  overflow: hidden;
}
@media print, screen and (min-width: 576px) {
  .column-with-title {
    margin-left: 0;
    margin-right: 0;
  }
}
.column-with-title:not(:first-child) {
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 576px) {
  .column-with-title:not(:first-child) {
    margin-top: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .column-with-title:not(:first-child) {
    margin-top: 3rem;
  }
}
.column-with-title:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 576px) {
  .column-with-title:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .column-with-title:not(:last-child) {
    margin-bottom: 3rem;
  }
}
.column-with-title .column--content {
  position: relative;
  background-color: #5ea3ff;
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 4px 4px;
  background-image: url("../img/common/slash/slash-x4-wh.svg");
  font-size: 0.92em;
  padding: 1.25em;
  border-radius: 1em;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.3);
  font-weight: 700;
}
.column-with-title .column--content::after {
  content: " ";
  display: block;
  clear: both;
}
@media print, screen and (min-width: 576px) {
  .column-with-title .column--content {
    padding: 2em;
  }
}
.column-with-title .column--content p {
  line-height: 1.65;
}
.column-with-title .column--title {
  position: relative;
  line-height: 1;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-family: "Unna", "Times New Roman", Times, serif;
  font-style: italic;
  padding: 0.5em 1.25em;
  display: block;
  font-size: 1.5em;
}
.column-with-title .column--title.jp {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0;
  font-size: 1.15em;
}

.column {
  position: relative;
  padding: 1.5rem 1.25rem;
  margin: 2rem -1rem 0;
  background-color: rgba(0, 62, 145, 0.08);
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 4px 4px;
  background-image: url("../img/common/slash/slash-x4-wh.svg");
  border-radius: 1rem;
}
@media print, screen and (min-width: 576px) {
  .column {
    margin: 2rem 0 0;
    padding: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .column {
    margin: 3rem 0 0;
    border-radius: 0.75em;
  }
}
.column:not(:last-child) {
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 576px) {
  .column:not(:last-child) {
    margin-bottom: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .column:not(:last-child) {
    margin-bottom: 3rem;
  }
}
.column .ti {
  position: relative;
  margin-bottom: 0.5rem;
}
.column p {
  font-feature-settings: "palt";
  line-height: 1.7;
}
.column i {
  position: absolute;
  top: -0.65rem;
  left: 1rem;
  font-size: 0.875em;
  line-height: 1;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  background-color: #003e91;
  padding: 0.5em 1.5em;
  border-radius: 1em;
  display: block;
}
.column i.jp {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 0.92em;
  letter-spacing: 0;
}
@media print, screen and (min-width: 576px) {
  .column i {
    top: -0.75rem;
    left: 1.5rem;
  }
}

.column .column--ph,
.column-with-title .column--ph {
  position: relative;
  display: block;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
  border-radius: 0.5rem;
  overflow: hidden;
}
.column .column--ph img,
.column-with-title .column--ph img {
  width: 100%;
  height: auto;
}
.column .column--ph.right,
.column-with-title .column--ph.right {
  margin-right: -1.5rem;
}
@media print, screen and (min-width: 576px) {
  .column .column--ph.right,
  .column-with-title .column--ph.right {
    margin-right: -3rem;
  }
}
@media print, screen and (min-width: 800px) {
  .column .column--ph.right,
  .column-with-title .column--ph.right {
    margin-right: -3rem;
  }
}
.column .column--teacher,
.column-with-title .column--teacher {
  position: relative;
  display: block;
  margin-right: -1rem;
  margin-bottom: -1.5rem;
  max-width: 480px;
}
@media print, screen and (min-width: 576px) {
  .column .column--teacher,
  .column-with-title .column--teacher {
    margin-right: -2rem;
    margin-bottom: -2rem;
  }
}
.column .column--teacher.no-limit-w,
.column-with-title .column--teacher.no-limit-w {
  max-width: none;
}
.column .prsn,
.column-with-title .prsn {
  position: relative;
  margin-bottom: 1em;
  width: 160px;
}
@media print, screen and (min-width: 350px) {
  .column .prsn,
  .column-with-title .prsn {
    width: 200px;
  }
}
@media print, screen and (min-width: 576px) {
  .column .prsn,
  .column-with-title .prsn {
    float: left;
    width: 200px;
    margin-bottom: 0;
  }
}
.column .prsn img,
.column-with-title .prsn img {
  border-radius: 1em;
  overflow: hidden;
}
.column .prsn.avatar .wrap-ph,
.column-with-title .prsn.avatar .wrap-ph {
  position: relative;
  margin-top: 0;
  width: 100%;
  display: block;
  overflow: hidden;
  border-radius: 1em;
  background-color: rgba(0, 62, 145, 0.1);
}
@media print, screen and (max-width: 575px) {
  .column .prsn.avatar .wrap-ph,
  .column-with-title .prsn.avatar .wrap-ph {
    padding-top: 100%;
    overflow: hidden;
  }
}
.column .prsn.avatar .wrap-ph img,
.column-with-title .prsn.avatar .wrap-ph img {
  border-radius: 0;
}
@media print, screen and (max-width: 575px) {
  .column .prsn.avatar .wrap-ph img,
  .column-with-title .prsn.avatar .wrap-ph img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
  }
}
.column .prsn .wrap-ph,
.column-with-title .prsn .wrap-ph {
  position: relative;
  margin-top: -3em;
  width: 100%;
  display: block;
}
@media print, screen and (max-width: 575px) {
  .column .prsn .wrap-ph,
  .column-with-title .prsn .wrap-ph {
    padding-top: 100%;
    overflow: hidden;
    margin-top: -2em;
  }
}
.column .prsn .wrap-ph img,
.column-with-title .prsn .wrap-ph img {
  border-radius: 0;
}
@media print, screen and (max-width: 575px) {
  .column .prsn .wrap-ph img,
  .column-with-title .prsn .wrap-ph img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
  }
}
.column .prsn span:not(.wrap-ph),
.column-with-title .prsn span:not(.wrap-ph) {
  position: absolute;
  left: 100%;
  bottom: 0;
  padding-left: 0.75em;
  display: block;
  font-size: 0.875em;
  line-height: 1.5;
  font-weight: 700;
  text-align: left;
  margin-top: 0.5em;
  white-space: nowrap;
}
@media print, screen and (min-width: 576px) {
  .column .prsn span:not(.wrap-ph),
  .column-with-title .prsn span:not(.wrap-ph) {
    position: relative;
    left: inherit;
    bottom: inherit;
    padding: 0;
  }
}
@media print, screen and (min-width: 576px) {
  .column .prsn + .comment,
  .column-with-title .prsn + .comment {
    margin-left: 232px;
  }
}

.fmt-interview {
  position: relative;
}
@media print, screen and (min-width: 350px) {
  .fmt-interview.sole p:not(.Q) {
    margin-left: 0;
  }
}
.fmt-interview p.Q {
  font-size: 1.2em;
  font-weight: 300;
  color: #a66561 !important;
}
@media print, screen and (min-width: 1200px) {
  .fmt-interview p.Q {
    font-size: 1.3em;
  }
}
.fmt-interview span.nm {
  position: relative;
  font-weight: 700;
  display: block;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
}
.fmt-interview span.nm::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2em;
  height: 0;
  content: " ";
  border-top: 2px solid #003e93;
}
@media print, screen and (min-width: 350px) {
  .fmt-interview span.nm {
    width: 4em;
    margin-bottom: 0;
    display: inline-block;
    padding-bottom: 0;
  }
}
.fmt-interview [class^=prsn-] {
  position: relative;
  padding: 1rem 0;
}
.fmt-interview [class^=prsn-]::after {
  content: " ";
  display: block;
  clear: both;
}
.fmt-interview [class^=prsn-] + .Q {
  margin-top: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .fmt-interview [class^=prsn-] + .Q {
    margin-top: 2em;
  }
}
.fmt-interview .prsn-1:not(:last-child) {
  border-bottom: 1px dotted #003e93;
}
.fmt-interview .prsn-2:not(:last-child) {
  border-bottom: 1px dotted #003e91;
}
.fmt-interview .prsn-2 p .nm {
  color: #003e91 !important;
}
.fmt-interview .prsn-2 p .nm::after {
  border-top-color: #003e91;
}
.fmt-interview .prsn-3:not(:last-child) {
  border-bottom: 1px dotted #168e2e;
}
.fmt-interview .prsn-3 p .nm {
  color: #168e2e !important;
}
.fmt-interview .prsn-3 p .nm::after {
  border-top-color: #168e2e;
}

.wrap-float-local-nav {
  position: relative;
}
.wrap-float-local-nav .float-local-nav {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 0.5rem;
  text-align: center;
  width: 100%;
  z-index: 3;
  background-color: #f8f8f8;
  border-bottom: 1px solid #ddd;
}
.wrap-float-local-nav .float-local-nav.fixed {
  position: fixed;
  left: 0;
  top: calc(120px + 0.5rem);
  -webkit-transition: all 0s ease-in-out;
  transition: all 0s ease-in-out;
}
@media print, screen and (min-width: 768px) {
  .wrap-float-local-nav .float-local-nav.fixed {
    top: calc(128px + 0.75rem);
  }
}
@media print, screen and (min-width: 960px) {
  .wrap-float-local-nav .float-local-nav.fixed {
    top: calc(136px + 1rem);
  }
}
@media print, screen and (min-width: 1500px) {
  .wrap-float-local-nav .float-local-nav.fixed {
    top: calc(144px + 1rem);
  }
}
.wrap-float-local-nav .float-local-nav.fixed ul {
  top: 0;
}

.row-side-region {
  position: relative;
}
.row-side-region .col-region {
  position: sticky;
  top: 0;
  z-index: 2;
  top: calc(120px + 0.5rem);
}
@media print, screen and (min-width: 768px) {
  .row-side-region .col-region {
    top: calc(128px + 0.75rem);
  }
}
@media print, screen and (min-width: 960px) {
  .row-side-region .col-region {
    top: calc(136px + 1rem);
  }
}
@media print, screen and (min-width: 1500px) {
  .row-side-region .col-region {
    top: calc(144px + 1rem);
  }
}
.row-side-region .col-region nav {
  position: absolute;
  top: 0;
  right: 0;
  padding-top: 0.5em;
}
.row-side-region .col-region nav ul {
  background-color: #d06da2;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
}
@media print, screen and (max-width: 959px) {
  .row-side-region .col-region nav ul {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    justify-content: center;
  }
}
.row-side-region .col-region nav ul li {
  margin: 0;
  display: grid;
}
.row-side-region .col-region nav ul li:not(:last-child) {
  border-bottom: 1px dotted rgba(255, 255, 255, 0.5);
}
@media print, screen and (max-width: 959px) {
  .row-side-region .col-region nav ul li:not(:last-child) {
    border-bottom: none;
    border-right: 1px dotted rgba(255, 255, 255, 0.5);
  }
}
.row-side-region .col-region nav ul li a {
  position: relative;
  display: block;
  padding: 1em;
  font-weight: 700;
  color: #FFF;
}
@media print, screen and (min-width: 960px) {
  .row-side-region .col-region nav ul li a {
    writing-mode: vertical-rl;
  }
}
.row-side-region .col-content {
  position: relative;
  z-index: 1;
}
@media print, screen and (max-width: 767px) {
  .row-side-region .col-content {
    padding-top: 3em;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - HOME
/* ---------------------------------------------------------------------------------------- */
.scn-hero {
  position: relative;
  width: 100%;
  overflow: hidden;
  /*background-color: rgba(colors(opC), .08);*/
}
.scn-hero--inner {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  min-height: 100vw;
  height: 100% !important;
}
@media print, screen and (min-width: 800px) {
  .scn-hero--inner {
    min-height: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .scn-hero .slider-navigation {
    display: block;
  }
}
.scn-hero.no-nav .slider-navigation {
  display: none;
}

.home-hero--item {
  position: relative;
  width: 100%;
  max-width: 1568px;
  text-align: left;
  margin: 0 auto;
  padding: 0;
}
@media print, screen and (min-width: 800px) {
  .home-hero--item {
    padding: 0;
  }
}
.home-hero--item.mainvisual span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  /*box-shadow: 0 0 1em rgba(black, .15);
  border-radius: 2em;*/
  overflow: hidden;
  background-repeat: repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url(../img/home-hero/hero-main-bg.jpg);
}
.home-hero--item.mainvisual img {
  /*position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);*/
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 799px) {
  .home-hero--item.mainvisual img.pc {
    display: none;
  }
}
@media print, screen and (min-width: 800px) {
  .home-hero--item.mainvisual img.smp {
    display: none;
  }
}
.home-hero--item--row {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: white;
  overflow: hidden;
}
@media print, screen and (min-width: 800px) {
  .home-hero--item--row {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    height: 100%;
    min-height: 42vw;
  }
}
@media print, screen and (min-width: 1500px) {
  .home-hero--item--row {
    min-height: 630px;
  }
}
.home-hero--item---img {
  position: relative;
  width: 100%;
  height: 56.25vw;
  z-index: 0;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media print, screen and (min-width: 800px) {
  .home-hero--item---img {
    width: 72%;
    height: 100%;
  }
}
.home-hero--item---img span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.home-hero--item---img img {
  position: relative;
  width: 100%;
  height: auto;
}
.home-hero--item---txt {
  position: relative;
  width: 100%;
  padding: 1em 1.5em 2em;
  z-index: 1;
  background: repeating-linear-gradient(-45deg, #f2dbe8, #f2dbe8 5px, #f7ebf2 5px, #f7ebf2 8px);
}
@media print, screen and (min-width: 800px) {
  .home-hero--item---txt {
    width: 28%;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    padding: 1em 1.5em;
  }
}
.home-hero--item---txt .copy {
  font-size: 4.25vw;
  line-height: 1.85;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  color: #003e91;
}
@media print, screen and (min-width: 576px) {
  .home-hero--item---txt .copy {
    font-size: 4vw;
  }
}
@media print, screen and (min-width: 800px) {
  .home-hero--item---txt .copy {
    font-size: 2vw;
  }
}
@media print, screen and (min-width: 960px) {
  .home-hero--item---txt .copy {
    font-size: 1em;
  }
}
.home-hero--item---txt.bg-beige {
  background-color: #dfe0ce;
}
.home-hero--item .announcement {
  position: relative;
  width: 100%;
  text-align: center;
}
@media print, screen and (min-width: 800px) {
  .home-hero--item .announcement {
    margin: auto;
  }
}
.home-hero--item .announcement--title {
  font-size: 5.5vw;
  line-height: 1.45;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #003e91;
}
@media print, screen and (min-width: 576px) {
  .home-hero--item .announcement--title {
    font-size: 5vw;
  }
}
@media print, screen and (min-width: 800px) {
  .home-hero--item .announcement--title {
    font-size: 2.25vw;
  }
}
@media print, screen and (min-width: 960px) {
  .home-hero--item .announcement--title {
    font-size: 1.75em;
  }
}
.home-hero--item .announcement--title .base-text {
  display: inline-block;
  font-size: 0.5em;
  font-weight: 500;
  line-height: 1;
  padding: 0.5em;
  margin-top: 1.25em;
}
.home-hero--item .announcement--title .genre {
  display: inline-block;
  font-size: 0.6em;
  line-height: 1;
  padding: 0.5em;
  font-weight: 500;
  margin-bottom: 0.5em;
  color: #5773b5;
}
@media print, screen and (min-width: 960px) {
  .home-hero--item .announcement--title .genre {
    margin-bottom: 0.5em;
  }
}
.home-hero--item .announcement--title .main-title {
  display: block;
  color: #ce6174;
  position: relative;
  padding: 0.75em 1em;
  width: fit-content;
  margin: 0 auto;
}
.home-hero--item .announcement--title .main-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background-image: repeating-linear-gradient(-45deg, #ce6174 0, #ce6174 1px, transparent 0, transparent 50%);
  background-size: 3px 3px;
}
.home-hero--item .announcement--title .main-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background-image: repeating-linear-gradient(-45deg, #ce6174 0, #ce6174 1px, transparent 0, transparent 50%);
  background-size: 3px 3px;
}
.home-hero--item .announcement--title .main-title .date {
  display: inline-block;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-weight: 500;
  font-size: 1.15em;
}
.home-hero--item .announcement--title .main-title .date small {
  font-size: 0.5em;
}
.home-hero--item .announcement--title .sub-title {
  display: block;
  font-size: 0.7em;
  padding: 0.5em 2.5em;
  width: fit-content;
  margin: 1em auto 0;
  color: #fff;
  background-color: #5773b5;
  border-radius: 2em;
  position: relative;
}
.home-hero--item .announcement--title .sub-title::after {
  content: "";
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px 6px 0 6px;
  border-style: solid;
  border-color: #5773b5 transparent transparent transparent;
}
.home-hero--item .announcement--title .sub-title.clrB {
  color: #fff462;
}
.home-hero--item .announcement--title .sub-title.dark {
  color: #00285e;
}
.home-hero--item .announcement--title .sub-title.sml {
  font-size: 0.75em;
}
.home-hero--item .announcement--title .sub-title.en {
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-weight: 500;
}
@media print, screen and (min-width: 960px) {
  .home-hero--item .announcement--title .sub-title {
    margin: 2em auto 0;
  }
}
.home-hero--item .announcement .link-button {
  display: block;
  margin-top: 1.25em;
}
@media print, screen and (min-width: 960px) {
  .home-hero--item .announcement .link-button {
    margin-top: 1.5em;
  }
}
.home-hero--item .announcement .link-button a {
  padding: 0.75em 1em;
  border: 2px solid #c4ad66;
  border-radius: 0.75em;
  background-color: #fff;
  color: #c4ad66;
  font-size: 1.5em;
}
.home-hero--item .announcement .link-button a:hover {
  opacity: 0.5;
}
.home-hero--item .announcement .show-details {
  position: relative;
  display: block;
  margin-top: 0.75em;
}
@media print, screen and (min-width: 960px) {
  .home-hero--item .announcement .show-details {
    margin-top: 1em;
  }
}
.home-hero--item .announcement .show-details a {
  padding: 0.5em 2em;
  border: none;
  position: relative;
  color: #5773b5;
  background: none;
  border-radius: 1em;
  font-size: 1em;
  /*&::before {
      content: "";
      width: 12px;
      height: 12px;
      border-top: solid 3px #f7b400;
      border-right: solid 3px #f7b400;
      transform: rotate(45deg);
      position: absolute;
      left: 5px;
      top: 50%;
      margin-top: -6px;
  }

  &::after {
      content: "";
      width: 12px;
      height: 12px;
      border-top: solid 3px #f7b400;
      border-right: solid 3px #f7b400;
      transform: rotate(45deg);
      position: absolute;
      right: 10px;
      top: 50%;
      margin-top: -6px;
  }*/
}
.home-hero--item .announcement .show-details a:hover {
  background-color: #fff;
}

.scn-home-headline {
  position: relative;
  z-index: 2;
  margin-bottom: 2em;
}
@media print, screen and (min-width: 800px) {
  .scn-home-headline {
    margin-bottom: 3em;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-home-headline {
    margin-bottom: 4em;
  }
}
@media print, screen and (max-width: 799px) {
  .scn-home-headline .inner-wrap {
    padding-right: 0;
  }
}
.news-headline {
  position: relative;
  padding: 1em;
  padding-right: 1.5rem;
}
@media print, screen and (min-width: 800px) {
  .news-headline {
    padding-right: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .news-headline {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.news-headline::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: " ";
  background: linear-gradient(135deg, rgba(247, 255, 0, 0.25) 0%, rgba(0, 151, 224, 0.25) 100%);
  z-index: -1;
  border-radius: 1em 0 0 1em;
}
@media print, screen and (min-width: 576px) {
  .news-headline::before {
    left: 4em;
    width: calc(100% - 4em);
  }
}
@media print, screen and (min-width: 800px) {
  .news-headline::before {
    border-radius: 1em;
  }
}
.news-headline--title {
  margin-top: -2.5em;
  margin-left: -0.5em;
  margin-bottom: 0.5em;
}
@media print, screen and (min-width: 960px) {
  .news-headline--title {
    width: 15em;
    margin: 0;
  }
}
.news-headline--title h2 {
  position: relative;
  font-size: 1.75em;
  margin: 0;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.news-headline--title h2 span {
  position: relative;
  display: inline-block;
  background: linear-gradient(135deg, #003e91 0, #082854 100%);
  font-size: 0.5em;
  line-height: 1;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-weight: 500;
  color: #FFF;
  padding: 0.75em;
  margin-left: 0.5em;
  border-radius: 0.25em;
}
.news-headline--title h2 span::before {
  position: absolute;
  top: 50%;
  right: 100%;
  margin-top: -0.5em;
  width: 0;
  height: 0;
  content: " ";
  border: 0.5em solid transparent;
  border-right-color: #003e91;
}
@media print, screen and (min-width: 960px) {
  .news-headline--content {
    width: calc(100% - 27em);
  }
}
.news-headline--content a {
  font-size: 0.92em;
  font-weight: 700;
}
.news-headline--link {
  text-align: right;
  margin-top: 1em;
}
@media print, screen and (min-width: 960px) {
  .news-headline--link {
    width: 12em;
    margin-top: 0;
  }
}
.news-headline--link a {
  font-size: 0.92em;
  font-weight: 700;
  line-height: 1;
}
@media print, screen and (min-width: 576px) {
  .news-headline dl {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
}
.news-headline dl dt {
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  margin: 0;
}
@media print, screen and (min-width: 576px) {
  .news-headline dl dt {
    width: 8em;
  }
}
.news-headline dl dd {
  margin: 0;
}
@media print, screen and (min-width: 576px) {
  .news-headline dl dd {
    width: calc(100% - 8em);
  }
}
.news-headline dl dd a {
  text-decoration: underline;
}

.scn-home.scn-news-index {
  background: #fff;
  margin-bottom: 2em;
}
.scn-home.scn-news-index .inner-wrap--wide {
  padding-bottom: 12em;
}
@media print, screen and (min-width: 576px) {
  .scn-home.scn-news-index .inner-wrap--wide {
    padding-bottom: 20em;
  }
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .inner-wrap--wide {
    padding-bottom: 24em;
  }
}
.scn-home.scn-news-index h2 {
  position: relative;
  display: inline-block;
  width: 100%;
}
.scn-home.scn-news-index h2 .deco-img {
  /*max-width: 10em;*/
  position: static;
}
@media print, screen and (min-width: 768px) {
  .scn-home.scn-news-index h2 .deco-img {
    /*margin-left: 8vw;*/
  }
}
@media print, screen and (min-width: 960px) {
  .scn-home.scn-news-index h2 .deco-img {
    /*margin-left: 6vw;*/
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-home.scn-news-index h2 .deco-img {
    /*margin-left: -36em;*/
    /*max-width: 15em;*/
  }
}
.scn-home.scn-news-index h2 .deco-img img {
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 799px) {
  .scn-home.scn-news-index h2 .deco-img img.pc {
    display: none;
  }
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index h2 .deco-img img.smp {
    display: none;
  }
}
.scn-home.scn-news-index .row-news-index {
  position: relative;
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .row-news-index {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: row-reverse;
    align-items: stretch;
  }
}
.scn-home.scn-news-index .row-news-index .scn-news-index--content {
  position: relative;
  width: 100%;
  z-index: 1;
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--content {
    width: calc(100% - 18em);
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--content {
    width: calc(100% - 22em);
  }
}
.scn-home.scn-news-index .row-news-index .scn-news-index--navigation {
  position: relative;
  width: 100%;
  z-index: 1;
  background-color: #f8ebeb;
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--navigation {
    /*position: sticky;
    top: 0;*/
    width: 15em;
    margin-right: 3em;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--navigation {
    width: 19em;
    margin-right: 3em;
  }
}
.scn-home.scn-news-index .row-news-index .scn-news-index--navigation .deco-img {
  display: none;
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--navigation .deco-img {
    bottom: -1em;
    left: 3em;
    width: 11em;
    display: block;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--navigation .deco-img {
    bottom: -1em;
    width: 14em;
  }
}
.scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav {
  background-color: #f8ebeb;
  padding: 1em 0.5em 1em 1.5em;
  font-size: 0.92em;
  margin-top: 2em;
  position: relative;
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav {
    background-color: #f8ebeb;
    padding: 2em 0.5em 1em 1.5em;
    margin-top: 0;
    font-size: 1em;
    height: 100vh;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav {
    padding: 2em 0.5em 1em 2.5em;
  }
}
.scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav::before {
  content: "";
  top: 0;
  left: 0;
  border-bottom: 3em solid transparent;
  border-left: 3em solid #cfe5e1;
  position: absolute;
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav::before {
    border-bottom: 3.5em solid transparent;
    border-left: 3.5em solid #cfe5e1;
  }
}
.scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  letter-spacing: -0.4em;
}
.scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav ul li {
  position: relative;
  display: inline-block;
  letter-spacing: 0;
  padding: 0.5em 1.5em 0.5em 1em;
  margin: 0;
  font-weight: 700;
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav ul li {
    display: block;
    padding: 0 0 0 1.2em;
    margin: 0 0 1em;
  }
}
.scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  display: block;
  background: #ce6174;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin-top: -4px;
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav ul li::before {
    width: 10px;
    height: 10px;
    margin-top: -5px;
  }
}
.scn-home.scn-news-index .row-news-index .scn-news-index--navigation nav ul li a {
  text-decoration: none !important;
}
.scn-home.scn-news-index .view-news-all {
  position: relative;
  text-align: right;
  width: 100%;
  padding-top: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .view-news-all {
    padding-top: 2em;
  }
}
@media print, screen and (max-width: 575px) {
  .scn-home.scn-news-index .view-news-all {
    padding-right: 1em;
  }
}
.scn-home.scn-news-index .sort-news-index .dropdown-menu {
  position: relative;
  font-size: 0.875em;
  display: inline-block;
}
@media print, screen and (min-width: 350px) {
  .scn-home.scn-news-index .sort-news-index .dropdown-menu {
    font-size: 0.92em;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-home.scn-news-index .sort-news-index .dropdown-menu {
    font-size: 1em;
  }
}
.scn-home.scn-news-index .sort-news-index .dropdown-menu .dt {
  padding: 0.75em;
  border: 2px solid #082854;
  color: #082854;
  font-weight: 700;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 576px) {
  .scn-home.scn-news-index .sort-news-index .dropdown-menu .dt {
    padding: 1em;
  }
}
.scn-home.scn-news-index .sort-news-index .dropdown-menu .dt::before {
  position: absolute;
  top: 0;
  left: 1em;
  content: " ";
  width: 0;
  height: 0;
  border: 0.5em solid transparent;
  border-top-color: #082854;
}
.scn-home.scn-news-index .sort-news-index .dropdown-menu .dd {
  background-color: #082854;
  width: auto;
  margin-top: -2px;
  border-radius: 0.2em;
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .sort-news-index .dropdown-menu .dd {
    left: 0;
    right: auto;
  }
}
.scn-home.scn-news-index .sort-news-index .dropdown-menu .dd ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.scn-home.scn-news-index .sort-news-index .dropdown-menu .dd ul li {
  position: relative;
  display: block;
  padding: 1.25em;
  padding-left: 2em;
  color: #FFF;
  font-weight: bold;
  font-feature-settings: "palt";
  white-space: nowrap;
  cursor: pointer;
  margin: 0;
}
.scn-home.scn-news-index .sort-news-index .dropdown-menu .dd ul li:not(:last-child) {
  border-bottom: 1px dotted rgba(255, 255, 255, 0.4);
}
.scn-home.scn-news-index .sort-news-index .dropdown-menu .dd ul li i {
  position: absolute;
  top: 50%;
  left: 0.5em;
  transform: translateY(-50%);
  width: 12px;
  height: 0;
  content: " ";
  border-top: 2px solid #FFF;
  border-radius: 0;
  display: block;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.scn-home.scn-news-index .sort-news-index .dropdown-menu .dd ul li:hover i {
  opacity: 0.5;
}
.scn-home.scn-news-index .sort-news-index .dropdown-menu .dd ul li.active i {
  height: 12px;
  border: 2px solid #FFF;
  border-radius: 6px;
}
.scn-home.scn-news-index .bottom-deco-imgs {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 96%;
  max-width: 1568px;
  transform: translateX(-50%);
  z-index: 1;
}
.scn-home.scn-news-index .bottom-deco-imgs .deco-img.right-bottom {
  right: 2em;
  bottom: 22em;
  display: none;
  max-width: 100%;
}
@media print, screen and (min-width: 1200px) {
  .scn-home.scn-news-index .bottom-deco-imgs .deco-img.right-bottom {
    display: block;
    width: 15em;
  }
}
.scn-home.scn-news-index .bottom-deco-imgs .deco-img.left-bottom {
  left: 50%;
  bottom: 0;
  width: 100%;
  transform: translateX(-50%);
}
.scn-home.scn-news-index .bottom-deco-imgs .deco-img.left-bottom img {
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 799px) {
  .scn-home.scn-news-index .bottom-deco-imgs .deco-img.left-bottom img.pc {
    display: none;
  }
}
@media print, screen and (min-width: 800px) {
  .scn-home.scn-news-index .bottom-deco-imgs .deco-img.left-bottom img.smp {
    display: none;
  }
}

.scn-home--shortcut {
  background-color: #fff;
}
.scn-home--shortcut .shortcuts {
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden;
  padding: 0.5em;
}
.scn-home--shortcut .shortcuts .shortcuts--inner {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
}
@media print, screen and (min-width: 768px) {
  .scn-home--shortcut .shortcuts .shortcuts--inner {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 100%;
  }
}
.scn-home--shortcut .shortcuts .shortcut--item {
  position: relative;
  width: calc(100vw - 1em);
  margin: 0.5em;
}
@media print, screen and (min-width: 768px) {
  .scn-home--shortcut .shortcuts .shortcut--item {
    width: calc(50% - 2em);
    margin: 1em;
  }
}
.scn-home--shortcut .shortcuts .shortcut--item---img {
  position: relative;
  display: block;
  width: 100%;
}
.scn-home--shortcut .shortcuts .shortcut--item---img > img {
  position: relative;
  width: 100%;
  height: auto;
}
.scn-home--shortcut .shortcuts .shortcut--item---txt {
  text-align: left;
  padding: 1em;
  padding-right: 0;
  font-size: 0.92em;
  position: absolute;
  top: 20%;
  left: 1%;
}
@media print, screen and (min-width: 768px) {
  .scn-home--shortcut .shortcuts .shortcut--item---txt {
    font-size: 1em;
    padding: 1em 1.25em;
    padding-right: 0;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-home--shortcut .shortcuts .shortcut--item---txt {
    top: 28%;
    left: 5%;
  }
}
.scn-home--shortcut .shortcuts .shortcut--item---txt ul {
  margin: 0;
  padding: 0;
  list-style: none;
  letter-spacing: -0.4em;
  width: 100%;
}
.scn-home--shortcut .shortcuts .shortcut--item---txt ul li {
  letter-spacing: 0;
  display: block;
  margin: 0;
  padding: 0.5em 0;
  min-width: 33.33333333%;
}
@media print, screen and (min-width: 960px) {
  .scn-home--shortcut .shortcuts .shortcut--item---txt ul li {
    padding: 0.7em 0;
  }
}
.scn-home--shortcut .shortcuts .shortcut--item---txt ul li.long {
  min-width: 66.66666666%;
}
.scn-home--shortcut .shortcuts .shortcut--item---txt ul li a {
  position: relative;
  display: inline-block;
  padding-left: 1em;
  font-weight: 700;
  font-feature-settings: "palt";
  color: #082854;
}
.scn-home--shortcut .shortcuts .shortcut--item---txt ul li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  display: block;
  background: #fff;
  border-radius: 50%;
  width: 8px;
  height: 8px;
}
@media print, screen and (min-width: 960px) {
  .scn-home--shortcut .shortcuts .shortcut--item---txt ul li a::before {
    top: 9px;
  }
}
.scn-home--shortcut .shortcuts .shortcut--item---txt ul li i {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  display: block;
}
.scn-home--shortcut .shortcuts .shortcut--item---txt ul li i svg {
  width: 100%;
  height: 100%;
  stroke-width: 1;
  stroke: #082854;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-vision {
  background-color: #ecf4fb;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-vision span.ti {
  color: #003f98;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-vision li a::before {
  background: #79bab3;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-curriculum {
  background-color: #f8ebeb;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-curriculum span.ti {
  color: #003e93;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-curriculum li a::before {
  background: #ce6174;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-schoollife {
  background-color: #f9eee1;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-schoollife .shortcut--item---txt {
  left: 58%;
}
@media print, screen and (min-width: 960px) {
  .scn-home--shortcut .shortcuts .shortcut--item.SC-schoollife .shortcut--item---txt {
    left: 62%;
  }
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-schoollife span.ti {
  color: #fff249;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-schoollife li a::before {
  background: #f18c38;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-guidance {
  background-color: #f2f9d9;
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-guidance .shortcut--item---txt {
  left: 58%;
}
@media print, screen and (min-width: 960px) {
  .scn-home--shortcut .shortcuts .shortcut--item.SC-guidance .shortcut--item---txt {
    left: 62%;
  }
}
.scn-home--shortcut .shortcuts .shortcut--item.SC-guidance li a::before {
  background: #6166aa;
}
.scn-home--shortcut .shortcuts .shortcuts--deco {
  padding: 0 1em;
}
.scn-home--shortcut .shortcuts.no-nav .slider-navigation {
  display: none;
}

.slider-navigation {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .slider-navigation {
    display: none;
  }
}
.slider-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.slider-navigation ul li {
  position: relative;
  width: 20px;
  height: 20px;
  margin: 1px;
  cursor: pointer;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.slider-navigation ul li span {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3px;
  margin-left: -3px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #CCC;
  display: block;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.slider-navigation ul li:hover span, .slider-navigation ul li.current span {
  width: 10px;
  height: 10px;
  background-color: #003e91;
  margin-top: -5px;
  margin-left: -5px;
}

.bnr-home-sml {
  position: relative;
  padding: 1.5rem 1.25rem 0;
  z-index: 10;
  text-align: left;
  list-style: none;
  letter-spacing: -0.4em;
  margin: 0 auto;
}
@media print, screen and (min-width: 576px) {
  .bnr-home-sml {
    margin-top: -64px;
    padding: 0 1.25rem;
  }
}
@media print, screen and (min-width: 800px) {
  .bnr-home-sml {
    margin-top: -80px;
    padding: 0 1.75rem;
  }
}
.bnr-home-sml li {
  letter-spacing: 0;
  display: block;
  margin: 0 0.25rem 0.75rem;
}
@media print, screen and (min-width: 576px) {
  .bnr-home-sml li {
    width: 228px;
    display: inline-block;
    margin-bottom: 0;
    padding-top: 0.5rem;
  }
}
@media print, screen and (min-width: 800px) {
  .bnr-home-sml li {
    width: 240px;
    max-width: calc(25% - 0.25rem);
  }
}
@media print, screen and (min-width: 1200px) {
  .bnr-home-sml li {
    width: 256px;
  }
}
.bnr-home-sml a {
  position: relative;
  display: block;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2);
  background-color: #01070e;
}
.bnr-home-sml a > img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.bnr-home-sml a:hover > img {
  opacity: 0.5;
}
.bnr-home-sml a:hover span {
  background-color: rgba(0, 62, 145, 0.7);
}
.bnr-home-sml span {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0.5em;
  font-size: 0.875em;
  line-height: 1;
  font-weight: 700;
  color: #FFF;
  background-color: #003e91;
  overflow: hidden;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
@media print, screen and (min-width: 350px) {
  .bnr-home-sml span {
    font-size: 0.92em;
  }
}
@media print, screen and (min-width: 576px) {
  .bnr-home-sml span {
    font-size: 0.6875em;
  }
}
.bnr-home-sml span.noBg {
  background-color: transparent;
}

.bnr-home-intro-movie a:hover i {
  background-color: rgba(8, 40, 84, 0.9);
}
.bnr-home-intro-movie a:hover i svg {
  fill: #FFF;
}
.bnr-home-intro-movie a:hover span {
  background-color: rgba(247, 180, 0, 0.7);
}
.bnr-home-intro-movie i {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -20px;
  margin-top: -20px;
  width: 40px;
  height: 40px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
@media print, screen and (min-width: 800px) {
  .bnr-home-intro-movie i {
    margin-left: -16px;
    margin-top: -16px;
    width: 32px;
    height: 32px;
  }
}
@media print, screen and (min-width: 960px) {
  .bnr-home-intro-movie i {
    margin-left: -20px;
    margin-top: -20px;
    width: 40px;
    height: 40px;
  }
}
.bnr-home-intro-movie i svg {
  fill: #003e91;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.bnr-home-intro-movie span {
  color: #00122b;
  background-color: #f7b400;
}

.scn-banner-lunchtime {
  position: relative;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: cover;
  /*background-image: url(../img/home/lunchtime/bg-wrap-lunch.jpg);*/
  padding: 0.75em;
  overflow: hidden;
}
@media print, screen and (min-width: 576px) {
  .scn-banner-lunchtime {
    padding: 1.5em;
  }
}
@media print, screen and (min-width: 800px) {
  .scn-banner-lunchtime {
    padding: 2rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-banner-lunchtime {
    padding: 3rem;
  }
}
.scn-banner-lunchtime .deco-img.pc {
  bottom: -2rem;
  left: -2rem;
  width: 8em;
  display: none;
}
@media print, screen and (min-width: 576px) {
  .scn-banner-lunchtime .deco-img.pc {
    left: -3rem;
    width: 10em;
  }
}
@media print, screen and (min-width: 800px) {
  .scn-banner-lunchtime .deco-img.pc {
    left: inherit;
    bottom: -2rem;
    right: -2rem;
    width: 15em;
    display: block;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-banner-lunchtime .deco-img.pc {
    bottom: -3rem;
    right: -8rem;
    width: 20em;
  }
}

.banner-lunchtime {
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
  border-radius: 20px;
  padding: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url(../img/home/lunchtime/bg-banner-lunch.webp);
  /*box-shadow: 0 0 1.5em rgba(black, .1);*/
  overflow: hidden;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime {
    border-radius: 30px;
  }
}
.banner-lunchtime--inner {
  position: relative;
  padding: 0.5em 0.5em 9em;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime--inner {
    padding: 1em;
    padding-right: 4.5em;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-content: flex-end;
  }
}
.banner-lunchtime--inner .deco-img.smp {
  top: 67%;
  left: 2em;
  /*margin-bottom: -1.5em;*/
  width: 50vw;
  /*max-width: 180px;*/
}
@media print, screen and (min-width: 576px) {
  .banner-lunchtime--inner .deco-img.smp {
    /*margin-bottom: -2em;*/
  }
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime--inner .deco-img.smp {
    /*display: none;*/
    top: -27px;
    width: 26vw;
  }
}
.banner-lunchtime .ti.smp {
  position: relative;
  margin: 0 auto 0.5em;
  width: 100%;
  z-index: 2;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .ti.smp {
    display: none;
  }
}
.banner-lunchtime .ti.smp img {
  width: 100%;
  height: auto;
}
.banner-lunchtime .ti.pc {
  position: relative;
  margin: 0 auto 1em;
  /*max-width: 400px;*/
  width: 90%;
  z-index: 2;
  display: none;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .ti.pc {
    display: block;
    width: 75%;
    padding-right: 2em;
    margin: 0;
  }
}
.banner-lunchtime .ti.pc img {
  width: 100%;
  height: auto;
}
.banner-lunchtime .todays-menu {
  position: relative;
  background-color: #fff;
  text-align: left;
  border-radius: 12px;
  width: 95%;
  /*max-width: 480px;*/
  margin: auto;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .todays-menu {
    width: 60%;
    margin-right: 8em;
    border-radius: 20px;
  }
}
.banner-lunchtime .todays-menu > div {
  display: block;
  cursor: pointer;
  padding: 0.5em 1.5em;
}
@media print, screen and (min-width: 576px) {
  .banner-lunchtime .todays-menu > div {
    padding: 1.5em;
  }
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .todays-menu > div {
    padding: 0.5em 3em;
  }
}
@media print, screen and (min-width: 1200px) {
  .banner-lunchtime .todays-menu > div {
    padding-right: 1em;
  }
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .todays-menu dl {
    display: flex;
    align-items: center;
  }
}
.banner-lunchtime .todays-menu dl dt {
  margin-bottom: 0.3em;
  font-weight: 700;
  font-size: 3em;
  color: #e95377;
  border-bottom: 4px dotted #f4a9c1;
  text-align: center;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .todays-menu dl dt {
    margin-bottom: 0;
    padding-right: 0.5em;
    border-bottom: none;
    border-right: 4px dotted #f4a9c1;
  }
}
.banner-lunchtime .todays-menu dl dt a {
  color: #e95377;
}
.banner-lunchtime .todays-menu dl dt a span {
  margin-right: 1em;
  font-size: 0.5em;
  vertical-align: middle;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .todays-menu dl dt a span {
    display: block;
    text-align: left;
  }
}
.banner-lunchtime .todays-menu dl dd {
  position: relative;
  margin: 0;
  line-height: 1.7;
  font-weight: 700;
  font-size: 0.92em;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .todays-menu dl dd {
    margin-bottom: -130px;
  }
}
.banner-lunchtime .todays-menu dl dd .todays-menu--btn {
  position: relative;
  display: block;
  text-align: right;
  padding-top: 2em;
  margin-bottom: -9em;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .todays-menu dl dd .todays-menu--btn {
    padding-right: 0em;
    margin-bottom: 0em;
    left: 118%;
    top: -9em;
    padding-top: 0;
  }
}
@media print, screen and (min-width: 1200px) {
  .banner-lunchtime .todays-menu dl dd .todays-menu--btn {
    left: 108%;
    top: -7em;
  }
}
.banner-lunchtime .todays-menu dl dd .todays-menu--btn a {
  color: #fff;
  text-align: center;
  font-size: 1.5em;
  line-height: 1.2;
  display: flex;
  left: 100%;
  margin-left: -110px;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0 0 20px 0;
}
.banner-lunchtime .todays-menu dl dd .todays-menu--btn a::before {
  content: "";
  width: 14px;
  height: 14px;
  border-top: solid 3px #fcee21;
  border-right: solid 3px #fcee21;
  transform: rotate(45deg);
  position: absolute;
  left: 50%;
  bottom: 23px;
  margin-left: -7px;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .todays-menu dl dd .todays-menu--btn a {
    left: 0;
    margin-left: 0;
  }
}
.banner-lunchtime .todays-menu dl dd a {
  color: #222;
}
.banner-lunchtime .todays-menu dl dd a:hover {
  color: #000;
}
.banner-lunchtime .todays-menu dl dd a p {
  font-size: 1em;
  font-weight: 400;
  padding: 0 0.5em;
}
@media print, screen and (min-width: 800px) {
  .banner-lunchtime .todays-menu dl dd a p {
    padding: 0 1em;
  }
}
.banner-lunchtime a.btn-oval {
  border-color: #e95377;
  background-color: #e95377;
  border-radius: 50%;
  width: 130px;
  height: 130px;
  box-shadow: none;
}
.banner-lunchtime a.btn-oval i {
  border-color: #e95377;
}
.banner-lunchtime a.btn-oval i svg {
  stroke: #e95377;
}
.banner-lunchtime a.btn-oval:hover {
  color: #e95377 !important;
  background-color: #fff;
}
.banner-lunchtime a.btn-oval:hover i {
  border-color: #FFF;
}
.banner-lunchtime a.btn-oval:hover i svg {
  stroke: #FFF;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - NEWS
/* ---------------------------------------------------------------------------------------- */
.page-norm.archive-news {
  background-color: #fcfbf0;
}
.page-norm.archive-news .row-with-sidebar .col-sidebar {
  background-color: #fcfbf0;
}
@media print, screen and (min-width: 960px) {
  .page-norm.archive-news .row-with-sidebar .col-sidebar {
    background-color: transparent;
  }
}
.page-norm.archive-news .row-with-sidebar .news-index--inner {
  box-shadow: 0 0 2em rgba(0, 0, 0, 0.05);
}

.news-header {
  position: relative;
  width: 100%;
  padding: 2rem 1.5rem;
  border-bottom: 1px solid #eee;
  text-align: left;
  background-color: rgba(255, 255, 255, 0.5);
}
@media print, screen and (min-width: 800px) {
  .news-header {
    padding: 3rem 2em;
  }
}
.news-header .txt .h1 {
  display: inline-block;
  margin: 0 auto;
  line-height: 1.3;
  font-weight: 500;
}
.news-header .txt small {
  font-size: 0.5em;
  font-weight: 700;
  display: block;
}

.news-index {
  position: relative;
}
.news-index--inner {
  position: relative;
  background-color: #fff;
  padding: 1.5em;
  border-radius: 1em;
  box-shadow: 0 0 2em rgba(0, 151, 224, 0.05);
  z-index: 1;
}
@media print, screen and (min-width: 800px) {
  .news-index--inner {
    padding: 2em;
  }
}
@media print, screen and (min-width: 1200px) {
  .news-index--inner {
    padding: 3em;
  }
}
.news-index ul {
  position: relative;
  margin: 0 0 -0.75em;
  padding: 0;
  list-style: none;
}
.news-index ul li {
  position: relative;
  margin: 0 0 0.75em;
  padding: 0 0 0.75em;
  border-bottom: 1px dotted #aad2f0;
}
@media print, screen and (min-width: 768px) {
  .news-index ul li {
    margin: 0 0 1em;
    padding: 0 0 1em;
  }
}
@media print, screen and (min-width: 960px) {
  .news-index ul li {
    margin: 0 0 1.25em;
    padding: 0 0 1.25em;
  }
}
.news-index ul li .title {
  display: block;
  font-weight: 700;
}
@media print, screen and (min-width: 1200px) {
  .news-index ul li .title {
    font-size: 1.05em;
  }
}
.news-index ul li .status {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 0.8125em;
  padding-top: 0.5em;
}
@media print, screen and (min-width: 960px) {
  .news-index ul li .status {
    font-size: 0.875em;
  }
}
.news-index ul li .status .date {
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  padding-right: 1em;
}
@media print, screen and (min-width: 768px) {
  .news-index ul li .status .date {
    padding-right: 1.5em;
  }
}
.news-index ul li .status .category {
  font-weight: 400;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.news-index--with-thumbnail {
  position: relative;
}
.news-index--with-thumbnail--inner {
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 800px) {
  .news-index--with-thumbnail--inner {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    padding: 0;
    margin: 0 -1em;
  }
}
.news-index--with-thumbnail .news-index--item {
  position: relative;
  margin: 0 0 0.75em;
}
@media print, screen and (max-width: 799px) {
  .news-index--with-thumbnail .news-index--item:nth-child(n+7) {
    display: none;
  }
}
@media print, screen and (min-width: 800px) {
  .news-index--with-thumbnail .news-index--item {
    margin: 0 0 1.5em;
    padding: 0 1em;
    width: 50%;
    border-bottom: none;
  }
}
@media print, screen and (min-width: 960px) {
  .news-index--with-thumbnail .news-index--item {
    width: 33.33333333%;
    margin-bottom: 1.5em;
  }
}
.news-index--with-thumbnail .news-index--item a {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  text-decoration: none !important;
  background-color: #ecf4f3;
}
@media print, screen and (min-width: 800px) {
  .news-index--with-thumbnail .news-index--item a {
    display: block;
  }
}
.news-index--with-thumbnail .news-index--item--thumb {
  position: relative;
  width: 100px;
  padding-top: 66px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media print, screen and (min-width: 800px) {
  .news-index--with-thumbnail .news-index--item--thumb {
    width: 100%;
    padding-top: 66%;
  }
}
.news-index--with-thumbnail .news-index--item--desc {
  width: calc(100% - 100px);
  padding: 0.3em 0.5em 0 0.75em;
}
@media print, screen and (min-width: 576px) {
  .news-index--with-thumbnail .news-index--item--desc {
    padding: 0 1em;
  }
}
@media print, screen and (min-width: 800px) {
  .news-index--with-thumbnail .news-index--item--desc {
    width: 100%;
    padding: 1em 0.75em;
    min-height: 6em;
  }
}
.news-index--with-thumbnail .news-index--item--desc .title {
  /*text-decoration: underline;*/
  font-weight: 700;
  line-height: 1.2;
  display: inline-block;
}
@media print, screen and (min-width: 960px) {
  .news-index--with-thumbnail .news-index--item--desc .title {
    color: #ce6174;
  }
}
.news-index--with-thumbnail .news-index--item .status {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 0.8125em;
  color: #404040;
}
@media print, screen and (min-width: 960px) {
  .news-index--with-thumbnail .news-index--item .status {
    font-size: 0.875em;
  }
}
.news-index--with-thumbnail .news-index--item .status .date {
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  padding-right: 1em;
}
@media print, screen and (min-width: 768px) {
  .news-index--with-thumbnail .news-index--item .status .date {
    padding-right: 1.5em;
  }
}
.news-index--with-thumbnail .news-index--item .status .category {
  font-weight: 400;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.wp-pagenavi {
  position: relative;
  text-align: center;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-size: 0.8125em;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.4em;
  margin-top: 2rem;
  /*その他、必要があれば以下のクラスにcssを指定する*/
}
@media print, screen and (min-width: 800px) {
  .wp-pagenavi {
    font-size: 0.875em;
  }
}
.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi span,
.wp-pagenavi a {
  letter-spacing: normal;
  display: inline-block;
  margin: 0 1px;
  text-align: center;
  padding: 0.75em 1em;
  text-decoration: none !important;
}
.wp-pagenavi span.current, .wp-pagenavi span:hover,
.wp-pagenavi a.current,
.wp-pagenavi a:hover {
  background-color: #041225;
  color: #fff;
}
.list-categories {
  position: relative;
  text-align: left;
  z-index: 5;
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 800px) {
  .list-categories {
    margin-bottom: 2rem;
  }
}
.list-categories dl {
  position: relative;
  display: inline-block;
  text-align: left;
}
.list-categories dl dt {
  position: relative;
  display: block;
  border: 2px solid #082854;
  padding: 0.75em;
  padding-right: 2.5em;
  font-size: 0.8125em;
  color: #082854;
  cursor: pointer;
  margin: 0;
  border-radius: 0.25em;
  background-color: #fff;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.list-categories dl dt span {
  font-size: 1.15em;
  font-weight: 700;
}
@media print, screen and (min-width: 800px) {
  .list-categories dl dt span {
    font-size: 1.25em;
  }
}
.list-categories dl dt i {
  position: absolute;
  top: 50%;
  right: 0.8em;
  margin-top: -10px;
  transform: rotate(90deg);
}
.list-categories dl dt i svg {
  width: 16px;
  height: 16px;
  stroke: #082854;
}
@media print, screen and (min-width: 800px) {
  .list-categories dl dt {
    padding: 1em;
    padding-right: 2.5em;
  }
}
.list-categories dl dt.active + dd {
  visibility: visible;
  opacity: 1;
  max-height: 99999px;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
}
@media print, screen and (max-width: 959px) {
  .list-categories dl:hover {
    box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.2);
  }
}
.list-categories dl:hover dd {
  visibility: visible;
  opacity: 1;
  max-height: 99999px;
}
.list-categories dl dd {
  position: absolute;
  top: 100%;
  right: 0;
  width: 100%;
  background-color: #082854;
  margin: -0.2em 0 0;
  border-radius: 0.2em;
  overflow: hidden;
  visibility: hidden;
  max-height: 0;
  opacity: 0;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.list-categories dl dd ul {
  position: relative;
  list-style: none;
  display: block;
  padding: 0;
  margin: 0;
}
.list-categories dl dd ul li {
  margin: 0;
}
.list-categories dl dd ul li:not(:last-child) {
  border-bottom: 1px dotted #555;
}
.list-categories dl dd ul li a {
  display: block;
  padding: 1em 1em;
  color: #fff;
  font-weight: 700;
  font-size: 0.92em;
  text-decoration: none !important;
}
@media print, screen and (min-width: 960px) {
  .list-categories dl dd ul li a {
    padding: 0.5em 1em;
    font-size: 1em;
  }
}
.list-categories dl dd ul li a:hover {
  padding-left: 1.5em;
}
.list-categories dl dd ul li.current a {
  color: rgba(255, 255, 255, 0.7);
  padding-left: 1.5em;
}
@media print, screen and (min-width: 960px) {
  .list-categories.open-pc dl {
    max-width: 300px;
    width: 100%;
  }
}
@media print, screen and (min-width: 960px) {
  .list-categories.open-pc dl dt {
    display: none;
  }
}
@media print, screen and (min-width: 960px) {
  .list-categories.open-pc dl dd {
    position: relative;
    top: inherit;
    left: inherit;
    visibility: visible;
    opacity: 1;
    max-height: 99999px;
    border-radius: 0.5em;
    background-color: rgba(255, 255, 255, 0.75);
    padding: 1.5em 1em 1em;
  }
}
@media print, screen and (min-width: 960px) {
  .list-categories.open-pc dl dd ul li:not(:last-child) {
    border-bottom: none;
  }
}
.list-categories.open-pc dl dd ul li a {
  color: #FFF;
}
@media print, screen and (min-width: 960px) {
  .list-categories.open-pc dl dd ul li a {
    color: #082854;
  }
}

.page-single {
  background-color: #fcfbf0;
  padding: 0.5rem;
}
@media print, screen and (min-width: 800px) {
  .page-single {
    padding: 2rem 2rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-single {
    padding: 4rem 2rem;
  }
}
.page-single .wrap-article {
  position: relative;
  background-color: #FFF;
  padding: 1em;
  max-width: 1568px;
  margin: 0 auto 2em;
}
@media print, screen and (min-width: 800px) {
  .page-single .wrap-article {
    padding: 2rem;
    margin-bottom: 3em;
  }
}

.atl-news-single {
  padding-top: 2rem;
}
@media print, screen and (min-width: 800px) {
  .atl-news-single {
    padding-top: 3rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .atl-news-single {
    padding-top: 4rem;
  }
}
.atl-news-single .atl-header {
  position: relative;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px dotted #aad2f0;
}
.atl-news-single .atl-header h1 {
  margin-bottom: 0.5em;
}
.atl-news-single .atl-header .status {
  font-size: 0.92em;
}
.atl-news-single .atl-header .status .date {
  display: inline-block;
  padding-right: 1em;
  margin-right: 1em;
  border-right: 1px solid #DDD;
}
.atl-news-single .atl-header .status .ctg {
  display: inline-block;
}
.atl-news-single .atl-header .status .ctg ul {
  letter-spacing: -0.4em;
  list-style: none;
  margin: 0;
}
.atl-news-single .atl-header .status .ctg ul li {
  letter-spacing: 0;
  display: inline-block;
  margin-right: 1em;
}
.atl-news-single .atl-header .scn-norm {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.atl-news-single img {
  max-width: 100%;
  height: auto;
}
.atl-news-single .wp-caption {
  position: relative;
}
.atl-news-single .wp-caption:not(:last-child) {
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .atl-news-single .wp-caption:not(:last-child) {
    margin-bottom: 2em;
  }
}
.atl-news-single .wp-caption .wp-caption-text {
  display: block;
  margin-top: 0.5em;
  font-size: 0.8125em;
  line-height: 1.5;
}
.atl-news-single .aligncenter {
  margin: 0 auto 1.5em;
}
@media print, screen and (min-width: 800px) {
  .atl-news-single .aligncenter {
    margin-bottom: 2em;
  }
}
.atl-news-single .alignleft {
  width: 100%;
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .atl-news-single .alignleft {
    float: left;
    width: 50%;
    margin-right: 2em;
    margin-bottom: 2em;
  }
}
.atl-news-single .alignright {
  width: 100%;
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .atl-news-single .alignright {
    float: right;
    width: 50%;
    margin-left: 2em;
    margin-bottom: 2em;
  }
}
.atl-news-single iframe {
  max-width: 100% !important;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - CURRICULUM - ENGLISH METHOD
/* ---------------------------------------------------------------------------------------- */
.page-norm.curriculum .scn-norm.clrd {
  background-color: rgba(237, 97, 107, 0.05);
  background: linear-gradient(60deg, rgba(237, 97, 107, 0.05) 0, rgba(237, 97, 107, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.curriculum .scn-norm.clrd.light {
  background-color: rgba(237, 97, 107, 0.02);
  background: linear-gradient(60deg, rgba(237, 97, 107, 0.02) 0, rgba(237, 97, 107, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.curriculum .scn-norm.clrd.dark {
  background-color: rgba(237, 97, 107, 0.08);
  background: linear-gradient(135deg, rgba(237, 97, 107, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.curriculum .fmt-interview .Q,
.page-norm.curriculum .fmt-interview .nm {
  color: #ed616b;
}
.page-norm.curriculum .with-marker {
  background: linear-gradient(transparent 70%, rgba(237, 97, 107, 0.4) 0%);
}
.page-norm.curriculum h2,
.page-norm.curriculum h3,
.page-norm.curriculum h4 {
  color: #ed616b;
}
.page-norm.curriculum h3 {
  color: #222;
}
.page-norm.curriculum h3::first-letter {
  color: #ed616b;
}
.page-norm.curriculum h5 {
  color: #e83340;
}
.page-norm.curriculum h3:not(.plain)::before {
  border-color: #ed616b;
  background: linear-gradient(to right, #ed616b 0, rgba(237, 97, 107, 0) 100%);
}
.page-norm.curriculum h4:not(.plain)::before {
  border-color: #ed616b;
}
.page-norm.curriculum h5:not(.plain)::before {
  border-color: #ea4a56;
}
.page-norm.curriculum h5:not(.plain)::after {
  border-color: #f07880;
}
.page-norm.curriculum .txt-clr {
  color: #ed616b;
}
.page-norm.curriculum .column {
  background-color: rgba(237, 97, 107, 0.08);
}
.page-norm.curriculum .column i {
  background-color: #ed616b;
}
.page-norm.curriculum .column-with-title {
  background: linear-gradient(135deg, #ed616b 0%, #f5a6ab 100%);
}
.page-norm.curriculum .column-with-title .column--content {
  background-color: white;
  box-shadow: 0 0 1em #e83340;
}
.page-norm.curriculum .corner-header .parent {
  color: #ed616b;
  border-color: #ed616b;
}
.page-norm.curriculum .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(237, 97, 107, 0.3) 0%);
}
.page-norm.curriculum .corner-header h1 {
  color: #ed616b;
}
.page-norm.curriculum .corner-header h2 {
  color: #e83340;
}
.page-norm.curriculum .interlude.clr-belt::after {
  background-color: #ed616b;
}
@media print, screen and (max-width: 799px) {
  .page-norm.curriculum .pc {
    display: none;
  }
}
@media print, screen and (min-width: 800px) {
  .page-norm.curriculum .smp {
    display: none;
  }
}
.page-norm.curriculum .corner-header h2 {
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-weight: 500;
}
@media print, screen and (min-width: 1200px) {
  .page-norm.curriculum h2 {
    padding-right: 0;
  }
}
.page-norm.curriculum h2 span.cp-top {
  font-size: 0.65em;
  display: block;
}
.page-norm.curriculum h3::first-letter {
  color: #674459 !important;
}
.page-norm.curriculum .column.jingles {
  background-color: #f8ebeb !important;
  border: 3px solid #ce6174;
  border-radius: 30px;
  margin: 3em 0 0;
  padding: 2em;
}
.page-norm.curriculum .column.jingles .jingles--header {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 0.5em;
}
.page-norm.curriculum .column.jingles .jingles--header .ti img {
  width: 320px;
}
@media print, screen and (min-width: 800px) {
  .page-norm.curriculum .column.jingles .jingles--header .ti img {
    width: 180px;
  }
}
@media print, screen and (min-width: 800px) {
  .page-norm.curriculum .column.jingles .jingles--header .ti img {
    width: 240px;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.curriculum .column.jingles .jingles--header .ti img {
    width: 320px;
  }
}
.page-norm.curriculum .column.jingles .jingles--header .ti span {
  display: block;
  margin-left: 0.5rem;
  font-size: 0.8125em;
  text-align: right;
}
.page-norm.curriculum .column.jingles .jingles--header .heading {
  width: 100%;
  text-align: center;
}
@media print, screen and (min-width: 800px) {
  .page-norm.curriculum .column.jingles .jingles--header .heading {
    padding-left: 2em;
    width: calc(100% - 240px);
    text-align: left;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.curriculum .column.jingles .jingles--header .heading {
    width: calc(100% - 320px);
  }
}
.page-norm.curriculum .column.jingles .jingles--header .heading p {
  font-size: 1.15em;
  font-weight: 700;
  line-height: 1.5;
  color: #ce6174;
}
@media print, screen and (min-width: 800px) {
  .page-norm.curriculum .column.jingles .jingles--header .heading p {
    font-size: 1.25em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.curriculum .column.jingles .jingles--header .heading p {
    font-size: 1.35em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.curriculum .column.jingles p:not(.with-marker) {
    font-size: 1.08em;
  }
}
.page-norm.curriculum .column.jingles .photo {
  display: block;
  overflow: hidden;
}
.page-norm.curriculum .english-header {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden;
  padding-top: 1em;
  margin-bottom: 2em;
}
@media print, screen and (min-width: 768px) {
  .page-norm.curriculum .english-header {
    padding-top: 2em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .english-header {
    overflow: visible;
    margin-bottom: 3em;
  }
}
.page-norm.curriculum .english-header h1 {
  margin-bottom: 0.5em;
}
.page-norm.curriculum .english-header p {
  font-size: 0.92em;
  font-weight: 500;
  color: #674459;
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .english-header p {
    position: absolute;
    top: 50%;
    left: 2.25em;
    width: 46%;
    height: auto;
    display: block;
    font-size: 1em;
  }
}
.page-norm.curriculum .english-header p.fntL {
  font-size: 1.07em;
  font-weight: 700;
  margin-bottom: 0.5em;
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .english-header p.fntL {
    font-size: 1.15em;
  }
}
.page-norm.curriculum .english-header--img {
  position: relative;
  display: block;
  width: 150%;
  padding-top: 60%;
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .english-header--img {
    width: 100%;
    padding-top: 40%;
  }
}
.page-norm.curriculum .english-header--img img {
  position: absolute;
  top: 0;
  left: 2em;
  width: 100%;
  height: auto;
}
.page-norm.curriculum .english-header--txt {
  position: relative;
  display: block;
  z-index: 2;
  padding: 0 1.5rem;
  padding-top: 2rem;
  text-align: left;
  width: 100%;
}
@media print, screen and (min-width: 800px) {
  .page-norm.curriculum .english-header--txt {
    padding: 0 2rem;
    padding-top: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .english-header--txt {
    position: absolute;
    top: 3em;
    right: 0%;
    width: 50%;
    padding: 0;
    padding-right: 2rem;
    padding-left: 4rem;
    font-size: 0.875em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.curriculum .english-header--txt {
    padding-left: 4rem;
    width: 45%;
    top: 50%;
    transform: translateY(-50%);
  }
}
.page-norm.curriculum .english-header--txt h1 {
  color: #802358 !important;
  margin-bottom: 0.5em;
}
.page-norm.curriculum .english-header--txt h1.with-marker {
  background: linear-gradient(transparent 80%, rgba(237, 97, 107, 0.7) 0%);
}
.page-norm.curriculum .english-header--txt p {
  font-size: 0.92em;
  font-weight: 500;
  color: #674459;
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .english-header--txt p {
    position: absolute;
    top: 2em;
    left: 0;
    width: 50%;
    height: auto;
    display: block;
    font-size: 1em;
  }
}
.page-norm.curriculum .english-header--txt p.fntL {
  font-size: 1.07em;
  font-weight: 700;
  margin-bottom: 0.5em;
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .english-header--txt p.fntL {
    font-size: 1.15em;
  }
}
.page-norm.curriculum .lead-with-img {
  margin: 0;
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .lead-with-img {
    margin-bottom: -190px;
  }
}
.page-norm.curriculum .lead-with-img--txt {
  background: none;
  margin: 1em auto 0;
  padding: 0;
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .lead-with-img--txt {
    padding-left: 1em;
  }
}
.page-norm.curriculum .lead-with-img--txt h2 {
  color: #674459;
  line-height: 1.5;
  margin-bottom: 0.5em;
}
.page-norm.curriculum .lead-with-img--txt h2 .cp-top {
  color: #ce6174;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
}
.page-norm.curriculum .lead-with-img--txt p {
  color: #403d3c;
}
.page-norm.curriculum .lead-with-img--img {
  margin: 0 auto;
}
.page-norm.curriculum .deco-img.deco1 {
  bottom: -21vw;
  left: 0;
  width: 34vw;
  max-width: 8em;
  z-index: 0;
  display: none;
}
@media print, screen and (min-width: 576px) {
  .page-norm.curriculum .deco-img.deco1 {
    bottom: -11em;
    left: inherit;
    right: 0;
    width: 11em;
    max-width: none;
  }
}
@media print, screen and (min-width: 576px) {
  .page-norm.curriculum .deco-img.deco1 {
    bottom: 0;
    right: 0;
    width: 8em;
    display: block;
  }
}
@media print, screen and (min-width: 768px) {
  .page-norm.curriculum .deco-img.deco1 {
    right: 0;
    width: 10em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .deco-img.deco1 {
    right: -2em;
    width: 6em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.curriculum .deco-img.deco1 {
    right: -2em;
    width: 8em;
  }
}
@media print, screen and (min-width: 1500px) {
  .page-norm.curriculum .deco-img.deco1 {
    right: -6em;
    width: 10em;
  }
}
.page-norm.curriculum .deco-img.deco2 {
  top: -1em;
  right: 0;
  width: 4em;
  display: none;
}
@media print, screen and (min-width: 576px) {
  .page-norm.curriculum .deco-img.deco2 {
    top: -1em;
    right: 1em;
    width: 6em;
  }
}
@media print, screen and (min-width: 768px) {
  .page-norm.curriculum .deco-img.deco2 {
    top: 1em;
    right: 3em;
    width: 13em;
    display: block;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.curriculum .deco-img.deco2 {
    top: 1em;
    right: 3em;
    width: 13em;
  }
}
@media print, screen and (min-width: 1500px) {
  .page-norm.curriculum .deco-img.deco2 {
    top: 1em;
    right: 3em;
    width: 13em;
  }
}

.schedule-english-method {
  position: relative;
  padding: 0.5em 0 0.5em 0.5em;
}
.schedule-english-method::before {
  position: absolute;
  top: 0.5em;
  left: 0.5em;
  width: calc(6rem - 1em);
  height: calc(100% - 1em);
  background: linear-gradient(to bottom, #f1deae 0, #dcad35 100%);
  z-index: 0;
  content: " ";
  border-radius: 0.65em;
}
@media print, screen and (min-width: 576px) {
  .schedule-english-method::before {
    width: calc(6rem - 8px);
  }
}
.schedule-english-method dl {
  position: relative;
  width: 100%;
  padding: 0.5em 0em 0.5em 1em;
}
@media print, screen and (min-width: 576px) {
  .schedule-english-method dl {
    padding: 0.5em 0em 0.5em 1em;
  }
}
.schedule-english-method dl dt {
  margin: 0;
}
.schedule-english-method dl dd {
  width: 100%;
  margin: 0;
  padding-left: 5rem;
}
@media print, screen and (min-width: 576px) {
  .schedule-english-method dl dd {
    padding-right: 5em;
  }
}
@media print, screen and (min-width: 800px) {
  .schedule-english-method dl dd {
    padding-right: 3em;
  }
}
.schedule-english-method dl dd ul {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.92em;
}
.schedule-english-method dl dd ul li {
  position: relative;
  margin: 0;
  margin-left: 1em;
  color: #3e3a39;
  font-feature-settings: "palt";
}
.schedule-english-method dl dd ul li::before {
  position: absolute;
  top: 0.4em;
  left: -1em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background-color: #828282;
  content: " ";
}
@media print, screen and (min-width: 800px) {
  .schedule-english-method dl dd ul li::before {
    top: 0.5em;
  }
}
.schedule-english-method dl.start dt, .schedule-english-method dl.goal dt {
  font-weight: 700;
  margin: 0;
  padding-bottom: 0.5em;
  float: left;
  color: #802358;
  font-style: italic;
}
.schedule-english-method dl.start dd, .schedule-english-method dl.goal dd {
  margin: 0;
  padding-top: 0.15em;
}
.schedule-english-method dl.start dt {
  text-align: left;
}
.schedule-english-method dl.start dd {
  font-size: 0.875em;
}
.schedule-english-method dl.goal {
  border-top: 1px solid #555;
}
.schedule-english-method dl.goal dt {
  color: #ed616b;
  color: #802358;
  text-align: left;
}
.schedule-english-method dl.goal dd ul li {
  font-weight: 700;
  color: #dcad35;
}
.schedule-english-method dl.goal dd ul li::before {
  background-color: #dcad35;
}
.schedule-english-method dl.yr {
  border-top: 1px solid #ed616b;
  border-top-color: #969797;
}
.schedule-english-method dl.yr dt {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  margin-bottom: 0.5rem;
}
.schedule-english-method dl.yr dt span {
  display: block;
}
.schedule-english-method dl.yr dt span.num {
  font-size: 2em;
  font-weight: 700;
  width: 5rem;
  color: #802358;
  white-space: nowrap;
}
.schedule-english-method dl.yr dt span.num small {
  font-size: 16px;
}
.schedule-english-method dl.yr dt span.txt {
  width: calc(100% - 5rem);
  font-weight: 700;
  color: #802358;
  padding-bottom: 0.5em;
}
.schedule-english-method dl.yr dt span.txt i {
  display: inline-block;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.english-1col-wrap {
  width: 100%;
  background-color: #fff;
  border-radius: 30px;
  padding: 1em;
  margin: 3em auto;
}
.english-1col-wrap h3 {
  font-size: 22px;
  color: #802358 !important;
}
.english-1col-wrap h3::first-letter {
  color: #802358 !important;
}

.english-1col-wrap2 {
  width: 100%;
  background-color: #f8ebeb;
  border-radius: 30px;
  padding: 5em 1em 1em;
  margin: 3em auto;
  border: 3px solid #ce6174;
  position: relative;
}
@media print, screen and (min-width: 800px) {
  .english-1col-wrap2 {
    padding: 4em 1em 1em;
  }
}
.english-1col-wrap2 .english-1col-title {
  position: absolute;
  top: 0;
  left: 7%;
  color: #fff;
  background-color: #802358;
  padding: 0.4em 0.5em;
  border-radius: 0 0 20px 20px;
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.4em;
  border: 1px solid #dcad35;
  border-top: none;
  font-feature-settings: "palt";
  text-align: center;
  width: 86%;
  line-height: 1.2;
}
@media print, screen and (min-width: 800px) {
  .english-1col-wrap2 .english-1col-title {
    left: 1.5em;
    padding: 0.4em 1.5em;
    font-size: 1.6em;
    text-align: left;
    width: auto;
  }
}
.english-1col-wrap2 h3 {
  font-size: 22px;
  color: #802358 !important;
}
.english-1col-wrap2 h3::first-letter {
  color: #802358 !important;
}

.english-2col-wrap {
  display: flex;
  flex-direction: column;
  gap: 3em;
}
@media print, screen and (min-width: 800px) {
  .english-2col-wrap {
    flex-direction: row;
  }
}

.english-2col {
  width: 100%;
  padding: 3rem;
}
@media print, screen and (min-width: 800px) {
  .english-2col {
    width: calc(50% - 1.5em);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.english-item {
  flex-wrap: wrap;
}
.english-item .english-2col {
  background-color: #f8ebeb;
  padding: 2em;
}
.english-item .english-2col h3 {
  font-size: 22px;
  color: #ce6174 !important;
  text-align: center;
  width: 100%;
  line-height: 1.3;
}
.english-item .english-2col h3::first-letter {
  color: #ce6174 !important;
}
.english-item .english-2col .english-2col-2col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.english-item .english-2col .english-2col-2col img {
  margin: 0.5em auto 0;
}
@media print, screen and (min-width: 800px) {
  .english-item .english-2col .english-2col-2col {
    flex-direction: row;
  }
  .english-item .english-2col .english-2col-2col img {
    margin: 0 0 0 0.5em;
    width: 150px;
    object-fit: contain;
  }
}
.english-item .english-2col .float_wrap {
  display: flex;
  height: calc(100% - 88px);
}
.english-item .english-2col .float_wrap .float_box {
  text-align: justify;
}
.english-item .english-2col .float_wrap .float_box .float_img {
  margin-top: 1em;
}
@media print, screen and (min-width: 960px) {
  .english-item .english-2col .float_wrap .float_box {
    text-align: justify;
  }
  .english-item .english-2col .float_wrap .float_box .float_img {
    float: right;
    width: 50%;
    height: 100%;
    margin-left: 1.5em;
    display: flex;
    align-items: flex-end;
    shape-outside: inset(28% 0 0);
    margin-top: 0;
    margin-bottom: 2em;
  }
}
@media print, screen and (min-width: 1200px) {
  .english-item .english-2col .float_wrap .float_box .float_img {
    shape-outside: inset(20% 0 0);
  }
}
@media print, screen and (min-width: 960px) {
  .english-item .english-2col .float_box {
    text-align: justify;
  }
  .english-item .english-2col .float_box .float_img2 {
    float: right;
    width: 50%;
    margin-left: 1.5em;
    display: flex;
    align-items: flex-end;
  }
}
@media print, screen and (max-width: 959px) {
  .english-item .english-2col .float_box {
    display: flex;
    flex-direction: column-reverse;
  }
  .english-item .english-2col .float_box .float_img2 {
    margin-top: 1em;
  }
}
.english-item .english-2col.irregular {
  background-color: #eef6f4;
  border: 1px solid #674459;
  border-radius: 1em;
  padding: 1.5em;
  color: #403d3c;
}
.english-item .english-2col.irregular h3 {
  color: #fff !important;
  background-color: #674459;
  border-radius: 0 0 10px 10px;
  padding: 0.4em 0.5em;
  font-size: 1em;
  width: fit-content;
  margin: -1.5em auto 1em;
}
.english-item .english-2col.irregular h3::first-letter {
  color: #fff !important;
}
.english-item .english-2col.irregular p {
  font-size: 0.9em;
}
.english-item .english-2col.irregular > p {
  padding-bottom: 1.5em;
  border-bottom: 1px solid #000;
  margin-bottom: 1.6em;
}
@media print, screen and (min-width: 800px) {
  .english-item .english-2col.irregular {
    border-radius: 1em;
    padding: 1.5em;
  }
  .english-item .english-2col.irregular h3 {
    border-radius: 0 0 10px 10px;
    padding: 0.5em 0.5em 0.4em;
    font-size: 1em;
    margin: -1.5em auto 1em;
  }
  .english-item .english-2col.irregular .float_img2 {
    width: 32%;
  }
}
.english-item .english-2col.deco {
  position: relative;
}
.english-item .english-2col.deco::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  content: "";
  background-size: contain;
}
@media print, screen and (min-width: 800px) {
  .english-item .english-2col.deco::before {
    width: 107px;
    height: 107px;
  }
}
.english-item .english-2col.deco.deco01::before {
  background-image: url(../img/curriculum/english-method/deco01.svg);
}
.english-item .english-2col.deco.deco02::before {
  background-image: url(../img/curriculum/english-method/deco02.svg);
}
.english-item .english-2col.deco.deco03::before {
  background-image: url(../img/curriculum/english-method/deco03.svg);
}
.english-item .english-2col.deco h3 {
  padding-left: calc(80px - 1em);
  line-height: 1.3;
  text-align: left;
}
@media print, screen and (min-width: 800px) {
  .english-item .english-2col.deco h3 {
    padding-left: 107px;
    text-align: center;
    height: 4em;
    margin: 0;
  }
}
.english-item .english-2col.only_photo {
  overflow: hidden;
  padding: 0;
}
.english-item .english-2col.only_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.english-item .english-2col.bg_transparent {
  background: none;
}

.english-main img {
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 799px) {
  .english-main img.pc {
    display: none;
  }
}
@media print, screen and (min-width: 800px) {
  .english-main img.smp {
    display: none;
  }
}

.english-interview {
  display: flex;
  flex-direction: column;
  padding: 1.5em;
  background-color: #fff;
  border: 3px solid #674459;
  border-radius: 30px;
  margin-top: 1em;
  overflow: hidden;
}
@media print, screen and (min-width: 800px) {
  .english-interview {
    margin-top: 3em;
    padding: 2em;
    align-items: flex-end;
  }
}
.english-interview .interview-label {
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  font-style: italic;
  background-color: #674459;
  border-radius: 0 0 6px 6px;
  width: fit-content;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -1.5em auto 1em;
  padding: 0 1em;
}
@media print, screen and (min-width: 960px) {
  .english-interview .interview-label {
    margin: -1.9em auto 5em;
  }
}
.english-interview .interview-title {
  font-size: 18px;
  font-weight: 600;
  color: #674459 !important;
  margin: 1em 0 0.7em;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 960px) {
  .english-interview .interview-title {
    margin: 0 0 1em 0;
    font-size: 22px;
  }
}
.english-interview .interview-name {
  font-size: 14px;
  text-align: center;
}
.english-interview .interview-photo {
  margin: 0 auto 0.5em;
  width: 190px;
}
@media print, screen and (min-width: 960px) {
  .english-interview {
    flex-direction: row;
  }
  .english-interview .interview-title-area {
    padding-left: 3em;
  }
  .english-interview .interview-info {
    display: flex;
  }
}

.teacher-interview,
.student-interview {
  padding: 0 !important;
  background-color: #fff !important;
  color: #674459;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-content: flex-start;
  align-self: center;
}
.teacher-interview .interview-label,
.student-interview .interview-label {
  width: 100%;
  height: 40px;
  margin-bottom: 0.5em;
  text-align: center;
}
.teacher-interview .interview-label img,
.student-interview .interview-label img {
  height: 100%;
}
@media print, screen and (min-width: 960px) {
  .teacher-interview .interview-info,
  .student-interview .interview-info {
    display: flex;
  }
}
.teacher-interview .interview-info .interview-title-area,
.student-interview .interview-info .interview-title-area {
  font-size: 0.9em;
  line-height: 1.5;
}
.teacher-interview .interview-info .interview-photo-area,
.student-interview .interview-info .interview-photo-area {
  margin-right: 1em;
}
.teacher-interview .interview-info .interview-photo-area .interview-photo,
.student-interview .interview-info .interview-photo-area .interview-photo {
  margin: 0 auto 1em;
  width: 150px;
}
@media print, screen and (min-width: 960px) {
  .teacher-interview .interview-info .interview-photo-area .interview-photo,
  .student-interview .interview-info .interview-photo-area .interview-photo {
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 960px) {
  .teacher-interview,
  .student-interview {
    flex-direction: row;
    align-items: center;
  }
  .teacher-interview .interview-label,
  .student-interview .interview-label {
    text-align: left;
  }
}

.student-interview {
  color: #ce6174;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - CURRICULUM - ICT
/* ---------------------------------------------------------------------------------------- */
.page-norm.engagement .scn-norm.clrd {
  background-color: rgba(234, 85, 80, 0.05);
  background: linear-gradient(60deg, rgba(234, 85, 80, 0.05) 0, rgba(234, 85, 80, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.engagement .scn-norm.clrd.light {
  background-color: rgba(234, 85, 80, 0.02);
  background: linear-gradient(60deg, rgba(234, 85, 80, 0.02) 0, rgba(234, 85, 80, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.engagement .scn-norm.clrd.dark {
  background-color: rgba(234, 85, 80, 0.08);
  background: linear-gradient(135deg, rgba(234, 85, 80, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.engagement .fmt-interview .Q,
.page-norm.engagement .fmt-interview .nm {
  color: #ea5550;
}
.page-norm.engagement .with-marker {
  background: linear-gradient(transparent 70%, rgba(234, 85, 80, 0.4) 0%);
}
.page-norm.engagement h2,
.page-norm.engagement h3,
.page-norm.engagement h4 {
  color: #ea5550;
}
.page-norm.engagement h3 {
  color: #222;
}
.page-norm.engagement h3::first-letter {
  color: #ea5550;
}
.page-norm.engagement h5 {
  color: #e52922;
}
.page-norm.engagement h3:not(.plain)::before {
  border-color: #ea5550;
  background: linear-gradient(to right, #ea5550 0, rgba(234, 85, 80, 0) 100%);
}
.page-norm.engagement h4:not(.plain)::before {
  border-color: #ea5550;
}
.page-norm.engagement h5:not(.plain)::before {
  border-color: #e73f39;
}
.page-norm.engagement h5:not(.plain)::after {
  border-color: #ed6b67;
}
.page-norm.engagement .txt-clr {
  color: #ea5550;
}
.page-norm.engagement .column {
  background-color: rgba(234, 85, 80, 0.08);
}
.page-norm.engagement .column i {
  background-color: #ea5550;
}
.page-norm.engagement .column-with-title {
  background: linear-gradient(135deg, #ea5550 0%, #f29794 100%);
}
.page-norm.engagement .column-with-title .column--content {
  background-color: white;
  box-shadow: 0 0 1em #e52922;
}
.page-norm.engagement .corner-header .parent {
  color: #ea5550;
  border-color: #ea5550;
}
.page-norm.engagement .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(234, 85, 80, 0.3) 0%);
}
.page-norm.engagement .corner-header h1 {
  color: #ea5550;
}
.page-norm.engagement .corner-header h2 {
  color: #e52922;
}
.page-norm.engagement .interlude.clr-belt::after {
  background-color: #ea5550;
}
.page-norm.engagement .ict-header {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden;
  padding-top: 1em;
}
@media print, screen and (min-width: 768px) {
  .page-norm.engagement .ict-header {
    padding-top: 2em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.engagement .ict-header {
    overflow: visible;
  }
}
.page-norm.engagement .ict-header--img {
  position: relative;
  display: block;
  width: 150%;
  padding-top: 60%;
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .page-norm.engagement .ict-header--img {
    width: 100%;
    padding-top: 40%;
  }
}
.page-norm.engagement .ict-header--img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.page-norm.engagement .ict-header--txt {
  position: relative;
  display: block;
  z-index: 2;
  padding: 0 1.5rem;
  padding-top: 2rem;
  text-align: left;
  width: 100%;
}
@media print, screen and (min-width: 800px) {
  .page-norm.engagement .ict-header--txt {
    padding: 0 2rem;
    padding-top: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.engagement .ict-header--txt {
    position: absolute;
    top: 3em;
    right: 0%;
    width: 50%;
    padding: 0;
    padding-right: 2rem;
    padding-left: 4rem;
    font-size: 0.875em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.engagement .ict-header--txt {
    padding-left: 4rem;
    width: 45%;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media print, screen and (min-width: 1500px) {
  .page-norm.engagement .ict-header--txt {
    font-size: 1em;
  }
}
.page-norm.engagement .ict-header--txt h1 {
  color: #4b70b5;
}
.page-norm.engagement .ict-header--txt h1.with-marker {
  background: linear-gradient(transparent 80%, rgba(46, 182, 169, 0.4) 0%);
}
.page-norm.engagement .ict-header--txt h2 {
  font-size: 3.25vw;
  font-size: clamp(0.875em, 3.25vw, 1.15em);
  font-feature-settings: "palt";
  color: #2eb6a9;
}
@media print, screen and (min-width: 576px) {
  .page-norm.engagement .ict-header--txt h2 {
    font-size: 1.15em;
  }
}
@media print, screen and (min-width: 800px) {
  .page-norm.engagement .ict-header--txt h2 {
    font-size: 1.25em;
  }
}
@media print, screen and (max-width: 799px) {
  .page-norm.engagement .ict-header--txt h2 br.noSMP {
    display: none;
  }
}
.page-norm.engagement .ict-header--txt .wrap-lead {
  position: relative;
  color: #4b70b5;
}
@media print, screen and (min-width: 960px) {
  .page-norm.engagement .ict-header--txt .wrap-lead {
    margin-left: -1em;
    padding: 1em;
    padding-right: 0;
    background-color: rgba(250, 219, 218, 0.95);
  }
}
.page-norm.engagement .ict-header--txt p {
  font-size: 0.92em;
  font-weight: 500;
}
@media print, screen and (min-width: 960px) {
  .page-norm.engagement .ict-header--txt p {
    display: block;
    font-size: 1em;
  }
}
.page-norm.engagement .ict-header--txt p.fntL {
  font-size: 1.07em;
  font-weight: 700;
  margin-bottom: 0.5em;
}
@media print, screen and (min-width: 960px) {
  .page-norm.engagement .ict-header--txt p.fntL {
    font-size: 1.15em;
  }
}
.page-norm.engagement .interview-ict {
  position: relative;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 1.5em;
  padding: 0 1.5em 1.5em;
  margin-top: 4rem;
}
@media print, screen and (min-width: 768px) {
  .page-norm.engagement .interview-ict {
    margin-top: 5rem;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.engagement .interview-ict {
    margin-top: 6rem;
  }
}
@media print, screen and (min-width: 768px) {
  .page-norm.engagement .interview-ict {
    padding: 0 2em 2em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.engagement .interview-ict {
    padding: 0 3em 3em;
  }
}
.page-norm.engagement .interview-ict--header {
  position: relative;
  padding: 3.5em 0 3.5em;
}
@media print, screen and (min-width: 800px) {
  .page-norm.engagement .interview-ict--header {
    padding: 3em 0;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.engagement .interview-ict--header {
    padding: 4em 0;
  }
}
.page-norm.engagement .interview-ict--header h2 {
  margin-bottom: 0;
  z-index: 2;
  line-height: 1.5;
}
.page-norm.engagement .interview-ict .shoulder {
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
}
@media print, screen and (min-width: 576px) {
  .page-norm.engagement .interview-ict .shoulder {
    left: 5em;
    transform: translateX(0);
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.engagement .interview-ict .shoulder {
    top: -1.5em;
    left: 6.5em;
  }
}
.page-norm.engagement .interview-ict .shoulder i {
  font-size: 1.85em;
  line-height: 1;
  font-family: "Unna", "Times New Roman", Times, serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.15em;
  color: #2eb6a9;
}
@media print, screen and (min-width: 800px) {
  .page-norm.engagement .interview-ict .shoulder i {
    font-size: 2.25em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.engagement .interview-ict .shoulder i {
    font-size: 2.85em;
  }
}
.page-norm.engagement .interview-ict .shoulder span.nm {
  color: #404040;
}
@media print, screen and (max-width: 575px) {
  .page-norm.engagement .interview-ict .shoulder span.nm {
    display: block;
    text-align: center;
    font-size: 0.92em;
  }
}
.page-norm.engagement .interview-ict .speaker {
  position: absolute;
  top: -2em;
  left: -5em;
  width: 50vw;
  max-width: 12em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.engagement .interview-ict .speaker {
    top: -4em;
    left: -6.5em;
    width: 16em;
    max-width: none;
  }
}
@media print, screen and (min-width: 800px) {
  .page-norm.engagement .interview-ict .speaker {
    top: -6em;
    width: 16em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.engagement .interview-ict .speaker {
    top: -8em;
    width: 20em;
  }
}
.page-norm.engagement .interview-ict .speaker img {
  width: 100%;
  height: auto;
}
.page-norm.engagement .interview-ict h2 {
  position: relative;
  margin-top: 0;
  text-align: center;
}
.page-norm.engagement .interview-ict h2 span {
  display: inline-block;
  padding: 0.35em 0;
  border-top: 3px solid rgba(46, 182, 169, 0.5);
  border-bottom: 3px solid rgba(46, 182, 169, 0.5);
}
.page-norm.engagement .interview-ict h3 {
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
  color: #2eb6a9 !important;
}
.page-norm.engagement .column {
  background-color: rgba(255, 255, 255, 0.2);
}

.logo-class-i {
  width: 180px;
  margin-top: -0.5rem;
}
@media print, screen and (min-width: 576px) {
  .logo-class-i {
    width: 200px;
  }
}
@media print, screen and (min-width: 768px) {
  .logo-class-i {
    width: 248px;
  }
}

.ict-header .engagement-2col {
  color: #4b70b5;
}
@media print, screen and (max-width: 799px) {
  .ict-header .engagement-2col-wrap {
    gap: 0;
  }
  .ict-header .engagement-2col {
    padding: 2em 0;
  }
}
.ict-header h1 {
  width: 100%;
}

.engagement-2col-wrap {
  display: flex;
  flex-direction: column;
  gap: 3em;
}
@media print, screen and (min-width: 800px) {
  .engagement-2col-wrap {
    flex-direction: row;
    align-items: flex-start;
  }
}

.engagement-2col {
  width: 100%;
  padding: 3rem 0;
}
@media print, screen and (min-width: 800px) {
  .engagement-2col {
    width: calc(50% - 1.5em);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }
}
.engagement-item {
  flex-wrap: wrap;
}
.engagement-item .engagement-2col {
  background-color: #fff;
  border-radius: 30px;
  padding: 0;
}
.engagement-item .engagement-2col h3 {
  font-size: 22px;
  color: #4b70b5 !important;
  font-feature-settings: "palt";
}
.engagement-item .engagement-2col h3::first-letter {
  color: #dd9966 !important;
}
.engagement-item .engagement-2col h3 span {
  color: #dd9966;
}
.engagement-item .engagement-2col .engagement-2col-2col {
  width: 100%;
  display: flex;
  align-items: center;
  margin: 1em 0 1.5em;
  gap: 2em;
}
.engagement-item .engagement-2col.deco {
  position: relative;
}
.engagement-item .engagement-2col.deco > div {
  position: absolute;
  top: -20px;
  right: 20px;
  width: 20%;
  height: auto;
}
.engagement-item .engagement-2col.deco h3 {
  padding-right: 20%;
}
.engagement-item .engagement-2col.only_photo {
  overflow: hidden;
  padding: 0;
}
.engagement-item .engagement-2col.only_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.engagement-main {
  position: relative;
}
.engagement-main .engagement-circle {
  width: 204px;
  height: 204px;
  background-color: #00af9b;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  left: -144px;
  top: 50%;
  margin-top: -172px;
}
.engagement-main .engagement-circle:last-child {
  left: auto;
  right: -77px;
  top: 50%;
  margin-top: -165px;
}
@media print, screen and (max-width: 959px) {
  .engagement-main .engagement-circle {
    width: 100px;
    height: 100px;
    font-size: 14px;
    left: 36px;
    margin-top: -20px;
  }
  .engagement-main .engagement-circle:last-child {
    width: 110px;
    height: 110px;
    left: auto;
    right: 30px;
    margin-top: 15px;
  }
}

.engagement-interview {
  display: flex;
  flex-direction: column;
  padding: 1.5em;
  color: #4b70b5;
  background-color: #fff;
  border: 4px solid #4b70b5;
  border-radius: 2em;
  margin-top: 3em;
  overflow: hidden;
}
@media print, screen and (min-width: 800px) {
  .engagement-interview {
    padding: 2em 3em;
  }
}
.engagement-interview .interview-label {
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  background-color: #4b70b5;
  border-radius: 0 0 0.5em 0.5em;
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -1.5em;
}
@media print, screen and (min-width: 800px) {
  .engagement-interview .interview-label {
    width: 238px;
    margin-top: -2em;
  }
}
.engagement-interview .interview-title {
  font-size: 23px;
  font-weight: 600;
  color: #4b70b5 !important;
  margin: 1em 0 0.7em;
  font-feature-settings: "palt";
  line-height: 1.5;
}
.engagement-interview .interview-name {
  position: absolute;
  left: 0;
  top: 4em;
  font-size: 0.8em;
  text-align: right;
  color: #000;
}
.engagement-interview .interview-photo {
  margin: 0 auto -3em;
  max-width: 400px;
  position: relative;
}
.engagement-interview.engagement-column {
  background-color: #f5e2d0 !important;
  background-image: none;
  justify-content: space-between;
  align-items: center;
}
.engagement-interview.engagement-column .interview-photo {
  margin: 1em 0 0;
  max-width: none;
}
@media print, screen and (min-width: 960px) {
  .engagement-interview.engagement-column {
    flex-direction: row;
  }
  .engagement-interview.engagement-column .interview-info {
    width: 46%;
  }
  .engagement-interview.engagement-column .interview-photo {
    width: 50%;
  }
}
@media print, screen and (min-width: 960px) {
  .engagement-interview {
    flex-direction: row;
  }
  .engagement-interview .interview-title-area {
    display: flex;
    align-items: center;
    margin-bottom: 1.5em;
  }
  .engagement-interview .interview-info {
    width: 70%;
  }
  .engagement-interview .interview-photo {
    width: 30%;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - CURRICULUM - ABILITY
/* ---------------------------------------------------------------------------------------- */
.page-norm.ability {
  padding-bottom: 0;
  background-color: #fff;
}
.page-norm.ability .scn-norm.clrd {
  background-color: rgba(0, 62, 145, 0.05);
  background: linear-gradient(60deg, rgba(0, 62, 145, 0.05) 0, rgba(0, 62, 145, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.ability .scn-norm.clrd.light {
  background-color: rgba(0, 62, 145, 0.02);
  background: linear-gradient(60deg, rgba(0, 62, 145, 0.02) 0, rgba(0, 62, 145, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.ability .scn-norm.clrd.dark {
  background-color: rgba(0, 62, 145, 0.08);
  background: linear-gradient(135deg, rgba(0, 62, 145, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.ability .fmt-interview .Q,
.page-norm.ability .fmt-interview .nm {
  color: #003e91;
}
.page-norm.ability .with-marker {
  background: linear-gradient(transparent 70%, rgba(0, 62, 145, 0.4) 0%);
}
.page-norm.ability h2,
.page-norm.ability h3,
.page-norm.ability h4 {
  color: #003e91;
}
.page-norm.ability h3 {
  color: #222;
}
.page-norm.ability h3::first-letter {
  color: #003e91;
}
.page-norm.ability h5 {
  color: #00285e;
}
.page-norm.ability h3:not(.plain)::before {
  border-color: #003e91;
  background: linear-gradient(to right, #003e91 0, rgba(0, 62, 145, 0) 100%);
}
.page-norm.ability h4:not(.plain)::before {
  border-color: #003e91;
}
.page-norm.ability h5:not(.plain)::before {
  border-color: #003378;
}
.page-norm.ability h5:not(.plain)::after {
  border-color: #0049ab;
}
.page-norm.ability .txt-clr {
  color: #003e91;
}
.page-norm.ability .column {
  background-color: rgba(0, 62, 145, 0.08);
}
.page-norm.ability .column i {
  background-color: #003e91;
}
.page-norm.ability .column-with-title {
  background: linear-gradient(135deg, #003e91 0%, #005fde 100%);
}
.page-norm.ability .column-with-title .column--content {
  background-color: #bad7ff;
  box-shadow: 0 0 1em #00285e;
}
.page-norm.ability .corner-header .parent {
  color: #003e91;
  border-color: #003e91;
}
.page-norm.ability .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(0, 62, 145, 0.3) 0%);
}
.page-norm.ability .corner-header h1 {
  color: #003e91;
}
.page-norm.ability .corner-header h2 {
  color: #00285e;
}
.page-norm.ability .interlude.clr-belt::after {
  background-color: #003e91;
}
.page-norm.ability .corner-header .self {
  background-color: #fff;
}
.page-norm.ability .corner-header .self .txt {
  background-color: #fff;
}

.row-side-region.row-ability .col-region nav ul {
  background-color: #6166aa;
}
.row-side-region.row-ability .col-region nav ul li a {
  letter-spacing: 0.5em;
  color: #fff;
  padding: 1em 1em 1em 1.5em;
}
@media print, screen and (min-width: 960px) {
  .row-side-region.row-ability .col-region nav ul li a {
    padding: 1.5em 1em 1em 1em;
  }
}

.ability-link-subject {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 0.5rem;
  text-align: center;
  width: 100%;
  z-index: 3;
  background-color: #f8f8f8;
  border-bottom: 1px solid #ddd;
}
.ability-link-subject ul {
  position: relative;
  display: table;
  border-collapse: collapse;
  list-style: none;
  margin: 0 auto;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
@media print, screen and (min-width: 800px) {
  .ability-link-subject ul {
    max-width: 640px;
  }
}
.ability-link-subject ul li {
  position: relative;
  display: table-cell;
  margin: 0;
  padding: 0;
}
.ability-link-subject ul li:not(:first-child) {
  border-left: 1px dotted rgba(255, 255, 255, 0.3);
}
.ability-link-subject ul li a {
  position: relative;
  display: block;
  text-align: center;
  font-weight: 700;
  padding: 0 1.5em;
  height: 3rem;
  line-height: 3rem;
  font-size: 0.92em;
  color: #082854;
}
.ability-link-subject ul li a:hover {
  color: #fff;
  background-color: #003e91;
}
.ability-link-subject ul li a:hover i {
  height: 1em;
}
@media print, screen and (min-width: 576px) {
  .ability-link-subject ul li a {
    padding: 0 2em;
  }
}
@media print, screen and (min-width: 800px) {
  .ability-link-subject ul li a {
    height: 3.5rem;
    line-height: 3.5rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .ability-link-subject ul li a {
    height: 5rem;
    line-height: 5rem;
    font-size: 1em;
  }
}
.ability-link-subject ul li a i {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 0.5em;
  content: " ";
  border-left: 1px solid #fff;
  opacity: 0.4;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.ability-link-subject ul li.current a {
  color: #fff;
  background-color: #003e91;
}
.ability-link-subject ul li.current a i {
  height: 1em;
}

.wrap-sbj {
  position: relative;
  padding-top: 3rem;
  z-index: 1;
}
@media print, screen and (min-width: 800px) {
  .wrap-sbj {
    padding-top: 3.5rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .wrap-sbj {
    padding-top: 4rem;
  }
}

.sbj {
  position: relative;
  padding: 0 0 0;
}
.sbj:nth-child(even) {
  background-color: white;
}
.sbj:nth-child(even) .sbj--header--img .titles {
  background-color: white;
}
.sbj:nth-child(even) .sbj--header--img .titles h2 .positive {
  background-color: white;
}
.sbj:nth-child(even) .sbj--header--txt {
  background-color: rgba(255, 255, 255, 0.9);
}
.sbj--header {
  position: relative;
  width: 100%;
  max-width: calc(1344px + 3em);
  margin: 0 auto 2rem;
  padding-left: 1.5em;
  padding-right: 1.5em;
}
@media print, screen and (min-width: 768px) {
  .sbj--header {
    margin-bottom: 3rem;
  }
}
@media print, screen and (min-width: 800px) {
  .sbj--header {
    padding-left: 2.25em;
    padding-right: 2.25em;
  }
}
@media print, screen and (min-width: 1200px) {
  .sbj--header {
    margin-bottom: 4rem;
  }
}
.sbj--header::before {
  position: absolute;
  top: 0;
  left: 1.5em;
  width: 48px;
  height: 100%;
  background-color: #003e91;
  background: linear-gradient(to bottom, #003e91 0, #143278 100%);
  content: " ";
  z-index: 1;
  border-radius: 0.5em;
}
@media print, screen and (min-width: 350px) {
  .sbj--header::before {
    width: 56px;
  }
}
@media print, screen and (min-width: 576px) {
  .sbj--header::before {
    width: 80px;
  }
}
@media print, screen and (min-width: 800px) {
  .sbj--header::before {
    left: 2.25em;
  }
}
@media print, screen and (min-width: 960px) {
  .sbj--header::before {
    width: 128px;
  }
}
.sbj--header--titles {
  position: relative;
  z-index: 2;
  text-align: left;
  padding-top: 0.25em;
  padding-bottom: 0.5em;
}
.sbj--header--titles h2 {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 32px;
  font-weight: 400;
  margin: 0;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -ms-flex-direction: column;
  flex-direction: column;
  flex-grow: unset;
  white-space: nowrap;
}
@media print, screen and (min-width: 350px) {
  .sbj--header--titles h2 {
    font-size: 40x;
  }
}
@media print, screen and (min-width: 576px) {
  .sbj--header--titles h2 {
    font-size: 56px;
  }
}
@media print, screen and (min-width: 960px) {
  .sbj--header--titles h2 {
    font-size: 80px;
  }
}
.sbj--header--titles h2 span {
  display: block;
  width: 48px;
  height: 48px;
  text-align: center;
  line-height: 56px;
}
@media print, screen and (min-width: 350px) {
  .sbj--header--titles h2 span {
    width: 56px;
    height: 56px;
    line-height: 56px;
  }
}
@media print, screen and (min-width: 576px) {
  .sbj--header--titles h2 span {
    width: 80px;
    height: 80px;
    line-height: 80px;
  }
}
@media print, screen and (min-width: 960px) {
  .sbj--header--titles h2 span {
    width: 128px;
    height: 128px;
    line-height: 128px;
  }
}
.sbj--header--titles h2 span.negative {
  color: #fff;
}
.sbj--header--titles h2 span.positive {
  color: #003e91;
  color: #fff;
}
.sbj--header--titles h3 {
  position: relative;
  display: block;
  font-size: 0.7em;
  line-height: 1.4;
  margin: 0;
  padding-left: 0.5em;
  padding-left: 56px;
}
@media print, screen and (min-width: 350px) {
  .sbj--header--titles h3 {
    font-size: 0.75em;
    padding-left: 64px;
  }
}
@media print, screen and (min-width: 576px) {
  .sbj--header--titles h3 {
    font-size: 0.92em;
    padding-left: 96px;
  }
}
@media print, screen and (min-width: 960px) {
  .sbj--header--titles h3 {
    font-size: 1.15em;
    padding-left: 144px;
  }
}
.sbj--header--titles h3 span {
  display: block;
}
.sbj--header--titles h3 span.en {
  font-size: 0.875em;
  font-family: "Unna", "Times New Roman", Times, serif;
  font-style: italic;
  font-weight: 500;
  border-bottom: 1px dotted #003e91;
  padding-bottom: 0.75em;
  margin-bottom: 0.75em;
}
.sbj--header--titles h3 span.hdg {
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-size: 1.1em;
}
.sbj--header--img {
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 576px) {
  .sbj--header--img {
    width: 80%;
  }
}
.sbj--header--img .img {
  position: relative;
  width: 100%;
  padding-left: 56px;
  display: block;
}
@media print, screen and (min-width: 576px) {
  .sbj--header--img .img {
    padding-left: 80px;
  }
}
@media print, screen and (min-width: 960px) {
  .sbj--header--img .img {
    padding-left: 128px;
  }
}
.sbj--header--img .img .inner {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
  display: block;
}
.sbj--header--img .img img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(-50%);
}
.sbj--header--txt {
  position: relative;
  padding: 1rem 0 0 72px;
  max-width: 832px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 0.5em;
}
@media print, screen and (min-width: 576px) {
  .sbj--header--txt {
    padding: 1.5rem 0 0 102px;
  }
}
@media print, screen and (min-width: 960px) {
  .sbj--header--txt {
    padding: 2rem;
    padding-right: 0;
    margin-top: -12rem;
    margin-left: auto;
    max-width: 560px;
  }
}
.sbj--header--txt p {
  color: #0d204c;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .sbj--header--txt p {
    font-size: 0.92em;
  }
}
@media print, screen and (min-width: 1200px) {
  .sbj--header--txt p {
    font-size: 1em;
  }
}
.sbj--header.rev::before {
  left: inherit;
  right: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .sbj--header.rev::before {
    right: 2.25em;
  }
}
.sbj--header.rev .sbj--header--titles {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.sbj--header.rev .sbj--header--titles h2 {
  left: inherit;
  right: 0;
}
.sbj--header.rev .sbj--header--titles h3 {
  text-align: right;
  padding-left: 0;
  padding-right: 56px;
}
@media print, screen and (min-width: 350px) {
  .sbj--header.rev .sbj--header--titles h3 {
    padding-right: 64px;
  }
}
@media print, screen and (min-width: 576px) {
  .sbj--header.rev .sbj--header--titles h3 {
    padding-right: 96px;
  }
}
@media print, screen and (min-width: 960px) {
  .sbj--header.rev .sbj--header--titles h3 {
    padding-right: 144px;
  }
}
.sbj--header.rev .sbj--header--img {
  margin-right: 0;
  margin-left: auto;
}
.sbj--header.rev .sbj--header--img .img {
  padding-left: 0;
  padding-right: 56px;
}
@media print, screen and (min-width: 576px) {
  .sbj--header.rev .sbj--header--img .img {
    padding-right: 80px;
  }
}
@media print, screen and (min-width: 960px) {
  .sbj--header.rev .sbj--header--img .img {
    padding-right: 128px;
  }
}
.sbj--header.rev .sbj--header--txt {
  padding: 2rem 72px 0 0;
}
@media print, screen and (min-width: 576px) {
  .sbj--header.rev .sbj--header--txt {
    padding: 1.5rem 156px 0 0;
  }
}
@media print, screen and (min-width: 960px) {
  .sbj--header.rev .sbj--header--txt {
    margin-right: auto;
    margin-left: 0;
    padding: 2rem;
    padding-left: 0;
  }
}

.message .message--teacher,
.message .message--student {
  position: relative;
  width: 100%;
  max-width: 800px;
  font-size: 0.875em;
  text-align: left;
}
@media print, screen and (min-width: 576px) {
  .message .message--teacher,
  .message .message--student {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
.message .message--teacher--ph,
.message .message--student--ph {
  position: absolute;
  top: 0;
  width: 112px;
}
@media print, screen and (min-width: 576px) {
  .message .message--teacher--ph,
  .message .message--student--ph {
    position: relative;
    width: 30%;
    max-width: 168px;
    padding-top: 0.5rem;
  }
}
.message .message--teacher--ph .ph,
.message .message--student--ph .ph {
  display: block;
  border-radius: 1.5em;
  overflow: hidden;
}
.message .message--teacher--ph .ph img,
.message .message--student--ph .ph img {
  width: 100%;
  height: auto;
}
.message .message--teacher--ph i,
.message .message--student--ph i {
  font-size: 0.92em;
  font-weight: 700;
  font-feature-settings: "palt";
  text-align: center;
  display: block;
}
.message .message--teacher--ph i small,
.message .message--student--ph i small {
  font-size: 0.75em;
}
.message .message--teacher--txt,
.message .message--student--txt {
  position: relative;
  width: 100%;
  padding-top: 0.5em;
  z-index: 1;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 576px) {
  .message .message--teacher--txt,
  .message .message--student--txt {
    width: 70%;
    padding-top: 2em;
  }
}
.message .message--teacher--txt h5,
.message .message--student--txt h5 {
  position: relative;
  padding-top: 1.5rem;
  font-size: 1.25em;
  font-feature-settings: "palt";
  color: #003a87;
}
@media print, screen and (min-width: 800px) {
  .message .message--teacher--txt h5,
  .message .message--student--txt h5 {
    font-size: 1.25em;
  }
}
@media print, screen and (min-width: 1200px) {
  .message .message--teacher--txt h5,
  .message .message--student--txt h5 {
    font-size: 1.35em;
  }
}
@media print, screen and (max-width: 575px) {
  .message .message--teacher--txt h5,
  .message .message--student--txt h5 {
    width: calc(100% - 128px);
    padding-top: 1rem;
    min-height: 104px;
    margin-left: 128px;
  }
  .message .message--teacher--txt h5 .dsp-ib,
  .message .message--student--txt h5 .dsp-ib {
    display: inline;
  }
}
.message .message--teacher--txt h5 i,
.message .message--student--txt h5 i {
  position: absolute;
  top: -0.75rem;
  left: -0.25rem;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  display: block;
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 500;
  color: #fff;
  padding: 0.5em 1em;
}
@media print, screen and (min-width: 576px) {
  .message .message--teacher--txt h5 i,
  .message .message--student--txt h5 i {
    font-size: 0.8125rem;
  }
}
.message .message--teacher--txt h5 i::before,
.message .message--student--txt h5 i::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #003e91;
  content: " ";
  z-index: -1;
  border-radius: 0.15em;
}
.message .message--teacher--txt h5 i::after,
.message .message--student--txt h5 i::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 100%;
  height: 100%;
  border: 1px solid #0054c4;
  content: " ";
  z-index: -1;
  border-radius: 0.15em;
}
@media print, screen and (max-width: 575px) {
  .message .message--teacher + .message--student,
  .message .message--student + .message--student {
    margin-top: 3em;
  }
}
@media print, screen and (max-width: 575px) {
  .message .message--teacher .message--teacher--ph {
    left: inherit;
    right: 0;
  }
}
@media print, screen and (max-width: 575px) {
  .message .message--teacher h5 {
    min-height: 120px;
    margin-left: 0;
    padding-right: 0.5em;
  }
}
.message .ph-left {
  -ms-flex-direction: row;
  flex-direction: row;
  margin-right: auto;
  margin-bottom: 0.5rem;
  padding-bottom: 2em;
}
@media print, screen and (min-width: 576px) {
  .message .ph-left .message--teacher--ph,
  .message .ph-left .message--student--ph {
    margin-left: 0;
  }
}
@media print, screen and (min-width: 576px) {
  .message .ph-left .message--teacher--txt,
  .message .ph-left .message--student--txt {
    padding-left: 2em;
  }
}
@media print, screen and (min-width: 800px) {
  .message .ph-left + .ph-right {
    margin-top: 1rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .message .ph-left + .ph-right {
    margin-top: 1rem;
  }
}
@media print, screen and (min-width: 1500px) {
  .message .ph-left + .ph-right {
    margin-top: -2rem;
  }
}
.message .ph-right {
  margin-left: auto;
}
.message .ph-right .message--teacher--ph,
.message .ph-right .message--student--ph {
  margin-right: 0;
  margin-left: auto;
}
@media print, screen and (min-width: 576px) {
  .message .ph-right .message--teacher--ph,
  .message .ph-right .message--student--ph {
    margin-left: 0;
    margin-right: 0;
  }
}
@media print, screen and (min-width: 576px) {
  .message .ph-right .message--teacher--txt,
  .message .ph-right .message--student--txt {
    padding-right: 2em;
  }
}
@media print, screen and (max-width: 575px) {
  .message .ph-right .message--teacher--txt h5,
  .message .ph-right .message--student--txt h5 {
    width: calc(100% - 114px);
  }
}
.message .message--student--txt h5 {
  color: #143278;
}
.message .message--student--txt h5 i {
  color: #0e2355;
}
.message .message--student--txt h5 i::before {
  opacity: 0.2;
}
.message .message--student--txt h5 i::before {
  background-color: #143278;
}
.message .message--student--txt h5 i::after {
  border: 1px solid #1b44a4;
}
.message .message--student--ph .ph {
  background-color: #143278;
}

.ability-header {
  margin-bottom: 3em;
  padding-top: 3em;
}
.ability-header h2 {
  color: #6166aa !important;
  padding-left: 4.5em;
  margin-bottom: 1em;
}
.ability-header .ability-2col {
  color: #143278;
  padding: 0;
}

.ability-1col-wrap {
  width: calc(100% - 2em);
  background-color: #ecf4fb;
  padding: 1em;
  margin: 0 0 3em auto;
  position: relative;
}
.ability-1col-wrap .ability-1col-title {
  position: absolute;
  top: 0;
  left: -2em;
  width: 9em;
}
@media print, screen and (min-width: 800px) {
  .ability-1col-wrap .ability-1col-title {
    width: 11em;
  }
}

.ability-2col-wrap {
  display: flex;
  flex-direction: column;
  gap: 2em;
}
@media print, screen and (min-width: 800px) {
  .ability-2col-wrap {
    flex-direction: row;
    gap: 3em;
  }
}

.ability-2col {
  width: 100%;
  padding: 3rem;
}
@media print, screen and (min-width: 800px) {
  .ability-2col {
    width: calc(50% - 1.5em);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }
}
.ability-item {
  flex-wrap: wrap;
}
.ability-item:last-child {
  padding-bottom: 7em;
}
.ability-item .ability-2col {
  background-color: #ecf4fb;
  padding: 2em;
}
.ability-item .ability-2col h3 {
  font-size: 22px;
  color: #143278 !important;
}
.ability-item .ability-2col h3::first-letter {
  color: #143278 !important;
}
.ability-item .ability-2col .ability-2col-2col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.ability-item .ability-2col .ability-2col-2col img {
  margin: 0.5em auto 0;
}
@media print, screen and (min-width: 800px) {
  .ability-item .ability-2col .ability-2col-2col {
    flex-direction: row;
  }
  .ability-item .ability-2col .ability-2col-2col img {
    margin: 0 0 0 0.5em;
    width: 150px;
    object-fit: contain;
  }
}
.ability-item .ability-2col.deco {
  position: relative;
}
.ability-item .ability-2col.deco > div {
  position: absolute;
  top: -20px;
  right: 20px;
  width: 20%;
  height: auto;
}
.ability-item .ability-2col.deco h3 {
  padding-right: 20%;
}
.ability-item .ability-2col.only_photo {
  overflow: hidden;
  border-radius: 30px;
  padding: 0;
}
.ability-item .ability-2col.only_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ability-item .ability-2col.bg_transparent {
  background: none;
}

.ability-main img {
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 799px) {
  .ability-main img.pc {
    display: none;
  }
}
@media print, screen and (min-width: 800px) {
  .ability-main img.smp {
    display: none;
  }
}

.ability-interview {
  padding: 1.5em !important;
  background-color: #f0e5ee !important;
  border: 3px solid #434e7d;
  overflow: hidden;
  color: #434e7d;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-content: flex-start;
}
.ability-interview .interview-label {
  /*@include fnt-min;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  font-style: italic;
  background-color: #143278;
  border-radius: 0 6px 6px 0;*/
  width: 100%;
  height: 50px;
  /*display: flex;
  align-items: center;
  justify-content: center;*/
  margin-bottom: 0.5em;
}
.ability-interview .interview-label img {
  height: 100%;
}
.ability-interview .interview-title-area {
  font-size: 0.9em;
  line-height: 1.5;
}
.ability-interview .interview-title-area .interview-title {
  font-size: 18px;
  font-weight: 600;
  color: #143278 !important;
  margin: 0 0 0.5em;
  font-feature-settings: "palt";
  padding: 0;
  line-height: 1.3;
}
.ability-interview .interview-photo {
  margin: 0 auto 1em;
  width: 150px;
}
@media print, screen and (min-width: 960px) {
  .ability-interview .interview-photo {
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 960px) {
  .ability-interview {
    flex-direction: row;
  }
  .ability-interview .interview-info {
    display: flex;
  }
  .ability-interview .interview-info .interview-photo-area {
    margin-right: 1em;
  }
}

.ability-interview.student-interview {
  background-color: #fff !important;
  border: 3px solid #b6729d;
  color: #b6729d;
}
.ability-interview.student-interview .interview-title {
  color: #000 !important;
}

.line-stripe {
  height: 10px;
  margin: 5em auto;
  background-size: 6px 10px;
  background-repeat: repeat;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 2px, #b6729d 2px, #b6729d 4px);
}

.ability-all-header {
  position: relative;
  width: calc(100% - 3em);
  max-width: calc(1344px + 3em);
  margin: 2em auto 0;
  /*h1 {
      height: 6em;
      line-height: 8em;
      letter-spacing: 0.5em;

      @include mq-down(lg) {
          height: 5em;
      }

      @include mq-down(sm) {
          height: 3em;
          line-height: 5em;
      }
  }

  .ability-header-left {
      position: absolute;
      bottom: 10px;
      left: 5%;
      width: 25%;
      height: auto;
  }

  .ability-header-right {
      position: absolute;
      bottom: 10px;
      right: 5%;
      width: 25%;
      height: auto;
  }

  .line-stripe {
      margin: 0;
      width: 100%;
  }*/
}
.ability-all-header .pc {
  display: none;
}
@media print, screen and (min-width: 800px) {
  .ability-all-header .pc {
    display: block;
  }
}
.ability-all-header .smp {
  display: block;
}
@media print, screen and (min-width: 800px) {
  .ability-all-header .smp {
    display: none;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - CURRICULUM - HUMAN
/* ---------------------------------------------------------------------------------------- */
.page-norm.human .scn-norm.clrd {
  background-color: rgba(0, 151, 224, 0.05);
  background: linear-gradient(60deg, rgba(0, 151, 224, 0.05) 0, rgba(0, 151, 224, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.human .scn-norm.clrd.light {
  background-color: rgba(0, 151, 224, 0.02);
  background: linear-gradient(60deg, rgba(0, 151, 224, 0.02) 0, rgba(0, 151, 224, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.human .scn-norm.clrd.dark {
  background-color: rgba(0, 151, 224, 0.08);
  background: linear-gradient(135deg, rgba(0, 151, 224, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.human .fmt-interview .Q,
.page-norm.human .fmt-interview .nm {
  color: #0097e0;
}
.page-norm.human .with-marker {
  background: linear-gradient(transparent 70%, rgba(0, 151, 224, 0.4) 0%);
}
.page-norm.human h2,
.page-norm.human h3,
.page-norm.human h4 {
  color: #0097e0;
}
.page-norm.human h3 {
  color: #222;
}
.page-norm.human h3::first-letter {
  color: #0097e0;
}
.page-norm.human h5 {
  color: #0075ad;
}
.page-norm.human h3:not(.plain)::before {
  border-color: #0097e0;
  background: linear-gradient(to right, #0097e0 0, rgba(0, 151, 224, 0) 100%);
}
.page-norm.human h4:not(.plain)::before {
  border-color: #0097e0;
}
.page-norm.human h5:not(.plain)::before {
  border-color: #0086c7;
}
.page-norm.human h5:not(.plain)::after {
  border-color: #00a8fa;
}
.page-norm.human .txt-clr {
  color: #0097e0;
}
.page-norm.human .column {
  background-color: rgba(0, 151, 224, 0.08);
}
.page-norm.human .column i {
  background-color: #0097e0;
}
.page-norm.human .column-with-title {
  background: linear-gradient(135deg, #0097e0 0%, #2ebbff 100%);
}
.page-norm.human .column-with-title .column--content {
  background-color: white;
  box-shadow: 0 0 1em #0075ad;
}
.page-norm.human .corner-header .parent {
  color: #0097e0;
  border-color: #0097e0;
}
.page-norm.human .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(0, 151, 224, 0.3) 0%);
}
.page-norm.human .corner-header h1 {
  color: #0097e0;
}
.page-norm.human .corner-header h2 {
  color: #0075ad;
}
.page-norm.human .interlude.clr-belt::after {
  background-color: #0097e0;
}
.page-norm.human .inner-wrap--thin {
  z-index: 2;
  padding-top: 2rem;
}
@media print, screen and (min-width: 576px) {
  .page-norm.human .inner-wrap--thin {
    padding-top: 3rem;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.human .inner-wrap--thin {
    padding-top: 2rem;
  }
}
.page-norm.human .inner-wrap--thin h1 {
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #0097e0;
  font-size: 1.85em;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 0.5em;
}
.page-norm.human .inner-wrap--thin h1 span {
  font-size: 0.5em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.human .inner-wrap--thin h1 {
    font-size: 2.25em;
  }
}
@media print, screen and (min-width: 768px) {
  .page-norm.human .inner-wrap--thin h1 {
    font-size: 2.5em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.human .inner-wrap--thin h1 {
    font-size: 3em;
  }
}
.human-ph {
  position: relative;
  height: 0;
  padding-top: 75%;
  overflow: hidden;
  z-index: 0;
  margin: -3rem auto 0;
}
@media print, screen and (min-width: 576px) {
  .human-ph {
    margin-top: -4rem;
    padding-top: 56.25%;
  }
}
@media print, screen and (min-width: 800px) {
  .human-ph {
    margin-top: -8rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .human-ph {
    margin-top: -12rem;
  }
}
.human-ph img {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: none;
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 575px) {
  .human-ph img {
    width: 160%;
    left: -30%;
  }
}
.human-ph span {
  position: relative;
  z-index: 1;
  display: block;
}
@media print, screen and (max-width: 575px) {
  .human-ph span img {
    width: 100%;
    height: auto;
    left: 0;
  }
}
.human-ph span img.pc {
  display: none;
}
@media print, screen and (min-width: 576px) {
  .human-ph span img.pc {
    display: block;
  }
}
@media print, screen and (min-width: 800px) {
  .human-ph span img.smp {
    display: none;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - CURRICULUM - GUIDANCE COUNSELING // ACADEMIC
/* ---------------------------------------------------------------------------------------- */
.page-norm.guidance-counseling {
  background-color: #fff0f0;
}
.page-norm.guidance-counseling .guidance-counseling-header {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden;
  padding-top: 1em;
}
@media print, screen and (min-width: 768px) {
  .page-norm.guidance-counseling .guidance-counseling-header {
    padding-top: 2em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.guidance-counseling .guidance-counseling-header {
    overflow: visible;
  }
}
.page-norm.guidance-counseling .guidance-counseling-header--img {
  position: relative;
  display: block;
  width: 150%;
  padding-top: 60%;
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .page-norm.guidance-counseling .guidance-counseling-header--img {
    width: 100%;
    padding-top: 40%;
  }
}
.page-norm.guidance-counseling .guidance-counseling-header--img img {
  position: absolute;
  top: 0;
  left: 2em;
  width: 100%;
  height: auto;
}
.page-norm.guidance-counseling .guidance-counseling-header--txt {
  position: relative;
  display: block;
  z-index: 2;
  padding: 0 1.5rem;
  padding-top: 2rem;
  text-align: left;
  width: 100%;
}
@media print, screen and (min-width: 800px) {
  .page-norm.guidance-counseling .guidance-counseling-header--txt {
    padding: 0 2rem;
    padding-top: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.guidance-counseling .guidance-counseling-header--txt {
    position: absolute;
    top: 3em;
    right: 0%;
    width: 50%;
    padding: 0;
    padding-right: 2rem;
    padding-left: 4rem;
    font-size: 0.875em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.guidance-counseling .guidance-counseling-header--txt {
    padding-left: 4rem;
    width: 45%;
    top: 50%;
    transform: translateY(-50%);
  }
}
.page-norm.guidance-counseling .guidance-counseling-header--txt h1 {
  color: #802358 !important;
}
.page-norm.guidance-counseling .guidance-counseling-header--txt h1.with-marker {
  background: linear-gradient(transparent 80%, rgba(202, 167, 57, 0.7) 0%);
}
.page-norm.guidance-counseling .guidance-counseling-header--txt p {
  margin-top: 1.5em;
  font-size: 0.92em;
  font-weight: 500;
  color: #ea5550;
}
@media print, screen and (min-width: 960px) {
  .page-norm.guidance-counseling .guidance-counseling-header--txt p {
    display: block;
    font-size: 1em;
  }
}
.page-norm.guidance-counseling .guidance-counseling-header--txt p.fntL {
  font-size: 1.07em;
  font-weight: 700;
  margin-bottom: 0.5em;
}
@media print, screen and (min-width: 960px) {
  .page-norm.guidance-counseling .guidance-counseling-header--txt p.fntL {
    font-size: 1.15em;
  }
}

.page-norm.guidance-counseling,
.page-norm.academic-achievement {
  background-color: #fff;
}
.page-norm.guidance-counseling .corner-header .self,
.page-norm.academic-achievement .corner-header .self {
  background-color: #fff;
}
.page-norm.guidance-counseling .corner-header .self .txt,
.page-norm.academic-achievement .corner-header .self .txt {
  background-color: #fff;
}
.page-norm.guidance-counseling .lead,
.page-norm.academic-achievement .lead {
  color: #d4784c;
}
.page-norm.guidance-counseling .scn-norm.clrd,
.page-norm.academic-achievement .scn-norm.clrd {
  background-color: rgba(202, 167, 57, 0.05);
  background: linear-gradient(60deg, rgba(202, 167, 57, 0.05) 0, rgba(202, 167, 57, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.guidance-counseling .scn-norm.clrd.light,
.page-norm.academic-achievement .scn-norm.clrd.light {
  background-color: rgba(202, 167, 57, 0.02);
  background: linear-gradient(60deg, rgba(202, 167, 57, 0.02) 0, rgba(202, 167, 57, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.guidance-counseling .scn-norm.clrd.dark,
.page-norm.academic-achievement .scn-norm.clrd.dark {
  background-color: rgba(202, 167, 57, 0.08);
  background: linear-gradient(135deg, rgba(202, 167, 57, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.guidance-counseling .fmt-interview .Q,
.page-norm.guidance-counseling .fmt-interview .nm,
.page-norm.academic-achievement .fmt-interview .Q,
.page-norm.academic-achievement .fmt-interview .nm {
  color: #caa739;
}
.page-norm.guidance-counseling .with-marker,
.page-norm.academic-achievement .with-marker {
  background: linear-gradient(transparent 70%, rgba(202, 167, 57, 0.4) 0%);
}
.page-norm.guidance-counseling h2,
.page-norm.guidance-counseling h3,
.page-norm.guidance-counseling h4,
.page-norm.academic-achievement h2,
.page-norm.academic-achievement h3,
.page-norm.academic-achievement h4 {
  color: #caa739;
}
.page-norm.guidance-counseling h3,
.page-norm.academic-achievement h3 {
  color: #222;
}
.page-norm.guidance-counseling h3::first-letter,
.page-norm.academic-achievement h3::first-letter {
  color: #caa739;
}
.page-norm.guidance-counseling h5,
.page-norm.academic-achievement h5 {
  color: #a4872c;
}
.page-norm.guidance-counseling h3:not(.plain)::before,
.page-norm.academic-achievement h3:not(.plain)::before {
  border-color: #caa739;
  background: linear-gradient(to right, #caa739 0, rgba(202, 167, 57, 0) 100%);
}
.page-norm.guidance-counseling h4:not(.plain)::before,
.page-norm.academic-achievement h4:not(.plain)::before {
  border-color: #caa739;
}
.page-norm.guidance-counseling h5:not(.plain)::before,
.page-norm.academic-achievement h5:not(.plain)::before {
  border-color: #b89831;
}
.page-norm.guidance-counseling h5:not(.plain)::after,
.page-norm.academic-achievement h5:not(.plain)::after {
  border-color: #cfb04d;
}
.page-norm.guidance-counseling .txt-clr,
.page-norm.academic-achievement .txt-clr {
  color: #caa739;
}
.page-norm.guidance-counseling .column,
.page-norm.academic-achievement .column {
  background-color: rgba(202, 167, 57, 0.08);
}
.page-norm.guidance-counseling .column i,
.page-norm.academic-achievement .column i {
  background-color: #caa739;
}
.page-norm.guidance-counseling .column-with-title,
.page-norm.academic-achievement .column-with-title {
  background: linear-gradient(135deg, #caa739 0%, #dac275 100%);
}
.page-norm.guidance-counseling .column-with-title .column--content,
.page-norm.academic-achievement .column-with-title .column--content {
  background-color: white;
  box-shadow: 0 0 1em #a4872c;
}
.page-norm.guidance-counseling .corner-header .parent,
.page-norm.academic-achievement .corner-header .parent {
  color: #caa739;
  border-color: #caa739;
}
.page-norm.guidance-counseling .corner-header .self .txt h1 .with-marker,
.page-norm.academic-achievement .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(202, 167, 57, 0.3) 0%);
}
.page-norm.guidance-counseling .corner-header h1,
.page-norm.academic-achievement .corner-header h1 {
  color: #caa739;
}
.page-norm.guidance-counseling .corner-header h2,
.page-norm.academic-achievement .corner-header h2 {
  color: #a4872c;
}
.page-norm.guidance-counseling .interlude.clr-belt::after,
.page-norm.academic-achievement .interlude.clr-belt::after {
  background-color: #caa739;
}
.page-norm.guidance-counseling .fmt-interview .flex-container,
.page-norm.academic-achievement .fmt-interview .flex-container {
  justify-content: center;
}
.page-norm.guidance-counseling .fmt-interview .prsn-1,
.page-norm.guidance-counseling .fmt-interview .prsn-2,
.page-norm.guidance-counseling .fmt-interview .prsn-3,
.page-norm.guidance-counseling .fmt-interview .prsn-4,
.page-norm.guidance-counseling .fmt-interview .prsn-5,
.page-norm.academic-achievement .fmt-interview .prsn-1,
.page-norm.academic-achievement .fmt-interview .prsn-2,
.page-norm.academic-achievement .fmt-interview .prsn-3,
.page-norm.academic-achievement .fmt-interview .prsn-4,
.page-norm.academic-achievement .fmt-interview .prsn-5 {
  border: none;
  padding: 0;
}
.page-norm.guidance-counseling .fmt-interview .prsn-1 .nm,
.page-norm.guidance-counseling .fmt-interview .prsn-2 .nm,
.page-norm.guidance-counseling .fmt-interview .prsn-3 .nm,
.page-norm.guidance-counseling .fmt-interview .prsn-4 .nm,
.page-norm.guidance-counseling .fmt-interview .prsn-5 .nm,
.page-norm.academic-achievement .fmt-interview .prsn-1 .nm,
.page-norm.academic-achievement .fmt-interview .prsn-2 .nm,
.page-norm.academic-achievement .fmt-interview .prsn-3 .nm,
.page-norm.academic-achievement .fmt-interview .prsn-4 .nm,
.page-norm.academic-achievement .fmt-interview .prsn-5 .nm {
  color: #bb689c !important;
  width: 3em;
}
.page-norm.guidance-counseling .fmt-interview .prsn-1 .nm::after,
.page-norm.guidance-counseling .fmt-interview .prsn-2 .nm::after,
.page-norm.guidance-counseling .fmt-interview .prsn-3 .nm::after,
.page-norm.guidance-counseling .fmt-interview .prsn-4 .nm::after,
.page-norm.guidance-counseling .fmt-interview .prsn-5 .nm::after,
.page-norm.academic-achievement .fmt-interview .prsn-1 .nm::after,
.page-norm.academic-achievement .fmt-interview .prsn-2 .nm::after,
.page-norm.academic-achievement .fmt-interview .prsn-3 .nm::after,
.page-norm.academic-achievement .fmt-interview .prsn-4 .nm::after,
.page-norm.academic-achievement .fmt-interview .prsn-5 .nm::after {
  border: none;
}
@media print, screen and (max-width: 959px) {
  .page-norm.guidance-counseling .fmt-interview .prsn-1 p,
  .page-norm.guidance-counseling .fmt-interview .prsn-2 p,
  .page-norm.guidance-counseling .fmt-interview .prsn-3 p,
  .page-norm.guidance-counseling .fmt-interview .prsn-4 p,
  .page-norm.guidance-counseling .fmt-interview .prsn-5 p,
  .page-norm.academic-achievement .fmt-interview .prsn-1 p,
  .page-norm.academic-achievement .fmt-interview .prsn-2 p,
  .page-norm.academic-achievement .fmt-interview .prsn-3 p,
  .page-norm.academic-achievement .fmt-interview .prsn-4 p,
  .page-norm.academic-achievement .fmt-interview .prsn-5 p {
    margin-left: 0;
  }
  .page-norm.guidance-counseling .fmt-interview .prsn-1 p .nm,
  .page-norm.guidance-counseling .fmt-interview .prsn-2 p .nm,
  .page-norm.guidance-counseling .fmt-interview .prsn-3 p .nm,
  .page-norm.guidance-counseling .fmt-interview .prsn-4 p .nm,
  .page-norm.guidance-counseling .fmt-interview .prsn-5 p .nm,
  .page-norm.academic-achievement .fmt-interview .prsn-1 p .nm,
  .page-norm.academic-achievement .fmt-interview .prsn-2 p .nm,
  .page-norm.academic-achievement .fmt-interview .prsn-3 p .nm,
  .page-norm.academic-achievement .fmt-interview .prsn-4 p .nm,
  .page-norm.academic-achievement .fmt-interview .prsn-5 p .nm {
    margin-left: 0;
    float: none;
  }
}
.page-norm.guidance-counseling .fmt-interview .fig-group,
.page-norm.academic-achievement .fmt-interview .fig-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  flex-grow: 1;
  align-items: stretch;
  width: 100%;
  margin: 0 auto;
  justify-content: center;
}
.page-norm.guidance-counseling .fmt-interview .fig-group .gr-name,
.page-norm.academic-achievement .fmt-interview .fig-group .gr-name {
  text-align: center;
  margin: 1em auto;
}
.page-norm.guidance-counseling h3,
.page-norm.academic-achievement h3 {
  color: #d4784c !important;
}
.page-norm.guidance-counseling h3::first-letter,
.page-norm.academic-achievement h3::first-letter {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.page-norm.guidance-counseling .after_h3,
.page-norm.academic-achievement .after_h3 {
  display: inline-block;
}

.page-norm.academic-achievement {
  background-color: #fff;
}
.page-norm.academic-achievement .academic-achievement-header {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  overflow: hidden;
  padding-top: 1em;
  margin-bottom: 3em;
}
@media print, screen and (min-width: 768px) {
  .page-norm.academic-achievement .academic-achievement-header {
    padding-top: 4em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.academic-achievement .academic-achievement-header {
    overflow: visible;
  }
}
.page-norm.academic-achievement .academic-achievement-header .wrap-lead {
  color: #62a370;
}
.page-norm.academic-achievement .academic-achievement-header table {
  width: 100%;
  border-collapse: separate;
}
.page-norm.academic-achievement .academic-achievement-header table th {
  background-color: #dcdcdc;
  font-size: 0.9em;
  font-weight: 400;
  text-align: center;
  padding: 0.2em 0.5em;
}
.page-norm.academic-achievement .academic-achievement-header table td {
  background-color: #eee948;
  text-align: center;
  padding: 0.3em 0.5em;
  font-size: 1.2em;
}
.page-norm.academic-achievement .academic-achievement-header table tr:nth-child(odd) td {
  background: #fbf9d0;
}
.page-norm.academic-achievement .link-txt-dx {
  border: 2px solid #000;
  border-radius: 30px;
  padding: 0.2em 2em 0.2em 0.8em;
  line-height: 1.5;
}
.page-norm.academic-achievement .link-txt-dx::before {
  border: none;
}
.page-norm.academic-achievement .link-txt-dx::after {
  content: "";
  width: 12px;
  height: 12px;
  border-top: solid 3px #86817c;
  border-right: solid 3px #86817c;
  transform: rotate(45deg);
  position: absolute;
  right: 12px;
  top: 50%;
  margin-top: -6px;
}

.prg-guidance {
  position: relative;
  border-radius: 1.5em;
  padding: 1em;
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid #caa739;
}
.prg-guidance dl {
  overflow: hidden;
  padding: 1em 0.5em;
  border-bottom: 1px dotted rgba(0, 0, 0, 0.3);
}
@media print, screen and (min-width: 576px) {
  .prg-guidance dl {
    padding: 1em;
  }
}
.prg-guidance dl:last-child {
  border-bottom: none;
}
.prg-guidance dl dt {
  color: #d4784c;
  font-weight: 700;
}
@media print, screen and (min-width: 800px) {
  .prg-guidance dl dt {
    float: left;
    width: 14em;
  }
}
.prg-guidance dl dd {
  margin: 0;
  line-height: 1.8;
}
@media print, screen and (min-width: 800px) {
  .prg-guidance dl dd {
    margin-left: 14em;
  }
}

.list-achievement {
  position: relative;
  text-align: left;
  z-index: 2;
  margin: 0 auto;
}
.list-achievement--inner {
  position: relative;
  padding: 0.5em;
}
@media print, screen and (min-width: 800px) {
  .list-achievement--inner {
    padding: 1em;
  }
}
.list-achievement dl {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
  padding: 0.25em;
  border-bottom: 1px dotted #80b1be;
}
.list-achievement dl:not(:last-child) {
  margin-bottom: 0.5em;
}
.list-achievement dl dt {
  width: 100%;
  margin: 0;
}
@media print, screen and (min-width: 576px) {
  .list-achievement dl dt {
    width: 8em;
  }
}
.list-achievement dl dt span {
  display: inline-block;
  padding: 0.5em 1.5em;
  color: #fff;
  line-height: 1;
  font-weight: 700;
  background-color: #d4784c;
  border-radius: 6px;
}
.list-achievement dl dd {
  padding: 0.5em 1rem;
  margin: 0;
}
@media print, screen and (min-width: 576px) {
  .list-achievement dl dd {
    width: calc(100% - 9em);
    padding: 0;
    padding-top: 0.4em;
  }
}
.list-achievement dl dd ul.list-ib {
  font-size: 0.875em;
}
.list-achievement dl dd ul.list-ib li small {
  display: inline-block;
  margin-left: 1em;
}
.list-achievement dl dd ul.list-ib li:not(:last-child) {
  margin-right: 1em;
}

.scn-norm.scn-graduates-interview {
  background-color: #fcfaee;
}
.scn-norm.scn-graduates-interview .header-graduates-interview {
  position: relative;
  overflow: hidden;
  margin-bottom: 2rem;
  padding-top: 2em;
}
@media print, screen and (min-width: 800px) {
  .scn-norm.scn-graduates-interview .header-graduates-interview {
    margin-bottom: 3rem;
    padding-top: 0;
  }
}
.scn-norm.scn-graduates-interview .header-graduates-interview--title {
  position: absolute;
  top: 2em;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 3;
}
@media print, screen and (min-width: 768px) {
  .scn-norm.scn-graduates-interview .header-graduates-interview--title {
    top: 2em;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-norm.scn-graduates-interview .header-graduates-interview--title {
    top: 3em;
  }
}
.scn-norm.scn-graduates-interview .header-graduates-interview--title h2 {
  position: relative;
  display: inline-block;
  margin: 0 auto;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.35em;
  font-weight: 300;
  vertical-align: middle;
  color: #d4784c !important;
}
@media print, screen and (min-width: 576px) {
  .scn-norm.scn-graduates-interview .header-graduates-interview--title h2 {
    font-size: 1.5em;
  }
}
@media print, screen and (min-width: 800px) {
  .scn-norm.scn-graduates-interview .header-graduates-interview--title h2 {
    font-size: 1.8em;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-norm.scn-graduates-interview .header-graduates-interview--title h2 {
    font-size: 2em;
  }
}
.scn-norm.scn-graduates-interview .header-graduates-interview--title h2 i {
  display: block;
  margin: 0 auto;
  font-family: "Unna", "Times New Roman", Times, serif;
  font-style: italic;
  font-size: 12px;
  color: #caa739;
}
@media print, screen and (min-width: 800px) {
  .scn-norm.scn-graduates-interview .header-graduates-interview--title h2 i {
    font-size: 14px;
  }
}
.scn-norm.scn-graduates-interview .header-graduates-interview--title h2 span {
  display: block;
  font-size: 0.5em;
  line-height: 1.5;
  margin-bottom: -0.5em;
}
.scn-norm.scn-graduates-interview .header-graduates-interview .ph {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: 100%;
  max-width: 1500px;
}
.scn-norm.scn-graduates-interview .header-graduates-interview .ph img {
  width: 100%;
  height: auto;
}
.scn-norm.scn-graduates-interview .fig-group {
  position: relative;
  justify-content: center;
}
.scn-norm.scn-graduates-interview .fig-group span {
  position: relative;
  display: block;
}
@media print, screen and (max-width: 575px) {
  .scn-norm.scn-graduates-interview .fig-group span {
    width: 80%;
    text-align: center;
    margin: 1em auto;
  }
}
.scn-norm.scn-graduates-interview .fig-group .gr-name {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  background-color: rgba(252, 250, 238, 0.9);
  padding: 0.5em 0.5em 0;
  font-size: 1em;
  line-height: 1.4;
  width: auto;
  border-radius: 0.5em 0.5em 0 0;
  text-align: center;
  font-weight: 700;
}
@media print, screen and (min-width: 576px) {
  .scn-norm.scn-graduates-interview .fig-group .gr-name {
    right: -5em;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-norm.scn-graduates-interview .fig-group .gr-name {
    right: 0;
  }
}
.scn-norm.scn-graduates-interview .fig-group .gr-name small {
  font-size: 0.75em;
}
.scn-norm.scn-graduates-interview .fig-group .gr-name i {
  display: block;
  margin: 0.25em auto 0;
  font-size: 0.8125em;
  font-feature-settings: "palt";
  white-space: nowrap;
}
.scn-norm.scn-graduates-interview .fig-group > span.right .gr-name {
  right: auto;
  left: 0;
}
@media print, screen and (min-width: 576px) {
  .scn-norm.scn-graduates-interview .fig-group > span.right .gr-name {
    right: auto;
    left: -5em;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-norm.scn-graduates-interview .fig-group > span.right .gr-name {
    right: auto;
    left: 0;
  }
}

.header-academic-achievement {
  position: relative;
}
@media print, screen and (min-width: 960px) {
  .header-academic-achievement {
    font-size: 1.25em;
  }
}
.header-academic-achievement h1 {
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
.header-academic-achievement h1 span {
  position: relative;
  display: inline-block;
  padding: 1em 0;
  line-height: 1.3;
  border-bottom: 8px solid #caa739;
  margin: 0 auto;
}
.header-academic-achievement h1 span::before, .header-academic-achievement h1 span::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0;
  border-top: 1px dotted #caa739;
  content: " ";
}
.header-academic-achievement h1 span::before {
  bottom: 8px;
}
.header-academic-achievement h1 span::after {
  bottom: 4px;
}

.fig-achievement {
  position: relative;
  background: linear-gradient(0deg, rgb(223, 240, 238) 0%, rgba(223, 240, 238, 0.2) 100%);
  margin-bottom: 2rem;
  padding: 1.5rem 0 1rem;
  text-align: center;
  border-radius: 0.5rem;
}
@media print, screen and (min-width: 800px) {
  .fig-achievement {
    margin-bottom: 3rem;
    padding: 2.5rem 1rem 1.5rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .fig-achievement {
    margin-bottom: 4rem;
    padding: 2rem 1rem 2rem;
  }
}
.fig-achievement h1 {
  color: #caa739;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-feature-settings: "palt";
  font-size: 1.6em;
  line-height: 1.2;
  margin-bottom: 0.25rem;
  z-index: 3;
}
@media print, screen and (min-width: 350px) {
  .fig-achievement h1 {
    font-size: 2em;
  }
}
@media print, screen and (min-width: 576px) {
  .fig-achievement h1 {
    font-size: 2.5em;
    margin-bottom: 0.5rem;
  }
}
@media print, screen and (min-width: 800px) {
  .fig-achievement h1 {
    font-size: 3em;
    margin-bottom: 0.5rem;
  }
}
.fig-achievement p {
  position: relative;
  font-size: 0.75em;
  font-weight: 700;
  color: #303030;
  z-index: 3;
  text-align: center;
}
@media print, screen and (min-width: 576px) {
  .fig-achievement p {
    font-size: 0.875em;
  }
}
@media print, screen and (min-width: 576px) {
  .fig-achievement p {
    font-size: 1em;
  }
}
@media print, screen and (min-width: 800px) {
  .fig-achievement p {
    font-size: 1.08em;
  }
}
.fig-achievement img {
  position: relative;
  max-width: 820px;
  width: 100%;
  height: auto;
  margin: 0 auto;
  z-index: 3;
}
.fig-achievement::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: repeat;
  background-position: center top;
  background-size: 800px auto;
  background-image: url("../img/curriculum/guidance-counseling/academic-achievement/sakura.png");
  content: " ";
  z-index: 1;
  opacity: 0.5;
}

.column.achievement-interview {
  position: relative;
  margin-bottom: 2rem;
  background-color: rgba(202, 167, 57, 0.08);
  font-size: 1em;
}
@media print, screen and (min-width: 1200px) {
  .column.achievement-interview {
    font-size: 1em;
  }
}
.column.achievement-interview::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: " ";
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.5) 0, rgba(255, 255, 255, 0) 100%);
  z-index: 0;
  border-radius: 1em;
}
.column.achievement-interview .col-ph {
  position: relative;
  z-index: 1;
}
.column.achievement-interview .col-ph .ph {
  position: relative;
  display: block;
}
@media print, screen and (max-width: 767px) {
  .column.achievement-interview .col-ph .ph {
    max-width: 320px;
    margin: 0 auto;
  }
}
.column.achievement-interview .col-ph .ph img {
  width: 100%;
  height: auto;
  border-radius: 0.5em;
}
.column.achievement-interview .col-ph .name {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  background-color: rgba(202, 167, 57, 0.8);
  margin: 0;
  padding: 1em;
  font-size: 0.875em;
  color: #fff;
  font-weight: 700;
}
.column.achievement-interview h3 {
  position: relative;
  display: block;
  padding: 0.5em 0;
  border-top: 2px solid #caa739;
  border-bottom: 2px solid #caa739;
}
.column.achievement-interview p {
  color: #353535;
}

.academic-achievement .tb-norm {
  background-color: #FFF;
}

.academic-achievement--header {
  position: relative;
  background: rgb(244, 230, 194);
  background: linear-gradient(78deg, rgb(244, 230, 194) 0%, rgb(251, 247, 235) 85%, rgb(251, 247, 235) 100%);
  margin-bottom: 2rem;
}
@media print, screen and (min-width: 960px) {
  .academic-achievement--header {
    margin-bottom: 3rem;
  }
}
.academic-achievement--header---inner {
  position: relative;
  width: 100%;
  max-width: 1344px;
  margin: 0 auto;
  padding-top: 100vw;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: auto 60%;
  background-image: url(../img/curriculum/guidance-counseling/academic-achievement/hd-academic-achievement2024.webp);
}
@media print, screen and (min-width: 350px) {
  .academic-achievement--header---inner {
    padding-top: 100vw;
    background-size: auto 60%;
  }
}
@media print, screen and (min-width: 576px) {
  .academic-achievement--header---inner {
    padding-top: 56.25%;
    background-position: center bottom;
    background-size: auto 100%;
  }
}
@media print, screen and (min-width: 768px) {
  .academic-achievement--header---inner {
    padding-top: 48%;
    background-position: left bottom;
    background-size: auto 100%;
  }
}
@media print, screen and (min-width: 960px) {
  .academic-achievement--header---inner {
    padding-top: 360px;
  }
}
@media print, screen and (min-width: 1200px) {
  .academic-achievement--header---inner {
    padding-top: 480px;
  }
}
.academic-achievement--header---inner::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  content: " ";
  background: linear-gradient(to top, #f2f2f2 0, rgba(242, 242, 242, 0) 100%);
  z-index: 1;
  opacity: 0;
}
@media print, screen and (min-width: 576px) {
  .academic-achievement--header---inner::before {
    opacity: 1;
  }
}
@media print, screen and (min-width: 960px) {
  .academic-achievement--header---inner::before {
    opacity: 0;
  }
}
.academic-achievement--header .title {
  position: absolute;
  top: 2em;
  right: 0;
  width: 100%;
  text-align: center;
  font-size: 4.5vw;
  text-shadow: 1px 1px 0.5em #f2f2f2, -1px -1px 0.5em #f2f2f2, 1px 1px 1em #f2f2f2, -1px -1px 1em #f2f2f2;
}
@media print, screen and (min-width: 576px) {
  .academic-achievement--header .title {
    position: absolute;
    bottom: 1rem;
    top: inherit;
    right: 1.25rem;
    z-index: 2;
    font-size: 1.15em;
    text-align: left;
    width: fit-content;
  }
}
@media print, screen and (min-width: 960px) {
  .academic-achievement--header .title {
    top: 50%;
    right: 2rem;
    bottom: inherit;
    transform: translateY(-50%);
    font-size: 1.25em;
  }
}
.academic-achievement--header .title h1 {
  display: block;
  margin-bottom: 0;
  color: #d4784c;
  letter-spacing: 0.125em;
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.academic-achievement--header .title h1 span {
  display: block;
  font-size: 0.75em;
  line-height: 1;
}
.academic-achievement--header .title p {
  font-size: 0.75em;
  font-feature-settings: "palt";
  text-align: center;
  color: #151515;
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
@media print, screen and (min-width: 576px) {
  .academic-achievement--header .title p {
    text-align: left;
    font-size: 0.8125em;
  }
}

.bt-guidance-counseling {
  text-align: right;
  width: 100%;
}
.bt-guidance-counseling a {
  position: relative;
  display: inline-block;
  padding: 0 2em 0 1em;
  font-feature-settings: "palt";
  color: #62a370;
  border: 1px solid #62a370;
  border-radius: 30px;
  background-color: #fff;
}
@media print, screen and (min-width: 576px) {
  .bt-guidance-counseling a {
    padding-right: 1.75em;
  }
}
.bt-guidance-counseling a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px #62a370;
  border-right: solid 1px #62a370;
  transform: rotate(45deg);
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -4px;
}
.bt-guidance-counseling a:hover {
  color: #fff;
  background-color: #62a370;
}
.bt-guidance-counseling a:hover::after {
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
}

.guidance-counseling-header .guidance-counseling-2col {
  color: #d4784c;
  padding: 0;
}
.guidance-counseling-header .guidance-counseling-2col h1 {
  color: #d4784c !important;
  margin: 0;
}
.guidance-counseling-header .guidance-counseling-2col .guidance-counseling-2col-2col {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1em 0 1.5em;
}
.guidance-counseling-header .guidance-counseling-2col .guidance-counseling-2col-2col img {
  width: 100%;
}
.guidance-counseling-header .guidance-counseling-2col .guidance-counseling-2col-2col div img {
  margin: 0.5em 0 0 0;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-header .guidance-counseling-2col .guidance-counseling-2col-2col {
    flex-direction: row;
    margin: 0 0 3em;
  }
  .guidance-counseling-header .guidance-counseling-2col .guidance-counseling-2col-2col h1 {
    width: 50%;
  }
  .guidance-counseling-header .guidance-counseling-2col .guidance-counseling-2col-2col div {
    width: 50%;
    margin-top: 1.5em;
  }
  .guidance-counseling-header .guidance-counseling-2col .guidance-counseling-2col-2col div img {
    margin: 0;
    padding: 0 0 0 0.5em;
  }
}
@media print, screen and (max-width: 799px) {
  .guidance-counseling-header .guidance-counseling-2col-wrap {
    gap: 0;
  }
}

.guidance-counseling-1col-wrap {
  width: 100%;
  background-color: #fff;
  border-radius: 30px;
  padding: 1em;
  margin: 3em auto;
}
.guidance-counseling-1col-wrap h3 {
  font-size: 22px;
  color: #d4784c !important;
}
.guidance-counseling-1col-wrap h3::first-letter {
  color: #d4784c !important;
}

.guidance-counseling-1col-wrap2 {
  width: 100%;
  background-color: #fff0e6;
  border-radius: 30px;
  padding: 5em 1em 1em;
  margin: 3em auto;
  border: 3px solid #da8d63;
  position: relative;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-1col-wrap2 {
    padding: 4em 1em 1em;
  }
}
.guidance-counseling-1col-wrap2 .guidance-counseling-1col-title {
  position: absolute;
  top: 0;
  left: 7%;
  color: #fff;
  background-color: #da8d63;
  padding: 0.4em 0.5em;
  border-radius: 0 0 20px 20px;
  font-size: 1.4em;
  border-top: none;
  font-feature-settings: "palt";
  text-align: center;
  width: 86%;
  line-height: 1.2;
  font-weight: 700;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-1col-wrap2 .guidance-counseling-1col-title {
    left: 1.5em;
    padding: 0.4em 1.5em;
    font-size: 1.6em;
    text-align: center;
    width: 15em;
  }
}
.guidance-counseling-1col-wrap2 .bt-guidance-counseling {
  position: absolute;
  top: 3.5em;
  right: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-1col-wrap2 .bt-guidance-counseling {
    top: 1em;
  }
}
.guidance-counseling-1col-wrap2 h3 {
  font-size: 22px;
  color: #d4784c !important;
}
.guidance-counseling-1col-wrap2 h3::first-letter {
  color: #d4784c !important;
}

.guidance-counseling-2col-wrap {
  display: flex;
  flex-direction: column;
  gap: 3em;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-2col-wrap {
    flex-direction: row;
    align-items: flex-start;
  }
}

.guidance-counseling-2col {
  width: 100%;
  padding: 2em 0.5rem 0;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-2col {
    width: calc(50% - 1.5em);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding: 3rem;
  }
}
.guidance-counseling-2col-interview {
  display: flex;
  flex-direction: column-reverse;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-2col-interview {
    flex-direction: row;
  }
}

.guidance-counseling-interview-left {
  width: 100%;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-interview-left {
    width: 60%;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }
}

.guidance-counseling-interview-right {
  width: 100%;
  padding: 0 3em 1em;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-interview-right {
    width: 40%;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }
}
.guidance-counseling-interview-right h1 {
  color: #00647d;
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  margin: 0 auto;
}
.guidance-counseling-interview-right h1 span {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 0.5em;
}

.guidance-counseling-item {
  flex-wrap: wrap;
  margin-top: 4em;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-item {
    margin-top: 5em;
  }
}
.guidance-counseling-item .guidance-counseling-2col {
  background-color: #fff;
  border-radius: 30px;
  padding: 0;
}
.guidance-counseling-item .guidance-counseling-2col h3 {
  font-size: 22px;
  color: #d4784c !important;
}
.guidance-counseling-item .guidance-counseling-2col h3::first-letter {
  color: #d4784c !important;
  padding: 0.5em;
  background-color: #f4dfb6;
  font-size: 1.5em;
  border-radius: 0.3em;
  margin-right: 0.2em;
}
.guidance-counseling-item .guidance-counseling-2col p.caption {
  text-align: center;
  font-size: 0.8em;
  width: 100%;
  margin-top: 0.5em;
}
.guidance-counseling-item .guidance-counseling-2col h4 {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 5px solid #da8d63;
  border-bottom: none;
  padding: 0.3em;
  background-color: #f4dfb6;
  color: #000;
  width: 10em;
  margin-bottom: -5px;
  border-radius: 1.3em 1.3em 0 0;
  position: relative;
}
.guidance-counseling-item .guidance-counseling-2col .guidance-counseling-2col-2col {
  display: flex;
  flex-direction: column;
  border-top: 5px solid #da8d63;
  border-bottom: 5px solid #da8d63;
  padding: 1em 0;
}
.guidance-counseling-item .guidance-counseling-2col .guidance-counseling-2col-2col img {
  width: 100%;
}
.guidance-counseling-item .guidance-counseling-2col .guidance-counseling-2col-2col div img {
  margin: 0.5em 0 0 0;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-item .guidance-counseling-2col .guidance-counseling-2col-2col {
    flex-direction: row;
  }
  .guidance-counseling-item .guidance-counseling-2col .guidance-counseling-2col-2col p {
    width: 50%;
    margin: 0;
    padding-right: 1em;
    line-height: 1.5;
  }
  .guidance-counseling-item .guidance-counseling-2col .guidance-counseling-2col-2col div {
    width: 50%;
  }
  .guidance-counseling-item .guidance-counseling-2col .guidance-counseling-2col-2col div img {
    margin: 0;
    padding: 0;
  }
}
.guidance-counseling-item .guidance-counseling-2col.deco {
  position: relative;
}
.guidance-counseling-item .guidance-counseling-2col.deco > div {
  position: absolute;
  top: -20px;
  right: 20px;
  width: 20%;
  height: auto;
}
.guidance-counseling-item .guidance-counseling-2col.deco h3 {
  padding-right: 20%;
}
.guidance-counseling-item .guidance-counseling-2col.only_photo {
  overflow: hidden;
  padding: 0;
}
.guidance-counseling-item .guidance-counseling-2col.only_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.guidance-counseling-item .guidance-counseling-2col.overflow_photo {
  position: relative;
  padding: 0;
}
.guidance-counseling-item .guidance-counseling-2col.overflow_photo img {
  position: absolute;
  bottom: -3em;
  left: 50%;
  width: 70%;
  height: auto;
  transform: translateX(-50%);
}
.guidance-counseling-item .guidance-counseling-2col.bg_transparent {
  background: none;
}

.guidance-counseling-main img {
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 799px) {
  .guidance-counseling-main img.pc {
    display: none;
  }
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-main img.smp {
    display: none;
  }
}

.guidance-counseling-interview {
  display: flex;
  flex-direction: column;
  padding: 1.5em;
  background-color: #fff;
  border: 4px solid #00647d;
  border-radius: 30px;
  margin-top: 3em;
  overflow: hidden;
}
@media print, screen and (min-width: 800px) {
  .guidance-counseling-interview {
    padding: 2em;
    align-items: flex-end;
  }
}
.guidance-counseling-interview .interview-label {
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  font-style: italic;
  background-color: #00647d;
  border-radius: 0 6px 6px 0;
  width: calc(100% + 0.5em);
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: -2em;
  margin-bottom: 1em;
  padding-left: 2em;
}
@media print, screen and (min-width: 960px) {
  .guidance-counseling-interview .interview-label {
    width: calc(100% + 2em);
  }
}
.guidance-counseling-interview .interview-title {
  font-size: 18px;
  font-weight: 600;
  color: #00647d !important;
  margin: 1em 0 0.7em;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 960px) {
  .guidance-counseling-interview .interview-title {
    margin: 0 0 1em 0;
    font-size: 22px;
  }
}
.guidance-counseling-interview .interview-name {
  font-size: 14px;
  text-align: center;
}
.guidance-counseling-interview .interview-photo {
  margin: 0 auto 0.5em;
  width: 190px;
}
@media print, screen and (min-width: 960px) {
  .guidance-counseling-interview {
    flex-direction: row;
  }
  .guidance-counseling-interview .interview-title-area {
    padding-left: 3em;
  }
  .guidance-counseling-interview .interview-info {
    display: flex;
  }
}

.academic-achievement-header .academic-achievement-2col {
  padding: 0;
}
.academic-achievement-header .academic-achievement-2col h1 {
  width: 90%;
  margin: 0;
}
.academic-achievement-header .academic-achievement-2col .academic-achievement-2col-2col {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1em 0 1.5em;
}
.academic-achievement-header .academic-achievement-2col .academic-achievement-2col-2col img {
  width: 100%;
}
.academic-achievement-header .academic-achievement-2col .academic-achievement-2col-2col div img {
  margin: 0.5em 0 0 0;
}
@media print, screen and (min-width: 800px) {
  .academic-achievement-header .academic-achievement-2col .academic-achievement-2col-2col {
    flex-direction: row;
    margin: 0 0 3em;
  }
  .academic-achievement-header .academic-achievement-2col .academic-achievement-2col-2col h1 {
    width: 90%;
  }
  .academic-achievement-header .academic-achievement-2col .academic-achievement-2col-2col div {
    width: 50%;
    margin-top: 1.5em;
  }
  .academic-achievement-header .academic-achievement-2col .academic-achievement-2col-2col div img {
    margin: 0;
    padding: 0 0 0 0.5em;
  }
}

.academic-achievement-1col-wrap {
  width: 100%;
  background-color: #fff;
  border-radius: 30px;
  padding: 1em;
  margin: 3em auto;
}
.academic-achievement-1col-wrap h3 {
  font-size: 22px;
  color: #62a370 !important;
}
.academic-achievement-1col-wrap h3::first-letter {
  color: #62a370 !important;
}

.academic-achievement-1col-wrap2 {
  width: 100%;
  background-color: #ffffe9;
  background-image: radial-gradient(circle, #e5e45e 1.5px, transparent 1.5px), radial-gradient(circle, #e5e45e 1.5px, transparent 1.5px);
  background-position: 3px 0, 5px 4px;
  background-size: 4px 8px;
  background-repeat: repeat;
  border-radius: 30px;
  padding: 5em 1em 1em;
  margin: 7em auto 5em;
}
.academic-achievement-1col-wrap2 .academic-achievement-1col-title {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  max-width: 450px;
}
.academic-achievement-1col-wrap2 .voice02 {
  align-self: end;
}
@media print, screen and (min-width: 800px) {
  .academic-achievement-1col-wrap2 {
    padding: 1em;
  }
  .academic-achievement-1col-wrap2 .academic-achievement-1col-title {
    top: -33px;
  }
  .academic-achievement-1col-wrap2 .voice02 {
    margin-bottom: -2.5em;
  }
}

.academic-achievement-2col-wrap {
  display: flex;
  flex-direction: column;
  gap: 3em;
}
@media print, screen and (min-width: 800px) {
  .academic-achievement-2col-wrap {
    flex-direction: row;
    align-items: flex-start;
    gap: 5em;
  }
}
.academic-achievement-2col-wrap .academic-achievement-2col {
  width: 100%;
}
@media print, screen and (min-width: 800px) {
  .academic-achievement-2col-wrap .academic-achievement-2col {
    width: calc(50% - 2.5em);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }
}
.academic-achievement-2col-wrap .academic-achievement-2col h3 {
  color: #62a370 !important;
  position: relative;
  padding-left: 80px;
}
.academic-achievement-2col-wrap .academic-achievement-2col h3::before {
  position: absolute;
  top: -20px;
  left: 0;
  content: "";
  display: inline-block;
  width: 65px;
  height: 65px;
}
@media print, screen and (min-width: 800px) {
  .academic-achievement-2col-wrap .academic-achievement-2col h3::before {
    top: -7px;
  }
}
.academic-achievement-2col-wrap .academic-achievement-2col h3.support01::before {
  background: url(../img/curriculum/guidance-counseling/academic-achievement/support01.webp) no-repeat center/contain !important;
}
.academic-achievement-2col-wrap .academic-achievement-2col h3.support02::before {
  background: url(../img/curriculum/guidance-counseling/academic-achievement/support02.webp) no-repeat center/contain !important;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - SCHOOL LIFE
/* ---------------------------------------------------------------------------------------- */
.page-norm.schoollife {
  background-color: rgba(231, 232, 121, 0.2);
}
.page-norm.schoollife .scn-norm.clrd {
  background-color: rgba(255, 244, 98, 0.05);
  background: linear-gradient(60deg, rgba(255, 244, 98, 0.05) 0, rgba(255, 244, 98, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.schoollife .scn-norm.clrd.light {
  background-color: rgba(255, 244, 98, 0.02);
  background: linear-gradient(60deg, rgba(255, 244, 98, 0.02) 0, rgba(255, 244, 98, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.schoollife .scn-norm.clrd.dark {
  background-color: rgba(255, 244, 98, 0.08);
  background: linear-gradient(135deg, rgba(255, 244, 98, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.schoollife .fmt-interview .Q,
.page-norm.schoollife .fmt-interview .nm {
  color: #fff462;
}
.page-norm.schoollife .with-marker {
  background: linear-gradient(transparent 70%, rgba(255, 244, 98, 0.4) 0%);
}
.page-norm.schoollife h2,
.page-norm.schoollife h3,
.page-norm.schoollife h4 {
  color: #fff462;
}
.page-norm.schoollife h3 {
  color: #222;
}
.page-norm.schoollife h3::first-letter {
  color: #fff462;
}
.page-norm.schoollife h5 {
  color: #fff02f;
}
.page-norm.schoollife h3:not(.plain)::before {
  border-color: #fff462;
  background: linear-gradient(to right, #fff462 0, rgba(255, 244, 98, 0) 100%);
}
.page-norm.schoollife h4:not(.plain)::before {
  border-color: #fff462;
}
.page-norm.schoollife h5:not(.plain)::before {
  border-color: #fff249;
}
.page-norm.schoollife h5:not(.plain)::after {
  border-color: #fff67c;
}
.page-norm.schoollife .txt-clr {
  color: #fff462;
}
.page-norm.schoollife .column {
  background-color: rgba(255, 244, 98, 0.08);
}
.page-norm.schoollife .column i {
  background-color: #fff462;
}
.page-norm.schoollife .column-with-title {
  background: linear-gradient(135deg, #fff462 0%, #fff9af 100%);
}
.page-norm.schoollife .column-with-title .column--content {
  background-color: white;
  box-shadow: 0 0 1em #fff02f;
}
.page-norm.schoollife .corner-header .parent {
  color: #fff462;
  border-color: #fff462;
}
.page-norm.schoollife .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(255, 244, 98, 0.3) 0%);
}
.page-norm.schoollife .corner-header h1 {
  color: #fff462;
}
.page-norm.schoollife .corner-header h2 {
  color: #fff02f;
}
.page-norm.schoollife .interlude.clr-belt::after {
  background-color: #fff462;
}
.page-norm.schoollife .schoollife-lead-smp {
  color: #d06da2;
  font-weight: 700;
  line-height: 1.6;
  padding-top: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .page-norm.schoollife .schoollife-lead-smp {
    display: none;
  }
}
.page-norm.schoollife .nav-inpage {
  background-color: #ebffd7;
}
.page-norm.schoollife .nav-inpage a {
  color: #111;
}
.page-norm.schoollife .nav-inpage a:hover {
  color: #fff462;
  background-color: #fff;
}
.page-norm.schoollife .row-side-region.row-schoollife .col-content {
  padding-top: 0;
}
@media print, screen and (max-width: 799px) {
  .page-norm.schoollife .row-side-region.row-schoollife .col-content .scn-norm#Scn1 {
    padding-top: 6rem;
  }
}
@media print, screen and (max-width: 575px) {
  .page-norm.schoollife .row-side-region.row-schoollife .col-content .scn-norm#Scn1 {
    padding-top: 4rem;
  }
}
.page-norm.schoollife .scn-norm.scn-pickup-events {
  background-color: #fff;
}
.page-norm.schoollife .scn-norm.scn-pickup-events .column {
  position: relative;
  width: 100%;
  z-index: 2;
  padding: 2em;
  margin: 7em auto 3em;
  background-color: #dfebde;
  background-image: none;
  border: 5px solid #6fb27c;
  border-radius: 3em;
  /*&::before {
      background-size: auto auto;
      background-color: rgba(0, 185, 85, 0.18823529411764706);
      background-image: repeating-linear-gradient(45deg, transparent, transparent 3px, rgba(0, 185, 85, 1) 3px, rgba(0, 185, 85, 1) 6px);
      position: absolute;
      top: 20px;
      left: 20px;
      width: calc(100% - 20px);
      height: calc(100% - 20px);
      border-radius: 40px;
      content: " ";
      z-index: 0;
  }*/
}
@media print, screen and (min-width: 800px) {
  .page-norm.schoollife .scn-norm.scn-pickup-events .column {
    border: 8px solid #6fb27c;
  }
}
.page-norm.schoollife .scn-norm.scn-pickup-events .column--inner {
  /*position: relative;
  background-color: #fff;
  border-radius: 36px;
  padding: 2em;*/
  justify-content: center;
}
.page-norm.schoollife .scn-norm.scn-pickup-events .column h4 {
  color: #6fb27c !important;
}
.page-norm.schoollife .scn-norm.scn-pickup-events .column h5 {
  margin-bottom: 1em;
  color: #000 !important;
}
.page-norm.schoollife .scn-norm.scn-pickup-events .column img {
  border-radius: 30px;
}
.page-norm.schoollife .deco-img.may {
  bottom: 0em;
  right: 0.5em;
  width: 30vw;
  max-width: 7em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.schoollife .deco-img.may {
    bottom: 1em;
    right: 1em;
    width: 12vw;
    max-width: 8em;
  }
}
.page-norm.schoollife .deco-img.jun {
  bottom: 0;
  right: 0;
  width: 50vw;
  max-width: 12em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.schoollife .deco-img.jun {
    bottom: 0;
    right: 0;
    width: 30vw;
    max-width: 12em;
  }
}
.page-norm.schoollife .deco-img.aug {
  bottom: 1em;
  right: 1em;
  width: 30vw;
  max-width: 8em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.schoollife .deco-img.aug {
    bottom: 1em;
    right: 1em;
    width: 20vw;
    max-width: 7em;
  }
}
.page-norm.schoollife .deco-img.sep {
  bottom: -0.5em;
  right: 2em;
  width: 30vw;
  max-width: 8em;
}
@media print, screen and (min-width: 800px) {
  .page-norm.schoollife .deco-img.sep {
    bottom: 0.5em;
    right: 1em;
    width: 30vw;
    max-width: 10em;
  }
}
.page-norm.schoollife .deco-img.dec {
  bottom: 1em;
  right: 1em;
  width: 24vw;
  max-width: 8em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.schoollife .deco-img.dec {
    bottom: 1em;
    right: 1em;
    width: 12vw;
    max-width: 8em;
  }
}
.page-norm.schoollife .deco-img.jan {
  bottom: 1em;
  right: 1em;
  width: 24vw;
  max-width: 7em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.schoollife .deco-img.jan {
    bottom: 1em;
    right: 1em;
    width: 12vw;
    max-width: 8em;
  }
}
.page-norm.schoollife .deco-img.feb {
  top: -2.5em;
  right: 0em;
  width: 35vw;
  max-width: 10em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.schoollife .deco-img.feb {
    top: -3em;
    right: 0em;
    width: 20vw;
    max-width: 11em;
  }
}
.page-norm.schoollife .deco-img.sept {
  top: -1em;
  right: 0;
  width: 25vw;
  max-width: 10em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.schoollife .deco-img.sept {
    width: 16vw;
  }
}
@media print, screen and (min-width: 768px) {
  .page-norm.schoollife .deco-img.sept {
    top: 5.5em;
    width: 12vw;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.schoollife .deco-img.sept {
    top: -1em;
    width: 13vw;
    max-width: 10em;
  }
}
.page-norm.schoollife .deco-img.apr {
  top: -1em;
  right: -1em;
  width: 34vw;
  max-width: 10em;
}
@media print, screen and (min-width: 768px) {
  .page-norm.schoollife .deco-img.apr {
    top: -2em;
    right: -1em;
    width: 16vw;
    max-width: 13em;
  }
}
@media print, screen and (min-width: 800px) {
  .page-norm.schoollife .deco-img.apr {
    top: -2em;
    right: -1em;
    width: 10vw;
    max-width: 13em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.schoollife .deco-img.apr {
    top: -2em;
    right: -1em;
    width: 14vw;
  }
}
.page-norm.schoollife .deco-img.nov {
  top: -2em;
  right: -1em;
  width: 18vw;
  max-width: 4em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.schoollife .deco-img.nov {
    top: -3em;
    right: -1em;
    width: 12vw;
    max-width: 6em;
  }
}
@media print, screen and (min-width: 768px) {
  .page-norm.schoollife .deco-img.nov {
    top: -3em;
    right: 0;
    width: 10vw;
    max-width: 13em;
  }
}
@media print, screen and (min-width: 800px) {
  .page-norm.schoollife .deco-img.nov {
    top: -3em;
    right: 0;
    width: 10vw;
    max-width: 13em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.schoollife .deco-img.nov {
    top: -2em;
    right: 0;
    width: 10vw;
    max-width: 5em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.schoollife .deco-img.nov {
    top: -4em;
    right: 0;
    width: 12vw;
    max-width: 6em;
  }
}
.page-norm.schoollife .deco-img.bottom {
  bottom: -2.5rem;
  left: 0;
  width: 30vw;
  max-width: 8em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.schoollife .deco-img.bottom {
    max-width: 20em;
  }
}
@media print, screen and (min-width: 768px) {
  .page-norm.schoollife .deco-img.bottom {
    bottom: -3.5rem;
    left: 0;
    width: 30vw;
    max-width: 20em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.schoollife .deco-img.bottom {
    bottom: -4rem;
    left: 0;
    width: 28vw;
    max-width: 18em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.schoollife .deco-img.bottom {
    bottom: -5rem;
    left: 0;
    width: 24vw;
    max-width: 20em;
  }
}
.page-norm.schoollife .deco-img.bottom-r {
  bottom: -2.5rem;
  right: 0;
  width: 30vw;
  max-width: 8em;
}
@media print, screen and (min-width: 576px) {
  .page-norm.schoollife .deco-img.bottom-r {
    max-width: 20em;
  }
}
@media print, screen and (min-width: 768px) {
  .page-norm.schoollife .deco-img.bottom-r {
    bottom: -3.5rem;
    right: 0;
    width: 30vw;
    max-width: 20em;
  }
}
@media print, screen and (min-width: 960px) {
  .page-norm.schoollife .deco-img.bottom-r {
    bottom: -4rem;
    right: 0;
    width: 28vw;
    max-width: 18em;
  }
}
@media print, screen and (min-width: 1200px) {
  .page-norm.schoollife .deco-img.bottom-r {
    bottom: -5rem;
    right: 0;
    width: 24vw;
    max-width: 20em;
  }
}

.schoollife-header {
  position: relative;
  width: 100%;
  max-width: 940px;
  margin: 0 auto 5em;
  text-align: left;
  padding-top: 1em;
  color: #6fb27c;
}
@media print, screen and (min-width: 960px) {
  .schoollife-header {
    padding-top: 2em;
    margin: 0 auto;
  }
}
.schoollife-header h1 {
  margin: 0;
}
.schoollife-header div {
  position: absolute;
  top: 75%;
  left: 0;
  text-align: center;
  width: 65%;
}
@media print, screen and (max-width: 799px) {
  .schoollife-header div {
    padding: 0 1em;
    font-size: 0.8em;
  }
}
.schoollife-header .title {
  position: absolute;
  top: 13%;
  left: 1.5em;
}
@media print, screen and (min-width: 800px) {
  .schoollife-header .title {
    top: 0;
    left: 0;
    padding: 2em;
  }
}
.schoollife-header .title h1 {
  display: block;
  width: 61vw;
  max-width: 480px;
  margin: 0;
  padding: 0;
  font-size: 1em;
}
@media print, screen and (min-width: 800px) {
  .schoollife-header .title h1 {
    width: 30vw;
  }
}
.schoollife-header .title h1 img {
  width: 100%;
  height: auto;
}
.schoollife-header .title p {
  position: relative;
  color: #d06da2;
  font-weight: 700;
  line-height: 1.6;
  transform: rotate(-6deg);
  margin-left: 0;
  font-size: 0.875em;
  text-shadow: 1px 1px 0.5em #fff462, -1px -1px 0.5em #fff462, 1px 1px 0.5em #fff462, -1px -1px 0.5em #fff462;
}
@media print, screen and (max-width: 799px) {
  .schoollife-header .title p {
    display: none;
  }
}
@media print, screen and (min-width: 960px) {
  .schoollife-header .title p {
    margin-left: 3em;
    font-size: 0.92em;
  }
}
@media print, screen and (min-width: 1200px) {
  .schoollife-header .title p {
    margin-left: 4em;
    font-size: 1em;
  }
}

.list-yr-event {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  gap: 1em;
}
@media print, screen and (min-width: 960px) {
  .list-yr-event {
    gap: 3em;
  }
}
.list-yr-event--mnth {
  position: relative;
  width: 100%;
  padding: 1em 1.5em;
  background-color: #fff;
}
.list-yr-event--mnth::after {
  content: " ";
  display: block;
  clear: both;
}
@media print, screen and (min-width: 576px) {
  .list-yr-event--mnth {
    width: calc(50% - 1.5em);
    padding: 1em 2em;
  }
}
@media print, screen and (min-width: 960px) {
  .list-yr-event--mnth {
    width: calc(33.3333333333% - 2em);
  }
}
.list-yr-event--mnth dt {
  font-size: 0.75em;
  line-height: 1;
  font-weight: 700;
  color: #d06da2;
}
.list-yr-event--mnth dt .num {
  font-size: 2.5em;
  font-weight: 900;
  font-feature-settings: "palt";
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media print, screen and (min-width: 800px) {
  .list-yr-event--mnth dt .num {
    font-size: 3.5em;
  }
}
.list-yr-event--mnth dt .en {
  display: inline-block;
  padding-left: 0.75em;
  font-size: 2.5em;
  font-weight: 400;
  letter-spacing: 0.075em;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #dfebde;
}
.list-yr-event--mnth dd {
  padding-top: 0.5em;
}
.list-yr-event--mnth dd ul {
  letter-spacing: -0.4em;
  list-style: none;
  font-size: 0.8125em;
  line-height: 1.4;
  font-weight: 700;
  margin: 0;
}
.list-yr-event--mnth dd ul li {
  letter-spacing: 0;
  display: inline-block;
  margin: 0;
  padding: 0.25em;
  position: relative;
  padding-left: 1.1em;
}
.list-yr-event--mnth dd ul li::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #d06da2;
  border-right: 2px solid #d06da2;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -6px;
}
.list-yr-event--mnth dd ul li:not(:last-child) {
  margin-right: 1.5em;
}
@media print, screen and (min-width: 960px) {
  .list-yr-event--mnth dd ul li:not(:last-child) {
    margin-right: 2em;
  }
}
.list-yr-event--mnth dd ul li a {
  position: relative;
  color: #000;
  text-decoration: none !important;
}
.list-yr-event--mnth dd ul li a:hover {
  color: #e73278;
}
.list-yr-event--mnth dd ul li a::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: " ";
  width: 100%;
  height: 0;
  border-top: 4px solid rgba(231, 50, 120, 0.4);
}
.list-yr-event--mnth.m-may {
  padding-right: 8em;
}
@media print, screen and (min-width: 768px) {
  .list-yr-event--mnth.m-may {
    padding-right: 11em;
  }
}
@media print, screen and (min-width: 800px) {
  .list-yr-event--mnth.m-may {
    padding-right: 8em;
  }
  .list-yr-event--mnth.m-may li {
    display: flex;
  }
}
.list-yr-event--mnth.m-jun {
  padding-bottom: 6em;
}
.list-yr-event--mnth.m-aug {
  padding-bottom: 4em;
}
.list-yr-event--mnth.m-aug li {
  display: flex;
}
.list-yr-event--mnth.m-sep li {
  display: flex;
}
.list-yr-event--mnth.m-dec dd li {
  display: flex;
}
.list-yr-event--mnth.m-jan dd li {
  display: flex;
}
@media print, screen and (min-width: 800px) {
  .list-yr-event--mnth.m-jan {
    padding-bottom: 6em;
  }
}
.list-yr-event--mnth.m-apr dd {
  padding-right: 6em;
}
@media print, screen and (min-width: 768px) {
  .list-yr-event--mnth.m-apr dd {
    padding-right: 4em;
  }
}
@media print, screen and (min-width: 960px) {
  .list-yr-event--mnth.m-apr dd {
    padding-right: 9em;
  }
}
.list-yr-event--mnth.m-nov dd {
  padding-right: 6em;
}
@media print, screen and (min-width: 768px) {
  .list-yr-event--mnth.m-nov dd {
    padding-right: 4em;
  }
}
@media print, screen and (min-width: 960px) {
  .list-yr-event--mnth.m-nov dd {
    padding-right: 9em;
  }
}

.pickup-schoollife {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: end;
  align-items: flex-start;
  justify-content: center;
}
.pickup-schoollife:not(:last-child) {
  margin-bottom: 2rem;
}
.pickup-schoollife--ph {
  position: relative;
  width: 100%;
  z-index: 1;
  padding: 0.8em 1em;
}
@media print, screen and (min-width: 576px) {
  .pickup-schoollife--ph {
    width: 80%;
  }
}
@media print, screen and (min-width: 1200px) {
  .pickup-schoollife--ph {
    width: 50%;
  }
}
.pickup-schoollife--txt {
  position: relative;
  width: 100%;
  z-index: 2;
  padding: 1em;
}
.pickup-schoollife--txt::before {
  background-size: auto auto;
  background-color: rgba(0, 185, 85, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(0, 185, 85) 2px, rgb(0, 185, 85) 4px);
  position: absolute;
  top: 10px;
  left: 10px;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border-radius: 40px;
  content: " ";
  z-index: 0;
}
.pickup-schoollife--txt--inner {
  position: relative;
  background-color: #fdf2e8;
  border-radius: 36px;
  padding: 2em;
}
@media print, screen and (min-width: 1200px) {
  .pickup-schoollife--txt {
    width: 50%;
  }
}
.pickup-schoollife .phs {
  position: relative;
  width: 90%;
  overflow: hidden;
  margin: auto;
}
.pickup-schoollife .phs span {
  position: absolute;
  width: 33.33333333%;
  padding: 2px;
}
.pickup-schoollife .phs span.large {
  top: 0;
  left: 0;
  width: 66.66666666%;
  height: auto;
}
.pickup-schoollife .phs span:nth-child(2) {
  top: 0;
  right: 0;
}
.pickup-schoollife .phs span:nth-child(3) {
  bottom: 0;
  right: 0;
}
.pickup-schoollife .phs img {
  width: 100%;
  height: auto;
}
.pickup-schoollife h4 {
  display: inline-block;
  line-height: 1;
  color: #d06da2 !important;
  padding-left: 80px;
  font-size: 1.35em;
  /*&::before {
      position: absolute;
      bottom: 0;
      left: 0;
      content: ' ';
      width: 100%;
      height: .5rem;
      @include bgimg(repeat, 0 0, 6px 6px);
      background-image: url(../img/common/slash/slash-x6-wh2.svg);
      background-color: $pickupClrB;
  }*/
}
@media print, screen and (min-width: 576px) {
  .pickup-schoollife h4 {
    padding-left: 100px;
    font-size: 1.5em;
  }
}
.pickup-schoollife h4 .i {
  position: absolute;
  top: -1.5em;
  left: 1em;
  width: 80px;
  z-index: 2;
}
@media print, screen and (min-width: 576px) {
  .pickup-schoollife h4 .i {
    width: 100px;
  }
}
.pickup-schoollife h4 .i img {
  width: 100%;
  height: auto;
}
.pickup-schoollife .students-voice {
  position: relative;
  padding: 1rem;
  font-size: 0.875em;
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 4px 4px;
  background-image: url(../img/common/slash/slash-x4-wh.svg);
  background-color: rgba(235, 255, 215, 0.3);
  padding-left: 3.25rem;
  border-radius: 1em;
}
@media print, screen and (min-width: 576px) {
  .pickup-schoollife .students-voice {
    padding-left: 3.5rem;
  }
}
@media print, screen and (min-width: 800px) {
  .pickup-schoollife .students-voice {
    padding: 1.5rem;
    padding-left: 5rem;
  }
}
.pickup-schoollife .students-voice p {
  font-weight: 700;
}
.pickup-schoollife .students-voice i {
  position: absolute;
  top: -0.4rem;
  left: -1.25rem;
  width: 64px;
  height: 64px;
}
@media print, screen and (min-width: 576px) {
  .pickup-schoollife .students-voice i {
    width: 72px;
    height: 72px;
  }
}
@media print, screen and (min-width: 800px) {
  .pickup-schoollife .students-voice i {
    width: 80px;
    height: 80px;
  }
}
@media print, screen and (min-width: 1200px) {
  .pickup-schoollife .students-voice i {
    width: 88px;
    height: 88px;
  }
}
.pickup-schoollife .students-voice i img {
  width: 100%;
  height: auto;
}
.pickup-schoollife .students-voice i span {
  position: absolute;
  top: -0.75em;
  left: 100%;
  margin-left: -0.5em;
  font-size: 0.8125em;
  line-height: 1.4;
  font-family: "Unna", "Times New Roman", Times, serif;
  font-style: italic;
  color: #d06da2;
}
@media print, screen and (min-width: 768px) {
  .pickup-schoollife .students-voice i span {
    margin-left: -1em;
  }
}
.pickup-schoollife .students-voice.right {
  padding-left: 1rem;
  padding-right: 3.25rem;
}
@media print, screen and (min-width: 576px) {
  .pickup-schoollife .students-voice.right {
    padding-right: 3.5rem;
  }
}
@media print, screen and (min-width: 800px) {
  .pickup-schoollife .students-voice.right {
    padding: 1.5rem;
    padding-right: 5rem;
  }
}
.pickup-schoollife .students-voice.right i {
  left: inherit;
  right: -1.25rem;
}
.pickup-schoollife .students-voice.right i span {
  left: inherit;
  right: 100%;
  margin-left: 0;
  margin-right: -0.75em;
}
@media print, screen and (min-width: 768px) {
  .pickup-schoollife .students-voice.right i span {
    margin-left: 0;
    margin-right: -1em;
  }
}
.pickup-schoollife.rev {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.pickup-schoollife.rev .phs span.large {
  left: inherit;
  right: 0;
}
.pickup-schoollife.rev .phs span:nth-child(2) {
  right: inherit;
  left: 0;
}
.pickup-schoollife.rev .phs span:nth-child(3) {
  right: inherit;
  left: 0;
}
.pickup-schoollife#Pickup2 .students-voice i {
  transform: rotate(-5deg);
}
.pickup-schoollife#Pickup3 .students-voice i {
  transform: rotate(5deg);
}
.pickup-schoollife#Pickup4 .students-voice i {
  transform: rotate(-5deg);
}
.ph-schoollife {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  overflow: hidden;
  gap: 1em;
}
@media print, screen and (min-width: 960px) {
  .ph-schoollife {
    gap: 3em;
  }
  .ph-schoollife.ph-top {
    margin-bottom: -3em;
  }
  .ph-schoollife.ph-bottom {
    margin-top: -3em;
  }
}
.ph-schoollife span {
  display: block;
  width: calc(33.3333333333% - 0.7em);
}
@media print, screen and (min-width: 768px) {
  .ph-schoollife span {
    width: calc(33.3333333333% - 2em);
  }
}
@media print, screen and (max-width: 767px) {
  .ph-schoollife span.hide-smp {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .ph-schoollife span.hide-pc {
    display: none;
  }
}
.ph-schoollife span img {
  width: 100%;
  height: auto;
}
.link-to-vision {
  position: relative;
  text-align: center;
  margin-top: 2em;
  padding-bottom: 2em;
}
@media print, screen and (min-width: 768px) {
  .link-to-vision {
    margin-top: 3em;
  }
}
@media print, screen and (min-width: 960px) {
  .link-to-vision {
    margin-top: 4em;
  }
}
.link-to-vision a {
  position: relative;
  display: inline-block;
  width: 75%;
  max-width: 260px;
  margin: 0 auto;
}
@media print, screen and (min-width: 576px) {
  .link-to-vision a {
    max-width: 320px;
  }
}
@media print, screen and (min-width: 768px) {
  .link-to-vision a {
    width: 50%;
    max-width: 480px;
  }
}
.link-to-vision a img {
  width: 100%;
  height: auto;
}
.link-to-vision a:hover {
  transform: scale(1.05);
}

.schoollife-header .schoollife-2col {
  color: #6fb27c;
  padding: 0;
}
.schoollife-header .schoollife-2col h1 {
  color: #6fb27c !important;
}
@media print, screen and (max-width: 799px) {
  .schoollife-header .schoollife-2col-wrap {
    gap: 0;
  }
  .schoollife-header .schoollife-2col {
    padding: 1rem;
  }
}

.schoollife-1col-wrap {
  width: 100%;
  background-color: #fff;
  border-radius: 30px;
  padding: 1em;
  margin: 3em auto;
}
.schoollife-1col-wrap h3 {
  font-size: 22px;
  color: #802358 !important;
}
.schoollife-1col-wrap h3::first-letter {
  color: #802358 !important;
}

.schoollife-1col-wrap2 {
  width: 100%;
  background-color: #fff;
  border-radius: 30px;
  padding: 5em 1em 1em;
  margin: 3em auto;
  border: 1px solid #dcad35;
  position: relative;
}
@media print, screen and (min-width: 800px) {
  .schoollife-1col-wrap2 {
    padding: 4em 1em 1em;
  }
}
.schoollife-1col-wrap2 .schoollife-1col-title {
  position: absolute;
  top: 0;
  left: 7%;
  color: #fff;
  background-color: #802358;
  padding: 0.4em 0.5em;
  border-radius: 0 0 20px 20px;
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.4em;
  border: 1px solid #dcad35;
  border-top: none;
  font-feature-settings: "palt";
  text-align: center;
  width: 86%;
  line-height: 1.2;
}
@media print, screen and (min-width: 800px) {
  .schoollife-1col-wrap2 .schoollife-1col-title {
    left: 1.5em;
    padding: 0.4em 1.5em;
    font-size: 1.6em;
    text-align: left;
    width: auto;
  }
}
.schoollife-1col-wrap2 h3 {
  font-size: 22px;
  color: #802358 !important;
}
.schoollife-1col-wrap2 h3::first-letter {
  color: #802358 !important;
}

.schoollife-2col-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 3em;
}
@media print, screen and (min-width: 800px) {
  .schoollife-2col-wrap {
    flex-direction: row;
    gap: 5em;
  }
}
.schoollife-2col-wrap .schoollife-2col {
  width: 100%;
}
@media print, screen and (min-width: 800px) {
  .schoollife-2col-wrap .schoollife-2col {
    width: calc(50% - 2.5em);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }
}
.schoollife-2col-wrap .schoollife-2col h3 {
  color: #6fb27c !important;
  position: relative;
  border-bottom: 6px solid #f1dfea;
  line-height: 0.7;
  margin: 0 auto 1em;
  width: fit-content;
  font-size: 1.5em;
}
.schoollife-2col-wrap .schoollife-2col h3::first-letter {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.schoollife-2col-wrap .schoollife-2col p {
  flex: 1;
}

.schoollife-item {
  flex-wrap: wrap;
}
.schoollife-item .schoollife-2col {
  background-color: #fff;
  border-radius: 30px;
  padding: 2em;
}
.schoollife-item .schoollife-2col h3 {
  font-size: 22px;
  color: #802358 !important;
}
.schoollife-item .schoollife-2col h3::first-letter {
  color: #802358 !important;
}
.schoollife-item .schoollife-2col .schoollife-2col-2col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.schoollife-item .schoollife-2col .schoollife-2col-2col img {
  margin: 0.5em 0 0;
}
@media print, screen and (min-width: 800px) {
  .schoollife-item .schoollife-2col .schoollife-2col-2col {
    flex-direction: row;
  }
  .schoollife-item .schoollife-2col .schoollife-2col-2col img {
    margin: 0 0 0 0.5em;
    width: 150px;
    object-fit: contain;
  }
}
.schoollife-item .schoollife-2col.deco {
  position: relative;
}
.schoollife-item .schoollife-2col.deco > div {
  position: absolute;
  top: -20px;
  right: 20px;
  width: 20%;
  height: auto;
}
.schoollife-item .schoollife-2col.deco h3 {
  padding-right: 20%;
}
.schoollife-item .schoollife-2col.only_photo {
  overflow: hidden;
  padding: 0;
}
.schoollife-item .schoollife-2col.only_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.schoollife-item .schoollife-2col.bg_transparent {
  background: none;
}

.schoollife-main img {
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 799px) {
  .schoollife-main img.pc {
    display: none;
  }
}
@media print, screen and (min-width: 800px) {
  .schoollife-main img.smp {
    display: none;
  }
}

.schoollife-interview {
  display: flex;
  flex-direction: column;
  padding: 1.5em;
  background-color: #fff;
  border: 4px solid #802358;
  border-radius: 30px;
  margin-top: 3em;
  overflow: hidden;
}
@media print, screen and (min-width: 800px) {
  .schoollife-interview {
    padding: 2em;
    align-items: flex-end;
  }
}
.schoollife-interview .interview-label {
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  font-style: italic;
  background-color: #802358;
  border-radius: 0 6px 6px 0;
  width: calc(100% + 0.5em);
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: -2em;
  margin-bottom: 1em;
  padding-left: 2em;
}
@media print, screen and (min-width: 960px) {
  .schoollife-interview .interview-label {
    width: calc(100% + 2em);
  }
}
.schoollife-interview .interview-title {
  font-size: 18px;
  font-weight: 600;
  color: #802358 !important;
  margin: 1em 0 0.7em;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 960px) {
  .schoollife-interview .interview-title {
    margin: 0 0 1em 0;
    font-size: 22px;
  }
}
.schoollife-interview .interview-name {
  font-size: 14px;
  text-align: center;
}
.schoollife-interview .interview-photo {
  margin: 0 auto 0.5em;
  width: 190px;
}
@media print, screen and (min-width: 960px) {
  .schoollife-interview {
    flex-direction: row;
  }
  .schoollife-interview .interview-title-area {
    padding-left: 3em;
  }
  .schoollife-interview .interview-info {
    display: flex;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - CLUB
/* ---------------------------------------------------------------------------------------- */
.page-norm.club {
  /*background-color: $bgClubClr;
  overflow: hidden;
  background-image: url("../img/schoollife/club/club-bg.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;*/
}
.page-norm.club .scn-norm {
  margin: 0 auto;
  max-width: 1600px;
}

.page-norm.club,
.page-norm.interview-moriya {
  padding-bottom: 0;
}
.page-norm.club .scn-norm.clrd,
.page-norm.interview-moriya .scn-norm.clrd {
  background-color: rgba(230, 0, 68, 0.05);
  background: linear-gradient(60deg, rgba(230, 0, 68, 0.05) 0, rgba(230, 0, 68, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.club .scn-norm.clrd.light,
.page-norm.interview-moriya .scn-norm.clrd.light {
  background-color: rgba(230, 0, 68, 0.02);
  background: linear-gradient(60deg, rgba(230, 0, 68, 0.02) 0, rgba(230, 0, 68, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.club .scn-norm.clrd.dark,
.page-norm.interview-moriya .scn-norm.clrd.dark {
  background-color: rgba(230, 0, 68, 0.08);
  background: linear-gradient(135deg, rgba(230, 0, 68, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.club .fmt-interview .Q,
.page-norm.club .fmt-interview .nm,
.page-norm.interview-moriya .fmt-interview .Q,
.page-norm.interview-moriya .fmt-interview .nm {
  color: #e60044;
}
.page-norm.club .with-marker,
.page-norm.interview-moriya .with-marker {
  background: linear-gradient(transparent 70%, rgba(230, 0, 68, 0.4) 0%);
}
.page-norm.club h2,
.page-norm.club h3,
.page-norm.club h4,
.page-norm.interview-moriya h2,
.page-norm.interview-moriya h3,
.page-norm.interview-moriya h4 {
  color: #e60044;
}
.page-norm.club h3,
.page-norm.interview-moriya h3 {
  color: #222;
}
.page-norm.club h3::first-letter,
.page-norm.interview-moriya h3::first-letter {
  color: #e60044;
}
.page-norm.club h5,
.page-norm.interview-moriya h5 {
  color: #b30035;
}
.page-norm.club h3:not(.plain)::before,
.page-norm.interview-moriya h3:not(.plain)::before {
  border-color: #e60044;
  background: linear-gradient(to right, #e60044 0, rgba(230, 0, 68, 0) 100%);
}
.page-norm.club h4:not(.plain)::before,
.page-norm.interview-moriya h4:not(.plain)::before {
  border-color: #e60044;
}
.page-norm.club h5:not(.plain)::before,
.page-norm.interview-moriya h5:not(.plain)::before {
  border-color: #cd003c;
}
.page-norm.club h5:not(.plain)::after,
.page-norm.interview-moriya h5:not(.plain)::after {
  border-color: #ff014c;
}
.page-norm.club .txt-clr,
.page-norm.interview-moriya .txt-clr {
  color: #e60044;
}
.page-norm.club .column,
.page-norm.interview-moriya .column {
  background-color: rgba(230, 0, 68, 0.08);
}
.page-norm.club .column i,
.page-norm.interview-moriya .column i {
  background-color: #e60044;
}
.page-norm.club .column-with-title,
.page-norm.interview-moriya .column-with-title {
  background: linear-gradient(135deg, #e60044 0%, #ff3470 100%);
}
.page-norm.club .column-with-title .column--content,
.page-norm.interview-moriya .column-with-title .column--content {
  background-color: white;
  box-shadow: 0 0 1em #b30035;
}
.page-norm.club .corner-header .parent,
.page-norm.interview-moriya .corner-header .parent {
  color: #e60044;
  border-color: #e60044;
}
.page-norm.club .corner-header .self .txt h1 .with-marker,
.page-norm.interview-moriya .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(230, 0, 68, 0.3) 0%);
}
.page-norm.club .corner-header h1,
.page-norm.interview-moriya .corner-header h1 {
  color: #e60044;
}
.page-norm.club .corner-header h2,
.page-norm.interview-moriya .corner-header h2 {
  color: #b30035;
}
.page-norm.club .interlude.clr-belt::after,
.page-norm.interview-moriya .interlude.clr-belt::after {
  background-color: #e60044;
}
.page-norm.club .message .message--teacher--txt h5,
.page-norm.interview-moriya .message .message--teacher--txt h5 {
  color: #cd003c;
  font-size: 1.35em;
}
@media print, screen and (min-width: 1200px) {
  .page-norm.club .message .message--teacher--txt h5 br,
  .page-norm.interview-moriya .message .message--teacher--txt h5 br {
    display: none;
  }
}

.club-header {
  text-align: left;
  padding: 3em 1.5em 1em 1.5em;
  margin: 0 auto;
  max-width: 1600px;
}
.club-header h1 {
  width: 100%;
  display: block;
  margin: 0 auto;
  padding: 0;
}
@media print, screen and (min-width: 768px) {
  .club-header h1 {
    max-width: 965px;
  }
}
@media print, screen and (min-width: 960px) {
  .club-header h1 {
    max-width: 965px;
  }
}
.club-header h1 img {
  width: 100%;
  height: auto;
}
.club-header p.lead {
  color: #4c9dbe;
  font-feature-settings: "palt";
  padding: 1em 0 0;
}
@media print, screen and (min-width: 800px) {
  .club-header p.lead {
    font-size: 1em;
    padding: 0;
    text-align: center;
  }
}
@media print, screen and (max-width: 767px) {
  .club-header p.lead br {
    display: none;
  }
}

#Scn-club-sports {
  /*&::after {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      transform: skewY(-15deg);
      content: ' ';
      background-color: #f8c5ac;
      background: linear-gradient(to right, #f8c5ac 0, #fbe2d5 80%, #fbe2d5 100%);
      opacity: .8;
      z-index: 0;
  }*/
}

#Scn-club-culture {
  /*&::after {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      transform: skewY(-15deg);
      content: ' ';
      background: linear-gradient(to right, #ffe9e1 0, #fff 80%, #ffe9e1 100%);
      opacity: .8;
      z-index: 0;
  }*/
}

.pickup-clubs {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  z-index: 1;
}
.pickup-clubs .pickup-club {
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .pickup-clubs .pickup-club {
    width: 50%;
  }
}
.pickup-clubs .pickup-club--img {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
@media print, screen and (min-width: 576px) {
  .pickup-clubs .pickup-club--img {
    width: 80%;
  }
}
.pickup-clubs .pickup-club--img img {
  width: 100%;
  height: auto;
}
.pickup-clubs .pickup-club--text {
  position: absolute;
  top: 0;
  left: 0;
  text-align: left;
  padding: 0 1.5em;
}
@media print, screen and (min-width: 768px) {
  .pickup-clubs .pickup-club--text {
    padding: 0;
  }
}
.pickup-clubs .pickup-club--text h4 {
  position: relative;
  line-height: 1;
  margin-bottom: 2em;
}
.pickup-clubs .pickup-club--text h4 span {
  position: relative;
  display: block;
  color: #FFF !important;
  font-size: 0.875em;
}
@media print, screen and (min-width: 576px) {
  .pickup-clubs .pickup-club--text h4 span {
    font-size: 0.92em;
  }
}
@media print, screen and (min-width: 960px) {
  .pickup-clubs .pickup-club--text h4 span {
    font-size: 1.3em;
  }
}
.pickup-clubs .pickup-club--text dl {
  font-size: 2.5vw;
}
@media print, screen and (min-width: 576px) {
  .pickup-clubs .pickup-club--text dl {
    font-size: 2.5vw;
  }
}
@media print, screen and (min-width: 768px) {
  .pickup-clubs .pickup-club--text dl {
    font-size: 1.45vw;
  }
}
@media print, screen and (min-width: 1200px) {
  .pickup-clubs .pickup-club--text dl {
    font-size: 1em;
  }
}
.pickup-clubs .pickup-club--text dl dt {
  font-weight: 700;
  font-feature-settings: "palt";
}
.pickup-clubs .pickup-club--text dl dd {
  font-size: 0.875em;
  line-height: 1.4;
  font-weight: 700;
}
.pickup-clubs .pickup-club--text dl dd ul {
  list-style: none;
}
.pickup-clubs .pickup-club--text dl dd ul li {
  position: relative;
  margin-bottom: 0.25em;
  padding-left: 1.2em;
}
.pickup-clubs .pickup-club--text dl dd ul li::before {
  /*text-indent: 0;
  content: '●';
  width: 1em;
  text-align: center;*/
  position: absolute;
  width: 14px;
  height: 9px;
  left: 0;
  top: 6px;
  display: inline-block;
  content: "";
  background-image: url("../img/schoollife/club/arrow-blue.svg");
  background-size: contain;
  z-index: 1;
}
@media print, screen and (max-width: 575px) {
  .pickup-clubs .pickup-club--text dl dd ul li::before {
    width: 7px;
    height: 4.5px;
    top: 4px;
  }
}
@media print, screen and (max-width: 767px) {
  .pickup-clubs .pickup-club--text dl dd ul li br {
    display: none;
  }
}
.pickup-clubs .pickup-club.sports .pickup-club--text dl dt {
  color: #0037b4;
}
.pickup-clubs .pickup-club.sports .pickup-club--text dl dd {
  text-shadow: 1px 1px 1em #e8f7ff, -1px -1px 1em #e8f7ff;
}
.pickup-clubs .pickup-club.sports h4 span {
  color: #0037b4 !important;
}
.pickup-clubs .pickup-club.culture .pickup-club--text dl dt {
  color: #c8328c;
}
.pickup-clubs .pickup-club.culture .pickup-club--text dl dd {
  text-shadow: 1px 1px 1em #fff, -1px -1px 1em #fff;
}
.pickup-clubs .pickup-club.culture .pickup-club--text dl dd ul li::before {
  background-image: url("../img/schoollife/club/arrow-purple.svg");
}
.pickup-clubs .pickup-club.culture h4 span {
  color: #c8328c !important;
}
@media print, screen and (min-width: 768px) {
  .pickup-clubs .pickup-club#Pickup-Soccer {
    width: 50%;
  }
}
.pickup-clubs .pickup-club#Pickup-Soccer .pickup-club--text {
  top: 39%;
  left: 48%;
}
@media print, screen and (min-width: 576px) {
  .pickup-clubs .pickup-club#Pickup-Soccer .pickup-club--text {
    top: 38%;
    left: 54%;
  }
}
@media print, screen and (min-width: 768px) {
  .pickup-clubs .pickup-club#Pickup-RGym {
    width: 50%;
  }
}
.pickup-clubs .pickup-club#Pickup-RGym .pickup-club--text {
  top: 67%;
  left: 40%;
}
@media print, screen and (min-width: 800px) {
  .pickup-clubs .pickup-club#Pickup-RGym .pickup-club--text {
    top: 57%;
    left: 46%;
  }
}
.pickup-clubs .pickup-club#Pickup-Baton {
  margin-bottom: 3em;
}
@media print, screen and (min-width: 768px) {
  .pickup-clubs .pickup-club#Pickup-Baton {
    margin-top: 0;
  }
}
.pickup-clubs .pickup-club#Pickup-Baton .pickup-club--text {
  position: relative;
  margin: 1em auto 0;
}
.pickup-clubs .pickup-club#Pickup-Baton .pickup-club--text h4 {
  position: absolute;
  top: -3em;
}
@media print, screen and (min-width: 576px) {
  .pickup-clubs .pickup-club#Pickup-Baton .pickup-club--text {
    width: 80%;
  }
}
.pickup-clubs .pickup-club#Pickup-Debate {
  margin-bottom: 10em;
}
.pickup-clubs .pickup-club#Pickup-Debate .pickup-club--text {
  position: relative;
  margin: 1em 0 0;
  width: 98%;
  text-align: right;
}
.pickup-clubs .pickup-club#Pickup-Debate .pickup-club--text h4 {
  position: absolute;
  top: -3em;
  right: 0;
}
.pickup-clubs .pickup-club#Pickup-Debate .pickup-club--text dl {
  position: absolute;
  top: 0;
  right: 5%;
  width: fit-content;
  text-align: left;
}
@media print, screen and (min-width: 576px) {
  .pickup-clubs .pickup-club#Pickup-Debate .pickup-club--text {
    width: 97%;
  }
}
.pickup-clubs .club-banners {
  /*position: relative;
  @include flex();*/
  list-style: none;
  /*margin: -1.5em 0 0;
  padding: 0 1rem;*/
  /*@include mq-up() {
      position: absolute;
      bottom: 1em;
      right: 0;
      z-index: 1;
      width: 80%;
      padding: 0;
  }*/
  /*@include mq-up(lg) {
      bottom: 2em;
      width: 60%;
  }*/
}
.pickup-clubs .club-banners li {
  margin: 0;
  width: 70%;
  padding: 5px 0;
}
.pickup-clubs .club-banners li a {
  display: block;
  box-shadow: 0 0 1.5em -0.25em rgba(0, 0, 0, 0.2);
}

.scn-norm#Scn-club-others {
  padding-top: 1em;
}
.scn-norm#Scn-club-others::before {
  position: absolute;
  top: 0;
  left: 0;
  content: " ";
  width: 100%;
  height: 20em;
  z-index: -1;
}

.scn-norm#Scn-club-others {
  padding-top: 0.5em;
}
.scn-norm#Scn-club-others::before {
  background: linear-gradient(to bottom, rgba(230, 0, 68, 0.2) 0, rgba(230, 0, 68, 0) 100%);
}

.list-club {
  position: relative;
  max-width: 1300px;
  margin: 2em auto 5em;
  padding: 0 1em;
}
@media print, screen and (max-width: 799px) {
  .list-club br {
    display: none;
  }
}
.list-club ul {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  list-style: none;
  margin: 0;
  gap: 1em;
}
@media print, screen and (min-width: 800px) {
  .list-club ul.club04_width {
    width: 130% !important;
  }
}
.list-club ul li {
  position: relative;
  width: calc(50% - 1em);
  overflow: hidden;
  padding: 0;
  margin: 0;
  /*@include mq-up(sm) {
      width: 33.33333333%;
      width: calc(33.33333333% - 1em);
  }*/
}
@media print, screen and (max-width: 799px) {
  .list-club ul li.list_type01 {
    width: 100%;
  }
  .list-club ul li.list_type01 .ti {
    width: 30%;
  }
  .list-club ul li.list_type02 {
    width: calc((100% - 1em) / 2);
    aspect-ratio: 4/3;
  }
  .list-club ul li.list_type02 .ti {
    width: 40%;
  }
  .list-club ul li.list_type03 {
    width: calc((100% - 1em) / 2);
    aspect-ratio: 4/3;
  }
  .list-club ul li.list_type03 .ti {
    width: 40%;
  }
}
@media print, screen and (min-width: 800px) {
  .list-club ul li.list_type01 {
    width: calc((100% - 1em) / 2);
  }
  .list-club ul li.list_type02 {
    width: calc((100% - 2em) / 3);
  }
  .list-club ul li.list_type03 {
    width: calc((100% - 3em) / 4);
  }
  .list-club ul li .ti {
    width: 30%;
  }
}
.list-club ul li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.list-club ul li .ti {
  position: absolute;
  top: 0;
  left: 0;
  width: 30%;
  height: auto;
  display: block;
}
.list-club ul li .desc {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding: 0.5em 0.7em;
  background-color: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-feature-settings: "palt";
  font-size: 0.8em;
  display: flex;
  gap: 1em;
}
@media print, screen and (max-width: 799px) {
  .list-club ul li .desc {
    flex-direction: column;
    gap: 0;
  }
}
.list-club ul li .desc ul {
  display: block;
  width: 100%;
}
.list-club ul li .desc ul li {
  position: relative;
  padding-left: 15px;
  width: auto;
  text-align: left;
}
.list-club ul li .desc ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  display: block;
  background: #00a5e7;
  border-radius: 2px;
  width: 10px;
  height: 10px;
}
.list-club ul li .desc.orange li::before {
  background: #d78347;
}
.list-club ul li.sports .ti {
  color: #0037b4;
}
.list-club ul li.culture img {
  outline: 5px solid rgba(200, 50, 140, 0.7);
}
.list-club ul li.culture .ti {
  color: #c8328c;
}

.interview-moriya .interview-header {
  position: relative;
  background-color: #ddd;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  background-color: #0081cc;
}
.interview-moriya .interview-header::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: " ";
  opacity: 0.2;
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 4px 4px;
  background-image: url("../img/common/slash/slash-x4-wh.svg");
}
.interview-moriya .interview-header--img {
  position: relative;
  z-index: 2;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .interview-moriya .interview-header--img {
    width: 60%;
  }
}
.interview-moriya .interview-header--img .ph {
  position: relative;
}
.interview-moriya .interview-header--img .txt {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.interview-moriya .interview-header--titles {
  position: relative;
  z-index: 2;
  text-align: left;
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 960px) {
  .interview-moriya .interview-header--titles {
    width: 40%;
    padding-right: 3rem;
  }
}
.interview-moriya .interview-header--titles .inner {
  margin: auto;
  padding: 1rem 1.5rem;
}
@media print, screen and (min-width: 576px) {
  .interview-moriya .interview-header--titles .inner {
    padding: 1.5rem;
  }
}
@media print, screen and (min-width: 960px) {
  .interview-moriya .interview-header--titles .inner {
    max-width: 560px;
    padding: 2rem;
  }
}
.interview-moriya .interview-header--titles .m {
  font-size: 0.875em;
  font-weight: 700;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  color: #faff2c;
}
.interview-moriya .interview-header--titles h1 {
  font-size: 1.45em;
  line-height: 1.45;
  color: #fff;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin: 0 0 0.25em;
}
@media print, screen and (min-width: 576px) {
  .interview-moriya .interview-header--titles h1 {
    font-size: 1.75em;
  }
}
@media print, screen and (min-width: 800px) {
  .interview-moriya .interview-header--titles h1 {
    font-size: 1.5em;
  }
}
@media print, screen and (min-width: 1200px) {
  .interview-moriya .interview-header--titles h1 {
    font-size: 2em;
  }
}
@media print, screen and (min-width: 1200px) {
  .interview-moriya .interview-header--titles h1 {
    font-size: 2em;
  }
}
.interview-moriya .interview-header--titles h2 {
  font-size: 1.05em;
  color: #000;
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  margin: 0;
}
@media print, screen and (min-width: 800px) {
  .interview-moriya .interview-header--titles h2 {
    font-size: 1.05em;
  }
}
@media print, screen and (min-width: 1200px) {
  .interview-moriya .interview-header--titles h2 {
    font-size: 1.25em;
  }
}
.interview-moriya .fmt-interview .prsn-1 {
  border-color: #0081cc;
}
.interview-moriya .fmt-interview .prsn-1 .nm {
  color: #0081cc;
}
.interview-moriya .fmt-interview .prsn-1 .nm::after {
  border-color: #0081cc;
}
.interview-moriya .interlude-illust {
  position: relative;
  width: 100%;
  text-align: center;
  margin: 2rem auto 0;
}
.interview-moriya .interlude-illust:not(:last-child) {
  margin-bottom: 2rem;
}
.interview-moriya .interlude-illust img {
  width: 100%;
  max-width: 400px;
}
.interview-moriya .interlude-illust.large img {
  max-width: 600px;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - UNIFORM
/* ---------------------------------------------------------------------------------------- */
.page-norm.uniform {
  padding-bottom: 0;
}
.page-norm.uniform .scn-norm.clrd {
  background-color: rgba(72, 28, 135, 0.05);
  background: linear-gradient(60deg, rgba(72, 28, 135, 0.05) 0, rgba(72, 28, 135, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.uniform .scn-norm.clrd.light {
  background-color: rgba(72, 28, 135, 0.02);
  background: linear-gradient(60deg, rgba(72, 28, 135, 0.02) 0, rgba(72, 28, 135, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.uniform .scn-norm.clrd.dark {
  background-color: rgba(72, 28, 135, 0.08);
  background: linear-gradient(135deg, rgba(72, 28, 135, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.uniform .fmt-interview .Q,
.page-norm.uniform .fmt-interview .nm {
  color: #481c87;
}
.page-norm.uniform .with-marker {
  background: linear-gradient(transparent 70%, rgba(72, 28, 135, 0.4) 0%);
}
.page-norm.uniform h2,
.page-norm.uniform h3,
.page-norm.uniform h4 {
  color: #481c87;
}
.page-norm.uniform h3 {
  color: #222;
}
.page-norm.uniform h3::first-letter {
  color: #481c87;
}
.page-norm.uniform h5 {
  color: #31135d;
}
.page-norm.uniform h3:not(.plain)::before {
  border-color: #481c87;
  background: linear-gradient(to right, #481c87 0, rgba(72, 28, 135, 0) 100%);
}
.page-norm.uniform h4:not(.plain)::before {
  border-color: #481c87;
}
.page-norm.uniform h5:not(.plain)::before {
  border-color: #3d1872;
}
.page-norm.uniform h5:not(.plain)::after {
  border-color: #53209c;
}
.page-norm.uniform .txt-clr {
  color: #481c87;
}
.page-norm.uniform .column {
  background-color: rgba(72, 28, 135, 0.08);
}
.page-norm.uniform .column i {
  background-color: #481c87;
}
.page-norm.uniform .column-with-title {
  background: linear-gradient(135deg, #481c87 0%, #6a29c6 100%);
}
.page-norm.uniform .column-with-title .column--content {
  background-color: #e2d5f6;
  box-shadow: 0 0 1em #31135d;
}
.page-norm.uniform .corner-header .parent {
  color: #481c87;
  border-color: #481c87;
}
.page-norm.uniform .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(72, 28, 135, 0.3) 0%);
}
.page-norm.uniform .corner-header h1 {
  color: #481c87;
}
.page-norm.uniform .corner-header h2 {
  color: #31135d;
}
.page-norm.uniform .interlude.clr-belt::after {
  background-color: #481c87;
}
.scn-uniform {
  position: relative;
  padding-bottom: 2rem;
}
.scn-uniform.pc {
  display: none;
}
@media print, screen and (min-width: 800px) {
  .scn-uniform.pc {
    display: block;
  }
}
.scn-uniform.smp {
  display: block;
  background: repeating-linear-gradient(-45deg, #f2dbe8, #f2dbe8 5px, #f7ebf2 5px, #f7ebf2 8px);
}
@media print, screen and (min-width: 800px) {
  .scn-uniform.smp {
    display: none;
  }
}
.scn-uniform .img {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
.scn-uniform .img img {
  width: 100%;
  height: auto;
}
.scn-uniform .img img.ph {
  position: relative;
}
.scn-uniform .img img.txt {
  position: absolute;
  top: 0;
  left: 0;
}
.scn-uniform::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 90%;
  background: linear-gradient(135deg, #ffe893 0, #fff5d7 100%);
  z-index: 0;
}

.swp-btn-prev,
.swp-btn-next {
  position: absolute;
  top: 50%;
  margin-top: -20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  z-index: 10;
  cursor: pointer;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
@media print, screen and (min-width: 768px) {
  .swp-btn-prev,
  .swp-btn-next {
    display: block;
  }
}
.swp-btn-prev:hover,
.swp-btn-next:hover {
  transform: scale(1.1);
}
.swp-btn-prev::before,
.swp-btn-next::before {
  position: absolute;
  top: 50%;
  left: 50%;
  content: " ";
  width: 10px;
  height: 10px;
  border: 1px solid transparent;
  z-index: 1;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.swp-btn-prev {
  left: 0.15em;
}
.swp-btn-prev::before {
  border-top-color: #082854;
  border-left-color: #082854;
  margin-left: 3px;
}

.swp-btn-next {
  right: 0.15em;
}
.swp-btn-next::before {
  border-bottom-color: #082854;
  border-right-color: #082854;
  margin-left: -3px;
}

.bt_modal_open {
  position: fixed;
  bottom: 1em;
  left: 0.5em;
  z-index: 88888;
}
@media print, screen and (min-width: 800px) {
  .bt_modal_open {
    bottom: auto;
    left: auto;
    top: 270px;
    right: 10px;
  }
}
@media print, screen and (min-width: 960px) {
  .bt_modal_open {
    top: 310px;
    right: 20px;
  }
}
@media print, screen and (min-width: 1200px) {
  .bt_modal_open {
    top: 380px;
    right: 80px;
  }
}
.bt_modal_open button {
  background-color: #d06da2;
  border-radius: 40px;
  position: relative;
  font-size: 1.25em;
  font-weight: bold;
  text-align: left;
  padding: 0.5em 0.7em 0.5em 44px;
  border: 2px solid #fff;
  color: #fff;
  line-height: 1;
  cursor: pointer;
}
.bt_modal_open button::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px #d06da2;
  border-right: solid 2px #d06da2;
  transform: rotate(45deg);
  position: absolute;
  left: 0.75em;
  top: 50%;
  margin-top: -4px;
  z-index: 1;
}
.bt_modal_open button::after {
  content: "";
  width: 1.4em;
  height: 1.4em;
  position: absolute;
  left: 7px;
  top: 50%;
  background-color: #fff;
  border-radius: 50%;
  margin-top: -0.7em;
}

.modal_area {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  background: rgba(80, 80, 80, 0.6);
  z-index: 99999;
  animation-name: show;
  animation-duration: 0.5s;
}
.modal_area .modal_content {
  position: relative;
  background: repeating-linear-gradient(90deg, #f2dbe8, #f2dbe8 5px, #f7ebf2 5px, #f7ebf2 8px);
  color: #505050;
  padding: 25px;
  width: calc(100% - 50px);
  max-width: 760px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.modal_area .modal_content .bt_modal_close {
  position: absolute;
  top: 0;
  right: 0;
  width: 30px;
  height: 30px;
  background-color: #dcdcdc;
  display: block;
  cursor: pointer;
}
.modal_area .modal_content .bt_modal_close::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 25px;
  background: #505050;
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal_area .modal_content .bt_modal_close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 25px;
  background: #505050;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal_area .modal_content .bt_modal_close:hover {
  opacity: 0.5;
}
.modal_area .modal_content h1 {
  font-size: 2em;
  font-weight: bold;
  text-align: center;
  color: #d06da2;
  border-bottom: 3px dotted #00a0aa;
  margin-bottom: 0;
  padding-bottom: 0;
  letter-spacing: 0.1em;
}
@media print, screen and (min-width: 800px) {
  .modal_area .modal_content h1 {
    font-size: 2.75em;
  }
}
.modal_area .modal_content h1 span {
  color: #59b2db;
  letter-spacing: 0.2em;
}
.modal_area .modal_content h2 {
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
  color: #d06da2;
  margin: 0.2em 0 0.5em;
}
@media print, screen and (min-width: 800px) {
  .modal_area .modal_content h2 {
    font-size: 1.875em;
    margin: 0.2em 0;
  }
}
.modal_area .modal_content h3 {
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  color: #59b2db;
  margin: 0 0 1em;
  line-height: 1.3;
}
@media print, screen and (min-width: 800px) {
  .modal_area .modal_content h3 {
    font-size: 1.2em;
  }
}
.modal_area .modal_content ul.modal_notice {
  margin: 0 auto 1em;
  width: fit-content;
  list-style: none;
  /*@include mq-down(xsm) {
      display: none;
  }*/
}
.modal_area .modal_content ul.modal_notice li {
  font-size: 0.875em;
  position: relative;
  text-align: left;
  padding-left: 1em;
}
@media print, screen and (min-width: 800px) {
  .modal_area .modal_content ul.modal_notice li {
    font-size: 1em;
  }
}
.modal_area .modal_content ul.modal_notice li span {
  color: #eb5532;
}
.modal_area .modal_content ul.modal_notice li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid #00a0aa;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
}
@media print, screen and (max-width: 799px) {
  .modal_area .modal_content ul.modal_notice li:first-child {
    display: none;
  }
}
.modal_area .modal_content .qr_area {
  display: flex;
  margin-bottom: 1.5em;
}
@media print, screen and (max-width: 799px) {
  .modal_area .modal_content .qr_area {
    margin-bottom: 0;
  }
}
.modal_area .modal_content .qr_area .qr_student01 {
  width: 20%;
  z-index: 1;
}
@media print, screen and (max-width: 799px) {
  .modal_area .modal_content .qr_area .qr_student01 {
    margin-top: -18px;
  }
}
.modal_area .modal_content .qr_area .qr_student01 img {
  max-height: 15em;
}
@media print, screen and (min-width: 800px) {
  .modal_area .modal_content .qr_area .qr_student01 img {
    margin-right: -3em;
  }
}
.modal_area .modal_content .qr_area .qr_student02 {
  width: 20%;
}
@media print, screen and (max-width: 799px) {
  .modal_area .modal_content .qr_area .qr_student02 {
    align-self: flex-end;
  }
}
.modal_area .modal_content .qr_area .qr_student02 img {
  max-height: 15em;
}
@media print, screen and (min-width: 800px) {
  .modal_area .modal_content .qr_area .qr_student02 img {
    margin-left: -3em;
  }
}
.modal_area .modal_content .qr_area .qr_link_area {
  width: 60%;
  display: flex;
  justify-content: space-between;
}
@media print, screen and (max-width: 799px) {
  .modal_area .modal_content .qr_area .qr_link_area {
    flex-direction: column;
  }
}
.modal_area .modal_content .qr_area .qr_link_area .link_area01 {
  padding-right: 1em;
}
@media print, screen and (max-width: 799px) {
  .modal_area .modal_content .qr_area .qr_link_area .link_area01 {
    padding: 0;
    margin-bottom: 2em;
  }
}
.modal_area .modal_content .qr_area .qr_link_area .link_area01 .qr_img {
  margin-bottom: 1em;
}
@media print, screen and (max-width: 799px) {
  .modal_area .modal_content .qr_area .qr_link_area .link_area01 .qr_img {
    display: none;
  }
}
.modal_area .modal_content .qr_area .qr_link_area .link_area01 .bt_qr_link01 a {
  background-color: #ff3282;
  border-radius: 33px;
  font-size: 1.1em;
  font-weight: 600;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  padding: 0.5em 0;
}
.modal_area .modal_content .qr_area .qr_link_area .link_area01 .bt_qr_link01 a:hover {
  opacity: 0.5;
}
.modal_area .modal_content .qr_area .qr_link_area .link_area02 {
  padding-left: 1em;
}
@media print, screen and (max-width: 799px) {
  .modal_area .modal_content .qr_area .qr_link_area .link_area02 {
    padding: 0;
    margin-bottom: 2.5em;
  }
}
.modal_area .modal_content .qr_area .qr_link_area .link_area02 .qr_img {
  margin-bottom: 1em;
}
@media print, screen and (max-width: 799px) {
  .modal_area .modal_content .qr_area .qr_link_area .link_area02 .qr_img {
    display: none;
  }
}
.modal_area .modal_content .qr_area .qr_link_area .link_area02 .bt_qr_link02 a {
  background-color: #0096ff;
  border-radius: 33px;
  font-size: 1.1em;
  font-weight: 600;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  padding: 0.5em 0;
}
.modal_area .modal_content .qr_area .qr_link_area .link_area02 .bt_qr_link02 a:hover {
  opacity: 0.5;
}
.modal_area .modal_content .modal_info_title {
  font-weight: bold;
  border-bottom: 1px solid #505050;
  margin-bottom: 0.5em;
}
.modal_area .modal_content .modal_info {
  font-size: 0.75em;
  margin-bottom: 0.5em;
}

@keyframes show {
  0% {
    display: none;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
/* ---------------------------------------------------------------------------------------- */
/* PAGE - FACILITIES
/* ---------------------------------------------------------------------------------------- */
.page-norm.facilities {
  padding-bottom: 0;
}
.page-norm.facilities .scn-norm.clrd {
  background-color: rgba(241, 141, 0, 0.05);
  background: linear-gradient(60deg, rgba(241, 141, 0, 0.05) 0, rgba(241, 141, 0, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.facilities .scn-norm.clrd.light {
  background-color: rgba(241, 141, 0, 0.02);
  background: linear-gradient(60deg, rgba(241, 141, 0, 0.02) 0, rgba(241, 141, 0, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.facilities .scn-norm.clrd.dark {
  background-color: rgba(241, 141, 0, 0.08);
  background: linear-gradient(135deg, rgba(241, 141, 0, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.facilities .fmt-interview .Q,
.page-norm.facilities .fmt-interview .nm {
  color: #f18d00;
}
.page-norm.facilities .with-marker {
  background: linear-gradient(transparent 70%, rgba(241, 141, 0, 0.4) 0%);
}
.page-norm.facilities h2,
.page-norm.facilities h3,
.page-norm.facilities h4 {
  color: #f18d00;
}
.page-norm.facilities h3 {
  color: #222;
}
.page-norm.facilities h3::first-letter {
  color: #f18d00;
}
.page-norm.facilities h5 {
  color: #be6f00;
}
.page-norm.facilities h3:not(.plain)::before {
  border-color: #f18d00;
  background: linear-gradient(to right, #f18d00 0, rgba(241, 141, 0, 0) 100%);
}
.page-norm.facilities h4:not(.plain)::before {
  border-color: #f18d00;
}
.page-norm.facilities h5:not(.plain)::before {
  border-color: #d87e00;
}
.page-norm.facilities h5:not(.plain)::after {
  border-color: #ff9a0c;
}
.page-norm.facilities .txt-clr {
  color: #f18d00;
}
.page-norm.facilities .column {
  background-color: rgba(241, 141, 0, 0.08);
}
.page-norm.facilities .column i {
  background-color: #f18d00;
}
.page-norm.facilities .column-with-title {
  background: linear-gradient(135deg, #f18d00 0%, #ffaf3f 100%);
}
.page-norm.facilities .column-with-title .column--content {
  background-color: white;
  box-shadow: 0 0 1em #be6f00;
}
.page-norm.facilities .corner-header .parent {
  color: #f18d00;
  border-color: #f18d00;
}
.page-norm.facilities .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(241, 141, 0, 0.3) 0%);
}
.page-norm.facilities .corner-header h1 {
  color: #f18d00;
}
.page-norm.facilities .corner-header h2 {
  color: #be6f00;
}
.page-norm.facilities .interlude.clr-belt::after {
  background-color: #f18d00;
}
.map-facilities {
  position: relative;
}
.map-facilities .fig-facilities {
  position: sticky;
  top: 0;
  z-index: 1;
}
.map-facilities .list-facilities {
  position: relative;
  z-index: 2;
  pointer-events: none;
}

.fig-facilities {
  width: 100%;
  height: 0;
  padding-top: 50%;
  overflow: hidden;
}
.fig-facilities h1 {
  position: absolute;
  top: 0.75rem;
  left: 0.5rem;
  font-size: 1.15rem;
  line-height: 1;
  color: #fff;
  margin: 0;
  z-index: 3;
}
@media print, screen and (min-width: 576px) {
  .fig-facilities h1 {
    left: 1rem;
    top: 1rem;
    font-size: 1.35rem;
  }
}
@media print, screen and (min-width: 960px) {
  .fig-facilities h1 {
    top: 2rem;
    font-size: 2em;
  }
}
@media print, screen and (min-width: 1200px) {
  .fig-facilities h1 {
    font-size: 2em;
  }
}
.fig-facilities span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.fig-facilities span.figure {
  z-index: 1;
}
.fig-facilities span img {
  position: relative;
  width: 100%;
  height: auto;
}
.fig-facilities .cmap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: auto;
}
.fig-facilities .cmap .st0 {
  fill: none;
  fill: transparent;
}

.list-facilities {
  position: relative;
  text-align: left;
  padding-bottom: 2rem;
}
@media print, screen and (min-width: 576px) {
  .list-facilities {
    padding-bottom: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .list-facilities {
    padding-bottom: 3rem;
  }
}
.list-facilities .inner {
  position: relative;
  background-color: rgba(255, 255, 255, 0.9);
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  padding: 1rem;
  margin-left: -1rem;
  margin-right: -1rem;
  pointer-events: auto;
}
@media print, screen and (min-width: 576px) {
  .list-facilities .inner {
    margin: 0;
    padding: 3rem 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .list-facilities .inner {
    padding: 3rem 2rem;
  }
}
.list-facilities .item {
  width: 100%;
  padding: 0.5rem;
}
@media print, screen and (min-width: 350px) {
  .list-facilities .item {
    width: 50%;
  }
}
@media print, screen and (min-width: 576px) {
  .list-facilities .item {
    width: 33.33333333%;
  }
}
@media print, screen and (min-width: 800px) {
  .list-facilities .item {
    width: 25%;
  }
}
.list-facilities .item dl dt {
  position: relative;
  color: #003e91;
  color: #111;
  font-weight: 700;
}
.list-facilities .item dl dt i {
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  background-color: #f18d00;
  font-size: 0.8rem;
  line-height: 1.25rem;
  color: #fff;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-style: normal;
  font-weight: 500;
  text-align: center;
}
.list-facilities .item dl dt > span,
.list-facilities .item dl dt a {
  position: relative;
  display: block;
  padding-left: 1.75rem;
  border-bottom: 1px solid #aaa;
  padding-bottom: 0.35em;
  margin-bottom: 0.5em;
  text-decoration: none !important;
}
.list-facilities .item dl dt a {
  color: #003e91;
  color: #111;
  border-bottom-color: #003e91;
}
.list-facilities .item dl dt a span {
  position: absolute;
  top: 50%;
  right: 0;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  display: block;
}
.list-facilities .item dl dt a span::before {
  position: absolute;
  top: 5px;
  left: 0;
  width: 100%;
  height: 0;
  content: " ";
  border-top: 2px solid #082854;
}
.list-facilities .item dl dt a span::after {
  position: absolute;
  top: 0;
  left: 5px;
  width: 0;
  height: 100%;
  content: " ";
  border-left: 2px solid #082854;
}
.list-facilities .item dl dd {
  padding-left: 1.75rem;
  font-size: 0.8125em;
  line-height: 1.4;
  font-feature-settings: "palt";
}
.list-facilities .item dl dd:not(:last-child) {
  margin-bottom: 0.25em;
}

.ph-facilities {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 1002;
  opacity: 0;
  display: none;
}
.ph-facilities .inner {
  position: relative;
  width: 100%;
}
.ph-facilities .item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: none;
}
.ph-facilities .item .ph {
  width: 100%;
}
.ph-facilities .item .ph img {
  width: 100%;
  height: auto;
}
.ph-facilities .item .ti {
  text-align: left;
  color: #fff;
}
.ph-facilities .item .ti i {
  font-family: "Unna", "Times New Roman", Times, serif;
  font-style: italic;
  font-weight: 700;
  display: inline-block;
  line-height: 2em;
  background-color: #fff;
  color: #f18d00;
  width: 2em;
  height: 2em;
  margin-right: 0.5em;
  text-align: center;
}
.ph-facilities .item .ti i.none {
  width: 0;
  overflow: hidden;
}
.ph-facilities .modalBtns {
  z-index: 1000;
  position: absolute;
  width: 32px;
  height: 32px;
  text-align: left;
  top: -32px;
  right: -32px;
}
@media print, screen and (min-width: 800px) {
  .ph-facilities .modalBtns {
    width: 40px;
    height: 40px;
    top: -40px;
    right: -40px;
  }
}
.ph-facilities .modalBtns a.modalBtn-close {
  position: relative;
  float: right;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  display: block;
  background-color: rgba(0, 0, 0, 0.8);
}
@media print, screen and (min-width: 800px) {
  .ph-facilities .modalBtns a.modalBtn-close {
    width: 40px;
    height: 40px;
  }
}
.ph-facilities .modalBtns a.modalBtn-close span {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -1px;
  transform: rotate(45deg);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.ph-facilities .modalBtns a.modalBtn-close span::before, .ph-facilities .modalBtns a.modalBtn-close span::after {
  position: absolute;
  top: -10px;
  left: -10px;
  content: "";
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.ph-facilities .modalBtns a.modalBtn-close span::before {
  margin-top: 10px;
  width: 21px;
  height: 0;
  border-top: 1px solid #fff;
}
.ph-facilities .modalBtns a.modalBtn-close span::after {
  margin-left: 10px;
  height: 21px;
  width: 0;
  border-left: 1px solid #fff;
}
.ph-facilities .modalBtns a.modalBtn-close:hover span {
  transform: scale(1.25) rotate(45deg);
}
.ph-facilities .galleryNav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  margin: 0;
  list-style: none;
}
.ph-facilities .galleryNav li {
  position: absolute;
  top: 50%;
  pointer-events: auto;
  width: 40px;
  height: 40px;
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0.4);
  padding: 10px;
  font-size: 1px;
  line-height: 1;
  overflow: hidden;
  margin: 0;
}
@media print, screen and (min-width: 800px) {
  .ph-facilities .galleryNav li {
    width: 48px;
    height: 48px;
    padding: 8px;
  }
}
.ph-facilities .galleryNav li svg {
  width: 20px;
  height: 20px;
  stroke: #fff;
}
@media print, screen and (min-width: 800px) {
  .ph-facilities .galleryNav li svg {
    width: 32px;
    height: 32px;
  }
}
.ph-facilities .galleryNav li.prev {
  left: -32px;
}
@media print, screen and (min-width: 800px) {
  .ph-facilities .galleryNav li.prev {
    left: -48px;
  }
}
.ph-facilities .galleryNav li.next {
  right: -32px;
}
@media print, screen and (min-width: 800px) {
  .ph-facilities .galleryNav li.next {
    right: -48px;
  }
}

.scn-facility-pickup {
  position: relative;
  background-color: rgba(241, 141, 0, 0.05);
}
.scn-facility-pickup h3 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 1.75em;
}

.wrap-facility-pickup {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.facility-pickup {
  position: relative;
  font-size: 0.92em;
  width: 100%;
  padding-bottom: 1.5rem;
}
@media print, screen and (min-width: 576px) {
  .facility-pickup {
    width: 50%;
    padding: 1rem;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media print, screen and (min-width: 1200px) {
  .facility-pickup {
    width: 33.33333333%;
  }
}
.facility-pickup--ph {
  margin-bottom: 0.5em;
  width: 100%;
}
.facility-pickup--ph img {
  width: 100%;
  height: auto;
  border-radius: 1em;
}
.facility-pickup--txt {
  margin-bottom: 1rem;
  width: 100%;
  flex-grow: 3;
}
@media print, screen and (min-width: 768px) {
  .facility-pickup--txt {
    margin-bottom: 1.5rem;
  }
}
.facility-pickup--txt h4 {
  margin-bottom: 0.5em;
}
.facility-pickup--txt p {
  line-height: 1.5;
  font-weight: 700;
}
.facility-pickup--txt .link-facilities {
  position: relative;
  max-width: 380px;
  margin: auto;
}
.facility-pickup--txt .link-facilities a {
  position: relative;
  display: block;
  padding: 2em 1.5em;
  background-color: #FFF;
  border-radius: 1.5em;
  text-decoration: none !important;
  font-weight: 700;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
}
.facility-pickup--txt .link-facilities a:hover {
  transform: scale(1.05);
}
.facility-pickup--txt .link-facilities.link-youtube a {
  background-color: #c4302b;
  color: #FFF;
  padding-right: 4.5em;
}
.facility-pickup--txt .link-facilities.link-youtube a i {
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -1.5em;
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
  width: 3em;
  height: 3em;
  border-radius: 50%;
  padding: 4px;
  border: 1px solid #FFF;
}
.facility-pickup--txt .link-facilities.link-youtube a i svg {
  width: 100%;
  height: 100%;
  fill: #FFF;
}
.facility-pickup--txt .link-facilities.link-lunchtime a {
  background-color: #f9717c;
  color: #FFF;
  padding-right: 6em;
}
.facility-pickup--txt .link-facilities.link-lunchtime .i-lunch {
  position: absolute;
  top: 50%;
  right: 0.5em;
  width: 20vw;
  max-width: 8.5em;
  transform: translateY(-50%);
  filter: drop-shadow(0 0 1em rgba(0, 0, 0, 0.15));
}
@media print, screen and (min-width: 576px) {
  .facility-pickup--txt .link-facilities.link-lunchtime .i-lunch {
    width: 14vw;
    max-width: 8.5em;
  }
}
@media print, screen and (min-width: 768px) {
  .facility-pickup--txt .link-facilities.link-lunchtime .i-lunch {
    width: 12vw;
    max-width: 8.5em;
  }
}
.facility-pickup--txt .link-facilities.link-lunchtime .i-lunch img {
  width: 100%;
  height: auto;
}
.facility-pickup .comment {
  position: relative;
  background-color: rgba(241, 141, 0, 0.95);
  font-size: 0.875em;
  padding: 1rem;
  border-radius: 0.5em;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-bottom: 0;
  margin-top: auto;
  flex-grow: 0;
}
.facility-pickup .comment .ph {
  width: 80px;
  border-radius: 0.35em;
  overflow: hidden;
}
.facility-pickup .comment .ph img {
  width: 100%;
  height: auto;
}
.facility-pickup .comment .txt {
  width: calc(100% - 80px);
  padding-left: 1em;
}
.facility-pickup .comment .txt p {
  color: #fff;
  font-weight: 700;
  line-height: 1.4;
}

.check-lunch {
  position: relative;
}
.check-lunch a {
  position: relative;
  display: flex;
  border-radius: 1em;
  padding: 2em 0.5em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url(../img/home/bg-banner-lunchtime.png);
  text-decoration: none !important;
}
.check-lunch a span {
  margin: auto;
  padding: 0.75em 1em;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 1.15em;
  line-height: 1;
  font-weight: 700;
  border-radius: 2em;
}

.countermeasures {
  margin-top: 2em;
  padding: 0 0.5rem;
  padding: 1em;
  border: 1px dotted #535ca8;
  background-color: #ebecf5;
  border-radius: 0.5em;
}
@media print, screen and (min-width: 576px) {
  .countermeasures {
    overflow: hidden;
  }
}
@media print, screen and (min-width: 800px) {
  .countermeasures {
    margin-top: 3em;
    padding: 1.5em;
  }
}
@media print, screen and (min-width: 960px) {
  .countermeasures {
    padding: 2em;
  }
}
.countermeasures dl dt {
  font-size: 1.15em;
  font-weight: 700;
  color: #535ca8;
  margin: 0 0 0.75em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #535ca8;
}
@media print, screen and (min-width: 800px) {
  .countermeasures dl dt {
    font-size: 1.25em;
  }
}
.countermeasures dl dd {
  font-size: 0.92em;
  line-height: 1.65;
  margin: 0;
}
@media print, screen and (min-width: 800px) {
  .countermeasures dl dd {
    font-size: 1em;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - LUNCHTIME
/* ---------------------------------------------------------------------------------------- */
.page-norm.lunchtime {
  padding-bottom: 0;
}
.page-norm.lunchtime::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: " ";
  z-index: -1;
  background-color: #fff462;
}
.page-norm.lunchtime::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: " ";
  z-index: -1;
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 3px 3px;
  background-image: url(../img/schoollife/lunchtime/bg.png);
  opacity: 0.8;
}
.page-norm.lunchtime .scn-norm {
  padding: 2rem 0;
}
.page-norm.lunchtime .lunchtime-outerbox {
  position: relative;
  padding: 0.5em;
  border-radius: 2em;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .page-norm.lunchtime .lunchtime-outerbox {
    padding: 1em;
    border-radius: 3em;
  }
}
.page-norm.lunchtime .lunchtime-outerbox .lunchtime-innerbox {
  position: relative;
  padding: 1em;
  border-radius: 1.75em;
  border: 2px solid rgba(241, 137, 51, 0.7);
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .page-norm.lunchtime .lunchtime-outerbox .lunchtime-innerbox {
    border-radius: 2.5em;
    padding: 2em;
    border-width: 3px;
  }
}
.page-norm.lunchtime .lunchtime-popular-menu {
  position: relative;
  margin: 0 auto 4.5em;
  text-align: center;
}
.page-norm.lunchtime .lunchtime-cook {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0 2em;
}
.page-norm.lunchtime .lunchtime-cook .lunchtime-cook-box {
  position: relative;
  padding: 1em;
  outline: 2px solid #e95383;
  outline-offset: 14px;
  background: #fefcd9;
  color: #e95383;
  border-radius: 18px;
  font-size: 16px;
  height: fit-content;
  width: 100%;
}
.page-norm.lunchtime .lunchtime-cook .lunchtime-cook-box::before {
  position: absolute;
  top: calc(100% + 14px);
  left: 90px;
  height: 0;
  width: 0;
  border: solid transparent;
  content: "";
  margin-left: -16px;
  border-color: transparent;
  border-top-color: #e95383;
  border-right-color: #e95383;
  border-width: 16px;
}
.page-norm.lunchtime .lunchtime-cook .lunchtime-cook-box::after {
  position: absolute;
  top: calc(100% + 14px);
  left: 90px;
  height: 0;
  width: 0;
  border: solid transparent;
  content: "";
  margin-left: -14px;
  border-color: transparent;
  border-top-color: white;
  border-right-color: white;
  border-width: 14px;
}
.page-norm.lunchtime .lunchtime-cook .lunchtime-cook-box .line_white_top {
  position: absolute;
  top: -20px;
  left: 60px;
  height: 10px;
  width: 15px;
  content: "";
  background-color: #fff;
}
.page-norm.lunchtime .lunchtime-cook .lunchtime-cook-box .line_white_bottom {
  position: absolute;
  top: calc(100% + 10px);
  left: 60px;
  height: 10px;
  width: 15px;
  content: "";
  background-color: #fff;
}
@media print, screen and (min-width: 1200px) {
  .page-norm.lunchtime .lunchtime-cook .lunchtime-cook-box::before {
    left: auto;
    right: 100px;
  }
  .page-norm.lunchtime .lunchtime-cook .lunchtime-cook-box::after {
    left: auto;
    right: 102px;
  }
  .page-norm.lunchtime .lunchtime-cook .lunchtime-cook-box .line_white_top {
    left: auto;
    right: 130px;
  }
  .page-norm.lunchtime .lunchtime-cook .lunchtime-cook-box .line_white_bottom {
    left: auto;
    right: 130px;
  }
}
.page-norm.lunchtime .lunchtime-cook .lunchtime-cook-title {
  font-size: 20px;
  font-weight: 700;
}
.page-norm.lunchtime .lunchtime-cook .with-marker {
  background: linear-gradient(transparent 70%, #fcee21 0%);
}
.page-norm.lunchtime .lunchtime-cook .img {
  margin: 2em 0 -2em auto;
  z-index: 1;
  width: 65%;
}
.page-norm.lunchtime .lunchtime-cook p {
  margin: 1em 0 0;
}
@media print, screen and (min-width: 1200px) {
  .page-norm.lunchtime .lunchtime-cook {
    flex-direction: row;
    padding: 0 4em;
    margin: 5em 0 -2em;
  }
  .page-norm.lunchtime .lunchtime-cook .img {
    margin: 1em 0 0 -2em;
    width: 60%;
  }
}
.page-norm.lunchtime .backto-prev-page {
  margin: 0 auto;
  padding: 2em 2em 0;
  text-align: center;
}
.page-norm.lunchtime .backto-prev-page a {
  position: relative;
  display: inline-block;
  padding: 1em 2em;
  padding-left: 4em;
  text-decoration: none !important;
  background-color: #FFF;
  border-radius: 4em;
  box-shadow: 0 0 1em rgba(233, 83, 119, 0.15);
}
.page-norm.lunchtime .backto-prev-page a i {
  position: absolute;
  top: 50%;
  left: 16px;
  margin-top: -16px;
  transition: all 0.1s ease-in-out;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid #082854;
  padding: 2px;
}
.page-norm.lunchtime .backto-prev-page a i svg {
  width: 100%;
  height: 100%;
  stroke: #082854;
  stroke-width: 1;
  transform: scaleX(-1);
}
.page-norm.lunchtime a.btn-oval {
  border-color: #e95377;
  color: #e95377;
}
.page-norm.lunchtime a.btn-oval i {
  border-color: #e95377;
}
.page-norm.lunchtime a.btn-oval i svg {
  stroke: #e95377;
}
.page-norm.lunchtime a.btn-oval:hover {
  color: #FFF;
  background-color: #e95377;
}
.page-norm.lunchtime a.btn-oval:hover i {
  border-color: #FFF;
}
.page-norm.lunchtime a.btn-oval:hover i svg {
  stroke: #FFF;
}

.lunchtime-firstblock {
  position: relative;
  max-width: 1344px;
  margin: 0 auto;
}
@media print, screen and (min-width: 960px) {
  .lunchtime-firstblock {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}
.lunchtime-firstblock .col-l {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  width: 100%;
  margin-top: 3em;
}
@media print, screen and (min-width: 960px) {
  .lunchtime-firstblock .col-l {
    width: 45%;
    margin: 0;
  }
}
.lunchtime-firstblock .col-r {
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .lunchtime-firstblock .col-r {
    width: 55%;
    padding-left: 3em;
  }
}
.lunchtime-firstblock h4 {
  color: #f08300;
}
.lunchtime-firstblock .lunchtime-ph {
  position: relative;
  display: block;
}
.lunchtime-firstblock .lunchtime-ph .p {
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  display: block;
}
.lunchtime-firstblock .lunchtime-ph .d {
  position: absolute;
  width: 10%;
  height: 10%;
  display: block;
  z-index: 1;
}
.lunchtime-firstblock .lunchtime-ph.img1 {
  width: 100%;
  display: none;
}
@media print, screen and (min-width: 960px) {
  .lunchtime-firstblock .lunchtime-ph.img1 {
    display: block;
  }
}
.lunchtime-firstblock .lunchtime-ph.img1 .d {
  top: 0;
  left: 0;
}
.lunchtime-firstblock .lunchtime-ph.img2 {
  width: 70%;
}
@media print, screen and (min-width: 960px) {
  .lunchtime-firstblock .lunchtime-ph.img2 {
    margin-top: -15%;
    margin-left: -10%;
  }
}
.lunchtime-firstblock .lunchtime-ph.img2 .d {
  bottom: -5%;
  left: 0;
  width: 25%;
  height: 25%;
}
.lunchtime-firstblock .lunchtime-ph.img3 {
  width: 40%;
  margin-left: -10%;
}
@media print, screen and (min-width: 960px) {
  .lunchtime-firstblock .lunchtime-ph.img3 {
    margin-left: -5%;
  }
}
.lunchtime-firstblock .lunchtime-ph.img3 .d {
  top: -20%;
  right: 0;
  width: 15%;
  height: 15%;
}
.lunchtime-firstblock .lunchtime-ph.img4 {
  width: 20%;
  margin-top: -15%;
  margin-left: 50%;
}
.lunchtime-firstblock h1.plain {
  position: relative;
  font-size: 1em;
  line-height: 1;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .lunchtime-firstblock h1.plain {
    margin-left: 0;
    width: 95%;
  }
}
.lunchtime-firstblock h1.plain > img {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 2;
  margin: 0 auto;
}
@media print, screen and (min-width: 576px) {
  .lunchtime-firstblock h1.plain > img {
    position: absolute;
    top: 10%;
    right: 0;
    width: 50%;
  }
}
@media print, screen and (min-width: 960px) {
  .lunchtime-firstblock h1.plain > img {
    position: relative;
    top: inherit;
    right: inherit;
    width: 100%;
  }
}
.lunchtime-firstblock h1.plain .header-img {
  position: relative;
  margin: 1em auto 0;
  width: 90%;
  display: block;
  z-index: 1;
}
@media print, screen and (min-width: 576px) {
  .lunchtime-firstblock h1.plain .header-img {
    margin: 0;
    width: 60%;
  }
}
@media print, screen and (min-width: 960px) {
  .lunchtime-firstblock h1.plain .header-img {
    display: none;
  }
}
.lunchtime-firstblock h1.plain .header-img .p {
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  display: block;
}
.lunchtime-firstblock h1.plain .header-img .d {
  position: absolute;
  top: 0;
  left: 0;
  width: 10%;
  height: 10%;
  display: block;
  z-index: 1;
}

.btn-todays-lunch {
  position: fixed;
  bottom: 0.5em;
  right: 0.5em;
  z-index: 1000;
}
.btn-todays-lunch a {
  position: relative;
  display: inline-block;
  font-size: 1em;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #FFF;
  text-align: left;
  min-width: 12em;
  padding: 1em 5em 1em 1.5em;
  border-radius: 4em;
  background-color: #e95377;
  cursor: pointer;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.15);
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
@media print, screen and (min-width: 800px) {
  .btn-todays-lunch a {
    font-size: 1.15em;
    padding-right: 8em;
  }
}
.btn-todays-lunch a:hover {
  transform: scale(1.07);
}
.btn-todays-lunch a i {
  position: absolute;
  top: 50%;
  right: -0.5em;
  width: 5em;
  transform: translateY(-50%) rotate(12deg);
  filter: drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.2));
}
@media print, screen and (min-width: 800px) {
  .btn-todays-lunch a i {
    right: 0;
    width: 6em;
  }
}
.btn-todays-lunch a i img {
  width: 100%;
  height: auto;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - LUNCHMENU
/* ---------------------------------------------------------------------------------------- */
.archive-lunchmenu {
  position: relative;
  padding-bottom: 0;
  min-height: 100vh;
}
.archive-lunchmenu::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: " ";
  z-index: -1;
  background-color: #fff462;
  opacity: 0.8;
}
.archive-lunchmenu::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: " ";
  z-index: -1;
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 3px 3px;
  background-image: url(../img/schoollife/lunchtime/bg.png);
  opacity: 0.3;
}
.archive-lunchmenu .scn-norm {
  padding: 2rem 0;
}
.archive-lunchmenu .lunchtime-outerbox {
  position: relative;
  padding: 0.5em;
  border-radius: 2em;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .archive-lunchmenu .lunchtime-outerbox {
    padding: 1em;
    border-radius: 3em;
  }
}
.archive-lunchmenu .lunchtime-outerbox .lunchtime-innerbox {
  position: relative;
  padding: 1em;
  border-radius: 1.75em;
  border: 2px solid rgba(241, 137, 51, 0.7);
}
@media print, screen and (min-width: 768px) {
  .archive-lunchmenu .lunchtime-outerbox .lunchtime-innerbox {
    border-radius: 2.5em;
    padding: 2em;
    border-width: 3px;
  }
}
.archive-lunchmenu .header-lunchmenu {
  position: relative;
  text-align: center;
  margin: 0 0 2em;
}
@media print, screen and (min-width: 768px) {
  .archive-lunchmenu .header-lunchmenu {
    margin-bottom: 3em;
  }
}
.archive-lunchmenu .header-lunchmenu .title {
  width: 50%;
  max-width: 240px;
  margin: 0 auto 0.5em;
}
.archive-lunchmenu .header-lunchmenu p {
  font-size: 1.25em;
  font-weight: 700;
  color: #f18933;
  text-align: center;
}
@media print, screen and (min-width: 800px) {
  .archive-lunchmenu .header-lunchmenu p {
    font-size: 1.5em;
  }
}
.archive-lunchmenu .header-lunchmenu .deco-img.left {
  bottom: 0;
  left: 0%;
  margin-left: -3em;
  width: 30vw;
  max-width: 20em;
  z-index: 0;
}
@media print, screen and (min-width: 800px) {
  .archive-lunchmenu .header-lunchmenu .deco-img.left {
    left: inherit;
    right: 50%;
    margin-left: auto;
    margin-right: 10em;
    width: 30vw;
    max-width: 20em;
    z-index: 0;
  }
}
.archive-lunchmenu .header-lunchmenu .deco-img.right {
  bottom: 0;
  right: 0%;
  margin-right: -2em;
  width: 30vw;
  max-width: 18em;
  z-index: 0;
}
@media print, screen and (min-width: 800px) {
  .archive-lunchmenu .header-lunchmenu .deco-img.right {
    bottom: 0;
    right: inherit;
    left: 50%;
    margin-left: auto;
    margin-left: 10em;
    width: 26vw;
    max-width: 18em;
  }
}

.lunchmenu-card {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.lunchmenu-card--photo {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .lunchmenu-card--photo {
    width: 70%;
  }
}
.lunchmenu-card--desc {
  width: 100%;
  padding: 1em;
  text-align: left;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .lunchmenu-card--desc {
    width: 30%;
    padding: 2em;
  }
}
.lunchmenu-card--desc h1 {
  font-size: 1.15em;
  margin-bottom: 0.75em;
  color: #e95377;
}
@media print, screen and (min-width: 768px) {
  .lunchmenu-card--desc h1 {
    font-size: 1.25em;
  }
}
@media print, screen and (min-width: 960px) {
  .lunchmenu-card--desc h1 {
    font-size: 1.5em;
  }
}
.lunchmenu-card--desc p {
  font-size: 0.92em;
}
.lunchmenu-card--desc dl {
  margin: 0;
}
.lunchmenu-card--desc dl dt {
  font-size: 0.92em;
}
.lunchmenu-card--desc dl dd {
  margin: 0;
}

.lunch-slider-container {
  position: relative;
}
.lunch-slider-container .lunch-slider {
  list-style: none;
  margin: 0;
}
.lunch-slider-container .lunch-slider li img {
  border-radius: 1em;
}
@media print, screen and (min-width: 800px) {
  .lunch-slider-container .lunch-slider li img {
    border-radius: 1.75em;
  }
}

.lunchmenu-desc {
  max-width: 640px;
  margin: 1em auto 0;
}

.lunchmenu-index--with-thumbnail {
  position: relative;
}
.lunchmenu-index--with-thumbnail--inner {
  position: relative;
  z-index: 1;
  margin: -0.5em;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
@media print, screen and (min-width: 768px) {
  .lunchmenu-index--with-thumbnail--inner {
    margin: -1em;
  }
}
.lunchmenu-index--with-thumbnail .lunchmenu-index--item {
  position: relative;
  width: 50%;
  margin: 0;
  padding: 0 0.5em 1em;
}
@media print, screen and (min-width: 768px) {
  .lunchmenu-index--with-thumbnail .lunchmenu-index--item {
    padding: 0 1em 1.5em;
    width: 33.33333333%;
  }
}
@media print, screen and (min-width: 960px) {
  .lunchmenu-index--with-thumbnail .lunchmenu-index--item {
    width: 25%;
    padding-bottom: 2em;
  }
}
.lunchmenu-index--with-thumbnail .lunchmenu-index--item a {
  position: relative;
  display: block;
  text-decoration: none !important;
}
.lunchmenu-index--with-thumbnail .lunchmenu-index--item--thumb {
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 0.5em;
  width: 100%;
  padding-top: 66%;
}
.lunchmenu-index--with-thumbnail .lunchmenu-index--item--desc {
  text-align: center;
}
.lunchmenu-index--with-thumbnail .lunchmenu-index--item--desc .title {
  font-weight: 700;
  text-align: center;
  font-size: 3.15vw;
}
@media print, screen and (min-width: 350px) {
  .lunchmenu-index--with-thumbnail .lunchmenu-index--item--desc .title {
    font-size: 0.8125em;
  }
}
@media print, screen and (min-width: 800px) {
  .lunchmenu-index--with-thumbnail .lunchmenu-index--item--desc .title {
    font-size: 0.92em;
  }
}

.header-archive-lunchmenu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 1em;
  border-bottom-right-radius: 1em;
}
.header-archive-lunchmenu--title {
  font-size: 1em;
  line-height: 1;
  font-weight: 700;
  color: #f18933;
  margin: 0 !important;
}
.header-archive-lunchmenu--title img {
  width: 15vw;
  max-width: 12em;
  height: auto;
}
.header-archive-lunchmenu--title span {
  margin-top: 0.5em;
  text-align: center;
  display: block;
  font-size: 1.75vw;
}
@media print, screen and (min-width: 768px) {
  .header-archive-lunchmenu--title span {
    font-size: 1.75vw;
  }
}
@media print, screen and (min-width: 960px) {
  .header-archive-lunchmenu--title span {
    font-size: 1em;
  }
}
.header-archive-lunchmenu--img {
  width: 12vw;
  max-width: 12em;
}
.header-archive-lunchmenu--img img {
  width: 100%;
  height: auto;
}

.lunchmenu-cards {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 18vw);
  z-index: 1;
}
.lunchmenu-cards.initial .card {
  -webkit-transition: all 1.2s cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 1.2s cubic-bezier(0.77, 0, 0.175, 1);
}
.lunchmenu-cards .card {
  position: absolute;
  top: 150%;
  display: block;
  width: 50%;
  padding: 1em;
}
@media print, screen and (min-width: 576px) {
  .lunchmenu-cards .card {
    width: 33.33333333%;
  }
}
@media print, screen and (min-width: 800px) {
  .lunchmenu-cards .card {
    width: 25%;
  }
}
.lunchmenu-cards .card a {
  position: relative;
  display: block;
}
.lunchmenu-cards .card a:hover .card--photo {
  transform: scale(1.05);
}
.lunchmenu-cards .card--photo {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 66%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 1em;
  margin-bottom: 0.5em;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
  box-shadow: 0 0.2em 1em -0.2em rgba(0, 0, 0, 0.2);
}
.lunchmenu-cards .card--title {
  display: block;
  text-align: center;
  font-size: 0.8125em;
  font-weight: 700;
}
@media print, screen and (min-width: 576px) {
  .lunchmenu-cards .card--title {
    font-size: 0.875em;
  }
}
@media print, screen and (min-width: 768px) {
  .lunchmenu-cards .card--title {
    font-size: 0.92em;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - MODAL-LUNCHMENU
/* ---------------------------------------------------------------------------------------- */
.lunchmenu-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 2em;
  display: flex;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
}
.lunchmenu-modal .modalBtns {
  z-index: 1000;
  position: absolute;
  text-align: left;
  width: 32px;
  height: 32px;
  top: 0;
  right: 0;
}
@media print, screen and (min-width: 800px) {
  .lunchmenu-modal .modalBtns {
    width: 40px;
    height: 40px;
  }
}
.lunchmenu-modal .modalBtns a.modalBtn-close {
  position: relative;
  float: right;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  display: block;
  background-color: rgba(0, 0, 0, 0.8);
}
@media print, screen and (min-width: 800px) {
  .lunchmenu-modal .modalBtns a.modalBtn-close {
    width: 40px;
    height: 40px;
  }
}
.lunchmenu-modal .modalBtns a.modalBtn-close span {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -1px;
  transform: rotate(45deg);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.lunchmenu-modal .modalBtns a.modalBtn-close span::before, .lunchmenu-modal .modalBtns a.modalBtn-close span::after {
  position: absolute;
  top: -10px;
  left: -10px;
  content: "";
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.lunchmenu-modal .modalBtns a.modalBtn-close span::before {
  margin-top: 10px;
  width: 21px;
  height: 0;
  border-top: 1px solid #fff;
}
.lunchmenu-modal .modalBtns a.modalBtn-close span::after {
  margin-left: 10px;
  height: 21px;
  width: 0;
  border-left: 1px solid #fff;
}
.lunchmenu-modal .modalBtns a.modalBtn-close:hover span {
  transform: scale(1.25) rotate(45deg);
}
.lunchmenu-modal--inner {
  position: relative;
  margin: auto;
  width: 100%;
  max-width: 1120px;
  background-color: white;
  z-index: 1;
  padding: 1.5em;
  border-radius: 1.5em;
  pointer-events: all;
  box-shadow: 0 0 3em -0.75em rgba(0, 0, 0, 0.2);
}
@media print, screen and (min-width: 800px) {
  .lunchmenu-modal--inner {
    padding: 2em;
  }
}
@media print, screen and (min-width: 1200px) {
  .lunchmenu-modal--inner {
    padding: 3em;
    border-radius: 3em;
  }
}
.lunchmenu-modal--inner .scn-norm {
  padding: 0;
  font-size: 0.92em;
}
.lunchmenu-modal .show-archive {
  position: absolute;
  bottom: -3.5em;
  right: 0;
  font-size: 0.92em;
  padding: 0.75em 1em 0.75em 1.5em;
  border-radius: 2em;
  background-color: #444;
}
.lunchmenu-modal .show-archive .link-txt-sm {
  color: #FFF;
}
.lunchmenu-modal .show-archive .link-txt-sm svg {
  stroke: #FFF;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - GUIDANCE
/* ---------------------------------------------------------------------------------------- */
.page-norm.guidance {
  padding-bottom: 0;
}
.tb-guidance {
  text-align: center;
}
.tb-guidance .date {
  font-size: 1.15em;
}
.tb-guidance .time {
  font-size: 0.8em;
}
.tb-guidance .notes {
  font-size: 0.8em;
}
.tb-guidance em {
  font-weight: 700;
}
.tb-guidance th .notice {
  display: block;
  font-size: 0.875em;
  margin: 0 -0.5em -0.5em;
}
@media print, screen and (min-width: 800px) {
  .tb-guidance th .notice {
    margin: 0 -1em -1em;
  }
}
.tb-guidance th .notice a {
  display: block;
  background-color: #082854;
  color: #fff;
  padding: 0.5em 0.25em;
  border-radius: 0.25em;
}
.tb-guidance th .notice a:hover {
  background-color: #0c3e83;
}
.tb-guidance .addinfo-R-B::before {
  content: "下記";
  display: inline;
}
@media print, screen and (min-width: 960px) {
  .tb-guidance .addinfo-R-B::before {
    content: "右記";
  }
}
.tb-guidance.tb-result {
  font-size: 0.875em;
}
@media print, screen and (min-width: 800px) {
  .tb-guidance.tb-result th,
  .tb-guidance.tb-result td {
    padding: 0.5em;
  }
}

.sheet-norm {
  position: relative;
  background-color: rgba(0, 62, 145, 0.02);
  padding: 0.5em;
  border: 1px solid rgba(0, 62, 145, 0.4);
}
.sheet-norm dl {
  position: relative;
  display: block;
  border: 1px dotted rgba(0, 62, 145, 0.4);
  padding: 1.5em 1em;
  background-color: rgba(255, 255, 255, 0.5);
  margin: 0;
}
@media print, screen and (min-width: 800px) {
  .sheet-norm dl {
    padding: 2.5em 2em;
  }
}
.sheet-norm dl dt {
  font-size: 1.15em;
  font-weight: 700;
  color: #00285e;
}
.sheet-norm dl dd {
  margin: 0;
}
@media print, screen and (min-width: 800px) {
  .sheet-norm dl dd {
    margin-left: 1.5em;
  }
}
.sheet-norm dl dd:not(:last-child) {
  margin-bottom: 1em;
}

.school-bus {
  list-style: none;
  margin-top: 1.5em;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: -1rem;
  margin-top: 1rem;
  overflow: hidden;
}
@media print, screen and (min-width: 960px) {
  .school-bus {
    margin: 1rem -2rem -2rem;
  }
}
.school-bus li {
  width: 50%;
  padding: 1rem;
}
@media print, screen and (min-width: 768px) {
  .school-bus li {
    width: 33.33333333%;
  }
}
@media print, screen and (min-width: 960px) {
  .school-bus li {
    padding: 2rem;
  }
}
.school-bus dl dt {
  padding-bottom: 0.5em;
  font-weight: 700;
  color: #003e91;
  border-bottom: 1px dotted #003e91;
}
.school-bus dl dd {
  margin: 0.25em 0;
  font-size: 0.875em;
  font-weight: 700;
}
.school-bus figure {
  margin-top: 0.5em;
  border: none;
}

.school-tours {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url("../img/guidance/index/bg-tour.jpg");
  padding-bottom: 1rem;
}
.school-tours::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: " ";
  background-color: rgba(0, 62, 145, 0.03);
}
@media print, screen and (min-width: 800px) {
  .school-tours {
    padding-bottom: 2rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .school-tours {
    padding-bottom: 0;
  }
}
.school-tours .col-desc {
  width: 100%;
}
.school-tours .col-desc .inner {
  max-width: 720px;
  margin: auto;
  text-align: left;
  padding: 2em 1.5rem;
}
@media print, screen and (min-width: 576px) {
  .school-tours .col-desc .inner {
    padding: 3em 4em;
  }
}
.school-tours .col-desc .inner h3 {
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  text-align: center;
}
.school-tours .col-desc .inner p {
  font-weight: 700;
  color: #112e54;
}
@media print, screen and (min-width: 1200px) {
  .school-tours .col-desc .inner p {
    line-height: 2;
  }
}
.school-tours .col-contact {
  position: relative;
  width: 100%;
  color: #fff;
  border: 1px solid #fff;
  background-color: #fff;
}
.school-tours .col-contact .inner {
  position: relative;
  max-width: 640px;
  margin: auto;
  padding: 1rem 0.5rem;
  z-index: 2;
}
@media print, screen and (min-width: 800px) {
  .school-tours .col-contact .inner {
    padding: 2rem 1rem;
  }
}
.school-tours .col-contact .inner span {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.school-tours .col-contact .ti {
  font-weight: 700;
  font-size: 1.15em;
}
@media print, screen and (min-width: 576px) {
  .school-tours .col-contact .ti {
    font-size: 1.25em;
  }
}
@media print, screen and (min-width: 800px) {
  .school-tours .col-contact .ti {
    font-size: 1.35em;
  }
}
.school-tours .col-contact .tel {
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-weight: 500;
  font-size: 2.2em;
  line-height: 1;
  padding: 0.25rem 0 0.25rem;
}
@media print, screen and (min-width: 350px) {
  .school-tours .col-contact .tel {
    font-size: 2.5em;
  }
}
@media print, screen and (min-width: 576px) {
  .school-tours .col-contact .tel {
    font-size: 2.5em;
  }
}
@media print, screen and (min-width: 800px) {
  .school-tours .col-contact .tel {
    font-size: 2.75em;
  }
}
@media print, screen and (min-width: 960px) {
  .school-tours .col-contact .tel {
    font-size: 3em;
  }
}
.school-tours .col-contact .fntS {
  font-size: 0.75em;
  font-weight: 700;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 576px) {
  .school-tours .col-contact .fntS {
    font-size: 0.8125em;
  }
}

@media print, screen and (min-width: 960px) {
  .admission-returnee-desc {
    font-size: 0.875em;
  }
}

.event-schedule {
  position: relative;
  padding: 2rem 0;
  border-top: 1px dotted #aad2f0;
}
.event-schedule .wrap-date {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  text-align: center;
  margin: -1.25em -0.5rem;
}
@media print, screen and (min-width: 800px) {
  .event-schedule .wrap-date {
    margin: -2em -0.5em;
  }
}
.event-schedule .wrap-date dl {
  position: relative;
  width: 50%;
  text-align: left;
  color: #003e91;
  padding: 1.25em 0.5rem;
}
@media print, screen and (min-width: 576px) {
  .event-schedule .wrap-date dl {
    width: 33.33333333%;
  }
}
@media print, screen and (min-width: 800px) {
  .event-schedule .wrap-date dl {
    padding: 1.5em 0.5em;
  }
}
@media print, screen and (min-width: 960px) {
  .event-schedule .wrap-date dl {
    width: 25%;
  }
}
.event-schedule .wrap-date dl.wide {
  width: 100%;
}
@media print, screen and (min-width: 576px) {
  .event-schedule .wrap-date dl.wide {
    width: 50%;
  }
}
@media print, screen and (min-width: 960px) {
  .event-schedule .wrap-date dl.wide {
    width: 33.33333333%;
  }
}
@media print, screen and (max-width: 575px) {
  .event-schedule .wrap-date dl.wide .hide-smp {
    display: none;
    height: 0;
    overflow: hidden;
  }
}
.event-schedule .wrap-date dl dt {
  font-size: 1em;
  margin: 0;
}
.event-schedule .wrap-date dl dt.empty {
  display: none;
}
.event-schedule .wrap-date dl dd {
  position: relative;
  margin: 0;
  font-feature-settings: "palt";
}
.event-schedule .wrap-date dl dd span {
  display: inline-block;
  vertical-align: baseline;
  line-height: 1;
  font-weight: 700;
}
.event-schedule .wrap-date dl dd span.num {
  font-size: 2.25em;
  font-family: "Times New Roman", Times, serif;
  font-weight: 500;
  font-style: italic;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 350px) {
  .event-schedule .wrap-date dl dd span.num {
    font-size: 2.75em;
  }
}
@media print, screen and (min-width: 800px) {
  .event-schedule .wrap-date dl dd span.num {
    font-size: 3em;
  }
}
@media print, screen and (min-width: 1200px) {
  .event-schedule .wrap-date dl dd span.num {
    font-size: 3.5em;
  }
}
.event-schedule .wrap-date dl dd span.sl {
  padding: 0 0.25em;
}
.event-schedule .wrap-date dl dd span.dow {
  font-size: 0.85em;
}
.event-schedule .add {
  position: relative;
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px dotted #ddd;
  background-color: #f5f5f5;
  background: linear-gradient(135deg, rgba(0, 62, 145, 0.1) 0, rgba(22, 142, 46, 0.1) 100%);
  border-radius: 0.5em;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - ZADANKAI
/* ---------------------------------------------------------------------------------------- */
.page-norm.zadankai .scn-norm.clrd {
  background-color: rgba(240, 131, 0, 0.05);
  background: linear-gradient(60deg, rgba(240, 131, 0, 0.05) 0, rgba(240, 131, 0, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.zadankai .scn-norm.clrd.light {
  background-color: rgba(240, 131, 0, 0.02);
  background: linear-gradient(60deg, rgba(240, 131, 0, 0.02) 0, rgba(240, 131, 0, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.zadankai .scn-norm.clrd.dark {
  background-color: rgba(240, 131, 0, 0.08);
  background: linear-gradient(135deg, rgba(240, 131, 0, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.zadankai .fmt-interview .Q,
.page-norm.zadankai .fmt-interview .nm {
  color: #f08300;
}
.page-norm.zadankai .with-marker {
  background: linear-gradient(transparent 70%, rgba(240, 131, 0, 0.4) 0%);
}
.page-norm.zadankai h2,
.page-norm.zadankai h3,
.page-norm.zadankai h4 {
  color: #f08300;
}
.page-norm.zadankai h3 {
  color: #222;
}
.page-norm.zadankai h3::first-letter {
  color: #f08300;
}
.page-norm.zadankai h5 {
  color: #bd6700;
}
.page-norm.zadankai h3:not(.plain)::before {
  border-color: #f08300;
  background: linear-gradient(to right, #f08300 0, rgba(240, 131, 0, 0) 100%);
}
.page-norm.zadankai h4:not(.plain)::before {
  border-color: #f08300;
}
.page-norm.zadankai h5:not(.plain)::before {
  border-color: #d77500;
}
.page-norm.zadankai h5:not(.plain)::after {
  border-color: #ff900b;
}
.page-norm.zadankai .txt-clr {
  color: #f08300;
}
.page-norm.zadankai .column {
  background-color: rgba(240, 131, 0, 0.08);
}
.page-norm.zadankai .column i {
  background-color: #f08300;
}
.page-norm.zadankai .column-with-title {
  background: linear-gradient(135deg, #f08300 0%, #ffa73e 100%);
}
.page-norm.zadankai .column-with-title .column--content {
  background-color: white;
  box-shadow: 0 0 1em #bd6700;
}
.page-norm.zadankai .corner-header .parent {
  color: #f08300;
  border-color: #f08300;
}
.page-norm.zadankai .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(240, 131, 0, 0.3) 0%);
}
.page-norm.zadankai .corner-header h1 {
  color: #f08300;
}
.page-norm.zadankai .corner-header h2 {
  color: #bd6700;
}
.page-norm.zadankai .interlude.clr-belt::after {
  background-color: #f08300;
}
.page-norm.zadankai .lead {
  color: #f08300;
}
.page-norm.zadankai .zadankai-header {
  position: relative;
  max-width: 1500px;
  margin: 0 auto;
}
.page-norm.zadankai .zadankai-header .img {
  position: relative;
  display: block;
  overflow: hidden;
}
.page-norm.zadankai .zadankai-header .img .txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.page-norm.zadankai .wrap-crosstalk {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.page-norm.zadankai .wrap-crosstalk.rev {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media print, screen and (min-width: 960px) {
  .page-norm.zadankai .wrap-crosstalk.rev .phs {
    padding-left: 0;
    padding-right: 3rem;
  }
}
.page-norm.zadankai .wrap-crosstalk .crosstalk {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .page-norm.zadankai .wrap-crosstalk .crosstalk {
    width: 75%;
  }
}
.page-norm.zadankai .wrap-crosstalk .crosstalk .talk-norm .name {
  color: #f08300;
}
.page-norm.zadankai .wrap-crosstalk .phs {
  width: 100%;
  padding-top: 2rem;
}
@media print, screen and (min-width: 960px) {
  .page-norm.zadankai .wrap-crosstalk .phs {
    width: 25%;
    padding-top: 0;
    padding-left: 3rem;
  }
}
.page-norm.zadankai .wrap-crosstalk .phs .fig-group span img {
  border-radius: 1em;
  overflow: hidden;
}
.page-norm.zadankai .wrap-crosstalk .phs .caption {
  display: block;
  font-size: 0.92em;
  text-align: center;
  padding: 0.5em;
}

.talk-heading {
  position: relative;
  text-align: center;
  border-bottom: 1px dotted rgba(0, 62, 145, 0.5);
  margin-bottom: 1.75em;
}
.talk-heading span {
  position: relative;
  margin-bottom: -1px;
  display: inline-block;
  padding-bottom: 0.75em;
  border-bottom: 1px solid #003e91;
}
.talk-heading span::before, .talk-heading span::after {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  border: 10px solid transparent;
}
.talk-heading span::before {
  border-top: 10px solid #003e91;
}
.talk-heading span::after {
  margin-top: -1px;
  border-top: 10px solid #FFF;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - VOICE
/* ---------------------------------------------------------------------------------------- */
.questionnaire-list-voice {
  position: relative;
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.questionnaire-list-voice li {
  position: relative;
  padding: 1rem;
  background-color: #F2F2F2;
  border: 1px solid #000;
  border-radius: 0.5rem;
  margin-left: 48px;
  font-size: 0.92em;
  max-width: 720px;
}
@media print, screen and (min-width: 800px) {
  .questionnaire-list-voice li {
    padding: 1.5rem;
    margin-left: 64px;
  }
}
.questionnaire-list-voice li:not(:last-child) {
  margin-bottom: 1em;
}
.questionnaire-list-voice li i {
  position: absolute;
  top: 0;
  left: -64px;
  width: 40px;
  height: 40px;
  border: 1px solid #000;
  border-radius: 50%;
  background-position: center 0.5rem;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
@media print, screen and (min-width: 800px) {
  .questionnaire-list-voice li i {
    left: -80px;
    width: 56px;
    height: 56px;
  }
}
.questionnaire-list-voice li::before {
  position: absolute;
  top: 1rem;
  left: -1rem;
  width: 0;
  height: 0;
  border: 0.5rem solid transparent;
  border-right-color: #000;
  content: " ";
}
.questionnaire-list-voice li::after {
  position: absolute;
  top: 1rem;
  left: -1rem;
  margin-left: 1px;
  width: 0;
  height: 0;
  border: 0.5rem solid transparent;
  border-right-color: #F2F2F2;
  content: " ";
}
.questionnaire-list-voice li:nth-child(2n) {
  margin-left: auto;
  margin-right: 48px;
}
@media print, screen and (min-width: 800px) {
  .questionnaire-list-voice li:nth-child(2n) {
    margin-left: auto;
    margin-right: 64px;
  }
}
.questionnaire-list-voice li:nth-child(2n) i {
  left: inherit;
  right: -64px;
}
@media print, screen and (min-width: 800px) {
  .questionnaire-list-voice li:nth-child(2n) i {
    right: -80px;
  }
}
.questionnaire-list-voice li:nth-child(2n)::before {
  left: inherit;
  right: -1rem;
  border-right-color: transparent;
  border-left-color: #000;
}
.questionnaire-list-voice li:nth-child(2n)::after {
  left: inherit;
  right: -1rem;
  margin-right: 1px;
  border-right-color: transparent;
  border-left-color: #F2F2F2;
}
.questionnaire-list-voice li.man-icon {
  border-color: #d0dbf7;
  background-color: #fcfcfe;
}
.questionnaire-list-voice li.man-icon i {
  border-color: #7898e9;
  background-image: url("../img/common/avatar_dad.svg");
  background-color: #7898e9;
}
.questionnaire-list-voice li.man-icon::before {
  border-right-color: #d0dbf7;
}
.questionnaire-list-voice li.man-icon::after {
  border-right-color: #fcfcfe;
}
.questionnaire-list-voice li.man-icon:nth-child(2n)::before {
  border-right-color: transparent;
  border-left-color: #d0dbf7;
}
.questionnaire-list-voice li.man-icon:nth-child(2n)::after {
  border-right-color: transparent;
  border-left-color: #fcfcfe;
}
.questionnaire-list-voice li.woman-icon {
  border-color: #ffccc5;
  background-color: #fff9f8;
}
.questionnaire-list-voice li.woman-icon i {
  border-color: #ff725f;
  background-image: url("../img/common/avatar_mum.svg");
  background-color: #ff725f;
}
.questionnaire-list-voice li.woman-icon::before {
  border-right-color: #ffccc5;
}
.questionnaire-list-voice li.woman-icon::after {
  border-right-color: #fff9f8;
}
.questionnaire-list-voice li.woman-icon:nth-child(2n)::before {
  border-right-color: transparent;
  border-left-color: #ffccc5;
}
.questionnaire-list-voice li.woman-icon:nth-child(2n)::after {
  border-right-color: transparent;
  border-left-color: #fff9f8;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - FAQ
/* ---------------------------------------------------------------------------------------- */
.wrap-faqs {
  position: relative;
  margin-top: 2rem;
}
@media print, screen and (min-width: 1200px) {
  .wrap-faqs {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin-top: 6rem;
  }
}
.wrap-faqs .faq-menu {
  position: relative;
}
@media print, screen and (min-width: 1200px) {
  .wrap-faqs .faq-menu {
    position: sticky;
    top: 156px;
    width: 208px;
    background-color: #F5F5F5;
    border-radius: 0.15rem;
  }
}
.wrap-faqs .faq-menu ul {
  position: relative;
  top: inherit;
  list-style: none;
  margin: 0 0 2rem;
  letter-spacing: -0.4em;
  width: 100%;
}
@media print, screen and (min-width: 1200px) {
  .wrap-faqs .faq-menu ul {
    margin: 0;
    position: sticky;
  }
}
.wrap-faqs .faq-menu ul li {
  letter-spacing: 0;
  display: inline-block;
  margin: 0;
  width: 33.33333333%;
}
@media print, screen and (min-width: 1200px) {
  .wrap-faqs .faq-menu ul li {
    display: block;
    width: auto;
    border-bottom: 1px dotted #BBB;
  }
}
.wrap-faqs .faq-menu ul li a {
  position: relative;
  display: block;
  padding: 1em 0;
  font-weight: 700;
  text-align: center;
}
@media print, screen and (min-width: 1200px) {
  .wrap-faqs .faq-menu ul li a {
    font-size: 1.08em;
    padding: 1em;
    text-align: left;
  }
}
.wrap-faqs .faq-menu ul li a::after {
  position: absolute;
  bottom: 0;
  left: 0.5em;
  width: calc(100% - 1em);
  height: 0;
  border-top: 1px solid #DDD;
  content: " ";
}
@media print, screen and (min-width: 1200px) {
  .wrap-faqs .faq-menu ul li a::after {
    display: none;
  }
}
.wrap-faqs .faq-menu ul li a span {
  display: block;
  font-size: 0.7em;
}
@media print, screen and (min-width: 1200px) {
  .wrap-faqs .faq-menu ul li a span {
    display: inline-block;
  }
}
@media print, screen and (min-width: 1200px) {
  .wrap-faqs .faq-content {
    width: calc(100% - 208px);
    padding-left: 3rem;
    margin-left: auto;
  }
}
.wrap-faqs .faq-content h2 {
  font-size: 1.25em;
}
@media print, screen and (min-width: 800px) {
  .wrap-faqs .faq-content h2 {
    font-size: 1.5em;
  }
}

.accordion.dl-faq dt {
  padding: 1.25em 2em 1.25em 0;
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - TABLETALK
/* ---------------------------------------------------------------------------------------- */
.page-norm.tabletalk .corner-header .self .txt h1 {
  letter-spacing: 0.075em;
}

.talk-norm {
  position: relative;
  list-style: none;
  margin-top: 2em;
}
.talk-norm:not(:last-child) {
  margin-bottom: 2rem;
}
.talk-norm li {
  position: relative;
  margin: 0.5em 0 0;
  padding-bottom: 0.5em;
  border-bottom: 1px dotted #DDD;
  font-weight: 500;
  line-height: 1.7;
}
@media print, screen and (min-width: 576px) {
  .talk-norm li {
    padding-left: 8em;
    margin: 0.5em 0 0;
    padding-bottom: 0.5em;
  }
}
@media print, screen and (min-width: 1200px) {
  .talk-norm li {
    margin: 1em 0 0;
    padding-bottom: 1em;
  }
}
.talk-norm li .name {
  position: relative;
  display: block;
  margin-bottom: 0.5em;
  font-feature-settings: "palt";
  font-weight: 700;
  color: #006af7;
}
@media print, screen and (min-width: 576px) {
  .talk-norm li .name {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
  }
}
.talk-norm li h5 {
  position: absolute;
  top: -0.25rem;
  left: 0;
  text-align: center;
  display: block;
  width: 2rem;
  height: 100%;
  font-size: 1em;
  line-height: 2rem;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  font-weight: 700;
  color: #FFF;
  border: 1px solid #006af7;
  border-radius: 1rem;
  padding: 0;
  margin: 0;
}
@media print, screen and (min-width: 576px) {
  .talk-norm.shortname li {
    padding-left: 5em;
  }
}
.talk-norm.initial-talk li {
  position: relative;
  padding-left: 3rem;
  min-height: 2.5rem;
}
@media print, screen and (min-width: 576px) {
  .talk-norm.initial-talk li {
    padding-left: 3rem;
  }
}
.talk-norm.initial-talk .page-cap_h {
  color: #9ccf65;
  border-color: #9ccf65;
}
.talk-norm.initial-talk .page-cap_i {
  color: #7ab6e5;
  border-color: #7ab6e5;
}
.talk-norm.initial-talk .page-cap_y {
  color: #e57a98;
  border-color: #e57a98;
}

.comment-talk {
  position: relative;
  padding: 1.15rem;
  padding-top: 1.5em;
  border: 1px dotted #003e91;
  background-color: rgba(0, 62, 145, 0.03);
  border-radius: 0.5em;
  margin-top: 2rem;
}
@media print, screen and (min-width: 800px) {
  .comment-talk {
    padding: 1.5rem;
    padding-top: 2em;
    margin-top: 3rem;
  }
}
.comment-talk h4 {
  position: absolute;
  top: -1em;
  left: 1em;
  display: block;
  padding: 0.5em 1.25em;
  line-height: 1;
  background-color: #003e91;
  font-size: 1em;
  color: #FFF;
  min-width: 6em;
  text-align: center;
  border-radius: 1em;
}
.comment-talk p {
  font-size: 0.875em;
  line-height: 1.5;
}
@media print, screen and (min-width: 800px) {
  .comment-talk p {
    font-size: 0.92em;
  }
}

.wrap-qa {
  position: relative;
}
.wrap-qa dl dt {
  position: relative;
  font-weight: 700;
  color: #003e91;
  border-bottom: 1px dotted #003e91;
  padding: 0.5em 0 0.5em 2.5rem;
  margin: 0;
}
@media print, screen and (min-width: 960px) {
  .wrap-qa dl dt {
    padding: 1em 0 1em 2.5rem;
  }
}
.wrap-qa dl dt::before {
  position: absolute;
  top: 0.25em;
  left: 0;
  content: "Q";
  font-weight: 700;
  color: #FFF;
  text-align: center;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  background-color: #003e91;
}
@media print, screen and (min-width: 960px) {
  .wrap-qa dl dt::before {
    top: 0.75em;
  }
}
.wrap-qa dl dd {
  position: relative;
  border-left: 1px solid #DDD;
  padding: 2em 0 0 2.5rem;
  font-size: 0.92em;
}
.wrap-qa dl dd:not(:last-child) {
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 576px) {
  .wrap-qa dl dd {
    margin-left: 2rem;
  }
}
.wrap-qa dl dd::before {
  position: absolute;
  top: -1px;
  left: -1px;
  content: "A";
  font-weight: 700;
  color: #FFF;
  text-align: center;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  background-color: #168e2e;
}

.l-questionnaire-list {
  position: relative;
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-left: -1em;
  margin-right: -1em;
}
.l-questionnaire-list li {
  position: relative;
  border-top: 2px solid #000;
  padding-top: 1em;
  width: calc(100% - 2em);
  margin: 4em 1em 1em;
  font-size: 0.875em;
}
@media print, screen and (min-width: 350px) {
  .l-questionnaire-list li {
    width: calc(50% - 2em);
  }
}
@media print, screen and (min-width: 800px) {
  .l-questionnaire-list li {
    width: calc(33.33333333% - 2em);
  }
}
.l-questionnaire-list li::before {
  position: absolute;
  top: -52px;
  left: 50%;
  margin-left: -20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  content: " ";
  background-repeat: no-repeat;
  background-position: center 4px;
  background-size: 110%;
}
.l-questionnaire-list li.boy-icon {
  border-color: #7898e9;
}
.l-questionnaire-list li.boy-icon::before {
  background-color: #7898e9;
  background-image: url("../img/common/avatar_boy.svg");
}
.l-questionnaire-list li.girl-icon {
  border-color: #ff725f;
}
.l-questionnaire-list li.girl-icon::before {
  background-color: #ff725f;
  background-image: url("../img/common/avatar_girl.svg");
}
.l-questionnaire-list li.man-icon {
  border-color: #7898e9;
}
.l-questionnaire-list li.man-icon::before {
  border-color: #7898e9;
  background-image: url("../img/common/avatar_dad.svg");
}
.l-questionnaire-list li.woman-icon {
  border-color: #ff725f;
}
.l-questionnaire-list li.woman-icon::before {
  border-color: #ff725f;
  background-image: url("../img/common/avatar_mum.svg");
}
.l-questionnaire-list li::after {
  position: absolute;
  top: -16px;
  left: 50%;
  margin-left: -8px;
  width: 0;
  height: 0;
  content: " ";
  border: 8px solid transparent;
  border-bottom-color: #000;
}
.l-questionnaire-list li.boy-icon::after {
  border-bottom-color: #7898e9;
}
.l-questionnaire-list li.girl-icon::after {
  border-bottom-color: #ff725f;
}
.l-questionnaire-list li.man-icon::after {
  border-bottom-color: #7898e9;
}
.l-questionnaire-list li.woman-icon::after {
  border-bottom-color: #ff725f;
}
@media print, screen and (min-width: 350px) {
  .l-questionnaire-list.two li {
    width: calc(100% - 2em);
  }
}
@media print, screen and (min-width: 800px) {
  .l-questionnaire-list.two li {
    width: calc(50% - 2em);
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - ACCESS
/* ---------------------------------------------------------------------------------------- */
.access-time {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-top: -1.5rem;
}
@media print, screen and (min-width: 800px) {
  .access-time {
    margin-top: -2rem;
  }
}
.access-time .col {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .access-time .col {
    width: 50%;
  }
}

.fig-access2 {
  position: relative;
}
.fig-access2 .m {
  position: relative;
  z-index: 0;
}
.fig-access2 .ph {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.fig-access2 .cmap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.fig-access2 .cmap svg {
  width: 100%;
  height: 100%;
  fill: transparent;
}

.access-bus-stop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 2;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}
.access-bus-stop.show {
  visibility: visible;
  max-height: 9999999px;
  opacity: 1;
}
.access-bus-stop ul {
  position: relative;
  list-style: none;
  margin: auto;
}
.access-bus-stop ul li {
  position: absolute;
  width: 168px;
  transform: translate(-50%, -50%);
  border-radius: 7%;
  overflow: hidden;
  margin: 0;
  display: none;
}
@media print, screen and (min-width: 576px) {
  .access-bus-stop ul li {
    width: 200px;
  }
}
@media print, screen and (min-width: 576px) {
  .access-bus-stop ul li {
    width: 256px;
  }
}
.access-bus-stop ul li img {
  width: 100%;
  height: auto;
}
.access-bus-stop .btn-close {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  display: block;
  background-color: rgba(238, 238, 238, 0.9);
  border-radius: 50%;
  left: calc(50% + 88px);
  margin-top: -104px;
  cursor: pointer;
}
@media print, screen and (min-width: 576px) {
  .access-bus-stop .btn-close {
    left: calc(50% + 128px);
    margin-top: -148px;
  }
}
@media print, screen and (min-width: 800px) {
  .access-bus-stop .btn-close {
    width: 40px;
    height: 40px;
    border-radius: 20px;
    left: calc(50% + 130px);
    margin-top: -160px;
  }
}
.access-bus-stop .btn-close span {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -1px;
  transform: rotate(45deg);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.access-bus-stop .btn-close span::before, .access-bus-stop .btn-close span::after {
  position: absolute;
  top: -10px;
  left: -10px;
  content: "";
  -webkit-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.access-bus-stop .btn-close span::before {
  margin-top: 10px;
  width: 21px;
  height: 0;
  border-top: 1px solid #111;
}
.access-bus-stop .btn-close span::after {
  margin-left: 10px;
  height: 21px;
  width: 0;
  border-left: 1px solid #111;
}
.access-bus-stop .btn-close:hover span {
  transform: scale(1.25) rotate(45deg);
}
/* ---------------------------------------------------------------------------------------- */
/* PAGE - PHILOSOPHY
/* ---------------------------------------------------------------------------------------- */
.page-norm.philosophy {
  padding-bottom: 0;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 150%;
  background-image: url(../img/philosophy/bg-philosophy.webp);
  max-width: 1568px;
  margin: 0 auto;
}
.page-norm.philosophy .scn-norm.clrd {
  background-color: rgba(0, 63, 152, 0.05);
  background: linear-gradient(60deg, rgba(0, 63, 152, 0.05) 0, rgba(0, 63, 152, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.philosophy .scn-norm.clrd.light {
  background-color: rgba(0, 63, 152, 0.02);
  background: linear-gradient(60deg, rgba(0, 63, 152, 0.02) 0, rgba(0, 63, 152, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.philosophy .scn-norm.clrd.dark {
  background-color: rgba(0, 63, 152, 0.08);
  background: linear-gradient(135deg, rgba(0, 63, 152, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.philosophy .fmt-interview .Q,
.page-norm.philosophy .fmt-interview .nm {
  color: #003f98;
}
.page-norm.philosophy .with-marker {
  background: linear-gradient(transparent 70%, rgba(0, 63, 152, 0.4) 0%);
}
.page-norm.philosophy h2,
.page-norm.philosophy h3,
.page-norm.philosophy h4 {
  color: #003f98;
}
.page-norm.philosophy h3 {
  color: #222;
}
.page-norm.philosophy h3::first-letter {
  color: #003f98;
}
.page-norm.philosophy h5 {
  color: #002a65;
}
.page-norm.philosophy h3:not(.plain)::before {
  border-color: #003f98;
  background: linear-gradient(to right, #003f98 0, rgba(0, 63, 152, 0) 100%);
}
.page-norm.philosophy h4:not(.plain)::before {
  border-color: #003f98;
}
.page-norm.philosophy h5:not(.plain)::before {
  border-color: #00347f;
}
.page-norm.philosophy h5:not(.plain)::after {
  border-color: #004ab2;
}
.page-norm.philosophy .txt-clr {
  color: #003f98;
}
.page-norm.philosophy .column {
  background-color: rgba(0, 63, 152, 0.08);
}
.page-norm.philosophy .column i {
  background-color: #003f98;
}
.page-norm.philosophy .column-with-title {
  background: linear-gradient(135deg, #003f98 0%, #005fe5 100%);
}
.page-norm.philosophy .column-with-title .column--content {
  background-color: #c1dbff;
  box-shadow: 0 0 1em #002a65;
}
.page-norm.philosophy .corner-header .parent {
  color: #003f98;
  border-color: #003f98;
}
.page-norm.philosophy .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(0, 63, 152, 0.3) 0%);
}
.page-norm.philosophy .corner-header h1 {
  color: #003f98;
}
.page-norm.philosophy .corner-header h2 {
  color: #002a65;
}
.page-norm.philosophy .interlude.clr-belt::after {
  background-color: #003f98;
}
@media print, screen and (min-width: 800px) {
  .page-norm.philosophy {
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
  }
}

.philosophy-header {
  position: relative;
  width: 100%;
  max-width: 1344px;
  margin: 0 auto;
  padding: 72.49% 1.5em 0;
}
@media print, screen and (min-width: 800px) {
  .philosophy-header {
    margin: 0 auto;
    padding: 5em 2em 8em;
  }
}
.philosophy-header .bgimg {
  position: relative;
  width: 100%;
  display: block;
}
.philosophy-header .bgimg img {
  width: 100%;
  height: auto;
}
.philosophy-header h1 {
  /*position: absolute;
  top: 0;
  left: 0;*/
  width: 100%;
  height: auto;
  margin: 0 0 0 auto;
  font-size: 1px;
  line-height: 1;
}
@media print, screen and (min-width: 800px) {
  .philosophy-header h1 {
    width: 51%;
  }
}
.philosophy-header h1 img {
  width: 100%;
  height: auto;
}
.philosophy-header .subimg {
  position: absolute;
  top: 0;
  right: 0;
  width: 24%;
  height: auto;
  margin: 0;
}
.philosophy-header .subimg img {
  width: 100%;
  height: auto;
}
@media print, screen and (min-width: 800px) {
  .philosophy-header .subimg {
    top: 1em;
  }
}
@media print, screen and (max-width: 767px) {
  .philosophy-header img.pc {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .philosophy-header img.smp {
    display: none;
  }
}
.philosophy-header p {
  font-weight: 400;
  width: 100%;
  margin: 1em 0;
  font-size: 1em;
  line-height: 1.7;
  color: #335fa9;
  text-align: left;
}
@media print, screen and (min-width: 800px) {
  .philosophy-header p {
    width: 51%;
    margin: 2.5em 0 0 auto;
    font-size: 18px;
    line-height: 1.7;
  }
}

.philosophy-first {
  margin-top: 3em !important;
}
.philosophy-first h2 {
  color: #0095dd !important;
  margin-bottom: 1em;
  padding: 0;
  width: fit-content;
  border-bottom: 6px solid #e6cee1;
  line-height: 0.5;
}
@media print, screen and (min-width: 800px) {
  .philosophy-first h2 {
    margin-bottom: 0;
  }
}

.fig-concept {
  max-width: 400px;
  margin: 0 auto;
}
@media print, screen and (min-width: 960px) {
  .fig-concept {
    max-width: none;
  }
}
.fig-concept img {
  width: 100%;
  height: auto;
  border-radius: 0.5em;
}

.fig-course dl {
  background-color: rgba(0, 63, 152, 0.075);
  padding: 1.5em;
  border-radius: 0.5em;
}
.fig-course dl + dl {
  margin-top: 0.5em;
}
.fig-course dl dt {
  font-size: 1.15em;
  color: #003e91;
  font-weight: 700;
}
.fig-course dl dd {
  font-size: 0.875em;
  margin: 0;
}

.scn-next-seibudai .row-next-seibudai--txt {
  width: 100%;
  padding-bottom: 2rem;
  color: #335fa9;
}
@media print, screen and (min-width: 800px) {
  .scn-next-seibudai .row-next-seibudai--txt {
    width: 50%;
    padding-bottom: 0;
    padding-right: 3rem;
  }
}
.scn-next-seibudai .row-next-seibudai--fig {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}
@media print, screen and (min-width: 800px) {
  .scn-next-seibudai .row-next-seibudai--fig {
    width: 50%;
  }
}
.scn-next-seibudai h2 {
  font-feature-settings: "palt";
  color: #335fa9 !important;
}
.scn-next-seibudai figure {
  display: block;
  width: 100%;
}
.scn-next-seibudai figure img {
  width: 100%;
  height: auto;
}
.scn-next-seibudai figure.students04 {
  display: block;
  width: 25%;
  margin: -103px 0 0 -10px;
}
@media print, screen and (min-width: 1200px) {
  .scn-next-seibudai figure.students04 {
    width: 40%;
    margin: -230px 0 0 -80px;
  }
}

.philosophy-3col-wrap {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.philosophy-3col {
  width: 100%;
  padding: 1rem;
}
@media print, screen and (min-width: 576px) {
  .philosophy-3col {
    width: 50%;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media print, screen and (min-width: 1200px) {
  .philosophy-3col {
    width: 33.33333333%;
  }
}
.philosophy-3col:first-child {
  justify-content: flex-end;
}
@media print, screen and (max-width: 575px) {
  .philosophy-3col:first-child {
    display: none;
  }
}
@media print, screen and (max-width: 575px) {
  .philosophy-3col:last-child {
    display: none;
  }
}

.philosophy-3stage {
  margin: 5em auto 0;
}
@media print, screen and (min-width: 1200px) {
  .philosophy-3stage {
    margin: 10em auto 0;
  }
}
.philosophy-3stage h2 {
  color: #0095dd !important;
  margin-bottom: 1em;
  padding: 0;
  width: fit-content;
  border-bottom: 6px solid #fbd58b;
  line-height: 0.5;
}
@media print, screen and (min-width: 800px) {
  .philosophy-3stage h2 {
    margin-bottom: 0;
  }
}
.philosophy-3stage .philosophy-3stage-wrap {
  margin-top: 2em;
}
.philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex {
  display: flex;
  align-items: flex-start;
}
@media print, screen and (min-width: 800px) {
  .philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex {
    margin-bottom: -2em;
  }
}
@media print, screen and (min-width: 960px) {
  .philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex {
    margin-bottom: -5em;
  }
}
.philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex h3 {
  /*width: 130px;
  height: 130px;
  background-color: #00a59f;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  @include fnt-min;
  font-size: 21px;
  line-height: 1.2;
  text-align: center;
  margin-right: 0;*/
}
.philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex p {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  padding-right: 0;
  flex: 1;
  color: #da8c13;
}
.philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex p span {
  border-bottom: 1px solid #0095dd;
  padding-bottom: 2px;
  margin: 0 0.3em;
}
.philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex p span b {
  color: #0095dd;
}
@media print, screen and (min-width: 1200px) {
  .philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex p {
    line-height: 2;
  }
}
.philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex .philosophy-3stage-photo {
  /*position: absolute;
  top: -70px;
  right: 0;*/
  width: 100px;
  height: auto;
  margin: 0 0.5em 0 0;
}
.philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex .philosophy-3stage-photo img {
  width: 100%;
  height: auto;
}
@media print, screen and (min-width: 800px) {
  .philosophy-3stage .philosophy-3stage-wrap .philosophy-3stage-flex .philosophy-3stage-photo {
    /*top: -220px;
    right: -140px;*/
    width: 120px;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - VISION
/* ---------------------------------------------------------------------------------------- */
@media print, screen and (min-width: 800px) {
  .page-norm.seibudai-oneday {
    padding-top: 3em;
  }
}

.page-norm.seibudai-vision {
  padding-bottom: 0;
}

.bg-vision {
  position: relative;
  width: 100%;
  min-height: 100vh;
}
.bg-vision .bgimg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  background-image: url("../img/seibudai-oneday/bg2025.webp");
  z-index: -1;
}

[class*=scn-vision] {
  position: relative;
  z-index: 1;
}

.scn-vision--header {
  position: relative;
  padding: 2.5rem 1.5em 2rem;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  max-width: calc(1344px + 3em);
  width: 100%;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .scn-vision--header {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media print, screen and (min-width: 800px) {
  .scn-vision--header {
    padding-left: 2.25em;
    padding-right: 2.25em;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-vision--header {
    align-items: center;
  }
}
.scn-vision--header h1 {
  margin: 0 auto 1rem;
  font-size: 1px;
  line-height: 1;
  width: 70%;
  max-width: 400px;
}
@media print, screen and (min-width: 800px) {
  .scn-vision--header h1 {
    width: 40%;
    max-width: none;
    margin: 0;
  }
}
.scn-vision--header h1 img {
  width: 100%;
  height: auto;
}
.scn-vision--header .intro {
  position: relative;
  text-align: left;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}
@media print, screen and (min-width: 800px) {
  .scn-vision--header .intro {
    width: 60%;
    padding-left: 3em;
    max-width: none;
    margin: 0;
  }
}
.scn-vision--header .intro p {
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 2.2;
  font-weight: 700;
  color: #002a65;
  text-shadow: 0 0 1em white;
}

.scn-vision--scene {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 0.5rem 2rem;
}
@media print, screen and (min-width: 576px) {
  .scn-vision--scene {
    padding: 0 1rem 2rem;
  }
}
@media print, screen and (min-width: 768px) {
  .scn-vision--scene {
    padding: 0 2rem 2rem;
  }
}
.scn-vision--scene .scene {
  position: relative;
  font-size: 0.875em;
  line-height: 1.5;
  color: #505050;
  font-feature-settings: "palt";
  text-align: left;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.scn-vision--scene .scene .ph {
  position: relative;
  width: 50%;
  z-index: 1;
  padding: 1rem;
  /*&::before {
      position: absolute;
      top: 8px;
      left: 8px;
      width: calc(100% - 16px);
      height: calc(100% - 16px);
      border-radius: 26px;
      content: " ";
      //background-color: #000;
      z-index: 0;
  }*/
}
.scn-vision--scene .scene .ph .circle {
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
  border-radius: 22px;
  display: block;
}
.scn-vision--scene .scene .ph .circle > img {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  width: auto;
  max-width: none;
  transform: translateX(-50%);
}
.scn-vision--scene .scene .w-1 {
  width: 10%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .w-1.w-s-1 {
    width: 70%;
  }
  .scn-vision--scene .scene .w-1.w-s-2 {
    width: 50%;
  }
  .scn-vision--scene .scene .w-1.w-s-3 {
    width: 100%;
  }
}
.scn-vision--scene .scene .w-2 {
  width: 20%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .w-2.w-s-1 {
    width: 70%;
  }
  .scn-vision--scene .scene .w-2.w-s-2 {
    width: 50%;
  }
  .scn-vision--scene .scene .w-2.w-s-3 {
    width: 100%;
  }
}
.scn-vision--scene .scene .w-3 {
  width: 30%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .w-3.w-s-1 {
    width: 70%;
  }
  .scn-vision--scene .scene .w-3.w-s-2 {
    width: 50%;
  }
  .scn-vision--scene .scene .w-3.w-s-3 {
    width: 100%;
  }
}
.scn-vision--scene .scene .w-4 {
  width: 40%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .w-4.w-s-1 {
    width: 70%;
  }
  .scn-vision--scene .scene .w-4.w-s-2 {
    width: 50%;
  }
  .scn-vision--scene .scene .w-4.w-s-3 {
    width: 100%;
  }
}
.scn-vision--scene .scene .w-5 {
  width: 50%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .w-5.w-s-1 {
    width: 70%;
  }
  .scn-vision--scene .scene .w-5.w-s-2 {
    width: 50%;
  }
  .scn-vision--scene .scene .w-5.w-s-3 {
    width: 100%;
  }
}
.scn-vision--scene .scene .w-6 {
  width: 60%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .w-6.w-s-1 {
    width: 70%;
  }
  .scn-vision--scene .scene .w-6.w-s-2 {
    width: 50%;
  }
  .scn-vision--scene .scene .w-6.w-s-3 {
    width: 100%;
  }
}
.scn-vision--scene .scene .w-7 {
  width: 70%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .w-7.w-s-1 {
    width: 70%;
  }
  .scn-vision--scene .scene .w-7.w-s-2 {
    width: 50%;
  }
  .scn-vision--scene .scene .w-7.w-s-3 {
    width: 100%;
  }
}
.scn-vision--scene .scene .w-8 {
  width: 80%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .w-8.w-s-1 {
    width: 70%;
  }
  .scn-vision--scene .scene .w-8.w-s-2 {
    width: 50%;
  }
  .scn-vision--scene .scene .w-8.w-s-3 {
    width: 100%;
  }
}
.scn-vision--scene .scene .w-9 {
  width: 90%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .w-9.w-s-1 {
    width: 70%;
  }
  .scn-vision--scene .scene .w-9.w-s-2 {
    width: 50%;
  }
  .scn-vision--scene .scene .w-9.w-s-3 {
    width: 100%;
  }
}
.scn-vision--scene .scene .w-10 {
  width: 100%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .w-10.w-s-1 {
    width: 70%;
  }
  .scn-vision--scene .scene .w-10.w-s-2 {
    width: 50%;
  }
  .scn-vision--scene .scene .w-10.w-s-3 {
    width: 100%;
  }
}
.scn-vision--scene .scene .time {
  position: absolute;
  width: 70px;
  height: 70px;
  background-color: #9d62a0;
  z-index: 3;
  text-align: center;
  border-radius: 50%;
  font-family: "WorkSans", "NotoSans", sans-serif;
  font-weight: 500;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.scn-vision--scene .scene .time .d {
  display: block;
  color: #fff;
  font-family: "WorkSans", Arial, Helvetica, "sans-serif";
  line-height: 1.1;
  font-size: 0.9em;
}
.scn-vision--scene .scene .time .c {
  display: block;
  color: #fff;
  font-size: 0.9em;
  font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin-bottom: 0.2em;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .time {
    width: 56px;
    height: 56px;
  }
  .scn-vision--scene .scene .time .c {
    font-size: 0.75em;
  }
}
.scn-vision--scene .scene .arrow {
  position: absolute;
  width: 80px;
  z-index: 2;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene .arrow {
    display: none;
  }
}
.scn-vision--scene .scene .arrow img {
  width: 100%;
  height: auto;
}
.scn-vision--scene .scene .btn-vision {
  position: absolute;
  z-index: 3;
  bottom: -12px;
  /*&.with-subtext {
      a {
          height: auto;
          line-height: 1.5;
          padding-left: 1.5em;
          padding-top: .5em;
          padding-bottom: .5em;
          border-radius: 3em;

          .sml {
              display: block;
              font-size: .8125em;
          }
      }
  }*/
}
.scn-vision--scene .scene .btn-vision a {
  position: relative;
  display: block;
  min-width: 140px;
  color: #9d62a0;
  font-size: 0.92em;
  font-weight: 700;
  padding: 0.5em 1.5em 0.4em 1em;
  background-color: #f5f1f7;
  overflow: hidden;
  border-radius: 20px;
  line-height: 1.2;
  border: 2px solid #9d62a0;
  text-align: center;
  box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.2);
}
.scn-vision--scene .scene .btn-vision a::after {
  content: "";
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -5px;
  border-top: solid 3px #c1a1c7;
  border-right: solid 3px #c1a1c7;
}
@media print, screen and (min-width: 1200px) {
  .scn-vision--scene .scene .btn-vision a {
    min-width: 168px;
    font-size: 1.15em;
    padding-left: 1em;
    border-radius: 28px;
  }
}
.scn-vision--scene .scene .btn-vision a i {
  position: absolute;
  top: 50%;
  right: 1rem;
  font-size: 1px;
  line-height: 1;
  margin-top: -9px;
  width: 18px;
  height: 18px;
  z-index: 1;
}
.scn-vision--scene .scene .btn-vision a i svg {
  stroke: #fff;
  width: 100%;
  height: 100%;
}
.scn-vision--scene .scene .btn-vision a:hover {
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);
  transform: scale(1.1);
}
.scn-vision--scene .scene.s1 {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  width: 100%;
}
.scn-vision--scene .scene.s1 .ph {
  margin-left: 8%;
  margin-right: auto;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s1 .ph {
    margin-left: 0;
  }
}
.scn-vision--scene .scene.s1 .ph::before {
  display: none;
}
.scn-vision--scene .scene.s1 .time {
  left: 31%;
  bottom: 8%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s1 .time {
    top: inherit;
    bottom: 5em;
    margin-left: -32px;
    left: 50%;
  }
}
.scn-vision--scene .scene.s1 .arrow {
  left: 35%;
  bottom: -12%;
  margin-left: 1rem;
}
.scn-vision--scene .scene.s1 .cap {
  width: 50%;
}
@media print, screen and (min-width: 1200px) {
  .scn-vision--scene .scene.s1 .cap {
    width: 50%;
  }
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s1 .cap {
    position: relative;
    top: inherit;
    left: inherit;
    width: auto;
    margin-bottom: 1em;
    /*br {
        display: none;
    }*/
  }
}
.scn-vision--scene .scene.s1 .cap .inner {
  padding: 2em;
  border-radius: 0.25rem;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .scn-vision--scene .scene.s1 .cap .inner {
    padding: 1em;
  }
}
.scn-vision--scene .scene.s1 .cap h2 {
  display: block;
  margin: 0 auto 1rem;
}
.scn-vision--scene .scene.s1 .cap h2 img {
  width: 100%;
  height: auto;
}
.scn-vision--scene .scene.s1 .cap p {
  font-size: 0.9em;
  font-weight: 600;
  color: #9d62a0;
  position: absolute;
  top: 45%;
  left: 20%;
}
@media print, screen and (min-width: 960px) {
  .scn-vision--scene .scene.s1 .cap p {
    font-size: 1em;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-vision--scene .scene.s1 .cap p {
    font-size: 1.1em;
  }
}
.scn-vision--scene .scene.s2 {
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s2 {
    margin: -4rem 1.5rem 0;
  }
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s2 .ph {
    margin-right: 0;
  }
}
.scn-vision--scene .scene.s2 .ph::before {
  display: none;
}
.scn-vision--scene .scene.s2 .time {
  right: 22%;
  top: 7%;
  margin-right: 0;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s2 .time {
    right: 50%;
    top: 10%;
    margin-right: -24px;
  }
}
.scn-vision--scene .scene.s2 .arrow {
  right: 22%;
  bottom: 7%;
}
@media print, screen and (min-width: 1200px) {
  .scn-vision--scene .scene.s2 .arrow {
    right: 33%;
  }
}
.scn-vision--scene .scene.s2 .cap {
  padding-top: 6%;
  width: 30%;
  max-width: 400px;
  padding-right: 1em;
  z-index: 2;
  font-weight: 700;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s2 .cap {
    padding-top: 15%;
  }
}
@media print, screen and (max-width: 575px) {
  .scn-vision--scene .scene.s2 .cap {
    width: 100%;
    padding: 1em 0;
    margin: 0 auto;
  }
}
.scn-vision--scene .scene.s3-4 {
  align-items: flex-start;
  margin-top: -10%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s3-4 {
    margin-top: 1em;
  }
}
.scn-vision--scene .scene.s3-4 .s3 {
  position: relative;
  padding-top: 0;
  margin-left: 3%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s3-4 .s3 {
    margin-left: 0;
  }
}
.scn-vision--scene .scene.s3-4 .s3 .ph::before {
  bbackground-size: auto auto;
  background-color: rgba(128, 35, 88, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(128, 35, 88) 2px, rgb(128, 35, 88) 4px);
}
.scn-vision--scene .scene.s3-4 .s3 .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /*a {
      color: #802358;
      border: 2px solid #802358;

      &::after {
          border-top: solid 3px #802358;
          border-right: solid 3px #802358;
      }
  }*/
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s3-4 .s3 .btn-vision {
    top: inherit;
    bottom: 0;
  }
}
.scn-vision--scene .scene.s3-4 .s4 {
  position: relative;
  padding-top: 0;
  margin-left: 0;
}
.scn-vision--scene .scene.s3-4 .s4 .ph::before {
  background-size: auto auto;
  background-color: rgba(0, 165, 159, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(0, 165, 159) 2px, rgb(0, 165, 159) 4px);
}
.scn-vision--scene .scene.s3-4 .s4 .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /*a {
      color: #00a59f;
      border: 2px solid #00a59f;

      &::after {
          border-top: solid 3px #00a59f;
          border-right: solid 3px #00a59f;
      }
  }*/
}
.scn-vision--scene .scene.s3-4 .time {
  top: 17%;
  right: -14%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s3-4 .time {
    left: 0;
    top: 2%;
    margin-left: -32px;
  }
}
.scn-vision--scene .scene.s3-4 .arrow {
  right: -50%;
  top: 69%;
}
.scn-vision--scene .scene.s5 {
  margin-top: -15%;
  margin-right: 0;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s5 {
    margin-top: 2rem;
    margin-right: 0;
  }
}
.scn-vision--scene .scene.s5 .with-cap {
  position: relative;
  padding-top: 0;
  margin-left: auto;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s5 .with-cap {
    margin: 0;
  }
}
.scn-vision--scene .scene.s5 .with-cap > span {
  position: absolute;
  top: -15%;
  right: 0;
  width: 50%;
  z-index: 2;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s5 .with-cap > span {
    display: none;
  }
}
.scn-vision--scene .scene.s5 .with-cap > span img {
  width: 100%;
  height: auto;
}
.scn-vision--scene .scene.s5 .with-cap .ph::before {
  background-size: auto auto;
  background-color: rgba(233, 83, 131, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(233, 83, 131) 2px, rgb(233, 83, 131) 4px);
}
.scn-vision--scene .scene.s5 .with-cap .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /*a {
      color: #e95383;
      border: 2px solid #e95383;

      &::after {
          border-top: solid 3px #e95383;
          border-right: solid 3px #e95383;
      }
  }*/
}
.scn-vision--scene .scene.s5 .with-cap .cap {
  position: absolute;
  top: 100%;
  right: 11%;
  width: 200px;
  padding-top: 0.5em;
  font-size: 0.9em;
  line-height: 1.45;
  font-weight: 700;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s5 .with-cap .cap {
    position: absolute;
    top: 40%;
    right: inherit;
    left: 100%;
    padding: 0 1rem 0 1rem;
    width: 100%;
    max-width: 240px;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-vision--scene .scene.s5 .with-cap .cap {
    width: 260px;
  }
}
.scn-vision--scene .scene.s5 .with-cap .cap span {
  color: #dd9611;
  font-size: 1.1em;
  margin-bottom: 0.5em;
  display: block;
}
.scn-vision--scene .scene.s5 .with-cap .time {
  top: 5em;
  left: -1rem;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s5 .with-cap .time {
    bottom: inherit;
    right: 0%;
    top: 5%;
    left: auto;
    margin-right: -24px;
  }
}
.scn-vision--scene .scene.s5 .with-cap .arrow {
  left: -45%;
  bottom: 2em;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s5 .with-cap .arrow {
    bottom: 0;
  }
}
.scn-vision--scene .scene.s6 {
  margin-top: -12%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s6 {
    margin: 0;
    margin-top: 7rem;
  }
}
.scn-vision--scene .scene.s6 .ph {
  margin-left: 10%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s6 .ph {
    margin-left: 0;
  }
}
.scn-vision--scene .scene.s6 .ph::before {
  background-size: auto auto;
  background-color: rgba(220, 173, 53, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(220, 173, 53) 2px, rgb(220, 173, 53) 4px);
}
.scn-vision--scene .scene.s6 .time {
  top: 12%;
  right: 51%;
  margin-left: -32px;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s6 .time {
    right: 50%;
    top: 5%;
    margin-right: -24px;
  }
}
.scn-vision--scene .scene.s6 .arrow {
  right: 43%;
  bottom: 14%;
}
.scn-vision--scene .scene.s6 .btn-vision {
  left: 30%;
  transform: translateX(-45%);
  /*a {
      color: #dcad35;
      border: 2px solid #dcad35;

      &::after {
          border-top: solid 3px #dcad35;
          border-right: solid 3px #dcad35;
      }
  }*/
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s6 .btn-vision {
    left: 16%;
    transform: translateX(-25%);
  }
}
.scn-vision--scene .scene.s7 {
  margin-top: -24%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s7 {
    margin-top: 0;
    margin-bottom: 1rem;
  }
}
.scn-vision--scene .scene.s7 .ph {
  margin-left: auto;
  margin-right: 10%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s7 .ph {
    margin: 0;
  }
}
.scn-vision--scene .scene.s7 .ph::before {
  background-color: #f08300;
}
.scn-vision--scene .scene.s7 .arrow {
  right: 33%;
  bottom: -15%;
  transform: scale(0.5) rotate(20deg);
}
.scn-vision--scene .scene.s7 .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /*a {
      color: #e95383;
      border: 2px solid #e95383;

      &::after {
          border-top: solid 3px #e95383;
          border-right: solid 3px #e95383;
      }
  }*/
}
.scn-vision--scene .scene.s8-10 {
  position: relative;
  align-items: flex-start;
  padding-top: 5%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s8-10 {
    padding-top: 0;
    margin-top: 2rem;
  }
}
.scn-vision--scene .scene.s8-10 .s8 {
  position: relative;
  margin-top: -10%;
  margin-right: 3%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s8-10 .s8 {
    margin-right: 0;
    padding-top: 0;
    margin-top: -54.5%;
  }
}
@media print, screen and (max-width: 575px) {
  .scn-vision--scene .scene.s8-10 .s8 {
    margin-top: -58%;
  }
}
.scn-vision--scene .scene.s8-10 .s8 .ph::before {
  background-size: auto auto;
  background-color: rgba(0, 22, 161, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(0, 22, 161) 2px, rgb(0, 22, 161) 4px);
}
.scn-vision--scene .scene.s8-10 .s8 .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /*a {
      color: #0016a1;
      border: 2px solid #0016a1;

      &::after {
          border-top: solid 3px #0016a1;
          border-right: solid 3px #0016a1;
      }
  }*/
}
.scn-vision--scene .scene.s8-10 .s8-5 {
  padding-top: 5%;
  margin-right: 0;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s8-10 .s8-5 {
    margin-right: 0;
    padding-top: 0;
    margin-top: 2rem;
  }
}
.scn-vision--scene .scene.s8-10 .s8-5 .ph::before {
  background-size: auto auto;
  background-color: rgba(0, 22, 161, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(0, 22, 161) 2px, rgb(0, 22, 161) 4px);
}
.scn-vision--scene .scene.s8-10 .s8-5 .cap {
  margin-left: -45%;
  width: 145%;
  font-weight: 700;
  padding-top: 1em;
  font-size: 0.9em;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s8-10 .s8-5 .cap {
    width: 200%;
    padding: 1em;
    margin-left: 0%;
  }
}
.scn-vision--scene .scene.s8-10 .s8-5 .cap p {
  display: block;
}
.scn-vision--scene .scene.s8-10 .s8-5 .cap p span {
  position: relative;
  display: block;
  font-size: 1.1em;
  color: #1f408f;
  margin-bottom: 0.25em;
  z-index: 1;
  position: relative;
  padding-bottom: 0;
}
.scn-vision--scene .scene.s8-10 .s8-5 .cap .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /*a {
      background-color: #e73278;
  }*/
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s8-10 .s8-5 .cap .btn-vision {
    top: 50%;
    right: 0;
    margin-top: -40px;
  }
}
.scn-vision--scene .scene.s8-10 .s9 {
  position: relative;
  margin-right: auto;
  margin-top: 0%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s8-10 .s9 {
    padding-top: 0;
    margin-right: 0;
    margin-top: 0;
  }
}
.scn-vision--scene .scene.s8-10 .s9 .ph::before {
  background-size: auto auto;
  background-color: rgba(255, 60, 60, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(255, 60, 60) 2px, rgb(255, 60, 60) 4px);
}
.scn-vision--scene .scene.s8-10 .s9 .arrow {
  right: -80%;
  top: 80%;
}
.scn-vision--scene .scene.s8-10 .s9 .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /*a {
      color: #ff3c3c;
      border: 2px solid #ff3c3c;
      width: max-content;

      &::after {
          border-top: solid 3px #ff3c3c;
          border-right: solid 3px #ff3c3c;
      }

      i svg {
          stroke: colors(prA);
      }
  }*/
}
.scn-vision--scene .scene.s8-10 .s10 {
  position: relative;
  padding-top: 26%;
  margin-left: 16%;
  margin-right: 10%;
  margin-top: -30%;
}
@media print, screen and (max-width: 959px) {
  .scn-vision--scene .scene.s8-10 .s10 {
    padding-top: 10%;
    margin-left: 20%;
    margin-right: 10%;
    margin-top: -40%;
  }
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s8-10 .s10 {
    padding-top: 0;
    margin-right: -50%;
    margin-top: -50%;
    margin-left: inherit;
  }
}
.scn-vision--scene .scene.s8-10 .s10 .ph::before {
  background-size: auto auto;
  background-color: rgba(175, 25, 125, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(175, 25, 125) 2px, rgb(175, 25, 125) 4px);
}
.scn-vision--scene .scene.s8-10 .s10 .arrow {
  bottom: 0%;
  right: -17%;
}
.scn-vision--scene .scene.s8-10 .s10 .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /*a {
      color: #af197d;
      border: 2px solid #af197d;

      &::after {
          border-top: solid 3px #af197d;
          border-right: solid 3px #af197d;
      }
  }*/
}
.scn-vision--scene .scene.s11-13 {
  align-items: flex-start;
  margin-top: -2%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s11-13 {
    margin-top: 1em;
  }
}
.scn-vision--scene .scene.s11-13 .s11 {
  position: relative;
  padding-top: 10%;
  margin-left: 5%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s11-13 .s11 {
    padding-top: 0;
    margin-left: 0;
  }
}
.scn-vision--scene .scene.s11-13 .s11 .ph::before {
  background-size: auto auto;
  background-color: rgba(255, 110, 0, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(255, 110, 0) 2px, rgb(255, 110, 0) 4px);
}
.scn-vision--scene .scene.s11-13 .s11 .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /*a {
      color: #ff6e00;
      border: 2px solid #ff6e00;

      &::after {
          border-top: solid 3px #ff6e00;
          border-right: solid 3px #ff6e00;
      }

      //color: colors(btn);
      i svg {
          //stroke: colors(btn);
      }
  }*/
}
.scn-vision--scene .scene.s11-13 .s12 {
  position: relative;
  padding-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-top: 5%;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s11-13 .s12 {
    margin: 0;
  }
}
.scn-vision--scene .scene.s11-13 .s12 .ph::before {
  background-size: auto auto;
  background-color: rgba(0, 62, 147, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(0, 62, 147) 2px, rgb(0, 62, 147) 4px);
}
.scn-vision--scene .scene.s11-13 .s12 .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /*a {
      color: #003e93;
      border: 2px solid #003e93;

      &::after {
          border-top: solid 3px #003e93;
          border-right: solid 3px #003e93;
      }
  }*/
}
.scn-vision--scene .scene.s11-13 .s13 {
  position: relative;
  padding-top: 0;
  margin-right: 0;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s11-13 .s13 {
    margin: 0;
    margin-top: 2rem;
  }
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s11-13 .s13 .ph {
    margin-right: 0;
    margin-left: auto;
  }
}
.scn-vision--scene .scene.s11-13 .s13 .ph::before {
  background-size: auto auto;
  background-color: rgba(0, 211, 229, 0.1882352941);
  background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgb(0, 211, 229) 2px, rgb(0, 211, 229) 4px);
}
.scn-vision--scene .scene.s11-13 .s13 .time {
  top: 7%;
  left: 18%;
  margin-top: -32px;
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s11-13 .s13 .time {
    margin-top: -12px;
    left: 50%;
    margin-left: -32px;
  }
}
.scn-vision--scene .scene.s11-13 .s13 .btn-vision {
  left: 50%;
  transform: translateX(-50%);
  /* {
      color: #00d3e5;
      border: 2px solid #00d3e5;

      &::after {
          border-top: solid 3px #00d3e5;
          border-right: solid 3px #00d3e5;
      }
  }*/
}
@media print, screen and (max-width: 767px) {
  .scn-vision--scene .scene.s11-13 .s13 .btn-vision {
    left: 75%;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - GREETING
/* ---------------------------------------------------------------------------------------- */
.page-norm.greeting {
  padding-bottom: 0;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  background-image: url(../img/philosophy/bg-greeting.webp);
  padding-top: 3em;
}
.page-norm.greeting .scn-norm.clrd {
  background-color: rgba(0, 63, 152, 0.05);
  background: linear-gradient(60deg, rgba(0, 63, 152, 0.05) 0, rgba(0, 63, 152, 0.02) 50%, rgba(0, 0, 0, 0.08) 100%);
}
.page-norm.greeting .scn-norm.clrd.light {
  background-color: rgba(0, 63, 152, 0.02);
  background: linear-gradient(60deg, rgba(0, 63, 152, 0.02) 0, rgba(0, 63, 152, 0.02) 50%, rgba(0, 0, 0, 0.04) 100%);
}
.page-norm.greeting .scn-norm.clrd.dark {
  background-color: rgba(0, 63, 152, 0.08);
  background: linear-gradient(135deg, rgba(0, 63, 152, 0.08) 0, rgba(247, 180, 0, 0.08) 100%);
}
.page-norm.greeting .fmt-interview .Q,
.page-norm.greeting .fmt-interview .nm {
  color: #003f98;
}
.page-norm.greeting .with-marker {
  background: linear-gradient(transparent 70%, rgba(0, 63, 152, 0.4) 0%);
}
.page-norm.greeting h2,
.page-norm.greeting h3,
.page-norm.greeting h4 {
  color: #003f98;
}
.page-norm.greeting h3 {
  color: #222;
}
.page-norm.greeting h3::first-letter {
  color: #003f98;
}
.page-norm.greeting h5 {
  color: #002a65;
}
.page-norm.greeting h3:not(.plain)::before {
  border-color: #003f98;
  background: linear-gradient(to right, #003f98 0, rgba(0, 63, 152, 0) 100%);
}
.page-norm.greeting h4:not(.plain)::before {
  border-color: #003f98;
}
.page-norm.greeting h5:not(.plain)::before {
  border-color: #00347f;
}
.page-norm.greeting h5:not(.plain)::after {
  border-color: #004ab2;
}
.page-norm.greeting .txt-clr {
  color: #003f98;
}
.page-norm.greeting .column {
  background-color: rgba(0, 63, 152, 0.08);
}
.page-norm.greeting .column i {
  background-color: #003f98;
}
.page-norm.greeting .column-with-title {
  background: linear-gradient(135deg, #003f98 0%, #005fe5 100%);
}
.page-norm.greeting .column-with-title .column--content {
  background-color: #c1dbff;
  box-shadow: 0 0 1em #002a65;
}
.page-norm.greeting .corner-header .parent {
  color: #003f98;
  border-color: #003f98;
}
.page-norm.greeting .corner-header .self .txt h1 .with-marker {
  background: linear-gradient(transparent 80%, rgba(0, 63, 152, 0.3) 0%);
}
.page-norm.greeting .corner-header h1 {
  color: #003f98;
}
.page-norm.greeting .corner-header h2 {
  color: #002a65;
}
.page-norm.greeting .interlude.clr-belt::after {
  background-color: #003f98;
}
@media print, screen and (min-width: 800px) {
  .page-norm.greeting {
    padding-top: 5em;
  }
}

.scn-greeting {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.scn-greeting h2 {
  position: relative;
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 700;
  /*letter-spacing: 0.1em;*/
  font-size: 5.25vw;
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 576px) {
  .scn-greeting h2 {
    font-size: 1.75em;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-greeting h2 {
    font-size: 2em;
    line-height: 1.5;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-greeting h2 {
    font-size: 2.15em;
  }
}
.scn-greeting h2 .t {
  display: block;
  font-size: 0.625em;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-bottom: 2em;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: initial;
}
@media all and (-ms-high-contrast: none) {
  .scn-greeting h2 .t {
    font-family: "メイリオ", Meiryo, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
}
@media print, screen and (min-width: 800px) {
  .scn-greeting h2 .t {
    font-size: 0.585em;
  }
}
.scn-greeting h2 .sp {
  display: block;
}
@media print, screen and (min-width: 800px) {
  .scn-greeting h2 .sp {
    display: none;
  }
}
.scn-greeting .row-greeting {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .row-greeting {
    max-width: none;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    flex-direction: row-reverse;
  }
}
.scn-greeting .row-greeting--text {
  position: relative;
  width: 100%;
  padding-bottom: 3em;
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .row-greeting--text {
    padding-bottom: 6em;
    width: 50%;
  }
}
.scn-greeting .row-greeting--text p {
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
  /*text-shadow: 1px 1px 1em $greetingBgClr, -1px -1px 1em $greetingBgClr,
      1px 1px 1em $greetingBgClr, -1px -1px 1em $greetingBgClr;*/
}
@media print, screen and (min-width: 800px) {
  .scn-greeting .row-greeting--text p {
    line-height: 1.7;
  }
}
.scn-greeting .row-greeting--text .credit {
  /*position: absolute;
  bottom: 0;
  left: 0;*/
  /*@include fnt-min;*/
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 1.5em;
  color: #003f98;
  text-align: left;
  margin-top: 1em;
}
@media all and (-ms-high-contrast: none) {
  .scn-greeting .row-greeting--text .credit {
    font-family: "メイリオ", Meiryo, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
}
@media print, screen and (min-width: 576px) {
  .scn-greeting .row-greeting--text .credit {
    font-size: 1.75em;
    /*padding: 1em;*/
    margin-top: 2em;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .row-greeting--text .credit {
    background: none;
  }
}
.scn-greeting .row-greeting--text .credit span {
  /*display: block;*/
  font-size: 0.6em;
  margin-right: 1.5em;
}
.scn-greeting .row-greeting--ph {
  position: relative;
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .row-greeting--ph {
    width: 50%;
  }
}
.scn-greeting .row-greeting--ph .ph {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 120%;
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .row-greeting--ph .ph {
    position: absolute;
    top: 0;
    left: 15%;
    width: 100%;
    height: 100%;
    padding-top: 0;
  }
}
.scn-greeting .row-greeting--ph .ph > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  max-width: none;
}
@media print, screen and (min-width: 576px) {
  .scn-greeting .row-greeting--ph .ph > img {
    left: 20%;
    width: 65%;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .row-greeting--ph .ph > img {
    top: auto;
    left: 10%;
    bottom: 0%;
  }
}
.scn-greeting .row-greeting--ph .motto {
  position: absolute;
  top: 0;
  left: 0;
  width: 35%;
  padding: 0.5rem;
  display: block;
}
@media print, screen and (min-width: 350px) {
  .scn-greeting .row-greeting--ph .motto {
    width: 30%;
  }
}
@media print, screen and (min-width: 576px) {
  .scn-greeting .row-greeting--ph .motto {
    width: 160px;
  }
}
@media print, screen and (min-width: 768px) {
  .scn-greeting .row-greeting--ph .motto {
    max-width: 220px;
    width: 20vw;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .row-greeting--ph .motto {
    width: 128px;
    padding: 1em;
    width: 15vw;
    max-width: none;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-greeting .row-greeting--ph .motto {
    width: 160px;
    width: 12vw;
  }
}
@media print, screen and (min-width: 1500px) {
  .scn-greeting .row-greeting--ph .motto {
    width: 180px;
  }
}
.scn-greeting .row-greeting--ph .motto img {
  width: 100%;
  height: auto;
}
.scn-greeting .greeting-txt {
  position: relative;
  margin-right: 0;
  margin-left: auto;
  z-index: 2;
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .greeting-txt {
    width: 56%;
    padding-top: 8rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-greeting .greeting-txt {
    padding-top: 12rem;
  }
}
.scn-greeting .greeting-txt .inner {
  position: relative;
  padding: 1rem;
  text-align: left;
}
@media print, screen and (min-width: 576px) {
  .scn-greeting .greeting-txt .inner {
    padding: 2rem;
  }
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .greeting-txt .inner {
    padding: 0 3rem 3rem;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-greeting .greeting-txt .inner {
    padding: 0 6rem 4rem;
  }
}
.scn-greeting .greeting-txt h2 {
  position: relative;
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  display: inline-block;
  overflow: hidden;
  margin-top: -3em;
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .greeting-txt h2 {
    font-size: 1.45em;
    line-height: 1.5;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-greeting .greeting-txt h2 {
    font-size: 1.5em;
  }
}
@media print, screen and (min-width: 1500px) {
  .scn-greeting .greeting-txt h2 {
    font-size: 1.75em;
  }
}
@media print, screen and (max-width: 959px) {
  .scn-greeting .greeting-txt h2 {
    background: transparent;
    color: #003f98 !important;
    margin-top: 0;
    padding: 1rem 0 0;
  }
}
.scn-greeting .greeting-txt h2 .t {
  display: block;
  font-size: 0.65em;
  line-height: 1;
  letter-spacing: 0.05em;
  padding-bottom: 0.5em;
}
.scn-greeting .greeting-txt p {
  color: #252525;
}
@media print, screen and (min-width: 960px) {
  .scn-greeting .greeting-txt p {
    font-size: 0.92em;
  }
}
@media print, screen and (min-width: 1200px) {
  .scn-greeting .greeting-txt p {
    font-size: 1em;
  }
}

/* ---------------------------------------------------------------------------------------- */
/* PAGE - COURSE
/* ---------------------------------------------------------------------------------------- */
.page-norm.course .course-header {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding-top: 6em;
}
@media print, screen and (min-width: 800px) {
  .page-norm.course .course-header {
    padding-top: 3em;
  }
}
.page-norm.course .pc {
  display: none;
}
@media print, screen and (min-width: 800px) {
  .page-norm.course .pc {
    display: block;
  }
}
.page-norm.course .smp {
  display: block;
}
@media print, screen and (min-width: 800px) {
  .page-norm.course .smp {
    display: none;
  }
}
.page-norm.course .course-2col-wrap {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 3em;
  margin-bottom: 10em;
}
@media print, screen and (min-width: 800px) {
  .page-norm.course .course-2col-wrap {
    flex-direction: row;
    align-items: flex-end;
  }
}
.page-norm.course .course-2col {
  width: 100%;
}
@media print, screen and (min-width: 800px) {
  .page-norm.course .course-2col {
    width: calc(50% - 1.5em);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }
}
@media print, screen and (max-width: 799px) {
  .page-norm.course .course-2col > div {
    margin-bottom: 1em;
  }
}
.page-norm.course h3 {
  font-size: 22px;
  color: #4b70b5 !important;
  font-feature-settings: "palt";
}
.page-norm.course h3::first-letter {
  color: #4b70b5 !important;
}
.page-norm.course h3 span {
  color: #dd9966;
}
.page-norm.course .course-2col-2col {
  width: 100%;
  display: flex;
  align-items: center;
  margin: 1em 0 0;
  gap: 2em;
}
.page-norm.course .student_voices {
  position: relative;
  border-radius: 2em;
  padding: 1.5em 9em 1.5em 1.5em;
  align-self: flex-start;
  margin-bottom: 2em;
}
@media print, screen and (min-width: 800px) {
  .page-norm.course .student_voices {
    padding: 2em 9em 2em 2em;
    margin-bottom: 0;
  }
}
.page-norm.course .student_voices .student_voices_photo {
  position: absolute;
  right: 0;
  top: -1em;
  width: 8.5em;
  height: auto;
}
@media print, screen and (min-width: 800px) {
  .page-norm.course .student_voices .student_voices_photo {
    width: 9em;
  }
}
.page-norm.course .student_voices .student_voices_title {
  width: 13em;
  height: auto;
  margin: 0;
}
@media print, screen and (min-width: 800px) {
  .page-norm.course .student_voices .student_voices_title {
    width: 15em;
  }
}
.page-norm.course .student_voices p {
  line-height: 2.5;
  margin: 0;
  min-height: 10em;
}
@media print, screen and (max-width: 799px) {
  .page-norm.course .student_voices p {
    font-size: 0.8em;
  }
}
.page-norm.course .student_voices p span {
  padding-bottom: 5px;
}
.page-norm.course .student_voices.student_voices01 {
  background-color: #faf1da;
}
.page-norm.course .student_voices.student_voices01 p span {
  border-bottom: 2px dotted #e0b240;
}
.page-norm.course .student_voices.student_voices02 {
  background-color: #e8f1ed;
}
.page-norm.course .student_voices.student_voices02 p span {
  border-bottom: 2px dotted #79b49e;
}
.page-norm.course .col-region nav ul li a {
  letter-spacing: 0.5em;
  color: #fff;
  padding: 1em 1em 1em 1.5em;
}
@media print, screen and (min-width: 960px) {
  .page-norm.course .col-region nav ul li a {
    padding: 1.5em 1em 1em 1em;
  }
}
.page-norm.course .col-region nav ul li:first-child a {
  background-color: #e0b240;
}
.page-norm.course .col-region nav ul li:last-child a {
  background-color: #79bab3;
}/*# sourceMappingURL=styles.css.map */