@charset "UTF-8";
/*
Theme Name: guslight
*/
/* ***********************
  common
*********************** */
html {
  font-size: 62.5%;
}
@media screen and (max-width: 768px) {
  html {
    font-size: 60%;
  }
}
@media screen and (max-width: 599px) {
  html {
    font-size: 57.5%;
  }
}

body {
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.75;
  color: #000;
}

* {
  box-sizing: border-box;
}

p, ul, ol, li {
  margin: 0 0 1em;
}

p:last-child, li:last-child {
  margin-bottom: 0;
}

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

a,
.hasLink {
  transition: .6s;
  cursor: pointer;
}

a:hover,
.hasLink:hover {
  opacity: 0.6;
}

.block_center {
  margin-left: auto;
  margin-right: auto;
}

.block_left {
  margin-left: 0;
  margin-right: auto;
}

.block_right {
  margin-left: auto;
  margin-right: 0;
}

.center {
  text-align: center;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.red {
  color: #f00;
}

.org {
  color: #f7921a;
}

.iframeWrap {
  position: relative;
  width: 100%;
  padding-top: calc(100% * 9 / 16);
}

.iframeWrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bold {
  font-weight: 700;
}

.ibWrap > span {
  display: inline-block;
}

/* ***********************
  GNAVI
*********************** */
.header {
  padding: 0.2em 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 1000;
}
.header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header__logo {
  line-height: 0;
  padding: 1em 0;
}
.header__gnavi nav {
  height: 100%;
}
.header__gnavi-list {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  height: 100%;
  padding: 0;
}
.header__gnavi-list li {
  margin: 0 0 0 1em;
}
.header__gnavi-list a {
  color: inherit;
  text-decoration: inherit;
}
.header__button {
  position: fixed;
  top: 0.4em;
  right: 0;
  width: 2.5em;
  height: 2.5em;
  border: none;
  background: inherit;
}
.header__button span {
  position: absolute;
  left: 10%;
  width: 80%;
  height: 4px;
  background: #0a1240;
  margin: auto;
  transition: .3s;
}
.header__button span:nth-child(1) {
  top: 24%;
}
.header__button span:nth-child(2) {
  top: 0;
  bottom: 0;
}
.header__button span:nth-child(3) {
  bottom: 24%;
}
.navopen .header__button span {
  background: #fff;
}
.navopen .header__button span:nth-child(1) {
  top: calc(50% - 2px);
  transform: rotate(45deg);
}
.navopen .header__button span:nth-child(2) {
  transform: scale(0);
}
.navopen .header__button span:nth-child(3) {
  bottom: calc(50% - 2px);
  transform: rotate(-45deg);
}
@media screen and (min-width: 961px) {
  .header__button {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .header__logo {
    padding: 0.5em 0;
  }
  .header__logo img {
    height: 3rem;
  }
  .header__gnavi {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 4em 0 2em;
    font-size: 1.25em;
    transition: .3s;
  }
  .header__gnavi::before {
    content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    /*				background: rgba(255,255,255,0.8);*/
    background: #0a1240;
    opacity: 0.8;
    z-index: -1;
  }
  .header__gnavi-list {
    flex-direction: column;
    transition: .3s;
  }
  .header__gnavi-list li {
    margin-bottom: 1.5em;
    color: #fff;
  }
  .header:not(.navopen) .header__gnavi {
    opacity: 0;
    pointer-events: none;
  }
  .header:not(.navopen) .header__gnavi-list {
    transform: translateY(-20px);
  }
}

/* ***********************
  HEADER
*********************** */
h2.contHead {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-size: 2.8rem;
  color: #555555;
  line-height: 1.5;
}
h2.contHead .en {
  color: #0a1240;
  font-size: 0.5em;
}

/* ***********************
  CONTENT
*********************** */
section {
  margin-bottom: 4em;
  position: relative;
}

.inner {
  max-width: calc(1000px + 2em);
  margin: auto;
  padding: 0 1em;
}

.linkButton {
  font-size: 2.5rem;
}
.linkButton a {
  text-align: center;
  background: #555;
  color: #fff;
  text-decoration: inherit;
  display: inline-flex;
  justify-content: center;
  justify-content: center;
  align-items: center;
  width: 30rem;
  max-width: 100%;
  min-height: 2.5em;
}
@media screen and (max-width: 768px) {
  .linkButton {
    text-align: center;
    font-size: 2rem;
  }
}

.linkBtn {
  text-align: center;
}
.linkBtn a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #0a1240;
  color: #fff;
  text-decoration: none;
  min-height: 3.5em;
  padding: 0 2em;
  margin: 1em 0 2em;
  font-size: 1.2em;
}
@media screen and (max-width: 599px) {
  .linkBtn a {
    padding: 0 1em;
  }
}
@media screen and (max-width: 375px) {
  .linkBtn a {
    padding: 0 0.5em;
  }
}

.linkList {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 1.5em 0 2em;
  padding: 0;
  font-size: 2rem;
  line-height: 1.2;
}
.linkList li {
  margin: 0 0.25em 1em;
  width: 50%;
}
.linkList a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #0a1240;
  color: #fff;
  text-decoration: none;
  min-height: 3em;
}
@media screen and (max-width: 599px) {
  .linkList {
    flex-direction: column;
    align-items: center;
  }
  .linkList li {
    width: 250px;
    max-width: 100%;
  }
}

.contentTxt {
  margin-bottom: 5em;
  text-align: center;
}
.contentTxt p {
  margin-bottom: 0;
}
.contentTxt p span {
  display: inline-block;
}
@media screen and (max-width: 599px) {
  .contentTxt br {
    display: none;
  }
}

a.nonLink {
  position: relative;
}
a.nonLink:hover {
  opacity: 1;
}
a.nonLink:hover::before {
  content: "準備中";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.7);
  color: #000;
}

/* ----------------
  about
---------------- */
.phList ul {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.phList li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2.5em;
}
.phList li h3 {
  font-size: 1.7em;
  margin-bottom: 0.4em;
  line-height: 1.2;
}
.phList li h3:first-child {
  margin-top: 0;
}
.phList__ph {
  width: 48%;
  text-align: center;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.phList__txt {
  width: 50%;
}
.phList__right li {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .phList li {
    flex-direction: column;
    align-items: center;
  }
  .phList li > div {
    width: 600px;
    max-width: 100%;
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 599px) {
  .phList li h3 {
    font-size: 4.5vw;
  }
}

.titleList {
  text-align: center;
  max-width: 700px;
  margin: auto;
  padding: 0;
  list-style: none;
}
.titleList__ph {
  position: relative;
  margin-bottom: 1em;
}
.titleList__ph h3 {
  position: absolute;
  font-size: 1.75em;
  top: 0;
  bottom: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 0 3px #fff);
}
.titleList__txt {
  margin-bottom: 3em;
}
.titleList__txt p {
  margin-bottom: 0;
}
.titleList__txt p span {
  display: inline-block;
}
@media screen and (max-width: 599px) {
  .titleList {
    text-align: left;
  }
  .titleList__txt {
    margin-bottom: 3em;
  }
  .titleList__txt p br {
    display: none;
  }
}

.flowList {
  text-align: center;
  margin: auto;
  padding: 0;
}
.flowList li {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.flowList li:not(:last-child)::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-width: 0.8em 0.5em;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
  margin-top: 1em;
}

/* --------------------
  ACCESS
--------------------- */
.access__map {
  height: 450px;
  max-height: 75vw;
  margin-bottom: 4em;
}
.access__map iframe {
  width: 100%;
  height: 100%;
}
.access__info {
  width: 670px;
  max-width: 100%;
  margin: auto;
  line-height: 1.4;
}
.access__info dl {
  display: flex;
  margin: 0;
}
.access__info dl > * {
  padding: 0.8em 0;
}
.access__info dt {
  width: 140px;
  flex-shrink: 0;
}
.access__info dd {
  margin: 0;
}
.access__info p {
  padding: 0.8em 0;
  margin: 0;
}
.access__info p:first-child {
  padding-top: 0;
}
.access__info p:last-child {
  padding-bottom: 0;
}
.access__info span {
  display: inline-block;
}
.access__info a {
  color: inherit;
  text-decoration: inherit;
}
@media screen and (max-width: 599px) {
  .access__info dl {
    flex-direction: column;
  }
  .access__info dt {
    font-weight: 700;
    padding-bottom: 0;
  }
}

/* --------------------
  STAFF
--------------------- */
.staff__wrap {
  overflow: hidden;
}
.staff__ph {
  width: 300px;
  max-width: 40%;
  flex-shrink: 0;
  margin: 0 0 1.5em 2em;
  float: right;
}
@media screen and (max-width: 599px) {
  .staff__ph {
    float: none;
    margin: auto auto 1.5em;
    max-width: 80%;
  }
}

/* --------------------
  Privacy policy
--------------------- */
.privacy h3 {
  font-size: inherit;
  margin: 0;
}
.privacy__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.privacy__list li {
  margin-bottom: 2em;
}
.privacy__list ul {
  list-style: disc;
  padding-left: 1.5em;
}
.privacy__list ul li {
  margin-bottom: 0;
}

/* --------------------
  Contact
--------------------- */
.contLead {
  text-align: center;
}
.contLead p {
  margin: 0;
}

.inquiryForm {
  margin: auto;
  max-width: 800px;
}
.inquiryForm dl {
  display: flex;
  justify-content: center;
  margin-top: 2em;
}
.inquiryForm dl > * {
  width: 14em;
  flex-shrink: 0;
  margin: 0;
  text-align: left;
}
.inquiryForm dl > dd {
  width: 100%;
  flex-shrink: 1;
  padding-left: 2em;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.inquiryForm dl.required dt::after {
  content: "※";
  color: #f00;
}
.inquiryForm dt {
  padding-top: 0.5em;
}
.inquiryForm input {
  width: calc(100% - 2em);
  padding: 0.5em;
}
.inquiryForm .caut {
  color: #e61d25;
  margin: 0;
  width: 100%;
}

label.flexbox {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

label.flexbox input {
  width: 1.5em;
}

.inquiryForm input,
.inquiryForm textarea {
  width: 100%;
}

.inquiryForm input[name="class"],
.inquiryForm input[name="age"] {
  width: 5em;
}

.inquiryForm input[name="post"],
.inquiryForm input[name="zip-btn"] {
  width: 11em;
  margin-right: 1em;
  max-width: calc(50% - 1em);
}

.inquiryForm dd span {
  padding: 0.25em;
}

.radioWrap {
  width: 100%;
}

.radioWrap input {
  width: auto;
  margin-right: 0.5em;
}

.radioWrap label {
  margin-right: 0.5em;
  padding: 0 0.5em;
}

input.confirmErr {
  background: rgba(255, 0, 0, 0.2);
  color: #f00;
  border-color: #f00;
}

dd.confirmErr::after {
  content: "内容が一致しません";
  color: #f00;
  font-size: 0.8em;
}

[type=submit].confirmErr {
  pointer-events: none;
  cursor: no-drop;
  opacity: 0.4;
}

.btnWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.btnWrap button,
.btnWrap a {
  padding: 1em 1em;
  margin: 1em 1em 0;
  border: none;
  background: #555555;
  color: #fff;
  line-height: 1;
  display: block;
  cursor: pointer;
  font-size: 1.4em;
  width: 470px;
  max-width: 80%;
  text-align: center;
  text-decoration: none;
}

.btnWrap button[type="button"] {
  background: #ccc;
  color: #555;
}

.btnWrap button:hover {
  opacity: 0.7;
}

.inquiryForm.confirm dd {
  padding: 0.5em 0;
}

.inquiryForm.confirm dd span {
  padding: 0;
}

.inquiryForm.confirm dd span.inputBefore {
  padding-right: 0.5em;
}

.inquiryForm.confirm dd span.inputAfter {
  padding-left: 0.5em;
}

.inquiryForm.confirm input[name="zip-btn"] {
  display: none;
}

@media screen and (max-width: 767px) {
  .inquiryForm dl {
    flex-direction: column;
    width: 95%;
    margin: 2em auto 0;
  }

  .inquiryForm dl > dd {
    padding-left: 0;
    margin-top: 0.5em;
  }
}
.pagination {
  display: flex;
  justify-content: space-around;
  margin: 1em auto;
  max-width: 470px;
}

.pagination a {
  width: 10em;
  text-align: center;
  display: inline-block;
  color: inherit;
  text-decoration: inherit;
}

/* ***********************
  TOP
*********************** */
/* ----------
  KV
---------- */
.kv {
  max-height: 60vw;
  background-size: cover;
  background-position: center center;
}
.cat_staff .kv {
  background-position: left center;
}
.cat_privacy .kv {
  background-position: right center;
}
.kv::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: url("../img/common/kv_icon.png") center center/contain no-repeat;
  height: 5em;
  margin: auto;
}
.kv__top {
  height: 850px;
}
.kv__cont {
  height: 300px;
}
.kv .inner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.kv h1 {
  margin: 0;
  color: #fff;
  filter: drop-shadow(0 0 1px #060001) drop-shadow(0 0 5px #060001) drop-shadow(0 0 5px #060001);
  font-size: 3rem;
  text-align: center;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .kv h1 {
    font-size: 4vw;
  }
}

/* ***********************
  consult
*********************** */
.consult__table {
  text-align: center;
}
.consult__table table {
  border-collapse: collapse;
  margin: auto;
  border: solid #999999;
  border-width: 1px 0 0 1px;
}
.consult__table tr:first-child {
  background: #0a1240;
  color: #fff;
}
.consult__table tr > * {
  border: solid #999999;
  border-width: 0 1px 1px 0;
}
.consult__table th {
  width: 8em;
  padding: 1em 0;
}
.consult__table td {
  width: 3em;
  padding: 1em 0;
}
@media screen and (max-width: 375px) {
  .consult {
    font-size: 3.5vw;
  }
}

/* ***********************
  info
*********************** */
.info__box {
  color: #fff;
}
.info__box > * {
  display: flex;
  align-items: center;
}
.info__txt {
  background: #0a1240;
}
.info__ph {
  background: center center / cover;
}
.info__head {
  font-size: 3rem;
  font-weight: 400;
  margin: 0 0 0.4em;
}
@media screen and (min-width: 961px) {
  .info__box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }
  .info__box > *:nth-child(1) {
    grid-area: 1 / 2 / 2 / 3;
  }
  .info__box > *:nth-child(2) {
    grid-area: 1 / 1 / 2 / 2;
    justify-content: flex-end;
  }
  .info__box > *:nth-child(3) {
    grid-area: 2 / 1 / 3 / 2;
  }
  .info__box > *:nth-child(4) {
    grid-area: 2 / 2 / 3 / 3;
  }
  .info__txt {
    padding: 2em 4em;
    min-height: 30em;
  }
}
@media screen and (max-width: 960px) {
  .info__box > * {
    min-height: 30vw;
  }
  .info__inner {
    padding: 2em 1em;
    width: 640px;
    max-width: 100%;
    margin: auto;
  }
}

/* ***********************
  news
*********************** */
.news__list {
  max-width: 800px;
  padding: 1em 0;
  margin: auto;
}
.news__list dl {
  display: flex;
}
.news__list dt {
  flex-shrink: 0;
  width: 6em;
}
.news__list dd {
  margin: 0;
}
.news__list a {
  color: inherit;
  text-decoration: inherit;
}
@media screen and (max-width: 768px) {
  .news__list {
    width: 640px;
    max-width: 100%;
    margin: auto;
  }
}
@media screen and (max-width: 599px) {
  .news dl {
    flex-wrap: wrap;
  }
  .news__txt {
    width: 100%;
  }
}

/* ***********************
  BLOG
*********************** */
.blog__list {
  padding: 1em 0;
  margin: auto;
}
.blog__list dl {
  display: flex;
  align-items: flex-start;
}
.blog__list dt {
  flex-shrink: 0;
  width: 6em;
}
.blog__list dd {
  margin-left: 0;
}
.blog__list a {
  color: inherit;
  text-decoration: inherit;
}
.blog__cat {
  flex-shrink: 0;
  width: 6em;
  line-height: 1;
  padding: 0.375em 0;
  margin-right: 0.5em;
  text-align: center;
  color: #fff;
}
.blog__cat p {
  padding: 0.1em 0;
}

.blog__cat-honmachi {
  background: #0a1240;
}
[class^="blog__cat-"],
.blog__cat-tamago {
  background: #062c60;
}
.blog__title {
  font-weight: 700;
  margin: 0;
}
.blog__cont {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .blog__list {
    width: 640px;
    max-width: 100%;
    margin: auto;
  }
  .blog dt,
  .blog dd {
    max-width:100%;
  }
  .blog dl {
    flex-wrap: wrap;
  }
  .blog__title {
    width: 100%;
  }
}

/* ***********************
  map
*********************** */
.map {
  margin-bottom: 0;
}
.map__wrap {
  line-height: 0;
}
.map__wrap iframe {
  width: 100%;
  height: 560px;
  max-height: 80vw;
}
.map__txt {
  max-width: 1000px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto;
  padding: 1em 0;
}
.map__txt > * {
  margin-right: 1em;
}
.map__txt > *:last-child {
  margin-right: 0;
}
.map__logo {
  width: 15em;
}
.map__address p {
  margin: 0;
}
.map__address a {
  color: inherit;
  text-decoration: inherit;
}
.map__address-ttl {
  font-weight: 700;
  font-size: 1.1em;
}
.map__btn a {
  text-align: center;
  background: #555;
  color: #fff;
  text-decoration: inherit;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  font-size: 1.8rem;
  padding: 0.5em 2em;
  font-weight: 700;
}
@media screen and (max-width: 960px) {
  .map__txt {
    flex-wrap: wrap;
    justify-content: center;
    padding: 1em;
  }
  .map__btn {
    max-width: 100%;
    padding: 1em 1em 0;
  }
  .map__btn a {
    width: 300px;
    max-width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .map__txt {
    flex-direction: column;
  }
  .map__txt > * {
    margin: 0 0 1em;
  }
  .map__btn {
    padding-top: 0;
  }
}

/* ***********************
  FOOTER
*********************** */
.floatBnr {
  position: fixed;
  bottom: 1em;
  right: 0;
  background: #555555;
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 1em;
  z-index: 100;
  transition: .5s ease;
}
.floatBnr__btn {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: none;
  background: #555555;
  transform: translateX(-50%);
}
.floatBnr__btn::before {
  content: "";
  display: block;
  width: 40%;
  height: 40%;
  border: 1px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(45deg) translate(-20%, 20%);
}
.floatBnr p {
  font-size: 1.1em;
  margin-bottom: 0.25em;
}
.floatBnr a {
  color: inherit;
  text-decoration: none;
}
.floatBnr ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.floatBnr__links li {
  margin-bottom: 0.5em;
}
.floatBnr__links a {
  display: flex;
  align-items: center;
  background: #0a1240;
  padding: 0.3em 0.5em;
  line-height: 1;
}
.floatBnr__links-icon {
  flex-shrink: 0;
  width: 15%;
}
.floatBnr__links-txt {
  width: 85%;
}
.floatBnr__sns {
  display: flex;
  justify-content: space-between;
  color: #0a1240;
}
.floatBnr__sns li {
  width: 49%;
  margin: 0;
}
.floatBnr__sns a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  background: #fff;
  padding: 0.2em 0;
  line-height: 1;
  font-size: 1.25em;
}
.floatBnr:not(.open) {
  transform: translateX(100%);
}
.floatBnr:not(.open) .floatBnr__btn::before {
  transform: rotate(225deg) translate(-20%, 20%);
}
@media screen and (max-width: 768px) {
  .floatBnr {
    bottom: 0;
    left: 0;
    padding: 0;
  }
  .floatBnr p {
    display: none;
  }
  .floatBnr__inner {
    display: flex;
  }
  .floatBnr__inner ul {
    display: flex;
  }
  .floatBnr__inner li {
    padding: 0.5em 0.25em;
  }
  .floatBnr a {
    display: flex;
    flex-direction: column;
  }
  .floatBnr__links {
    width: 60%;
  }
  .floatBnr__links li {
    width: calc(100% / 3);
    margin: 0;
    display: flex;
  }
  .floatBnr__links a {
    font-size: 1rem;
    width: 100%;
    padding: 0.3em 0;
  }
  .floatBnr__links-icon {
    width: auto;
  }
  .floatBnr__sns {
    width: 40%;
  }
  .floatBnr__sns li {
    width: calc(100% / 2);
  }
  .floatBnr__btn {
    transform: translateY(-50%);
  }
  .floatBnr__btn::before {
    transform: rotate(135deg) translate(-20%, 20%);
  }
  .floatBnr:not(.open) {
    transform: translateY(100%);
  }
  .floatBnr:not(.open) .floatBnr__btn::before {
    transform: rotate(-45deg) translate(-20%, 20%);
  }
}

.breadcrumb {
  background: #000000;
}
.breadcrumb nav {
  max-width: calc(1000px + 2em);
  margin: auto;
  padding: 0.3em 1em;
  color: #fff;
}
.breadcrumb ul {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.breadcrumb li {
  margin: 0;
}
.breadcrumb li:not(:last-child)::after {
  content: ">";
  margin: 0 0.25em;
}
.breadcrumb a {
  color: inherit;
  text-decoration: inherit;
}

.footer {
  background: #0a1240;
}
.footer__inner {
  position: relative;
  max-width: calc(1000px + 2em);
  margin: auto;
  padding: 2em 1em;
  text-align: center;
  font-size: 2.6rem;
}
.footer__inner a {
  color: inherit;
  text-decoration: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer__link {
  margin-bottom: 1.5em;
}
.footer__link a {
  max-width: 500px;
  background: #fff;
  margin: auto;
}
.footer__bnr {
  color: #fff;
  text-shadow: 0 0 2px #060001,0 0 3px #060001,0 0 3px #060001,0 0 3px #060001;
}
.footer__bnr ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__bnr li {
  width: 46%;
}
.footer__bnr a {
  margin: 0;
  height: 4.5em;
  background: center center/cover;
}
@media screen and (max-width: 768px) {
  .footer__bnr {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer__bnr ul {
    max-width: 100%;
    width: 500px;
  }
  .footer__bnr li {
    width: 100%;
  }
}

#scrollTop {
  position: absolute;
  top: 0;
  right: 1em;
  width: 10rem;
  height: 5rem;
  overflow: hidden;
  border: none;
  background: inherit;
}
#scrollTop::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding-bottom: 100%;
  background: #555;
  border-radius: 50%;
}
#scrollTop::after {
  content: "";
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  margin: auto;
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1;
  border: solid #fff;
  border-width: 2px 0 0 2px;
  transform: rotate(45deg) skew(20deg, 20deg);
}
@media screen and (max-width: 599px) {
  #scrollTop {
    width: 6rem;
    height: 3rem;
  }
  #scrollTop::after {
    width: 1rem;
    height: 1rem;
  }
}

.copyright {
  background: #555;
  color: #fff;
  font-size: 1.1rem;
  text-align: center;
}
.copyright p {
  margin: 0;
  padding: 0.5em;
}
