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

初期設定

-------------------------------------------------- */
/* --------------------------------------------------

hover

-------------------------------------------------- */
/* --------------------------------------------------

スマホサイズのフォント指定

-------------------------------------------------- */
/* --------------------------------------------------

breakpoint

-------------------------------------------------- */
/* --------------------------------------------------

reset

-------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
}

body {
  line-height: 1;
}

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

dl,
dt,
dd,
ul,
ol {
  list-style: none;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

img,
a {
  vertical-align: top;
}

a img {
  border: none;
}

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

/* change colours to suit your needs */
ins {
  background: #ff9 repeat center center;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background: #ff9 repeat center center;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

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

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

/* --------------------------------------------------

base

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

body {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  color: #323131;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.5;
  width: 100%;
  min-width: 1080px;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
}
@media only screen and (max-width: 1100px) {
  body {
    min-width: 0;
  }
}
body.menu-open {
  overflow: hidden; /* スクロール禁止 */
  position: relative; /* iPadでも開くように fixed は使わない */
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  box-sizing: border-box;
}

a {
  transition: all 0.3s;
  text-decoration: none;
  outline-offset: -2px;
}

img {
  max-width: 100%;
}

a:link,
a:visited {
  color: #000;
}

a.links {
  color: #0D30B8;
  text-decoration: underline;
}

a:hover,
a:active {
  color: #097A53;
  transition: all 0.3s;
}

.wrapper {
  display: flex;
  flex-direction: column;
}

#contents {
  overflow: hidden;
  flex: 1;
}
@media all and (-ms-high-contrast: none) {
  #contents {
    flex: 1 0 auto;
  }
}

.main {
  margin: 4.8rem 0 12.8rem;
}
@media only screen and (max-width: 1300px) {
  .main {
    margin: 4.8rem 0 4.8rem;
  }
}
@media only screen and (max-width: 1300px) and (max-width: 768px) {
  .main {
    margin: 3.2rem 0 4.8rem;
  }
}
.main:has(.static-wrap.border) {
  margin-bottom: 0;
}

.inner-l {
  width: 1280px;
  margin: 0 auto;
}
@media only screen and (max-width: 1380px) {
  .inner-l {
    width: calc(100% - 80px);
    max-width: 1280px;
  }
}
@media only screen and (max-width: 1300px) {
  .inner-l {
    width: 92%;
  }
}

.inner {
  width: 1080px;
  margin: 0 auto;
}
@media only screen and (max-width: 1380px) {
  .inner {
    width: calc(100% - 80px);
    max-width: 1080px;
  }
}
@media only screen and (max-width: 1100px) {
  .inner {
    width: 92%;
  }
}

.inner-s {
  width: 720px;
  margin: 0 auto;
}
@media only screen and (max-width: 1380px) {
  .inner-s {
    width: calc(100% - 80px);
    max-width: 720px;
  }
}
@media only screen and (max-width: 740px) {
  .inner-s {
    width: 92%;
  }
}

.pc-block {
  display: block !important;
}
.pc-block-inline {
  display: inline-block !important;
}
.pc-block-flex {
  display: flex !important;
}
@media only screen and (max-width: 768px) {
  .pc-block, .pc-block-inline, .pc-block-flex {
    display: none !important;
  }
}

.sp-block, .sp-block-inline, .sp-block-flex {
  display: none !important;
}
@media only screen and (max-width: 768px) {
  .sp-block {
    display: block !important;
  }
  .sp-block-inline {
    display: inline-block !important;
  }
  .sp-block-flex {
    display: flex !important;
  }
}

svg {
  width: 100%;
  height: auto;
}

em,
strong {
  font-weight: bold;
}

/* --------------------------------------------------

margin

-------------------------------------------------- */
.mt-0 {
  margin-top: 0px !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.mx-0 {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

.my-0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.p-0 {
  padding: 0px !important;
}

.pt-0 {
  padding-top: 0px !important;
}

.pb-0 {
  padding-bottom: 0px !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.px-0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.py-0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

@media only screen and (max-width: 768px) {
  /* sp */
  .mt-sp-0 {
    margin-top: 0px !important;
  }
  .mb-sp-0 {
    margin-bottom: 0px !important;
  }
  .mr-sp-0 {
    margin-right: 0px !important;
  }
  .ml-sp-0 {
    margin-left: 0px !important;
  }
  .mx-sp-0 {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .my-sp-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }
  /* sp */
  .p-sp-0 {
    padding: 0px !important;
  }
  .pt-sp-0 {
    padding-top: 0px !important;
  }
  .pb-sp-0 {
    padding-bottom: 0px !important;
  }
  .pr-sp-0 {
    padding-right: 0px !important;
  }
  .pl-sp-0 {
    padding-left: 0px !important;
  }
  .px-sp-0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .py-sp-0 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
}
/* --------------------------------------------------

form

-------------------------------------------------- */
button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  padding: 0;
  margin: 0;
}

input[type=text], input[type=number], input[type=date], input[type=tel], input[type=email], input[type=password] {
  /*font-size: 1.6rem;*/
  vertical-align: middle;
  width: 100%;
  background: #fff;
  border: 1px solid #B5B5B5;
  border-radius: 0;
  box-sizing: border-box;
  padding: 0.8rem;
  font-weight: 400 !important;
}
@media only screen and (max-width: 768px) {
  input[type=text], input[type=number], input[type=date], input[type=tel], input[type=email], input[type=password] {
    padding: 0.8rem;
    font-size: 1.6rem;
  }
}
input[type=text]::placeholder, input[type=number]::placeholder, input[type=date]::placeholder, input[type=tel]::placeholder, input[type=email]::placeholder, input[type=password]::placeholder {
  color: #707070;
}

input[type=checkbox],
input[type=radio] {
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.8rem;
}
input[type=checkbox] + label,
input[type=radio] + label {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.8rem;
}

input[type=file] {
  margin-bottom: 0.8rem;
}

select {
  /*font-size: 1.6rem;*/
  width: 100%;
  background: none;
  border: 1px solid #B5B5B5;
  border-radius: 0;
  box-sizing: border-box;
  padding: 0.8rem;
}
@media only screen and (max-width: 768px) {
  select {
    padding: 1.6rem 0.8rem;
    font-size: 1.6rem;
  }
}
select option[selected],
select option[active] {
  color: #FFF;
  background: #000;
}

fieldset {
  border: none;
  display: block;
}
fieldset span {
  display: inline-flex;
  align-items: center;
  margin: 0 0.8rem 0.8rem 0;
}

textarea {
  font-size: 1.6rem;
  width: 100%;
  min-height: 7em;
  border: 1px solid #D1D1D1;
  border-radius: 0;
  box-sizing: border-box;
  padding: 1.6rem;
  resize: vertical;
}
@media only screen and (max-width: 768px) {
  textarea {
    padding: 0.8rem;
  }
}
textarea::placeholder {
  color: #707070;
}

button {
  cursor: pointer;
  color: #FFF;
  background: #323131;
  font-size: 100%;
  vertical-align: middle;
  border-radius: 10px;
  padding: 0.5rem 1.6rem;
}
@media only screen and (max-width: 768px) {
  button {
    font-size: 1.3rem;
  }
}

/* --------------------------------------------------

テキストサイズ

-------------------------------------------------- */
input.text-l,
select.text-l {
  width: 75%;
}

input.text-m,
select.text-m {
  width: 50%;
}

input.text-s,
select.text-s {
  width: 25%;
}

@media only screen and (max-width: 768px) {
  input.text-l,
  select.text-l,
  input.text-m,
  select.text-m {
    width: 100%;
    box-sizing: border-box;
  }
  input.text-s,
  select.text-s {
    width: 60%;
    box-sizing: border-box;
  }
  input.sp-text-l,
  select.sp-text-l {
    width: 100% !important;
    box-sizing: border-box;
  }
  input.sp-text-m,
  select.sp-text-m {
    width: 60% !important;
    box-sizing: border-box;
  }
  input.sp-text-s,
  select.sp-text-s {
    width: 30% !important;
    box-sizing: border-box;
  }
}
/* --------------------------------------------------

flow-area

-------------------------------------------------- */
.flow-area {
  margin-bottom: 4.8rem;
}
.flow-area .step-bar ul {
  text-align: center;
  display: flex;
  position: relative;
}
.flow-area .step-bar ul li {
  font-size: 1.4rem;
  font-weight: bold;
  text-indent: 0.1rem;
  letter-spacing: 0.1rem;
  list-style: none;
  position: relative;
  width: 33.3333333333%;
}
@media only screen and (max-width: 768px) {
  .flow-area .step-bar ul li {
    font-size: 1.2rem;
  }
}
.flow-area .step-bar ul li:after {
  content: "";
  background: #DADADA;
  width: calc(100% - 5em);
  height: 2px;
  position: absolute;
  top: 1.6em;
  left: calc(-50% + 2.5em);
  right: auto;
  z-index: -1;
}
@media only screen and (max-width: 768px) {
  .flow-area .step-bar ul li:after {
    top: 1.3em;
  }
}
.flow-area .step-bar ul li:first-child:after {
  display: none;
}
.flow-area .step-bar ul li span {
  color: #323131;
  background: #EEEEEE;
  font-size: 1.8rem;
  display: inline-block;
  border-radius: 50%;
  padding: 0.6em 1em;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .flow-area .step-bar ul li span {
    font-size: 1.3rem;
  }
}
.flow-area .step-bar ul .visited:after {
  background: #FFBF00;
}
.flow-area .step-bar ul .visited span {
  color: #FFF;
  background: #FFBF00;
  z-index: 10;
}
@media only screen and (max-width: 768px) {
  .flow-area .step-bar ul {
    width: 100%;
  }
  .flow-area .step-bar ul li {
    padding: 0 0.8rem;
  }
}
.flow-area .flow-part {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .flow-area .flow-part {
    display: block;
  }
}
.flow-area .flow-part > div {
  width: 35%;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .flow-area .flow-part > div {
    width: auto;
  }
}
.flow-area .flow-part > div p {
  color: #323131;
  background: #EEEEEE;
  font-size: 1.6rem;
  line-height: 1.4;
  height: 100%;
  padding: 1.6rem;
  margin: 0 3.2rem 0 0;
  position: relative;
}
@media only screen and (max-width: 1300px) {
  .flow-area .flow-part > div p {
    font-size: 1.6vw;
  }
}
@media only screen and (max-width: 768px) {
  .flow-area .flow-part > div p {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 768px) {
  .flow-area .flow-part > div p {
    font-weight: bold;
    text-align: center;
    width: auto;
    height: auto;
    margin: 0;
    position: relative;
  }
  .flow-area .flow-part > div p:after {
    display: none;
  }
}
.flow-area .flow-part > div p span {
  font-weight: bold;
  display: block;
}
.flow-area .flow-part > div p:after {
  content: "";
  width: 0;
  height: 0;
  border-left: 1.7em solid #EEEEEE;
  border-top: 3.5em solid transparent;
  border-bottom: 3.5em solid transparent;
  display: block;
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -1.5em;
}
@media only screen and (max-width: 768px) {
  .flow-area .flow-part > div p:after {
    display: none;
  }
}
.flow-area .flow-part > div.visited p {
  color: #FFF;
  background: #FFBF00;
}
.flow-area .flow-part > div.visited p:after {
  border-left: 1.6em solid #FFBF00;
}
@media only screen and (max-width: 768px) {
  .flow-area .flow-part > div:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 10px solid #EEEEEE;
    display: block;
    margin: 0 auto 0.8rem;
  }
  .flow-area .flow-part > div.visited:after {
    border-top: 10px solid #FFBF00;
  }
  .flow-area .flow-part > div:last-child:after {
    display: none;
  }
}

/* --------------------------------------------------

error-area

-------------------------------------------------- */
.error-area {
  color: #E1373F;
  background: #F9EBEB;
  border: 1px solid #E1373F;
  font-size: 1.4rem;
  padding: 1.6rem 2.4rem;
  margin-bottom: 4.8rem;
}
.error-area .ttl {
  margin-bottom: 2.4rem;
}
.error-area a {
  color: #E1373F;
  text-decoration: underline;
}

/* --------------------------------------------------

form-area

-------------------------------------------------- */
.form-area p.txt-error {
  color: #E1373F;
  font-size: 1.4rem;
  scroll-margin-top: 4em;
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 768px) {
  .form-area p.txt-error {
    scroll-margin-top: 5em;
  }
}
.form-area p.txt-ex {
  color: #707070;
  font-size: 1.3rem;
  margin-bottom: 0.8rem;
}
.form-area p.txt-upload {
  color: #707070;
  font-size: 1.3rem;
  margin-bottom: 0.8rem;
}
.form-area strong.txt-required {
  color: #FFF;
  background: #E1373F;
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1;
  white-space: nowrap;
  display: inline-block;
  padding: 0.4rem 0.8rem;
  margin: 0 0.8rem;
}
.form-area .table-form > dl > dt,
.form-area .table-form > div > dt {
  background: #EEEEEE;
  font-weight: bold;
  text-align: left;
  padding: 0.8rem 1.6rem;
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 768px) {
  .form-area .table-form > dl > dt,
  .form-area .table-form > div > dt {
    width: 100%;
    min-width: auto;
  }
}
.form-area .table-form > dl > fieldset,
.form-area .table-form > div > fieldset {
  display: contents;
}
.form-area .table-form > dl > fieldset > legend,
.form-area .table-form > div > fieldset > legend {
  width: 100%;
  background: #EEEEEE;
  text-align: left;
  display: block;
  padding: 0.8rem 1.6rem;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .form-area .table-form > dl > fieldset > legend,
  .form-area .table-form > div > fieldset > legend {
    width: 100%;
    min-width: auto;
  }
}
.form-area .table-form > dl > dd,
.form-area .table-form > dl .right-fl,
.form-area .table-form > div > dd,
.form-area .table-form > div .right-fl {
  text-align: left;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .form-area .table-form > dl > dd,
  .form-area .table-form > dl .right-fl,
  .form-area .table-form > div > dd,
  .form-area .table-form > div .right-fl {
    width: 100%;
    display: block;
    border-bottom: none;
    box-sizing: border-box;
  }
}
.form-area .table-form > dl .right-fl > div,
.form-area .table-form > div .right-fl > div {
  margin-bottom: 1.6rem;
}
.form-area .table-form > dl .right-fl > div label,
.form-area .table-form > div .right-fl > div label {
  font-weight: bold;
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
}
.form-area .table-form > dl .right-fl > div legend,
.form-area .table-form > div .right-fl > div legend {
  display: none;
}
.form-area .agree-part > p {
  margin-bottom: 0.8rem;
}
.form-area .agree-part .txt-error {
  margin-bottom: 1.6rem;
}
.form-area .agree-part .check-agree fieldset input {
  margin-right: 0.8rem;
  display: inline-block;
}
.form-area .agree-part .check-agree fieldset label {
  margin: 0;
}
@media only screen and (max-width: 420px) {
  .form-area .agree-part .check-agree fieldset label {
    width: calc(100% - 25px);
    margin: 0;
    vertical-align: text-top;
  }
}
.form-area .agree-part a:link,
.form-area .agree-part a:visited {
  text-decoration: underline;
}
.form-area.confirm .table-form > dl > dt,
.form-area.confirm .table-form > div > dt {
  margin-bottom: 1.6rem;
}
.form-area.confirm .table-form > dl > dd > dl > dt,
.form-area.confirm .table-form > div > dd > dl > dt {
  margin-bottom: 0.8rem;
}
.form-area.confirm .table-form > dl > dd > dl > dd,
.form-area.confirm .table-form > div > dd > dl > dd {
  margin-bottom: 1.6rem;
}
.form-area.confirm .table-form > dl > dd a,
.form-area.confirm .table-form > div > dd a {
  text-decoration: underline;
}
.form-area.confirm .table-form > dl > dd span,
.form-area.confirm .table-form > div > dd span {
  display: inline-block;
  margin: 0 1.6rem 0.8rem 0;
}
.form-area .complete-part {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .form-area .complete-part {
    text-align: left;
  }
}
.form-area .complete-part {
  margin-bottom: 5.6rem;
}
.form-area .complete-part .ttl-large {
  display: inline-block;
  margin: 4.8rem 0 4rem;
}
.form-area .complete-part .ttl-large::after {
  content: none;
}
@media only screen and (max-width: 768px) {
  .form-area .complete-part .ttl-large {
    margin: 1.6rem 0 1.5rem;
  }
}
.form-area .complete-part p {
  line-height: 2;
}
.form-area .complete-note ul li {
  margin-bottom: 3.2rem;
}
.form-area .btn-block {
  margin: 5.6rem 0;
}

fieldset legend {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.5em;
  display: none;
}
fieldset.ds-legend legend {
  display: block;
}
fieldset.form-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
fieldset.form-list.btn-check span,
fieldset.form-list.btn-check div {
  position: relative;
  margin: 0 0.5em 0.5em 0;
}
fieldset.form-list.btn-check span > input,
fieldset.form-list.btn-check div > input {
  opacity: 0;
}
fieldset.form-list.btn-check span > input:checked + label,
fieldset.form-list.btn-check div > input:checked + label {
  color: #FFF;
  background: #000;
}
fieldset.form-list.btn-check span > input,
fieldset.form-list.btn-check div > input {
  position: absolute;
  z-index: -1;
}
fieldset.form-list.btn-check span > label,
fieldset.form-list.btn-check div > label {
  font-weight: bold;
  text-align: center;
  padding: 0.1em 1.5em;
  margin-right: 0;
  background: #FFF;
  border: 1px solid #FFBF00;
  border-radius: 100px;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  fieldset.form-list.btn-check span > label,
  fieldset.form-list.btn-check div > label {
    font-size: 1.4rem;
  }
}
fieldset.form-list.btn-icon {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 1em;
}
fieldset.form-list.btn-icon legend {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.5em;
  display: none;
}
fieldset.form-list.btn-icon.ds-legend legend {
  display: block;
}
fieldset.form-list.btn-icon span,
fieldset.form-list.btn-icon div {
  margin: 0;
  display: block;
}
fieldset.form-list.btn-icon span > input,
fieldset.form-list.btn-icon div > input {
  opacity: 0;
}
fieldset.form-list.btn-icon span > input:checked + label,
fieldset.form-list.btn-icon div > input:checked + label {
  background: #B5B5B5;
}
fieldset.form-list.btn-icon span > input,
fieldset.form-list.btn-icon div > input {
  position: absolute;
  z-index: -1;
}
fieldset.form-list.btn-icon span > label,
fieldset.form-list.btn-icon div > label {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  font-weight: bold;
  text-align: center;
  padding: 1em 1.5em;
  background: #FFF;
  border: none;
  border-radius: 15px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  fieldset.form-list.btn-icon span > label,
  fieldset.form-list.btn-icon div > label {
    font-size: 1.6rem;
  }
}
fieldset.form-list.btn-icon span > label > span,
fieldset.form-list.btn-icon div > label > span {
  margin-top: 0.4em;
  line-height: 1.8rem;
}

.input-search fieldset {
  margin: 0;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  overflow: hidden;
  border: 1px solid #FFBF00;
}
.input-search fieldset legend {
  display: none;
}
.input-search fieldset input {
  border: none;
  border-radius: 0;
  background: #FFF;
  flex: 1;
}
.input-search fieldset input::placeholder {
  color: #707070;
}
.input-search fieldset button {
  color: #FFF;
  padding: 0.5em 1em;
  border-radius: 0;
  border: none;
  background: #FFBF00;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.input-search fieldset button img {
  margin-right: 0.5em;
}

.period-search {
  display: flex;
  align-items: center;
  gap: 0 1em;
}
@media only screen and (max-width: 768px) {
  .period-search {
    flex-direction: column;
    gap: 0.5em 0;
  }
}
.period-search > div {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .period-search > div {
    width: 100%;
  }
}
.period-search > div label {
  display: none;
}
.period-search > div::before {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  background: url(../img/common/ico_calendar.svg) no-repeat center center/contain;
  position: absolute;
  left: 0.5em;
  top: 50%;
  transform: translateY(-50%);
}
.period-search > div input {
  padding-left: 2em;
}

/* --------------------------------------------------

検索条件で絞り込む

-------------------------------------------------- */
@media only screen and (max-width: 768px) {
  .search-conditions.bg-c {
    padding: 1.5em 1em;
  }
}
.search-conditions.toggle .btn-toggle {
  text-align: center;
}
.search-conditions.toggle .btn-toggle .ttl {
  font-size: 2rem;
  font-weight: bold;
  display: inline-block;
  background: none;
  border: none;
  cursor: pointer;
}
.search-conditions.toggle .btn-toggle .ttl span {
  padding: 0 2em;
  display: block;
  position: relative;
}
.search-conditions.toggle .btn-toggle .ttl span:after {
  content: "";
  width: 1em;
  height: 2px;
  border: none;
  background: #000;
  position: absolute;
  top: 50%;
  right: 0.5em;
  display: block;
  transform: translateY(-50%) rotateZ(0);
}
.search-conditions.toggle .btn-toggle.open-search .ttl span:before {
  content: "";
  width: 1em;
  height: 2px;
  border: none;
  background: #000;
  position: absolute;
  top: 50%;
  right: 0.5em;
  display: block;
  transform: translateY(-50%) rotateZ(90deg);
}
.search-conditions .search-conditions-inner {
  margin-top: 2em;
  display: grid;
  gap: 1em 1em;
}
.search-conditions .search-conditions-inner > dl {
  display: grid;
  grid-template-columns: 1fr 5fr;
}
@media only screen and (max-width: 768px) {
  .search-conditions .search-conditions-inner > dl {
    display: block;
  }
}
.search-conditions .search-conditions-inner > dl dt {
  margin-bottom: 0.5em;
  font-weight: bold;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .search-conditions .search-conditions-inner > dl dt {
    text-align: center;
    display: block;
  }
}

/* --------------------------------------------------

観光スポット/イベント　絞り込み検索

-------------------------------------------------- */
.search-block {
  position: relative;
  z-index: 5;
}
.search-block .search-btn-sp {
  display: none;
}
@media only screen and (max-width: 768px) {
  .search-block .search-btn-sp {
    display: flex;
    align-items: stretch;
    gap: 0 1em;
    margin-bottom: 1em;
  }
}
.search-block .search-btn-sp .filter-block {
  flex: 1;
  background: #fff;
}
.search-block .search-btn-sp .filter-block > div {
  cursor: pointer;
  font-size: 1.6rem;
  text-align: center;
  border: 1px solid #000;
  padding: 0.5em;
  position: relative;
}
.search-block .search-btn-sp .filter-block > div:before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.3rem;
  position: absolute;
  left: 1em;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/common/ico_filter.svg) no-repeat center center/cover;
}
.search-block .search-btn-sp .sort-block {
  flex: 1;
  border: 1px solid #000;
  margin-bottom: 0;
  font-size: 1.6rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
}
.search-block .search-btn-sp .sort-block .ac-p {
  width: 100%;
}
.search-block form {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1em;
  position: relative;
  z-index: 0;
}
.search-block form.open {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 2em 1em;
  background: #fff;
  z-index: 20;
  overflow-y: auto;
}
@media only screen and (max-width: 768px) {
  .search-block form {
    display: none;
    flex-wrap: wrap;
  }
}
.search-block form > .btn-close {
  display: none;
  position: relative;
}
.search-block form > .btn-close:before {
  content: "";
  background: url(../img/common/ico_clear.svg) no-repeat center center/contain;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  vertical-align: baseline;
  margin-right: 0.5em;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .search-block form > .btn-close {
    display: block;
    position: absolute;
    top: 1em;
    right: 1em;
  }
}
.search-block form .tab {
  display: flex;
  gap: 1em;
  position: relative;
  z-index: 0;
  flex: 1;
  margin-bottom: 4.8rem;
}
@media only screen and (max-width: 768px) {
  .search-block form .tab {
    flex-wrap: wrap;
    width: 100%;
    gap: 1em 0;
    order: 2;
  }
}
.search-block form .tab .search-label {
  font-size: 1.6rem;
  position: relative;
  cursor: pointer;
  background: #fff;
  border: 1px solid #B5B5B5;
  border-radius: 10px;
  padding: 1.6rem 3rem 1.6rem 1.6rem;
  flex: auto;
  min-width: 10rem;
  word-break: keep-all;
}
@media only screen and (max-width: 1100px) {
  .search-block form .tab .search-label > span {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .search-block form .tab .search-label {
    text-align: center;
    background: #EFEFEF;
    border: none;
    border-radius: 0;
    padding: 1rem;
  }
  .search-block form .tab .search-label:first-of-type {
    border-radius: 25px 0 0 25px;
  }
  .search-block form .tab .search-label:nth-child(5) {
    border-radius: 0 25px 25px 0;
  }
  .search-block form .tab .search-label.active {
    color: #fff;
    position: relative;
    z-index: 0;
  }
  .search-block form .tab .search-label.active:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 25px;
    background: #000;
    z-index: -1;
  }
}
.search-block form .tab .search-label:after {
  content: "";
  display: inline-block;
  width: 0.9em;
  height: 0.5em;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%) rotate(90deg);
  background: url(../img/common/ico_arrow_radius.svg) no-repeat center center/contain;
  transition: 0.3s all;
}
@media only screen and (max-width: 768px) {
  .search-block form .tab .search-label:after {
    content: none;
  }
}
.search-block form .tab .search-label.active:after {
  transform: translateY(-50%) rotate(-90deg);
}
.search-block form .tab .search-item {
  opacity: 0;
  background: #fff;
  border: 1px solid #000;
  border-radius: 15px;
  padding: 0 2em 2em 2em;
  position: absolute;
  z-index: 10;
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  .search-block form .tab .search-item {
    width: 100%;
    padding: 2em 1em 2em;
    position: relative;
    transform: none;
    order: 3;
  }
}
.search-block form .tab .search-item.open {
  display: block;
}
@media screen and (min-width: 769px) {
  .search-block form .tab .search-item.open {
    width: 90vw;
    top: 6rem;
    transform: none;
  }
}
@media screen and (min-width: 769px) and (min-width: 1100px) {
  .search-block form .tab .search-item.open {
    max-width: 1080px;
  }
}
.search-block form .tab .search-item fieldset.form-list legend {
  display: none;
}
.search-block form .tab .search-item fieldset.form-list > span {
  width: calc(25% - 1.6rem);
}
@media only screen and (max-width: 768px) {
  .search-block form .tab .search-item fieldset.form-list > span {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .search-block form .tab .search-item .btn-base {
    font-size: 1.4rem;
  }
}
.search-block form .tab .search-item .btn-close {
  cursor: pointer;
  position: absolute;
  top: 0.8rem;
  right: 1.6rem;
}
.search-block form .tab .search-item .btn-close:before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-right: 0.5em;
  background: url(../img/common/ico_clear.svg) no-repeat center center/contain;
}
@media only screen and (max-width: 768px) {
  .search-block form .tab .search-item .btn-close {
    display: none;
  }
}
.search-block form .tab .search-item .btn-calender-block {
  display: flex;
  align-items: center;
  gap: 0.5em;
  margin-bottom: 1.6rem;
}
.search-block form .tab .search-item .btn-calender-block .btn-calender {
  color: #fff;
  background: #000;
  border-radius: 10px;
  border: 1px solid #707070;
  padding: 0.5em 1em;
  display: block;
}
.search-block form .tab .search-item > * {
  display: none !important;
}
@media only screen and (max-width: 768px) {
  .search-block form .tab .search-item {
    display: none;
    width: 100%;
    padding: 2em 1em 2em;
    position: relative;
    transform: none;
    order: 3;
  }
}
.search-block form .tab .search-item.open {
  display: block;
  opacity: 1;
  pointer-events: inherit;
  transition: 0.3s all;
}
.search-block form .tab .search-item.open > *:not(.btn-close) {
  display: flex !important;
}
.search-block form .tab .search-item.open > .btn-close {
  display: block !important;
}
@media only screen and (max-width: 768px) {
  .search-block form .tab .search-item.open > .btn-close {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .search-block form .tab .search-item.open {
    width: 90vw;
    top: 6rem;
    transform: none;
    padding: 2em;
  }
}
@media screen and (min-width: 769px) and (min-width: 1100px) {
  .search-block form .tab .search-item.open {
    max-width: 1080px;
  }
}
@media only screen and (max-width: 768px) {
  .search-block form .keyword {
    width: 100%;
    order: 1;
  }
}
.search-block form .keyword label {
  display: none;
}
@media only screen and (max-width: 768px) {
  .search-block form .keyword label {
    display: block;
    margin-bottom: 0.8rem;
  }
}
.search-block form .keyword input {
  font-size: 1.6rem;
  border: 1px solid #B5B5B5;
  border-radius: 10px;
  padding: 1.6rem;
}
.search-block form > .btn-base.search {
  padding: 1.6rem 5.6rem;
  background: #FFBF00;
  border-radius: 10px;
  min-width: auto;
  word-break: keep-all;
}
@media only screen and (max-width: 768px) {
  .search-block form > .btn-base.search {
    font-size: 1.4rem;
  }
}
.search-block form > .btn-base.search:before {
  content: none;
}
@media only screen and (max-width: 768px) {
  .search-block form > .btn-base.search {
    width: 100%;
    margin: 0 auto;
    order: 4;
  }
}

/* --------------------------------------------------

header

-------------------------------------------------- */
#header a:hover {
  opacity: 0.8;
  transition: all 0.3s;
}

#header {
  width: 100%;
  position: relative;
  background: #fff;
  z-index: 20;
}
#header .pc-block {
  display: block !important;
}
@media only screen and (max-width: 1100px) {
  #header .pc-block {
    display: none !important;
  }
}
#header .sp-block {
  display: none !important;
}
@media only screen and (max-width: 1100px) {
  #header .sp-block {
    display: block !important;
  }
}
@media only screen and (max-width: 1100px) {
  #header .btn-skip {
    display: none;
  }
}
#header .btn-skip a {
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
  display: block;
  width: 100%;
  background: #FFBF00;
  text-decoration: none;
  padding: 1em;
  opacity: 1;
  position: absolute;
  left: 0;
  top: -100px;
  z-index: 10;
}
#header .btn-skip a:hover {
  background: #000;
}
#header .btn-skip a:focus {
  opacity: 1;
  top: 0;
}
#header .header-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  position: absolute;
  background: #097A53;
}
#header .header-wrap .logo-h {
  grid-row: 1/2;
  grid-column: 1/2;
  z-index: 2;
}
#header .header-wrap .logo-h a {
  display: block;
  padding: 1em;
}
@media only screen and (max-width: 1100px) {
  #header .header-wrap .logo-h a {
    display: block;
    width: 70%;
    position: static;
  }
}
#header .header-wrap .logo-h a img {
  width: 270px;
}
@media only screen and (max-width: 1100px) {
  #header .header-wrap .logo-h a img {
    width: 200px;
  }
}
#header .header-wrap .header-contents {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: calc(100% - 31rem);
  padding-right: 9.4rem;
}
@media only screen and (max-width: 1100px) {
  #header .header-wrap .header-contents {
    grid-template-rows: auto;
    grid-template-columns: auto;
  }
}
#header .header-wrap .function-block {
  width: auto;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 1100px) {
  #header .header-wrap .function-block {
    display: none;
    position: inherit;
  }
}
#header .header-wrap .function-block .btn-lang {
  margin: 0 1em 0 auto;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 1100px) {
  #header .header-wrap .function-block .btn-lang {
    margin: 0 auto 2em;
    text-align: center;
  }
}
#header .header-wrap .function-block .btn-lang a {
  display: block;
  color: #fff;
}
#header .header-wrap .function-block .btn-lang a span {
  position: relative;
  padding: 0 0 0 3.2rem;
}
#header .header-wrap .function-block .btn-lang a span:before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  display: inline-block;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-image: url(../img/common/ico_language.svg);
  background: #fff;
  position: absolute;
  top: 54%;
  left: 0.5rem;
  transform: translateY(-50%);
  transition: 0.3s;
  z-index: 2;
}
@media only screen and (max-width: 1100px) {
  #header .header-wrap .function-block .btn-lang a span:before {
    left: 3rem;
  }
}
#header .header-wrap .function-block .btn-lang a:hover {
  color: #323131;
}
#header .header-wrap .function-block .btn-lang a:hover span:before {
  background: #323131;
}
#header .header-wrap .function-block .btn-search {
  position: relative;
  margin-right: 4rem;
}
@media only screen and (max-width: 1100px) {
  #header .header-wrap .function-block .btn-search {
    position: absolute;
    top: 80px;
    width: 90%;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
  }
}
#header .header-wrap .function-block .btn-search > a {
  color: #fff;
}
#header .header-wrap .function-block .btn-search > a span {
  position: relative;
  padding-left: 3rem;
}
#header .header-wrap .function-block .btn-search > a span:before {
  content: "";
  width: 1.7rem;
  height: 1.7rem;
  display: inline-block;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-image: url(../img/common/ico_search.svg);
  background: #fff;
  position: absolute;
  top: 54%;
  left: 0.5rem;
  transform: translateY(-50%);
  transition: 0.3s;
  z-index: 2;
}
#header .header-wrap .function-block .btn-search > a:hover {
  color: #323131;
}
#header .header-wrap .function-block .btn-search > a:hover span:before {
  background: #323131;
}
#header .header-wrap .function-block .btn-search .btn-search-toggle {
  position: absolute;
  right: 0;
}
#header .header-wrap .function-block .btn-search fieldset {
  display: flex;
}
#header .header-wrap .function-block .btn-search fieldset input {
  border: 2px solid #097A53;
  border-radius: 8px 0 0 8px;
  border-right: none;
  top: 40px;
  right: 0;
  width: 20em;
}
#header .header-wrap .function-block .btn-search fieldset input::placeholder {
  color: #707070;
}
#header .header-wrap .function-block .btn-search fieldset button {
  color: #fff;
  background: #097A53;
  border: none;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 3.2rem;
  margin-left: -0.5rem;
  word-break: keep-all;
  transition: all 0.3s;
}
#header .header-wrap .function-block .btn-search fieldset button:before {
  content: "";
  width: 1.7rem;
  height: 1.7rem;
  display: inline-block;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-image: url(../img/common/ico_search.svg);
  background: #fff;
  position: absolute;
  top: 54%;
  left: 1rem;
  transform: translateY(-50%);
  z-index: 2;
}
#header .header-wrap .function-block .btn-search fieldset button img {
  width: 25px;
}
#header .header-wrap .function-block .btn-search fieldset button:hover {
  background: #044c33;
}
#header {
  /*　上に上がる動き　*/
}
#header.up-h {
  animation: UpAnime 1s forwards;
}
@keyframes UpAnime {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-300%);
  }
}
#header {
  /*　下に下がる動き　*/
}
#header.down-h {
  animation: DownAnime 1s forwards;
}
@keyframes DownAnime {
  from {
    transform: translateY(-105%);
  }
  to {
    transform: translateY(0);
  }
}
#header #navi {
  position: relative;
}
@media only screen and (max-width: 1100px) {
  #header #navi {
    width: 100%;
    height: 100%;
    padding: 8em 1em 2em;
    background: #000;
    display: none;
    position: absolute;
    z-index: 1;
  }
}
#header #navi .gnavi {
  display: flex;
  justify-content: flex-end;
}
@media only screen and (max-width: 1100px) {
  #header #navi .gnavi {
    display: block;
  }
}
#header #navi .gnavi > li {
  display: flex;
  margin-right: 3.2rem;
}
@media only screen and (max-width: 1100px) {
  #header #navi .gnavi > li {
    display: block;
  }
}
#header #navi .gnavi > li.active > .u-menu, #header #navi .gnavi > li.active.navi-hover {
  display: block;
}
#header #navi .gnavi > li > a,
#header #navi .gnavi > li > span {
  color: #fff;
  font-family: "MFW-UDShinMGoPr6-Bold";
  width: 100%;
  padding: 0.8em 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #header #navi .gnavi > li > a,
  #header #navi .gnavi > li > span {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 1100px) {
  #header #navi .gnavi > li > a,
  #header #navi .gnavi > li > span {
    padding: 1em 3em 1.2em 0.3em;
    border: none;
    justify-content: flex-start;
    position: relative;
  }
  #header #navi .gnavi > li > a:after,
  #header #navi .gnavi > li > span:after {
    content: "";
    width: 0.8em;
    height: 0.8em;
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-image: url(../img/common/ico_arrow_square.svg);
    background: #000;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
  }
}
#header #navi .gnavi > li > a:hover,
#header #navi .gnavi > li > span:hover {
  color: #323131;
}
@media only screen and (max-width: 1100px) {
  #header #navi .gnavi > li > a:hover,
  #header #navi .gnavi > li > span:hover {
    border: none;
  }
}
@media only screen and (max-width: 1100px) {
  #header #navi .gnavi > li > a::after {
    content: none;
  }
}
#header.no-link {
  padding: 3em 1em 0;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #header.no-link .btn-skip a {
    display: none;
  }
}
#header.no-link .site-name {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #header.no-link .site-name {
    font-size: 2rem;
  }
}
#header.no-link .logo-h {
  text-align: center;
}
#header.no-link .logo-h img {
  width: 30%;
  max-width: 128px;
}
@media only screen and (max-width: 768px) {
  #header.no-link .logo-h img {
    max-width: 100px;
  }
}
#header.fixed-h {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
  position: fixed;
  top: 0;
}
#header .header-hamburger-wrap {
  display: none;
}

/*　スマホボタン　*/
.btn-menu {
  display: block;
  cursor: pointer;
  position: absolute;
  top: 50%;
  right: 3%;
  z-index: 25;
  transform: translateY(-50%);
}
.btn-menu .btn-s {
  display: block;
  text-align: center;
}
.btn-menu .btn-s div {
  position: relative;
  width: 28px;
  height: 19px;
  display: inline-block;
  vertical-align: middle;
}
.btn-menu .btn-s div span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 3px;
}
.btn-menu .btn-s div span:nth-of-type(1) {
  top: 0;
}
.btn-menu .btn-s div span:nth-of-type(2) {
  top: 9px;
}
.btn-menu .btn-s div span:nth-of-type(3) {
  bottom: 0;
}
.btn-menu .btn-s div span:nth-of-type(2)::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background-color: #fff;
  transition: all 0.4s;
}
.btn-menu .btn-s.open span:nth-of-type(1) {
  transform: translateY(20px) scale(0);
}
.btn-menu .btn-s.open span:nth-of-type(2) {
  transform: rotate(-45deg);
}
.btn-menu .btn-s.open span:nth-of-type(2)::after {
  transform: rotate(90deg);
}
.btn-menu .btn-s.open span:nth-of-type(3) {
  transform: translateY(-20px) scale(0);
}
.btn-menu .btn-s p {
  color: #fff;
  min-width: 3.5em;
  display: block;
  font-size: 70%;
  width: 100%;
  margin-top: 0.2em;
  padding: 0 0.3em;
  background: none;
  border: none;
  display: block;
}

body.fixed-h #header {
  position: fixed;
  top: 0;
}
@media only screen and (min-width: 789px) {
  body.fixed-h #header {
    padding: 0.5em;
  }
}
@media only screen and (min-width: 789px) {
  body.fixed-h #header .logo-h img {
    width: 130px;
  }
}
@media only screen and (min-width: 789px) {
  body.fixed-h #header #navi {
    width: 100%;
    background: #fff;
    position: fixed;
    top: 68px;
    z-index: 20;
  }
}
body.menu-open {
  width: 100%;
}
body.menu-open #header {
  overflow-y: auto;
  width: 100vw;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
}
body.menu-open #header.up-h {
  animation: none;
}
body.menu-open #header .header-wrap {
  position: relative;
  z-index: 0;
  overflow: clip;
  background: #097A53;
}
body.menu-open #header .header-wrap:after {
  content: "";
  display: block;
  width: 31.6%;
  max-width: 174px;
  aspect-ratio: 174/117;
  position: absolute;
  bottom: 0;
  right: -2%;
  background: url(../img/common/ico_hyo-chan.svg) no-repeat center center/contain;
  z-index: 0;
  transform: rotate(-20deg);
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .header-wrap:after {
    right: -4%;
  }
}
body.menu-open #header .header-hamburger-wrap {
  width: 100%;
  background: none;
  display: block;
}
body.menu-open #header .header-hamburger-wrap .header-hamburger-contents {
  display: flex;
  background: #fff;
  align-items: stretch;
  height: 100%;
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .header-hamburger-wrap .header-hamburger-contents {
    flex-direction: column-reverse;
    justify-content: flex-end;
    flex-wrap: wrap;
    height: 100%;
  }
}
body.menu-open #header .header-hamburger-wrap .navi-left {
  width: 50%;
  background: #afd4c8;
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .header-hamburger-wrap .navi-left {
    width: 100%;
    background: none;
  }
}
body.menu-open #header .header-hamburger-wrap .navi-left .copy {
  max-width: 80%;
  margin: 1em auto;
  font-family: "MFW-StarTimesTextPro-Bold";
  color: #097A53;
  font-size: 6.5rem;
  font-weight: bold;
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .header-hamburger-wrap .navi-left .copy {
    display: none;
  }
}
body.menu-open #header .header-hamburger-wrap .navi-left .list-sns {
  max-width: 80%;
  margin: 0 auto;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .header-hamburger-wrap .navi-left .list-sns {
    justify-content: flex-start;
  }
}
body.menu-open #header .header-hamburger-wrap .navi-right {
  width: 50%;
  padding: 8rem;
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .header-hamburger-wrap .navi-right {
    width: 100%;
    padding: 2.4rem 4%;
  }
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search {
  position: relative;
  margin-bottom: 1.6rem;
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search > a {
  color: #fff;
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search > a span {
  position: relative;
  padding-left: 3rem;
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search > a span:before {
  content: "";
  width: 1.7rem;
  height: 1.7rem;
  display: inline-block;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-image: url(../img/common/ico_search.svg);
  background: #fff;
  position: absolute;
  top: 54%;
  left: 0.5rem;
  transform: translateY(-50%);
  z-index: 2;
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .header-hamburger-wrap .navi-right .btn-search > a span:before {
    left: 3rem;
  }
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search fieldset {
  display: flex;
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search fieldset input {
  border: 2px solid #097A53;
  border-radius: 8px 0 0 8px;
  border-right: none;
  top: 40px;
  right: 0;
  width: 100%;
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search fieldset input::placeholder {
  color: #707070;
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search fieldset button {
  color: #fff;
  background: #097A53;
  border: none;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 3.2rem;
  margin-left: -0.5rem;
  word-break: keep-all;
  transition: all 0.3s;
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search fieldset button:before {
  content: "";
  width: 1.7rem;
  height: 1.7rem;
  display: inline-block;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-image: url(../img/common/ico_search.svg);
  background: #fff;
  position: absolute;
  top: 54%;
  left: 1rem;
  transform: translateY(-50%);
  z-index: 2;
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search fieldset button img {
  width: 25px;
}
body.menu-open #header .header-hamburger-wrap .navi-right .btn-search fieldset button:hover {
  background: #044c33;
}
body.menu-open #header .header-hamburger-wrap .navi-right .gnavi {
  display: flex;
  flex-wrap: wrap;
}
body.menu-open #header .header-hamburger-wrap .navi-right .gnavi > li {
  width: 50%;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .header-hamburger-wrap .navi-right .gnavi > li {
    width: 100%;
    border-bottom: 1px solid #c0c0c0;
  }
}
body.menu-open #header .header-hamburger-wrap .navi-right .gnavi > li > a {
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .header-hamburger-wrap .navi-right .gnavi > li > a {
    display: block;
    padding: 0.8rem 1.6rem 1.6rem 1.6rem;
    position: relative;
  }
  body.menu-open #header .header-hamburger-wrap .navi-right .gnavi > li > a:after {
    content: "";
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    mask-image: url(../img/common/ico_arrow_line.svg);
    background: #000;
    width: 0.8em;
    height: 0.8em;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
}
body.menu-open #header .header-hamburger-wrap .navi-right .gnavi > li.japanese a {
  padding-left: 3rem;
  position: relative;
}
body.menu-open #header .header-hamburger-wrap .navi-right .gnavi > li.japanese a:before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  display: inline-block;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-image: url(../img/common/ico_language.svg);
  background: #323131;
  position: absolute;
  top: 43%;
  left: 0.5rem;
  transform: translateY(-50%);
  transition: 0.3s;
  z-index: 2;
}
body.menu-open #header .header-hamburger-wrap .navi-right .gnavi > li .u-menu {
  margin-bottom: 1em;
}
body.menu-open #header .header-hamburger-wrap .navi-right .gnavi > li .u-menu ul li {
  margin-bottom: 0.5em;
  padding-left: 1rem;
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .header-hamburger-wrap .navi-right .gnavi > li .u-menu ul li {
    margin-left: 3rem;
  }
}
body.menu-open #header .header-hamburger-wrap .function-block {
  display: block;
  width: 100%;
  grid-row: auto;
  grid-column: auto;
  padding: 1em 0;
  order: 2;
}
@media only screen and (max-width: 768px) {
  body.menu-open #header .header-hamburger-wrap .function-block {
    padding: 1em 0 15em;
  }
}
body.menu-open #header .btn-menu {
  top: 1.5em;
  transform: none;
}
@media only screen and (max-width: 1100px) {
  body.menu-open #header .btn-menu {
    top: 0.5em;
  }
}

#menu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 19;
}

/* --------------------------------------------------

footer

-------------------------------------------------- */
#footer {
  color: #fff;
  background: #097A53;
  padding: 5.6rem 0 3.2rem;
}
#footer .page-top {
  position: relative;
  z-index: 19;
}
#footer .page-top a {
  overflow: hidden;
  color: #fff;
  width: 8rem;
  height: 8rem;
  line-height: 1.3;
  text-indent: -200px;
  letter-spacing: 0.1em;
  text-align: center;
  background: #097A53;
  border-radius: 50%;
  position: fixed;
  right: 3%;
  bottom: 5%;
  transition: all 0.4s;
}
@media only screen and (max-width: 768px) {
  #footer .page-top a {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 768px) {
  #footer .page-top a {
    width: 6rem;
    height: 6rem;
    bottom: 1em;
  }
}
#footer .page-top a:before {
  content: "";
  width: 1.3em;
  height: 1.8em;
  position: absolute;
  top: 50%;
  left: 50%;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_arrow.svg);
  background: #fff;
  display: block;
  transform: translate(-50%, -50%) rotateZ(-90deg);
}
#footer .inner-l {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  #footer .inner-l {
    display: block;
  }
}
#footer .info-footer {
  width: 50%;
  margin-right: 2.4rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  #footer .info-footer {
    margin-bottom: 2.4rem;
    width: 100%;
  }
}
#footer .info-footer .logo-footer {
  max-width: 41.6rem;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
  #footer .info-footer .logo-footer {
    width: 100%;
  }
  #footer .info-footer .logo-footer a {
    display: block;
    max-width: 30rem;
    margin: 0 auto 2rem;
  }
}
@media only screen and (max-width: 768px) {
  #footer .info-footer .logo-footer {
    margin: 0 auto 1rem;
  }
}
#footer .info-footer .address {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
  #footer .info-footer .address {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  #footer .info-footer .address {
    margin: 0 auto 2rem;
    text-align: center;
    margin-bottom: 1.6rem;
  }
}
#footer .link-footer {
  width: 50%;
  display: flex;
}
@media only screen and (max-width: 768px) {
  #footer .link-footer {
    width: 100%;
    justify-content: center;
    margin-bottom: 2.4rem;
  }
}
#footer .link-footer > ul {
  width: 30%;
}
@media only screen and (max-width: 1100px) {
  #footer .link-footer > ul {
    width: unset;
  }
}
#footer .link-footer > ul li {
  margin: 0 1.6rem 0.8rem;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
  #footer .link-footer > ul li {
    margin-bottom: 0.8rem;
  }
}
#footer .link-footer > ul li a {
  color: #fff;
  display: block;
}
@media only screen and (max-width: 768px) {
  #footer .link-footer > ul li a {
    font-size: 1.2rem;
  }
}
#footer .copy {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #footer .copy {
    font-size: 1.1rem;
  }
}
#footer.no-link {
  padding: 2.4rem 0;
}

/* --------------------------------------------------

タイトル

-------------------------------------------------- */
/* page-ttl array (クラス名)*/
/* page-ttl */
.page-ttl {
  background: #EEEEEE;
  aspect-ratio: 3/1;
  padding: 7.2rem 1.6rem 0;
  position: relative;
  height: 250px;
  width: 100%;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .page-ttl {
    aspect-ratio: 3/1.5;
  }
}
.page-ttl .ttl {
  color: #302828;
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  min-width: 50%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0.5em 5%;
  background: #fff;
  border-radius: 0 50px 0 0;
}
@media only screen and (max-width: 768px) {
  .page-ttl .ttl {
    border-radius: 0 25px 0 0;
  }
}
@media only screen and (max-width: 768px) {
  .page-ttl .ttl {
    font-size: 2rem;
  }
}
.page-ttl .ttl:before, .page-ttl .ttl:after {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  width: 100%;
  max-width: 26px;
  position: absolute;
  background: url(../img/common/radius.png) no-repeat center center/cover;
}
.page-ttl .ttl:before {
  top: -24px;
  left: -2px;
}
.page-ttl .ttl:after {
  bottom: -2px;
  right: -24px;
}
.page-ttl .ttl span {
  color: #5AAEE0;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: normal;
  display: block;
}
@media only screen and (max-width: 768px) {
  .page-ttl .ttl span {
    font-size: 1.2rem;
  }
}
.page-ttl.course {
  background: url(../img/common/pagettl_course.jpg) no-repeat center center/cover;
}
.page-ttl.news {
  background: url(../img/common/pagettl_news.jpg) no-repeat center center/cover;
}
.page-ttl.event {
  background: url(../img/common/pagettl_event.jpg) no-repeat center center/cover;
}
.page-ttl.examinees {
  background: url(../img/common/pagettl_examinees.jpg) no-repeat center center/cover;
}
.page-ttl.component {
  background: url(../img/common/pagettl_component.jpg) no-repeat center center/cover;
}
.page-ttl.search {
  background: url(../img/common/pagettl_search.jpg) no-repeat center center/cover;
}
.page-ttl.notfound {
  background: url(../img/common/pagettl_notfound.jpg) no-repeat center center/cover;
}
.page-ttl.access {
  background: url(../img/common/pagettl_access.jpg) no-repeat center center/cover;
}
.page-ttl.sch_man {
  background: url(../img/common/pagettl_sch_man.jpg) no-repeat center center/cover;
}
.page-ttl.sch_sci {
  background: url(../img/common/pagettl_sch_sci.jpg) no-repeat center center/cover;
}
.page-ttl.cul_lan {
  background: url(../img/common/pagettl_cul_lan.jpg) no-repeat center center/cover;
}
.page-ttl.rec_soc {
  background: url(../img/common/pagettl_rec_soc.jpg) no-repeat center center/cover;
}
.page-ttl.rec_nat {
  background: url(../img/common/pagettl_rec_nat.jpg) no-repeat center center/cover;
}
.page-ttl.adv_edu {
  background: url(../img/common/pagettl_adv_edu.jpg) no-repeat center center/cover;
}
.page-ttl.glo_lea {
  background: url(../img/common/pagettl_glo_lea.jpg) no-repeat center center/cover;
}
.page-ttl.pol_lea {
  background: url(../img/common/pagettl_pol_lea.jpg) no-repeat center center/cover;
}
.page-ttl.rec_edu {
  background: url(../img/common/pagettl_rec_edu.jpg) no-repeat center center/cover;
}
.page-ttl.edu_com {
  background: url(../img/common/pagettl_edu_com.jpg) no-repeat center center/cover;
}
.page-ttl.chi_edu {
  background: url(../img/common/pagettl_chi_edu.jpg) no-repeat center center/cover;
}
.page-ttl.psy_hea {
  background: url(../img/common/pagettl_psy_hea.jpg) no-repeat center center/cover;
}
.page-ttl.cli_psy {
  background: url(../img/common/pagettl_cli_psy.jpg) no-repeat center center/cover;
}
.page-ttl.cul_art {
  background: url(../img/common/pagettl_cul_art.jpg) no-repeat center center/cover;
}
.page-ttl.beh_edu {
  background: url(../img/common/pagettl_beh_edu.jpg) no-repeat center center/cover;
}
.page-ttl.dis_sci {
  background: url(../img/common/pagettl_dis_sci.jpg) no-repeat center center/cover;
}
.page-ttl.spe_edu {
  background: url(../img/common/pagettl_spe_edu.jpg) no-repeat center center/cover;
}
.page-ttl.in {
  background: url(../img/common/pagettl_in.jpg) no-repeat center center/cover;
}
.page-ttl.alumni-collaboration-center {
  background: url(../img/common/pagettl_alumni-collaboration-center.jpg) no-repeat center center/cover;
}
.page-ttl.international {
  background: url(../img/common/pagettl_international.jpg) no-repeat center center/cover;
}
.page-ttl.admission {
  background: url(../img/common/pagettl_admission.jpg) no-repeat center center/cover;
}
.page-ttl.visitor {
  background: url(../img/common/pagettl_visitor.jpg) no-repeat center center/cover;
}
.page-ttl.campuslife {
  background: url(../img/common/pagettl_campuslife.jpg) no-repeat center center/cover;
}
.page-ttl.facility {
  background: url(../img/common/pagettl_facility.jpg) no-repeat center center/cover;
}
.page-ttl.about {
  background: url(../img/common/pagettl_about.jpg) no-repeat center center/cover;
}
.page-ttl.admission_info {
  background: url(../img/common/pagettl_admission_info.jpg) no-repeat center center/cover;
}
.page-ttl.event {
  background: url(../img/common/pagettl_event.jpg) no-repeat center center/cover;
}
.page-ttl.info {
  background: url(../img/common/pagettl_info.jpg) no-repeat center center/cover;
}
.page-ttl.topics {
  background: url(../img/common/pagettl_topics.jpg) no-repeat center center/cover;
}
.page-ttl.human {
  background: url(../img/common/pagettl_human.jpg) no-repeat center center/cover;
}
.page-ttl.special {
  background: url(../img/common/pagettl_special.jpg) no-repeat center center/cover;
}
.page-ttl.out {
  background: url(../img/common/pagettl_out.jpg) no-repeat center center/cover;
}
.page-ttl.awards {
  background: url(../img/common/pagettl_awards.jpg) no-repeat center center/cover;
}
.page-ttl.inquiry {
  background: url(../img/common/pagettl_inquiry.jpg) no-repeat center center/cover;
}
.page-ttl.sitemap {
  background: url(../img/common/pagettl_sitemap.jpg) no-repeat center center/cover;
}
.page-ttl.link {
  background: url(../img/common/pagettl_link.jpg) no-repeat center center/cover;
}
.page-ttl.privacy_policy {
  background: url(../img/common/pagettl_privacy_policy.jpg) no-repeat center center/cover;
}
.page-ttl.privacy {
  background: url(../img/common/pagettl_privacy.jpg) no-repeat center center/cover;
}
.page-ttl.element-junior-high {
  background: url(../img/common/pagettl_element-junior-high.jpg) no-repeat center center/cover;
}
.page-ttl.meacad {
  background: url(../img/common/pagettl_meacad.jpg) no-repeat center center/cover;
}
.page-ttl.kikin {
  background: url(../img/common/pagettl_kikin.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  .page-ttl.cli_psy {
    background-position: calc(100% + 290px) center;
  }
}
.page-ttl.second-layer {
  aspect-ratio: unset;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  .page-ttl.second-layer {
    padding: 0 1.6rem 0;
  }
}
.page-ttl.second-layer .ttl {
  position: relative;
  text-align: center;
}

/* page-ttl-en */
.page-ttl-en {
  color: #fff;
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.08em;
  padding-bottom: 6.25vw;
  position: relative;
  margin-bottom: 2.4rem;
}
.page-ttl-en:after {
  content: "";
  background: url(../img/common/bg_wave.svg) no-repeat center center/cover;
  display: inline-block;
  width: 105%;
  height: 7vw;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) rotate(180deg);
}
.page-ttl-en .ttl {
  background: #097A53;
  padding: 16rem 1.6rem 8rem;
}
@media only screen and (max-width: 768px) {
  .page-ttl-en .ttl {
    padding: 8rem 1.6rem 4rem;
  }
}
@media only screen and (max-width: 768px) {
  .page-ttl-en {
    font-size: 2.7rem;
  }
}

/* ttl-large */
.ttl-large {
  font-size: 3.2rem;
  font-weight: bold;
  margin: 6.4rem 0 4rem;
  position: relative;
}
.ttl-large::after {
  content: "";
  background: linear-gradient(125deg, rgb(90, 174, 224) 0%, rgb(162, 221, 255) 100%);
  display: block;
  width: 100%;
  height: 4px;
  margin-top: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .ttl-large {
    margin: 4.8rem 0 2.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .ttl-large {
    font-size: 2.6rem;
  }
}

/* ttl-small */
.ttl-small {
  font-size: 2.6rem;
  font-weight: bold;
  margin: 4rem 0 2.4rem;
}
@media only screen and (max-width: 768px) {
  .ttl-small {
    font-size: 2.2rem;
  }
}

/* ttl-border-b */
.ttl-border-b {
  color: #FFBF00;
  border-bottom: 4px solid #FFBF00;
  font-size: 2rem;
  font-weight: bold;
  padding: 1.6rem 0;
  margin: 2.4rem 0;
}
@media only screen and (max-width: 768px) {
  .ttl-border-b {
    font-size: 1.8rem;
  }
}

/* ttl-border-l */
.ttl-border-l {
  border-left: 7px solid #FFBF00;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0.8rem 1.6rem;
  margin: 2.4rem 0;
}
@media only screen and (max-width: 768px) {
  .ttl-border-l {
    font-size: 1.6rem;
  }
}

/* ttl-bg-border */
.ttl-bg-border {
  font-family: "MFW-UDShinMGoPr6-DeBold";
  background: #f5f5f5;
  font-size: 2.4rem;
  font-weight: bold;
  padding: 2.4rem 4rem;
  position: relative;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .ttl-bg-border {
    font-size: 1.6rem;
  }
}
.ttl-bg-border:before, .ttl-bg-border:after {
  content: "";
  width: 12px;
  height: 50%;
  position: absolute;
  left: 0;
}
.ttl-bg-border::before {
  background: #FFBF00;
  top: 0;
}
.ttl-bg-border:after {
  background: #FFF800;
  bottom: 0;
}

/* ttl-dot */
.ttl-dot {
  font-size: 2.2rem;
  font-weight: bold;
  padding: 2.4rem 3.2rem;
  position: relative;
  display: block;
}
@media only screen and (max-width: 768px) {
  .ttl-dot {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .ttl-dot {
    padding: 1.6rem 2.4rem;
  }
}
.ttl-dot:before {
  content: "";
  background: #FFBF00;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  margin: 0 0.5em 0.2em auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  display: inline-block;
}
.ttl-dot a {
  display: block;
  position: relative;
  padding-right: 2.4rem;
}
.ttl-dot a:after {
  content: "";
  background: url(../img/common/ico_arrow_radius.svg) no-repeat center center/contain;
  width: 2.3rem;
  height: 2.3rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: -0.6rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
  .ttl-dot a:after {
    right: 0;
  }
}

/* --------------------------------------------------

ボタン

-------------------------------------------------- */
/* btn-base */
a.btn-base,
button.btn-base {
  color: #000;
  background: #FFBF00;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.1em;
  border: none;
  border-radius: 100px;
  box-sizing: border-box;
  display: block;
  padding: 2.4rem 6.8rem;
  position: relative;
  min-width: 300px;
}
@media only screen and (max-width: 768px) {
  a.btn-base,
  button.btn-base {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 768px) {
  a.btn-base,
  button.btn-base {
    width: 100%;
    margin: 0 auto;
    min-width: auto;
    padding: 1.4rem 4.8rem;
  }
}
a.btn-base:hover,
button.btn-base:hover {
  background: #5AAEE0;
}
a.btn-base.yellow,
button.btn-base.yellow {
  background: #FFF800;
}
a.btn-base.yellow:hover,
button.btn-base.yellow:hover {
  color: #000;
  background: #FFBF00;
}
a.btn-base.normal,
button.btn-base.normal {
  font-size: 1.6rem;
  font-weight: normal;
  padding: 1.6rem 3.2rem;
}
a.btn-base.back:before,
button.btn-base.back:before {
  content: "";
  background: url(../img/common/ico_arrow_radius.svg) no-repeat center center/contain;
  width: 2.3rem;
  height: 2.3rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 2.4rem;
  transform: translateY(-50%) rotate(180deg);
}
a.btn-base.arrow:after,
button.btn-base.arrow:after {
  content: "";
  background: url(../img/common/ico_arrow_radius.svg) no-repeat center center/contain;
  width: 2.3rem;
  height: 2.3rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 2.4rem;
  transform: translateY(-50%);
}
a.btn-base[target=_blank]:after,
button.btn-base[target=_blank]:after {
  content: "";
  width: 1em;
  height: 1em;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-image: url(../img/common/ico_blank.svg);
  background: #333;
  z-index: 1;
}
a.btn-base[href$=".pdf"],
button.btn-base[href$=".pdf"] {
  padding: 2.4rem 4.8rem 2.4rem 4rem;
}
a.btn-base[href$=".pdf"]:after,
button.btn-base[href$=".pdf"]:after {
  content: "";
  mask-image: unset;
  background: url(../img/common/ico_pdf.svg) no-repeat center center/contain;
  width: 1.2em;
  height: 1.6em;
}
a.btn-base[href$=".docx"], a.btn-base[href$=".doc"], a.btn-base[href$=".docm"], a.btn-base[href$=".dot"], a.btn-base[href$=".dotm"],
button.btn-base[href$=".docx"],
button.btn-base[href$=".doc"],
button.btn-base[href$=".docm"],
button.btn-base[href$=".dot"],
button.btn-base[href$=".dotm"] {
  padding: 2.4rem 4.8rem 2.4rem 4rem;
}
a.btn-base[href$=".docx"]:after, a.btn-base[href$=".doc"]:after, a.btn-base[href$=".docm"]:after, a.btn-base[href$=".dot"]:after, a.btn-base[href$=".dotm"]:after,
button.btn-base[href$=".docx"]:after,
button.btn-base[href$=".doc"]:after,
button.btn-base[href$=".docm"]:after,
button.btn-base[href$=".dot"]:after,
button.btn-base[href$=".dotm"]:after {
  content: "";
  mask-image: unset;
  background: url(../img/common/ico_word.svg) no-repeat center center/contain;
  width: 1.2em;
  height: 1.6em;
}
a.btn-base[href$=".xlsx"], a.btn-base[href$=".xlsm"], a.btn-base[href$=".xls"], a.btn-base[href$=".xlsb"], a.btn-base[href$=".xltx"], a.btn-base[href$=".xltm"],
button.btn-base[href$=".xlsx"],
button.btn-base[href$=".xlsm"],
button.btn-base[href$=".xls"],
button.btn-base[href$=".xlsb"],
button.btn-base[href$=".xltx"],
button.btn-base[href$=".xltm"] {
  padding: 2.4rem 4.8rem 2.4rem 4rem;
}
a.btn-base[href$=".xlsx"]:after, a.btn-base[href$=".xlsm"]:after, a.btn-base[href$=".xls"]:after, a.btn-base[href$=".xlsb"]:after, a.btn-base[href$=".xltx"]:after, a.btn-base[href$=".xltm"]:after,
button.btn-base[href$=".xlsx"]:after,
button.btn-base[href$=".xlsm"]:after,
button.btn-base[href$=".xls"]:after,
button.btn-base[href$=".xlsb"]:after,
button.btn-base[href$=".xltx"]:after,
button.btn-base[href$=".xltm"]:after {
  content: "";
  mask-image: unset;
  background: url(../img/common/ico_excel.svg) no-repeat center center/contain;
  width: 1.2em;
  height: 1.6em;
}
a.btn-base[href$=".pptx"], a.btn-base[href$=".ppt"], a.btn-base[href$=".pptm"], a.btn-base[href$=".potx"], a.btn-base[href$=".potm"],
button.btn-base[href$=".pptx"],
button.btn-base[href$=".ppt"],
button.btn-base[href$=".pptm"],
button.btn-base[href$=".potx"],
button.btn-base[href$=".potm"] {
  padding: 2.4rem 4.8rem 2.4rem 4rem;
}
a.btn-base[href$=".pptx"]:after, a.btn-base[href$=".ppt"]:after, a.btn-base[href$=".pptm"]:after, a.btn-base[href$=".potx"]:after, a.btn-base[href$=".potm"]:after,
button.btn-base[href$=".pptx"]:after,
button.btn-base[href$=".ppt"]:after,
button.btn-base[href$=".pptm"]:after,
button.btn-base[href$=".potx"]:after,
button.btn-base[href$=".potm"]:after {
  content: "";
  mask-image: unset;
  background: url(../img/common/ico_powerpoint.svg) no-repeat center center/contain;
  width: 1.2em;
  height: 1.6em;
}
a.btn-base.border,
button.btn-base.border {
  color: #323131;
  background: #fff;
  border: 1px solid #B5B5B5;
}
a.btn-base.clear,
button.btn-base.clear {
  color: #5e606e;
  background: #fff;
  vertical-align: middle;
  border: 1px solid #B5B5B5;
}
a.btn-base.print,
button.btn-base.print {
  color: #323131;
  background: #fff;
  border: 1px solid #B5B5B5;
  position: relative;
}
a.btn-base.print:before,
button.btn-base.print:before {
  content: "";
  width: 2.4rem;
  min-width: 2.4rem;
  height: 2.6rem;
  display: inline-block;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_print.svg);
  background: #000;
  position: absolute;
  left: 2.4rem;
  top: 50%;
  transform: translateY(-50%);
}
a.btn-base.grayout,
button.btn-base.grayout {
  background: #dfdfdf;
  pointer-events: none;
}
a.btn-base.edit,
button.btn-base.edit {
  color: #323131;
  background: #EEEEEE;
}
a.btn-base.edit:after,
button.btn-base.edit:after {
  content: "";
  background: url(../img/common/ico_arrow_square.svg) no-repeat center center/contain;
  width: 2.3rem;
  height: 2.3rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 2.4rem;
  transform: translateY(-50%) rotate(180deg);
}
a.btn-base.search,
button.btn-base.search {
  display: flex;
  align-items: center;
  justify-content: center;
}
a.btn-base.search:before,
button.btn-base.search:before {
  content: "";
  width: 1.2em;
  min-width: 1.2em;
  height: 1.2em;
  display: inline-block;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_search.svg);
  background: #333;
  margin-right: 1.6rem;
}

a.btn-txt-arrow {
  color: #097A53;
  text-decoration: underline;
}
a.btn-txt-arrow span {
  font-size: 1.7rem;
  padding: 0.8rem 2.4rem 0.8rem 0;
  position: relative;
}
@media only screen and (max-width: 768px) {
  a.btn-txt-arrow span {
    font-size: 1.5rem;
  }
}
a.btn-txt-arrow span:after {
  content: "";
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_arrow_line.svg);
  background: #097A53;
  width: 0.8em;
  height: 0.8em;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/* --------------------------------------------------

アイコン

-------------------------------------------------- */
.icon-new {
  color: #fff;
  background: #DA373F;
  border: 1px solid #DA373F;
  border-radius: 100px;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  display: inline-block;
  padding: 0.5rem 1.6rem;
  margin: 0 0.8rem 0 1.6rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .icon-new {
    margin: 0 0.8rem 0 0.8rem;
  }
}

/* --------------------------------------------------

カテゴリー

-------------------------------------------------- */
.category {
  color: #302828;
  background: #fff;
  border: 2px solid #ff9900;
  border-radius: 100px;
  font-size: 1.2rem;
  text-align: center;
  display: inline-block;
  padding: 0.5rem 1.6rem;
  margin: 0 0.8rem 0.8rem 0;
}
.category.color01 {
  color: #fff;
  background: #111111;
  border-color: #111111;
}
.category.color02 {
  color: #0568BE;
  background: #fff;
  border-color: #A3A3A3;
}
.category.color03 {
  color: #DD2E24;
  background: #fff;
  border-color: #A3A3A3;
}
.category.color04 {
  color: #85144B;
  background: #fff;
  border-color: #A3A3A3;
}
.category.color05 {
  color: #B10DC9;
  background: #fff;
  border-color: #A3A3A3;
}
.category.color06 {
  color: #D71BAC;
  background: #fff;
  border-color: #A3A3A3;
}
.category.color07 {
  color: #fff;
  background: #B10DC9;
  border-color: #B10DC9;
}
.category.color08 {
  color: #fff;
  background: #85144B;
  border-color: #85144B;
}
.category.color09 {
  color: #fff;
  background: #DD2E24;
  border-color: #DD2E24;
}
.category.color10 {
  color: #fff;
  background: #0568BE;
  border-color: #0568BE;
}
.category.color11 {
  color: #111111;
  background: #F012BE;
  border-color: #F012BE;
}
.category.color12 {
  color: #111111;
  background: #FFDC00;
  border-color: #FFDC00;
}
.category.color13 {
  color: #111111;
  background: #FF851B;
  border-color: #FF851B;
}
.category.color14 {
  color: #111111;
  background: #63CCFF;
  border-color: #63CCFF;
}
.category.color15 {
  color: #111111;
  background: #39CCCC;
  border-color: #39CCCC;
}
.category.color16 {
  color: #111111;
  background: #3D9970;
  border-color: #3D9970;
}
.category.color17 {
  color: #111111;
  background: #2ECC40;
  border-color: #2ECC40;
}
.category.color18 {
  color: #111111;
  background: #DB8D66;
  border-color: #DB8D66;
}
.category.color19 {
  color: #111111;
  background: #E5E8EB;
  border-color: #E5E8EB;
}
.category.color20 {
  color: #111111;
  background: #F3DAAA;
  border-color: #F3DAAA;
}

/* --------------------------------------------------

リストアイコン

-------------------------------------------------- */
.list-icon {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.list-icon .icon-new {
  margin: 0 0.8rem 0.8rem 0;
}

/* --------------------------------------------------

バッジ

-------------------------------------------------- */
.badge {
  font-size: 1.6rem;
  text-align: center;
  line-height: 4rem;
  display: block;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  z-index: 2;
}
.badge.new {
  color: #fff;
  background: #097A53;
}
.badge.open {
  color: #fff;
  background: #FFBF00;
}
.badge.close {
  color: #fff;
  background: #4E4E4E;
}
.badge.rank {
  color: #fff;
  background: #FFBF00;
}

/* --------------------------------------------------

背景

-------------------------------------------------- */
.bg-c {
  padding: 3.2rem 0;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .bg-c {
    padding: 1.6rem 0;
  }
}
.bg-c.inside {
  padding: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .bg-c.inside {
    padding: 1.6rem;
  }
}
.bg-c.gray {
  background: #EEEEEE;
}
.bg-c.white {
  background: #fff;
}

/* --------------------------------------------------

リスト

-------------------------------------------------- */
/* list-num */
ol.list-num {
  margin: 1.6rem 0;
}
ol.list-num li {
  text-indent: -1.9em;
  padding-left: 2em;
  list-style-type: none;
  counter-increment: cnt;
  margin-bottom: 0.8rem;
}
ol.list-num li::before {
  content: "(" counter(cnt) ")";
  margin-right: 0.8rem;
}

/* list-circle */
.list-circle {
  margin: 1.6rem 0;
}
.list-circle li {
  margin-left: 1.5em;
  padding-left: 1em;
  position: relative;
  margin-left: 0;
  line-height: 1.866;
  margin-bottom: 0.8rem;
}
.list-circle li::before {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: 10px;
  left: 0;
  background: #ffbf00;
  border-radius: 50%;
}

/* list-square */
.list-square {
  margin: 1.6rem 0;
}
.list-square li {
  padding-left: 1.5em;
  list-style-type: none;
  position: relative;
  margin-bottom: 0.8rem;
}
.list-square li::before {
  content: "";
  background: #FFBF00;
  width: 1rem;
  height: 1rem;
  display: inline-block;
  position: absolute;
  top: 0.45em;
  left: 0.4rem;
}

/* list-mark */
.list-mark {
  position: relative;
  padding-left: 1.5em;
  margin: 1.6rem 0;
}
.list-mark li {
  margin-bottom: 0.8rem;
}
.list-mark li .mark {
  position: absolute;
  left: 0;
}

/* --------------------------------------------------

メニューリスト

-------------------------------------------------- */
.list-memu {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1em;
}
@media only screen and (max-width: 768px) {
  .list-memu {
    gap: 0;
  }
}
.list-memu li {
  display: grid;
  place-items: center;
  width: calc(20% - 1.6em);
}
@media only screen and (max-width: 768px) {
  .list-memu li {
    width: 100%;
  }
  .list-memu li:not(:last-child) {
    border-bottom: 1px solid #c0c0c0;
  }
}
.list-memu li a {
  color: #323131;
  text-align: center;
  font-family: "MFW-UDShinMGoPr6-DeBold";
  font-size: 2rem;
  font-weight: bold;
  display: block;
  width: 100%;
  position: relative;
  transition: 0.3s all;
}
@media only screen and (max-width: 1100px) {
  .list-memu li a {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .list-memu li a {
    padding: 1em 2em 1em 4em;
    text-align: left;
  }
}
@media only screen and (max-width: 768px) {
  .list-memu li a {
    font-size: 1.3rem;
  }
}
.list-memu li a:before {
  content: "";
  display: block;
  vertical-align: top;
  width: 80%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  outline: 8px solid #FFBF00;
  outline-offset: -8px;
  margin-bottom: 1em;
  transition: 0.3s all;
  margin: 0 auto 1em auto;
}
@media only screen and (max-width: 1100px) {
  .list-memu li a:before {
    outline: 5px solid #FFBF00;
  }
}
@media only screen and (max-width: 768px) {
  .list-memu li a:before {
    outline: none;
    background: url(../img/common/ico_arrow_radius.svg) no-repeat center center/contain;
    width: 1.5rem;
    height: 1.5rem;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
  }
}
.list-memu li a:after {
  content: "";
  display: block;
  width: 43.17%;
  max-width: 120px;
  aspect-ratio: 120/100;
  position: absolute;
  top: calc(50% - 1.5em);
  left: 50%;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 768px) {
  .list-memu li a:after {
    max-width: 32px;
    top: 50%;
    left: 1rem;
    transform: translate(0, -50%);
  }
}
.list-memu li a:hover {
  color: #097A53;
}
.list-memu li a:hover:before {
  outline-color: #5AAEE0;
}
.list-memu li:nth-of-type(1) a:after {
  background: url(../img/common/ico_menu01.png) no-repeat center center/contain;
}
.list-memu li:nth-of-type(2) a:after {
  background: url(../img/common/ico_menu02.png) no-repeat center center/contain;
}
.list-memu li:nth-of-type(3) a:after {
  background: url(../img/common/ico_menu03.png) no-repeat center center/contain;
}
.list-memu li:nth-of-type(4) a:after {
  background: url(../img/common/ico_menu04.png) no-repeat center center/contain;
}
.list-memu li:nth-of-type(5) a:after {
  background: url(../img/common/ico_menu05.png) no-repeat center center/contain;
}
.list-memu li:nth-of-type(6) a:after {
  background: url(../img/common/ico_menu06.png) no-repeat center center/contain;
}
.list-memu li:nth-of-type(7) a:after {
  background: url(../img/common/ico_menu07.png) no-repeat center center/contain;
}
.list-memu li:nth-of-type(8) a:after {
  background: url(../img/common/ico_menu08.png) no-repeat center center/contain;
}
.list-memu li:nth-of-type(9) a:after {
  background: url(../img/common/ico_menu09.png) no-repeat center center/contain;
}
.list-memu li:nth-of-type(10) a:after {
  background: url(../img/common/ico_menu010.png) no-repeat center center/contain;
}

/* --------------------------------------------------

パンくずリスト

-------------------------------------------------- */
.breadCrumbs {
  width: 1280px;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 1380px) {
  .breadCrumbs {
    width: 94%;
    max-width: 1280px;
  }
}
@media only screen and (max-width: 1300px) {
  .breadCrumbs {
    width: 92%;
  }
}
.breadCrumbs {
  margin-bottom: 1.6rem;
}
.breadCrumbs ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.breadCrumbs ul li {
  font-size: 1.4rem;
  vertical-align: middle;
  margin-right: 1.6rem;
  display: inline-block;
}
@media only screen and (max-width: 768px) {
  .breadCrumbs ul li {
    font-size: 1.3rem;
  }
}
.breadCrumbs ul li a {
  vertical-align: middle;
  text-decoration: underline;
  margin-right: 0.8em;
}
.breadCrumbs ul li a[aria-current] {
  text-decoration: none;
}
.breadCrumbs ul li:after {
  content: "";
  background: url(../img/common/ico_arrow_square.svg) no-repeat center center/contain;
  width: 0.5em;
  height: 0.8em;
  display: inline-block;
  vertical-align: middle;
}
.breadCrumbs ul li:last-child:after {
  display: none;
}

/* --------------------------------------------------

絞り込み

-------------------------------------------------- */
/* 検索条件 */
.conditions {
  display: flex;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .conditions {
    display: block;
  }
}
.conditions .paging-result {
  float: right;
  font-weight: bold;
}
.conditions dl {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .conditions dl {
    width: 100%;
    display: block;
  }
}
.conditions dl dt {
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
  .conditions dl dt {
    margin: 0 0 1.6rem 0;
  }
}
.conditions dl dt:after {
  content: ":";
  display: inline-block;
  margin: 0 0.8rem;
}
.conditions dl dd .list-conditions {
  display: flex;
  flex-wrap: wrap;
}
.conditions dl dd .list-conditions li {
  margin: 0 0.8rem 0.8rem 0;
}
.conditions dl dd .list-conditions li a,
.conditions dl dd .list-conditions li span {
  font-size: 1.2rem;
  border: 1px solid #B5B5B5;
  border-radius: 100px;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  display: inline-block;
}
.conditions dl dd .list-conditions li span {
  padding: 0.5rem 1.6rem;
}
.conditions dl dd .list-conditions li a {
  padding: 0.5rem 3.2rem 0.5rem 1.6rem;
}
.conditions dl dd .list-conditions li a:before {
  content: "";
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_clear.svg);
  background: #000;
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  position: absolute;
  top: 50%;
  right: 1.6rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
  .conditions .btn-delete {
    text-align: right;
  }
}
.conditions .btn-delete a {
  color: #fff;
  background: #323131;
  border-radius: 100px;
  font-size: 1.2rem;
  white-space: nowrap;
  padding: 0.5rem 3.2rem 0.5rem 1.6rem;
  margin: 0;
  display: block;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .conditions .btn-delete a {
    margin: 0.8rem 0;
    display: inline-block;
  }
}
.conditions .btn-delete a:before {
  content: "";
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_clear.svg);
  background: #fff;
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  position: absolute;
  top: 50%;
  right: 1.6rem;
  transform: translateY(-50%);
  z-index: 2;
}

/* 並べ替え */
.sort-block {
  text-align: right;
  position: relative;
  z-index: 15;
  margin-bottom: 4rem;
}
.sort-block .ac-p {
  background: #fff;
  border: 1px solid #000;
  border-radius: 5px;
  padding: 1.6rem 10rem 1.6rem 1.6rem;
  display: inline-block;
  position: relative;
  cursor: pointer;
}
.sort-block .ac-p::after {
  content: "";
  position: absolute;
  top: 55%;
  right: 1.6rem;
  transform: translateY(-50%);
  border: 8px solid transparent;
  border-top: 13px solid #000;
}
.sort-block .ac-c {
  display: none;
  background: #fff;
  border: 1px solid #DDD;
  position: absolute;
  top: calc(100% + 0.8rem);
  right: 0;
  z-index: 10;
  min-width: 9em;
}
@media only screen and (max-width: 768px) {
  .sort-block .ac-c {
    width: 100%;
  }
}
.sort-block .ac-c a {
  color: #323131;
  text-align: left;
  padding: 1.6rem 1.6rem 1.6rem 3.2rem;
  border-top: 1px solid #EEEEEE;
  display: block;
  position: relative;
}
.sort-block .ac-c a.active {
  background: #f5f5f5;
}
.sort-block .ac-c a.active:before {
  content: "";
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_sort_check.svg);
  background: #000;
  display: inline-block;
  width: 0.9rem;
  height: 0.7rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 1.6rem;
}
.sort-block .ac-c a:hover {
  background: #f5f5f5;
}

/* --------------------------------------------------

ページング、検索結果

-------------------------------------------------- */
.count-disp {
  display: block;
  margin-bottom: 1.6rem;
}
.count-disp.count-col {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .count-disp.count-col {
    display: block;
  }
}

.paging {
  margin-top: 24px;
}
@media only screen and (max-width: 768px) {
  .paging {
    margin-top: 16px;
  }
}
.paging {
  /* 「検索単語」表示 */
}
.paging .word {
  letter-spacing: 0.1em;
  margin-bottom: 1.6rem;
}
.paging .word .search-word,
.paging .word .count {
  color: #323131;
  font-size: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .paging .word .search-word,
  .paging .word .count {
    font-size: 2rem;
  }
}
.paging .word .count {
  margin-right: 0.8rem;
}
.paging .link {
  text-decoration: underline;
}
.paging {
  /* 件数表示 */
}
.paging .count {
  color: #707070;
  margin-bottom: 1.6rem;
}
.paging .count span {
  margin: 0 0.8rem;
}
.paging {
  /* ページング */
}
.paging .pagingIn {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .paging .pagingIn {
    flex-wrap: nowrap;
    justify-content: center;
  }
}
.paging .pagingIn.center {
  justify-content: center;
}
.paging .pagingIn > span {
  margin-bottom: 0.8rem;
}
.paging span a {
  color: #000;
  background: #EEEEEE;
  border-radius: 100px;
  display: inline-block;
  padding: 8px 15px;
  margin: 0 0.8rem;
}
@media only screen and (max-width: 768px) {
  .paging span a {
    display: none;
  }
}
.paging span a:hover {
  background: #FFBF00;
  opacity: 1;
}
.paging .current {
  background: #FFBF00;
  display: inline-block;
  border-radius: 100px;
  padding: 8px 15px;
  margin: 0 0.8rem;
}
@media only screen and (max-width: 768px) {
  .paging .current {
    display: none;
  }
}
.paging .prev a,
.paging .next a {
  padding: 0.8rem 2.4rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .paging .prev a,
  .paging .next a {
    display: block;
  }
}
.paging .prev a:before,
.paging .next a:before {
  content: "";
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_arrow_square.svg);
  background: #000;
  width: 0.8em;
  height: 0.8em;
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.paging .prev a {
  padding-left: 4rem;
}
.paging .prev a:before {
  left: 1.6rem;
  transform: translateY(-50%) rotateZ(180deg);
}
.paging .next a {
  padding-right: 4rem;
}
.paging .next a:before {
  right: 1.6rem;
}

/* Google内検索の調整 */
.gcsc-find-more-on-google .gcsc-find-more-on-google-magnifier {
  width: 2em;
}

/* --------------------------------------------------

snsボタン

-------------------------------------------------- */
/* list-sns */
.list-sns {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin: 0 2rem;
}
@media only screen and (max-width: 768px) {
  .list-sns {
    justify-content: center;
  }
}
.list-sns li a {
  display: block;
  padding: 0.5em;
}
.list-sns li img {
  width: 32px;
}

/* share-block */
.share-block {
  background: #f6f6f9;
  padding: 1.6rem;
  width: fit-content;
}
@media only screen and (max-width: 1300px) {
  .share-block {
    padding: 1.6rem;
  }
}
@media only screen and (max-width: 1100px) {
  .share-block {
    background: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    width: 100%;
    margin-bottom: 4rem;
  }
}
.share-block .btn-bookmark {
  color: #323131;
  background: #fff;
  border: none;
  border-radius: 50%;
  text-align: center;
  width: 8rem;
  height: 8rem;
  word-break: keep-all;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 0.8rem;
  margin: 0 auto;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .share-block .btn-bookmark {
    width: 6rem;
    height: 6rem;
  }
}
@media only screen and (max-width: 1100px) {
  .share-block .btn-bookmark {
    margin: 0;
    border: 1px solid #B5B5B5;
  }
}
@media only screen and (max-width: 1300px) {
  .share-block .btn-bookmark img {
    width: 100%;
    max-width: 16px;
    display: block;
  }
}
.share-block .btn-bookmark span {
  font-size: 1.3rem;
  font-weight: bold;
  display: block;
  width: 100%;
}
@media only screen and (max-width: 1100px) {
  .share-block > dl {
    display: flex;
    align-items: center;
  }
}
.share-block > dl dt {
  font-weight: bold;
  text-align: center;
  margin-bottom: 0.8rem;
  word-break: keep-all;
}
@media only screen and (max-width: 1100px) {
  .share-block > dl dt {
    margin: 0;
  }
}
.share-block > dl dd .list-sns {
  flex-direction: column;
}
@media only screen and (max-width: 1100px) {
  .share-block > dl dd .list-sns {
    flex-direction: unset;
  }
}
.share-block > dl dd .list-sns li {
  margin: 0;
  margin-bottom: 2.4rem;
}
.share-block > dl dd .list-sns li:last-child {
  margin: 0;
}
@media only screen and (max-width: 1100px) {
  .share-block > dl dd .list-sns li {
    margin: 0;
  }
}
.share-block.side-btn {
  position: relative;
  left: 0;
  z-index: 11;
}
@media only screen and (max-width: 1100px) {
  .share-block.side-btn {
    position: relative !important;
    bottom: 0 !important;
  }
}
.share-block.side-btn .list-sns li {
  max-width: none;
  margin-bottom: 0;
}
.share-block.fixed {
  position: fixed;
}

/* --------------------------------------------------

インスタグラム（※日本語TOP・英語TOP共通）

-------------------------------------------------- */
.list-instagram {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  flex-wrap: wrap;
  gap: 1em;
}
@media only screen and (max-width: 768px) {
  .list-instagram {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 2fr 1fr 1fr 1fr;
    gap: 0.5em;
  }
}
.list-instagram li {
  overflow: hidden;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  position: relative;
}
.list-instagram li:first-child {
  grid-column: 1/2;
  grid-row: 1/3;
}
@media only screen and (max-width: 768px) {
  .list-instagram li:first-child {
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
.list-instagram li a {
  height: 100%;
  display: block;
}
.list-instagram li a > img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  transition: 0.3s all;
}
.list-instagram li a:hover > img {
  transform: translate(-50%, -50%) scale(1.1);
}

/* --------------------------------------------------

アンカーリンク

-------------------------------------------------- */
.anchor-link {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 768px) {
  .anchor-link {
    margin-bottom: 4rem;
  }
}
.anchor-link > li {
  width: calc(25% - 4px);
}
@media only screen and (max-width: 768px) {
  .anchor-link > li {
    width: calc(50% - 4px);
  }
}
.anchor-link > li a {
  color: #323131;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  background: #FFF800;
  padding: 2.2rem 0.8rem;
  border-radius: 5px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .anchor-link > li a {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 768px) {
  .anchor-link > li a {
    padding: 0.8rem;
  }
}
.anchor-link > li a.active {
  background: #FFBF00;
}
.anchor-link > li a:hover {
  color: #000;
  background: #FFBF00;
}

/* --------------------------------------------------

タブ

-------------------------------------------------- */
.tab-list {
  display: flex;
  justify-content: space-between;
  gap: 4px;
  margin-bottom: 2.4rem;
}
.tab-list > li {
  flex: 1;
  display: flex;
}
.tab-list > li a {
  color: #fff;
  background: #000;
  width: 100%;
  padding: 1.6rem;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 768px) {
  .tab-list > li a {
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 768px) {
  .tab-list > li a {
    padding: 0.8rem;
  }
}

/* tab-article */
.tab-article {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-bottom: 4rem;
}
.tab-article > li {
  flex: 1;
  display: flex;
}
.tab-article > li a {
  color: #0a0a0a;
  background: #FFF800;
  border-radius: 5px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  width: 100%;
  padding: 1.3rem 1.6rem;
  display: grid;
  place-content: center;
}
.tab-article > li a:hover, .tab-article > li a.active {
  color: #000;
  background: #FFBF00;
}

/* tab-wrap */
.tab-wrap {
  position: relative;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .tab-wrap {
    margin-bottom: 1.6rem;
  }
}
.tab-wrap .tab-area {
  display: flex;
  justify-content: space-between;
  gap: 4px;
}
.tab-wrap .tab-area > li {
  display: flex;
  flex: 1;
}
.tab-wrap .tab-area > li a {
  color: #000;
  background: #FFF800;
  font-weight: bold;
  width: 100%;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .tab-wrap .tab-area > li a {
    font-size: 1.4rem;
  }
}
.tab-wrap .tab-area > li a:hover, .tab-wrap .tab-area > li a.active {
  color: #323131;
  background: #FFBF00;
  position: relative;
}
.tab-wrap .tab-area > li a:not(.active) {
  margin-bottom: 0.1rem;
}

.tab-contents {
  padding: 6rem 6rem 3rem;
  border-radius: 20px;
  background: #fffdf1;
  box-shadow: 6px 6px 0 #faf1e8;
  margin-bottom: 3.2rem;
}
.tab-contents.tab-bg-events {
  padding: unset;
  border-radius: unset;
  background: unset;
  box-shadow: unset;
}
@media only screen and (max-width: 768px) {
  .tab-contents {
    padding: 2.4rem;
  }
}
.tab-contents > div {
  display: none;
}
.tab-contents > div.active {
  display: block;
}

/* SP */
@media only screen and (max-width: 768px) {
  .sp-tab-btn {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
  }
  .sp-tab-btn > li {
    flex: auto !important;
  }
  .sp-tab-btn.col2 > li {
    width: calc(50% - 4px);
  }
  .sp-tab-btn.col3 > li {
    width: calc(33.3333333333% - 4px);
  }
  .sp-tab-scroll {
    overflow: auto;
  }
  .sp-tab-scroll > li {
    white-space: nowrap;
  }
}
/* --------------------------------------------------

ボタン

-------------------------------------------------- */
.btn-block {
  margin: 2.4rem 0 0;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .btn-block {
    display: block;
  }
}
.btn-block p,
.btn-block button {
  margin: 0 1.2rem 2.4rem;
}
@media only screen and (max-width: 768px) {
  .btn-block p,
  .btn-block button {
    width: 90%;
    margin: 1.6rem auto;
  }
}
.btn-block.center {
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .btn-block.center {
    display: block;
  }
}
.btn-block.right {
  justify-content: flex-end;
}
@media only screen and (max-width: 768px) {
  .btn-block.right {
    display: block;
  }
}
.btn-block.to-back {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .btn-block.to-back p,
  .btn-block.to-back button {
    margin: 0.5em auto;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) and (max-width: 768px) {
  .btn-block.to-back p,
  .btn-block.to-back button {
    width: 90%;
  }
}
@media only screen and (max-width: 768px) {
  .btn-block.to-back button {
    order: 1;
  }
  .btn-block.to-back button.back, .btn-block.to-back button.edit, .btn-block.to-back button.clear {
    order: 2;
  }
  .btn-block.to-back p {
    order: 2;
  }
}
.btn-block.to-clear {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .btn-block.to-clear p,
  .btn-block.to-clear button {
    margin: 0.5em auto;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) and (max-width: 768px) {
  .btn-block.to-clear p,
  .btn-block.to-clear button {
    width: 90%;
  }
}
@media only screen and (max-width: 768px) {
  .btn-block.to-clear button {
    order: 1;
  }
  .btn-block.to-clear button.back, .btn-block.to-clear button.edit, .btn-block.to-clear button.clear {
    order: 2;
  }
  .btn-block.to-clear p {
    order: 2;
  }
}
.btn-block.col1 {
  display: block;
}
.btn-block.col1 p .btn-base,
.btn-block.col1 button .btn-base {
  display: inline-block;
}
.btn-block.col1.center p,
.btn-block.col1.center button {
  text-align: center;
}
.btn-block.col4 p {
  width: 24%;
  margin: 0 1.2rem 2.4rem 0;
}
@media only screen and (max-width: 1300px) {
  .btn-block.col4 p {
    width: 30%;
  }
}
@media only screen and (max-width: 768px) {
  .btn-block.col4 p {
    width: 90%;
    margin: 1.6rem auto;
  }
}
.btn-block.col4 p:nth-child(4n) {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .btn-block.col4 p:nth-child(4n) {
    margin: 1.6rem auto;
  }
}
.btn-block.col4 p a.btn-base {
  min-width: unset;
  padding: 2.4rem 4.8rem 2.4rem 2.4rem;
}
@media only screen and (max-width: 768px) {
  .btn-block.col4 p a.btn-base {
    padding: 1.4rem 4.8rem;
  }
}
.btn-block.col5 p {
  width: 19%;
  margin: 0 1.2rem 2.4rem 0;
}
@media only screen and (max-width: 1300px) {
  .btn-block.col5 p {
    width: 30%;
  }
}
@media only screen and (max-width: 768px) {
  .btn-block.col5 p {
    width: 90%;
    margin: 1.6rem auto;
  }
}
.btn-block.col5 p:nth-child(5n) {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .btn-block.col5 p:nth-child(5n) {
    margin: 1.6rem auto;
  }
}
.btn-block.col5 p a.btn-base {
  min-width: unset;
  padding: 2.4rem 4.8rem 2.4rem 2.4rem;
}
@media only screen and (max-width: 768px) {
  .btn-block.col5 p a.btn-base {
    padding: 1.4rem 4.8rem;
  }
}

/* --------------------------------------------------

外部リンク遷移ボタン・CTAボタン

-------------------------------------------------- */
.btn-link-block,
.btn-cta-block {
  max-width: 800px;
  margin: 0 auto;
  background: #FFF800;
  border-radius: 20px;
  padding: 0 0 2em;
  position: relative;
  margin-bottom: 4rem;
}
@media screen and (max-width: 820px) {
  .btn-link-block,
  .btn-cta-block {
    padding: 0 1em 2em;
    width: 92%;
  }
}
.btn-link-block .ttl-link,
.btn-link-block .ttl-cta,
.btn-cta-block .ttl-link,
.btn-cta-block .ttl-cta {
  color: #333;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  display: table;
  table-layout: fixed;
  margin: 5em auto 0;
  position: relative;
  transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
  .btn-link-block .ttl-link,
  .btn-link-block .ttl-cta,
  .btn-cta-block .ttl-link,
  .btn-cta-block .ttl-cta {
    font-size: 1.5rem;
  }
}
.btn-link-block .ttl-link span,
.btn-link-block .ttl-cta span,
.btn-cta-block .ttl-link span,
.btn-cta-block .ttl-cta span {
  color: #000;
  font-size: 1.6rem;
  display: block;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 768px) {
  .btn-link-block .ttl-link span,
  .btn-link-block .ttl-cta span,
  .btn-cta-block .ttl-link span,
  .btn-cta-block .ttl-cta span {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .btn-link-block .ttl-link span,
  .btn-link-block .ttl-cta span,
  .btn-cta-block .ttl-link span,
  .btn-cta-block .ttl-cta span {
    margin-bottom: 0.4rem;
  }
}
.btn-link-block .ttl-link:before, .btn-link-block .ttl-link:after,
.btn-link-block .ttl-cta:before,
.btn-link-block .ttl-cta:after,
.btn-cta-block .ttl-link:before,
.btn-cta-block .ttl-link:after,
.btn-cta-block .ttl-cta:before,
.btn-cta-block .ttl-cta:after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 30px;
  position: absolute;
  bottom: 5px;
  background: #333;
}
@media only screen and (max-width: 768px) {
  .btn-link-block .ttl-link:before, .btn-link-block .ttl-link:after,
  .btn-link-block .ttl-cta:before,
  .btn-link-block .ttl-cta:after,
  .btn-cta-block .ttl-link:before,
  .btn-cta-block .ttl-link:after,
  .btn-cta-block .ttl-cta:before,
  .btn-cta-block .ttl-cta:after {
    height: 15px;
  }
}
.btn-link-block .ttl-link:before,
.btn-link-block .ttl-cta:before,
.btn-cta-block .ttl-link:before,
.btn-cta-block .ttl-cta:before {
  right: calc(100% + 30px);
  transform: rotate(-30deg);
}
.btn-link-block .ttl-link:after,
.btn-link-block .ttl-cta:after,
.btn-cta-block .ttl-link:after,
.btn-cta-block .ttl-cta:after {
  left: calc(100% + 30px);
  transform: rotate(30deg);
}
.btn-link-block .btn-base,
.btn-cta-block .btn-base {
  max-width: 500px;
  margin: 0 auto;
}

.btn-link-block:before, .btn-link-block:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1.5em;
  z-index: 1;
  pointer-events: none;
}
.btn-link-block:before {
  width: 15.75%;
  max-width: 126px;
  aspect-ratio: 126/136;
  right: calc(50% + 26rem);
  background: url(../img/common/link01.png) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  .btn-link-block:before {
    right: 90%;
    bottom: -0.5em;
  }
}
.btn-link-block:after {
  width: 17.13%;
  max-width: 137px;
  aspect-ratio: 137/108;
  left: calc(50% + 26rem);
  background: url(../img/common/link02.png) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  .btn-link-block:after {
    left: 90%;
    bottom: -0.5em;
  }
}

/* --------------------------------------------------

CTAボタン

-------------------------------------------------- */
.btn-cta-block:before, .btn-cta-block:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.btn-cta-block:before {
  width: 15.25%;
  max-width: 122px;
  aspect-ratio: 122/123;
  right: calc(50% + 26rem);
  bottom: -1em;
  background: url(../img/common/cta01.png) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  .btn-cta-block:before {
    right: 90%;
    bottom: 0;
  }
}
.btn-cta-block:after {
  width: 15%;
  max-width: 120px;
  aspect-ratio: 120/122;
  left: calc(50% + 26rem);
  bottom: -1.5em;
  background: url(../img/common/cta02.png) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  .btn-cta-block:after {
    left: 90%;
    bottom: -0.5em;
  }
}

/* --------------------------------------------------

文章

-------------------------------------------------- */
/* sentence-block */
.sentence-block {
  margin-bottom: 4rem;
}
.sentence-block.center {
  text-align: center;
}
.sentence-block p {
  margin-bottom: 1.6rem;
}
.sentence-block p.mb0 {
  margin-bottom: 0rem;
}
.sentence-block p.indent {
  text-indent: 1em;
}
.sentence-block a {
  color: #0D30B8;
  text-decoration: underline;
}
.sentence-block a[target=_blank] {
  margin-right: 0.8rem;
}
.sentence-block a[target=_blank]:after {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  margin-left: 0.4rem;
  z-index: 2;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_blank.svg);
  background: #0D30B8;
}

/* --------------------------------------------------

リード文

-------------------------------------------------- */
.lead-block {
  background: #bfe7ff;
  border-radius: 20px;
  padding: 4rem;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .lead-block {
    padding: 2.4rem;
    margin-bottom: 4rem;
  }
}
.lead-block .ttl {
  font-family: "MFW-UDShinMGoPr6-DeBold";
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin: 1.6rem auto 3.2rem;
}
@media only screen and (max-width: 768px) {
  .lead-block .ttl {
    font-size: 2.4rem;
  }
}
.lead-block .sentence-block {
  line-height: 1.8;
  margin-bottom: 0rem;
}

/* --------------------------------------------------

選ばれる理由

-------------------------------------------------- */
.reason-block .ttl {
  font-family: "MFW-UDShinMGoPr6-DeBold";
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin: 1.6rem auto 3.2rem;
}
@media only screen and (max-width: 768px) {
  .reason-block .ttl {
    font-size: 2.4rem;
  }
}
.reason-block .reason-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.reason-block .reason-wrapper > div {
  text-align: center;
  margin-bottom: 10rem;
  position: relative;
  width: 32%;
}
@media only screen and (max-width: 768px) {
  .reason-block .reason-wrapper > div {
    width: 100%;
  }
}
.reason-block .reason-wrapper > div .item img {
  border-radius: 20px;
}
.reason-block .reason-wrapper > div > p {
  background: #fff;
  text-align: center;
  border-radius: 10px;
  padding: 1em;
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 340px;
  box-shadow: 0px 0px 15px -5px #777777;
}
.reason-block .reason-wrapper > div > p::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 75%;
  left: 50%;
  background: #ffffff;
  width: 30px;
  height: 30px;
  transform: translateX(-50%) rotate(-45deg);
  z-index: -1;
}

/* --------------------------------------------------

スクロールバー付きテキスト

-------------------------------------------------- */
.scroll-text {
  background: #EEEEEE;
  border: 2px solid #000;
  border-radius: 20px;
  padding: 2.4rem 3.2rem;
  overflow: hidden;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .scroll-text {
    padding: 1.6rem;
  }
}
.scroll-text > div {
  overflow-y: scroll;
  height: 160px;
  padding-right: 1em;
}
@media only screen and (max-width: 768px) {
  .scroll-text > div {
    height: 200px;
  }
}
.scroll-text > div p:not(:first-child) {
  margin-top: 1em;
}

/* --------------------------------------------------

画像ブロック

-------------------------------------------------- */
.pht-single {
  text-align: center;
  margin-bottom: 2em;
}
.pht-single.bnr-tumulus {
  margin-top: 3.5em;
}
@media only screen and (max-width: 768px) {
  .pht-single.bnr-tumulus {
    margin-top: 1em;
  }
}

/* block-lr */
.block-lr {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.block-lr a {
  display: block;
}
.block-lr > div {
  box-sizing: border-box;
}
.block-lr.list-movie {
  margin: 3em 0 4em;
}
@media only screen and (max-width: 768px) {
  .block-lr.list-movie {
    margin: 1em 0 2em;
  }
}
.block-lr.center > div {
  text-align: center;
}
.block-lr.col2 > div {
  width: 48%;
  margin: 0 4% 2em 0;
}
.block-lr.col2 > div:nth-child(2n) {
  margin-right: 0;
}
.block-lr.col2.w-l03 > div {
  width: 30%;
  margin: 0 3% 2em 0;
}
.block-lr.col2.w-l03 > div:nth-child(2n) {
  width: 67%;
  margin-right: 0;
}
.block-lr.col2.w-l04 > div {
  width: 40%;
  margin: 0 3% 2em 0;
}
.block-lr.col2.w-l04 > div:nth-child(2n) {
  width: 57%;
  margin-right: 0;
}
.block-lr.col3 > div {
  width: 31%;
  margin: 0 3.5% 2em 0;
}
.block-lr.col3 > div:nth-child(3n) {
  margin-right: 0;
}
.block-lr.col4 > div {
  width: 23%;
  margin: 0 2.6666666667% 2em 0;
}
.block-lr.col4 > div:nth-child(4n) {
  margin-right: 0;
}
.block-lr.col5 > div {
  width: 18%;
  margin: 0 2.5% 2em 0;
}
.block-lr.col5 > div:nth-child(5n) {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .block-lr.sp-col01 > div {
    width: 100% !important;
    margin-right: 0;
  }
  .block-lr.sp-col02 > div {
    width: 47% !important;
    margin: 0 6% 2em 0 !important;
  }
  .block-lr.sp-col02 > div:nth-child(2n) {
    margin-right: 0 !important;
  }
  .block-lr.sp-col03 > div {
    width: 31% !important;
    margin: 0 3.5% 2em 0 !important;
  }
  .block-lr.sp-col03 > div:nth-child(3n) {
    margin-right: 0 !important;
  }
}

/* --------------------------------------------------

サムネイルリスト

-------------------------------------------------- */
/* list-thumb */
.list-thumb {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.list-thumb .news-pin {
  position: relative;
}
.list-thumb .news-pin::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: -5rem;
  right: -3rem;
  width: 10rem;
  aspect-ratio: 1/1;
  z-index: 10;
  background: url(../img/common/ico_pin.svg) no-repeat center center/contain;
}
.list-thumb a {
  display: block;
}
.list-thumb.col2 > li {
  width: 48%;
  margin: 0 4% 2em 0;
}
.list-thumb.col2 > li:nth-child(2n) {
  margin-right: 0;
}
.list-thumb.col3 > li {
  width: 31%;
  margin: 0 3.5% 2em 0;
}
@media only screen and (max-width: 768px) {
  .list-thumb.col3 > li {
    margin-bottom: 0.8em;
  }
}
.list-thumb.col3 > li:nth-child(3n) {
  margin-right: 0;
}
.list-thumb.col4 > li {
  width: 23%;
  margin: 0 2.6666666667% 2em 0;
}
.list-thumb.col4 > li:nth-child(4n) {
  margin-right: 0;
}
.list-thumb.col5 > li {
  width: 18%;
  margin: 0 2.5% 2em 0;
}
.list-thumb.col5 > li:nth-child(5n) {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .list-thumb.sp-col01 > li {
    width: 100% !important;
    margin-right: 0;
  }
  .list-thumb.sp-col02 > li {
    width: 47% !important;
    margin: 0 6% 0.8em 0 !important;
  }
  .list-thumb.sp-col02 > li:nth-child(2n) {
    margin-right: 0 !important;
  }
  .list-thumb.sp-card > li {
    width: 100% !important;
    margin-right: 0;
    display: flex;
    align-items: flex-start;
  }
  .list-thumb.sp-card > li > div.ph-part {
    width: 35%;
    min-width: 35%;
    margin: 0 5% 1.6rem 0;
  }
}
@media only screen and (max-width: 768px) and (max-width: 768px) {
  .list-thumb.sp-card > li > div.txt-part {
    padding: 0;
  }
}
.list-thumb.ratio-1-1 .ph-part {
  aspect-ratio: 1/1 !important;
  object-fit: contain !important;
}
.list-thumb.ratio-2-3 .ph-part {
  aspect-ratio: 2/3 !important;
  object-fit: contain !important;
}
.list-thumb.ratio-3-2 .ph-part {
  aspect-ratio: 3/2 !important;
  object-fit: contain !important;
}
.list-thumb.ratio-3-4 .ph-part {
  aspect-ratio: 3/4 !important;
  object-fit: contain !important;
}
.list-thumb.ratio-4-3 .ph-part {
  aspect-ratio: 4/3 !important;
  object-fit: contain !important;
}
.list-thumb.ratio-16-9 .ph-part {
  aspect-ratio: 16/9 !important;
  object-fit: contain !important;
}
.list-thumb li {
  position: relative;
}
.list-thumb li:has(a:hover) .ph-part img {
  transform: translate(-50%, -50%) scale(1.1);
}
.list-thumb li > .badge {
  line-height: 8rem;
  width: 8rem;
  height: 8rem;
  position: absolute;
  top: -1.8rem;
  left: -1.8rem;
  z-index: 10;
}
@media only screen and (max-width: 768px) {
  .list-thumb li > .badge {
    line-height: 4rem;
    width: 4rem;
    height: 4rem;
    top: -1rem;
    left: -1rem;
  }
}
.list-thumb li a,
.list-thumb li > div {
  width: 100%;
  position: relative;
}
.list-thumb li a.ph-part, .list-thumb li a.txt-part,
.list-thumb li > div.ph-part,
.list-thumb li > div.txt-part {
  width: 100%;
  text-align: left;
  position: relative;
  z-index: 1;
  overflow: hidden;
  box-sizing: border-box;
}
.list-thumb li a.ph-part,
.list-thumb li > div.ph-part {
  background: #e2e5ec;
  border-radius: 20px;
  aspect-ratio: 4/3;
  object-fit: contain;
  margin-bottom: 1.6rem;
}
.list-thumb li a.ph-part > img,
.list-thumb li > div.ph-part > img {
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: contain;
}
@media all and (-ms-high-contrast: none) {
  .list-thumb li a.ph-part > img,
  .list-thumb li > div.ph-part > img {
    width: auto;
    height: auto;
    max-width: 130%;
    max-height: 130%;
  }
}
.list-thumb li a .add-parts > .txt-add,
.list-thumb li > div .add-parts > .txt-add {
  font-size: 1.4rem;
  background: #fff;
  width: 80%;
  padding: 0.8rem 1.6rem;
  opacity: 0;
  position: absolute;
  bottom: 4em;
  right: 0.6em;
  z-index: 5;
  display: block;
  transition: all 0.5s;
}
.list-thumb li a .add-parts > .txt-add:before,
.list-thumb li > div .add-parts > .txt-add:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1em 0.4em 0 0.4em;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  bottom: -0.9em;
  right: 0.8em;
  z-index: -1;
}
@media only screen and (max-width: 1100px) {
  .list-thumb li a .add-parts > .txt-add:before,
  .list-thumb li > div .add-parts > .txt-add:before {
    bottom: -10px;
  }
}
.list-thumb li a .add-parts > .btn-add,
.list-thumb li > div .add-parts > .btn-add {
  line-height: 1;
  padding: 0.5em;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.5s;
  position: absolute;
  right: 0.5em;
  bottom: 0.5em;
  z-index: 5;
}
.list-thumb li a .add-parts > .btn-add:hover + .txt-add, .list-thumb li a .add-parts > .btn-add:focus + .txt-add,
.list-thumb li > div .add-parts > .btn-add:hover + .txt-add,
.list-thumb li > div .add-parts > .btn-add:focus + .txt-add {
  display: block;
  opacity: 1;
}
.list-thumb li a.txt-part,
.list-thumb li > div.txt-part {
  padding: 0 0 1.6rem;
  position: unset;
}
.list-thumb li a.txt-part .date,
.list-thumb li > div.txt-part .date {
  font-size: 1.5rem;
  margin-bottom: 0.8rem;
}
.list-thumb li a.txt-part .ttl,
.list-thumb li > div.txt-part .ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
}
.list-thumb li a.txt-part .ttl a,
.list-thumb li > div.txt-part .ttl a {
  position: unset;
}
.list-thumb li a.txt-part .ttl a:before,
.list-thumb li > div.txt-part .ttl a:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
.list-thumb li a.txt-part .txt,
.list-thumb li > div.txt-part .txt {
  font-size: 1.4rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.list-thumb li a.txt-part .calendar,
.list-thumb li > div.txt-part .calendar {
  font-size: 1.3rem;
  position: relative;
  padding-left: 2rem;
  margin-bottom: 1.6rem;
}
.list-thumb li a.txt-part .calendar:before,
.list-thumb li > div.txt-part .calendar:before {
  content: "";
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_calendar.svg);
  background: #000;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 0.2rem;
  left: 0;
  z-index: 1;
}
.list-thumb li a.txt-part .writer,
.list-thumb li > div.txt-part .writer {
  display: flex;
  align-items: center;
  margin-bottom: 1.6rem;
}
.list-thumb li a.txt-part .writer .w-ph,
.list-thumb li > div.txt-part .writer .w-ph {
  width: 50px;
  border-radius: 50%;
  margin-right: 1.6rem;
  overflow: hidden;
  aspect-ratio: 1/1;
  position: relative;
}
.list-thumb li a.txt-part .writer .w-ph img,
.list-thumb li > div.txt-part .writer .w-ph img {
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: cover;
}
@media all and (-ms-high-contrast: none) {
  .list-thumb li a.txt-part .writer .w-ph img,
  .list-thumb li > div.txt-part .writer .w-ph img {
    width: auto;
    height: auto;
    max-width: 130%;
    max-height: 130%;
  }
}
.list-thumb li a.txt-part .writer .w-txt,
.list-thumb li > div.txt-part .writer .w-txt {
  font-size: 1.3rem;
}
.list-thumb li a.txt-part .list-icon,
.list-thumb li > div.txt-part .list-icon {
  position: relative;
  z-index: 10;
}
.list-thumb li .fav-part {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  z-index: 5;
}
.list-thumb li .fav-part .icon-fav {
  display: block;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  background: url(../img/common/ico_btn_off.svg) no-repeat center/18px auto, #fff;
  border: 1px solid #707070;
  transition: 0.3s;
  white-space: nowrap;
  overflow: hidden;
  text-indent: 100%;
  padding: 0;
}
.list-thumb li .fav-part .icon-fav.active {
  background: url(../img/common/ico_btn_on.svg) no-repeat center/18px auto, #fff;
  display: none;
}
.list-thumb.fav-wrap > li {
  position: relative;
  display: block;
}
.list-thumb.fav-wrap > li > div {
  position: relative;
}
.list-thumb.fav-wrap > li > div .ph-part {
  width: 100%;
  text-align: left;
  position: relative;
  z-index: 1;
  overflow: hidden;
  box-sizing: border-box;
  background: #e2e5ec;
  border-radius: 20px;
  aspect-ratio: 4/3;
  object-fit: contain;
  margin-bottom: 1.6rem;
}
.list-thumb.fav-wrap > li > div .ph-part > img {
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: contain;
}
@media all and (-ms-high-contrast: none) {
  .list-thumb.fav-wrap > li > div .ph-part > img {
    width: auto;
    height: auto;
    max-width: 130%;
    max-height: 130%;
  }
}
.list-thumb.fav-wrap > li .txt-part {
  position: unset;
}
.list-thumb.fav-wrap > li a {
  position: unset;
}
.list-thumb.fav-wrap > li a:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
.list-thumb.pamphlet > li .ph-part {
  border-radius: 3px;
  border: 3px solid #3c3c3c;
}
.list-thumb.pamphlet > li .txt-part .ttl {
  font-size: 1.6rem;
  font-weight: 500;
}
.list-thumb.ph-thumb > li {
  display: block;
}
.list-thumb.ph-thumb > li .ph-part {
  border-radius: 20px;
  position: relative;
  aspect-ratio: 4/3;
  object-fit: contain;
  overflow: hidden;
}
.list-thumb.ph-thumb > li .ph-part > img {
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: contain;
}
@media all and (-ms-high-contrast: none) {
  .list-thumb.ph-thumb > li .ph-part > img {
    width: auto;
    height: auto;
    max-width: 130%;
    max-height: 130%;
  }
}
.list-thumb.ph-thumb > li .txt-part {
  padding: 1.6rem 0;
}
.list-thumb.ph-thumb > li .txt-part .date {
  font-size: 1.3rem;
  margin-bottom: 0.8rem;
}
.list-thumb.ph-thumb > li .txt-part .ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
}
.list-thumb.ph-thumb > li .txt-part .txt {
  font-size: 1.4rem;
}
.list-thumb.ph-thumb > li .txt-part .calendar {
  font-size: 1.3rem;
  position: relative;
  padding-left: 2rem;
  margin-bottom: 1.6rem;
}
.list-thumb.ph-thumb > li .txt-part .calendar:before {
  content: "";
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_calendar.svg);
  background: #000;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 0.2rem;
  left: 0;
  z-index: 1;
}

/* --------------------------------------------------

記事サイドバー

-------------------------------------------------- */
/* list-rank */
.list-rank {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.list-rank.ratio-1-1 .ph-part {
  aspect-ratio: 1/1 !important;
  object-fit: contain !important;
}
.list-rank.ratio-3-2 .ph-part {
  aspect-ratio: 3/2 !important;
  object-fit: contain !important;
}
.list-rank.ratio-3-4 .ph-part {
  aspect-ratio: 3/4 !important;
  object-fit: contain !important;
}
.list-rank.ratio-4-3 .ph-part {
  aspect-ratio: 4/3 !important;
  object-fit: contain !important;
}
.list-rank.ratio-16-9 .ph-part {
  aspect-ratio: 16/9 !important;
  object-fit: contain !important;
}
.list-rank > li {
  width: 100%;
  position: relative;
  margin: 1.6rem 0;
}
.list-rank > li:first-child {
  margin-top: 2.4rem;
}
.list-rank > li .badge {
  position: absolute;
  top: -20px;
  left: 0;
}
.list-rank > li a {
  width: 100%;
  position: relative;
  display: flex;
  align-items: flex-start;
}
.list-rank > li a .ph-part,
.list-rank > li a .txt-part {
  width: 100%;
  text-align: left;
  position: relative;
  z-index: 1;
  overflow: hidden;
  box-sizing: border-box;
}
.list-rank > li a .ph-part {
  background: #e2e5ec;
  border-radius: 10px;
  aspect-ratio: 4/3;
  object-fit: contain;
  width: 45%;
  min-width: 45%;
  margin-right: 2.4rem;
}
.list-rank > li a .ph-part > img {
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: contain;
}
@media all and (-ms-high-contrast: none) {
  .list-rank > li a .ph-part > img {
    width: auto;
    height: auto;
    max-width: 130%;
    max-height: 130%;
  }
}
.list-rank > li a:hover .ph-part > img {
  transform: translate(-50%, -50%) scale(1.1);
}
.list-rank > li a .txt-part .ttl {
  font-size: 1.6rem;
  font-weight: bold;
}

.list-writer > li a {
  background: #EEEEEE;
  display: flex;
  align-items: center;
  padding: 2.4rem;
  margin-bottom: 1.6rem;
}
.list-writer > li a .ph-part {
  width: 35%;
  min-width: 35%;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1/1;
  position: relative;
  margin-right: 2.4rem;
}
.list-writer > li a .ph-part img {
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: cover;
}
@media all and (-ms-high-contrast: none) {
  .list-writer > li a .ph-part img {
    width: auto;
    height: auto;
    max-width: 130%;
    max-height: 130%;
  }
}
.list-writer > li a .txt-part .name {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
}
.list-writer > li a .txt-part .txt {
  font-size: 1.4rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* --------------------------------------------------

ライター

-------------------------------------------------- */
.writer-block {
  background: #EEEEEE;
  display: flex;
  align-items: center;
  padding: 3.2rem 4rem;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .writer-block {
    display: block;
    padding: 2.4rem 1.6rem;
  }
}
.writer-block .ph-part {
  width: 150px;
  min-width: 150px;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1/1;
  position: relative;
  margin-right: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .writer-block .ph-part {
    margin: 0 auto 2.4rem;
  }
}
.writer-block .ph-part img {
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: cover;
}
@media all and (-ms-high-contrast: none) {
  .writer-block .ph-part img {
    width: auto;
    height: auto;
    max-width: 130%;
    max-height: 130%;
  }
}
.writer-block .txt-part {
  width: calc(100% - 180px);
}
@media only screen and (max-width: 768px) {
  .writer-block .txt-part {
    width: 100%;
  }
}
.writer-block .txt-part .name {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
}
.writer-block .txt-part .txt {
  font-size: 1.4rem;
  margin-bottom: 2.4rem;
}
.writer-block .btn-part {
  display: flex;
  flex-wrap: wrap;
}
.writer-block .btn-part > button,
.writer-block .btn-part > p {
  width: 48%;
  margin: 0 4% 1.6rem 0;
}
.writer-block .btn-part > button:nth-child(2n),
.writer-block .btn-part > p:nth-child(2n) {
  margin-right: 0;
}
@media only screen and (max-width: 1100px) {
  .writer-block .btn-part > button,
  .writer-block .btn-part > p {
    width: 100%;
    margin: 0;
    margin-bottom: 1.6rem;
  }
}
.writer-block .btn-part .btn-base {
  color: #323131;
  background: #fff;
  padding: 2.4rem;
  min-width: auto;
}
.writer-block .btn-part .btn-base.writer:before {
  content: "";
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_arrow_square.svg);
  background: #000;
  width: 0.8em;
  height: 0.8em;
  display: inline-block;
  vertical-align: baseline;
  margin-right: 1.6rem;
}
.writer-block .btn-part .btn-base.instagram:before {
  content: "";
  width: 32px;
  height: 32px;
  background: url(../img/common/ico_instagram.svg) no-repeat center center/contain;
  display: inline-block;
  vertical-align: middle;
  margin-right: 1.6rem;
}

.post-writer {
  display: flex;
  align-items: center;
  margin: 1.6rem 0;
}
.post-writer .ph-part {
  width: 50px;
  min-width: 50px;
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1/1;
  position: relative;
  margin-right: 1.6rem;
}
.post-writer .ph-part img {
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: cover;
}
@media all and (-ms-high-contrast: none) {
  .post-writer .ph-part img {
    width: auto;
    height: auto;
    max-width: 130%;
    max-height: 130%;
  }
}
.post-writer .txt-part {
  font-size: 1.3rem;
  width: calc(100% - 55px);
  display: flex;
}
@media only screen and (max-width: 768px) {
  .post-writer .txt-part {
    display: block;
    width: 100%;
  }
}
.post-writer .txt-part .name {
  margin-right: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .post-writer .txt-part .name {
    margin: 0;
  }
}

/* --------------------------------------------------

横並びブロック

-------------------------------------------------- */
.col-block {
  display: flex;
  flex-wrap: wrap;
  margin: 2.4rem 0;
}
.col-block .ph-part {
  width: 40%;
  margin-right: 5%;
  background: #e2e5ec;
  position: relative;
  aspect-ratio: 4/3;
  object-fit: contain;
}
@media only screen and (max-width: 768px) {
  .col-block .ph-part {
    width: 100%;
    margin-right: 0;
  }
}
.col-block .ph-part > img {
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: contain;
}
@media all and (-ms-high-contrast: none) {
  .col-block .ph-part > img {
    width: auto;
    height: auto;
    max-width: 130%;
    max-height: 130%;
  }
}
.col-block .txt-part {
  width: 55%;
}
@media only screen and (max-width: 768px) {
  .col-block .txt-part {
    width: 100%;
  }
}
.col-block .txt-part .btn-block {
  margin-bottom: 0;
}
.col-block.reverse {
  flex-direction: row-reverse;
}
.col-block.reverse .ph-part {
  margin-right: 0;
  margin-left: 5%;
}
@media only screen and (max-width: 768px) {
  .col-block.reverse .ph-part {
    margin-left: 0;
  }
}
.col-block.overlap {
  position: relative;
  flex-wrap: nowrap;
  align-items: flex-start;
}
@media only screen and (max-width: 768px) {
  .col-block.overlap {
    flex-wrap: wrap;
  }
}
.col-block.overlap .ph-part {
  width: 60%;
  position: relative;
  z-index: -1;
  margin: 0;
}
@media only screen and (max-width: 768px) {
  .col-block.overlap .ph-part {
    width: 100%;
  }
}
.col-block.overlap .txt-part {
  background: #fff;
  border-radius: 30px;
  width: 60%;
  padding: 3.2rem;
  margin: 3.2rem 0;
  margin-left: -20%;
}
@media only screen and (max-width: 768px) {
  .col-block.overlap .txt-part {
    width: 100%;
    margin: -2em 0 2em !important;
  }
}
.col-block.overlap.reverse .txt-part {
  margin-left: 0;
  margin-right: -20%;
}
.col-block.ratio-1-1 .ph-part {
  aspect-ratio: 1/1 !important;
  object-fit: contain !important;
}
.col-block.ratio-3-2 .ph-part {
  aspect-ratio: 3/2 !important;
  object-fit: contain !important;
}
.col-block.ratio-3-4 .ph-part {
  aspect-ratio: 3/4 !important;
  object-fit: contain !important;
}
.col-block.ratio-4-3 .ph-part {
  aspect-ratio: 4/3 !important;
  object-fit: contain !important;
}
.col-block.ratio-16-9 .ph-part {
  aspect-ratio: 16/9 !important;
  object-fit: contain !important;
}

/* --------------------------------------------------

新着リスト

-------------------------------------------------- */
.list-article {
  margin-bottom: 3.2rem;
}
.list-article > li {
  border-bottom: 2px dashed #FFBF00;
  padding: 2.4rem 0;
  position: relative;
}
.list-article > li .date-part {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  margin-bottom: 0.8rem;
}
.list-article > li .date-part .date-post {
  color: #302828;
  font-weight: bold;
  text-decoration: none;
  margin-right: 1.6rem;
  font-size: 1.4rem;
  margin-bottom: 0.8rem;
}
.list-article > li .date-part .list-icon {
  position: relative;
  z-index: 10;
}
.list-article > li .date-part .list-icon a {
  position: relative;
}
.list-article > li .date-part .list-icon a span:hover {
  background: #ff9900;
}
.list-article > li .date-part .list-icon .category {
  position: relative;
  z-index: 20;
  display: inline-block;
}
.list-article > li .date-part .icon-new {
  margin: 0 0.8rem 0 0.8rem;
}
.list-article > li .ttl {
  font-weight: bold;
  margin-bottom: 0.8rem;
}
.list-article > li .ttl a {
  color: #302828;
  display: block;
  position: unset;
}
.list-article > li .ttl a:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
.list-article > li .ttl a:hover {
  color: #097A53;
}
.list-article > li .txt {
  font-size: 1.4rem;
}
.list-article > li:hover {
  color: #097A53;
}
.list-article:last-child {
  border-bottom: none;
}

/* list-topics */
.list-topics {
  margin-bottom: 3.2rem;
}
.list-topics li a {
  color: #302828;
  display: flex;
  position: relative;
  padding: 0.8rem 0;
}
@media only screen and (max-width: 768px) {
  .list-topics li a {
    display: block;
  }
}
.list-topics li a .date-part {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  min-width: 10em;
  width: 10em;
}
@media only screen and (max-width: 768px) {
  .list-topics li a .date-part {
    min-width: 100%;
    width: 100%;
  }
}
.list-topics li a .date-part .date-post {
  font-weight: bold;
  text-decoration: none;
  margin-right: 1.6rem;
  margin-bottom: 0.8rem;
}
.list-topics li a .date-part .icon-new {
  margin: 0 0.8rem 0 0.8rem;
}
.list-topics li a .ttl {
  font-weight: bold;
  text-decoration: underline;
  margin-bottom: 0.8rem;
}
.list-topics li a:hover {
  color: #097A53;
}

/* --------------------------------------------------

サイト内検索リスト

-------------------------------------------------- */
ul.list-search {
  margin-bottom: 4.8rem;
}
ul.list-search li {
  border-bottom: 1px solid #E6E6E6;
}
ul.list-search li a {
  font-size: 1.4rem;
  padding: 2.4rem 0;
  display: block;
}
ul.list-search li a .list-search-ttl {
  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: underline;
  margin-bottom: 1.6rem;
}
ul.list-search li a .list-search-ttl span {
  background: #FFB300;
}
ul.list-search li a p span {
  background: #FFB300;
}
ul.list-search li a:hover {
  text-decoration: underline;
}

/* --------------------------------------------------

spot-data

-------------------------------------------------- */
.spot-data {
  margin-bottom: 4rem;
}
.spot-data dl {
  background: #EEEEEE;
  border-bottom: 1px solid #B5B5B5;
  display: flex;
  flex-wrap: wrap;
}
.spot-data dl:first-child {
  border-top: 1px solid #B5B5B5;
}
.spot-data dl > dt {
  background: #EEEEEE;
  font-weight: bold;
  width: 12em;
  min-width: 12em;
  padding: 2.4rem;
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .spot-data dl > dt {
    width: 8em;
    min-width: 8em;
    text-align: center;
    padding: 1.6rem 0.8rem;
  }
}
.spot-data dl > dd {
  background: #fff;
  width: calc(100% - 12em);
  padding: 2.4rem;
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  .spot-data dl > dd {
    width: calc(100% - 8em);
    padding: 1.6rem;
  }
}
.spot-data dl > dd a {
  color: #0D30B8;
  text-decoration: underline;
}
.spot-data dl > dd a[target=_blank]:after {
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: baseline;
  margin-left: 1em;
  right: 0;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_blank.svg);
  background: #0D30B8;
  z-index: 1;
}
.spot-data .spot-note {
  font-size: 1.4rem;
  text-align: right;
  margin-top: 1.6rem;
  width: 100%;
}

/* --------------------------------------------------

地図

-------------------------------------------------- */
.access-block .access-map {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: contain;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .access-block .access-map {
    padding-top: 60%;
  }
}
.access-block .access-map iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.access-block .btn-block {
  margin-bottom: 4rem;
}

.map-block .map {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: contain;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .map-block .map {
    padding-top: 60%;
  }
}
.map-block .map iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.list-mappin {
  display: flex;
  flex-wrap: wrap;
}
.list-mappin > li {
  font-size: 1.6rem;
  font-weight: bold;
  width: 23%;
  margin: 0 2.6666666667% 1em 0;
}
.list-mappin > li:nth-child(4n) {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .list-mappin > li {
    width: 100% !important;
    margin-right: 0;
  }
}

.mappin {
  font-size: 1.6rem;
  font-weight: normal;
  width: 2em;
  height: 2em;
  color: #fff;
  background: #FFBF00;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 1.6rem;
}

.mappin-block {
  display: inline-block;
}

.view-block .view-map > .ac-list .view-ttl {
  background: #EEEEEE;
  font-size: 1.8rem;
  font-weight: bold;
  cursor: pointer;
  display: block;
  width: 100%;
  padding: 2.4rem 4.8rem 2.4rem 2.4rem;
  position: relative;
}
.view-block .view-map > div:not(.ac-list) {
  background: #FFF800;
  padding: 4rem;
}
@media only screen and (max-width: 768px) {
  .view-block .view-map > div:not(.ac-list) {
    padding: 2.4rem;
  }
}
.view-block .view-map.toggle-arrow .view-ttl:after {
  content: "";
  width: 0.7rem;
  height: 1.4rem;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_arrow_square.svg);
  background: #000;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%) rotateZ(90deg);
}
@media only screen and (max-width: 768px) {
  .view-block .view-map.toggle-arrow .view-ttl:after {
    right: 5%;
  }
}
.view-block .view-map.toggle-arrow .view-ttl.active:after {
  transform: translateY(-50%) rotateZ(-90deg);
}
.view-block .view-map.toggle-plus .view-ttl:before, .view-block .view-map.toggle-plus .view-ttl:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #000;
  border-radius: 10px;
}
.view-block .view-map.toggle-plus .view-ttl:before {
  width: 2rem;
  height: 0.3rem;
  right: 2rem;
}
@media only screen and (max-width: 768px) {
  .view-block .view-map.toggle-plus .view-ttl:before {
    right: 1.5rem;
  }
}
.view-block .view-map.toggle-plus .view-ttl:after {
  width: 0.3rem;
  height: 2rem;
  right: 2.8rem;
}
@media only screen and (max-width: 768px) {
  .view-block .view-map.toggle-plus .view-ttl:after {
    right: 2.4rem;
  }
}
.view-block .view-map.toggle-plus .view-ttl.active:after {
  display: none;
}
.view-block {
  margin-bottom: 4rem;
}
.view-block .view-note {
  font-size: 1.4rem;
  text-align: right;
  margin-top: 1.6rem;
  width: 100%;
}

/* --------------------------------------------------

category-block

-------------------------------------------------- */
.category-block {
  background: #EEEEEE;
  padding: 2.4rem 3.2rem 0;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .category-block {
    padding: 2.4rem 2.4rem 0;
  }
}
.category-block dl {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.category-block dl > dt {
  font-size: 1.8rem;
  font-weight: bold;
  width: 25%;
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 768px) {
  .category-block dl > dt {
    width: 100%;
    margin-bottom: 1.6rem;
  }
}
.category-block dl > dd {
  width: 75%;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .category-block dl > dd {
    width: 100%;
  }
}
.category-block .btn-block {
  margin-bottom: 4rem;
}

/* --------------------------------------------------

よくある質問

-------------------------------------------------- */
.list-qa .col-qa-warp {
  margin-bottom: 4rem;
}
.list-qa .col-qa-warp .col-qa-middle-ttl {
  color: #fff;
  background: #FFBF00;
  font-size: 2.6rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  display: block;
  width: 100%;
  padding: 1.6rem 5.6rem 1.6rem 2.4rem;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .list-qa .col-qa-warp .col-qa-middle-ttl {
    font-size: 2.2rem;
  }
}
.list-qa .col-qa-warp .col-qa-middle-ttl:before {
  content: "";
  background: #fff;
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1.6rem;
  transform: translateY(-50%);
}
.list-qa .col-qa-warp .col-qa-middle-ttl:after {
  content: "";
  width: 1rem;
  height: 1.8rem;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_arrow_radius.svg);
  background: #000;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  right: 2.85rem;
  transform: translateY(-50%) rotateZ(90deg);
}
.list-qa .col-qa-warp .col-qa-middle-ttl.active:after {
  transform: translateY(-50%) rotateZ(-90deg);
}
.list-qa .col-qa {
  margin-bottom: 0.8rem;
}
.list-qa .col-qa .ac-list > .col-qa-ttl {
  background: #EEEEEE;
  font-size: 1.8rem;
  font-weight: bold;
  display: block;
  padding: 2.4rem 4.8rem 2.4rem 2.4rem;
  position: relative;
  cursor: pointer;
}
.list-qa .col-qa .ac-list > .col-qa-ttl span {
  color: #FFBF00;
  width: 3em;
  min-width: 3em;
  font-size: 2rem;
  font-weight: bold;
  margin-right: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .list-qa .col-qa .ac-list > .col-qa-ttl span {
    width: 4em;
    min-width: 4em;
  }
}
.list-qa .col-qa > div:not(.ac-list) {
  padding: 2.4rem 2.4rem 4rem;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .list-qa .col-qa > div:not(.ac-list) {
    display: block;
  }
}
.list-qa .col-qa > div:not(.ac-list) > span {
  color: #FFBF00;
  width: 3em;
  min-width: 3em;
  font-size: 2rem;
  font-weight: bold;
  margin-right: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .list-qa .col-qa > div:not(.ac-list) > span {
    width: 4em;
    min-width: 4em;
  }
}
.list-qa .col-qa > div:not(.ac-list) > div {
  width: calc(100% - 3.8em);
}
@media only screen and (max-width: 768px) {
  .list-qa .col-qa > div:not(.ac-list) > div {
    width: 100%;
  }
}
.list-qa.toggle-arrow .col-qa-ttl:after {
  content: "";
  width: 1rem;
  height: 1.8rem;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_arrow_radius.svg);
  background: #000;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%) rotateZ(90deg);
}
.list-qa.toggle-arrow .col-qa-ttl.active:after {
  transform: translateY(-50%) rotateZ(-90deg);
}
.list-qa.toggle-plus .col-qa-ttl:before, .list-qa.toggle-plus .col-qa-ttl:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #000;
  border-radius: 10px;
}
.list-qa.toggle-plus .col-qa-ttl:before {
  width: 2rem;
  height: 0.3rem;
  right: 2rem;
}
@media only screen and (max-width: 768px) {
  .list-qa.toggle-plus .col-qa-ttl:before {
    right: 1.5rem;
  }
}
.list-qa.toggle-plus .col-qa-ttl:after {
  width: 0.3rem;
  height: 2rem;
  right: 2.8rem;
}
@media only screen and (max-width: 768px) {
  .list-qa.toggle-plus .col-qa-ttl:after {
    right: 2.4rem;
  }
}
.list-qa.toggle-plus .col-qa-ttl.active:after {
  display: none;
}

/* --------------------------------------------------

バナーエリア

-------------------------------------------------- */
.list-bnr {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em 2em;
}
@media only screen and (max-width: 768px) {
  .list-bnr {
    flex-wrap: wrap;
  }
}
.list-bnr li {
  border-radius: 10px;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .list-bnr li {
    width: calc(50% - 1em);
  }
}
.list-bnr li a {
  aspect-ratio: 16/9;
  object-fit: contain;
}

/* --------------------------------------------------

サイトマップ

-------------------------------------------------- */
div.list-sitemap-td,
ul.list-sitemap-lr {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
div.list-sitemap-td > ul > li > a,
div.list-sitemap-td > li > a,
ul.list-sitemap-lr > ul > li > a,
ul.list-sitemap-lr > li > a {
  border-top: 1px solid #B5B5B5;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 2.4rem 3.2rem;
  position: relative;
  display: block;
}
@media only screen and (max-width: 768px) {
  div.list-sitemap-td > ul > li > a,
  div.list-sitemap-td > li > a,
  ul.list-sitemap-lr > ul > li > a,
  ul.list-sitemap-lr > li > a {
    padding: 1.6rem 2.4rem 1.6rem 1.6rem;
    font-size: 1.6rem;
  }
}
div.list-sitemap-td > ul > li > a:after,
div.list-sitemap-td > li > a:after,
ul.list-sitemap-lr > ul > li > a:after,
ul.list-sitemap-lr > li > a:after {
  content: "";
  width: 1rem;
  height: 1.5rem;
  margin: 0 0.5em 0.2em auto;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/ico_arrow_radius.svg);
  background: #000;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0.8rem;
  transform: translateY(-50%);
}
div.list-sitemap-td > ul > li > a + .u-layer,
div.list-sitemap-td > li > a + .u-layer,
ul.list-sitemap-lr > ul > li > a + .u-layer,
ul.list-sitemap-lr > li > a + .u-layer {
  border-top: 1px solid #B5B5B5;
  padding: 0.8rem 0 0.8rem 3.2rem;
}
@media only screen and (max-width: 768px) {
  div.list-sitemap-td > ul > li > a + .u-layer,
  div.list-sitemap-td > li > a + .u-layer,
  ul.list-sitemap-lr > ul > li > a + .u-layer,
  ul.list-sitemap-lr > li > a + .u-layer {
    padding: 0.8rem 0 0.8rem 1.6rem;
  }
}
div.list-sitemap-td > ul > li > a + .u-layer li,
div.list-sitemap-td > li > a + .u-layer li,
ul.list-sitemap-lr > ul > li > a + .u-layer li,
ul.list-sitemap-lr > li > a + .u-layer li {
  margin: 2.4rem 0;
}
div.list-sitemap-td > ul > li > a + .u-layer li a,
div.list-sitemap-td > li > a + .u-layer li a,
ul.list-sitemap-lr > ul > li > a + .u-layer li a,
ul.list-sitemap-lr > li > a + .u-layer li a {
  font-weight: bold;
  display: block;
  padding-left: 4rem;
  position: relative;
}
div.list-sitemap-td > ul > li > a + .u-layer li a:before,
div.list-sitemap-td > li > a + .u-layer li a:before,
ul.list-sitemap-lr > ul > li > a + .u-layer li a:before,
ul.list-sitemap-lr > li > a + .u-layer li a:before {
  content: "";
  width: 0.8em;
  height: 0.8em;
  position: absolute;
  top: 50%;
  left: 0.3em;
  transform: translateY(-50%);
  border-radius: 50%;
  padding: 0.4rem;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: 8px;
  mask-image: url(../img/common/ico_arrow.svg);
  background: #000;
  z-index: 2;
}

ul.list-sitemap-lr > li {
  width: 49%;
}
@media only screen and (max-width: 768px) {
  ul.list-sitemap-lr > li {
    width: 100%;
  }
}
ul.list-sitemap-lr > li:last-child {
  border-bottom: 1px solid #B5B5B5;
}
ul.list-sitemap-lr > li:nth-last-child(2) {
  border-bottom: 1px solid #B5B5B5;
}
@media only screen and (max-width: 768px) {
  ul.list-sitemap-lr > li:nth-last-child(2) {
    border: none;
  }
}

div.list-sitemap-td > ul {
  width: 49%;
}
@media only screen and (max-width: 768px) {
  div.list-sitemap-td > ul {
    width: 100%;
  }
}
div.list-sitemap-td > ul:nth-last-child(2) > li:last-child {
  border-bottom: 1px solid #B5B5B5;
}
@media only screen and (max-width: 768px) {
  div.list-sitemap-td > ul:nth-last-child(2) > li:last-child {
    border: none;
  }
}
/* --------------------------------------------------

コース紹介

-------------------------------------------------- */
.course-block {
  display: flex;
  gap: 4rem;
  margin-bottom: 3em;
}
@media only screen and (max-width: 768px) {
  .course-block {
    display: block;
  }
}
.course-block > div {
  flex: 1;
}
@media only screen and (max-width: 768px) {
  .course-block > div:first-child {
    margin-bottom: 4rem;
  }
}

.list-course > li a {
  border-top: 1px solid #e6e6e6;
  font-size: 1.6rem;
  display: block;
  padding: 2.4rem 6.4rem 2.4rem 2.4rem;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .list-course > li a {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .list-course > li a {
    padding: 1.6rem 6.4rem 1.6rem 2.4rem;
  }
}
.list-course > li a::before {
  content: "";
  background: url(../img/common/ico_arrow_radius.svg) no-repeat center center/contain;
  width: 2.3rem;
  height: 2.3rem;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 2.4rem;
  transform: translateY(-50%);
}
.list-course > li:last-child a {
  border-bottom: 1px solid #e6e6e6;
}
.list-course + .ttl-dot {
  margin-top: 2.4rem;
}

ul.list-sitemap-lr > li {
  width: 49%;
}
@media only screen and (max-width: 768px) {
  ul.list-sitemap-lr > li {
    width: 100%;
  }
}
ul.list-sitemap-lr > li:last-child {
  border-bottom: 1px solid #B5B5B5;
}
ul.list-sitemap-lr > li:nth-last-child(2) {
  border-bottom: 1px solid #B5B5B5;
}
@media only screen and (max-width: 768px) {
  ul.list-sitemap-lr > li:nth-last-child(2) {
    border: none;
  }
}

div.list-sitemap-td > ul {
  width: 49%;
}
@media only screen and (max-width: 768px) {
  div.list-sitemap-td > ul {
    width: 100%;
  }
}
div.list-sitemap-td > ul:nth-last-child(2) > li:last-child {
  border-bottom: 1px solid #B5B5B5;
}
@media only screen and (max-width: 768px) {
  div.list-sitemap-td > ul:nth-last-child(2) > li:last-child {
    border: none;
  }
}
/* --------------------------------------------------

404 503 メンテナンス

-------------------------------------------------- */
.static-wrap {
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .static-wrap {
    min-height: inherit;
  }
}
.static-wrap.border {
  border: 1px solid #707070;
  border-radius: 20px;
}
.static-wrap .page-ttl {
  background: none;
  aspect-ratio: auto;
  padding: 0;
  height: auto;
  margin-bottom: 6.4rem;
}
@media only screen and (max-width: 768px) {
  .static-wrap .page-ttl {
    margin-bottom: 2.4rem;
  }
}
.static-wrap .page-ttl .ttl {
  min-width: inherit;
  background: none;
  border-radius: 0;
  padding: 0;
  display: block;
  left: auto;
  bottom: auto;
  position: relative;
}
.static-wrap .static-ttl {
  font-family: "MFW-UDShinMGoPr6-DeBold";
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .static-wrap .static-ttl {
    font-size: 2.6rem;
  }
}
.static-wrap .static-txt {
  font-weight: bold;
  line-height: 1.8;
  margin: 0 1.6rem 5.6rem;
}
.static-wrap .static-txt a {
  color: #0D30B8;
}
.static-wrap .mente-time {
  margin-bottom: 6.4rem;
  background: #c40404;
  padding: 3rem;
  border-radius: 2rem;
}
.static-wrap .mente-time > h3 {
  color: #fff;
  font-size: 2.2rem;
  margin-bottom: 1rem;
}
.static-wrap .mente-time > p {
  color: #fff;
  font-size: 1.8rem;
}

main:has(.static-wrap.border) + #footer {
  color: #323131;
  background: none;
}

/* --------------------------------------------------

テーブルスクロール

-------------------------------------------------- */
.table-data {
  border-collapse: collapse;
  border: 1px solid #B5B5B5;
}
.table-data.active {
  white-space: inherit;
}
.table-data caption {
  font-weight: bold;
  text-align: center;
  margin-bottom: 0.8rem;
}
.table-data tr th {
  color: #323131;
  background: #EEEEEE;
  border: 1px solid #B5B5B5;
  font-weight: bold;
  padding: 0.8rem;
}
.table-data tr td {
  background: #fff;
  border: 1px solid #B5B5B5;
  padding: 0.8rem;
}

@media only screen and (max-width: 1100px) {
  .table-scroll .table-data {
    width: auto;
    white-space: nowrap;
  }
}
.table-scroll .scroll-bar {
  overflow-x: auto;
  overflow-y: hidden;
}
.table-scroll .scroll-bar .scroll-in {
  height: 10px;
}
.table-scroll .scroll-table {
  overflow: auto;
  position: relative;
}
.table-scroll .scroll-table:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/common/pct_scrollhint.svg) no-repeat center center/contain;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.table-scroll .pct-scrollhint {
  display: none;
  font-size: 1.1rem;
  padding: 1em;
  background: rgba(0, 0, 0, 0.6);
  text-align: center;
  border-radius: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.table-scroll .pct-scrollhint span {
  color: #fff;
  margin-top: 0.4em;
  display: block;
  white-space: nowrap;
}
.table-scroll .pct-scrollhint.active {
  display: block;
}

/* --------------------------------------------------

モーダル（画像ポップアップ）

-------------------------------------------------- */
.list-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1em 1em;
}
.list-gallery li a {
  display: block;
}
@media only screen and (max-width: 768px) {
  .list-gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (max-width: 768px) {
  .modaal-wrapper .modaal-gallery-control {
    top: 50%;
    transform: translateY(-50%) scale(0.6);
  }
  .modaal-wrapper .modaal-gallery-control.modaal-gallery-prev {
    left: -15px;
  }
  .modaal-wrapper .modaal-gallery-control.modaal-gallery-next {
    right: -15px;
  }
}

/* --------------------------------------------------

バックナンバー

-------------------------------------------------- */
.back-number {
  background: #EEEEEE;
  text-align: center;
  position: relative;
  padding: 1.6rem;
}
.back-number .back-number-ttl {
  font-size: 2rem;
  font-weight: bold;
  display: inline-block;
  width: 100%;
  padding: 0.8rem 0;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .back-number .back-number-ttl {
    cursor: pointer;
    padding: 0;
    margin-bottom: 0;
  }
  .back-number .back-number-ttl:before, .back-number .back-number-ttl:after {
    content: "";
    display: block;
    position: absolute;
    background: #000;
    border-radius: 10px;
  }
  .back-number .back-number-ttl:before {
    width: 20px;
    height: 3px;
    right: 25px;
    top: 1.5em;
  }
}
@media only screen and (max-width: 768px) and (max-width: 768px) {
  .back-number .back-number-ttl:before {
    right: 15px;
  }
}
@media only screen and (max-width: 768px) {
  .back-number .back-number-ttl:after {
    width: 3px;
    height: 20px;
    right: 33px;
    top: 1.05em;
  }
}
@media only screen and (max-width: 768px) and (max-width: 768px) {
  .back-number .back-number-ttl:after {
    right: 24px;
  }
}
@media only screen and (max-width: 768px) {
  .back-number .back-number-ttl.active:after {
    display: none;
  }
}
.back-number .list-year {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .back-number .list-year {
    margin-top: 1em;
    display: none;
  }
}
.back-number .list-year li {
  margin-bottom: 0.8rem;
}
.back-number .list-year li a {
  padding: 1.6rem 0;
  display: block;
  background: #fff;
}

/* --------------------------------------------------

コンポーネント

-------------------------------------------------- */
.wrapper-layout {
  display: flex;
  justify-content: space-between;
}
.wrapper-layout .side-contents {
  width: 25%;
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  .wrapper-layout .side-contents {
    width: 100%;
  }
}
.wrapper-layout .side-contents .side-ttl {
  font-size: 2.4rem;
  font-weight: bold;
  margin: 1.6rem 0;
}
@media only screen and (max-width: 768px) {
  .wrapper-layout .side-contents .side-ttl {
    font-size: 2rem;
  }
}
.wrapper-layout .side-contents .side-block {
  margin-top: 6rem;
  margin-bottom: 4rem;
}
.wrapper-layout .main-contents {
  width: 72%;
}
@media only screen and (max-width: 768px) {
  .wrapper-layout .main-contents {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .wrapper-layout {
    display: block;
  }
}

/* --------------------------------------------------

サイト内検索

-------------------------------------------------- */
.st-SearchInPage_Inner {
  width: 100%;
  font-size: 1.6rem;
  position: relative;
}
.st-SearchInPage_Inner form p .intext input {
  height: 48px;
  border-radius: 8px;
}
.st-SearchInPage_Inner form p .search {
  display: block;
  cursor: pointer;
  border: 0;
  width: 48px;
  height: 48px;
  background-image: url(../img/common/ico_side_search.png);
  background-color: #151414;
  background-size: 28px 31.2px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 200ms 0s ease;
}

/* --------------------------------------------------

スライダー共通

-------------------------------------------------- */
.slider-block .swiper-button-next,
.slider-block .swiper-button-prev {
  position: absolute;
  z-index: 10;
  cursor: pointer;
}
.slider-block .swiper-button-next::after,
.slider-block .swiper-button-prev::after {
  content: "";
  width: 8rem;
  height: 8rem;
  background: url(../img/common/ico_arrow_radius.svg) no-repeat center center/contain;
  position: absolute;
  border-radius: 50%;
  transition: all 0.3s;
}
@media only screen and (max-width: 1100px) {
  .slider-block .swiper-button-next::after,
  .slider-block .swiper-button-prev::after {
    width: 6rem;
    height: 6rem;
  }
}
@media only screen and (max-width: 768px) {
  .slider-block .swiper-button-next::after,
  .slider-block .swiper-button-prev::after {
    width: 3rem;
    height: 3rem;
  }
}
.slider-block .swiper-button-next,
.slider-block .swiper-button-prev {
  /*前後のスライドがない場合にボタンを非表示*/
}
.slider-block .swiper-button-next.swiper-button-disabled,
.slider-block .swiper-button-prev.swiper-button-disabled {
  opacity: 0;
}
.slider-block .swiper-button-next {
  right: 4rem;
}
@media only screen and (max-width: 768px) {
  .slider-block .swiper-button-next {
    right: 1rem;
  }
}
.slider-block .swiper-button-prev {
  left: 4rem;
}
@media only screen and (max-width: 768px) {
  .slider-block .swiper-button-prev {
    left: 1rem;
  }
}
.slider-block .swiper-button-prev::after {
  transform: rotate(-180deg);
}
.slider-block .stopbtn {
  color: #FFF;
  background: #333;
  border-radius: 10px;
  font-size: 1.4rem;
  text-align: center;
  padding: 0.2em 0.8em;
  display: block;
  position: absolute;
  bottom: 0.5em;
  left: 0;
  z-index: 15;
  cursor: pointer;
}
.slider-block .stopbtn:hover {
  opacity: 1;
}
.slider-block .stopbtn:before {
  content: "";
  width: 12px;
  height: 12px;
  display: inline-block;
  border: none;
  background: url(../img/common/ico_play_w.svg) no-repeat center center/contain;
  margin-right: 0.5em;
}
.slider-block .stopbtn.stop:before {
  background: url(../img/common/ico_stop_w.svg) no-repeat center center/contain;
}
.slider-block .stopbtn02 {
  overflow: hidden;
  width: 4.2rem;
  height: 4.2rem;
  text-indent: -200px;
  background: #fff;
  border: none;
  border-radius: 50%;
  padding: 0.5em;
  display: flex;
  align-items: center;
  position: absolute;
  bottom: 0.5em;
  z-index: 15;
}
.slider-block .stopbtn02.play::after, .slider-block .stopbtn02.stop::after {
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: block;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../img/common/ico_stop_b.svg) no-repeat center center/contain;
}
.slider-block .stopbtn02.play::after {
  background: url(../img/common/ico_play_b.svg) no-repeat center center/contain;
}
.slider-block .btn-swiper {
  display: flex;
  align-items: center;
  position: absolute;
  left: 0.5em;
  bottom: 0.5em;
  z-index: 15;
}
.slider-block .btn-swiper p + p {
  margin-left: 0.5em;
}
.slider-block .btn-swiper p button.btn {
  width: 2.5em;
  height: 2.5em;
  color: #FFF;
  background: #000;
  text-indent: -200px;
  padding: 0.5em;
  border-radius: 50%;
  display: flex;
  align-items: center;
  border: none;
}
@media only screen and (max-width: 768px) {
  .slider-block .btn-swiper p button.btn {
    width: 2em;
    height: 2em;
  }
}
.slider-block .btn-swiper p button.btn.play::after, .slider-block .btn-swiper p button.btn.stop::after {
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: block;
  margin: 0 auto;
  background: url(../img/common/ico_stop_w.svg) no-repeat center center/contain;
}
@media only screen and (max-width: 768px) {
  .slider-block .btn-swiper p button.btn.play::after, .slider-block .btn-swiper p button.btn.stop::after {
    width: 0.6em;
    height: 0.6em;
  }
}
.slider-block .btn-swiper p button.btn.play::after {
  background: url(../img/common/ico_play_w.svg) no-repeat center center/contain;
}
.slider-block .btn-swiper p button.btn.active {
  background: #FFBF00;
}
.slider-block .swiper-pagination-bullet-active {
  background: #000;
}

.slider-block {
  width: 100%;
  position: relative;
}
.slider-block .swiper .swiper-wrapper {
  height: auto;
}
.slider-block .swiper .swiper-slide {
  overflow: hidden;
}
.slider-block .swiper .swiper-slide img {
  width: 100%;
}

.slider-block.slider-ratio .swiper-slide > img,
.slider-block.slider-ratio .swiper-slide a > img {
  background: #e2e5ec;
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: contain;
}
@media all and (-ms-high-contrast: none) {
  .slider-block.slider-ratio .swiper-slide > img,
  .slider-block.slider-ratio .swiper-slide a > img {
    width: auto;
    height: auto;
    max-width: 130%;
    max-height: 130%;
  }
}
.slider-block.ratio-1-1 .swiper-slide {
  aspect-ratio: 1/1 !important;
  object-fit: contain !important;
}
.slider-block.ratio-3-2 .swiper-slide {
  aspect-ratio: 3/2 !important;
  object-fit: contain !important;
}
.slider-block.ratio-3-4 .swiper-slide {
  aspect-ratio: 3/4 !important;
  object-fit: contain !important;
}
.slider-block.ratio-4-3 .swiper-slide {
  aspect-ratio: 4/3 !important;
  object-fit: contain !important;
}
.slider-block.ratio-16-9 .swiper-slide {
  aspect-ratio: 16/9 !important;
  object-fit: contain !important;
}

/* --------------------------------------------------

各種スライダー

-------------------------------------------------- */
.slider-bnr {
  padding: 2em;
  background: #B5B5B5;
}
.slider-bnr .list-bnr {
  justify-content: flex-start;
}
.slider-bnr .list-bnr li {
  margin: 0;
  height: auto;
}
.slider-bnr .swiper-button-next {
  right: 0;
}
.slider-bnr .swiper-button-prev {
  left: 0;
}

.slider-thumb {
  margin: 2em 0;
}
.slider-thumb .slider-inner {
  position: relative;
  margin-bottom: 1.6rem;
}
.slider-thumb .list-thumb {
  margin-bottom: 2em;
  height: auto;
  flex-wrap: nowrap;
}
.slider-thumb .swiper-button-next {
  right: -1rem;
}
@media only screen and (max-width: 768px) {
  .slider-thumb .swiper-button-next {
    right: -0.5em;
  }
}
.slider-thumb .swiper-button-prev {
  left: -1rem;
}
@media only screen and (max-width: 768px) {
  .slider-thumb .swiper-button-prev {
    left: -0.5em;
  }
}

.gallery-top .swiper-slide > img,
.gallery-top .swiper-slide a > img {
  object-fit: cover !important;
}

.gallery-thumbs .swiper-slide > img {
  object-fit: cover !important;
}

.slider-thumb-vertical {
  display: grid;
  grid-template-rows: 1fr;
  grid-template-columns: 80% 1fr;
  grid-template-areas: "left right";
}
@media only screen and (max-width: 1100px) {
  .slider-thumb-vertical {
    grid-template-columns: 73% 1fr;
  }
}
@media only screen and (max-width: 768px) {
  .slider-thumb-vertical {
    display: block;
    height: auto;
  }
}
.slider-thumb-vertical .slider-inner {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  position: relative;
  margin-right: 7%;
  grid-area: left;
  height: fit-content;
}
@media only screen and (max-width: 768px) {
  .slider-thumb-vertical .slider-inner {
    width: 100%;
    margin-bottom: 1.6rem;
  }
}
.slider-thumb-vertical .gallery-thumbs {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  width: 100%;
  height: 600px;
  grid-area: right;
}
@media only screen and (max-width: 768px) {
  .slider-thumb-vertical .gallery-thumbs {
    width: 100%;
    height: auto;
  }
}
.slider-thumb-vertical .swiper-button-next {
  right: -1rem;
}
@media only screen and (max-width: 768px) {
  .slider-thumb-vertical .swiper-button-next {
    right: -0.5em;
  }
}
.slider-thumb-vertical .swiper-button-prev {
  left: -1rem;
}
@media only screen and (max-width: 768px) {
  .slider-thumb-vertical .swiper-button-prev {
    left: -0.5em;
  }
}

.slider-scroll-wrap .slider-scroll {
  margin-right: calc(50% - 50vw);
}
@media only screen and (max-width: 768px) {
  .slider-scroll-wrap .slider-scroll {
    margin-right: 0;
  }
}
.slider-scroll-wrap .slider-scroll .slider-block {
  max-width: 100%;
  padding-bottom: 4em;
}
.slider-scroll-wrap .slider-scroll .swiper-button-next,
.slider-scroll-wrap .slider-scroll .swiper-button-prev {
  top: auto;
  bottom: 0;
  left: 0;
  right: auto;
}
.slider-scroll-wrap .slider-scroll .swiper-button-next {
  left: 2.5em;
}
.slider-scroll-wrap .slider-scroll .swiper-button-prev {
  left: 0;
}
.slider-scroll-wrap .slider-scroll .swiper-button-next:before,
.slider-scroll-wrap .slider-scroll .swiper-button-prev:before,
.slider-scroll-wrap .slider-scroll .swiper-button-next:after,
.slider-scroll-wrap .slider-scroll .swiper-button-prev:after {
  display: none;
}
@media only screen and (max-width: 768px) {
  .slider-scroll-wrap .slider-scroll .swiper-button-next:before,
  .slider-scroll-wrap .slider-scroll .swiper-button-prev:before,
  .slider-scroll-wrap .slider-scroll .swiper-button-next:after,
  .slider-scroll-wrap .slider-scroll .swiper-button-prev:after {
    display: block;
  }
}
.slider-scroll-wrap.ipad .slider-scroll {
  margin-right: 0;
}
.slider-scroll-wrap.ipad .slider-scroll .slider-block {
  max-width: 100%;
  padding-bottom: 4em;
}
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-next,
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-prev {
  top: auto;
  bottom: 0;
  left: 0;
  right: auto;
}
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-next {
  left: 4.5em;
}
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-prev {
  left: 1em;
}
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-next:before,
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-prev:before,
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-next:after,
.slider-scroll-wrap.ipad .slider-scroll .swiper-button-prev:after {
  display: block;
}
.slider-scroll-wrap.ipad .slider-scroll .list-scroll li {
  border: none;
}

/*@include layout-SP {
}
*/
/* @font-face {
  font-family: "RobotoCondensed-Bold";
  src: url("/assets/common/font/RobotoCondensed-Bold.woff") format("woff");
}

@font-face {
  font-family: "RobotoCondensed-BoldItalic";
  src: url("/assets/common/font/RobotoCondensed-BoldItalic.woff") format("woff");
}

@font-face {
  font-family: "RobotoCondensed-Regular";
  src: url("/assets/common/font/RobotoCondensed-Regular.woff") format("woff");
} */
.category {
  border: 2px solid #097A53;
}

.wysiwyg {
  position: relative;
  font-size: 1.6rem;
  padding-bottom: 50px;
}
@media only screen and (max-width: 768px) {
  .wysiwyg {
    font-size: 1.4rem;
  }
}
.wysiwyg .icon-post-block ul.list-icon {
  margin: 0;
}
.wysiwyg .icon-post-block ul.list-icon li {
  padding: 0;
}
.wysiwyg .icon-post-block ul.list-icon li:before {
  display: none;
}
.wysiwyg ul.photoList {
  display: flex;
  flex-wrap: wrap;
}
.wysiwyg ul.photoList li {
  width: 18.4%;
  padding-left: 0;
  margin: 0 2% 2% 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .wysiwyg ul.photoList li {
    width: 32%;
    text-align: left;
  }
}
.wysiwyg ul.photoList li:before {
  display: none;
}
.wysiwyg ul.photoList li:nth-child(5n) {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  .wysiwyg ul.photoList li:nth-child(5n) {
    margin-right: 2%;
  }
}
@media only screen and (max-width: 768px) {
  .wysiwyg ul.photoList li:nth-child(3n) {
    margin-right: 0;
  }
}
.wysiwyg .txtC {
  text-align: center;
}
.wysiwyg .campusListArea {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .campusListArea {
    display: block;
    margin: 16px 0;
  }
}
.wysiwyg .campusListArea > div {
  width: 48%;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .campusListArea > div {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .wysiwyg .campusListArea .campasLinst {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .wysiwyg .campusListArea table {
    margin: 0;
  }
}
.wysiwyg .campusListArea table tr th {
  text-align: center;
  width: 6rem;
}

.post_date,
.wysiwyg .publish_date {
  display: block;
  width: 100%;
  text-align: right;
  font-size: 1.4rem;
  margin: 32px auto 56px;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
  .post_date,
  .wysiwyg .publish_date {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .post_date,
  .wysiwyg .publish_date {
    margin: 5.33333vw auto 8.53333vw;
  }
}

.post_head {
  width: 100%;
  padding: 94px 0 48px;
}
@media only screen and (max-width: 768px) {
  .post_head {
    padding: 12.8vw 3.2% 0;
  }
}

.post_head_ttl,
.wysiwyg h2 {
  font-size: 3.2rem;
  font-family: "MFW-StarTimesTextPro-Bold";
  font-weight: bold;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin: 56px 0 48px;
  padding-bottom: 18px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .post_head_ttl,
  .wysiwyg h2 {
    font-size: 2.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .post_head_ttl,
  .wysiwyg h2 {
    padding-bottom: 3.46667vw;
    margin: 8.53333vw auto 10.66667vw;
  }
}
.post_head_ttl:before,
.wysiwyg h2:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  border: 2px solid #097A53;
}

.wysiwyg h1 {
  font-size: 4.2rem;
  font-family: "MFW-StarTimesTextPro-Bold";
  font-weight: bold;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin: 8px 0 48px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .wysiwyg h1 {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .wysiwyg h1 {
    margin: 2.1333vw auto 10.66667vw;
  }
}

.wysiwyg h3,
.wysiwyg .contact-form-information {
  color: #fff;
  font-family: "MFW-StarTimesTextPro-Bold";
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 15px 10px 15px 30px;
  background: #097A53;
  margin: 34px auto 30px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .wysiwyg h3,
  .wysiwyg .contact-form-information {
    font-size: 2.2rem;
  }
}
@media only screen and (max-width: 768px) {
  .wysiwyg h3,
  .wysiwyg .contact-form-information {
    margin-bottom: 8.53333vw;
    padding: 0.66667vw 0 0.66667vw 5.2vw;
  }
}
.wysiwyg h3 > a,
.wysiwyg .contact-form-information > a {
  color: #fff;
}

.wysiwyg h4 {
  font-size: 2.4rem;
  font-family: "MFW-StarTimesTextPro-Bold";
  letter-spacing: 0.1em;
  font-weight: bold;
  margin: 46px auto 40px;
}
@media only screen and (max-width: 768px) {
  .wysiwyg h4 {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  .wysiwyg h4 {
    margin-bottom: 8.53333vw;
  }
}

.wysiwyg h5 {
  font-size: 1.8rem;
  font-family: "MFW-StarTimesTextPro-Bold";
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 10px 20px;
  margin: 34px auto 30px;
  border-left: 7px solid #097A53;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .wysiwyg h5 {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .wysiwyg h5 {
    margin-bottom: 7.2vw;
    padding: 0 0 0 5.33333vw;
  }
}

.wysiwyg h6 {
  font-size: 1.8rem;
  font-family: "MFW-StarTimesTextPro-Bold";
  font-weight: bold;
  letter-spacing: 0.1em;
  margin: 34px auto 30px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .wysiwyg h6 {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 768px) {
  .wysiwyg h6 {
    margin-bottom: 7.2vw;
  }
}

.wysiwyg > p:first-child {
  margin-top: 40px;
}
@media only screen and (max-width: 768px) {
  .wysiwyg > p:first-child {
    margin-top: 10.66667vw;
  }
}

.wysiwyg p {
  font-size: 1.6rem;
  line-height: 1.866;
  margin-bottom: 1.866em;
  transition: margin ease 0.4s;
  text-align: justify;
}
@media only screen and (max-width: 768px) {
  .wysiwyg p {
    font-size: 1.4rem;
  }
}
.wysiwyg p[align=center] {
  text-align: center;
}
.wysiwyg img {
  max-width: 100%;
  flex-shrink: 0;
}
.wysiwyg strong {
  font-weight: bold;
}
.wysiwyg small {
  font-size: 80%;
  line-height: 1.5;
  display: inline-block;
  text-decoration: inherit;
}
.wysiwyg span {
  color: inherit;
  font-weight: inherit;
  font-size: inherit;
}
.wysiwyg a {
  text-decoration: underline;
  color: #0d30b8;
}
.wysiwyg a:hover {
  text-decoration: none;
}
.wysiwyg a:hover img {
  opacity: 0.7;
}
.wysiwyg a img {
  transition: opacity 0.4s ease;
}

.wysiwyg a.zoom {
  color: #323131 !important;
}

.wysiwyg a.zoom:after {
  content: "";
  background: url(../img/common/ico_zoom_en.svg) no-repeat center center/cover;
  width: 16px;
  height: 12px;
  margin-left: 6px;
  margin-top: 0px;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .wysiwyg a.zoom:after {
    width: 3.84vw;
    height: 2.88vw;
    margin-left: 1.12vw;
    vertical-align: middle;
  }
}
.wysiwyg a.is-pdf:after {
  content: "";
  background-image: url(../img/common/ico_pdf.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 14px;
  height: 16px;
  margin-left: 6px;
  margin-top: 0px;
  display: inline-block;
  position: relative;
  top: 2px;
}

@media screen and (max-width: 768px) {
  .wysiwyg a.is-pdf:after {
    width: 3.36vw;
    height: 3.84vw;
    margin-left: 1.12vw;
    vertical-align: middle;
  }
}
.wysiwyg a.is-jtd:after {
  content: "";
  background-image: url(../img/common/ico_jtd.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 13px;
  height: 16px;
  margin-left: 6px;
  margin-top: 0px;
  display: inline-block;
  position: relative;
  top: 2px;
}

@media screen and (max-width: 768px) {
  .wysiwyg a.is-jtd:after {
    width: 3.12vw;
    height: 3.84vw;
    margin-left: 1.12vw;
    vertical-align: middle;
  }
}
.wysiwyg a.is-blank:after {
  content: "";
  background-image: url(../img/common/ico_blank.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 12px;
  height: 10px;
  margin-top: 0px;
  margin-left: 6px;
  vertical-align: middle;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .wysiwyg a.is-blank:after {
    width: 2.88vw;
    height: 2.4vw;
    margin-left: 1.12vw;
  }
}
.wysiwyg a.is-word:after,
.wysiwyg a.is-excel:after,
.wysiwyg a.is-rss:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 16px;
  height: 16px;
  margin-left: 6px;
  margin-top: 0px;
  display: inline-block;
  position: relative;
  top: 2px;
}

@media screen and (max-width: 768px) {
  .wysiwyg a.is-word:after,
  .wysiwyg a.is-excel:after,
  .wysiwyg a.is-rss:after {
    width: 3.84vw;
    height: 3.84vw;
    margin-left: 1.12vw;
    vertical-align: middle;
    top: -1px;
  }
}
.wysiwyg a.is-word:after {
  background-image: url(../img/common/ico_word.png);
}

.wysiwyg a.is-excel:after {
  background-image: url(../img/common/ico_excel.png);
}

.wysiwyg a.is-rss:after {
  width: 12px;
  height: 12px;
  background-image: url(../img/common/ico_rss.png);
  top: 0;
}

@media screen and (max-width: 768px) {
  .wysiwyg a.is-rss:after {
    width: 3.2vw;
    height: 3.2vw;
    top: -2px;
  }
}
.wysiwyg .circle > li:before {
  border: 1px solid #097A53;
  background: none;
  top: 8px;
}

.wysiwyg .square > li:before {
  border: 1px solid #097A53;
  border-radius: 0;
  top: 8px;
}

.wysiwyg .square_blank > li:before {
  border: 1px solid #097A53;
  border-radius: 0;
  top: 8px;
  background: none;
}

.wysiwyg .diamond > li:before {
  border: 1px solid #097A53;
  border-radius: 0;
  top: 8px;
  transform: rotate(45deg);
}

.wysiwyg .diamond_blank > li:before {
  border: 1px solid #097A53;
  border-radius: 0;
  top: 8px;
  background: none;
  transform: rotate(45deg);
}

.wysiwyg ol {
  margin: 40px auto;
  list-style: outside;
  list-style-type: decimal;
}

@media screen and (max-width: 768px) {
  .wysiwyg ol {
    margin-bottom: 10.66667vw;
  }
}
.wysiwyg ol li {
  margin-left: 1.5em;
  position: relative;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .wysiwyg ol li {
    margin-bottom: 2.66667vw;
  }
}
.wysiwyg ol li:last-child {
  margin-bottom: 0;
}

.wysiwyg ol li:before {
  content: none;
}

.wysiwyg ol li ol,
.wysiwyg ol li ul {
  margin-top: 10px;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .wysiwyg ol li ol,
  .wysiwyg ol li ul {
    margin-top: 2.66667vw;
    margin-bottom: 2.66667vw;
  }
}
.wysiwyg ol li ol {
  list-style-type: upper-latin;
}

.wysiwyg ol li ol ol {
  list-style-type: lower-alpha;
}

.wysiwyg ol.none {
  list-style-type: none;
}

.wysiwyg ol.none > li {
  margin-left: 0;
  padding-left: 0;
}

.wysiwyg ol .none {
  list-style-type: none;
}

.wysiwyg ol .none > li {
  margin-left: 0;
  padding-left: 0;
}

.wysiwyg ul {
  margin: 40px auto;
}

@media screen and (max-width: 768px) {
  .wysiwyg ul {
    margin-bottom: 10.66667vw;
  }
}
.wysiwyg ul > li {
  padding-left: 1em;
  position: relative;
  margin-left: 0;
}

.wysiwyg ul > li:last-child {
  margin-bottom: 0;
}

.wysiwyg ul > li:before {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: 10px;
  left: 0;
  background: #097A53;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  .wysiwyg ul > li:before {
    width: 4px;
    height: 4px;
    top: 8px;
  }
}
.wysiwyg ul ol,
.wysiwyg ul ul {
  margin-top: 10px;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .wysiwyg ul ol,
  .wysiwyg ul ul {
    margin-top: 2.66667vw;
    margin-bottom: 2.66667vw;
  }
}
.wysiwyg ul.none > li {
  padding-left: 0;
}

.wysiwyg ul.none > li:before {
  content: none;
}

.wysiwyg ul .none {
  padding-left: 0;
}

.wysiwyg ul .none:before {
  content: none;
}

.wysiwyg .points ol {
  width: 100%;
  box-sizing: border-box;
  border: 6px solid #f1f6f5;
  padding: 25px;
  margin-bottom: 48px;
  list-style-type: decimal;
}

.wysiwyg .points ol li:last-child {
  margin-bottom: 0;
}

.wysiwyg .footnote li {
  font-size: 1.3rem;
  padding-left: 0;
}

.wysiwyg .footnote li:before {
  content: none;
}

.wysiwyg .table {
  width: 100%;
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .table {
    margin-bottom: 10.66667vw;
    -webkit-overflow-scrolling: auto;
  }
}
.wysiwyg .table .cv-table tr td {
  padding: 4vw;
}

.wysiwyg .table .cv-table ul li {
  padding-left: 0;
}

.wysiwyg .calendar {
  border: 1px solid #bbbbbb;
}

.wysiwyg .calendar tr:not(:last-child) {
  border-bottom: 1px solid #bbbbbb;
}

@media screen and (max-width: 768px) {
  .wysiwyg .calendar tr {
    display: block;
    width: 100%;
  }
}
.wysiwyg .calendar th {
  width: 120px;
  text-align: center;
  font-size: 3rem;
  font-family: "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN", serif, "Sawarabi Mincho";
  color: #ffbf00;
  border: 0;
  border-right: 1px solid #bbbbbb;
}

@media screen and (max-width: 768px) {
  .wysiwyg .calendar th {
    display: block;
    width: 100%;
    border-right: 0;
    font-size: 4.8vw;
  }
}
.wysiwyg .calendar td:nth-child(2) {
  width: auto;
  border: 0;
}

@media screen and (max-width: 768px) {
  .wysiwyg .calendar td:nth-child(2) {
    display: block;
    width: 100%;
    padding: 4vw;
  }
}
.wysiwyg .calendar td:nth-child(3) {
  width: 300px;
  border: 0;
}

@media screen and (max-width: 768px) {
  .wysiwyg .calendar td:nth-child(3) {
    width: 100%;
    display: block;
    padding: 0 4vw 4vw;
  }
}
.wysiwyg .calendar td:nth-child(3) img {
  width: 100%;
  height: auto;
}

.wysiwyg table {
  width: 100%;
  margin-top: 40px;
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .wysiwyg table {
    margin-bottom: 10.66667vw;
  }
}
.wysiwyg table caption {
  margin-top: 0;
  caption-side: bottom;
}

.wysiwyg table tr th,
.wysiwyg table tr td {
  border: 1px solid #b2b2b2;
  font-size: 1.5rem;
  padding: 16px 18px;
}
@media only screen and (max-width: 768px) {
  .wysiwyg table tr th,
  .wysiwyg table tr td {
    font-size: 1.4rem;
  }
}

.wysiwyg table tr th img,
.wysiwyg table tr td img {
  max-width: none;
}

.wysiwyg table tr th > *:first-child,
.wysiwyg table tr td > *:first-child {
  margin-top: 0;
}

.wysiwyg table tr th > *:last-child,
.wysiwyg table tr td > *:last-child {
  margin-bottom: 0;
}

.wysiwyg table tr th {
  background: #f8f8f8;
  text-align: left;
  font-weight: normal;
}

.wysiwyg table tr td {
  background: #fff;
}

.wysiwyg table tr td h3,
.wysiwyg table tr td h4,
.wysiwyg table tr td h5,
.wysiwyg table tr td li {
  font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
  .wysiwyg table tr td h3,
  .wysiwyg table tr td h4,
  .wysiwyg table tr td h5,
  .wysiwyg table tr td li {
    font-size: 1.4rem;
  }
}
.wysiwyg table tr td h3,
.wysiwyg table tr td h4,
.wysiwyg table tr td h5 {
  margin-top: 0;
  margin-bottom: 1em;
}

.wysiwyg table thead th {
  background: #f3fbec;
  text-align: center;
  font-weight: bold;
}

.wysiwyg table > *:last-child {
  margin-bottom: 0;
}

.wysiwyg table.none {
  border: 0;
}

.wysiwyg table.none tr,
.wysiwyg table.none td,
.wysiwyg table.none th {
  border: 0;
}

.wysiwyg .links li {
  border-top: 1px solid #097A53;
  margin-bottom: 0;
  padding: 15px 20px;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .links li {
    padding: 4vw 5.33333vw;
  }
}
.wysiwyg .links li:last-child {
  border-bottom: 1px solid #097A53;
}
.wysiwyg .links li:before {
  content: none;
}
.wysiwyg .links li a {
  display: block;
  margin: -15px -20px;
  padding: 15px 40px 15px 20px;
  position: relative;
  transition: background-color 0.3s ease;
  line-height: 1.5;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .links li a {
    padding: 4vw 7.33333vw;
    margin: -4vw -5.33333vw;
  }
}
.wysiwyg .links li a::after {
  content: "";
  display: inline-block;
  width: 23px;
  height: 23px;
  margin-left: 0.5em;
  transform: translateY(5px);
  background: url(../img/common/ico_link_en.svg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .links li a::after {
    width: 20px;
    height: 20px;
  }
}
.wysiwyg .links li a::before {
  content: "";
  display: block;
  width: 9px;
  height: 16px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  background: url(../img/common/arrow_post_en.svg) no-repeat center center/contain;
  transition: all 0.3s;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .links li a::before {
    width: 6px;
    height: 13px;
  }
}
.wysiwyg .links li a:hover {
  background-color: #f3fbec;
}
.wysiwyg .links li a:hover:after {
  right: 5px;
}

.wysiwyg .index {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  list-style-type: none;
}
.wysiwyg .index li {
  width: 280px;
  min-height: 60px;
  margin-right: 26px;
  box-sizing: border-box;
  font-size: 1.5rem;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .index li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0.8vw;
    min-height: auto;
  }
}
.wysiwyg .index li::nth-child(4n) {
  margin-right: 0;
}
.wysiwyg .index li:before {
  content: none;
}
.wysiwyg .index li a {
  display: table-cell;
  vertical-align: middle;
  width: 280px;
  padding: 20px 12px 20px 45px;
  text-decoration: none;
  color: inherit;
  transition: background-color 0.4s ease;
  border: 2px solid #097A53;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .index li a {
    display: inline-block;
    width: 100%;
    height: auto;
    min-height: auto;
    margin-bottom: 0.8vw;
  }
}
.wysiwyg .index li a:before {
  content: "";
  position: absolute;
  bottom: 50%;
  margin-bottom: -4.5px;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 19px;
  height: 19px;
  box-sizing: border-box;
  background: url(../img/common/ico_link_blank_en.svg) no-repeat center center/contain;
}
.wysiwyg .index li a:hover {
  background: #f3fbec;
}
.wysiwyg .index li:last-child {
  margin-bottom: 12px;
}

.wysiwyg .toc_list {
  width: 100%;
  list-style-type: none;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.wysiwyg .toc_list li {
  margin-left: 0;
  width: 280px;
  min-height: 48px;
  margin-bottom: 12px;
  margin-right: 26px;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .toc_list li {
    display: block;
    width: 100%;
    height: auto;
    min-height: auto;
    margin: 0;
    margin-bottom: 0.8vw;
    padding: 0;
  }
}
.wysiwyg .toc_list li:before {
  content: none;
}
.wysiwyg .toc_list li:nth-child(4n) {
  margin-right: 0;
}
.wysiwyg .toc_list li a {
  box-sizing: border-box;
  padding: 20px 30px 20px 12px;
  color: #000;
  text-decoration: none;
  display: table-cell;
  vertical-align: middle;
  width: 280px;
  height: 48px;
  align-items: center;
  justify-content: normal;
  border: 2px solid #097A53;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .toc_list li a {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 0.8vw;
  }
}
.wysiwyg .toc_list li a:before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -4px;
  transform: rotate(45deg);
  transition: margin 0.3s ease;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .toc_list li a:before {
    width: 1.6vw;
    height: 1.6vw;
    right: 2.93333vw;
    margin-top: -1.06667vw;
    border-right-width: 0.53333vw;
    border-bottom-width: 0.53333vw;
  }
}
.wysiwyg .toc_list li a:hover {
  background: #f3fbec;
}
.wysiwyg .toc_list li a:hover:before {
  margin-top: 0px;
}
.wysiwyg .toc_list li:last-child {
  margin-bottom: 12px;
}

.wysiwyg .toc > dd {
  padding: 0;
}

.wysiwyg .box,
.wysiwyg .aim,
.wysiwyg #policy,
.wysiwyg .box_simple,
.wysiwyg .box_nb,
.wysiwyg .box_bg {
  width: 100%;
  box-sizing: border-box;
  padding: 25px;
  margin-top: 20px;
  margin-bottom: 48px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .box,
  .wysiwyg .aim,
  .wysiwyg #policy,
  .wysiwyg .box_simple,
  .wysiwyg .box_nb,
  .wysiwyg .box_bg {
    padding: 5.33333vw 4vw;
    margin-top: 5.33333vw;
    margin-bottom: 10.66667vw;
  }
}
.wysiwyg .box > *:first-child,
.wysiwyg .aim > *:first-child,
.wysiwyg #policy > *:first-child,
.wysiwyg .box_simple > *:first-child,
.wysiwyg .box_nb > *:first-child,
.wysiwyg .box_bg > *:first-child {
  margin-top: 0;
}

.wysiwyg .box > *:last-child,
.wysiwyg .aim > *:last-child,
.wysiwyg #policy > *:last-child,
.wysiwyg .box_simple > *:last-child,
.wysiwyg .box_nb > *:last-child,
.wysiwyg .box_bg > *:last-child {
  margin-bottom: 0;
}

.wysiwyg .box > h1,
.wysiwyg .aim > h1,
.wysiwyg #policy > h1,
.wysiwyg .box > h2,
.wysiwyg .aim > h2,
.wysiwyg #policy > h2,
.wysiwyg .box > h3,
.wysiwyg .aim > h3,
.wysiwyg #policy > h3,
.wysiwyg .box > h4,
.wysiwyg .aim > h4,
.wysiwyg #policy > h4,
.wysiwyg .box > h5,
.wysiwyg .aim > h5,
.wysiwyg #policy > h5,
.wysiwyg .box_simple > h1,
.wysiwyg .box_simple > h2,
.wysiwyg .box_simple > h3,
.wysiwyg .box_simple > h4,
.wysiwyg .box_simple > h5,
.wysiwyg .box_nb > h1,
.wysiwyg .box_nb > h2,
.wysiwyg .box_nb > h3,
.wysiwyg .box_nb > h4,
.wysiwyg .box_nb > h5,
.wysiwyg .box_bg > h1,
.wysiwyg .box_bg > h2,
.wysiwyg .box_bg > h3,
.wysiwyg .box_bg > h4,
.wysiwyg .box_bg > h5 {
  margin-top: 0;
}

.wysiwyg .box,
.wysiwyg .aim,
.wysiwyg #policy {
  border: 2px solid #097A53;
}

@media screen and (max-width: 768px) {
  .wysiwyg .box,
  .wysiwyg .aim,
  .wysiwyg #policy {
    border-width: 0.53333vw;
  }
}
.wysiwyg .box_bg {
  background: #f1f6f5;
  border: 0;
}

.wysiwyg .box_nb {
  border: 0;
}

.wysiwyg .aim,
.wysiwyg #policy {
  border: none;
  padding: 60px 50px;
  position: relative;
}
.wysiwyg .aim:before, .wysiwyg .aim:after,
.wysiwyg #policy:before,
.wysiwyg #policy:after {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/common/bg_deco_en.png) no-repeat center center/contain;
  width: 100%;
  height: 37px;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width: 768px) {
  .wysiwyg .aim:before, .wysiwyg .aim:after,
  .wysiwyg #policy:before,
  .wysiwyg #policy:after {
    height: 20px;
  }
}
.wysiwyg .aim:before,
.wysiwyg #policy:before {
  top: 0;
}
.wysiwyg .aim:after,
.wysiwyg #policy:after {
  bottom: 0;
  transform: translateX(-50%) rotateX(180deg);
}

@media screen and (max-width: 768px) {
  .wysiwyg .aim,
  .wysiwyg #policy {
    padding: 30px 20px;
  }
}
.wysiwyg .aim p,
.wysiwyg #policy p {
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .aim p,
  .wysiwyg #policy p {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  .wysiwyg .aim p,
  .wysiwyg #policy p {
    letter-spacing: 0.1em;
  }
}
.wysiwyg .aim > *:last-child,
.wysiwyg #policy > *:last-child {
  margin-bottom: 0;
}

.wysiwyg dl {
  margin: 40px auto;
}

@media screen and (max-width: 768px) {
  .wysiwyg dl {
    margin-bottom: 10.66667vw;
  }
}
.wysiwyg dl dt {
  margin-bottom: 18px;
  padding-left: 18px;
  position: relative;
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .wysiwyg dl dt {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .wysiwyg dl dt {
    margin-bottom: 1.6rem;
    padding-left: 4.8vw;
  }
}
.wysiwyg dl dt:before {
  content: "";
  width: 6px;
  height: 6px;
  background: #097A53;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
}

.wysiwyg dl dd {
  padding-bottom: 30px;
  padding-left: 18px;
}

@media screen and (max-width: 768px) {
  .wysiwyg dl dd {
    padding-bottom: 8vw;
    padding-left: 4.8vw;
  }
}
.wysiwyg dl dd > *:first-child {
  margin-top: 0;
}

.wysiwyg dl dd > *:last-child {
  margin-bottom: 0;
}

.wysiwyg .accordion {
  font-size: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .accordion {
    font-size: 1.4rem;
  }
}

.wysiwyg .accordion dt {
  cursor: pointer;
  transition: margin ease 0.4s;
  border-bottom: 1px solid #097A53;
  padding-bottom: 10px;
  margin-bottom: 10px;
  padding-right: 30px;
  position: relative;
}
.wysiwyg .accordion dt:after {
  content: "";
  display: block;
  width: 9px;
  height: 16px;
  position: absolute;
  top: 5px;
  transform: rotateZ(90deg);
  right: 10px;
  background: url(../img/common/arrow_post_en.svg) no-repeat center center/contain;
  transition: all 0.3s;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .accordion dt:after {
    width: 6px;
    height: 13px;
  }
}
.wysiwyg .accordion dt.active {
  border-bottom: none;
}

.wysiwyg .accordion dt:not(.active):last-of-type {
  margin-bottom: 0;
}

.wysiwyg .accordion dt:not(.active):last-of-type {
  border-bottom: 0;
}

.wysiwyg .accordion dt:hover,
.wysiwyg .accordion dt.active {
  text-decoration: none;
}
.wysiwyg .accordion dt:hover:after,
.wysiwyg .accordion dt.active:after {
  transform: rotateZ(-90deg);
}

.wysiwyg .accordion dt:before {
  content: none;
}

.wysiwyg .accordion dd {
  padding-bottom: 30px;
  display: none;
  transition: margin ease 0.4s;
}
.wysiwyg .accordion dd.active:not(:last-of-type) {
  border-bottom: 1px solid #097A53;
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .accordion dd {
    padding-bottom: 8vw;
  }
}
.wysiwyg .accordion > *:last-child {
  margin-bottom: 0;
}

.wysiwyg .faq dt {
  font-size: 2rem;
  margin-bottom: 12px;
  padding: 16px 16px 16px 60px;
  position: relative;
  background: #f3fbec;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .faq dt {
    font-size: 1.8rem;
  }
}
.wysiwyg .faq dt:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/common/ico_q_en.svg) no-repeat center center/contain;
  width: 21px;
  height: 24px;
  top: 20px;
  left: 20px;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .faq dt:before {
    top: 16px;
    width: 16px;
  }
}
.wysiwyg .faq dd {
  padding: 16px 16px 24px 60px;
  margin-bottom: 24px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .faq dd {
    padding-bottom: 6.4vw;
    margin-bottom: 6.4vw;
  }
}
.wysiwyg .faq dd:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/common/ico_a_en.svg) no-repeat center center/contain;
  width: 21px;
  height: 24px;
  top: 20px;
  left: 20px;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .faq dd:before {
    top: 16px;
    width: 16px;
  }
}
.wysiwyg .faq dd table,
.wysiwyg .faq dd ul,
.wysiwyg .faq dd ol {
  margin-top: 12px;
}

.wysiwyg .attention {
  border: 2px solid #c40404;
  background: #fff6f6;
  padding: 32px 24px;
}
@media only screen and (max-width: 768px) {
  .wysiwyg .attention {
    border-width: 0.53333vw;
    padding: 8.26667vw 6.4vw;
  }
}
.wysiwyg .attention li:before {
  background: #c40404;
}
.wysiwyg .attention > *:last-child {
  margin-bottom: 0;
}

.wysiwyg .mark_all,
.wysiwyg .mark_pink,
.wysiwyg .mark_red,
.wysiwyg .mark_blue,
.wysiwyg .mark_green,
.wysiwyg .mark_beige,
.wysiwyg .mark_gold,
.wysiwyg .mark_gray {
  color: #fff;
  font-weight: bold;
  border-radius: 2px;
  padding: 2px;
  margin: 2px;
}

.wysiwyg .mark_pink {
  background: #e4007f;
}

.wysiwyg .mark_red {
  background: #c40404;
}

.wysiwyg .mark_blue {
  background: #02499f;
}

.wysiwyg .mark_green {
  background: #097a53;
}

.wysiwyg .mark_beige {
  background: #90955b;
  background: #90955b;
}

.wysiwyg .mark_gold {
  background: #c39714;
}

.wysiwyg .mark_gray {
  background: #666666;
}

.wysiwyg table tr td.short,
.wysiwyg table tbody tr.short td {
  background: #fafab4;
}

.wysiwyg table tr td.closed,
.wysiwyg table tbody tr.closed td {
  color: #cc3333;
  background: #fce9f1;
}

.wysiwyg .center {
  text-align: center;
}

.wysiwyg .left {
  text-align: left;
}

.wysiwyg .right {
  text-align: right;
}

.wysiwyg .sps_table {
  width: 100%;
}

.wysiwyg .sps_th {
  width: 142px;
}

.wysiwyg .sps_form_query {
  width: 100%;
  max-width: 600px;
  height: 50px;
  font-size: 1.6rem;
  border: 1px solid #bbbbbb;
  position: relative;
}

.wysiwyg .sps_form_query_ipt {
  display: block;
  height: 100%;
  padding: 10px;
  width: calc(100% - 50px);
  border: 0;
}

.wysiwyg .sps_form_query_btn {
  display: block;
  cursor: pointer;
  border: 0;
  border-left: 1px solid #bbbbbb;
  width: 48px;
  height: 48px;
  background-image: url(/assets/common/img/ico_side_search.png);
  background-color: #097a53;
  background-size: 28px 31.2px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: 0;
  transition: all 200ms 0s ease;
}

.wysiwyg .sps_form_list {
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .wysiwyg .sps_form_list {
    padding-left: 0;
  }
}
.wysiwyg .sps_form_list_ck {
  margin-right: 15px;
  display: inline-block;
}

.wysiwyg .sps_refine {
  padding: 20px 0;
}

.wysiwyg .sps_refine a.zoom:after {
  background-image: url(../img/common/ico_modal_check.png);
  width: 16px;
  height: 16px;
  transform: translateY(3px);
}

@media screen and (max-width: 768px) {
  .wysiwyg .sps_refine a.zoom:after {
    transform: translateY(0px);
  }
}
.wysiwyg .sps_refine_box input[type=checkbox] {
  margin-right: 5px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .sps_refine_box .box,
  .wysiwyg .sps_refine_box .aim,
  .wysiwyg .sps_refine_box #policy {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .wysiwyg .sps_refine_box .item {
    padding: 0;
    padding-bottom: 8vw;
  }
}
@media screen and (max-width: 768px) {
  .wysiwyg .sps_refine_box .item:last-child {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .wysiwyg .sps_refine_box .item dd {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
.wysiwyg .sps_refine_btn {
  border: none;
  margin: 0 auto 50px;
}

.wysiwyg iframe {
  max-width: 100%;
}

.is-scroll {
  overflow-x: scroll;
}

@media screen and (max-width: 768px) {
  .is-scroll {
    -webkit-overflow-scrolling: auto;
  }
}
.is-scroll::-webkit-scrollbar {
  height: 8px;
}

.is-scroll::-webkit-scrollbar-track {
  background: #e8e8e8;
  border: none;
  border-radius: 3px;
  box-shadow: inset 0 0 2px #666666;
}

.is-scroll::-webkit-scrollbar-thumb {
  background: #666666;
  border-radius: 3px;
  box-shadow: none;
}

.is-scroll table {
  margin-bottom: 10px;
}

.imageboxl .img {
  float: left;
  margin-right: 40px;
}

@media screen and (max-width: 768px) {
  .imageboxl .img {
    float: none;
    margin: 0 auto;
  }
}
.imageboxl .library {
  margin-top: 0;
}

.imageboxr .img {
  float: right;
  margin-left: 40px;
}

@media screen and (max-width: 768px) {
  .imageboxr .img {
    float: none;
    margin: 0 auto;
  }
}
.imageboxl,
.imageboxr {
  overflow: hidden;
}

.imageboxl .img,
.imageboxr .img {
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .imageboxl .img,
  .imageboxr .img {
    margin-bottom: 10.66667vw;
  }
  .imageboxl .img img,
  .imageboxr .img img {
    display: block;
    margin: 0 auto;
    margin-bottom: 2.66667vw;
  }
}
.imageboxl table,
.imageboxr table {
  width: auto;
}

@media screen and (max-width: 768px) {
  .imageboxl table,
  .imageboxr table {
    width: 100%;
  }
}
.campusmap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .campusmap {
    flex-direction: column;
    justify-content: center;
  }
}
.campusmap .imagebox {
  text-align: center;
}

.campusmap .ureshinodai {
  margin-right: 40px;
}

@media screen and (max-width: 768px) {
  .campusmap .ureshinodai {
    margin-right: 0;
  }
}
.access {
  font-size: 1.4rem;
}

.access .imagebox {
  text-align: center;
}

.access table th {
  background: #f8f8f8;
}

.access table th,
.access table td {
  border: 1px solid #e8e8e8;
  padding: 4px 8px;
}

@media screen and (max-width: 768px) {
  .fancybox-content img {
    width: 100%;
  }
}
.box_left,
.box_right,
.box_center {
  width: 100%;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 40px auto;
}

@media screen and (max-width: 768px) {
  .box_left,
  .box_right,
  .box_center {
    margin: 10.66667vw auto;
  }
}
.box_left .img > img,
.box_right .img > img,
.box_center .img > img {
  overflow: hidden;
}

.box_left .img,
.box_left .txt,
.box_right .img,
.box_right .txt,
.box_center .img,
.box_center .txt {
  width: 50%;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .box_left .img,
  .box_left .txt,
  .box_right .img,
  .box_right .txt,
  .box_center .img,
  .box_center .txt {
    width: 100%;
  }
}
.box_left .img > *:first-child,
.box_left .txt > *:first-child,
.box_right .img > *:first-child,
.box_right .txt > *:first-child,
.box_center .img > *:first-child,
.box_center .txt > *:first-child {
  margin-top: 0;
}

.box_left .img > *:last-child,
.box_left .txt > *:last-child,
.box_right .img > *:last-child,
.box_right .txt > *:last-child,
.box_center .img > *:last-child,
.box_center .txt > *:last-child {
  margin-bottom: 0;
}

.box_left .txt,
.box_right .txt,
.box_center .txt {
  display: flex;
  align-items: flex-start;
  flex-flow: column;
  justify-content: center;
}

.box_left .txt.top,
.box_right .txt.top,
.box_center .txt.top {
  justify-content: flex-start;
}

.box_left .txt.bottom,
.box_right .txt.bottom,
.box_center .txt.bottom {
  justify-content: flex-end;
}

.box_left .txt.left,
.box_right .txt.left,
.box_center .txt.left {
  align-items: flex-start;
}

.box_left .txt.left p,
.box_right .txt.left p,
.box_center .txt.left p {
  text-align: left;
}

.box_left .txt.right,
.box_right .txt.right,
.box_center .txt.right {
  align-items: flex-end;
}

.box_left .txt.right p,
.box_right .txt.right p,
.box_center .txt.right p {
  text-align: right;
}

.box_left .txt.center,
.box_right .txt.center,
.box_center .txt.center {
  align-items: center;
}

.box_left .txt.center p,
.box_right .txt.center p,
.box_center .txt.center p {
  text-align: center;
}

.box_left {
  justify-content: flex-start;
}

.box_left .img {
  padding-right: 40px;
}

@media screen and (max-width: 768px) {
  .box_left .img {
    padding-right: 0;
    margin-bottom: 10px;
  }
  .box_right .img {
    margin-top: 10px;
  }
}
.box_right {
  justify-content: flex-end;
}

.box_right .img {
  padding-left: 40px;
  order: 1;
}

@media screen and (max-width: 768px) {
  .box_right .img {
    padding-left: 0;
    order: none;
  }
}
.hute_red,
.wysiwyg .hute_red {
  color: #c40404;
}

.hute_red_light,
.wysiwyg .hute_red_light {
  color: #dd2e24;
}

.hute_green,
.wysiwyg .hute_green {
  color: #08743a;
}

.hute_green_dark,
.wysiwyg .hute_green_dark {
  color: #1d6545;
}

.hute_green_light,
.wysiwyg .hute_green_light {
  color: #548043;
}

.hute_blue,
.wysiwyg .hute_blue {
  color: #0568be;
}

.hute_blue_light,
.wysiwyg .hute_blue_light {
  color: #3d76a3;
}

.hute_gold,
.wysiwyg .hute_gold {
  color: #956f13;
}

.hute_orange,
.wysiwyg .hute_orange {
  color: #c45420;
}

.hute_pink,
.wysiwyg .hute_pink {
  color: #e4007f;
}

.hute_gray,
.wysiwyg .hute_gray {
  color: #686969;
}

.hute_gray_light,
.wysiwyg .hute_gray_light {
  color: #717171;
}

.hute_gray_dark,
.wysiwyg .hute_gray_dark {
  color: #585858;
}

.hute_white,
.wysiwyg .hute_white {
  color: #fff;
}

.hute_black,
.wysiwyg .hute_black {
  color: #000;
}

.hute_bg_red,
.wysiwyg .hute_bg_red {
  background-color: #c40404;
  padding: 4px 6px;
}

.hute_bg_red_light,
.wysiwyg .hute_bg_red_light {
  background-color: #f8e0e0;
  padding: 4px 6px;
}

.hute_bg_green,
.wysiwyg .hute_bg_green {
  background-color: #4dbc8e;
  padding: 4px 6px;
}

.hute_bg_green_dark,
.wysiwyg .hute_bg_green_dark {
  background-color: #1d6545;
  padding: 4px 6px;
}

.hute_bg_green_light,
.wysiwyg .hute_bg_green_light {
  background-color: #d1e7dd;
  padding: 4px 6px;
}

.hute_bg_blue,
.wysiwyg .hute_bg_blue {
  background-color: #0568be;
  padding: 4px 6px;
}

.hute_bg_blue_light,
.wysiwyg .hute_bg_blue_light {
  background-color: #b3d1eb;
  padding: 4px 6px;
}

.hute_bg_gold,
.wysiwyg .hute_bg_gold {
  background-color: #e6b422;
  padding: 4px 6px;
}

.hute_bg_orange,
.wysiwyg .hute_bg_orange {
  background-color: #c39714;
  padding: 4px 6px;
}

.hute_bg_pink,
.wysiwyg .hute_bg_pink {
  background-color: #e4007f;
  padding: 4px 6px;
}

.hute_bg_gray,
.wysiwyg .hute_bg_gray {
  background-color: #afafaf;
  padding: 4px 6px;
}

.hute_bg_gray_light,
.wysiwyg .hute_bg_gray_light {
  background-color: #e0e0e0;
  padding: 4px 6px;
}

.hute_bg_gray_dark,
.wysiwyg .hute_bg_gray_dark {
  background-color: #757575;
  padding: 4px 6px;
}

.hute_bg_white,
.wysiwyg .hute_bg_white {
  background-color: #fff;
  padding: 4px 6px;
}

.hute_bg_black,
.wysiwyg .hute_bg_black {
  background-color: #333333;
  padding: 4px 6px;
}

.wysiwyg .hute_border_red,
.hute_border_red {
  border-color: #c40404;
}

.wysiwyg .hute_border_red_light,
.hute_border_red_light {
  border-color: #fff6f6;
}

.wysiwyg .hute_border_green,
.hute_border_green {
  border-color: #097a53;
}

.wysiwyg .hute_border_green_dark,
.hute_border_green_dark {
  border-color: #015634;
}

.wysiwyg .hute_border_green_light,
.hute_border_green_light {
  border-color: #d4e6e0;
}

.wysiwyg .hute_border_blue,
.hute_border_blue {
  border-color: #02499f;
}

.wysiwyg .hute_border_blue_light,
.hute_border_blue_light {
  border-color: #f1f6f5;
}

.wysiwyg .hute_border_gold,
.hute_border_gold {
  border-color: #90955b;
}

.wysiwyg .hute_border_orange,
.hute_border_orange {
  border-color: #c39714;
}

.wysiwyg .hute_border_pink,
.hute_border_pink {
  border-color: #e4007f;
}

.wysiwyg .hute_border_gray,
.hute_border_gray {
  border-color: #e8e8e8;
}

.wysiwyg .hute_border_gray_light,
.hute_border_gray_light {
  border-color: #f8f8f8;
}

.wysiwyg .hute_border_gray_dark,
.hute_border_gray_dark {
  border-color: #bbbbbb;
}

.wysiwyg .hute_border_white,
.hute_border_white {
  border-color: #fff;
}

.wysiwyg .hute_border_black,
.hute_border_black {
  border-color: #000;
}

.wysiwyg .box.hute_bg_red,
.wysiwyg .hute_bg_red.aim,
.wysiwyg .hute_bg_red#policy,
.wysiwyg .box.hute_bg_red_light,
.wysiwyg .hute_bg_red_light.aim,
.wysiwyg .hute_bg_red_light#policy,
.wysiwyg .box.hute_bg_green,
.wysiwyg .hute_bg_green.aim,
.wysiwyg .hute_bg_green#policy,
.wysiwyg .box.hute_bg_green_dark,
.wysiwyg .hute_bg_green_dark.aim,
.wysiwyg .hute_bg_green_dark#policy,
.wysiwyg .box.hute_bg_green_light,
.wysiwyg .hute_bg_green_light.aim,
.wysiwyg .hute_bg_green_light#policy,
.wysiwyg .box.hute_bg_blue,
.wysiwyg .hute_bg_blue.aim,
.wysiwyg .hute_bg_blue#policy,
.wysiwyg .box.hute_bg_blue_light,
.wysiwyg .hute_bg_blue_light.aim,
.wysiwyg .hute_bg_blue_light#policy,
.wysiwyg .box.hute_bg_gold,
.wysiwyg .hute_bg_gold.aim,
.wysiwyg .hute_bg_gold#policy,
.wysiwyg .box.hute_bg_orange,
.wysiwyg .hute_bg_orange.aim,
.wysiwyg .hute_bg_orange#policy,
.wysiwyg .box.hute_bg_pink,
.wysiwyg .hute_bg_pink.aim,
.wysiwyg .hute_bg_pink#policy,
.wysiwyg .box.hute_bg_gray,
.wysiwyg .hute_bg_gray.aim,
.wysiwyg .hute_bg_gray#policy,
.wysiwyg .box.hute_bg_gray_light,
.wysiwyg .hute_bg_gray_light.aim,
.wysiwyg .hute_bg_gray_light#policy,
.wysiwyg .box.hute_bg_gray_dark,
.wysiwyg .hute_bg_gray_dark.aim,
.wysiwyg .hute_bg_gray_dark#policy,
.wysiwyg .box.hute_bg_white,
.wysiwyg .hute_bg_white.aim,
.wysiwyg .hute_bg_white#policy,
.wysiwyg .box.hute_bg_black,
.wysiwyg .hute_bg_black.aim,
.wysiwyg .hute_bg_black#policy,
.wysiwyg .box_nb.hute_bg_red,
.wysiwyg .box_nb.hute_bg_red_light,
.wysiwyg .box_nb.hute_bg_green,
.wysiwyg .box_nb.hute_bg_green_dark,
.wysiwyg .box_nb.hute_bg_green_light,
.wysiwyg .box_nb.hute_bg_blue,
.wysiwyg .box_nb.hute_bg_blue_light,
.wysiwyg .box_nb.hute_bg_gold,
.wysiwyg .box_nb.hute_bg_orange,
.wysiwyg .box_nb.hute_bg_pink,
.wysiwyg .box_nb.hute_bg_gray,
.wysiwyg .box_nb.hute_bg_gray_light,
.wysiwyg .box_nb.hute_bg_gray_dark,
.wysiwyg .box_nb.hute_bg_white,
.wysiwyg .box_nb.hute_bg_black {
  padding: 25px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .box.hute_bg_red,
  .wysiwyg .hute_bg_red.aim,
  .wysiwyg .hute_bg_red#policy,
  .wysiwyg .box.hute_bg_red_light,
  .wysiwyg .hute_bg_red_light.aim,
  .wysiwyg .hute_bg_red_light#policy,
  .wysiwyg .box.hute_bg_green,
  .wysiwyg .hute_bg_green.aim,
  .wysiwyg .hute_bg_green#policy,
  .wysiwyg .box.hute_bg_green_dark,
  .wysiwyg .hute_bg_green_dark.aim,
  .wysiwyg .hute_bg_green_dark#policy,
  .wysiwyg .box.hute_bg_green_light,
  .wysiwyg .hute_bg_green_light.aim,
  .wysiwyg .hute_bg_green_light#policy,
  .wysiwyg .box.hute_bg_blue,
  .wysiwyg .hute_bg_blue.aim,
  .wysiwyg .hute_bg_blue#policy,
  .wysiwyg .box.hute_bg_blue_light,
  .wysiwyg .hute_bg_blue_light.aim,
  .wysiwyg .hute_bg_blue_light#policy,
  .wysiwyg .box.hute_bg_gold,
  .wysiwyg .hute_bg_gold.aim,
  .wysiwyg .hute_bg_gold#policy,
  .wysiwyg .box.hute_bg_orange,
  .wysiwyg .hute_bg_orange.aim,
  .wysiwyg .hute_bg_orange#policy,
  .wysiwyg .box.hute_bg_pink,
  .wysiwyg .hute_bg_pink.aim,
  .wysiwyg .hute_bg_pink#policy,
  .wysiwyg .box.hute_bg_gray,
  .wysiwyg .hute_bg_gray.aim,
  .wysiwyg .hute_bg_gray#policy,
  .wysiwyg .box.hute_bg_gray_light,
  .wysiwyg .hute_bg_gray_light.aim,
  .wysiwyg .hute_bg_gray_light#policy,
  .wysiwyg .box.hute_bg_gray_dark,
  .wysiwyg .hute_bg_gray_dark.aim,
  .wysiwyg .hute_bg_gray_dark#policy,
  .wysiwyg .box.hute_bg_white,
  .wysiwyg .hute_bg_white.aim,
  .wysiwyg .hute_bg_white#policy,
  .wysiwyg .box.hute_bg_black,
  .wysiwyg .hute_bg_black.aim,
  .wysiwyg .hute_bg_black#policy,
  .wysiwyg .box_nb.hute_bg_red,
  .wysiwyg .box_nb.hute_bg_red_light,
  .wysiwyg .box_nb.hute_bg_green,
  .wysiwyg .box_nb.hute_bg_green_dark,
  .wysiwyg .box_nb.hute_bg_green_light,
  .wysiwyg .box_nb.hute_bg_blue,
  .wysiwyg .box_nb.hute_bg_blue_light,
  .wysiwyg .box_nb.hute_bg_gold,
  .wysiwyg .box_nb.hute_bg_orange,
  .wysiwyg .box_nb.hute_bg_pink,
  .wysiwyg .box_nb.hute_bg_gray,
  .wysiwyg .box_nb.hute_bg_gray_light,
  .wysiwyg .box_nb.hute_bg_gray_dark,
  .wysiwyg .box_nb.hute_bg_white,
  .wysiwyg .box_nb.hute_bg_black {
    padding: 5.33333vw 4vw;
  }
}
.pager {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "RobotoCondensed-Regular";
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  margin: 50px auto 100px;
}

@media screen and (max-width: 768px) {
  .pager {
    flex-wrap: wrap;
    font-size: 3.46667vw;
    padding: 0 3.2%;
    margin: 6.4vw auto 17.06667vw;
  }
}
.pager_prev,
.pager_next {
  min-width: 84px;
  display: block;
  height: 44px;
}

@media screen and (max-width: 768px) {
  .pager_prev,
  .pager_next {
    min-width: 22.4vw;
    height: 11.73333vw;
  }
}
.pager_prev .prev,
.pager_prev .next,
.pager_next .prev,
.pager_next .next {
  width: 100%;
  height: 44px;
  border: 1px solid #bbbbbb;
  flex-wrap: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  transition: background-color 0.4s ease, color 0.4s ease, border-color 0.5s ease;
}

@media screen and (max-width: 768px) {
  .pager_prev .prev,
  .pager_prev .next,
  .pager_next .prev,
  .pager_next .next {
    height: 11.73333vw;
  }
}
.pager_prev .prev:hover,
.pager_prev .next:hover,
.pager_next .prev:hover,
.pager_next .next:hover {
  background-color: #097a53;
  color: #fff;
  border-color: #097a53;
}

.pager_prev .prev:hover:before,
.pager_prev .next:hover:before,
.pager_next .prev:hover:before,
.pager_next .next:hover:before {
  color: #fff;
  transform: translateX(-5px);
}

.pager_prev .prev:hover:after,
.pager_prev .next:hover:after,
.pager_next .prev:hover:after,
.pager_next .next:hover:after {
  color: #fff;
  transform: translateX(5px);
}

.pager_prev {
  margin-right: 8px;
}

@media screen and (max-width: 768px) {
  .pager_prev {
    margin-right: 2.13333vw;
  }
}
.pager_prev .prev {
  padding-right: 17px;
  padding-left: 17px;
}

@media screen and (max-width: 768px) {
  .pager_prev .prev {
    padding: 0 4.8vw;
  }
}
.pager_prev .prev:before {
  content: "<";
  margin-right: 8px;
  color: #097a53;
  transition: background-color 0.4s ease, color 0.4s ease, transform 0.5s ease;
}

.pager_next {
  margin-left: 8px;
}

@media screen and (max-width: 768px) {
  .pager_next {
    margin-left: 2.13333vw;
  }
}
.pager_next .next {
  padding-left: 17px;
  padding-right: 17px;
}

@media screen and (max-width: 768px) {
  .pager_next .next {
    padding: 0 4.8vw;
  }
}
.pager_next .next:after {
  content: ">";
  margin-left: 8px;
  color: #097a53;
  transition: background-color 0.5s ease, color 0.5s ease, transform 0.5s ease;
}

.pager_num {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .pager_num {
    width: 100%;
    flex-wrap: nowrap;
    padding-bottom: 4.26667vw;
    font-size: 3.73333vw;
    order: -1;
    justify-content: space-between;
  }
}
.pager_num_n {
  border: 1px solid #bbbbbb;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  margin: 8px;
}

@media screen and (max-width: 768px) {
  .pager_num_n {
    width: 11.73333vw;
    height: 11.73333vw;
    margin: 0;
  }
}
.pager_num a.pager_num_n {
  transition: background-color 0.5s ease, color 0.5s ease, border-color 0.5s ease;
}

.pager_num a.pager_num_n:hover {
  background-color: #097a53;
  color: #fff;
  border-color: #097a53;
}

.pager_num .is-selected {
  background: #097a53;
  border-color: #097a53;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .pager_post {
    width: 100%;
    order: -1;
  }
}
.pager_post_link {
  display: block;
  width: 404px;
  font-weight: bold;
  background: #097a53;
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
  max-width: 100%;
  letter-spacing: 0.2em;
  padding: 22px;
  margin: 0 8px;
  border: 1px solid #097a53;
  box-sizing: border-box;
  transition: color 0.3s ease, background-color 0.3s ease;
}

@media screen and (max-width: 768px) {
  .pager_post_link {
    width: 64vw;
    font-size: 3.73333vw;
    padding: 6vw;
    margin: 0 auto 4.26667vw;
  }
}
.pager_post_link:hover {
  color: #097a53;
  background: #fff;
}

.cp-Tag,
.cp-Tag-new,
.cp-Tag-important,
.cp-Tag-target {
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  background-color: #c39714;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px 2.5px 8px;
  border-radius: 4px;
}

@media screen and (max-width: 768px) {
  .cp-Tag,
  .cp-Tag-new,
  .cp-Tag-important,
  .cp-Tag-target {
    font-size: 3.2vw;
    padding: 1vw 1.8vw 0.8vw;
    border-radius: 1.06667vw;
  }
}
.cp-Tag_Border,
.cp-Tag-undergrad,
.cp-Tag-master,
.cp-Tag-doctor {
  font-size: 1.2rem;
  font-weight: bold;
  color: #e4007f;
  background-color: #fff;
  border: solid 2px #e4007f;
  border-radius: 0;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1px 6px 0.5px 6px;
}

@media screen and (max-width: 768px) {
  .cp-Tag_Border,
  .cp-Tag-undergrad,
  .cp-Tag-master,
  .cp-Tag-doctor {
    font-size: 3.2vw;
    padding: 0.6vw 1.3vw 0.4vw;
  }
}
.cp-Tag-new,
.cp-Tag-important,
.cp-Tag-undergrad,
.cp-Tag-master,
.cp-Tag-doctor {
  width: 48px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .cp-Tag-new,
  .cp-Tag-important,
  .cp-Tag-undergrad,
  .cp-Tag-master,
  .cp-Tag-doctor {
    width: 12.8vw;
  }
}
.cp-Tag-new {
  font-family: "RobotoCondensed-Bold";
  color: #fff;
  background-color: #c39714;
  letter-spacing: 0.1em;
}

.cp-Tag-important {
  color: #fff;
  background-color: #c40404;
}

.cp-Tag-undergrad {
  color: #e4007f;
  border: solid 2px #e4007f;
}

.cp-Tag-master {
  color: #02499f;
  border: solid 2px #02499f;
}

.cp-Tag-master span {
  letter-spacing: -4px;
  padding-right: 5px;
}

.cp-Tag-doctor {
  color: #015634;
  border: solid 2px #015634;
}

.cp-Tag-target {
  font-size: 1.1rem;
  font-family: "RobotoCondensed-Bold";
  color: #fff;
  letter-spacing: 0.1em;
  border-radius: 10px;
}

@media screen and (max-width: 768px) {
  .cp-Tag-target {
    font-size: 2.93333vw;
  }
}
.cp-Tag-target_inner {
  background-color: #097a53;
  margin-right: 6px;
}

.cp-Tag-target_outer {
  background-color: #90955b;
}

.cp-ListItem {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 20px 0;
  border-bottom: solid 1px #bbbbbb;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .cp-ListItem {
    font-size: 3.73333vw;
  }
}
.cp-ListItem:first-child {
  border-top: solid 1px #bbbbbb;
}

@media screen and (max-width: 768px) {
  .cp-ListItem {
    padding: 4vw 0;
  }
}
.cp-ListItem_Link {
  display: flex;
  flex-direction: row;
  align-items: center;
}

@media screen and (min-width: 769px) {
  .cp-ListItem_Link:hover .cp-ListItem_Text {
    text-decoration: underline;
  }
}
@media screen and (max-width: 768px) {
  .cp-ListItem_Link {
    flex-direction: column;
    align-items: flex-start;
  }
}
.cp-ListItem_Layout_Top {
  display: flex;
  align-items: center;
}

.cp-ListItem_Date {
  font-size: 1.4rem;
  color: #222222;
  font-weight: bold;
  margin-right: 25px;
}

@media screen and (max-width: 768px) {
  .cp-ListItem_Date {
    font-size: 3.73333vw;
    margin-right: 3.33333vw;
  }
}
.cp-ListItem_Tags {
  display: flex;
  margin-right: 12px;
  align-items: center;
}

.cp-ListItem_Tags > div {
  margin-right: 10px;
}

.cp-ListItem_Tags > div:last-child {
  margin-right: 0;
}

.cp-ListItem_Text {
  font-size: 1.5rem;
  color: #222222;
  display: block;
  align-items: center;
}

.is-pdf .cp-ListItem_Text:after {
  content: "";
  background-image: url(../img/common/ico_pdf.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 14px;
  height: 16px;
  margin-left: 6px;
  margin-top: 0px;
  display: inline-block;
  position: relative;
  top: 2px;
}

.is-jtd .cp-ListItem_Text:after {
  content: "";
  background-image: url(../img/common/ico_jtd.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 13px;
  height: 16px;
  margin-left: 6px;
  margin-top: 0px;
  display: inline-block;
  position: relative;
  top: 2px;
}

.is-blank .cp-ListItem_Text:after {
  content: "";
  background-image: url(../img/common/ico_blank.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 12px;
  height: 10px;
  margin-top: 0px;
  margin-left: 6px;
  vertical-align: middle;
  display: inline-block;
}

.cp-ListItem_Text.is-word:after,
.cp-ListItem_Text.is-excel:after,
.cp-ListItem_Text.is-rss:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 16px;
  height: 16px;
  margin-left: 6px;
  margin-top: 0px;
  display: inline-block;
  position: relative;
  top: 2px;
}

@media screen and (max-width: 768px) {
  .cp-ListItem_Text.is-word:after,
  .cp-ListItem_Text.is-excel:after,
  .cp-ListItem_Text.is-rss:after {
    width: 3.84vw;
    height: 3.84vw;
    margin-left: 1.12vw;
    vertical-align: middle;
    top: -1px;
  }
}
.cp-ListItem_Text.is-word:after {
  background-image: url(../img/common/ico_word.png);
}

.cp-ListItem_Text.is-excel:after {
  background-image: url(../img/common/ico_excel.png);
}

.cp-ListItem_Text.is-rss:after {
  width: 12px;
  height: 12px;
  background-image: url(../img/common/ico_rss.png);
  top: 0;
}

@media screen and (max-width: 768px) {
  .cp-ListItem_Text.is-rss:after {
    width: 3.2vw;
    height: 3.2vw;
    top: -2px;
  }
}
@media screen and (max-width: 768px) {
  .cp-ListItem_Text {
    font-size: 3.73333vw;
    padding-top: 2vw;
    display: inline-block;
  }
  .is-pdf .cp-ListItem_Text:after {
    width: 3.46667vw;
    height: 4vw;
    margin-left: 1.6vw;
    vertical-align: middle;
  }
  .is-jtd .cp-ListItem_Text:after {
    width: 3.12vw;
    height: 3.84vw;
    margin-left: 1.12vw;
    vertical-align: middle;
  }
  .is-blank .cp-ListItem_Text:after {
    width: 2.88vw;
    height: 2.4vw;
    margin-left: 1.12vw;
  }
}
.wysiwyg .history {
  margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .history {
    display: block;
    border-bottom: 1px solid #bbbbbb;
  }
}
@media screen and (max-width: 768px) {
  .wysiwyg .history tr {
    display: flex;
    flex-wrap: wrap;
  }
}
.wysiwyg .history tr th {
  color: #015634;
  font-weight: bold;
  font-size: 1.4rem;
  width: 120px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .wysiwyg .history tr th {
    display: block;
    font-size: 3.73333vw;
    width: 100%;
    padding: 1.6vw 3.73333vw;
    border-bottom: 0;
  }
}
.wysiwyg .history tr td {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .wysiwyg .history tr td {
    display: block;
    width: 100%;
    font-size: 3.73333vw;
    border-bottom: 0;
    padding: 3.73333vw 3.73333vw;
  }
}
.wysiwyg .history tr td ul:last-child {
  margin-bottom: 0;
}

.wysiwyg .history tr td ul li:last-child {
  margin-bottom: 0;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .wysiwyg .history tr td ul li:last-child {
    font-size: 3.73333vw;
  }
}
.wysiwyg .history tr td ul li strong {
  color: #015634;
}

.wysiwyg .history tr td ul li:before {
  top: 8px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .history tr td ul li:before {
    top: 2.13333vw;
  }
}
@media screen and (max-width: 768px) {
  .wysiwyg .history {
    margin-bottom: 24vw;
  }
}
.magazinebox {
  font-size: 1.4rem;
  border: 6px solid #f1f6f5;
  padding: 26px;
  margin-bottom: 24px;
  clear: both;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .magazinebox {
    font-size: 3.73333vw;
    padding: 3.73333vw;
    border-width: 1.6vw;
    margin-bottom: 4.26667vw;
  }
}
.magazinebox .img {
  width: 160px;
  margin-right: 32px;
  margin-bottom: 0;
  float: left;
}

@media screen and (max-width: 768px) {
  .magazinebox .img {
    width: 21.33333vw;
    margin-right: 2.13333vw;
  }
}
.magazinebox .img img {
  width: 100%;
  height: auto;
}

.magazinebox h3 {
  width: 944px;
  font-size: 2rem;
  box-sizing: border-box;
  margin-top: 0;
  margin-bottom: 4px;
  float: left;
}

@media screen and (max-width: 768px) {
  .magazinebox h3 {
    width: 59.46667vw;
    font-size: 4.26667vw;
    margin-bottom: 2.66667vw;
    padding: 2.13333vw 2.66667vw;
  }
}
.magazinebox dl {
  width: 944px;
  box-sizing: border-box;
  float: left;
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .magazinebox dl {
    clear: both;
    width: 100%;
  }
}
.magazinebox dl dt {
  font-weight: bold;
  font-size: 1.5rem;
  padding: 4px 8px;
  border-left: 3px solid #015634;
  margin-top: 24px;
  margin-bottom: 12px;
}

@media screen and (max-width: 768px) {
  .magazinebox dl dt {
    margin-top: 3.2vw;
    font-size: 4vw;
    padding: 1.33333vw 2.13333vw;
    border-left-width: 0.8vw;
    margin-bottom: 1.33333vw;
  }
}
.magazinebox dl dt:before {
  content: none;
}

.magazinebox dl dd {
  padding-left: 14px;
  position: relative;
  padding-bottom: 0;
}

@media screen and (max-width: 768px) {
  .magazinebox dl dd {
    padding-left: 4.26667vw;
  }
}
.magazinebox dl dd:before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 6px;
  height: 6px;
  background: #015634;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  .magazinebox {
    font-size: 3.73333vw;
  }
}
.magazinebox .accordion dt {
  font-weight: bold;
  font-size: 1.5rem;
  padding: 0;
  padding-left: 18px;
  margin-top: 0;
  border-left: 0;
  margin-bottom: 18px;
}

.magazinebox .accordion dd:before {
  content: none;
}

.magazinebox .accordion dd .links li:not(:last-child) {
  margin-bottom: 0;
  border-bottom: 0;
}

.sitemap {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .sitemap {
    font-size: 3.73333vw;
  }
}
.sitemap ul li {
  font-size: inherit;
}

.sitemap > ul {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .sitemap > ul {
    display: block;
  }
}
.sitemap > ul > li {
  width: 25%;
  padding-left: 0;
  padding-right: 25px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .sitemap > ul > li {
    width: 100%;
    padding-right: 0;
  }
}
.sitemap > ul > li:nth-of-type(4n) {
  padding-right: 0;
}

.sitemap > ul > li > ul .title {
  border-left: 0;
  padding-left: 0;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .sitemap > ul > li > ul .title {
    font-size: 3.73333vw;
  }
}
.sitemap .no_child li {
  padding-left: 1em;
}

.sitemap .title {
  display: block;
  font-size: 1.5rem;
  position: relative;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 5px 12px;
  border-left: 4px solid #097a53;
  margin-bottom: 12px;
}

@media screen and (max-width: 768px) {
  .sitemap .title {
    font-size: 4vw;
    padding: 0.66667vw 2.13333vw;
    border-left-width: 0.8vw;
    margin-bottom: 3.73333vw;
  }
}
label {
  font-size: 1.5rem;
  line-height: 1.866;
  transition: margin ease 0.4s;
  text-align: justify;
}

.form-horizontal .control-group,
.form-horizontal .contact-form-field {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: 1.866em 0;
  border-bottom: 1px solid #ccc;
}

.form-horizontal .control-label,
.form-horizontal .contact-form-field .form-label label,
.contact-form-field .form-label .form-horizontal label {
  min-width: 200px;
  margin-right: 1.866em;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  padding: 10px 0;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .form-horizontal .control-label,
  .form-horizontal .contact-form-field .form-label label,
  .contact-form-field .form-label .form-horizontal label {
    min-width: 100%;
    justify-content: flex-start;
    margin-right: 0;
    margin-bottom: 0.6em;
  }
}
.form-horizontal .label,
.form-horizontal .contact-form-field .form-label .must,
.contact-form-field .form-label .form-horizontal .must {
  font-size: 1.2rem;
  color: #fff;
  padding: 2px 6px;
  font-weight: bold;
  margin-left: 0.4665em;
}

@media screen and (max-width: 768px) {
  .form-horizontal .label,
  .form-horizontal .contact-form-field .form-label .must,
  .contact-form-field .form-label .form-horizontal .must {
    margin-left: 0.933em;
    margin-right: 0;
  }
}
.form-horizontal .label-important,
.form-horizontal .contact-form-field .form-label .must,
.contact-form-field .form-label .form-horizontal .must {
  background: #c40404;
}

.form-horizontal .description {
  font-size: 1.3rem;
  margin-top: 1.866rem;
  margin-bottom: 0;
}

.form-horizontal .controls,
.form-horizontal .contact-form-field .form-element,
.contact-form-field .form-horizontal .form-element {
  min-width: 600px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .form-horizontal .controls,
  .form-horizontal .contact-form-field .form-element,
  .contact-form-field .form-horizontal .form-element {
    width: 100%;
    min-width: 100%;
  }
}
.form-horizontal .controls .muted,
.form-horizontal .contact-form-field .form-element .muted,
.contact-form-field .form-horizontal .form-element .muted {
  margin-bottom: 0;
  margin-right: 1.866rem;
}

.form-horizontal .controls label,
.form-horizontal .contact-form-field .form-element label,
.contact-form-field .form-horizontal .form-element label {
  margin-right: 1.866rem;
}

.form-horizontal .controls ul,
.form-horizontal .contact-form-field .form-element ul,
.contact-form-field .form-horizontal .form-element ul {
  margin: 0;
}

.form-horizontal .controls ul li,
.form-horizontal .contact-form-field .form-element ul li,
.contact-form-field .form-horizontal .form-element ul li {
  padding-left: 0;
}

.form-horizontal .controls ul li:before,
.form-horizontal .contact-form-field .form-element ul li:before,
.contact-form-field .form-horizontal .form-element ul li:before {
  content: none;
}

.form-horizontal .controls select[multiple=multiple],
.form-horizontal .contact-form-field .form-element select[multiple=multiple],
.contact-form-field .form-horizontal .form-element select[multiple=multiple] {
  padding: 0;
}

.form-horizontal .controls select:not([multiple=multiple]),
.form-horizontal .contact-form-field .form-element select:not([multiple=multiple]),
.contact-form-field .form-horizontal .form-element select:not([multiple=multiple]) {
  height: 36px;
  border: 1px solid #ccc;
}

.form-horizontal .controls textarea,
.form-horizontal .contact-form-field .form-element textarea,
.contact-form-field .form-horizontal .form-element textarea,
.form-horizontal .controls input,
.form-horizontal .contact-form-field .form-element input,
.contact-form-field .form-horizontal .form-element input {
  border: 1px solid #ccc;
}

.form-horizontal .controls option:not(:last-child),
.form-horizontal .contact-form-field .form-element option:not(:last-child),
.contact-form-field .form-horizontal .form-element option:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

.form-horizontal .controls .contact-form-text-full,
.form-horizontal .contact-form-field .form-element .contact-form-text-full,
.contact-form-field .form-horizontal .form-element .contact-form-text-full,
.form-horizontal .controls .contact-form-text-time,
.form-horizontal .contact-form-field .form-element .contact-form-text-time,
.contact-form-field .form-horizontal .form-element .contact-form-text-time,
.form-horizontal .controls .contact-form-text-date,
.form-horizontal .contact-form-field .form-element .contact-form-text-date,
.contact-form-field .form-horizontal .form-element .contact-form-text-date {
  width: 100%;
  max-width: 340px;
  min-height: 40px;
  padding: 4px 6px;
}

.form-horizontal .controls .input-xxlarge,
.form-horizontal .contact-form-field .form-element .input-xxlarge,
.contact-form-field .form-horizontal .form-element .input-xxlarge {
  width: 100%;
  height: 190px;
  padding: 4px 6px;
}

.form-horizontal .controls .btn,
.form-horizontal .contact-form-field .form-element .btn,
.contact-form-field .form-horizontal .form-element .btn {
  margin: 1.866em auto;
  font-weight: bold;
  transition: all 200ms 0s ease;
  color: #fff;
  background-color: #097a53;
  font-size: 1.5rem;
  width: 240px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.2em;
  border: none;
  cursor: pointer;
}

.form-horizontal .controls .btn:hover,
.form-horizontal .contact-form-field .form-element .btn:hover,
.contact-form-field .form-horizontal .form-element .btn:hover {
  background: #298e66;
}

.contact-form-field .form-label {
  margin-bottom: 0;
}

.contact-form-field .form-element {
  margin-bottom: 0;
}

.hyokyonet .sub_mv {
  max-height: 600px;
  height: 60vw;
}

@media screen and (max-width: 768px) {
  .hyokyonet .sub_mv {
    max-height: 66.66667vw;
    height: 66.6666666667vw;
  }
}
.hyokyonet .sub_mv_ttl {
  font-size: 3.6rem;
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.68);
}

@media screen and (max-width: 768px) {
  .hyokyonet .sub_mv_ttl {
    font-size: 5.33333vw;
  }
}
.hyokyonet .about {
  width: 100%;
  padding: 50px 0;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about {
    padding: 0;
  }
}
.hyokyonet .about_ttl {
  text-align: center;
  color: #015634;
  font-weight: bold;
  font-size: 3rem;
  margin: 50px auto;
  padding: 0 24px;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about_ttl {
    font-size: 7.46667vw;
    margin: 9.6vw auto;
  }
}
.hyokyonet .about_img {
  text-align: center;
  margin-bottom: 32px;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about_img {
    margin-bottom: 8.53333vw;
  }
}
.hyokyonet .about_img img {
  display: block;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about_img img {
    width: 94%;
  }
}
.hyokyonet .about_txt {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 68px;
  padding: 28px 36px;
  border: 2px solid #d4e6e0;
  font-size: 1.5rem;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about_txt {
    width: 94%;
    margin: 0 auto 12.8vw;
    padding: 8vw 4.8vw;
  }
}
.hyokyonet .about_nav {
  width: 100%;
  margin-bottom: 50px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about_nav {
    margin-bottom: 2.13333vw;
  }
}
.hyokyonet .about_nav_list {
  width: 384px;
  margin: 0 44px;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about_nav_list {
    width: 100%;
    margin: 0 auto 12.8vw;
  }
}
.hyokyonet .about_nav_list_ttl {
  color: #015634;
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 32px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about_nav_list_ttl {
    font-size: 5.33333vw;
    margin-bottom: 8.53333vw;
  }
}
.hyokyonet .about_nav_list_cnt_img {
  width: 100%;
  text-align: center;
  margin-bottom: 32px;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about_nav_list_cnt_img {
    margin-bottom: 8.53333vw;
  }
}
.hyokyonet .about_nav_list_cnt_img img {
  display: block;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about_nav_list_cnt_img img {
    width: 74.66667vw;
  }
}
.hyokyonet .about_nav_list_cnt_link {
  display: block;
  width: 280px;
  background: #097a53;
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
  padding: 20px 12px;
  margin: 0 auto;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .hyokyonet .about_nav_list_cnt_link {
    width: 74.66667vw;
  }
}
.hyokyonet_news {
  width: 100%;
  background: #f1f6f5;
  padding: 50px 0 100px;
}

@media screen and (max-width: 768px) {
  .hyokyonet_news {
    padding-top: 5.33333vw;
    padding-bottom: 14.93333vw;
  }
}
.hyokyonet_news .tp-Notice {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 72px 60px;
  background: #fff;
  border-top: #097a53 8px solid;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .hyokyonet_news .tp-Notice {
    width: 93.6%;
    padding: 7.46667vw 5.06667vw 9.6vw;
  }
  .hyokyonet_news .tp-Notice .cp-ListItem_Date {
    color: #015634;
  }
}
.hyokyonet_news .tp-Notice .cp-Btn {
  margin: 56px auto 0;
}

@media screen and (max-width: 768px) {
  .hyokyonet_news .tp-Notice .cp-Btn {
    margin-top: 9.6vw;
  }
}
.hyokyonet_news .cp-ListItem_Link[target=_blank]:after {
  content: "";
  background-image: url(../img/common/ico_blank.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 12px;
  height: 10px;
  margin-top: 0px;
  margin-left: 6px;
  vertical-align: middle;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .hyokyonet_news .cp-ListItem_Link[target=_blank]:after {
    width: 2.88vw;
    height: 2.4vw;
    margin-left: 1.12vw;
  }
}
.wysiwyg .hyokyonet_nav {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: flex-start;
}

.wysiwyg .hyokyonet_nav_box {
  width: 384px;
  margin-right: 24px;
  margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .hyokyonet_nav_box {
    width: 83.2vw;
    margin: 0 auto;
    margin-bottom: 6.93333vw;
  }
}
.wysiwyg .hyokyonet_nav_box:nth-child(3n) {
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  .wysiwyg .hyokyonet_nav_box:nth-child(3n) {
    margin-right: auto;
  }
}
.wysiwyg .hyokyonet_nav_box a {
  text-decoration: none;
}

.wysiwyg .hyokyonet_nav_box_img {
  margin-bottom: 24px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .hyokyonet_nav_box_img {
    margin-bottom: 3.73333vw;
  }
}
.wysiwyg .hyokyonet_nav_box_img img {
  display: block;
}

.wysiwyg .hyokyonet_nav_box_txt {
  font-size: 2rem;
  color: #015634;
  font-weight: bold;
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .wysiwyg .hyokyonet_nav_box_txt {
    font-size: 5.33333vw;
  }
}
.wysiwyg .hyokyonet_nav_small {
  width: 280px;
  height: 86px;
  margin-right: 26px;
  margin-bottom: 23px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .hyokyonet_nav_small {
    width: 100%;
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  .wysiwyg .hyokyonet_nav_small {
    margin-bottom: 3.73333vw;
  }
}
.wysiwyg .hyokyonet_nav_small a {
  display: flex;
  background-color: #fff;
  justify-content: space-between;
  align-items: center;
  width: 280px;
  height: 86px;
  transition: all 200ms 0s ease;
  border: solid 1px #bbbbbb;
  color: #222222;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .wysiwyg .hyokyonet_nav_small a {
    width: 100%;
  }
}
.wysiwyg .hyokyonet_nav_small_txt {
  font-size: 1.5rem;
  padding: 10px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 0;
}

.wysiwyg .hyokyonet_nav_small_img {
  width: 84px;
  height: 84px;
  transition: all 200ms 0s ease;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .wysiwyg .hyokyonet_section:last-child {
    margin-bottom: 9.06667vw;
  }
}
.subpage_post,
.subpage_parents {
  display: block;
}

@media screen and (max-width: 768px) {
  .subpage_post,
  .subpage_parents {
    display: flex;
    flex-direction: column;
  }
}
.parents {
  width: 1200px;
  margin: 0 auto;
  position: relative;
  font-size: 1.5rem;
  line-height: 1.85;
  padding: 50px 0;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  .parents {
    width: 100%;
    padding: 3.2vw 3.2% 0;
  }
}
.parents .wysiwyg {
  width: 100%;
  padding: 0;
  margin: 0;
  line-height: 1.5;
}

.parents_ttl,
.wysiwyg .post_message {
  width: 100%;
  text-align: center;
  font-size: 3.6rem;
  font-family: "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN", serif, "Sawarabi Mincho";
  padding: 35px 0;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .parents_ttl,
  .wysiwyg .post_message {
    font-size: 6.93333vw;
    padding: 6.66667vw 0;
  }
}
.parents_list {
  margin: 80px auto 10px;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .parents_list {
    margin: 17.06667vw auto 4.26667vw;
    flex-wrap: wrap;
  }
}
.parents_list_card {
  width: 584px;
  background: #f8f8f8;
  border-top: 4px solid #097a53;
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .parents_list_card {
    width: 100%;
    margin-bottom: 12.8vw;
    border-top-width: 1.06667vw;
  }
}
.parents_list_card.full {
  width: 100%;
}

.parents_list_card.full .parents_list_card_box_img {
  display: flex;
  justify-content: center;
  align-items: center;
}

.parents_list_card.full .parents_list_card_box_img img {
  width: auto;
  height: 100%;
}

.parents_list_card_ttl {
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-size: 2.2rem;
  color: #015634;
  padding: 24px 0 20px;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .parents_list_card_ttl {
    font-size: 5.33333vw;
    padding: 5.86667vw 0;
  }
}
.parents_list_card_box {
  padding: 0 26px 26px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .parents_list_card_box {
    padding: 0 5.33333vw 5.33333vw;
  }
}
.parents_list_card_box_img {
  width: 100%;
  height: 230px;
  margin-bottom: 18px;
  overflow: hidden;
  box-sizing: border-box;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .parents_list_card_box_img {
    height: 36.53333vw;
    margin-bottom: 5.33333vw;
  }
}
.parents_list_card_box_img img {
  width: 100%;
  display: block;
}

.parents_list_card_box p {
  margin-bottom: 6px;
}

.parents_list_card_box ul {
  width: 100%;
  box-sizing: border-box;
}

.parents_list_card_box ul li {
  margin-bottom: 6px;
}

@media screen and (max-width: 768px) {
  .parents_list_card_box ul li {
    margin-bottom: 1.6vw;
  }
}
.parents_list_card_box ul li a {
  padding-left: 14px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .parents_list_card_box ul li a {
    font-size: 4vw;
    padding-left: 3.73333vw;
  }
}
.parents_list_card_box ul li a:before {
  content: "";
  color: #097a53;
  letter-spacing: -0.3em;
  font-size: 1rem;
  width: 10px;
  height: 1.5em;
  position: absolute;
  top: 0;
  left: 0;
  background-position: left;
  background-size: 10px 10px;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20role%3D%22img%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220px%22%20height%3D%2220px%22%20viewBox%3D%220%200%2024%2024%22%20aria-labelledby%3D%22chevronsRightIconTitle%20chevronsRightIconDesc%22%20stroke%3D%22%23097a53%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%20fill%3D%22none%22%20color%3D%22%23097a53%22%3E%20%3Ctitle%20id%3D%22chevronsRightIconTitle%22%3EChevrons%20Right%3C%2Ftitle%3E%20%3Cdesc%20id%3D%22chevronsRightIconDesc%22%3EIcon%20of%20two%20chevrons%20pointing%20right%3C%2Fdesc%3E%20%3Cpolyline%20points%3D%2213%207%2018%2012%2013%2017%2013%2017%22%2F%3E%20%3Cpolyline%20points%3D%227%207%2012%2012%207%2017%207%2017%22%2F%3E%20%3C%2Fsvg%3E");
  transition: left 0.3s ease;
}

@media screen and (max-width: 768px) {
  .parents_list_card_box ul li a:before {
    font-size: 2.66667vw;
    width: 2.66667vw;
    background-size: 2.66667vw;
  }
}
.parents_list_card_box ul li a:hover {
  text-decoration: underline;
}

.parents_list_card_box ul li a.is-pdf:after {
  content: "";
  background-image: url(../img/common/ico_pdf.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 13.5px;
  height: 16px;
  margin-left: 6px;
  margin-top: 0px;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .parents_list_card_box ul li a.is-pdf:after {
    width: 3.46667vw;
    height: 4vw;
    margin-left: 1.6vw;
    vertical-align: middle;
  }
}
.parents_list_card_box ul li a.is-jtd:after {
  content: "";
  background-image: url(../img/common/ico_jtd.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 13px;
  height: 16px;
  margin-left: 6px;
  margin-top: 0px;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .parents_list_card_box ul li a.is-jtd:after {
    width: 3.46667vw;
    height: 4.26667vw;
    margin-left: 1.6vw;
    vertical-align: middle;
  }
}
.parents_list_card_box ul li a.is-blank:after {
  content: "";
  background-image: url(../img/common/ico_blank.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 12px;
  height: 10px;
  margin-top: 0px;
  margin-left: 6px;
  vertical-align: middle;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .parents_list_card_box ul li a.is-blank:after {
    width: 2.88vw;
    height: 2.4vw;
    margin-left: 1.12vw;
  }
}
.parents_list_card_box ul li a.is-word:after,
.parents_list_card_box ul li a.is-excel:after,
.parents_list_card_box ul li a.is-rss:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 16px;
  height: 16px;
  margin-left: 6px;
  margin-top: 0px;
  display: inline-block;
  position: relative;
  top: 2px;
}

@media screen and (max-width: 768px) {
  .parents_list_card_box ul li a.is-word:after,
  .parents_list_card_box ul li a.is-excel:after,
  .parents_list_card_box ul li a.is-rss:after {
    width: 4vw;
    height: 4vw;
    margin-left: 1.6vw;
    vertical-align: middle;
    top: -1px;
  }
}
.parents_list_card_box ul li a.is-word:after {
  background-image: url(../img/common/ico_word.png);
}

.parents_list_card_box ul li a.is-excel:after {
  background-image: url(../img/common/ico_excel.png);
}

.parents_list_card_box ul li a.is-rss:after {
  width: 12px;
  height: 12px;
  background-image: url(../img/common/ico_rss.png);
  top: 0;
}

@media screen and (max-width: 768px) {
  .parents_list_card_box ul li a.is-rss:after {
    width: 3.2vw;
    height: 3.2vw;
    top: -2px;
  }
}
.wysiwyg .tp-Notice {
  background: #f8f8f8;
  padding: 50px 70px 40px;
  margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .tp-Notice {
    padding: 6.4vw 5.06667vw 5.06667vw;
    margin-bottom: 14.4vw;
  }
}
.wysiwyg .tp-Notice_List {
  margin-top: 0;
  margin-bottom: 0;
}

.wysiwyg .tp-Notice_Layout_Bottom {
  text-align: right;
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .wysiwyg .tp-Notice_Layout_Bottom {
    margin-top: 1.6vw;
  }
}
.wysiwyg .tp-Notice_Btn {
  color: inherit;
  text-decoration: none;
  font-size: 1.4rem;
  padding-left: 14px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .wysiwyg .tp-Notice_Btn {
    font-size: 3.73333vw;
    padding-left: 3.73333vw;
  }
}
.wysiwyg .tp-Notice_Btn:hover {
  text-decoration: underline;
}

.wysiwyg .tp-Notice_Btn:before {
  content: "";
  color: #097a53;
  letter-spacing: -0.3em;
  font-size: 1rem;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  margin-top: -5px;
  left: 0;
  background-position: center;
  background-size: 10px 10px;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20role%3D%22img%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220px%22%20height%3D%2220px%22%20viewBox%3D%220%200%2024%2024%22%20aria-labelledby%3D%22chevronsRightIconTitle%20chevronsRightIconDesc%22%20stroke%3D%22%23097a53%22%20stroke-width%3D%222.4%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22miter%22%20fill%3D%22none%22%20color%3D%22%23097a53%22%3E%20%3Ctitle%20id%3D%22chevronsRightIconTitle%22%3EChevrons%20Right%3C%2Ftitle%3E%20%3Cdesc%20id%3D%22chevronsRightIconDesc%22%3EIcon%20of%20two%20chevrons%20pointing%20right%3C%2Fdesc%3E%20%3Cpolyline%20points%3D%2213%207%2018%2012%2013%2017%2013%2017%22%2F%3E%20%3Cpolyline%20points%3D%227%207%2012%2012%207%2017%207%2017%22%2F%3E%20%3C%2Fsvg%3E");
  transition: left 0.3s ease;
}

@media screen and (max-width: 768px) {
  .wysiwyg .tp-Notice_Btn:before {
    margin-top: -1.33333vw;
    font-size: 2.66667vw;
    width: 2.66667vw;
    height: 2.66667vw;
    background-size: 2.66667vw;
  }
}
.wysiwyg .cp-ListItem {
  padding-left: 0;
}

@media screen and (max-width: 768px) {
  .wysiwyg .cp-ListItem {
    margin-bottom: 0;
  }
}
.wysiwyg .cp-ListItem:before {
  content: none;
}

.wysiwyg .cp-ListItem_Link {
  text-decoration: none;
}

.wysiwyg .cp-ListItem_Date {
  color: #015634;
}

.wysiwyg .is-blank.cp-ListItem_Link:after,
.wysiwyg .is-jtd.cp-ListItem_Link:after,
.wysiwyg .is-pdf.cp-ListItem_Link:after {
  content: none;
}

@media screen and (max-width: 768px) {
  .subpage_parents .wysiwyg {
    padding-top: 4.26667vw;
  }
}
.book {
  display: block;
}

.book tbody {
  display: block;
}

.book tbody tr {
  display: block;
}

.book tbody tr td {
  display: block;
  border: 0;
  padding: 0;
}

.book tbody tr .desc {
  overflow: hidden;
  padding-bottom: 48px;
}

@media screen and (max-width: 768px) {
  .book tbody tr .desc {
    padding-bottom: 9.6vw;
  }
}
.book tbody tr .desc .img {
  float: left;
  width: 200px;
  margin-right: 40px;
}

@media screen and (max-width: 768px) {
  .book tbody tr .desc .img {
    float: none;
    width: 44.8vw;
    margin: 0 auto;
  }
}
.book tbody tr .desc .img img {
  width: 100%;
  height: auto;
  display: block;
}

.book tbody tr .status {
  clear: both;
  background: #f8f8f8;
  width: 100%;
  box-sizing: border-box;
  padding: 20px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .book tbody tr .status {
    padding: 2.13333vw;
  }
}
.book tbody tr .status .box,
.book tbody tr .status .wysiwyg .aim,
.wysiwyg .book tbody tr .status .aim,
.book tbody tr .status .wysiwyg #policy,
.wysiwyg .book tbody tr .status #policy {
  width: 100%;
  background: #fff;
  margin-top: 0;
  line-height: 1.866;
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  .book tbody tr .status .box,
  .book tbody tr .status .wysiwyg .aim,
  .wysiwyg .book tbody tr .status .aim,
  .book tbody tr .status .wysiwyg #policy,
  .wysiwyg .book tbody tr .status #policy {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0;
  }
}
.book tbody tr .status .leftbox,
.book tbody tr .status .rightbox {
  width: 50%;
  box-sizing: border-box;
  padding: 30px 12px;
}

@media screen and (max-width: 768px) {
  .book tbody tr .status .leftbox,
  .book tbody tr .status .rightbox {
    width: 100%;
    padding: 8.53333vw 2.66667vw 0;
  }
}
.book tbody tr .status .leftbox > *,
.book tbody tr .status .rightbox > * {
  margin-top: 0;
}

.wysiwyg .post_message {
  font-size: 1.8rem;
  text-align: left;
  background: none;
  border: 0;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .wysiwyg .post_message {
    font-size: 4.53333vw;
  }
}
.wysiwyg h1.post_message {
  font-size: 3.2rem;
}

@media screen and (max-width: 768px) {
  .wysiwyg h1.post_message {
    font-size: 6.4vw;
  }
}
.wysiwyg h2.post_message {
  font-size: 3rem;
}

@media screen and (max-width: 768px) {
  .wysiwyg h2.post_message {
    font-size: 6.13333vw;
  }
}
.wysiwyg h3.post_message {
  font-size: 2.6rem;
}

@media screen and (max-width: 768px) {
  .wysiwyg h3.post_message {
    font-size: 5.86667vw;
  }
}
.wysiwyg h4.post_message {
  font-size: 2.2rem;
}

@media screen and (max-width: 768px) {
  .wysiwyg h4.post_message {
    font-size: 5.33333vw;
  }
}
.wysiwyg h5.post_message {
  font-size: 2rem;
  padding: 0 20px;
}

@media screen and (max-width: 768px) {
  .wysiwyg h5.post_message {
    font-size: 4.8vw;
    padding: 0 0 0 5.33333vw;
  }
}
.wysiwyg h5.post_message:before {
  top: 15px;
}

@media screen and (max-width: 768px) {
  .wysiwyg h5.post_message:before {
    top: 4vw;
  }
}
.group_col,
.group_col1,
.group_col2,
.group_col3,
.group_col4,
.group_col5 {
  display: flex;
  justify-content: center;
  align-items: stretch;
  box-sizing: border-box;
  flex-wrap: wrap;
}
.group_col .item,
.group_col1 .item,
.group_col2 .item,
.group_col3 .item,
.group_col4 .item,
.group_col5 .item {
  box-sizing: border-box;
  margin-right: 1%;
  text-align: center;
  font-size: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  flex-flow: column;
  align-items: center;
  justify-content: flex-start;
}
.group_col .item img,
.group_col1 .item img,
.group_col2 .item img,
.group_col3 .item img,
.group_col4 .item img,
.group_col5 .item img {
  margin: 10px auto;
}
.group_col .item.center,
.group_col1 .item.center,
.group_col2 .item.center,
.group_col3 .item.center,
.group_col4 .item.center,
.group_col5 .item.center {
  text-align: center;
  align-items: center;
}
.group_col .item.left,
.group_col1 .item.left,
.group_col2 .item.left,
.group_col3 .item.left,
.group_col4 .item.left,
.group_col5 .item.left {
  text-align: left;
  align-items: flex-start;
}
.group_col .item.right,
.group_col1 .item.right,
.group_col2 .item.right,
.group_col3 .item.right,
.group_col4 .item.right,
.group_col5 .item.right {
  text-align: right;
  align-items: flex-end;
}
.group_col .item.middle,
.group_col1 .item.middle,
.group_col2 .item.middle,
.group_col3 .item.middle,
.group_col4 .item.middle,
.group_col5 .item.middle {
  justify-content: center;
}
.group_col .item.top,
.group_col1 .item.top,
.group_col2 .item.top,
.group_col3 .item.top,
.group_col4 .item.top,
.group_col5 .item.top {
  justify-content: flex-start;
}
.group_col .item.bottom,
.group_col1 .item.bottom,
.group_col2 .item.bottom,
.group_col3 .item.bottom,
.group_col4 .item.bottom,
.group_col5 .item.bottom {
  justify-content: flex-end;
}
.group_col .item:before,
.group_col1 .item:before,
.group_col2 .item:before,
.group_col3 .item:before,
.group_col4 .item:before,
.group_col5 .item:before {
  content: none;
}
.group_col .item_caption,
.group_col1 .item_caption,
.group_col2 .item_caption,
.group_col3 .item_caption,
.group_col4 .item_caption,
.group_col5 .item_caption {
  display: block;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .group_col1 {
    flex-flow: column;
  }
}
.group_col1 .item {
  margin: 0 0 2em 0;
}
@media only screen and (max-width: 768px) {
  .group_col1 .item {
    margin: 0 0 2em 0;
  }
}

@media only screen and (max-width: 768px) {
  .group_col2 {
    flex-flow: column;
  }
}
.group_col2 .item {
  width: 49%;
  margin: 0 2% 2em 0;
}
@media only screen and (max-width: 768px) {
  .group_col2 .item {
    width: 100%;
    margin: 0 0 2em 0;
  }
}
.group_col2 .item:nth-child(2n) {
  margin-right: 0;
}

@media only screen and (max-width: 768px) {
  .group_col3 {
    flex-flow: column;
  }
}
.group_col3 .item {
  width: 32%;
  margin: 0 2% 2em 0;
}
@media only screen and (max-width: 768px) {
  .group_col3 .item {
    width: 100%;
    margin: 0 0 2em 0;
  }
}
.group_col3 .item:nth-child(3n) {
  margin-right: 0;
}

@media only screen and (max-width: 768px) {
  .group_col4 {
    flex-flow: column;
  }
}
.group_col4 .item {
  width: 24%;
  margin: 0 1.3333333333% 2em 0;
}
@media only screen and (max-width: 768px) {
  .group_col4 .item {
    width: 100%;
    margin: 0 0 2em 0;
  }
}
.group_col4 .item:nth-child(4n) {
  margin-right: 0;
}

@media only screen and (max-width: 768px) {
  .group_col5 {
    flex-flow: column;
  }
}
.group_col5 .item {
  width: 19%;
  margin: 0 1.25% 2em 0;
}
@media only screen and (max-width: 768px) {
  .group_col5 .item {
    width: 100%;
    margin: 0 0 2em 0;
  }
}
.group_col5 .item:nth-child(5n) {
  margin-right: 0;
}

.col_btn a {
  text-decoration: none;
}
.col_btn a .item_btn {
  color: #323131;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0.8rem 3.2rem 0.8rem 0;
  text-align: left;
  display: block;
  text-decoration: none;
  border-bottom: 1px solid #5aaee0;
}
@media only screen and (max-width: 768px) {
  .col_btn a .item_btn {
    font-size: 1.6rem;
  }
}
.col_btn a .item_btn {
  position: relative;
}
.col_btn a .item_btn:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/common/ico_col_btn.svg) no-repeat center center/contain;
  width: 19px;
  height: 6px;
  top: 50%;
  transform: translateY(-50%);
  right: 0.5em;
  transition: all 0.3s;
}
.col_btn a:hover .item_btn:before {
  right: 0;
}

.btn-col2-block {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .btn-col2-block {
    flex-wrap: wrap;
  }
}
.btn-col2-block > div {
  width: 46%;
  margin-right: 4%;
  background: #f3fbec;
  border-radius: 10px;
  padding: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .btn-col2-block > div {
    width: 100%;
  }
}
.btn-col2-block > div:nth-child(2n) {
  margin-right: 0;
}
.btn-col2-block > div .ttl {
  margin: 0;
  text-align: center;
  font-family: "MFW-UDShinMGoPr6-Bold";
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .btn-col2-block > div .ttl {
    font-size: 1.8rem;
  }
}
.btn-col2-block > div .ttl span {
  position: relative;
  padding: 0 1.6rem;
}
.btn-col2-block > div .ttl span:before, .btn-col2-block > div .ttl span:after {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .btn-col2-block > div .ttl span:before, .btn-col2-block > div .ttl span:after {
    width: 6px;
    height: 6px;
  }
}
.btn-col2-block > div .ttl span:before {
  background: #ffbf00;
  top: 8px;
}
@media only screen and (max-width: 768px) {
  .btn-col2-block > div .ttl span:before {
    top: 6px;
  }
}
.btn-col2-block > div .ttl span:after {
  background: #5aaee0;
  top: 20px;
}
@media only screen and (max-width: 768px) {
  .btn-col2-block > div .ttl span:after {
    top: 18px;
  }
}

.txt-on-pht {
  align-items: flex-start;
}
.txt-on-pht .item {
  position: relative;
}
.txt-on-pht .item .txt {
  font-size: 1.4rem;
  text-align: left;
  max-width: 90%;
  position: absolute;
  bottom: 10px;
  left: 0;
  background: #fff;
  padding: 0.8rem 1.6rem;
  border-radius: 0 10px 0 0;
}
@media only screen and (max-width: 768px) {
  .txt-on-pht .item .txt {
    font-size: 1.2rem;
  }
}

/* --------------------------------------------------

post-slider

-------------------------------------------------- */
.slider-block.post-slider {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .slider-block.post-slider {
    margin-bottom: 4rem;
  }
}
.slider-block.post-slider .swiper-wrapper .swiper-slide a {
  color: #323131;
  text-decoration: none;
}
.slider-block.post-slider .swiper-wrapper .swiper-slide a figure {
  aspect-ratio: 4/3;
  object-fit: contain;
  overflow: hidden;
  position: relative;
}
.slider-block.post-slider .swiper-wrapper .swiper-slide a figure > img {
  background: #e2e5ec;
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.7s;
  object-fit: contain;
}
.slider-block.post-slider .swiper-wrapper .swiper-slide .caption {
  margin-bottom: 1.6rem;
}
.slider-block.post-slider .swiper-button-next,
.slider-block.post-slider .swiper-button-prev {
  top: 40%;
  transition: all 0.3s;
}
.slider-block.post-slider .swiper-button-next:after,
.slider-block.post-slider .swiper-button-prev:after {
  width: 4rem;
  height: 4rem;
}
@media only screen and (max-width: 768px) {
  .slider-block.post-slider .swiper-button-next,
  .slider-block.post-slider .swiper-button-prev {
    display: flex;
  }
}
.slider-block.post-slider .swiper-button-next {
  right: -1rem;
}
@media only screen and (max-width: 768px) {
  .slider-block.post-slider .swiper-button-next {
    right: -0.5rem;
  }
}
.slider-block.post-slider .swiper-button-prev {
  left: -1rem;
}
@media only screen and (max-width: 768px) {
  .slider-block.post-slider .swiper-button-prev {
    left: -0.5rem;
  }
}
.slider-block.post-slider .swiper-pagination {
  display: none;
}

.contact-btn-block {
  max-width: 800px;
  margin: 0 auto 4rem auto;
}
.contact-btn-block p a.btn-base {
  text-decoration: none;
}

.btn-block p a.btn-base {
  text-decoration: none;
}

#zoom01,
#zoom02,
#zoom03,
#zoom04,
#zoom05,
#zoom06,
#zoom07,
#zoom08,
#zoom09,
#zoom10,
#zoom11,
#zoom12,
#zoom13,
#zoom14,
#zoom15 {
  display: none;
}

.zoom {
  cursor: pointer;
}

.zoom_target {
  display: none;
  max-width: 90%;
  max-height: 90%;
}

.zoom_target .item dl:first-child,
.zoom_target .box dl:first-child,
.zoom_target .wysiwyg .aim dl:first-child,
.wysiwyg .zoom_target .aim dl:first-child,
.zoom_target .wysiwyg #policy dl:first-child,
.wysiwyg .zoom_target #policy dl:first-child {
  margin-top: 0;
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .zoom_target .item dl:first-child,
  .zoom_target .box dl:first-child,
  .zoom_target .wysiwyg .aim dl:first-child,
  .wysiwyg .zoom_target .aim dl:first-child,
  .zoom_target .wysiwyg #policy dl:first-child,
  .wysiwyg .zoom_target #policy dl:first-child {
    margin-left: 0;
    margin-right: 0;
  }
}
.zoom_target .item dl dd:last-child,
.zoom_target .box dl dd:last-child,
.zoom_target .wysiwyg .aim dl dd:last-child,
.wysiwyg .zoom_target .aim dl dd:last-child,
.zoom_target .wysiwyg #policy dl dd:last-child,
.wysiwyg .zoom_target #policy dl dd:last-child {
  padding-bottom: 0;
}

.zoom_target .item dl dd:last-child ul:last-child,
.zoom_target .box dl dd:last-child ul:last-child,
.zoom_target .wysiwyg .aim dl dd:last-child ul:last-child,
.wysiwyg .zoom_target .aim dl dd:last-child ul:last-child,
.zoom_target .wysiwyg #policy dl dd:last-child ul:last-child,
.wysiwyg .zoom_target #policy dl dd:last-child ul:last-child {
  margin-bottom: 0;
}

/* iframe-area */
.iframe-area {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: contain;
  margin-bottom: 3.2rem;
}
.iframe-area iframe {
  filter: saturate(1.2);
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.sns-block-post {
  margin-bottom: 6.4rem;
}
.sns-block-post .ttl {
  text-align: center;
}
.sns-block-post .ttl span {
  font-size: 2.5rem;
  font-weight: bold;
  font-family: "MFW-StarTimesTextPro-Bold";
  position: relative;
  padding: 0 3.2rem;
}
@media only screen and (max-width: 768px) {
  .sns-block-post .ttl span {
    font-size: 2rem;
  }
}
.sns-block-post .ttl span:before, .sns-block-post .ttl span:after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 60%;
  background: #333;
  bottom: 0;
}
.sns-block-post .ttl span:before {
  left: 0;
  transform: rotate(-30deg);
}
.sns-block-post .ttl span:after {
  right: 0;
  transform: rotate(30deg);
}
.sns-block-post ul {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2.4rem;
}
.sns-block-post ul li {
  margin: 0 4rem 0 0;
}
.sns-block-post ul li:last-child {
  margin-right: 0;
}

.btn-postback {
  text-align: center;
}
.btn-postback a.btn-base {
  color: #097a53;
  font-weight: normal;
  text-decoration: underline;
  display: inline-block;
  background: unset;
  transition: all 0.3s;
}
.btn-postback a.btn-base:hover {
  text-decoration: none;
}

.wysiwyg ul.anchor-link > li {
  padding-left: 0;
  margin-bottom: 0;
}
.wysiwyg ul.anchor-link > li:before {
  display: none;
}
.wysiwyg ul.anchor-link > li a {
  background: #f3fbec;
  text-decoration: none;
  border-radius: unset;
}
.wysiwyg ul.anchor-link > li a.active {
  color: #fff;
  background: #097A53;
}
.wysiwyg ul.anchor-link > li a:hover {
  color: #fff;
  background: #097A53;
}

@media only screen and (max-width: 768px) {
  .btn-postback a.back {
    width: auto;
  }
}
.btn-postback a.back:before {
  background: none;
  width: 6px;
  height: 6px;
  border-top: 1px solid #097A53;
  border-right: 1px solid #097A53;
  transform: translateY(-50%) rotate(-135deg);
}

.sentence-block {
  margin-bottom: 3.2rem;
}
@media only screen and (max-width: 768px) {
  .sentence-block {
    margin-bottom: 1.6rem;
  }
}
/*# sourceMappingURL=common_en.css.map */