@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon/icomoon.ttf?x4b46s") format("truetype"),
  url("../fonts/icomoon/icomoon.woff?x4b46s") format("woff"),
  url("../fonts/icomoon/icomoon.svg?x4b46s#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}

.u-toc-offset {
  outline: none;
}
.u-toc-offset:focus,.u-toc-offset:active {
    border-top: 100px solid transparent;
    margin-top: -100px;
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
    outline: #6b7581 dashed 2px !important;
}
.c-pagenav {
  display: none;
  width: 100%;
  padding: 0;
  margin: 0 0 10px 0;
  position: relative;
  -webkit-transition: all 0.5s ease-in-out 0s;
  transition: all 0.5s ease-in-out 0s;
  height: auto;
  z-index: 100;
  position: -webkit-sticky;
  position: sticky;
  top: 65px;
}
@media (min-width: 45em) {
  .c-pagenav {
    top: 75px;
  }
}
@media (min-width: 64.0625em) {
  .c-pagenav {
    top: 95px;
  }
}
@media (min-width: 80em) {
  .c-pagenav {
    top: 150px;
  }
}
.c-pagenav--vanish {
  -webkit-transition: all 0.5s ease-in-out 0.5s;
  transition: all 0.5s ease-in-out 0.5s;
  z-index: -1;
}
.c-pagenav--vanish-active {
  -webkit-transition: all 0.5s ease-in-out 0s;
  transition: all 0.5s ease-in-out 0s;
  z-index: 100;
}

_:-ms-fullscreen,
:root .c-pagenav {
  display: none;
}

.c-pagenav__layout {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0 auto;
}

.c-pagenav__wrapper {
  width: 100%;
  position: relative;
  padding: 0;
  -webkit-transition: all 0.5s ease-in-out 0s;
  transition: all 0.5s ease-in-out 0s;
  background: url("../images/bg/paper_bg.jpg") top center;
  right: 0;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
@media (min-width: 80em) {
  .c-pagenav__wrapper {
    margin: 0 75px;
    width: calc(100% - 150px);
  }
}
.c-pagenav--vanish .c-pagenav__wrapper {
  -webkit-transform: translateY(100px);
  transform: translateY(100px);
  opacity: 0;
  -webkit-transition: all 0.5s ease-in-out 0s;
  transition: all 0.5s ease-in-out 0s;
}
.c-pagenav--vanish-active .c-pagenav__wrapper {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  -webkit-transition: all 0.5s ease-in-out 0s;
  transition: all 0.5s ease-in-out 0s;
}

.c-pagenav__title {
  display: inline-block;
  background: #18384e;
  color: #ffffff;
  font-size: 24px;
  font-size: 1.33333rem;
  line-height: 30px;
  padding: 0 20px;
  position: relative;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
.c-pagenav__title:after {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 10px;
  -webkit-transform: skewX(-10deg);
  transform: skewX(-10deg);
  -webkit-transform-origin: bottom right;
  transform-origin: bottom right;
  content: "";
  background: #18384e;
}
.c-pagenav--vanish .c-pagenav__title,
.c-pagenav--vanish-active .c-pagenav__title {
  padding: 0 20px 0 40px;
}
@media (min-width: 45em) {
  .c-pagenav__title {
    padding: 0 20px 0 40px;
  }
}
@media (min-width: 80em) {
  .c-pagenav__title {
    font-size: 24px;
    font-size: 1.33333rem;
    line-height: 60px;
    padding: 0 40px;
  }
  .c-pagenav__title:after {
    width: 20px;
  }
  .c-pagenav--vanish .c-pagenav__title,
  .c-pagenav--vanish-active .c-pagenav__title {
    padding: 0 40px;
  }
}

.c-pagenav__menu {
  width: 100%;
  padding: 0 20px;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  position: relative;
}
@media (min-width: 45em) {
  .c-pagenav__menu {
    padding: 0 40px;
  }
}

.c-pagenav__wrap {
  margin: 0;
  padding: 10px 0;
  list-style: none;
  display: block;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  -webkit-transition: all 0.3s ease-in-out 0s;
  transition: all 0.3s ease-in-out 0s;
}
@media (min-width: 80em) {
  .c-pagenav__wrap {
    padding: 20px 0 30px;
    position: relative;
  }
  .c-pagenav__wrap:before {
    content: "";
    position: absolute;
    right: 92%;
    top: 50px;
    width: 20%;
    height: 100%;
    background: url("/images/bg/drawn_arrow_02.svg") no-repeat center
    center;
    background-size: 100% 100%;
    z-index: 1;
    -webkit-animation: showarrow 10s;
    animation: showarrow 10s;
  }
  .c-pagenav--vanish-active .c-pagenav__wrap:before {
    display: none;
  }
}

.c-pagenav__item {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
  vertical-align: top;
  z-index: 2;
  position: relative;
}
@media (min-width: 45em) {
  .c-pagenav__item {
    width: 50%;
  }
}
@media (min-width: 64.0625em) {
  .c-pagenav__item {
    width: 33.333333%;
  }
}

.c-pagenav__link {
  display: inline-block;
  width: auto;
  font-family: "PT Serif", Times, serif;
  padding-left: 0;
  padding-right: 35px;
  font-size: 20px;
  line-height: 25px;
  padding-top: 3px;
  padding-bottom: 3px;
  color: #18384e;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  position: relative;
}
@media (min-width: 320px) {
  .c-pagenav__link {
    font-size: calc(17.7931px + 0.68966vw);
  }
}
@media (min-width: 1770px) {
  .c-pagenav__link {
    font-size: 30px;
  }
}
@media (min-width: 320px) {
  .c-pagenav__link {
    line-height: calc(22.7931px + 0.68966vw);
  }
}
@media (min-width: 1770px) {
  .c-pagenav__link {
    line-height: 35px;
  }
}
@media (min-width: 320px) {
  .c-pagenav__link {
    padding-top: calc(0.35172px + 0.82759vw);
  }
}
@media (min-width: 1770px) {
  .c-pagenav__link {
    padding-top: 15px;
  }
}
@media (min-width: 320px) {
  .c-pagenav__link {
    padding-bottom: calc(0.35172px + 0.82759vw);
  }
}
@media (min-width: 1770px) {
  .c-pagenav__link {
    padding-bottom: 15px;
  }
}
.c-pagenav__link:after {
  position: absolute;
  right: 0;
  bottom: 3px;
  margin: 0;
  content: "←";
  color: #18384e;
  font-size: 30px;
  line-height: 1;
  vertical-align: baseline;
  display: inline-block;
  opacity: 0;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
@media (min-width: 320px) {
  .c-pagenav__link:after {
    bottom: calc(-0.75172px + 1.17241vw);
  }
}
@media (min-width: 1770px) {
  .c-pagenav__link:after {
    bottom: 20px;
  }
}
.c-pagenav__link--active:after {
  opacity: 1;
}
@media (min-width: 80em) {
  .c-pagenav__link {
    border-width: 8px;
  }
}

.c-pagenav__sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 65px;
  left: 0;
  width: 40px;
  height: 40px;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  margin-bottom: -40px;
  z-index: 101;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media (min-width: 45em) {
  .c-pagenav__sidebar {
    top: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 64.0625em) {
  .c-pagenav__sidebar {
    top: 120px;
  }
}
@media (min-width: 80em) {
  .c-pagenav__sidebar {
    -webkit-transform: translateX(-40px);
    transform: translateX(-40px);
  }
}
.c-pagenav__sidebar--show {
  -webkit-transition: all 0.5s ease-in-out 0.5s;
  transition: all 0.5s ease-in-out 0.5s;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
@media (min-width: 80em) {
  .c-pagenav__sidebar {
    top: 150px;
    width: 75px;
    /*margin-bottom: -60px;*/
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .c-pagenav__sidebar--show {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

_:-ms-fullscreen,
:root .c-pagenav__sidebar {
  display: none;
}

.c-pagenav__toggler {
  background: #e5e5e5;
  width: 100%;
  height: 45px;
  min-height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  padding: 0;
  position: -webkit-sticky;
  position: sticky;
  top: 65px;
  left: 0;
  -webkit-transition: all 0.5s ease-in-out 0s,
  background 120ms ease-in-out 480ms;
  transition: all 0.5s ease-in-out 0s, background 120ms ease-in-out 480ms;
  -webkit-animation-duration: 600ms;
  animation-duration: 600ms;
  -webkit-animation-name: c-pagenav__toggler--open;
  animation-name: c-pagenav__toggler--open;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.c-pagenav__toggler svg {
  position: absolute;
  left: 50%;
  margin-left: -15px;
  top: 50%;
  margin-top: -15px;
  z-index: -1;
  width: 30px;
  height: 30px;
  color: #18384e;
  -webkit-animation-duration: 600ms;
  animation-duration: 600ms;
  -webkit-animation-name: c-pagenav__toggler-close--open;
  animation-name: c-pagenav__toggler-close--open;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.c-pagenav__sidebar--show .c-pagenav__toggler {
  cursor: pointer;
}
.c-pagenav__toggler.c-pagenav__toggler--closed {
  background: transparent;
}
.c-pagenav__toggler.c-pagenav__toggler--closed svg {
  -webkit-animation-name: c-pagenav__toggler-close-close;
  animation-name: c-pagenav__toggler-close-close;
}
.c-pagenav__toggler:before {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-animation-duration: 600ms;
  animation-duration: 600ms;
  -webkit-animation-name: c-pagenav__toggler-before--open;
  animation-name: c-pagenav__toggler-before--open;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  content: "";
  font-family: icomoon;
  overflow: hidden;
  font-size: 20px;
  /* font-size: 1.11111rem; */
  line-height: 1.5;
}
.c-pagenav__toggler.c-pagenav__toggler--closed:before {
  width: 40px;
  font-family: icomoon;
  color: #ffffff;
  font-size: 20px;
  /* font-size: 1.11111rem; */
  line-height: 1.5;
  -webkit-animation-name: c-pagenav__toggler-before--close;
  animation-name: c-pagenav__toggler-before--close;
}

@-webkit-keyframes c-pagenav__toggler-close-open {
  0% {
    width: 0;
    margin-left: 0;
  }
  80% {
    width: 0;
    margin-left: 0;
  }
  100% {
    width: 30px;
    margin-left: -15px;
  }
}

@keyframes c-pagenav__toggler-close-open {
  0% {
    width: 0;
    margin-left: 0;
  }
  80% {
    width: 0;
    margin-left: 0;
  }
  100% {
    width: 30px;
    margin-left: -15px;
  }
}

@-webkit-keyframes c-pagenav__toggler-close-close {
  0% {
    width: 30px;
    margin-left: -15px;
  }
  80% {
    width: 30px;
    margin-left: -15px;
  }
  100% {
    width: 0;
    margin-left: 0;
  }
}

@keyframes c-pagenav__toggler-close-close {
  0% {
    width: 30px;
    margin-left: -15px;
  }
  80% {
    width: 30px;
    margin-left: -15px;
  }
  100% {
    width: 0;
    margin-left: 0;
  }
}

@-webkit-keyframes c-pagenav__toggler-before--open {
  0% {
    width: 40px;
    color: #ffffff;
    background: #18384e;
  }
  80% {
    width: 40px;
    color: #18384e;
    background: #e5e5e5;
  }
  100% {
    width: 0;
    color: #18384e;
    background: #e5e5e5;
  }
}

@keyframes c-pagenav__toggler-before--open {
  0% {
    width: 40px;
    color: #ffffff;
    background: #18384e;
  }
  80% {
    width: 40px;
    color: #18384e;
    background: #e5e5e5;
  }
  100% {
    width: 0;
    color: #18384e;
    background: #e5e5e5;
  }
}

@-webkit-keyframes c-pagenav__toggler-before--close {
  0% {
    width: 0;
    color: #18384e;
    background: #e5e5e5;
  }
  80% {
    width: 40px;
    color: #18384e;
    background: #e5e5e5;
  }
  100% {
    width: 40px;
    color: #ffffff;
    background: #18384e;
  }
}

@keyframes c-pagenav__toggler-before--close {
  0% {
    width: 0;
    color: #18384e;
    background: #e5e5e5;
  }
  80% {
    width: 40px;
    color: #18384e;
    background: #e5e5e5;
  }
  100% {
    width: 40px;
    color: #ffffff;
    background: #18384e;
  }
}
@media (min-width: 80em) {
  .c-pagenav__toggler:before {
    font-size: 20px;
    font-size: 1.11111rem;
    line-height: 1.5;
  }
  .c-pagenav__toggler:after {
    display: none;
  }
}

.c-pagenav__lift {
  width: 100%;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.c-pagenav__lift-list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
}

.c-pagenav__lift-item {
  display: block;
  margin: 0;
  line-height: 0;
  width: 15rem;
  text-align: right;
  margin-left: 100%;
  padding-top: 1px;
  overflow: hidden;
  background: #e5e5e5;
  -webkit-animation-duration: 600ms;
  animation-duration: 600ms;
  -webkit-animation-name: c-pagenav__lift-item--open;
  animation-name: c-pagenav__lift-item--open;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.c-pagenav__lift-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 15rem;
  border-left: 5px solid #bfbb00;
  line-height: 1.25;
  min-height: 50px;
  font-size: 12px;
  padding: 5px 10px;
  overflow: hidden;
  text-decoration: none;
  background: rgba(255, 255, 255, 0);
  text-align: left;
  -webkit-transition: none;
  transition: none;
}
.c-pagenav__lift-link span {
  -webkit-box-shadow: inset 0 -2px 0 0 #bfbb00;
  box-shadow: inset 0 -2px 0 0 #bfbb00;
}
.c-pagenav__lift-item:hover .c-pagenav__lift-link {
  background: #ffffff;
}
@media (min-width: 80em) {
  .c-pagenav__lift-link {
    font-size: 15px;
  }
	.c-pagenav__lift-link:focus{
		border: 1px dashed #18384e !important;
	}
}
.c-pagenav__lift-link--active {
  border-color: #18384e;
}

.c-pagenav__list-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: -45px;
  margin-left: 100%;
  height: 45px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #e5e5e5;
  width: 15rem;
  padding: 0 10px 0 15px;
  -webkit-animation-duration: 600ms;
  animation-duration: 600ms;
  -webkit-animation-name: c-pagenav__list-title--open;
  animation-name: c-pagenav__list-title--open;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.c-pagenav__lift--vanish .c-pagenav__list-title {
  overflow: hidden;
  -webkit-animation-name: c-pagenav__list-title--close;
  animation-name: c-pagenav__list-title--close;
}

.c-pagenav__lift--vanish .c-pagenav__lift-item {
  overflow: hidden;
  -webkit-animation-name: c-pagenav__lift-item--close;
  animation-name: c-pagenav__lift-item--close;
}

@-webkit-keyframes c-pagenav__list-title--open {
  0% {
    width: 0;
    background: transparent;
    padding: 0;
    color: transparent;
  }
  50% {
    width: 5px;
    background: #e5e5e5;
    padding: 0;
    color: transparent;
  }
  80% {
    width: 15rem;
    background: #e5e5e5;
    padding: 0 10px 0 15px;
    color: transparent;
  }
  100% {
    width: 15rem;
    background: #e5e5e5;
    padding: 0 10px 0 15px;
    color: #0c2333;
  }
}

@keyframes c-pagenav__list-title--open {
  0% {
    width: 0;
    background: transparent;
    padding: 0;
    color: transparent;
  }
  50% {
    width: 5px;
    background: #e5e5e5;
    padding: 0;
    color: transparent;
  }
  80% {
    width: 15rem;
    background: #e5e5e5;
    padding: 0 10px 0 15px;
    color: transparent;
  }
  100% {
    width: 15rem;
    background: #e5e5e5;
    padding: 0 10px 0 15px;
    color: #0c2333;
  }
}

@-webkit-keyframes c-pagenav__list-title--close {
  0% {
    width: 15rem;
    background: #e5e5e5;
    padding: 0 10px 0 15px;
    color: #0c2333;
  }
  20% {
    color: transparent;
    width: 15rem;
    background: #e5e5e5;
    padding: 0 10px 0 15px;
  }
  50% {
    width: 5px;
    color: transparent;
    background: #e5e5e5;
    padding: 0;
  }
  100% {
    width: 0;
    color: transparent;
    background: transparent;
    padding: 0;
  }
}

@keyframes c-pagenav__list-title--close {
  0% {
    width: 15rem;
    background: #e5e5e5;
    padding: 0 10px 0 15px;
    color: #0c2333;
  }
  20% {
    color: transparent;
    width: 15rem;
    background: #e5e5e5;
    padding: 0 10px 0 15px;
  }
  50% {
    width: 5px;
    color: transparent;
    background: #e5e5e5;
    padding: 0;
  }
  100% {
    width: 0;
    color: transparent;
    background: transparent;
    padding: 0;
  }
}

@-webkit-keyframes c-pagenav__lift-item--open {
  0% {
    width: 5px;
    margin-left: calc(50% - 2px);
    color: transparent;
  }
  50% {
    width: 5px;
    margin-left: 100%;
    color: transparent;
  }
  80% {
    width: 15rem;
    margin-left: 100%;
    color: transparent;
  }
  100% {
    width: 15rem;
    margin-left: 100%;
    color: #0c2333;
  }
}

@keyframes c-pagenav__lift-item--open {
  0% {
    width: 5px;
    margin-left: calc(50% - 2px);
    color: transparent;
  }
  50% {
    width: 5px;
    margin-left: 100%;
    color: transparent;
  }
  80% {
    width: 15rem;
    margin-left: 100%;
    color: transparent;
  }
  100% {
    width: 15rem;
    margin-left: 100%;
    color: #0c2333;
  }
}

@-webkit-keyframes c-pagenav__lift-item--close {
  0% {
    width: 15rem;
    margin-left: 100%;
    color: #0c2333;
  }
  20% {
    width: 15rem;
    margin-left: 100%;
    color: transparent;
  }
  50% {
    width: 5px;
    margin-left: 100%;
    color: transparent;
  }
  100% {
    width: 5px;
    margin-left: calc(50% - 2px);
    color: transparent;
  }
}

@keyframes c-pagenav__lift-item--close {
  0% {
    width: 15rem;
    margin-left: 100%;
    color: #0c2333;
  }
  20% {
    width: 15rem;
    margin-left: 100%;
    color: transparent;
  }
  50% {
    width: 5px;
    margin-left: 100%;
    color: transparent;
  }
  100% {
    width: 5px;
    margin-left: calc(50% - 2px);
    color: transparent;
  }
}
