@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;
}
.main-inner{
  background-color: #fff;
}
.bgWrap{
  padding: 13% 4% 30%;
  background-image: url("../images/idx_bg01.webp"), url("../images/idx_bg02.webp");
  background-repeat: no-repeat, no-repeat;
  background-size: 100%, 100%;
  background-position: left 0 bottom 250vw, left 0 bottom 0;
  background-color: #9bc8eb;
}
.contents01 h2{
  margin: 0 4%;
}
.contents01 p{
  margin: 10% 4%;
}
.contents02{
  margin: 18% 4% 45%;
}
.contents02 h2{
  margin: 0 8%;
}
.contents02 ol{
  margin: 10% 8% 12%;
}
.contents02 li + li{
  margin-top: 7%;
}
.contents02 p{
  margin: 0 4%;
}
.contents03{
  position: relative;
  padding: 10% 4%;
  border: solid 2px #fff;
  border-radius: 4vw;
}
.contents03 h2{
  position: absolute;
  margin: 0 auto;
  width: 70%;
  top: -20vw;
  left: 0;
  right: 0;
}
.contents03 h3{
  position: absolute;
  width: 24%;
  left: -6.5vw;
}
.contents03 .profile{
  top: 0;
}
.contents03 .movie{
  top: -10vw;
}

.contents03 figure{
  margin: 0 22% 10%;
}

.contents03 .contentsInner01{
  position: relative;
  padding-bottom: 12%;
  background: url("../images/idx_bg03.webp") no-repeat center bottom;
  background-size: 80%;
}

.contents03 .contentsInner02{
  position: relative;
  padding: 12% 10% 0;
}
.contents03 .contentsInner02 p{
  margin-bottom: 8%;
}
.contents03 .contentsInner02 video{
  width: 100%;
}
.contents04{
  padding: 10% 4% 6%;
}

/*=====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{
    text-align: center;
  }
  .main-inner{
    width: 1000px;
    margin: 0 auto;
  }
  
  .bgWrap{
    padding: 80px 40px 220px;
    background-image: url("../images/idx_bg01pc.webp"), url("../images/idx_bg02pc.webp");
    background-position: left 0 bottom 1050px, left 0 bottom 0;
  }
  .contents01 h2{
    width: 640px;
    margin: 0 auto;
  }
  .contents01 p{
    text-align: center;
    margin: 70px 0;
  }
  .contents02{
    margin: 100px 0 240px;
  }
  .contents02 h2{
    text-align: center;
    margin: 0;
  }
  .contents02 ol{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 50px 0 70px -25px;
  }
  .contents02 li{
    width: 300px;
  }
  .contents02 li:nth-of-type(1){
    margin-left: 160px;
  }
  .contents02 li:nth-of-type(2){
    margin-right: 160px;
  }
  .contents02 li + li{
    margin-top: 0;
  }
  .contents02 li:nth-of-type(n+3){
    margin-top: 50px;
  }
  .contents02 p{
    width: 640px;
    margin: 0 auto;
  }
  .contents03{
    padding: 70px 30px 50px;
    border: solid 3px #fff;
    border-radius: 30px;
  }
  .contents03 h2{
    margin: 0 auto;
    width: 360px;
    top: -120px;
    left: 0;
    right: 0;
  }
  .contents03 h3{
    width: 100px;
    left: -65px;
  }
  .contents03 .profile{
    top: -130px;
  }
  .contents03 .movie{
    top: -50px;
  }
  .contents03 .flexBox{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .contents03 .contentsInner01 .flexBox{
    margin: 0 25px 0 55px;
  }
  .contents03 figure{
    width: 220px;
    margin: 0;
  }
  .contents03 .contentsInner01{
    padding-bottom: 50px;
    background: url("../images/idx_bg03pc.webp") no-repeat center bottom;
    background-size: auto;
  }
  .contents03 .contentsInner02{
    padding: 50px 0 0;
  }
  .contents03 .contentsInner02 .flexBox{
    width: 600px;
    margin: 0 auto;
  }
  .contents03 .contentsInner02 p{
    margin-bottom: 0;
  }
  .contents03 .contentsInner02 video{
    width: 300px;
  }
  .contents04{
    background-color: #fff;
    margin: 0 calc(50% - 50vw);
    padding: 45px calc(50vw - 50%) 30px;
  }
}