/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Special Reason CSS

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
/* Variables
-------------------------------------------- */
/* mainimg
-------------------------------------------- */
/* Content
-------------------------------------------- */
#container section {
  max-width: 1500px; }
  @media (max-width: 960px) {
    #container section {
      padding: 0 20px; } }
  @media (max-width: 480px) {
    #container section {
      padding: 0 10px; } }
  #container section#main {
    background: url(../img/reason/bg-main.jpg) center center no-repeat;
    background-size: cover;
    padding-top: 60%; }
    @media (max-width: 640px) {
      #container section#main {
        margin-bottom: 20px;
        padding-top: 100vw; } }
  #container section.contents {
    margin-bottom: 0; }
  #container section .inner h1 {
    font-size: 6.8rem;
    font-family: 'Oswald', sans-serif;
    text-align: center; }
    @media (max-width: 640px) {
      #container section .inner h1 {
        font-size: 3.2rem; } }
    #container section .inner h1::first-letter {
      color: #CCAC00; }
    #container section .inner h1 span {
      display: block;
      font-size: 1.5rem;
      font-weight: bold; }
  #container section .inner .reasonBox {
    position: relative;
    max-width: 640px;
    margin: 20px auto 60px;
    padding: 20px 50px; }
    @media (max-width: 480px) {
      #container section .inner .reasonBox {
        padding: 30px 30px 20px; } }
    #container section .inner .reasonBox::before, #container section .inner .reasonBox::after {
      position: absolute;
      content: "";
      top: 0;
      width: 32px;
      height: 100%;
      border: 2px solid #000; }
    #container section .inner .reasonBox::before {
      left: 0;
      border-right: none; }
    #container section .inner .reasonBox::after {
      right: 0;
      border-left: none; }
    #container section .inner .reasonBox li {
      position: relative;
      margin-bottom: 2.4rem;
      padding-left: 2.8rem;
      font-size: 1.6rem;
      font-weight: bold;
      font-family: "Oswald", sans-serif; }
      #container section .inner .reasonBox li span {
        position: absolute;
        left: 0;
        top: -0.4rem;
        font-family: 'Oswald', sans-serif;
        font-size: 3.2rem;
        color: #CDAC00;
        line-height: 1; }
      #container section .inner .reasonBox li:last-child {
        margin-bottom: 0; }
  #container section .inner dl {
    display: flex;
    flex-wrap: wrap; }
    #container section .inner dl.rev {
      flex-direction: row-reverse; }
      @media (max-width: 1180px) {
        #container section .inner dl.rev dd {
          padding: 40px 40px 40px 0; } }
      @media (max-width: 960px) {
        #container section .inner dl.rev dd {
          padding: 0 40px 40px 0; } }
      @media (max-width: 768px) {
        #container section .inner dl.rev dd {
          padding: 20px 0 60px 0; } }
    @media (max-width: 768px) {
      #container section .inner dl {
        flex-direction: column; } }
    #container section .inner dl dt, #container section .inner dl dd {
      width: 50%; }
      @media (max-width: 768px) {
        #container section .inner dl dt, #container section .inner dl dd {
          width: 100%; } }
      #container section .inner dl dt h2, #container section .inner dl dd h2 {
        position: relative;
        padding-left: 5.2rem;
        font-size: 2.4rem;
        font-weight: bold;
        color: #000; }
        @media (max-width: 480px) {
          #container section .inner dl dt h2, #container section .inner dl dd h2 {
            padding-left: 4.2rem;
            font-size: 1.8rem; }
            #container section .inner dl dt h2 br, #container section .inner dl dd h2 br {
              display: none; } }
        #container section .inner dl dt h2 span, #container section .inner dl dd h2 span {
          position: absolute;
          left: 0;
          top: -0.2rem;
          margin-top: 0;
          padding: 0;
          font-size: 7.8rem;
          font-family: 'Oswald', sans-serif;
          color: #CCAC00;
          line-height: 1; }
          @media (max-width: 480px) {
            #container section .inner dl dt h2 span, #container section .inner dl dd h2 span {
              font-size: 5.8rem; } }
          #container section .inner dl dt h2 span::before, #container section .inner dl dd h2 span::before {
            content: none; }
    #container section .inner dl dd {
      padding: 40px; }
      @media (max-width: 1180px) {
        #container section .inner dl dd {
          padding: 40px 0 40px 40px; } }
      @media (max-width: 960px) {
        #container section .inner dl dd {
          padding: 0 0 40px 40px; } }
      @media (max-width: 768px) {
        #container section .inner dl dd {
          padding: 20px 0 60px 0; } }
      #container section .inner dl dd p {
        line-height: 1.8; }
      #container section .inner dl dd a {
        text-decoration: underline; }
  #container section.banner {
    padding: 0 40px;
    margin: 150px auto 0; }
    @media (max-width: 1200px) {
      #container section.banner {
        margin-top: 50px; } }
    @media (max-width: 960px) {
      #container section.banner {
        margin-top: 40px;
        padding: 0 20px; } }
    @media (max-width: 480px) {
      #container section.banner {
        margin-top: 0;
        margin-bottom: 0; } }
    #container section.banner h2 {
      font-size: 2rem;
      margin-bottom: 20px;
      font-weight: bold;
      text-align: center;
      color: #000; }
      @media (max-width: 500px) {
        #container section.banner h2 {
          font-size: 5.2vw; } }
    #container section.banner .lead {
      text-align: center; }
      @media (max-width: 500px) {
        #container section.banner .lead {
          text-align: left; } }
      #container section.banner .lead br {
        display: none; }
      @media (max-width: 720px) {
        #container section.banner .lead br {
          display: block; } }
    #container section.banner ul {
      margin-top: 40px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media (max-width: 480px) {
        #container section.banner ul {
          margin-top: 20px; } }
      #container section.banner ul li {
        width: calc(25% - 9px);
        background: #374252; }
        @media (max-width: 720px) {
          #container section.banner ul li {
            width: calc(50% - 6px); }
            #container section.banner ul li:nth-child(n+3) {
              margin-top: 12px; } }
        #container section.banner ul li a {
          position: relative;
          display: block;
          height: 100%;
          padding-bottom: 40px;
          color: #FFF; }
          #container section.banner ul li a:hover {
            opacity: 0.6; }
          #container section.banner ul li a img {
            vertical-align: top; }
          #container section.banner ul li a h3 {
            position: relative;
            margin-bottom: 32px;
            padding: 20px 15px 10px;
            font-size: 2.0rem;
            font-weight: bold; }
            @media (max-width: 1024px) {
              #container section.banner ul li a h3 {
                font-size: 1.6rem; } }
            @media (max-width: 480px) {
              #container section.banner ul li a h3 {
                padding: 10px;
                font-size: 1.4rem; } }
            #container section.banner ul li a h3::after {
              position: absolute;
              content: "";
              width: 30px;
              height: 2px;
              left: 15px;
              bottom: -10px;
              background: #CCAC00; }
              @media (max-width: 480px) {
                #container section.banner ul li a h3::after {
                  left: 10px; } }
          #container section.banner ul li a .view-more.no-link {
            display: inline-block;
            position: absolute;
            white-space: nowrap;
            right: 20px;
            bottom: 12px;
            margin: 0 auto;
            padding: 0 35px 0 0;
            font-family: "Oswald", sans-serif; }
            #container section.banner ul li a .view-more.no-link::before {
              position: absolute;
              content: "";
              bottom: 1px;
              right: 0;
              width: 12px;
              height: 10px;
              border-top: 1px solid #FFF;
              -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
            #container section.banner ul li a .view-more.no-link::after {
              position: absolute;
              content: "";
              width: 30px;
              height: 1px;
              right: 0;
              left: auto;
              bottom: 5px;
              background-color: #FFF; }
