/* Scss Document */
* {
  text-decoration: none !important;
  font-family: "ShipporiMincho-Regular"; }

.swiper-slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50%;
  width: 100%;
  height: calc(100vh - 120px);
  overflow: hidden; }

#fade01 {
  background-image: url(../images/fade01.jpg); }

#fade02 {
  background-image: url(../images/fade02.jpg); }

#fade03 {
  background-image: url(../images/fade03.jpg); }

header {
  position: relative; }
  header nav {
    background-color: #fff;
    box-shadow: 0px 0px 25px #b8b8b8;
    padding: 15px 0; }
    header nav ul {
      width: 95%;
      display: flex;
      align-items: center;
      justify-content: center; }
      header nav ul li:last-child a:after {
        display: none; }
      header nav ul a {
        padding: 5px 35px;
        color: #333;
        position: relative; }
        header nav ul a:after {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          right: 0;
          height: 20px;
          width: 1px;
          background-color: #bbbbbb;
          transform: translateY(-50%); }

.lookIcon {
  margin-left: 10px; }

.md_h2 {
  text-align: center;
  font-size: 1.8rem;
  position: relative; }
  .md_h2 span {
    line-height: 0.5;
    font-size: 13px;
    display: block; }
    .md_h2 span i {
      color: #16278a; }

.lineMd {
  position: relative;
  height: 45px;
  width: 100%;
  margin-bottom: 25px; }
  .lineMd:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    width: 1px;
    height: 100%;
    background-color: #16278a; }

.secTop130 {
  margin-top: 130px;
  margin-left: 0px;
  margin-bottom: 0px;
  margin-right: 0px; }
/*工事中のレイアウト*/
.posi_relative {
  position: relative;
}
.logo_bg {
  width:296px;
  height:auto;
  margin: 0 auto;
}
.logo_bg img {
  display: block;
  width:100%;
  height:auto;
  background-color: #414264;
  padding:5px 10px;
}
.container-1200 {
  max-width: 1200px;
  width:90%;
  margin: 0 auto;
}
.sp-le {
  text-align: center;
}
.fs-20 {
  font-size: 20px;
}
@media only screen and (max-width: 550px) {

  .sp-le {
    text-align: left;
  }
  .fs-20 {
    font-size: 14px;
  }
}
/*工事中のレイアウト*終*/
  @media only screen and (max-width: 1440px) {
    .secTop130 {
      margin-top: 9.02778vw;
      margin-left: 0vw;
      margin-bottom: 0vw;
      margin-right: 0vw; } }
  @media only screen and (max-width: 550px) {
    .secTop130 {
      margin-top: 18.05556vw;
      margin-left: 0vw;
      margin-bottom: 0vw;
      margin-right: 0vw; } 
    }

.infoUl {
  margin-top: 45px; }
  .infoUl li {
    width: 100%; }
    .infoUl li a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      padding: 25px 10px;
      border-bottom: 1px solid #c5c5c5; }
      .infoUl li a span:nth-child(1) {
        width: 150px;
        color: #16278a; }
      .infoUl li a span:nth-child(2) {
        width: calc(100% - 180px);
        color: #333; }

.btnBox {
  width: 300px;
  text-align: center;
  padding: 15px 0;
  display: block;
  margin: 0 auto;
  border: 1px solid #04202c;
  transition: 0.3s; }
  .btnBox:hover {
    background-color: #04202c; }
    .btnBox:hover span {
      color: #fff; }
  .btnBox span {
    transition: 0.3s;
    color: #333; }

.btnBox02 {
  width: 95%;
  max-width: 450px;
  text-align: center;
  padding: 25px 0;
  display: block;
  margin: 0 auto;
  border: 1px solid #fff;
  transition: 0.3s;
  background-color: #fff; }
  .btnBox02:hover {
    background-color: rgba(0, 0, 0, 0); }
    .btnBox02:hover span {
      color: #fff; }
  .btnBox02 span {
    transition: 0.3s;
    color: #333; }

.flex_end {
  justify-content: flex-end; }

.i_mid01 img {
  width: 100%;
  max-width: 1280px;
  height: auto; }

.i_generalItem:nth-child(1) {
  width: 60%; }
  .i_generalItem:nth-child(1) img {
    width: 105%;
    height: auto; }

.i_generalItem:nth-child(2) {
  width: 40%;
  display: flex;
  justify-content: flex-end;
  align-items: center; }

.i_generalItem .i_generalItem_inner {
  width: 100%;
  border: 2px solid #bfbfbf;
  padding: 45px 75px;
  position: relative;
  z-index: 50;
  min-height: 495px;
  display: flex;
  align-items: center;
  justify-content: center; }

.flex_row .i_generalItem:nth-child(1) img {
  position: relative;
  left: -5%; }

.secTop250 {
  margin-top: 250px;
  margin-left: 0px;
  margin-bottom: 0px;
  margin-right: 0px; }
  @media only screen and (max-width: 1440px) {
    .secTop250 {
      margin-top: 17.36111vw;
      margin-left: 0vw;
      margin-bottom: 0vw;
      margin-right: 0vw; } }
  @media only screen and (max-width: 550px) {
    .secTop250 {
      margin-top: 34.72222vw;
      margin-left: 0vw;
      margin-bottom: 0vw;
      margin-right: 0vw; } }

.mListUl li {
  display: block;
  width: 100%;
  position: relative; }
  .mListUl li:after {
    content: "";
    position: absolute;
    display: block;
    width: 25px;
    height: 25px;
    background-image: url(../images/circle_arr.png);
    background-repeat: no-repeat;
    background-size: contain;
    right: 25px;
    top: 50%;
    transform: translateY(-50%); }
  .mListUl li:nth-child(odd) {
    background-color: #fafafa; }
  .mListUl li a {
    display: block;
    width: 100%;
    padding: 25px 35px;
    color: #333;
    font-size: 1.1rem; }
  .mListUl li > div {
    display: block;
    width: 100%;
    padding: 25px 35px;
    color: #333;
    font-size: 1.1rem; }
    .mListUl li > div a {
      display: inline-block !important;
      padding: 0; }

.mListUlClinic li:after {
  display: none !important; }

.mListUlClinic li > div p {
  display: flex;
  flex-wrap: wrap; }
  .mListUlClinic li > div p span:nth-child(1) {
    width: 140px; }

.di3 li {
  width: calc(50% - 10px);
  margin: 5px 0; }
  .di3 li a {
    display: block;
    padding: 35px 10px;
    text-align: center;
    background-color: #0a5268; }
    .di3 li a span {
      text-align: center;
      color: #fff; }

.formBox .inputBox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 35px 10px;
  border-bottom: 1px solid #0a5268; }
  .formBox .inputBox > div:nth-child(1) {
    width: 180px; }
  .formBox .inputBox > div:nth-child(2) {
    width: calc(100% - 200px); }
    .formBox .inputBox > div:nth-child(2) input, .formBox .inputBox > div:nth-child(2) textarea {
      width: 100%;
      padding: 10px; }

.formBox .submit {
  margin: 55px auto 0 auto;
  width: 90%;
  max-width: 250px; }
  .formBox .submit input {
    width: 100%;
    border: none;
    background-color: #16278a;
    color: #fff;
    padding: 15px 10px;
    letter-spacing: 0.1rem; }

.i_contact {
  background-image: url(../images/index04.jpg);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  text-align: center;
  padding: 7vw 0; }
  .i_contact .md_h2 {
    color: #fff; }
  .i_contact p {
    color: #fff; }
  .i_contact a {
    display: flex;
    align-items: center;
    justify-content: center; }
    .i_contact a span {
      color: #121d5b;
      line-height: 0; }
      .i_contact a span:nth-child(1) {
        margin-right: 5px; }

.i_haltecLink {
  background-image: url(../images/index05.jpg);
  background-repeat: no-repeat;
  background-position: 100%;
  background-size: cover;
  display: block;
  padding: 65px 75px; }
  .i_haltecLink p,
  .i_haltecLink span {
    color: #fff; }
  .i_haltecLink .i_haltecLink_fp {
    border-bottom: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 35px;
    margin-bottom: 35px; }
    .i_haltecLink .i_haltecLink_fp span:nth-child(1) {
      font-size: 2rem; }
    .i_haltecLink .i_haltecLink_fp span:nth-child(2) {
      display: flex;
      align-items: center; }
      .i_haltecLink .i_haltecLink_fp span:nth-child(2) i:nth-child(1) {
        margin-right: 15px; }

.pageTop {
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  transform: translateY(-100%);
  background-image: url(../images/footerBg.jpg);
  display: flex;
  align-items: center;
  justify-content: center; }
  .pageTop span {
    color: #333;
    font-size: 13px; }
    .pageTop span i {
      display: block; }

footer {
  position: relative;
  background-color: #e8e4e4;
  background-image: url(../images/footerBg.jpg);
  padding: 75px 10px;
  text-align: center;
  margin-top: 130px;
  margin-left: 0px;
  margin-bottom: 0px;
  margin-right: 0px; }
  @media only screen and (max-width: 1440px) {
    footer {
      margin-top: 9.02778vw;
      margin-left: 0vw;
      margin-bottom: 0vw;
      margin-right: 0vw; } }
  @media only screen and (max-width: 550px) {
    footer {
      margin-top: 18.05556vw;
      margin-left: 0vw;
      margin-bottom: 0vw;
      margin-right: 0vw; } }
  footer nav {
    margin: 45px 0; }
    footer nav ul {
      display: flex;
      justify-content: center; }
      footer nav ul a {
        padding: 0 15px;
        color: #000; }

.headH1 {
  position: absolute;
  top: 35px;
  left: 35px;
  z-index: 50; }

.headContactLink {
  position: absolute;
  top: 0;
  right: 0;
  width: 240px;
  background-color: #121d5b;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 50;
  padding: 25px 0;
  line-height: 0; }
  .headContactLink i {
    line-height: 0;
    line-height: 0;
    color: #fff; }
    .headContactLink i:nth-child(1) {
      margin-right: 5px; }
    .headContactLink i img {
      line-height: 0; }

.mainFadeTxt {
  position: absolute;
  color: #fff;
  font-size: 5rem;
  z-index: 50;
  bottom: 85px;
  left: 120px;
  line-height: 1.4; }
  .mainFadeTxt span {
    display: block;
    font-size: 2.3rem; }

.page_main {
  width: 100%;
  height: 400px;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: cover;
  text-align: center;
  position: relative; }
  .page_main p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    color: #fff;
    font-size: 3rem;
    letter-spacing: 2px;
    line-height: 1.5; }
    .page_main p span {
      display: block;
      font-size: 1.2rem; }

.postPagenation {
  text-align: center; }
  .postPagenation li {
    display: inline-block; }
  .postPagenation .active {
    background-color: #04202c;
    color: #fff; }
  .postPagenation a {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border: 1px solid #04202c;
    color: #04202c;
    width: 25px;
    height: 25px; }

#innerFooter {
  margin-top: 0; }

/*news*/
.news_main {
  background-image: url(../images/news.jpg); }

/*contact*/
.contact_main {
  background-image: url(../images/contact.jpg); }

.stopTxt {
  text-align: center;
  font-size: 2.5rem; }

/*general*/
.general_main {
  background-image: url(../images/general.jpg); }

.gemeralItem:nth-child(1) {
  width: 47vw;
  max-width: 950px;
  margin-bottom: 7vw; }

.neImg {
  position: absolute;
  top: 0;
  right: 0; }

.generalItem02:nth-child(1) {
  width: 30%; }
  .generalItem02:nth-child(1) img {
    width: 100%;
    height: auto; }

.generalItem02:nth-child(2) {
  width: 65%;
  position: relative; }
  .generalItem02:nth-child(2):after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -3.5%;
    height: 100%;
    width: 1px;
    background-color: #04202c; }

.generalItem03 {
  width: 24%;
  padding: 70px 30px; }
  .generalItem03:nth-child(1) {
    background-color: #f5f5f7; }
  .generalItem03:nth-child(2) {
    background-color: #f1f1f2; }
  .generalItem03:nth-child(3) {
    background-color: #f5f5f7; }
  .generalItem03:nth-child(4) {
    background-color: #f1f1f2; }
  .generalItem03 .tNum {
    text-align: center;
    color: #121d5b;
    font-size: 2rem;
    position: relative;
    padding: 0 0 20px 0; }
    .generalItem03 .tNum:after {
      content: "";
      display: block;
      position: absolute;
      bottom: -2px;
      left: 50%;
      width: 1px;
      height: 25px;
      background-color: #bfbfbf; }
  .generalItem03 .textarea03 {
    margin-top: 25px; }

.generalImg02 {
  max-width: 1600px;
  width: 100%;
  height: auto; }
  .generalImg02 img {
    width: 100%;
    height: auto; }

.size_oneRound {
  font-size: 1.3em; }

/*member*/
.member_main {
  background-image: url(../images/member.jpg); }

/*list*/
.list_main {
  background-image: url(../images/list.jpg); }

.spNavBtn {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 850;
  width: 55px;
  height: 55px;
  border: none;
  background-color: rgba(0, 0, 0, 0); }
  .spNavBtn span {
    top: 50%;
    left: 50%;
    position: absolute;
    transform-origin: 0%;
    width: 35px;
    height: 2px;
    background-color: #fff;
    transform: translateY(-50%) translateX(-50%);
    transition: 0.3s; }
    .spNavBtn span:nth-child(1) {
      top: 40%; }
    .spNavBtn span:nth-child(2) {
      top: 60%; }

.move_btn span:nth-child(1) {
  top: 50%;
  transform: rotate(45deg) translateY(-50%) translateX(-50%);
  transform-origin: 0%; }

.move_btn span:nth-child(2) {
  top: 50%;
  transform-origin: 0%;
  transform: rotate(-45deg) translateY(-50%) translateX(-50%); }

.spNavCover {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#16278a+0,0a5268+100 */
  background: #16278a;
  /* Old browsers */
  background: -moz-linear-gradient(-45deg, #16278a 0%, #0a5268 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(-45deg, #16278a 0%, #0a5268 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, #16278a 0%, #0a5268 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#16278a', endColorstr='#0a5268',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */
  z-index: 650; }
  .spNavCover .innerSpNavCover {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center; }
    .spNavCover .innerSpNavCover .lookIcon img {
      width: 25px;
      height: auto; }
  .spNavCover li {
    text-align: center;
    margin: 8vw 0;
    opacity: 0;
    transition: 0.7s; }
    .spNavCover li:nth-child(1) {
      transition-delay: 0.1s; }
    .spNavCover li:nth-child(2) {
      transition-delay: 0.2s; }
    .spNavCover li:nth-child(3) {
      transition-delay: 0.3s; }
    .spNavCover li:nth-child(4) {
      transition-delay: 0.4s; }
    .spNavCover li:nth-child(5) {
      transition-delay: 0.5s; }
  .spNavCover a {
    color: #fff;
    font-size: 2.3rem;
    display: block;
    line-height: 1; }

@media only screen and (max-width: 1500px) {
  .mainFadeTxt {
    font-size: 6vw;
    left: 40px; }
  .mainFadeTxt span {
    font-size: 2.5vw; } }

@media only screen and (max-width: 1350px) {
  .gemeralItem:nth-child(1) {
    width: 57%;
    max-width: 950px;
    margin-bottom: 0vw; }
  .neImg {
    width: 40%; }
    .neImg img {
      width: 100%;
      height: auto; } }

@media only screen and (max-width: 1200px) {
  .generalItem03 {
    width: 48%;
    padding: 50px 30px; }
    .generalItem03:nth-child(3) {
      margin-top: 30px; }
    .generalItem03:nth-child(4) {
      margin-top: 30px; }
  .i_generalItem .i_generalItem_inner {
    padding: 20px 40px;
    min-height: 495px; }
  .i_generalItem:nth-child(1) {
    width: 50%; }
  .i_generalItem:nth-child(2) {
    width: 50%; } }

@media only screen and (max-width: 960px) {
  header nav {
    display: none; }
  .spNavBtn {
    display: block;
    background-color: rgba(0, 0, 0, 0.3); } }

@media only screen and (max-width: 850px) {
  .formBox .inputBox > div:nth-child(1) {
    width: 100%; }
  .formBox .inputBox > div:nth-child(2) {
    width: 100%;
    margin-top: 5px; }
  .generalItem03 {
    padding: 45px 25px; }
    .generalItem03:nth-child(3) {
      margin-top: 20px; }
    .generalItem03:nth-child(4) {
      margin-top: 20px; }
  .generalItem02:nth-child(1) {
    width: 100%;
    order: 2;
    margin-top: 35px; }
  .generalItem02:nth-child(2) {
    width: 100%;
    order: 1; }
  .neImg {
    width: 100%;
    position: unset;
    margin-top: 35px; }
    .neImg img {
      width: 100%;
      height: auto; }
  .gemeralItem:nth-child(1) {
    width: 100%; }
  .i_generalItem:nth-child(1) {
    width: 100%; }
  .i_generalItem:nth-child(1) img {
    width: 100%; }
  .i_generalItem:nth-child(2) {
    width: 100%; }
  .i_generalItem .i_generalItem_inner {
    min-height: auto;
    padding: 50px 40px; }
  .flex_row .i_generalItem:nth-child(1) img {
    left: 0%; }
  .mListUl li a {
    padding: 25px 55px 25px 15px;
    font-size: 1rem; }
  .mListUl li > div {
    padding: 25px 55px 25px 15px;
    font-size: 1rem; }
  .i_contact {
    padding: 15vw 0; }
  .i_haltecLink {
    padding: 35px 30px; }
  .i_haltecLink .i_haltecLink_fp span:nth-child(1) {
    font-size: 1.6rem; }
  .i_haltecLink .i_haltecLink_fp span:nth-child(2) i:nth-child(2) img {
    width: 30px;
    height: auto; }
  .i_haltecLink .i_haltecLink_fp {
    padding-bottom: 15px;
    margin-bottom: 15px; }
  .i_haltecLink_fp {
    flex-wrap: wrap; }
  .i_haltecLink .i_haltecLink_fp span:nth-child(1) {
    width: 100%;
    text-align: center; }
  .i_haltecLink .i_haltecLink_fp span:nth-child(2) {
    width: 100%;
    margin-top: 15px;
    justify-content: center; }
  .fLogo {
    width: 280px;
    display: block;
    margin: 0 auto; }
    .fLogo img {
      width: 100%;
      height: auto; }
  footer nav {
    display: none; }
  footer #copy {
    display: block;
    margin-top: 25px;
    font-size: 10px; }
  .mListUl li:after {
    width: 20px;
    height: 20px; }
  .infoUl li a span:nth-child(1) {
    width: 100%; }
  .infoUl li a span:nth-child(2) {
    width: 100%; }
  .infoUl li a {
    padding: 20px 5px; }
  .lineMd {
    height: 20px;
    margin-bottom: 10px; }
  .md_h2 {
    font-size: 1.3rem; }
  .headH1 {
    top: 25px;
    left: 25px; }
    .headH1 a {
      display: block;
      width: 230px; }
      .headH1 a img {
        width: 100%;
        height: auto; }
  .mainFadeTxt {
    bottom: 25px;
    left: 25px; }
  .headContactLink {
    position: fixed;
    top: unset;
    bottom: 0;
    right: 0;
    z-index: 650; }
  .page_main p {
    font-size: 2rem;
    transform: translateY(-10%) translateX(-50%); }
  .page_main {
    height: 250px; } }

@media only screen and (max-width: 450px) {
  #fade01 {
    background-position: 28%; }
  .swiper-slide {
    height: 350px; }
  .page_main p {
    width: 100%; }
  .contact_main {
    background-position: 22%; }
  .generalItem03 .tNum:after {
    height: 15px; }
  .size_oneRound {
    font-size: 1.15em; }
  .generalItem03 {
    width: 100%; }
    .generalItem03:nth-child(2) {
      margin-top: 20px; }
    .generalItem03:nth-child(3) {
      margin-top: 20px; }
    .generalItem03:nth-child(4) {
      margin-top: 20px; }
  .mainFadeTxt {
    font-size: 7vw; }
  .mainFadeTxt span {
    font-size: 3.5vw; }
  .i_haltecLink {
    padding: 30px 20px; }
  .pageTop {
    width: 50px;
    height: 50px; }
    .pageTop span {
      font-size: 10px; } }
