@charset "UTF-8";
/* =================================
common
================================= */
html, body, #container {
  height: 100%; }

html {
  font-size: 62.5%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  font-family: "RocknRoll One", 'メイリオ', 'Meiryo', sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: .01em;
  color: #151515;
  font-size: 1.8rem; }

a:hover {
  opacity: .5;
  transition: all .2s ease-in;
  text-decoration: none; }

img {
  width: 100%;
  height: auto; }

.inner {
  margin: 0 auto;
  max-width: 96rem; }

.relative_wrap {
  position: relative; }

.smp {
  display: none; }

h1 {
  max-width: 13rem;
  width: 100%; }
  h1 a {
    display: block; }

.btn_area {
  text-align: center;
  margin: 0 auto;
  position: relative; }
  .btn_area .btn_midashi {
    background-repeat: no-repeat;
    background-position: center 0;
    background-size: 42rem;
    background-image: url("../images/btn_flow_midashi.png");
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10.3rem;
    margin: auto;
    height: 5.5rem; }
  .btn_area ul {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 3rem;
    padding: 0 5vw; }
  .btn_area li {
    width: 48%;
    max-width: 33.5rem;
    position: relative; }
    .btn_area li.green a {
      background: #07b53b; }
      .btn_area li.green a:before {
        border-left-color: #07b53b; }
    .btn_area li.green span {
      border-color: #07b53b; }
    .btn_area li.red a {
      background: #ea0000; }
      .btn_area li.red a:before {
        border-left-color: #ea0000; }
      .btn_area li.red a strong {
        letter-spacing: -.18em;
        margin-right: .1em; }
    .btn_area li.red span {
      border-color: #ea0000; }
  .btn_area a {
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.5rem;
    border-radius: 1rem;
    position: relative;
    z-index: 1;
    transition: none;
    height: 9.5rem;
    padding-right: 4.5rem;
    box-sizing: border-box;
    transition: transform 0.2s; }
    .btn_area a:hover {
      opacity: 1;
      transform: translate(1rem, 1rem); }
    .btn_area a:before {
      content: "";
      width: 1rem;
      height: 1rem;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1.8rem;
      margin: auto;
      box-sizing: border-box;
      border: 1.1rem solid transparent;
      border-left-width: 2rem;
      border-style: solid;
      z-index: 2; }
    .btn_area a:after {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1.8rem;
      margin: auto;
      content: "";
      width: 4.5rem;
      height: 4.5rem;
      border-radius: 50%;
      background: #FFF;
      z-index: 1; }
  .btn_area strong {
    color: #fff;
    font-size: 5rem; }
  .btn_area span {
    border-radius: 1rem;
    border-width: .4rem;
    border-style: solid;
    background: #fff;
    position: absolute;
    top: 1rem;
    left: 1rem;
    width: 100%;
    height: 9.5rem;
    box-sizing: border-box; }

.page_tit {
  font-size: 2.4rem;
  text-align: center;
  margin: 5rem auto; }

#container:not(.top) main {
  margin-bottom: 8rem; }

@media print, screen and (max-width: 768px) {
  .inner {
    width: 90%; }

  .pc {
    display: none; }

  .smp {
    display: inherit; }

  h1 {
    max-width: 9rem; }

  .btn_area .btn_midashi {
    bottom: 12.7vw;
    height: 9.5vw;
    background-size: 70vw; }
  .btn_area ul {
    column-gap: 4vw; }
  .btn_area a {
    font-size: 4.8vw;
    height: 12vw;
    padding-right: 6.5vw;
    border-radius: 1.8vw; }
    .btn_area a:before {
      right: 2.2vw;
      border-width: 1.4vw;
      border-left-width: 2.5vw; }
    .btn_area a:after {
      right: 2.2vw;
      width: 5.5vw;
      height: 5.5vw; }
    .btn_area a:hover {
      transform: translate(1.4vw, 1.4vw); }
    .btn_area a strong {
      font-size: 6.7vw; }
  .btn_area span {
    height: 12vw;
    border-radius: 1.8vw;
    border-width: 0.7vw;
    top: 1.4vw;
    left: 1.4vw; }

  .page_tit {
    font-size: 2rem;
    margin: 3rem auto; }

  #container:not(.top) main {
    margin-bottom: 5rem; } }
/* =================================
header
================================= */
/*トップページ*/
#container.top header .btn_area {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  transition: .5s;
  transform: translateY(160%); }
  #container.top header .btn_area.active {
    transition: .5s;
    transform: translateY(0); }
  #container.top header .btn_area .btn_midashi {
    background-size: 43.3rem;
    background-image: url("../images/btn_flow_midashi_y.png");
    bottom: 9.6rem;
    height: 7rem; }
  #container.top header .btn_area ul {
    background: #fff100;
    padding-top: 1.5rem;
    padding-bottom: 2rem; }
  #container.top header .btn_area a, #container.top header .btn_area span {
    height: 7.5rem; }

/*その他ページ*/
#container:not(.top) {
  padding-top: 9rem; }
  #container:not(.top) header {
    background: #fff100;
    padding: 1rem 0;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    margin: auto;
    width: 100%; }
    #container:not(.top) header > div {
      max-width: 96rem;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between; }
    #container:not(.top) header .btn_area {
      margin: 0;
      padding-left: 23.5rem;
      padding-bottom: .5rem; }
      #container:not(.top) header .btn_area .btn_midashi {
        background-image: url("../images/btn_flow_midashi_h_pc.png");
        background-size: 22rem;
        background-position: 0;
        top: 0;
        bottom: 0;
        height: 5rem; }
      #container:not(.top) header .btn_area ul {
        padding: 0;
        column-gap: 2rem; }
      #container:not(.top) header .btn_area li {
        max-width: none;
        width: 18rem; }
      #container:not(.top) header .btn_area a, #container:not(.top) header .btn_area span {
        height: 6.5rem; }
      #container:not(.top) header .btn_area a {
        padding-right: 3.2rem;
        font-size: 2.2rem; }
        #container:not(.top) header .btn_area a:before {
          right: 0.8rem;
          border-width: 0.6rem;
          border-left-width: 1.3rem; }
        #container:not(.top) header .btn_area a:after {
          right: 1rem;
          width: 2.5rem;
          height: 2.5rem; }
        #container:not(.top) header .btn_area a:hover {
          transform: translate(0.7rem, 0.7rem); }
      #container:not(.top) header .btn_area span {
        border-width: 0.3rem;
        top: 0.7rem;
        left: 0.7rem; }
      #container:not(.top) header .btn_area strong {
        font-size: 2.8rem; }

@media print, screen and (max-width: 768px) {
  /*トップページ*/
  #container.top header .btn_area .btn_midashi {
    bottom: 13.5vw;
    height: 11.2vw;
    background-size: 70vw; }
  #container.top header .btn_area ul {
    padding-top: 2.5vw;
    padding-bottom: 3.2vw; }
  #container.top header .btn_area a, #container.top header .btn_area span {
    height: 10.5vw; }

  /*その他ページ*/
  #container:not(.top) {
    padding-top: 7.4rem; }
    #container:not(.top) header {
      padding: .7rem 4vw .7rem 1.5vw; }
      #container:not(.top) header h1 {
        margin-right: 1rem; }
      #container:not(.top) header .btn_area {
        padding-left: 7.6rem; }
        #container:not(.top) header .btn_area .btn_midashi {
          background-image: url("../images/btn_flow_midashi_h.png");
          background-size: 7rem; }
        #container:not(.top) header .btn_area ul {
          column-gap: 1rem; }
        #container:not(.top) header .btn_area li {
          width: 7rem; }
        #container:not(.top) header .btn_area a, #container:not(.top) header .btn_area span {
          height: 5.5rem;
          border-radius: .6rem; }
        #container:not(.top) header .btn_area a {
          font-size: 1.3rem;
          display: block;
          line-height: 1.2;
          text-align: left;
          padding: .3rem .5rem 0; }
          #container:not(.top) header .btn_area a:before {
            top: auto;
            right: 0.4rem;
            bottom: 1.1rem;
            border-width: .5rem;
            border-left-width: .9rem; }
          #container:not(.top) header .btn_area a:after {
            top: auto;
            right: .6rem;
            bottom: .7rem;
            width: 1.7rem;
            height: 1.7rem; }
          #container:not(.top) header .btn_area a:hover {
            transform: translate(0.45rem, 0.45rem); }
        #container:not(.top) header .btn_area strong {
          font-size: 2.3rem;
          display: block; }
        #container:not(.top) header .btn_area li.red a strong {
          margin-right: 0; }
        #container:not(.top) header .btn_area span {
          border-width: 0.2rem;
          top: .5rem;
          left: .5rem; } }
/* =================================
footer
================================= */
footer {
  position: sticky;
  top: 100vh;
  background: #cb0606;
  padding: 3rem 0 5rem;
  text-align: center; }
  footer a {
    color: #fff; }
  footer .logo {
    display: block;
    max-width: 16rem;
    margin: 0 auto 1.8rem; }
  footer li {
    display: inline-block; }
  footer .list_main {
    font-size: 2.4rem;
    margin-bottom: 1.5rem; }
    footer .list_main li {
      margin: 0 1rem; }
    footer .list_main a {
      position: relative;
      padding-left: 3.5rem;
      display: block; }
      footer .list_main a:before {
        content: "";
        width: 1rem;
        height: 1rem;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 1rem;
        margin: auto;
        box-sizing: border-box;
        border: .8rem solid transparent;
        border-left: 1.4rem solid #ea0000;
        z-index: 2; }
      footer .list_main a:after {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        content: "";
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        background: #FFF;
        z-index: 1; }
  footer .list_sub {
    font-size: 1.2rem;
    margin-bottom: 2.8rem; }
    footer .list_sub li {
      margin: 0 .8rem; }
  footer .copy {
    color: #fff;
    font-size: 1rem; }

@media print, screen and (max-width: 768px) {
  footer {
    padding-left: 1rem;
    padding-right: 1rem; }
    footer .list_main {
      font-size: 1.6rem; }
      footer .list_main a {
        padding-left: 3rem; }
        footer .list_main a:before {
          left: .8rem;
          border-width: .6rem;
          border-left-width: 1.2rem; }
        footer .list_main a:after {
          width: 2.5rem;
          height: 2.5rem; } }
