@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

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; }

ul[class],
ol[class] {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

button, input, optgroup, select, textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit; }

*,
*::before,
*::after {
  box-sizing: border-box; }

img {
  max-width: 100%;
  display: block; }

.clearfix::after {
  clear: both;
  content: "";
  display: block; }

/**▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼　デバイス毎の条件分岐　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼**/
/**▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲ デバイス毎の条件分岐（触らない） ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲**/
/* ------------------------------------------------- *
 *        ＠base
 * ------------------------------------------------- */
html {
  font-size: 100%;
  font-size: 62.5%;
  /*10px*/
  word-break: break-all; }

body {
  color: #2a2929;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ",Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

a:link {
  color: #d42306; }

a:visited {
  color: #d42306; }

a:hover,
a:active,
a:focus {
  color: #d42306; }

a:hover img {
  opacity: 0.7;
  transition: 0.3s ease-in-out; }

section {
  margin-bottom: 3rem; }
  @media only screen and (max-width: 767px) {
    section {
      margin-bottom: 2rem; } }

p {
  font-size: 1.5rem;
  line-height: 1.8; }

small {
  font-size: 1rem; }

li {
  font-size: 1.4rem; }

dt {
  font-size: 1.5rem;
  line-height: 1.5; }

dd {
  font-size: 1.4rem;
  line-height: 1.5; }

th,
td {
  font-size: 1.3rem;
  line-height: 1.5; }

.accordion-content {
  display: none; }

.pc-none {
  display: inline; }
  @media only screen and (max-width: 960px) and (min-width: 768px) {
    .pc-none {
      display: none; } }
  @media only screen and (min-width: 960px) {
    .pc-none {
      display: none; } }

.sp-none {
  display: none; }
  @media only screen and (max-width: 960px) and (min-width: 768px) {
    .sp-none {
      display: inline; } }
  @media only screen and (min-width: 960px) {
    .sp-none {
      display: inline; } }

/* ------------------------------------------------- *
 *        ＠レイアウト　　　　　　　　　　　　　　　　　
 * ------------------------------------------------- */
.l-mainvisual,
.l-wrapper,
.l-header-inner,
.m-lp,
.m-search,
.l-footer-inner {
  width: 1000px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .l-mainvisual,
    .l-wrapper,
    .l-header-inner,
    .m-lp,
    .m-search,
    .l-footer-inner {
      width: 100%; } }

.l-wrapper {
  padding: 2rem 0 3rem; }
  @media only screen and (max-width: 767px) {
    .l-wrapper {
      padding: 0 0 3rem; } }

.l-container {
  display: flex; }
  @media only screen and (max-width: 767px) {
    .l-container {
      display: block;
      margin-top: 2rem;
      padding: 0 1rem;
      max-width: 100%; } }

.l-main {
  max-width: 71%; }
  @media only screen and (max-width: 767px) {
    .l-main {
      max-width: 100%; } }

.l-main.lp {
  max-width: 100%; }

.l-side {
  margin-left: 4%;
  max-width: 25%; }
  @media only screen and (max-width: 767px) {
    .l-side {
      margin-left: 0;
      max-width: 100%; } }

.lower {
  padding-top: 4rem; }
  @media only screen and (max-width: 767px) {
    .lower {
      padding-top: 2rem; } }

.l-search {
  width: 850px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .l-search {
      width: 100%; } }

/* ------------------------------------------------- *
 *        ＠header
 * ------------------------------------------------- */
.l-header {
  background: #fff;
  border-bottom: 3px solid #d42306; }
  .l-header .l-header-inner {
    display: flex; }
    @media only screen and (max-width: 767px) {
      .l-header .l-header-inner .logo {
        width: 30%; } }
    .l-header .l-header-inner .logo img {
      margin-top: 1.3rem;
      width: 50%; }
      @media only screen and (max-width: 767px) {
        .l-header .l-header-inner .logo img {
          margin-top: 1rem;
          width: 90%; } }
    .l-header .l-header-inner nav {
      margin-left: auto;
      width: 60%; }
      @media only screen and (max-width: 767px) {
        .l-header .l-header-inner nav {
          width: 80%; } }
      .l-header .l-header-inner nav ul {
        display: flex;
        justify-content: flex-end; }
        .l-header .l-header-inner nav ul li {
          border-left: 1px solid #e5e5e5;
          font-size: 1.4rem;
          font-weight: 700;
          flex-wrap: wrap;
          line-height: 1.5;
          width: 30%; }
          @media only screen and (max-width: 767px) {
            .l-header .l-header-inner nav ul li {
              font-size: 1.1rem; } }
          .l-header .l-header-inner nav ul li:last-child {
            border-right: 1px solid #e5e5e5; }
          .l-header .l-header-inner nav ul li a {
            color: #d42306;
            display: block;
            padding: 1rem 0;
            text-align: center;
            text-decoration: none; }
            @media only screen and (max-width: 767px) {
              .l-header .l-header-inner nav ul li a {
                padding: .5rem 0; } }
            .l-header .l-header-inner nav ul li a img {
              margin: 0 auto .5rem;
              width: 20px; }
              @media only screen and (max-width: 767px) {
                .l-header .l-header-inner nav ul li a img {
                  width: 15px; } }
    .l-header .l-header-inner .text-pr {
      float: right;
      padding-top: .5rem;
      font-size: 16px;
      width: 20%; }

/* ------------------------------------------------- *
 *        ＠aside
 * ------------------------------------------------- */
.block-side-anken {
  margin-bottom: 2rem; }
  @media only screen and (max-width: 767px) {
    .block-side-anken {
      margin: 2rem auto;
      width: 60%; } }
  .block-side-anken img {
    width: 100%; }

.block-side-ranking {
  margin-bottom: 2rem; }
  .block-side-ranking h5 {
    background: #666666;
    border-radius: 6px 6px 0 0;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    padding: 1.3rem;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .block-side-ranking h5 {
        font-size: 1.6rem; } }
  .block-side-ranking ul {
    border-radius: 0 0 6px 6px;
    box-shadow: 0 1px 4px #ccc;
    padding: .5rem 1rem .5rem; }
    .block-side-ranking ul li {
      border-bottom: 1px solid #dcdcdc;
      font-size: 1.6rem;
      font-weight: 700;
      padding: 1.5rem 0 1.5rem 3.5rem; }
      .block-side-ranking ul li:last-child {
        border-bottom: none; }
      .block-side-ranking ul li.rank01 {
        background: url(../img/icon/icon-rank01.png) left center no-repeat;
        background-size: 26px 19px; }
      .block-side-ranking ul li.rank02 {
        background: url(../img/icon/icon-rank02.png) left center no-repeat;
        background-size: 26px 19px; }
      .block-side-ranking ul li.rank03 {
        background: url(../img/icon/icon-rank03.png) left center no-repeat;
        background-size: 26px 19px; }
      .block-side-ranking ul li.rank04 {
        background: url(../img/icon/icon-rank04.png) left center no-repeat;
        background-size: 26px 19px; }
      .block-side-ranking ul li.rank05 {
        background: url(../img/icon/icon-rank05.png) left center no-repeat;
        background-size: 26px 19px; }
      .block-side-ranking ul li a {
        color: #337ab7;
        text-decoration: none; }

.block-side-banner {
  margin-bottom: 2rem; }
  @media only screen and (max-width: 767px) {
    .block-side-banner ul {
      display: flex;
      flex-wrap: wrap; } }
  .block-side-banner ul li {
    list-style: none;
    margin-bottom: 1rem; }
    @media only screen and (max-width: 767px) {
      .block-side-banner ul li {
        width: 48.5%; } }
    @media only screen and (max-width: 767px) {
      .block-side-banner ul li:nth-child(odd) {
        margin-right: 3%; } }

.block-side-contents h5 {
  background: #666666;
  border-radius: 6px 6px 0 0;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 1.3rem;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .block-side-contents h5 {
      font-size: 1.6rem; } }
.block-side-contents ul {
  border-radius: 0 0 6px 6px;
  box-shadow: 0 1px 4px #ccc; }
  .block-side-contents ul li {
    border-bottom: 1px solid #dcdcdc;
    font-size: 1.5rem;
    line-height: 1.5;
    padding: 1.5rem 2.5rem 1.5rem 1.5rem;
    position: relative; }
    .block-side-contents ul li::after {
      border-top: solid 2px #d42306;
      border-right: solid 2px #d42306;
      content: '';
      display: block;
      height: 8px;
      right: 1rem;
      margin: -3px 0 0;
      position: absolute;
      top: 48%;
      transform: rotate(45deg);
      width: 8px;
      -webkit-transform: rotate(45deg); }
    .block-side-contents ul li a {
      color: #2a2929;
      display: block;
      text-decoration: none; }
  .block-side-contents ul .text-more {
    font-size: 1.5rem;
    font-weight: 700;
    padding: 1rem;
    text-align: center; }
    .block-side-contents ul .text-more a {
      color: #2a2929;
      padding-left: 2rem;
      position: relative;
      text-decoration: none; }
      .block-side-contents ul .text-more a::before, .block-side-contents ul .text-more a::after {
        bottom: 0;
        content: "";
        left: 0;
        margin: auto;
        position: absolute;
        top: 0;
        vertical-align: middle; }
      .block-side-contents ul .text-more a::before {
        background: #2a2929;
        border-radius: 50%;
        height: 16px;
        width: 16px;
        -webkit-border-radius: 50%; }
      .block-side-contents ul .text-more a::after {
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        height: 5px;
        left: 5px;
        transform: rotate(45deg);
        width: 5px;
        -webkit-transform: rotate(45deg); }

/*用語集のみ*/
@media only screen and (max-width: 767px) {
  .side-glossary {
    margin: 0rem 1.5rem 3rem; } }

/* ------------------------------------------------- *
 *        ＠footer
 * ------------------------------------------------- */
.l-footer {
  background: #d42306;
  text-align: center;
  width: 100%; }
  .l-footer .footer-nav {
    background: #fff;
    border-top: 3px solid #d42306; }
    .l-footer .footer-nav .l-footer-inner {
      padding: 0; }
    .l-footer .footer-nav ul {
      display: flex; }
      .l-footer .footer-nav ul li {
        border-left: 1px solid #e5e5e5;
        font-size: 1.3rem;
        font-weight: 700;
        list-style: none;
        padding: 1.2rem 1rem;
        width: 25%; }
        @media only screen and (max-width: 767px) {
          .l-footer .footer-nav ul li {
            font-size: 1.1rem;
            padding: 1rem .5rem; } }
        .l-footer .footer-nav ul li a {
          display: block;
          text-decoration: none; }
          .l-footer .footer-nav ul li a img {
            margin: 0 auto .5rem;
            width: 25px; }
            @media only screen and (max-width: 767px) {
              .l-footer .footer-nav ul li a img {
                width: 20px; } }
  .l-footer .l-footer-inner {
    padding: 2.5rem 0; }
    @media only screen and (max-width: 767px) {
      .l-footer .l-footer-inner {
        padding: 2rem 1rem; } }
    .l-footer .l-footer-inner .basis {
      text-align: left; }
      .l-footer .l-footer-inner .basis p {
        color: #f3f3f3;
        font-size: 1.1rem;
        padding: 0 0 2rem;
        line-height: 1.6; }
  .l-footer .footer-list-information {
    margin-bottom: 1rem; }
    .l-footer .footer-list-information li {
      display: inline-block;
      font-size: 1.3rem;
      line-height: 1.4;
      margin: 0 2rem .6rem 0;
      padding-left: 1rem;
      position: relative; }
      .l-footer .footer-list-information li a {
        color: #fff;
        text-decoration: none; }
      .l-footer .footer-list-information li::before {
        border-top: 5px solid #fff;
        border-left: 5px solid transparent;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        content: "";
        display: block;
        height: 0;
        left: 0;
        margin: -3px 0 0;
        position: absolute;
        top: 50%;
        width: 0; }
  .l-footer .txt-footer-copyright {
    color: #fff;
    font-size: 1.2rem;
    text-align: center; }

#scrolltop {
  background: #666666;
  border-radius: 25px;
  bottom: 1.7%;
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  height: 45px;
  line-height: 6rem;
  opacity: 0.8;
  position: fixed;
  right: 2.5%;
  text-align: center;
  width: 45px; }
  #scrolltop::after {
    content: '▲';
    font-size: 1.3rem;
    font-weight: 700;
    color: #fff;
    position: absolute;
    top: -1.8rem;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center; }

/* ------------------------------------------------- *
 *        ＠テキスト
 * ------------------------------------------------- */
.txt-center {
  text-align: center; }
  .txt-center img {
    margin: auto; }

.txt-red {
  color: #D40720;
  font-weight: 700; }

.txt-blue {
  color: #171fc0;
  font-weight: 700; }

.txt-marker {
  background: #fff14d;
  font-weight: 700; }

.txt-gothic {
  font-family: "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

.txt-mincho {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

/* ------------------------------------------------- *
 *        ＠マージン・パディング
 * ------------------------------------------------- */
.mt0 {
  margin-top: 0 !important; }

.mt1 {
  margin-top: 1rem !important; }

.mt2 {
  margin-top: 2rem !important; }

.mt3 {
  margin-top: 3rem !important; }

.mb0 {
  margin-bottom: 0 !important; }

.mb1 {
  margin-bottom: 1rem !important; }

.mb2 {
  margin-bottom: 2rem !important; }

.mb3 {
  margin-bottom: 3rem !important; }

.mb4 {
  margin-bottom: 4rem !important; }

.pr1 {
  padding-right: 1rem; }

/*# sourceMappingURL=base.css.map */
