@charset "UTF-8";

/*--------------------------------------------------------------
# ヘッダー
--------------------------------------------------------------*/
#header {
  height: 60px;
  background-color: #4f81bd;
  color: #fff;
  box-shadow: none;
}
#header a {
  font-size: 14px;
  flex-shrink: 0;
  cursor: pointer;
}
#header .pageTtl {
  font-size: 18px;
  font-weight: 700;
}
@media screen and (min-width: 768px){
  #header a {
    font-size: 16px;
  }
  #header .pageTtl {
    font-size: 20px;
  }
}

/*--------------------------------------------------------------
# メインコンテンツ
--------------------------------------------------------------*/
#mainContents {
  padding: 30px 0 80px;
}
@media screen and (min-width: 768px){
  #mainContents {
    padding: 50px 0 100px;
  }
}
#mainContents .imgBlk {
  width: 100%;
  margin-bottom: 30px;
}
#mainContents .imgBlk .img {
  width: 100%;
  margin: 0;
}
#mainContents .imgBlk .img img {
  width: 100%;
  display: block;
}
#mainContents .btnBlk {
  width: 100%;
  padding: 0 20px;
  margin-bottom: 50px;
}
#mainContents .btnBlk .btnWrap {
  grid-gap: 20px;
}
#mainContents .btnBlk .btnWrap .btn {
  width: 200px;
  border-radius: 20px;
}
#mainContents .txtBlk {
  width: 100%;
}
#mainContents .txtBlk .ttl {
  width: 100%;
  height: 40px;
  margin-bottom: 20px;
  background-color: #4F81BD;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
}
#mainContents .txtBlk .txtWrap {
  padding: 0 10px 20px;
}
@media screen and (min-width: 768px){
  #mainContents .txtBlk .txtWrap {
    padding: 0 20px 20px;
  }
}
#mainContents .txtBlk ul {
  line-height: 1.5;
}
#mainContents .txtBlk ul li {
  padding-left: 1em;
  position: relative;
}
#mainContents .txtBlk ul li:not(:last-child) {
  margin-bottom: 8px;
}
#mainContents .txtBlk ul li::before {
  position: absolute;
  top: 0;
  left: 0;
}
#mainContents .txtBlk .list li::before {
  content: "・";
}
#mainContents .txtBlk .note li::before {
  content: "※";
}
#mainContents .txtBlk ul strong {
  font-weight: 700;
}
#mainContents .txtBlk ul .red {
  color: #C00000;
}
#mainContents .priceWrap {
  grid-gap: 0;
}
@media screen and (min-width: 768px){
  #mainContents .priceWrap {
    grid-gap: 10px;
  }
}
@media screen and (min-width: 992px){
  #mainContents .priceWrap {
    grid-gap: 20px;
  }
}
#mainContents .priceWrap .operator {
  color: #4F81BD;
  font-size: 32px;
  font-weight: 700;
  display: inline-block;
}
@media screen and (max-width: 767px){
  #mainContents .priceWrap .operator {
    transform: rotate(90deg);
  }
}
@media screen and (min-width: 768px) and (max-width: 991px){
  #mainContents .priceWrap .operator {
    font-size: 24px;
  }
}
#mainContents .priceBoxWrap {
  width: 100%;
  align-self: stretch;
}
@media screen and (min-width: 768px){
  #mainContents .priceBoxWrap {
    width: auto;
  }
}
#mainContents .priceBox {
  width: 100%;
  height: 100%;
  padding: 12px 20px 16px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(79,129,189,0.2) inset;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  grid-gap: 16px;
}
@media screen and (min-width: 768px) and (max-width: 991px){
  #mainContents .priceBox {
    font-size: 12px;
  }
}
#mainContents .priceBox__label {
  width: 64px;
  height: 64px;
  margin-bottom: 0;
  background-color: #4F81BD;
  border-radius: 50%;
  color: #fff;
  font-size: 12px;
  line-height: 15px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
#mainContents .priceBox__plan {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#mainContents .priceBox__plan .planPrice strong {
  color: #4F81BD;
  font-size: 32px;
}
@media screen and (min-width: 768px) and (max-width: 991px){
  #mainContents .priceBox__plan .planPrice strong {
    font-size: 24px;
  }
}
#mainContents .priceNote {
  height: 1em;
  font-size: 12px;
  text-align: center;
  white-space: nowrap;
}

/*--------------------------------------------------------------
# フッター
--------------------------------------------------------------*/
#footer {
  background-color: #4f81bd;
  color: #fff;
  position: relative;
  padding: 10px;
}
#footer > .inner {
  position: relative;
}
#footer .logo {
  width: 40px;
  height: auto;
  position: absolute;
  top: -10px;
  left: 0;
}
#footer p img{
  width: auto;
  height: 20px;
}