@charset "UTF-8";
/* ==================== reset ==================== */
/* html5doctor.com Reset Stylesheet */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  line-height: 1.5; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none; }

a:hover {
  cursor: pointer;
  text-decoration: none; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/*画像を縦に並べた時に余白が出ないように*/
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0; }

/*box-sizingを全ブラウザに対応*/
*,
*:before,
*:after {
  -webkit-box-sizing: border-box !important;
  -moz-box-sizing: border-box !important;
  -o-box-sizing: border-box !important;
  -ms-box-sizing: border-box !important;
  box-sizing: border-box !important; }

/* ==================== /reset ==================== */
/* ==================== body ==================== */
body {
  font-family: "Yu Gothic", YuGothic, "Meiryo UI", Meiryo, メイリオ, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

img {
  width: 100%;
  height: auto; }

[class^="bi-"]:before, [class*=" bi-"]:before {
  font-weight: 900 !important; }

/* ==================== /body ==================== */
/* ==================== header ==================== */
#header {
  width: 100vw;
  position: fixed;
  top: 0;
  z-index: 1000; }


/* ==================== /header ==================== */
/* ==================== navigation ==================== */
/* ==================== /navigation ==================== */
/* ==================== main ==================== */
/* main */
#main {
 }

/* anchor_link */
.anchor_link {
  margin-top: -5.5rem;
  padding-top: 5.5rem; }

.anchor_link {
  margin-top: -5.5rem;
  padding-top: 5.5rem; }



/* pagetop_section */
.pagetop_section {
  position: fixed;
  right: 1.0rem;
  bottom: 1.0rem;
  z-index: 1000;
  visibility: hidden;
  opacity: 0;
  transition-duration: 0.5s; 
}
  .pagetop_section.show {
    visibility: visible;
    opacity: 1; 
}
  .pagetop_section a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.0rem;
    background: #404040;
    border: 0.0625rem solid #404040;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    color: #ffffff;
    transition-duration: 0.5s; 
}
  .pagetop_section i {
    margin-left: 1.0rem;
    color: #ffffff;
    line-height: 1.0;
    transition-duration: 0.5s; 
}
  .pagetop_section .pagetop {
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 0 0 auto;
    border-radius: 50%;
    transition-duration: 0.5s; }
    .pagetop_section .pagetop:hover {
      background: #ffffff;
      color: #404040; 
}
      .pagetop_section .pagetop:hover i {
        color: #404040; 
}
    @media screen and (min-width: 768px) {
      .pagetop_section .pagetop {
        width: 3.0rem;
        height: 3.0rem; 
        } 
}
    .pagetop_section .pagetop i {
      margin: 0;
      font-size: 1.125rem; 
}
      @media screen and (min-width: 768px) {
        .pagetop_section .pagetop i {
          font-size: 1.25rem; 
          } 
}

/* ==================== /main ==================== */
/* ==================== footer ==================== */
/* footer_section */
.footer_section {
  padding: 1.0rem 0;
  background: #fff; 
}

.footer_section a:link,.footer_section a:visited,.footer_section a:hover,.footer_section a:active{
  color: #404040; 
}

  @media screen and (min-width: 768px) {
    .footer_section .footer_container {
      } 
}
  .footer_section .copyright p {
    margin-bottom: 0.25rem;
    font-size: 1.125rem;
    font-weight: bold;
    text-align: center;
    color: #404040; 
}
    @media screen and (min-width: 768px) {
      .footer_section .copyright p {
        font-size: 1.25rem;
        text-align: right; 
        } 
}
  .footer_section .copyright small {
    display: block;
    font-size: 0.75rem;
    text-align: center;
    color: #404040; 
}
    @media screen and (min-width: 768px) {
      .footer_section .copyright small {
        text-align: right; 
        } 
}
/* ==================== /footer ==================== */
