@charset "utf-8";
* {
  box-sizing: border-box;
}
img {
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
  vertical-align: bottom;
}
html {
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
}
body {
  line-height: 1.5;
  font-size: 1.4rem;
  color: #333333;
}
body, main, section, h1, h2, h3, p, ul, li, dl, dd, figure {
  margin: 0;
  padding: 0;
}
.headTitleBox {
  margin-bottom: 0;
}
.contentsWrap {
  width: 100%;
}
.oneContents .contentsWrap #main {
  width: 100%;
}
#main {
  padding: 0;
}
/*==========*/
#footerLink {
  margin-top: 0;
}
/*=====main=====*/
.pcOnly {
  display: none;
}
.date {
  background-color: #fff;
  padding: 3% 7%;
}
.main-inner {
  background: url("../images/idx_bg01.webp");
  background-size: 50%;
  padding-top: 3%
}
.bgWrap{
  background: url("../images/idx_bg03.webp") no-repeat bottom;
  background-size: 100%;
  padding-bottom: 30%;
}
.contents01 .topWrap{
  position: relative;
  margin-top: 5%;
}
.contents01 .topWrap p{
  position: absolute;

}
.contents01 .topWrap figure{
  position: relative;
  width: 95vw;
  z-index: 2;
}
.contents01 .topWrap .txTop01{
  width: 30vw;
  top: -5vw;
  right: 10vw;
  z-index: 1;
}
.contents01 .topWrap .txTop02{
  width: 35vw;
  top: 10vw;
  left: 3vw;
  z-index: 3;
}
.contents01 .topWrap .txTop03{
  width: 35vw;
  top: 45vw;
  right: 3vw;
  z-index: 4;
}
.contents01 .catchphraseWrap{
  position: relative;
  padding: 15% 5% 7%;
}
.contents01 .catchphraseWrap .deco01{
  position: absolute;
  width: 13vw;
  top: 10vw;
  left: 2vw;
}
.contents01 .catchphraseWrap .deco02{
  position: absolute;
  width: 10vw;
  top: 37vw;
  right: 4vw;
}
.contents01 .sub-catchphrase{
  margin: 0 5%;
}

.contents02{
  margin: 12% 5% 0;
  position: relative;
}
.contents02 h2{
  margin: 0 6% -5%;
}
.contents02 .flexBox{
  background-color: #fdef9d;
  border-radius: 3vw;
  padding: 10%;
}
.contents02 .flexBox figure{
  margin-bottom: -5%;
}
.contents02 .deco03{
  position: absolute;
  width: 30vw;
  bottom: -5vw;
  left: -2vw;
}
.contents02 .deco04{
  position: absolute;
  width: 22vw;
  bottom: -5vw;
  right: -2vw;
}

.contents03{
  margin: 15% 0;
  overflow: hidden;
}
.contents03 h2{
  margin: 0 5% 10%;
}
.contents03 section[class*="point"]{
  position: relative;
  z-index: 2;
}
.contents03 .imgBox{
  position: relative;
}
.contents03 .point01 .imgBox .deco05{
  position: absolute;
  width: 15vw;
  top: -3vw;
  left: 3vw;
}
.contents03 .point01 .imgBox figure{
  width: 95vw;
  margin-left: -27%;
}
.contents03 .point01 .txBox{
  position: absolute;
  width: 46vw;
  top: -3vw;
  right: 5vw;
}
.contents03 .point01 .txBox h3{
  margin-bottom: 8%;
}
.contents03 .point02{
  margin: 20% 0 3%;
}
.contents03 .point02 .imgBox .deco06{
  position: absolute;
  width: 15vw;
  top: -1vw;
  right: 6vw;
}
.contents03 .point02 .imgBox figure{
  width: 110vw;
  margin-left: 28%;
}
.contents03 .point02 .txBox{
  position: absolute;
  width: 58vw;
  top: -10vw;
  left: 5vw;
}
.contents03 .point02 .txBox h3{
  margin: 0 10% 8% 0;
}
.contents03 .point03 .imgBox .deco07{
  position: absolute;
  width: 18vw;
  top: 40vw;
  left: 4vw;
}
.contents03 .point03 .imgBox figure{
  width: 61vw;
  margin-left: -10%;
}
.contents03 .point03 .txBox{
  position: absolute;
  width: 44vw;
  top: 5vw;
  right: 5vw;
}
.contents03 .point03 .txBox p{
  margin: 8% 3% 8% 0;
}

.contents04{
  position: relative;
  background: url("../images/idx_bg02.webp");
  background-size: 50%;
  padding: 12% 5% 10%;
}
.contents04 .flexBox figure{
  margin: 3% 4% 5% 8%;
}
.contents04 .icon{
 position: absolute;
  width: 38vw;
  bottom: 33vw;
  left: 5vw;
}
.contents04 .att01{
  color: #690308;
  font-size: 1.2rem;
}

.contents05{
  background: url("../images/idx_bg04.webp") no-repeat bottom;
  background-size: 100%;
  padding: 10% 0 10%;
}
.contents05 .txBottom{
  margin: 0 5% 2%;
}

.btnArea {
  margin: 3% 5% 5%;
}
.btnArea p:nth-of-type(n+2) {
  margin: 3% 5% 0;
}
.attention {
  color: #690308;
  font-size: 1.2rem;
  margin: 0 5%;
}
.recomend h2{
  padding: 3% 12%;
  background-color: #fdef9d;
}
.recomend ul li {
  width: 100%;
}
/*=====mediaQuery=====*/
@media screen and (min-width:751px), print {
  .pcOnly {
    display: inline-block;
  }
  .spOnly {
    display: none;
  }
  #main {
    background-image: linear-gradient(-45deg, #f0f0f0 25%, #f6f6f6 25%, #f6f6f6 50%, #f0f0f0 50%, #f0f0f0 75%, #f6f6f6 75%, #f6f6f6);
    background-size: 15px 15px;
  }
  #main h1 , #main .date{
    text-align: center;
  }
  .main-inner {
    width: 1000px;
    margin: 0 auto;
    padding-top: 20px;
    background-size: 200px;
  }
  .date {
    width: 1000px;
    margin: 0 auto;
    padding: 15px 0;
    text-align: center;
  }
  .date img {
    width: 450px;
  }
  .att01{
    font-size: 1.2rem;
  }
  .bgWrap{
    background: url("../images/idx_bg03pc.webp") no-repeat bottom;
    background-size: auto;
    padding-bottom: 190px;
  }
  .contents01 .topWrap{
    margin-top: 10px;
}
  .contents01 .topWrap figure{
    width: auto;
    text-align: center;
  }
  .contents01 .topWrap .txTop01{
    width: 145px;
    top: -20px;
    right: 305px;
  }
  .contents01 .topWrap .txTop02{
    width: 165px;
    top: 50px;
    left: 200px;
  }
  .contents01 .topWrap .txTop03{
    width: 165px;
    top: 160px;
    right: 180px;
  }
  .contents01 .catchphraseWrap{
    padding: 35px 170px 30px;
  }
  .contents01 .catchphraseWrap .deco01{
    position: absolute;
    width: 70px;
    top: -20px;
    left: 80px;
  }
  .contents01 .catchphraseWrap .deco02{
    position: absolute;
    width: 50px;
    top: 80px;
    right: 100px;
  }
  .contents01 .sub-catchphrase{
    margin: 0;
    text-align: center;
  }

  .contents02{
    margin: 60px 70px 0;
  }
  .contents02 h2{
    width: 430px;
    margin: 0 auto -35px;
  }
  .contents02 .flexBox{
    border-radius: 20px;
    padding: 55px 60px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .contents02 .flexBox figure{
    margin-bottom: 0;
    width: 355px
  }
  .contents02 .flexBox p{
    width: 360px;
  }
  .contents02 .deco03{
    width: 150px;
    bottom: -30px;
    left: -20px;
  }
  .contents02 .deco04{
    width: 115px;
    bottom: -30px;
    right: -20px;
  }

  .contents03{
    margin: 60px 25px 50px;
  }
  .contents03 h2{
    margin: 0;
    width: 430px;
  }
  .contents03 .point01 .imgBox .deco05{
    width: 70px;
    top: 10px;
    left: 490px;
  }
  .contents03 .point01 .imgBox figure{
    width: 395px;
    margin: -80px 130px 0 auto;
  }
  .contents03 .point01 .txBox{
    width: 200px;
    top: -10px;
    right: 0;
  }
  .contents03 .point02 .txBox h3{
    margin: 0 0 15px 0;
  }
  .contents03 .point02{
    margin: -90px 0 -120px;
  }
  .contents03 .point02 .imgBox .deco06{
    width: 65px;
    top: 10px;
    right: 0;
    left: 245px;
  }
  .contents03 .point02 .imgBox figure{
    width: 430px;
    margin-left: 0;
  }
  .contents03 .point02 .txBox{
    width: 375px;
    top: 160px;
    left: 0;
  }
  .contents03 .point02 .txBox h3{
    margin: 0 0 15px 0;
    width: 230px;
  }
  .contents03 .point03 .imgBox .deco07{
    width: 75px;
    top: 175px;
    left: 480px;
  }
  .contents03 .point03 .imgBox figure{
    width: 260px;
    margin: 0 260px 0 auto;
  }
  .contents03 .point03 .txBox{
    width: 295px;
    top: 50px;
    right: 20px;
  }
  .contents03 .point03 .txBox p{
    margin: 15px 0 20px 0;
  }
  .contents03 .point03 .txBox .btn01{
    margin: 0 25px;
  }

  .contents04{
    background-size: 200px;
    padding: 55px 65px 40px 30px;
  }
  .contents04 .flexBox{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-bottom: 15px;
  }
  .contents04 .flexBox figure{
    margin: -200px -10px 0 50px;
    width: 365px;
  }
  .contents04 .icon{
    width: 170px;
    bottom: 110px;
    left: 40px;
  }
  .contents04 .att01{
    font-size: 1.5rem;
  }

  .contents05{
    background: url("../images/idx_bg04pc.webp") no-repeat bottom;
    background-size: auto;
    padding: 50px 0 40px;
  }
  .contents05 .txBottom{
    margin: 0 0 -50px 40px;
    width: 500px;
  }
  .contents05 figure{
    margin-left: 100px;
  }
  .btnArea {
    width: 465px;
    margin: -120px auto 30px;
  }
  .btnArea p + p {
    margin: 20px 20px 0;
  }
  .attention {
    margin: 0 30px 0;
    font-size: 1.5rem;
    text-align: left;
  }
  .recomend h2{
    padding: 15px 0;
    text-align: center;
  }
  .recomend h2 img{
    width: 320px;
  }
  .recomend ul {
    display: -webkit-flex;
    display: flex;
  }
  .recomend ul li {
    width: 100%;
  }
}