@charset "UTF-8";
.view-pc {
  display: block; }
  @media screen and (max-width: 768px) {
    .view-pc {
      display: none; } }

.view-sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .view-sp {
      display: block; } }

.header .inner_block {
  max-width: 980px;
  margin: 0 auto;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 50px 0 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .header .inner_block .contact {
    max-width: 544px;
    width: calc(30% - 25px);
    margin-right: 25px;
    margin-top: 10px; }
    .header .inner_block .contact a img {
      max-width: 100%;
      height: auto; }
  @media screen and (max-width: 768px) {
    .header .inner_block {
      width: 94%;
      margin: 0 auto;
      padding: 25px 0; }
      .header .inner_block h1 {
        width: 100%;
        margin-bottom: 15px; }
      .header .inner_block .contact {
        width: 100%;
        margin: 0 auto; } }

body {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノゴシック Pro", "Hiragino Gothic Pro", "MS Pゴシック", "MS PGothic", sans-serif; }
  body p {
    font-size: 1.14286rem;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノゴシック Pro", "Hiragino Gothic Pro", "MS Pゴシック", "MS PGothic", sans-serif; }

footer .copyright {
  background: #000;
  color: #fff; }
  footer .copyright p {
    max-width: 1420px;
    margin: 0 auto;
    text-align: center;
    font-size: 0.85714rem;
    padding: 15px 0; }
    @media screen and (max-width: 768px) {
      footer .copyright p {
        width: 94%; } }

.doc-banner {
  font-size: 2.85714rem;
  background: #fff;
  max-width: 576px;
  margin: 0 auto 40px;
  border-radius: 30px;
  color: #007eb4 !important;
  padding: 5px 0;
  font-weight: normal;
  display: block;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .doc-banner {
      font-size: 1.42857rem;
      padding: 10px 0 5px;
      margin: 0 auto 20px;
      vertical-align: middle; } }
  .doc-banner i {
    vertical-align: middle;
    margin-right: 10px; }
    @media screen and (max-width: 768px) {
      .doc-banner i img {
        padding-bottom: 5px;
        width: 30px;
        height: auto;
        vertical-align: middle; } }
  .doc-banner span {
    color: #ea7242; }

.content-col4 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .content-col4 .item {
    width: 24%; }
    @media screen and (max-width: 768px) {
      .content-col4 .item {
        width: 100%;
        margin-bottom: 15px; } }
    .content-col4 .item h3 {
      margin-bottom: 1rem; }
    .content-col4 .item img {
      width: 100%;
      height: auto;
      margin-bottom: 25px; }
      @media screen and (max-width: 768px) {
        .content-col4 .item img {
          margin-bottom: 15px; } }
    .content-col4 .item p {
      font-size: 1.42857rem;
      width: 90%;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        .content-col4 .item p {
          font-size: 1.14286rem; } }

.content-col2 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 80px; }
  @media screen and (max-width: 768px) {
    .content-col2 {
      margin-bottom: 40px; } }
  .content-col2 .item {
    width: 49.5%; }
    .content-col2 .item h3 {
      margin-bottom: 1rem; }
    .content-col2 .item img {
      width: 100%;
      height: auto;
      margin-bottom: 40px; }
      @media screen and (max-width: 768px) {
        .content-col2 .item img {
          margin-bottom: 20px; } }
    .content-col2 .item p {
      font-size: 1.42857rem;
      width: 90%;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        .content-col2 .item p {
          font-size: 1.14286rem; } }
    @media screen and (max-width: 768px) {
      .content-col2 .item {
        width: 100%;
        margin-bottom: 1rem; } }

.title-blue {
  font-size: 3.57143rem;
  color: #007eb4;
  font-weight: bold;
  padding: 100px 0; }
  @media screen and (max-width: 768px) {
    .title-blue {
      font-size: 1.78571rem;
      padding: 50px 0; } }

.h2-heading {
  font-size: 2.14286rem;
  margin-bottom: 98px; }
  @media screen and (max-width: 768px) {
    .h2-heading {
      font-size: 1.07143rem;
      margin-bottom: 50px; } }

.heading-txt {
  font-size: 2.5rem;
  margin-bottom: 100px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .heading-txt {
      font-size: 1.42857rem;
      margin-bottom: 25px; } }

@media screen and (max-width: 768px) {
  .scene .h2-heading img,
  .service .h2-heading img,
  .location .h2-heading img,
  .facility .h2-heading img,
  .profile .h2-heading img,
  .contact .h2-heading img {
    max-width: 200px; } }

@media screen and (max-width: 768px) {
  .checkpoint .h2-heading img {
    max-width: 250px; } }

a {
  text-decoration: none;
  color: #000; }
  a:hover {
    opacity: 0.6; }

.t-center {
  text-align: center; }

.t-left {
  text-align: left; }

.t-right {
  text-align: right; }

section {
  padding: 40px 0; }
  @media screen and (max-width: 768px) {
    section {
      padding: 20px 0; } }
  section.bg_line:after {
    background: url(../../images/shinsuna/bg_line.png) no-repeat;
    content: "";
    display: block;
    max-width: 1670px;
    height: 1px;
    background-size: 100%;
    margin: 110px auto 0; }
    @media screen and (max-width: 768px) {
      section.bg_line:after {
        max-width: 90%;
        margin: 25px auto 0; } }
  section .inner_block {
    max-width: 1420px;
    margin: 0 auto;
    position: relative; }
    @media screen and (max-width: 768px) {
      section .inner_block {
        width: 94%;
        margin: 0 auto; } }

#mv {
  background: url(../../images/shinsuna/img_mv.jpg) no-repeat;
  background-size: cover;
  height: calc(100vh - 380px);
  min-height: 1043px; }
  @media screen and (max-width: 768px) {
    #mv {
      height: 60vh;
      min-height: auto;
      background-position: center; } }
  #mv .inner_block {
    position: relative;
    height: 100%;
    max-width: 980px; }
    #mv .inner_block h2 {
      text-align: center;
      height: 224px;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      display: block;
      max-width: 858px;
      left: 0;
      right: 0; }
      @media screen and (max-width: 768px) {
        #mv .inner_block h2 {
          width: 80%;
          height: 80px;
          margin: auto; } }
      #mv .inner_block h2 img {
        max-width: 100%; }
    #mv .inner_block .mv-contact {
      position: absolute;
      right: 15px;
      top: 0; }
      @media screen and (max-width: 768px) {
        #mv .inner_block .mv-contact {
          right: 0;
          width: 100px; }
          #mv .inner_block .mv-contact img {
            max-width: 100%; } }
    #mv .inner_block .mv-list {
      position: absolute;
      bottom: 5vh;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 96%;
      background: rgba(255, 255, 255, 0.5);
      padding: 15px 0 15px 4%;
      border-radius: 15px;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      @media screen and (max-width: 768px) {
        #mv .inner_block .mv-list {
          padding: 10px 0 0 6%;
          bottom: 0; } }
      #mv .inner_block .mv-list div {
        font-size: 1.64286rem;
        background: #007eb4;
        width: 15%;
        margin-right: 1%;
        color: #fff;
        padding: 30px 0;
        text-align: center;
        border-radius: 15px;
        -webkit-box-sizing: 1px 1px 3px rgba(0, 0, 0, 0.5);
        box-sizing: 1px 1px 3px rgba(0, 0, 0, 0.5);
        border: 1px solid #fff;
        line-height: 140%; }
        @media screen and (max-width: 890px) {
          #mv .inner_block .mv-list div {
            font-size: 1.35714rem; } }
        @media screen and (max-width: 768px) {
          #mv .inner_block .mv-list div {
            width: 30%;
            padding: 5px 0;
            margin-bottom: 10px;
            font-size: 0.85714rem; } }
        #mv .inner_block .mv-list div:last-child {
          amrgin-right: 0; }

.main_copy {
  padding: 80px 0; }
  @media screen and (max-width: 768px) {
    .main_copy {
      padding: 40px 0; }
      .main_copy p {
        width: 94%;
        margin: 0 auto; }
        .main_copy p img {
          max-width: 100%;
          height: auto; } }

.head-navi {
  background: #36afd7;
  padding: 0;
  margin-bottom: 40px; }
  .head-navi .inner_block {
    max-width: 1918px;
    padding: 42px 0 0 0; }
    @media screen and (max-width: 768px) {
      .head-navi .inner_block {
        padding: 20px 0; } }
    .head-navi .inner_block p {
      font-size: 2.5rem;
      color: #fff;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .head-navi .inner_block p {
          font-size: 1.42857rem; } }
    .head-navi .inner_block .content_title {
      font-size: 3.35714rem;
      color: #fff;
      margin-bottom: 40px;
      font-weight: normal; }
      @media screen and (max-width: 768px) {
        .head-navi .inner_block .content_title {
          font-size: 1.57143rem; } }
    .head-navi .inner_block ul {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      list-style: none;
      border: 1px solid #007eb4;
      margin-top: 40px; }
      @media screen and (max-width: 768px) {
        .head-navi .inner_block ul {
          margin: 20px 0; } }
      .head-navi .inner_block ul li {
        font-size: 1.78571rem;
        text-align: center;
        width: calc(16.66% - 1px);
        border-right: 1px solid #007eb4; }
        @media screen and (max-width: 768px) {
          .head-navi .inner_block ul li {
            font-size: 1.28571rem;
            width: 100%;
            border-bottom: 1px solid #007eb4; } }
        .head-navi .inner_block ul li:last-child {
          border-right: 0; }
        .head-navi .inner_block ul li a {
          background: #d6e6e8;
          display: block;
          width: 100%;
          padding: 40px 0;
          color: #007eb4; }
          @media screen and (max-width: 768px) {
            .head-navi .inner_block ul li a {
              width: 100%;
              padding: 15px 0; } }
          .head-navi .inner_block ul li a:hover {
            background: url(../../images/shinsuna/bg_navi.png) repeat-x;
            opacity: 1;
            background-size: cover;
            color: #fff; }
        .head-navi .inner_block ul li span {
          background: #d6e6e8;
          display: block;
          width: 100%;
          padding: 40px 0;
          color: #007eb4; }
          @media screen and (max-width: 768px) {
            .head-navi .inner_block ul li span {
              width: 100%;
              padding: 15px 0; } }

.checkpoint .content-col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .checkpoint .content-col3 .item {
    width: 32%;
    margin-right: 2%;
    margin-bottom: 40px; }
    .checkpoint .content-col3 .item:nth-of-type(3n) {
      margin-right: 0; }
    .checkpoint .content-col3 .item h3 {
      margin-bottom: 1rem;
      font-size: 2.28571rem;
      font-weight: normal; }
      @media screen and (max-width: 768px) {
        .checkpoint .content-col3 .item h3 {
          font-size: 1.71429rem; } }
      .checkpoint .content-col3 .item h3 span img {
        display: block;
        margin: 0 auto; }
        @media screen and (max-width: 768px) {
          .checkpoint .content-col3 .item h3 span img {
            max-width: 40px;
            height: auto; } }
    .checkpoint .content-col3 .item div {
      margin-bottom: 30px; }
      .checkpoint .content-col3 .item div img {
        width: 100%;
        height: auto; }
    .checkpoint .content-col3 .item p {
      font-size: 1.42857rem;
      width: 90%;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        .checkpoint .content-col3 .item p {
          font-size: 1.14286rem;
          width: 100%; } }
    @media screen and (max-width: 768px) {
      .checkpoint .content-col3 .item {
        width: 100%;
        margin-bottom: 1rem; } }

.service .content-col4 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 100px; }
  .service .content-col4 .item {
    width: 24%;
    height: auto; }
    @media screen and (max-width: 768px) {
      .service .content-col4 .item {
        width: 90%;
        margin: 0 auto 15px; } }
    .service .content-col4 .item img {
      max-width: 100%;
      height: auto; }

.doc-orange {
  background: #e24d0a;
  margin-bottom: 80px; }
  @media screen and (max-width: 768px) {
    .doc-orange {
      margin-bottom: 40px; } }
  .doc-orange .inner_block {
    padding: 40px 0 0; }
    @media screen and (max-width: 768px) {
      .doc-orange .inner_block {
        padding: 20px 0 0; } }
  .doc-orange p {
    font-size: 2.14286rem;
    color: #fff;
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      .doc-orange p {
        font-size: 1.42857rem;
        margin-bottom: 25px; } }
    .doc-orange p.content_title {
      font-size: 3.35714rem; }
      @media screen and (max-width: 768px) {
        .doc-orange p.content_title {
          font-size: 1.57143rem; } }

.location .content-col2 {
  background: #36afd7;
  color: #fff;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .location .content-col2 {
      margin-bottom: 15px; } }
  .location .content-col2:nth-of-type(even) {
    background: #1d81bc; }
  .location .content-col2 h3 {
    font-size: 2.28571rem;
    font-weight: normal;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .location .content-col2 h3 {
        font-size: 1.57143rem;
        width: 94%;
        margin: 0 auto 15px; } }
  .location .content-col2 p {
    font-size: 1.42857rem;
    width: 100%;
    line-height: 150%; }
    @media screen and (max-width: 768px) {
      .location .content-col2 p {
        font-size: 1.14286rem;
        width: 94%;
        margin: 0 auto;
        padding-bottom: 15px; } }
  .location .content-col2 img {
    margin-bottom: 0;
    vertical-align: bottom; }
  .location .content-col2 .item-img {
    width: 45%; }
    @media screen and (max-width: 768px) {
      .location .content-col2 .item-img {
        width: 100%;
        margin-bottom: 15px; } }
    .location .content-col2 .item-img img {
      max-width: 100%; }
  .location .content-col2 .item-content {
    width: calc(55% - 100px);
    padding: 0 50px; }
    @media screen and (max-width: 768px) {
      .location .content-col2 .item-content {
        width: 100%;
        padding: 0; } }

.facility .content-col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 60px; }
  .facility .content-col3 div {
    width: 33.3%; }
    .facility .content-col3 div img {
      max-width: 100%;
      height: auto; }

.facility .content-col2 h3 {
  font-size: 1.64286rem;
  color: #007eb4;
  font-weight: normal; }
  @media screen and (max-width: 768px) {
    .facility .content-col2 h3 {
      font-size: 1.42857rem; } }

.facility .content-col2 dl {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .facility .content-col2 dl dt {
    font-size: 1.42857rem;
    width: 35%;
    margin-bottom: 25px; }
    @media screen and (max-width: 768px) {
      .facility .content-col2 dl dt {
        font-size: 1.14286rem;
        width: 100%;
        margin-bottom: 15px; } }
    .facility .content-col2 dl dt:before {
      content: "・"; }
  .facility .content-col2 dl dd {
    font-size: 1.42857rem;
    width: 65%;
    margin-bottom: 25px;
    line-height: 140%; }
    @media screen and (max-width: 768px) {
      .facility .content-col2 dl dd {
        font-size: 1.14286rem;
        width: 100%;
        margin-bottom: 25px; } }

.facility .map {
  background: #1d81bc;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .facility .map .map-detail {
    width: 60%;
    padding: 50px 0 0; }
    @media screen and (max-width: 768px) {
      .facility .map .map-detail {
        width: 100%;
        padding: 25px 0; } }
    .facility .map .map-detail h3 {
      color: #fff;
      font-size: 2.5rem;
      font-weight: normal;
      width: 80%;
      margin: 0 auto 30px; }
      @media screen and (max-width: 768px) {
        .facility .map .map-detail h3 {
          font-size: 1.57143rem;
          width: 94%;
          margin-bottom: 25px; } }
    .facility .map .map-detail p {
      color: #fff;
      font-size: 1.42857rem;
      width: 80%;
      margin: 0 auto 20px;
      line-height: 140%; }
      @media screen and (max-width: 768px) {
        .facility .map .map-detail p {
          font-size: 1.14286rem;
          width: 94%; } }
      .facility .map .map-detail p:last-child {
        margin-bottom: 0; }
  .facility .map .map-block {
    width: 40%; }
    @media screen and (max-width: 768px) {
      .facility .map .map-block {
        width: 100%; } }
    .facility .map .map-block iframe {
      margin: 0;
      padding: 0;
      vertical-align: middle;
      width: 100%; }

table {
  max-width: 1030px;
  margin: 0 auto;
  border-top: 1px solid #333; }
  table tr th, table tr td {
    border-bottom: 1px solid #333333;
    font-size: 1.42857rem;
    padding: 40px 0; }
    @media screen and (max-width: 768px) {
      table tr th, table tr td {
        font-size: 1.14286rem;
        padding: 15px 0; } }
  table tr th {
    background: #dae8ef;
    width: 20%; }
    @media screen and (max-width: 768px) {
      table tr th {
        width: 30%;
        font-size: 1.07143rem; } }
  table tr td {
    padding: 40px 50px; }
    @media screen and (max-width: 768px) {
      table tr td {
        padding: 15px;
        font-size: 1.07143rem; } }

.form_table {
  max-width: 1030px;
  margin: 0 auto;
  border-top: 1px solid #333;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .form_table dt, .form_table dd {
    padding: 15px 0;
    font-size: 1.42857rem;
    border-bottom: 1px solid #333; }
    @media screen and (max-width: 768px) {
      .form_table dt, .form_table dd {
        font-size: 1.14286rem; } }
  .form_table dt {
    width: 20%;
    background: #dae8ef;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .form_table dt {
        width: 100%; } }
    .form_table dt span {
      background: #007eb4;
      color: #fff;
      font-size: 1.07143rem;
      display: inline-block;
      padding: 3px;
      margin-right: 10px;
      vertical-align: middle; }
      @media screen and (max-width: 768px) {
        .form_table dt span {
          font-size: 1rem; } }
  .form_table dd {
    width: calc(80% - 100px);
    padding: 15px 50px; }
    @media screen and (max-width: 768px) {
      .form_table dd {
        width: 100%;
        padding: 10px 0; } }
    .form_table dd input[type="text"] {
      width: 80%;
      padding: 15px; }
      @media screen and (max-width: 768px) {
        .form_table dd input[type="text"] {
          width: calc(100% - 20px);
          padding: 5px 10px;
          font-size: 1.14286rem; } }
    .form_table dd input[type="email"],
    .form_table dd input[type="tel"] {
      width: 50%;
      padding: 15px; }
      @media screen and (max-width: 768px) {
        .form_table dd input[type="email"],
        .form_table dd input[type="tel"] {
          width: calc(100% - 20px);
          padding: 5px 10px;
          font-size: 1.14286rem; } }
    .form_table dd textarea {
      width: 100%;
      padding: 15px 0; }
      @media screen and (max-width: 768px) {
        .form_table dd textarea {
          width: calc(100% - 20px);
          padding: 5px 10px;
          font-size: 1.14286rem; } }

.form-privacy {
  max-width: 1030px;
  margin: 0 auto;
  text-align: center;
  padding: 50px 0; }

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

input[type="submit"] {
  background: #007eb4;
  color: #fff;
  border: 0;
  font-size: 1.78571rem;
  text-align: center;
  max-width: 400px;
  width: 400px;
  padding: 15px 0;
  display: block;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    input[type="submit"] {
      font-size: 1.14286rem;
      width: 90%; } }

.scene .content-col4 {
  margin-bottom: 50px; }
  @media screen and (max-width: 768px) {
    .scene .content-col4 {
      margin-bottom: 25px; } }

.scene .situation {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .scene .situation .item {
    width: calc(49% - 60px);
    background: #dae8ef;
    padding: 30px;
    margin-bottom: 25px; }
    @media screen and (max-width: 768px) {
      .scene .situation .item {
        width: calc(100% - 30px);
        padding: 15px;
        margin-bottom: 15px; } }
    .scene .situation .item h3 {
      font-size: 2.28571rem;
      color: #007eb4;
      text-align: center;
      margin-bottom: 15px; }
      @media screen and (max-width: 768px) {
        .scene .situation .item h3 {
          font-size: 1.57143rem; } }
    .scene .situation .item p {
      font-size: 1.57143rem;
      line-height: 140%; }
      @media screen and (max-width: 768px) {
        .scene .situation .item p {
          font-size: 1.14286rem; } }
