﻿﻿@charset "UTF-8";
html {
  font-size: 16px;
}

body {
  margin: 0;
  background-color: white;
  color: #444;
  font-family: 'Roboto', 'Noto Sans JP', "游ゴシック", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo";
  animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}
hr {
  border-style: none;
  border-bottom: 1px dashed #999;
  margin-top: 5rem;
  width: 150px;
}


.fadein {
  opacity : 0;
  transform : translate(0, 50px);
  transition : all 650ms;
}
.scrollin {
  opacity : 1;
  transform : translate(0, 0);
}

/* page header */
header.page_header {
  margin-top: 10rem;
  color: #fff;
  font-size: 3.5rem;
  font-weight: bold;
  line-height: 280px;
  text-align: center;
  transition: margin-top 0.3s;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
header.page_header.scrolled {
  margin-top: 80px;
}

/* page contents */
section.page_contents_section {
  max-width: 980px;
  margin: 0 auto 5rem;
  padding: 0px 3.125rem;
}
section.page_contents_section h1 {
  font-size: 2.25rem;
  font-weight: bold;
  color: #0F568D;
  margin: 5.625rem 0 5rem;
  text-align: center;
}
section.page_contents_section h2 {
  font-size: 1.5rem;
  font-weight: bold;
  margin: 4.375rem 0 2.5rem;
}
section.page_contents_section h3 {
  font-size: 1.25rem;
  font-weight: bold;  
  margin: 3.125rem 0 1.5rem;
}
section.page_contents_section h3::before {
  content:  '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-color: transparent transparent transparent #999;
  display:  inline-block;
  vertical-align:  middle;
  position:  relative;
  top: -0.125rem;
  margin-right: 0.375rem;
}
section.page_contents_section p {
  line-height: 1.75rem;
  margin-bottom: 1rem;
}

section.two_columns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
section.two_columns > section {
  width: 47%; 
}
section.two_columns > section > h2 {
  margin-top: 2.5rem;
}
h1 + section.two_columns > section > h2 {
  margin-top: 0.5rem;
}

p.lead {
  font-size: 1.125rem;
}

p.artwork {
  text-align: center;
}

span.supplement{
  font-weight: normal;
  font-size: 0.75em;
}

img {
  max-width: 100%;
}

/* sitemap */
#sitemap {
  background-color: rgb(233,233,233);
  padding: 1px 0;
}

#sitemap > section > section > h1 > a:hover {
  opacity: 0.7;
}

#sitemap > section > section > ul > li > a:hover {
  opacity: 0.7;
}

#sitemap > section > section > ul > li >ul > li > a:hover {
  opacity: 0.7;
}

#sitemap > section {
  max-width: 650px;
  margin: 0 auto;
}

#logo > h1  {
  vertical-align: middle;
  text-align: left;
}

#logo > h1 > a {
  text-decoration: none;
  color: #0B87DD;
}

#logo > h1 > a > :nth-child(2) {
  font-weight: normal;
  font-size: 	1.25rem;
  letter-spacing: -0.5px;
}

#map > ul {
  display: flex;
  justify-content: space-between;
  padding-left: 0;
}

#map > ul > li {
  list-style: none;
}

#map > ul > li > a {
  text-decoration: none;
  color: #0F568D;
  font-size: 	1.125rem;
  font-weight: bold;
}

#map > ul > li > ul {
  list-style: none;
  padding-left: 10px;
}

#map > ul > li > ul > li {
  margin: 10px -10px;
}

#map > ul > li > ul > li.list::before {
  content: '';
  display: inline-block;
  background: #0F568D;
  height: 1rem;
  width: 2px;
  margin-right: 10px;
}

#map > ul > li > ul > li > a {
  text-decoration: none;
  color: #0F568D;
}

#map > ul > li:nth-child(2) {
  vertical-align: 100%;
}

#map > ul > li:nth-child(2) > a {
  text-decoration: none;
  color: #0F568D;
  font-size: 1.125rem;
  display: block;
  margin-bottom: 20px; 
}

/* copyright */
#copyright {
  position: relative;
  padding: 20px 0 20px 0;
  --background-color: #e9e9e9;
  color: #666;
  text-align: center;
  letter-spacing: 1px;
}
#copyright > div {
  font-size: 0.875rem;
  margin: 10px 0 0 0;
}