@charset "UTF-8";

/*********************************
preset variables
*********************************/
:root {
  --fontSize: 16px;
  --linkColor: #0A3BC8;
  --textColor: #333;
  /* color preset */
  --mainColor: #0840BB;
  --mainDarkColor: #1a2f83;
  --mainLightColor: #E8F1FA;
  --subColor: #02AB66;
  --subDarkColor: ;
  --subLightColor: ;
  /* width preset */
  --gutter: 1.3rem;
  --gap: 3rem;
  --contentWidth: 1200px;
}

/* OVERWRITE RADIX */


/* OVERWRITE end */
/*************************************
* START header
*************************************/
header .header-body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

header h1 {
  flex-grow: 1;
}

header h1 a {
  display: flex;
  align-items: center;
  color: #000;
  font-size: 1.3rem;
  font-weight: 700;
  text-decoration: none !important;
  line-height: 1.2;
}

header h1 .site-logo {
  display: block;
  width: 100%;
  max-width: 265px;
  margin-right: 1rem;
}

header h1 .site-logo::before {
  display: block;
  content: '';
  height: 0;
  /* (画像の高さ / 画像の横幅) × 100 */
  padding-top: 37.7358491%;
  background: url(../img/templates/large_logo.jpg) no-repeat center center;
  background-size: contain;
}

header a.sitemap {
  display: block;
  padding: .5rem 1.5rem;
  border-radius: 0 0 .3rem .3rem;
  background: var(--subColor);
  color: #fff;
  font-size: .9rem;
  font-weight: 100;
  line-height: 1;
}

#gnav {
  padding: .3rem 0;
  border-bottom: 1px solid #fff;
  background: var(--mainColor);
}

#gnav .gnav-body {
  display: flex;
  justify-content: space-between;
  border-left: 1px solid #fff;
}

#gnav .gnav-body li {
  flex-grow: 1;
  border-right: 1px solid #fff;
}

#gnav .gnav-body li a {
  display: grid;
  place-items: center;
  padding: .5rem 1rem;
  color: #fff;
  line-height: 1.4;
}

#gnav .gnav-body li a:hover {
  background: var(--mainDarkColor);
  text-decoration: none;
}

/*************************************
* END header START main
*************************************/
.red {
  color: #ef233c;
}

.eyecatch {
  width: 100%;
  height: 0;
  /* (画像の高さ / 画像の横幅) × 100 */
  padding-top: 25.8333333%;
  background: url(../img/templates/top1_pc.jpg) no-repeat center center;
  background-size: cover;
}

#content-main {
  display: flex;
  max-width: calc(var(--contentWidth) + 2rem);
  justify-content: space-between;
  padding: 2rem 1rem 0;
}

#content-main>article {
  width: 100%;
  max-width: 900px;
}

section h1 {
  font-size: 1.4rem;
  font-weight: 900;
  border-bottom: solid .3rem var(--mainDarkColor);
}

section.greeting h1 {
  font-size: 1.4rem;
  font-weight: 900;
  border-bottom: solid .7rem var(--mainLightColor);
}

section h2 {
  font-size: 1.2rem;
  color: var(--subColor);
}

.text_img_wrapper {
  display: flex;
  align-items: flex-start;
}

.text_img_wrapper *:not(img) {
  flex-grow: 1;
}

img.img_right {
  margin-left: 0.5rem;
}

section.topics h1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: none;
  background: var(--mainLightColor);
  font-size: 1.3rem;
  padding-right: 1.5rem;
}

section.topics h1 span {
  padding: 0 1rem;
  text-align: center;
  background: var(--subColor);
  color: #fff;
}

a.to_list {
  display: inline-block;
  color: var(--mainDarkColor);
  font-size: 1rem;
  line-height: 1;
}

a.to_list::after {
  content: "\f105";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-left: .5rem;
  border-radius: 50%;
  background: var(--mainColor);
  color: var(--mainLightColor);
  font-family: 'Font Awesome 5 Free';
  font-size: .9rem;
  font-weight: 700;
  text-align: center;
  line-height: 1rem;
}

dl.topics-list {
  display: grid;
  grid-template-columns: auto 1fr;
  border: 1px solid rgb(230, 230, 230);
  padding: 1rem 1rem;
}

dl.topics-list dt {
  grid-column: 1;
  padding-bottom: .5rem;
  margin-bottom: .5rem;
  padding-right: 1.5rem;
  border-bottom: 1px solid rgb(230, 230, 230);
}

dl.topics-list dd {
  grid-column: 2;
  padding-bottom: .5rem;
  margin-bottom: .5rem;
  border-bottom: 1px solid rgb(230, 230, 230);
}

#content-main aside {
  background: var(--mainLightColor);
  width: 100%;
  max-width: 260px;
  padding: .5rem;
  margin-left: 1rem;
}

aside .banners {
  list-style: none;
  padding-left: 0;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  column-gap: 1rem;
}

aside .banners li {
  display: block;
  width: 100%;
  max-width: 260px;
  margin-bottom: .5rem;
}

aside .banners li a {
  display: block;
  width: 100%;
  padding-top: calc(100% * 172 / 320);
  background: no-repeat center center;
  background-size: contain;
  color: transparent;
  font: 0/0 a;
}

aside .banners li:nth-of-type(1) a {
  background-image: url(../img/templates/banner1.jpg);
}

aside .banners li:nth-of-type(2) a {
  background-image: url(../img/templates/Ligninjar2R.jpg);
}

aside .banners li:nth-of-type(3) a {
  background-image: url(../img/templates/banner2.jpg);
}

aside .banners li:nth-of-type(4) a {
  background-image: url(../img/templates/banner3.jpg);
}

aside .banners li:nth-of-type(5) a {
  background-image: url(../img/templates/banner4.jpg);
}


/*************************************
* END main START footer
*************************************/
footer {
  border-top: solid 2px var(--mainColor);
  padding: 0 1rem;
}

.footer-body {
  padding: 2.5rem 0;
  display: flex;
  justify-content: space-between;
}

a.pagetop {
  display: block;
  width: 60px;
  height: 60px;
  position: absolute;
  top: 0;
  right: 130px;
  transform: translate(50%, -50%);
  background: url(../img/templates/pagetop.png) no-repeat center center;
  background-size: cover;
}

.footer-body .fnav {
  display: flex;
  flex-wrap: wrap;
}

.footer-body .fnav>div {
  margin-right: 2rem;
}

.footer-body .fnav a {
  color: var(--textColor);
}

.footer-body .fnav a::before {
  content: "\f105";
  display: inline-block;
  margin-right: .3rem;
  font-family: 'Font Awesome 5 Free';
  font-weight: 700;
}

.footer-info .footer-logo {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 1.3rem;
  font-weight: 700;
}

.footer-info .footer-logo::before {
  display: inline-block;
  content: '';
  background: url(../img/templates/footer_logo_pc.jpg) no-repeat center center;
  width: 42px;
  height: 43px;
  margin-right: .5rem;
}

.copyright {
  padding: 1rem 0;
  background: var(--mainColor);
  color: #fff;
}

.copyright p {
  padding: 0 1rem;
}

/*************************************
* END footer START only for sp
*************************************/
@media only screen and (max-width: 900px) {
  .sp-hide {
    visibility: hidden;
    opacity: 0
  }

  .sp-visible {
    visibility: visible;
    opacity: 1
  }

  .sp-none {
    display: none !important
  }

  .rdx-btn {
    display: block
  }

  body {
    --headerHeight: 65px;
    padding-top: var(--headerHeight);
  }

  header .header-body {
    width: 100%;
    height: var(--headerHeight);
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    padding-left: .5rem;
    background: #fff;
  }

  header h1 a {
    font-size: .7rem;
  }

  header h1 .site-logo {
    max-width: 45px;
  }

  header h1 .site-logo::before {
    padding-top: 100%;
    background-image: url(../img/templates/small_logo.png);
  }

  #toggle-nav {
    display: block;
    height: var(--headerHeight);
    width: var(--headerHeight);
    position: relative;
    background: var(--subColor);
    color: #fff;
  }

  #humberger {
    width: 60%;
    position: absolute;
    top: 8%;
    left: 50%;
    transform: translateX(-50%);
  }

  #toggle-nav .text {
    position: absolute;
    bottom: 17%;
    left: 50%;
    transform: translateX(-50%);
    font-size: .7rem;
    line-height: 1;
  }

  #gnav {
    width: 100%;
    position: fixed;
    top: var(--headerHeight);
    left: 0;
    z-index: 998;
    padding: 0;
    border-top: 3px solid var(--mainDarkColor);
    border-bottom: 3px solid var(--mainDarkColor);
    box-shadow: 0 0 8px 0 #333;
    transform: translateY(-100%);
    transition: .3s ease-out;
  }

  #gnav.opened {
    transform: translateY(0);
  }

  #gnav .gnav-body {
    flex-direction: column;
    border-left: none;
  }

  #gnav .gnav-body li {
    border-right-style: none;
  }

  .eyecatch {
    padding-top: calc(100% * 520 / 750);
    background-image: url(../img/templates/top1_sp.jpg);
  }

  #content-main {
    flex-direction: column;
    padding: 0;
  }

  #content-main article {
    max-width: none;
    padding: 2rem 1rem;
  }

  #content-main aside {
    max-width: none;
    margin: 0;
    padding: 2rem 1rem;
  }

  .text_img_wrapper {
    flex-direction: column;
    align-items: center;
  }

  dl.topics-list {
    display: block;
  }

  dl.topics-list dt {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
  }

  a.pagetop {
    right: 2rem;
  }
}

/*************************************
* END only for sp START only for pc
*************************************/
@media print,
screen and (min-width: 900px) {
  .pc-hide {
    visibility: hidden;
    opacity: 0
  }

  .pc-visible {
    visibility: visible;
    opacity: 1
  }

  .pc-none {
    display: none !important
  }

  .copyright p {
    text-align: center;
  }

}