@charset "UTF-8";
figure {
  margin: 0;
}

figure img {
  max-width: 100%;
}

ul,
dd {
  margin-left: 0;
  padding-left: 0;
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.ondemandSection {
  width: 100%;
  color: #303030;
}

#privacySection {
  background-color: #ECEEF0;
}

@media screen and (min-width: 768px) {
  #privacySection {
    padding: 100px 0 90px;
  }
}

@media screen and (min-width: 768px) {
  #privacySection h2 {
    margin-bottom: 30px;
    font-size: 22px;
    font-family: "Noto Sans JP", sans-serif;
  }
}

@media screen and (max-width: 767px) {
  #privacySection h2 {
    margin-bottom: 20px;
    font-size: 18px;
  }
}

#privacySection h2:after {
  content: none;
}

.privacy-lead {
  color: #000;
  line-height: 1.9;
}

@media screen and (min-width: 768px) {
  .privacy-lead {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 767px) {
  .privacy-lead {
    font-size: 14px;
  }
}

.privacy-lead a {
  color: #005bac
}

.privacy-image {
  display: block;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .privacy-image {
    width: 100px;
  }
}

@media screen and (max-width: 767px) {
  .privacy-image {
    width: 90px;
  }
}

body {
  line-height: 0;
}

footer {
  margin: 0;
  padding: 10px 0;
  background-color: #000;
  color: #fff;
  text-align: center;
}

/*# sourceMappingURL=ondemand.css.map */

/* ↑～2024旧データの分 */

/* ↓2024～新データの分 */

body {
  box-sizing: border-box;
}

#ond section {
  width: 100%;
}

h3 , p {
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  p {
    margin-bottom: 0 !important;
  }
}

#ond * {
  box-sizing: border-box;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
}

ol {
  padding-inline-start: 0;
}

.fv {
  padding: 0;
  padding-top: 86px;
}
@media screen and (max-width: 767px) {
  .fv {
    padding-top: 45px;
  }
}

.fv-img {
  position: relative;
}

.fv-img img {
  width: 100%;
}

.fv-img-title {
  position: absolute;
  top: 0;
  left: 0;
  padding: 4.5vw 0 0 7.14285714285714vw;
  width: 100%;
  text-align: left;
}    
@media screen and (max-width: 767px) {
  .fv-img-title {
    padding-left: 5.3vw;
    padding-right: 5.3vw;
  }
}

.fv-img-title h2 {
  font-size: 3.14285714285714vw;
  font-weight: 700;
  line-height: 1.613636363636364;
  text-align: left;
  padding-bottom: 12.5vw;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .fv-img-title h2 {
    font-size: 6.4vw;
    padding-bottom: 90.66666666666667vw;
  }
}

.fv-list {
  width: 22.14285714285714vw;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .fv-list {
    width: 66.66666666666667vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
}

.fv-list li {
  height: 3.57142857142857vw;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  margin: 0.5vw 0;
}
@media screen and (max-width: 767px) {
  .fv-list li {
    height: auto;
    width: 100%;
    padding: 3.2vw 0;
  }
}

.fv-list li::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-1.1vw, -50%) rotate(270deg);
  transform-origin: center;
  width: 0;
  height: 0;
  border-top: 1.42857142857143vw #000 solid;
  border-left: 1.78571428571429vw transparent solid;
  border-right: 1.78571428571429vw transparent solid;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .fv-list li::after {
    transform: translate(-2.2vw, -50%) rotate(270deg);
    border-top: 5vw #000 solid;
    border-left: 5vw transparent solid;
    border-right: 5vw transparent solid;
  }
}

.fv-list li p {
  font-size: 1.21428571428571vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .fv-list li p {
    font-size: 3.73333333333333vw;
  }
}

.fv-img .common-link {
  position: absolute;
  left: 50%;
  bottom: 7.2vw;
  transform: translateX(-50%);
}    
@media screen and (max-width: 767px) {
  .fv-img .common-link {
    width: 100%;
    padding-left: 5.3vw;
    padding-right: 5.3vw;
    box-sizing: border-box;
  }
}

.common-link a {
  display: block;
  width: 46.2vw;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .common-link a {
    width: 100%;
  }
}

.common-link a img {
  width: 100%;
}

.common-link a:hover {
  transition: all 1s;
  cursor: pointer;
  transform: scale(.98);
}

.fv-text {
  text-align: center;
  background: url(../images/ondemand/fv-text_deco1.png) , url(../images/ondemand/fv-text_deco2.png) , linear-gradient(180deg , #000 0 calc(100% - 2.5vw) , transparent calc(100% - 2.5vw) 100%);
  background-size: 20vw , 31.5vw ,100%;
  background-repeat: no-repeat , no-repeat ,no-repeat;
  background-position: left calc(50% - 1.25vw) , right bottom , center top;
  padding: 10.28571428571429vw 0 12.85714285714286vw 0;
}
@media screen and (max-width: 767px) {
  .fv-text {
    background: url(../images/ondemand/fv-text_deco1.png) , url(../images/ondemand/fv-text_deco2.png) , linear-gradient(180deg , #000 0 calc(100% - 11.2vw) , transparent calc(100% - 11.2vw) 100%);
    background-size: 34vw , 53.33333333333333vw ,100%;
    background-position: left calc(50% - 20vw) , right bottom , center top;
    background-repeat: no-repeat , no-repeat ,no-repeat;
    padding: 26.66666666666667vw 0 11.2vw;
  }
}

.fv-text h3 ,.fv-text p {
  color: #fff;
}

.fv-text h3 {
  font-size: 2vw;
  line-height: 2.142857142857143;
  font-weight: 700;
  letter-spacing: 0.14em;
}
@media screen and (max-width: 767px) {
  .fv-text h3 {
    font-size: 5.33333333333333vw;
    letter-spacing: 0.2rem;
  }
}

.fv-text p {
  font-size: 1.14285714285714vw;
  line-height: 3.625;
  font-weight: 500;
  padding: 4.57142857142857vw 0 0;
  letter-spacing: 0.14em;
}
@media screen and (max-width: 767px) {
  .fv-text p {
    font-size: 3.73333333333333vw;
    padding: 21.33333333333333vw 0 32vw;
  }
}

.feature ,.plan {
  padding-top: 110px;
  padding-bottom: 150px;
}
@media screen and (max-width: 767px) {
  .feature ,.plan {
    padding-top: 6.6666666666666vw;
    padding-bottom: 25.86666666666667vw;
  }
}

.feature {
  background: url(../images/ondemand/feature_bk.jpg) ;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center calc(100% + 1px);

}
@media screen and (max-width: 767px) {
  .feature {
    background-size: 200vw;
    background-position: left calc(100% + 1px);
  }
}

.ond-container {
  max-width: 1040px;
  padding: 0 20px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .ond-container {
    padding: 0;
  }
}

.common-titile {
  text-align: center;  
  padding: 130px 0 65px;
}
@media screen and (max-width: 767px) {
  .common-titile {
    padding: 0 0 13.33333333333333vw;
  }
}

.common-titile h2 {
  position: relative;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.8;
  padding-top: 25px;
  letter-spacing: 0.14em;
}
@media screen and (max-width: 767px) {
  .common-titile h2 {
    font-size: 5.86666666666667vw;
    padding-top: 25px;
    letter-spacing: 0.4rem;
  }
}

.common-titile h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  width: 60px;
  background-color: #000;
}

.feature ol {
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .feature ol {
    padding-bottom: 26vw;
  }
}

.grid-list {
  display: grid;
  grid-template-areas:
  "num hd  img"
  ".   tx  img"
  ".   cp  img"
  ".   ex  ex";
  grid-template-rows: 81px auto auto auto;
  grid-template-columns: 82px 1fr 380px;
  grid-gap: 0 40px;
  margin-bottom: 68px;
}
@media screen and (max-width: 767px) {
  .grid-list {
    grid-template-areas:
    "num hd"
    "tx  tx"
    "img img"
    "cp  cp"
    "ex  ex";
    grid-template-columns: 17.52vw 1fr;
    grid-template-rows: auto auto auto auto;
    grid-gap: 5.33333333333333vw;
    margin-bottom: 0;
  }
  .grid-list--cp {
    grid-template-areas:
    "num hd"
    "tx  tx"
    "cp  cp"
    "img img"
    "ex  ex";
    grid-template-columns: 17.52vw 1fr;
    grid-template-rows: auto auto auto auto;
    grid-gap: 5.33333333333333vw;
    margin-bottom: 0;
  }
}

.grid-list--p4 {
  display: grid;
  grid-template-areas:
  "num hd"
  ".   ex";
  grid-template-rows: 81px auto;
  grid-template-columns: 82px 1fr;
  grid-gap: 0 40px;
}
@media screen and (max-width: 767px) {
  .grid-list--p4 {
    display: grid;
    grid-template-areas:
    ".   ."
    ".   ."
    "num hd"
    "ex  ex";
    grid-template-rows: auto auto;
    grid-template-columns: 17.52vw 1fr;;
    grid-gap: 5.33333333333333vw;
  }
}

.grid-l-num {
  grid-area: num;
}

.grid-l-num img ,.grid-l-img img {
  width: 100%;
}

.grid-l-hd {
  grid-area: hd;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.grid-l-hd h3 {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
@media screen and (max-width: 767px) {
  .grid-l-hd h3 {
    font-size: 5.33333333333333vw;
    letter-spacing: 0.07em;
  }
}

.grid-l-img {
  grid-area: img;
}

.grid-l-tx {
  grid-area: tx;
}

.grid-l-tx p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .grid-l-tx p {
    font-size: 3.73333333333333vw;
  }
}

.grid-l-cp {
  grid-area: cp;
}

.grid-l-cp p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .grid-l-cp p {
    font-size: 3.2vw;
    letter-spacing: 0.01em;
  }
}

.grid-l-ex {
  grid-area: ex;
}

.grid-l-ex div p {
  font-size: 18px;
  font-weight: 700;
  padding-top: 30px;
  letter-spacing: 0.14em;
}

.grid-l-ex--p4 div p {
  padding-top: 0;
}

.grid-l-ex-ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .grid-l-ex-ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1.86666666666667vw;
  }
}

.grid-l-ex-ul--p4 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-gap: 5px;
}
@media screen and (max-width: 767px) {
  .grid-l-ex-ul--p4 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 2.4vw 3.73333333333333vw;
  }
}

.grid-l-ex-ul li {
  flex: 1;
  background-color: #ECEEF0;
  margin: 3.5px;
  text-align: center;
  padding: 7px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .grid-l-ex-ul li {
    margin: 0;
    padding: 7px 0;
  }
}

.grid-l-ex-ul--p4 li {
  margin: 0;
  background-color: transparent;
  border: 1px #000 solid;
  border-radius: 5px;
  letter-spacing: 0.05em;
}

.grid-l-ex-ul li p {
  line-height: 1.5;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .grid-l-ex-ul li p {
    letter-spacing: -0.1rem;
    font-size: 3.46666666666667vw;
    white-space: nowrap;
  }
}

.grid-l-ex-ul li:first-of-type {
  margin-left: 0;
}

.grid-l-ex-ul li:last-of-type {
  margin-right: 0;
}

.plan {
  background: url(../images/ondemand/plan_deco1.png) ,url(../images/ondemand/plan_deco2.jpg);
  background-size: 15.85714285714286vw , 4.57142857142857vw;
  background-repeat: no-repeat , no-repeat;
  background-position: right calc(100% - 130px) , calc(100% - 18.57142857142857vw) bottom;
  background-color: #000;
} 
@media screen and (max-width: 767px) {
  .plan {
    background-size: 29.33333333333333vw , 8.26666666666667vw;
    background-position: right calc(100% - 17.06666666666667vw) , calc(100% - 34.13333333333333vw) bottom;
  } 
}

.plan p ,.plan h2 ,.plan h3 {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .plan h3 {
    letter-spacing: .1rem;
  }
}

.plan .common-titile h2::after {
  background-color: #fff;
}

.plan ol {
  padding-bottom: 32px;
}

#privacySection {
  text-align: center;
}
@media screen and (max-width: 767px) {
  #privacySection ,#privacySection h2 {
    text-align: left;
  }
}

#privacySection h2 {
  font-family: "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "メイリオ", sans-serif;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
}