@charset "UTF-8";
/* CSS Document */
@media screen and (max-width:1150px){
  .wrapper{
    width: 100vw;
    overflow-x: hidden;
  }
  
  /* main */
  .mainHead{
    position: fixed;
    z-index: 1000;
  } 
  
.mainHead {
    left:0;
    width: 100%;
    align-items: center;
    z-index: 1000;
  display: block;
}  
  
  .logo{
    position: relative;
    top:10px;
    left: 0;
    z-index: 100;
  }
  
  
  /* ハンバーガーボタン基本 */
.hamburger {
  display: inline-block;
  cursor: pointer;
  width: 20px;
  height: 15px;
  border: none;
  background: none;
  z-index: 1001; /* ナビより上 */
  position: absolute;
  right: 5%;
  top: 30px;
}
.hamburger span {
  display: block;
  position: absolute;
  width: 100%;
  height: 3px;
  background: #0062b0;
  left: 0;
  transition: 0.3s ease;
}
.hamburger span:nth-child(1) {
  top: 0;
}
.hamburger span:nth-child(2) {
  top: 8px;
}

/* open時のハンバーガーを「×」に変形 */
.mainHead.open .hamburger span:nth-child(1) {
  transform: rotate(45deg);
  top: 11px;
}
.mainHead.open .hamburger span:nth-child(2) {
  transform: rotate(-45deg);
  top: 11px;
}
/* ナビ（モバイル）初期状態：非表示 */
.nav {
  display: none;
  padding-bottom: 40px;
  width: 100vw;
  position: relative;
  left: -35px;
}
  
.nav li{
  padding-top: 30px;
  text-align: center;
  }
.mainHead .nav {
  background-color: #ffffff;
}
  
  .spdis{
    display: inline-block;
  }
  
.mainImageWrap {
   overflow: visible;
  height: auto;
  padding: 40px 0;
  display: block;
}
 
  
.mainUd {
    position: inherit;
    margin: auto;
  margin-top: 40px;
    z-index: 10;
    max-width: 600px;
  width: 100%;
  padding-left: 80px;
} 
  
.pcNav{
  display: none;
}  
  
.spNav{
  display: flex;
  align-items: center;
}
  
  .nav{
    padding-top: 50px;
  }
  
  .nav li{
    width: 90%;
    max-width: 600px;
    margin: auto;
    padding: 10px;
    position: relative;
  }  
  
  .nav li:after{
    content:" ";
    background: url("../images/sp/arrow03.svg") center;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 10px;
    top:calc(50% - 10px);
  }  
  
  .nav li .pt01{
    margin-right: 8px;
  }
  
  .nav li:not(:last-child){
    border-bottom: 2px solid #c6d1d7;
  } 
  
  .mainUd br{
    display: none;
  }  
  
.mainUd .inner {
    display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
  
.mainUd .inner .case_a{
    width: 100%;
}
  
.mainUd .inner .case_b{
    width: 48%;
}  
  
.mainUd .btn {
    padding: 4px 30px;
    display: inline-block;
    width: auto;
}
  
  .mainUd .wrap{
    align-items: center;
  }  
  
}

@media screen and (max-width:980px){

}

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

  
/*content*/
  .mainHead{
    height: 65px;
    z-index: 999999;
    box-shadow: none;
  }

  body{
    padding-top: 65px;
  }
  
  .hamburger {
        top: 23px;
    }
  
  .secTitle{
    margin-bottom: 30px;
  }
  
    .logo {
        left: 0;
    }
  
  .mainHead {
        padding: 10px;
    }
  
      .logo {
        top: 5px;
    }
  
    .nav {
    background-size: 70% auto;
        width: 101vw;
        position: relative;
        left: -13px;
}
  
  .headContact {
        height: 45px;
        width: 244px;
    }
  
  
  #sec01 {
    padding: 60px 0 60px;
    background-image: url(../images/sec01SpBg.webp);
}
  
.sec01_01 {
    left: 0;
    top: 160px;
    width: 150px;
}
  
  .sec01_02 {
    left: initial;
    top: -80px;
    right: -30px;
    width: 200px;
}
  
  .sec01_03 {
    left: -50px;
    top: 480px;
}
  
  .sec01_04,
  .sec01_05{
    display: none;
}
  
  .sec01_07 {
    left: initial;
    top: 460px;
    width: 120px;
    right: 0;
}
  
  .sec01_06 {
    left: 20px;
    top: initial;
    bottom: -60px;
    width: 100px;
}
  
  .sec01Title img{
    margin: auto;
  } 
  
  #sec02 {
    padding: 60px 0 40px;
}
  
  #sec02 .content.spw100{
    width:100%;
  }
  
  .sec03Title {
    font-size: 26px;
}
  
  .listCont_box {
    display: block;
}
  
  .box_pt01 {
    width: 100%;
    margin-bottom: 20px;
}
  
  .box_pt01 .img {
    height: auto;
    aspect-ratio:2 / 1;    
}
  
  .box_pt02 {
    width: 100%;
}
  
  .listContTitle{
    position: relative;
    padding-left: 70px;
    font-size: 17px;
    min-height: 65px;
  }
  
  .listContTitle .icon{
    position: absolute;
    left: 10px;
    top:calc(50% - 25px);
  }
  
  .box_pt01 .name {
    bottom: 10px;
    font-size: 13px;
}
  
  .box_pt02 .box_pt02Cont .elm .elmText,
  .box_pt02List li,.box_pt02 .box_pt02Cont .elm .title,.box_pt02Table td,.box_pt02Table th
  {
    font-size: 13px;
}

  .box_pt02 .box_pt02Cont .elm .elmText{
    min-height: 60px;
  }  
  
  .box_pt02Table th{
    text-align: left;
  }
  
  #sec03 .resv {
    position: absolute;
    bottom: -15px;
    right: -15px;
    width: 65px;
}
  
  #sec03 {
    padding: 60px 0 80px;
}
  
.sec04BgImg {
    top: -80px;
}
  
  .sec04ContInner {
    top: 0;
}

.sec04ContInner .date {
    position: absolute;
    top: -10px;
    right: 10px;
    width: 90px;
}
  
  .sec04ContInner .text01 {
    font-size: 32px;
}
  
  .sec04ContInner .text02 {
    margin: 20px 0;
    font-size: 13px;
}
  
.sec04box {
    display: block;
}
  
  .sec04box .elm01,
  .sec04box .elm02{
    width: 100%;
}
  
    .sec04box .elm01{
    margin-bottom: 40px;
}
  
  .sec04box .elm01 .img{
    height: auto;
    aspect-ratio:550 / 400;
  }
  
  .sec04box .elm02 .box01{
    background-image: url("../images/sec04TextBgSp.webp");
    padding: 20px;
    padding-top: 0;
  }
  
  .sec04box .elm02 .pt01{
    position: relative;
    top:-10px;
    margin-bottom: 0;
  }
  
  .sec04box .elm02 .pt01 span{
    margin-bottom: 0;
  }
  
  .sec05Cont {
    display: block;
    position: relative;
}
  
  .sec05Cont .box01 {
    width: 100%;
}
  
  .sec05Cont .box02 {
    width: 100%;
    position: absolute;
    left: 0;
    top:100px;
}
  
  .sec05Table{
    margin-top:420px; 
  }
  
  .sec05Table td{
    font-size: 13px;
    width: calc(100% - 100px);
  }
  
  .sec05Table th{
    font-size: 13px;
    width: 100px;
  }
  
.pageFoot .content {
    padding: 60px 0 0;
    display: block;
}  

 .pageFoot .foot01{
    width: 100%;
    margin-bottom: 20px;
  }
  
  .footNav a{
    height: 60px;
    border-bottom: 1px solid #c6d1d7;
    position: relative;
  }
  
  .footNav a img{
    position: absolute;
    right: 0;
    top:calc(50% - 5px);
  }
  
  .copy {
    border-top: none;
}

  

  
}

@media screen and (max-width:600px){
  .mainSp{
    display: block;
  }
  
  .mainPc{
    display: none;
  }
  
  .mainImage{
    position: relative;
    z-index: 3;    
  }
  
  .mainUd {
      margin-top: 0px;
    padding-left: 0;
    right: 0;
    width: 90%;
    bottom:inherit;
    top:-30px;
    position: relative;
    z-index: 3;
  }
  
  .mainUd .inner {
    padding: 10px;
}
  
  .mainUd .wrap .pt02{
    font-size: 14px;
  }
  
  .mainUd .title{
    font-size: 15px;
    
}
  
  .mainUd .btn {
       font-size: 10px;
    }
  
  .mainObj img {
    max-width: 100%;
}
  
  .main01 {
    left: -20px;
    top: 140px;
    width: 80px;
}
  
  .main06 {
    left: 0;
    top: 59%;
    width: 80px;
}
  
  .main08 {
    left: 0;
    top: 59%;
    width: 80px;
}
  
  .main02,
  .main03,
  .main07{
    display: none;
}
  
    .main04 {
        left: initial;
        top: 59%;
        width: 80px;
        right: 0;
    }
  
 .main05 {
    left: initial;
    top: 2%;
    display: flex;
    flex-flow: row-reverse;
    font-size: 10px;
    width: 210px;
    right: 0;
} 
  
   .main05 img{
    width: 100px;
} 
  
  
  
}



@media screen and (max-width:850px) and (min-width:600px){
  

}