@charset "UTF-8";

html {
  font-size: 62.5%;
}

body {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', '游ゴシック Medium', '游ゴシック', YuGothic, Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #333;
}

:root {
  --color-main: #004ea2;
}

.align-center {
  text-align: center;
}

.container {
  max-width: 1000px;
  margin-inline: auto;
  padding: 0 4rem;
}

.link {
  color: var(--color-main);
  text-decoration: underline;
}

.link-newtab {
  display: inline-block;
  margin: 1px .5em 0;
  width: 1em;
  height: 1em;
  background: url(/images/ico_newtab.svg) center / cover;
}

/*
  component
*/
.c-head {
  color: var(--color-main);
  font-size: 2em;
  font-weight: bold;
}

/*
  header
*/
.header {
  padding: 4rem 0;
}

.header-logo {
  display: inline-block;
}

.breadcrumbs {
  display: flex;
  margin-bottom: 4rem;
}

.breadcrumbs-item:not(:first-child) {
  margin-left: 1em;
}

.breadcrumbs-item:not(:first-child)::before {
  content: '';
  display: inline-block;
  margin-right: 1em;
  width: .5em;
  height: .5em;
  border-right: solid 1px var(--color-main);
  border-top: solid 1px var(--color-main);
  rotate: 45deg;
  vertical-align: middle;
}

/*
  home
*/
.top-header {
  height: 300px;
  background-color: #E6F2FF;
  background-image:  linear-gradient(#fff 1px, transparent 1px), linear-gradient(to right, #fff 1px, transparent 1px);
  background-size: 50px 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-header-logo {
  margin-inline: auto;
  max-width: 80%;
}

.outline {
  padding: 4rem 0;
}

.outline-content {
  margin-top: 2rem;
  width: 100%;
}

.outline-content-item:not(:first-child) {
  .outline-content-head, .outline-content-text {
    border-top: solid 1px #dfdfdf;
  }
}

.outline-content-head,
.outline-content-text {
  padding: 2rem;
}

.outline-content-head {
  font-weight: bold;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
  width: 4em;
  border-right: solid 1px #dfdfdf;
}

.contact {
  padding-top: 4rem;
}

.contact-text {
  margin-top: 4rem;
}

/*
  privacy policy
*/
.privacy-head {
  font-size: 1.25em;
  font-weight: bold;
  margin-top: 4rem;
}

.privacy-text + .privacy-text {
  margin-top: 1em;
}

/*
  footer
*/
.footer {
  padding: 4rem 0 2rem;
}
.footer-copyright {
  text-align: center;
}

/*
  768~
*/
@media only screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }

  /*
    home
  */
  .top-header {
    height: 500px;
  }

  .outline-content-head,
  .outline-content-text {
    padding: 4rem;
  }
}
