@charset "UTF-8";
/* CSS Document */
@keyframes fuwa {
  0% {
    opacity: 0;
    transform: translateY(60px);
  }
}
.nodisplay, .no-display {
  display: none !important;
}
html {
  font-size: 62.5%; /* 1rem = 10px */
  scroll-behavior: smooth;
  scroll-padding-top: 10rem;
}
body {
  line-height: 1.6;
  font-weight: 400;
}
.content-wrapper {
  animation: fuwa 2s;
}
h1, h2, h3 {
  margin: 0 0 6rem 0;
}
h1 {
  font-size: 21px;
  color: rgba(12, 105, 13, 1.00);
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-weight: 800 !important;
}
h2 {
  font-size: 18px;
  padding: 2rem;
  background-color: rgba(220, 220, 220, 1.00);
  border-left: solid rgba(155, 155, 155, 1.00) 1.6rem;
  border-radius: 0.8rem;
}
h3 {
  font-size: 18px;
}
.column-title {
	font-size: 19px;
  color: rgba(40, 114, 9, 1.00);
  border-bottom: solid rgba(224, 231, 220, 1.00) 0.6rem;
  padding-bottom: 0.4rem;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-weight: 900 !important;
	letter-spacing: 0.08rem;
}
.column-title.alt {
  color: rgba(255, 255, 255, 1.00);
  background-color: rgba(40, 114, 9, 1.00);
  border-bottom: none;
  border-radius: 0.6rem;
  padding: 0.5rem 1rem;
}
.sub-title {
  color: rgba(110, 110, 110, 1.00);
  border-bottom: solid rgba(170, 170, 170, 1.00)0.1rem;
  padding-bottom: 0.3rem;
}
h4, h5, h6, p {
  margin: 0 0 4rem 0;
}
h4 {
  font-size: 17px;
}
h5 {
  font-size: 17px;
}
h6 {
  font-size: 16px;
  font-weight: 700;
}
p {
  font-size: 16px;
}
.with-caption {
  margin-bottom: 0;
}
.with-subline {
  margin-bottom: 1rem;
}
.with-subcontent {
  margin-bottom: 2rem;
}
small, .small {
  font-size: 75% !important;
}
.caption {
  font-size: 11px;
  line-height: 1.2;
  margin: 0.6rem 0 1rem;
}
.hilite, .highlight .red {
  color: rgba(180, 50, 50, 1.00)
}
.inline {
  display: inline !important;
}
hr {
  margin: 3rem 0;
}
main ul {
  font-size: 17px;
  font-size: 1.7rem;
  margin-bottom: 4rem;
}
main ul li {
  margin-bottom: 1.4rem;
}
a.page-link::after {
  content: "\f35a" /* arrow-alt-circle-right */ ;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  padding-left: 0.4rem;
}
a.ex-link::after {
  content: "\f360" /* external-link-square-alt */ ;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  padding-left: 0.4rem;
}
.enclosure {
  border: solid rgba(160, 160, 160, 1.00) 0.2rem;
  border-radius: 1rem;
  padding: 2rem;
}
.bg-beige {
  background-color: rgba(255, 255, 230, 1.00);
}
.bg-olive {
  background-color: rgba(95, 147, 70, 1.00);
  color: rgba(255, 255, 255, 1.00);
}
.bg-dawn {
  background-color: rgba(190, 90, 43, 1.00);
  color: rgba(255, 255, 255, 1.00);
}
.bg-burgandy {
  background-color: rgba(196, 57, 100, 1.00);
  color: rgba(255, 255, 255, 1.00);
}
.bg-marine {
  background-color: rgba(216,240,237,1.00);
  color: rgba(75,102,101,1.00);
}
/*a.anchor {
	margin-top: -10rem;
	padding-top: 10rem;
}*/
.description-unit {
  margin-bottom: 3rem;
}
img.rounded {
  border-radius: 1rem;
}
main a {
  color: rgba(255, 117, 37, 1.00);
  text-decoration: none;
}
main a:hover {
  opacity: 0.4;
  text-decoration: none;
}
main img, .header-wrapper img {
  width: 100%;
  height: auto;
}
.header-wrapper {
  padding: 15px 0;
  margin: 6rem auto 1rem;
  max-width: 100vw;
}
/*.header-wrapper .caption.sub-header {
  margin-bottom: 4rem;
}*/
.img-wrap {
  overflow: hidden;
  position: relative;
}
.img-wrap:before {
  animation: img-wrap 2s cubic-bezier(.4, 0, .2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
section {
  padding: 7rem 0;
}
section.serendipity {
  background-color: rgba(255, 248, 233, 1.00);
  border-top: solid rgba(220, 220, 220, 1.00)0.4rem;
}
section.clasification {
  border-top: solid rgba(204, 216, 197, 1.00)0.4rem;
}
section.outline {
  background-color: rgba(240, 240, 240, 1.00);
  border-top: solid rgba(204, 204, 204, 1.00)0.4rem;
}
section.mechanism {
  border-top: solid rgba(210, 210, 210, 1.00)0.4rem;
}
section.synergy {
  background-color: rgba(255, 245, 237, 1.00);
  border-top: solid rgba(227, 220, 214, 1.00)0.4rem;
}
section.professor {
  border-top: solid rgba(227, 220, 214, 1.00)0.4rem;
}
.section-wrapper {
  max-width: 108rem;
  margin: 0 auto;
  padding: 0 2rem;
}
h1.first-line {
  margin-bottom: 0.8rem;
}
.column-container {
  margin-bottom: 6rem;
}
.column-container.down-link-btns .column-unit {
  margin-bottom: 1.4rem;
}
.column-container.down-link-btns a {
	font-size: 1.7rem;
  font-weight: 700;
  display: block;
  width: 100%;
  color: rgba(255, 255, 255, 1.00);
  background-color: rgba(201, 101, 39, 1.00);
  border-radius: 8px;
  padding: 1rem 2rem;
}
.column-container.down-link-btns .professor a {
  background-color: rgba(42, 93, 168, 1.00);
}
.down-link-btns .column-unit a.down-link::after {
  content: "\f0ab" /* circle-arrow-down */ ;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  padding-left: 0.4rem;
}
.resume::before {
  content: "\f0eb" /* lightbulb */ ;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  padding-right: 0.4rem;
  color: rgba(253, 239, 118, 1.00);
}
.point::before {
  content: "\f0a4" /* hand-point-right */ ;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  padding-right: 0.4rem;
  color: rgba(213, 239, 245, 1.00);
}
h3.index {
  border: solid rgba(140, 140, 140, 1.00);
  border-width: 0.1rem 0 0.1rem 0;
  padding: 0.6rem 0;
  margin-bottom: 3rem;
}
a.to-the-top {
  color: rgba(255, 255, 255, 1.00);
  position: fixed;
  font-size: 300%;
  bottom: 4rem;
  right: 0;
	line-height: 1;
  z-index: 99;
  background-color: rgba(32, 121, 43, 1.00);
  padding: 0.8rem 2rem 1rem 1rem;
  border-radius: 2rem 0 0 2rem;
}

a.to-the-index {
	color: rgba(255, 255, 255, 1.00);
  position: fixed;
  font-size: 1.4rem;
	right: 0;
  bottom: 11.5rem;
	z-index: 99;
  background-color: rgba(36,124,186,1.00);
border-radius: 1rem 0 0 1rem;
  padding: 0.5rem 2.3rem 0.7rem 1.1rem;

}

.items-btn a {
	margin-bottom: 8rem;
}

.items-btn a {
	display: block;
	font-size:1.8rem;
	font-weight: 800;
	background-color: rgba(29,98,16,1.00);
	padding: 2rem;
	text-align: center;
	color: rgba(255,255,255,1.00);
	width: 100%;
	border:solid 0.2rem rgba(173,185,170,1.00);
	border-radius:1.2rem;
}
@keyframes img-wrap {
  100% {
    transform: translateX(100%);
  }
}
/* -------------------------------------------------------------------------- */
/*	Media Queries
/* -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .wide {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  /* Element Base ------------------------- */
  .narrow {
    display: none !important;
  }
  .column-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
    flex-wrap: wrap;
    margin-bottom: 6rem;
  }
  .column-unit {
    margin-bottom: 1rem;
  }
  .column-unit.column-half {
    flex-basis: 48%;
  }
  .column-unit.column-third {
    flex-basis: 31%;
  }
  .column-unit.column-2third {
    flex-basis: 63%;
  }
  .column-unit.column-forth, .column-unit.column-25 {
    flex-basis: 23%;
  }
  .column-unit.column-3forth, .column-unit.column-75 {
    flex-basis: 71%;
  }
  .column-unit.column-fifth, .column-unit.column-20 {
    flex-basis: 18%;
  }
  .column-unit.column-30 {
    flex-basis: 28%;
  }
  .column-unit.column-40 {
    flex-basis: 38%;
  }
  .column-unit.column-60 {
    flex-basis: 58%;
  }
  .column-unit.column-70 {
    flex-basis: 68%;
  }
  .column-unit.column-80 {
    flex-basis: 78%;
  }
  .column-unit.column-full {
    flex-basis: 100%;
  }
  .header-wrapper {
    margin: 8rem auto 1rem;
  }
  .caption.sub-header {
    text-align: right;
  }
  section {
    padding: 10rem 0;
  }
  h1 {
    font-size: 25px;
  }
  h2 {
    font-size: 22px;
  }
  h3 {
    font-size: 19px;
  }
  ul li strong {
    font-size: 19px;
    font-size: 1.9rem;
  }
  .column-container.down-link-btns a {
    text-align: center;
    font-size: 1.7rem;
  }
  a.to-the-top:hover {
    cursor: pointer;
  }
}