h2 {
  text-align: center;
  padding-bottom: 50px; }
  h2 span {
    display: block; }
  h2 .jp {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    padding-top: 20px;
    letter-spacing: 0.05em; }

.application_inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1000px; }

.application_navi {
  border-bottom: 1px solid #BBBBBB; }
  .application_navi li {
    display: inline-block;
    margin-right: 40px; }
    .application_navi li span {
      position: relative;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1;
      padding: 0 0.5em 1em;
      display: block;
      cursor: pointer; }
      .application_navi li span.none {
        cursor: auto;
        opacity: 0.5;
        pointer-events: none; }
      .application_navi li span:hover, .application_navi li span.current {
        font-weight: bold; }
        .application_navi li span:hover:after, .application_navi li span.current:after {
          content: "";
          width: 100%;
          height: 3px;
          background-color: #149445;
          position: absolute;
          left: 0;
          bottom: -2px; }

#tab01 {
  display: block; }

.tab_area {
  padding-top: 30px;
  display: none; }
  .tab_area .photo {
    display: flex;
    flex-wrap: wrap; }
    .tab_area .photo div {
      width: 50%; }
      .tab_area .photo div img {
        width: 100%;
        height: auto; }
  .tab_area h3 {
    font-weight: bold;
    padding-bottom: 1em; }
  .tab_area h4,
  .tab_area ul,
  .tab_area dl,
  .tab_area p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5; }
  .tab_area p {
    padding-bottom: 2em; }
  .tab_area .pdnB40 {
    padding-bottom: 40px; }
  .tab_area dl {
    padding-bottom: 40px; }
    .tab_area dl dt {
      margin-bottom: 1em; }
      .tab_area dl dt.dot {
        position: relative;
        padding-left: 12px; }
        .tab_area dl dt.dot:before {
          content: "";
          width: 5px;
          height: 5px;
          background-color: #149445;
          border-radius: 50%;
          position: absolute;
          left: 0;
          top: 4px; }
    .tab_area dl dd {
      line-height: 1.4; }
  .tab_area ul {
    padding-left: 40px; }
    .tab_area ul.pdn {
      padding-top: 1em;
      padding-bottom: 1em; }
    .tab_area ul li {
      position: relative;
      margin-bottom: 0.5em; }
      .tab_area ul li:before {
        content: "";
        width: 5px;
        height: 5px;
        background-color: #149445;
        border-radius: 50%;
        position: absolute;
        left: -12px;
        top: 4px; }
  .tab_area .application_block {
    display: flex;
    flex-wrap: wrap; }
    .tab_area .application_block .application_block_ttl {
      width: 20%; }
    .tab_area .application_block .application_block_content {
      width: 80%; }
      .tab_area .application_block .application_block_content p {
        padding-bottom: 1em;
        line-height: 1.8; }
      .tab_area .application_block .application_block_content dl dd {
        padding-left: 1em; }
  .tab_area .btn_wrap {
    padding: 35px 0 70px; }
    .tab_area .btn_wrap a {
      display: block;
      margin: 0 auto;
      width: 420px;
      border-radius: 5px; }
      .tab_area .btn_wrap a.btn_black {
        background-color: #1C1D1B;
        color: #fff;
        font-weight: bold;
        text-align: center;
        line-height: 1;
        padding: 1em 0;
        border: 2px solid #1C1D1B;
        margin-bottom: 30px; }
        .tab_area .btn_wrap a.btn_black:hover {
          background-color: #fff;
          color: #1C1D1B; }
      .tab_area .btn_wrap a.btn_white {
        background-color: #fff;
        color: #1C1D1B;
        font-weight: bold;
        text-align: center;
        line-height: 1;
        padding: 1em 0;
        border: 2px solid #1C1D1B; }
        .tab_area .btn_wrap a.btn_white:hover {
          background-color: #1C1D1B;
          color: #fff; }
  .tab_area .contact {
    border-top: 1px solid #BBBBBB;
    padding-top: 40px; }
    .tab_area .contact dl dd {
      padding-left: 1em;
      line-height: 1.8; }
      .tab_area .contact dl dd a {
        text-decoration: underline; }

.mfp-container {
  padding: 0; }

button.mfp-close {
  display: none; }

.icon_close {
  top: 25px;
  right: 25px;
  width: 26px;
  height: 26px;
  background: url(../images/application/icon_close.png) 0 0 no-repeat;
  background-size: 100% auto;
  position: absolute;
  cursor: pointer; }

.reference-block {
  background-color: rgba(242, 242, 242, 0.95);
  width: 100%;
  padding: 50px 0;
  height: 100vh; }
  .reference-block h3 {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    padding-bottom: 1.3em;
    width: 100%;
    margin: 0 auto;
    max-width: 1036px; }

.reference-scroll {
  height: calc(100vh - 200px);
  width: calc(100vw - 50px);
  margin: 0 auto; }

.mCSB_scrollTools .mCSB_draggerRail {
  border-radius: 0;
  width: 10px;
  background-color: #ffffff; }

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  border-radius: 0;
  width: 10px;
  background-color: #bbbbbb; }

.reference-inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1000px; }
  .reference-inner h4 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1;
    font-weight: bold;
    padding-bottom: 1.5em; }
  .reference-inner h5 {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: bold;
    padding-bottom: 1em; }
    .reference-inner h5 span {
      font-weight: normal; }
  .reference-inner .reference-box {
    padding-bottom: 40px; }
  .reference-inner table {
    font-size: 14px;
    font-size: 1.4rem;
    text-align: center;
    border-left: 1px solid #1C1D1B;
    border-right: 1px solid #1C1D1B; }
    .reference-inner table.tbl01 {
      width: 100%;
      margin-bottom: 40px; }
      .reference-inner table.tbl01 th {
        width: 25%; }
    .reference-inner table.tbl02 {
      width: 100%;
      max-width: 750px;
      margin-bottom: 25px; }
      .reference-inner table.tbl02 th {
        width: 33.333%; }
    .reference-inner table.tbl03 {
      width: 100%;
      max-width: 500px; }
      .reference-inner table.tbl03 th {
        width: 50%; }
    .reference-inner table th {
      color: #fff;
      background-color: #1C1D1B;
      padding: 0.8em 0; }
    .reference-inner table td {
      background-color: #fff;
      border-bottom: 1px solid #1C1D1B;
      padding: 0.8em 0; }
  .reference-inner p {
    line-height: 1.8;
    font-size: 14px;
    font-size: 1.4rem;
    padding-bottom: 1.5em; }
  .reference-inner dl {
    display: flex;
    flex-wrap: wrap;
    font-size: 14px;
    font-size: 1.4rem;
    padding-bottom: 0.5em; }
    .reference-inner dl.dl01:last-of-type {
      padding-bottom: 1.5em; }
    .reference-inner dl.dl01 dt {
      width: 210px; }
    .reference-inner dl.dl01 dd {
      width: calc(100% - 210px); }
    .reference-inner dl.dl02 dt {
      width: 160px; }
    .reference-inner dl.dl02 dd {
      width: calc(100% - 160px); }
    .reference-inner dl dt {
      font-weight: bold;
      line-height: 1.8; }
    .reference-inner dl dd {
      line-height: 1.8; }
  .reference-inner .popup-modal-dismiss {
    width: 420px;
    border-radius: 5px;
    background-color: #fff;
    border: 2px solid #1C1D1B;
    text-align: center;
    line-height: 1;
    padding: 20px 0;
    margin: 0 auto;
    cursor: pointer; }

@media screen and (max-width: 768px) {
  h2 {
    padding-bottom: calc(70 / 768 * 100vw); }
    h2 .en {
      width: calc(666 / 768 * 100vw);
      margin: 0 auto; }
    h2 .jp {
      font-size: calc(24 / 768 * 100vw);
      padding-top: calc(25 / 768 * 100vw); }

  #header_txt {
    display: none; }

  .application_inner {
    width: 100%;
    padding: 0 calc(15 / 768 * 100vw); }

  .application_navi li {
    margin-right: calc(32 / 768 * 100vw); }
    .application_navi li:last-child {
      margin-right: 0; }
    .application_navi li span {
      font-size: calc(32 / 768 * 100vw);
      line-height: 1.3; }

  .tab_area {
    padding: calc(90 / 768 * 100vw) calc(16 / 768 * 100vw) 0; }
    .tab_area .photo div {
      width: 100%; }
    .tab_area h4,
    .tab_area ul,
    .tab_area dl,
    .tab_area p {
      font-size: calc(28 / 768 * 100vw); }
    .tab_area .pdnB40 {
      padding-bottom: 40px; }
    .tab_area dl {
      padding-bottom: 40px; }
      .tab_area dl dt {
        margin-bottom: 1em; }
        .tab_area dl dt.dot {
          position: relative;
          padding-left: 12px; }
          .tab_area dl dt.dot:before {
            content: "";
            width: 5px;
            height: 5px;
            background-color: #149445;
            border-radius: 50%;
            position: absolute;
            left: 0;
            top: 4px; }
      .tab_area dl dd {
        line-height: 1.4; }
    .tab_area ul {
      padding-left: 12px; }
    .tab_area .application_block .application_block_ttl {
      width: 100%; }
    .tab_area .application_block .application_block_content {
      width: 100%; }
      .tab_area .application_block .application_block_content p {
        padding-bottom: 1em;
        line-height: 1.8; }
      .tab_area .application_block .application_block_content dl dd {
        line-height: 1.8; }
    .tab_area .btn_wrap {
      padding: calc(60 / 768 * 100vw) 0 calc(100 / 768 * 100vw); }
      .tab_area .btn_wrap a {
        width: calc(560 / 768 * 100vw);
        font-size: calc(28 / 768 * 100vw); }
    .tab_area .contact {
      padding-top: calc(60 / 768 * 100vw); }
      .tab_area .contact dl dd {
        padding-left: 1em;
        line-height: 1.8; }
        .tab_area .contact dl dd a {
          text-decoration: underline; }

  .icon_close {
    top: calc(50 / 768 * 100vw);
    right: calc(50 / 768 * 100vw);
    width: calc(50 / 768 * 100vw);
    height: calc(50 / 768 * 100vw); }

  .reference-block {
    padding: calc(130 / 768 * 100vw) calc(30 / 768 * 100vw); }
    .reference-block h3 {
      font-size: calc(48 / 768 * 100vw);
      max-width: 100%;
      padding-bottom: calc(75 / 768 * 100vw); }

  .reference-scroll {
    height: 80vh;
    width: 96vw; }

  .mCSB_scrollTools .mCSB_draggerRail {
    width: 4px; }

  .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    width: 4px; }

  .reference-inner {
    max-width: 100%; }
    .reference-inner h4 {
      font-size: calc(32 / 768 * 100vw); }
    .reference-inner h5 {
      font-size: calc(28 / 768 * 100vw); }
    .reference-inner .reference-box {
      padding-bottom: calc(80 / 768 * 100vw); }
    .reference-inner table {
      font-size: calc(28 / 768 * 100vw); }
      .reference-inner table.tbl01 {
        width: 100%;
        margin-bottom: 40px; }
        .reference-inner table.tbl01 th {
          width: 25%; }
      .reference-inner table.tbl02 {
        width: 100%;
        max-width: 100%;
        margin-bottom: 25px; }
        .reference-inner table.tbl02 th {
          width: 33.333%; }
      .reference-inner table.tbl03 {
        width: 100%;
        max-width: calc(480 / 768 * 100vw); }
        .reference-inner table.tbl03 th {
          width: 50%; }
    .reference-inner p {
      font-size: calc(28 / 768 * 100vw); }
    .reference-inner dl {
      font-size: calc(28 / 768 * 100vw); }
      .reference-inner dl.dl01 dt {
        width: 100%; }
      .reference-inner dl.dl01 dd {
        width: 100%; }
      .reference-inner dl.dl02 dt {
        width: 100%; }
      .reference-inner dl.dl02 dd {
        width: 100%; }
    .reference-inner .popup-modal-dismiss {
      width: calc(560 / 768 * 100vw);
      padding: calc(30 / 768 * 100vw) 0; } }
