@charset "UTF-8";
#contents {
  font-family: "Hiragino Sans", "Helvetica Neue" sans-serif;
  font-size: 16px;
}
#contents section {
  padding: 0 10px;
}
#contents .wrap {
  max-width: 880px;
  margin: 0 auto;
  padding: 90px 0;
}
@media only screen and (max-width: 960px) {
  #contents {
    font-size: 15px;
  }
}
@media only screen and (max-width: 769px) {
  #contents .wrap {
    padding: 50px 0;
  }
}
@media only screen and (max-width: 769px) {
  #contents {
    font-size: 14px;
  }
}

.orange {
  color: #FF622D;
}

.orange02 {
  color: #F9851F;
}

.blue {
  color: #5190BB;
}

.pink {
  color: #FF697B;
}

.yellow {
  color: #FFE261;
}

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

.entry_btn {
  display: table;
  background: url("/common/img/top/btn_arrow02.svg") no-repeat right 90px center/14px auto;
  background-color: #FF622D !important;
  width: 100%;
  max-width: 880px;
  height: 78px;
  margin: 50px auto 0;
  padding: 0 10px;
  color: white;
  font-size: 28px;
  font-weight: 700;
  line-height: 78px;
  text-align: center;
  border-radius: 12px;
  border: #FF622D 2px solid;
  transition: background 0.3s ease-in-out 0s;
}
.entry_btn:hover {
  background: url("/common/img/top/btn_arrow03.svg") no-repeat right 90px center/14px auto;
  background-color: white !important;
  color: #FF622D;
}
.entry_btn.v1_btn {
  background-color: #5190BB !important;
  border-color: #5190BB;
}
.entry_btn.v1_btn:hover {
  background-image: url("/common/img/top/btn_arrow04.svg") !important;
  background-color: white !important;
  color: #5190BB;
}
@media only screen and (max-width: 769px) {
  .entry_btn {
    background-position: right 30px center !important;
    background-size: 10px auto !important;
    height: 60px;
    margin: 20px auto 0;
    font-size: 18px;
    line-height: 60px;
  }
}

.arrow_btn {
  background: url("/common/img/top/btn_arrow01.svg") no-repeat right center/10px auto;
  display: table;
  margin: 30px auto 0;
  font-size: 20px;
  color: #006781;
  padding-right: 26px;
  transition: background 0.3s ease-in-out 0s;
}
.arrow_btn:hover {
  color: #5190BB;
}
.arrow_btn.right {
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (max-width: 769px) {
  .arrow_btn {
    background-size: 8px auto !important;
    font-size: 16px;
    padding-right: 20px;
  }
}

.sec_tit {
  background: url("/common/img/top/sectit_img01.svg") no-repeat center bottom/70px auto;
  margin-bottom: 50px;
  padding-bottom: 20px;
  font-weight: 700;
  font-size: 45px;
  color: #006781;
  line-height: 1.4;
  text-align: center;
}
.sec_tit .small {
  display: block;
  margin-bottom: 14px;
  color: #333;
  font-size: 22px;
  font-weight: normal;
}
.sec_tit .img_tit img {
  width: auto;
  height: 64px;
  margin: 0 8px;
}
@media only screen and (max-width: 769px) {
  .sec_tit {
    background-size: 50px auto !important;
    margin-bottom: 30px;
    padding-bottom: 14px;
    font-size: 26px;
  }
  .sec_tit .small {
    font-size: 18px;
  }
  .sec_tit .img_tit img {
    height: 38px;
  }
}

.sec_txt {
  margin-bottom: 40px;
  font-size: 20px;
  text-align: center;
}
@media only screen and (max-width: 769px) {
  .sec_txt {
    margin-bottom: 26px;
    font-size: 15px;
  }
}

.sub_tit {
  margin: 50px 0 40px;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media only screen and (max-width: 769px) {
  .sub_tit {
    margin: 40px 0 30px;
    font-size: 22px;
  }
}

.num_tit {
  display: table;
  margin: 0 auto 40px;
  padding: 0 50px 0 90px;
  position: relative;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.4;
}
.num_tit.num01 {
  background: url("/common/img/top/reason_img01.png") no-repeat right center/40px auto;
}
.num_tit.num01::before {
  background: url("/common/img/top/reason_tit01.png") no-repeat center/contain;
}
.num_tit.num02 {
  background: url("/common/img/top/reason_img02.png") no-repeat right center/40px auto;
}
.num_tit.num02::before {
  background: url("/common/img/top/reason_tit02.png") no-repeat center/contain;
}
.num_tit.num03 {
  background: url("/common/img/top/reason_img03.png") no-repeat right center/40px auto;
}
.num_tit.num03::before {
  background: url("/common/img/top/reason_tit03.png") no-repeat center/contain;
}
.num_tit::before {
  content: "";
  display: block;
  width: 74px;
  height: 74px;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
  margin-top: -4px;
}
@media only screen and (max-width: 769px) {
  .num_tit {
    background-size: 34px auto !important;
    margin-bottom: 30px;
    padding: 0 40px 0 70px;
    font-size: 28px;
  }
  .num_tit::before {
    width: 60px;
    height: 60px;
  }
}

header,
.affiliBtn {
  background-color: #0f0f0f;
}

.vd_bnr {
  display: none;
}

.sub_area {
  background: #F2F2F2;
  overflow: hidden;
  border-radius: 20px;
}
.sub_area.blue_area {
  background: #F2F2F2;
}
.sub_area.blue_area .tit {
  background: #5190BB;
}
.sub_area.orange_area {
  background: #FFF5EE;
}
.sub_area.orange_area .tit {
  background: #FF622D;
}
.sub_area .tit {
  background: #006781;
  padding: 14px 10px;
  color: white;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.sub_area .detail {
  padding: 30px 30px 40px;
}
@media only screen and (max-width: 769px) {
  .sub_area .tit {
    padding: 10px;
    font-size: 18px;
  }
  .sub_area .detail {
    padding: 20px 20px 30px;
  }
}

.tableBox {
  border: none;
}
.tableBox tr {
  border-color: #cdcdcd;
}
.tableBox th,
.tableBox td {
  height: 64px;
  padding: 10px !important;
  font-size: 18px !important;
  line-height: 1.4;
  border-left: #cdcdcd 1px solid;
}
.tableBox th {
  background: #DDEDF4 !important;
  text-align: center;
}
.tableBox th.orange {
  color: #FF622D !important;
}
.tableBox th.blue {
  color: #5190BB !important;
}
.tableBox td {
  width: 35% !important;
}
.tableBox thead tr {
  border-top: none;
}
.tableBox thead th:first-of-type {
  border-left: none;
  border-radius: 10px 0 0 0;
}
.tableBox thead th:last-of-type {
  border-radius: 0 10px 0 0;
}
.tableBox tbody tr:last-of-type th {
  border-radius: 0 0 0 10px;
}
.tableBox tbody tr:last-of-type td:last-of-type {
  border-radius: 0 0 10px 0;
}
.tableBox tbody th {
  width: 30%;
  text-align: center !important;
  border-left: none;
}
.tableBox tbody .blue {
  background: white !important;
  color: #5190BB;
}
.tableBox tbody .orange {
  background: #FFF5EE;
  color: #FF622D;
  font-weight: 600;
}
.tableBox .small {
  color: #333;
  font-size: 14px;
  font-weight: normal;
}
@media only screen and (max-width: 769px) {
  .tableBox th,
  .tableBox td {
    height: 54px;
    font-size: 16px !important;
  }
}

.attention {
  margin-top: 14px;
  color: #333;
}
.attention.right {
  display: table;
  margin: 14px 0 0 auto;
  font-size: 15px;
}
@media only screen and (max-width: 769px) {
  .attention.right {
    margin-top: 10px;
    font-size: 13px;
  }
}

.fix_area {
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  padding: 16px 10px;
  position: fixed;
  bottom: -100%;
  left: 0;
  z-index: 100;
  transition: all 0.3s ease-in-out 0s;
  transition-duration: 1s;
}
.fix_area ul {
  display: flex;
  justify-content: center;
  max-width: 570px;
  margin: 0 auto;
}
.fix_area li {
  width: 50%;
  max-width: 262px;
}
.fix_area li:nth-child(2) {
  margin-left: 50px;
}
.fix_area .entry_btn {
  background-position: right 24px center !important;
  background-size: 6px auto !important;
  height: 45px;
  margin: 0;
  font-size: 16px;
  line-height: 45px;
  border-radius: 4px;
}
.fix_area.on {
  bottom: 0;
}
@media only screen and (max-width: 769px) {
  .fix_area li:nth-child(2) {
    margin-left: 10px;
  }
  .fix_area .entry_btn {
    background-image: none;
    height: 40px;
    font-size: 14px;
    line-height: 40px;
  }
}

main {
  background: url("/common/img/top/main_bg01.jpg") no-repeat left bottom/cover;
  padding: 0 10px;
  color: #006781;
}
main .wrap {
  max-width: 780px !important;
  padding: 50px 0 !important;
}
main .tit {
  font-size: 31px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
main .tit > span {
  display: block;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}
main .detail {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end;
  padding: 0 30px;
  margin: 30px 0;
}
main .detail li {
  width: 46%;
  position: relative;
}
main .detail li .val {
  font-size: 56px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 1px;
}
main .detail li .val span {
  font-size: 125px;
}
main .detail li .off {
  display: table;
  background: #FF622D;
  padding: 8px 20px;
  margin: -20px 0 -4px;
  font-size: 22px;
  font-weight: 700;
  color: white;
  line-height: 1.2;
  border-radius: 100px;
}
main .detail li p {
  position: absolute;
  bottom: 60px;
  right: 34px;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 2px;
}
main .detail li:nth-child(2) .val {
  color: #FF622D;
}
main .point_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  background: white;
  padding: 18px 0;
  color: #333;
  border-radius: 20px;
}
main .point_list li {
  width: 20%;
  padding: 50px 10px 0;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
main .point_list li:nth-child(1) {
  background: url("/common/img/top/main_ico01.png") no-repeat center top/auto 46px;
}
main .point_list li:nth-child(2) {
  background: url("/common/img/top/main_ico02.png") no-repeat center top/auto 46px;
}
main .point_list li:nth-child(3) {
  background: url("/common/img/top/main_ico03.png") no-repeat center top/auto 46px;
}
main .point_list li:nth-child(4) {
  background: url("/common/img/top/main_ico04.png") no-repeat center top/auto 46px;
}
main .point_list li:nth-child(5) {
  background: url("/common/img/top/main_ico05.png") no-repeat center top/auto 46px;
}
main .point_list li:not(:first-child) {
  border-left: #5190BB 1px solid;
}
main .point_list li .orange {
  display: block;
  margin-top: 2px;
  font-size: 19px;
  line-height: 1;
}
main .point_list li .small {
  display: inline-block;
  margin: 0 -4px 0 4px;
  color: #333;
  font-size: 10px;
  font-weight: normal;
}
main .attNumber {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 10px auto -4px;
}
main .attNumber li {
  padding: 0 0 0 1.4rem;
  font-size: 10px;
  color: #333;
}
main .attNumber li:not(:first-child) {
  margin-left: 14px;
}
main .attNumber li span {
  left: 0.8rem;
}
main .entry_btn {
  background-position: right 40px center !important;
  background-size: 10px auto !important;
  max-width: 510px;
  height: 62px;
  margin-top: 24px;
  font-size: 22px;
  line-height: 62px;
  border-radius: 10px;
}
@media only screen and (max-width: 769px) {
  main .wrap {
    padding: 40px 0 !important;
  }
  main .tit {
    font-size: 26px;
  }
  main .tit > span {
    font-size: 16px;
  }
  main .detail {
    max-width: 360px;
    padding: 0;
    margin: 10px auto 30px;
  }
  main .detail li {
    width: 48%;
    text-align: center;
  }
  main .detail li .val {
    font-size: 24px;
  }
  main .detail li .val span {
    font-size: 70px;
  }
  main .detail li .off {
    padding: 6px 20px;
    margin: -10px 0 0;
    font-size: 16px;
  }
  main .detail li p {
    right: 4px;
    bottom: 30px;
    font-size: 18px;
  }
  main .point_list {
    padding: 10px 0 18px;
  }
  main .point_list li {
    background-size: auto 40px !important;
    width: 33%;
    padding: 40px 10px 0;
    margin-top: 10px;
    font-size: 12px;
  }
  main .point_list li:nth-child(4) {
    border-left: none;
  }
  main .point_list li .orange {
    font-size: 16px;
  }
  main .attNumber {
    display: table;
  }
  main .attNumber li {
    display: table;
    margin: 0 auto;
  }
  main .entry_btn {
    background-size: 8px auto !important;
    height: 54px;
    font-size: 18px;
    line-height: 54px;
  }
}

#reason {
  background: #F2F2F2;
}
#reason .wrap {
  max-width: 780px !important;
  padding: 50px 0 30px !important;
}
#reason .tit {
  background: url("/common/img/top/reason_tit04.png") no-repeat center/100% auto;
  max-width: 526px;
  margin: 0 auto 30px;
  padding: 0 30px;
  font-weight: 500;
}
#reason .tit span {
  display: table;
  margin: 0 auto;
  font-size: 32px;
  font-weight: 500;
}
#reason ul {
  display: flex;
  justify-content: space-between;
  padding-top: 24px;
  position: relative;
}
#reason ul::before {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #FF622D;
  margin-top: 17px;
}
#reason ul li {
  width: 32%;
  position: relative;
}
#reason ul li:nth-child(1)::before {
  background: url("/common/img/top/reason_tit01.png") no-repeat center/contain;
}
#reason ul li:nth-child(1) a > span::before {
  background: url("/common/img/top/reason_img01.png") no-repeat center/contain;
}
#reason ul li:nth-child(2)::before {
  background: url("/common/img/top/reason_tit02.png") no-repeat center/contain;
}
#reason ul li:nth-child(2) a > span::before {
  background: url("/common/img/top/reason_img02.png") no-repeat center/contain;
}
#reason ul li:nth-child(3)::before {
  background: url("/common/img/top/reason_tit03.png") no-repeat center/contain;
}
#reason ul li:nth-child(3) a > span::before {
  background: url("/common/img/top/reason_img03.png") no-repeat center/contain;
}
#reason ul li::before {
  content: "";
  display: block;
  width: 70px;
  height: 70px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -36px;
}
#reason ul a {
  display: block;
  background-color: #FFF !important;
  padding: 40px 10px 10px;
  font-size: 28px;
  font-weight: 700;
  color: #333;
  border: 5px solid #FF622D;
  border-radius: 12px;
  transition: background 0.3s ease-in-out 0s;
}
#reason ul a:hover {
  background-color: #C1D6DF !important;
}
#reason ul a .big {
  display: table;
  padding-right: 50px;
  margin: 0 auto;
  position: relative;
}
#reason ul a .big::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  position: absolute;
  top: 2px;
  right: 0;
}
#reason ul a .small {
  background: url("/common/img/top/reason_arrow01.svg") no-repeat right center/12px auto;
  display: table;
  margin: 4px auto 0;
  padding-right: 26px;
  font-size: 14px;
  color: #888;
}
@media only screen and (max-width: 769px) {
  #reason .wrap {
    padding-top: 40px !important;
  }
  #reason .tit {
    margin: 0 auto 20px;
    padding: 0 20px;
  }
  #reason .tit span {
    font-size: 22px;
  }
  #reason ul li {
    width: 32.5%;
  }
  #reason ul li::before {
    width: 50px;
    height: 50px;
    top: -22px;
  }
  #reason ul a {
    padding: 30px 0 10px;
    font-size: 16px;
  }
  #reason ul a .big {
    padding-right: 0;
  }
  #reason ul a .big::before {
    display: none;
  }
  #reason ul a .small {
    background-size: 10px auto !important;
    padding-right: 16px;
    font-size: 12px;
  }
}
@media only screen and (max-width: 500px) {
  #reason ul a {
    font-size: 14px;
  }
}

#price {
  background: url("/common/img/top/price_bg.png") no-repeat left top/100% auto;
}
#price .wrap {
  max-width: 1200px;
  padding-top: 120px !important;
}
#price .scroll {
  overflow-x: scroll;
}
#price .plan_list {
  min-width: 1200px;
}
#price .plan_list.no_campaign .plan_name {
  padding: 32px 20px;
}
#price .plan_list.no_campaign .plan_name .price {
  margin-top: 6px;
}
#price .plan_list > ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 7px;
}
#price .plan_list > ul > li {
  width: 24%;
  position: relative;
  border: #F9851F 2px solid;
  border-radius: 10px;
}
#price .plan_list > ul > li .ng {
  font-weight: normal;
  font-size: 30px;
  line-height: 1;
}
#price .plan_list > ul > li.v1 {
  margin-right: 10px;
  border: #5190BB 2px solid;
}
#price .plan_list > ul > li.v1 .plan_name {
  background: #5190BB;
  padding: 32px 20px;
}
#price .plan_list > ul > li.v1 .plan_name .price {
  margin-top: 6px;
}
#price .plan_list > ul > li.v1 .detail_list .point > span {
  color: #006781;
}
#price .plan_list > ul > li > img {
  width: 66px;
  position: absolute;
  top: -12px;
  left: -12px;
}
#price .plan_list .plan_name {
  background: #F9851F;
  padding: 24px 20px 22px;
  text-align: center;
  border-radius: 8px 8px 0 0;
}
#price .plan_list .plan_name .tit {
  color: white;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.2;
}
#price .plan_list .plan_name .campaign {
  color: white;
  font-weight: 700;
}
#price .plan_list .plan_name .price {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-size: 22px;
  font-weight: 600;
  line-height: 1;
  color: #FFE261;
  text-align: left;
}
#price .plan_list .plan_name .price > span {
  margin-left: 16px;
  margin-bottom: -6px;
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 800;
  font-size: 24px;
}
#price .plan_list .plan_name .price > span span {
  font-size: 46px;
}
#price .plan_list .detail {
  padding: 20px 12px;
}
#price .plan_list .detail_tit {
  padding-bottom: 12px;
  margin-bottom: 10px;
  position: relative;
  font-size: 18px;
  font-weight: 800;
  text-align: center;
}
#price .plan_list .detail_tit::before {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  background: #FF622D;
  bottom: 0;
}
#price .plan_list .detail_list {
  margin-top: 4px;
  font-size: 12px;
}
#price .plan_list .detail_list li {
  min-height: 44px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: #4C4C4C 1px solid;
}
#price .plan_list .detail_list li p {
  width: 48%;
  font-weight: 600;
  line-height: 1;
}
#price .plan_list .detail_list li > span {
  width: 52%;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}
#price .plan_list .detail_list li .small {
  display: block;
  margin: 2px 0 -8px;
  font-size: 9px;
  font-weight: normal;
}
#price .plan_list .detail_list li.point > span {
  position: relative;
  font-size: 12px;
  color: #FF622D;
}
#price .plan_list .detail_list li.point > span .big {
  font-size: 16px;
  line-height: 1;
}
#price .plan_list .detail_list li.point > span .small {
  position: absolute;
  top: 0;
  right: 14px;
  color: #333 !important;
  vertical-align: top;
}
#price .plan_list .detail .tokuten {
  background: #F0F0F0;
  min-height: 139px;
  padding: 14px 15px 6px;
  margin-top: 20px;
}
#price .plan_list .detail .tokuten .detail_tit {
  padding-bottom: 4px;
  font-size: 17px;
}
#price .plan_list .detail .tokuten ul {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
}
#price .plan_list .detail .tokuten ul li {
  display: flex;
  justify-content: space-between;
}
#price .plan_list .detail .tokuten ul li span {
  color: #FF622D;
}
#price .plan_list .detail .tokuten .attention {
  margin-top: 0;
  padding-left: 12px;
  font-size: 9px;
  line-height: 1.2;
}
#price .plan_list .detail .entry_btn {
  background-size: 6px auto !important;
  background-position: right 30px center !important;
  height: 48px;
  margin-top: 20px;
  font-size: 14px;
  line-height: 48px;
  border-radius: 4px;
}
#price .tb-attention {
  margin-top: 20px;
  font-size: 12px;
}
#price .tb-attention span {
  display: inline-block;
  margin-right: 4px;
  font-weight: bold;
}
@media only screen and (max-width: 769px) {
  #price .wrap {
    padding-top: 60px !important;
  }
  #price_list .plan_name {
    padding: 30px;
  }
  #price_list .plan_name .price {
    margin-top: 4px;
  }
}

#difference {
  background: #F2F2F2;
}
#difference .sec_tit {
  color: #333;
}
#difference ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#difference ul li {
  width: 48%;
  background: white;
}
#difference ul li.blue_area .detail > span {
  color: #5190BB;
}
#difference ul li.blue_area .detail p {
  margin-bottom: 34px;
}
#difference ul li .detail > span {
  display: block;
  margin-top: -14px;
  font-size: 34px;
  font-weight: 700;
  color: #FF622D;
  text-align: center;
}
#difference ul li .detail > span span {
  display: block;
  font-size: 20px;
  font-weight: normal;
  line-height: 1;
}
#difference ul li .detail p {
  margin: 20px 0;
}
#difference ul li .detail div {
  background: #DDEDF4;
  padding: 14px 10px;
  margin-top: 18px;
  font-size: 21px;
  font-weight: 700;
  text-align: center;
  border-radius: 10px;
}
#difference .tableBox {
  min-width: 700px;
}
#difference .scrollTxt span {
  background: #F2F2F2;
}
#difference .white_area {
  background: white;
  padding: 26px 10px;
  margin-top: 50px;
  text-align: center;
  border-radius: 30px;
}
#difference .white_area p {
  font-size: 20px;
  font-weight: 700;
}
#difference .white_area .arrow_btn {
  margin-top: 15px;
}
@media only screen and (max-width: 769px) {
  #difference ul li {
    width: 100%;
  }
  #difference ul li.blue_area {
    margin-bottom: 20px;
  }
  #difference ul li .detail > span {
    margin-top: -4px;
    font-size: 26px;
  }
  #difference ul li .detail > span span {
    font-size: 16px;
  }
  #difference ul li .detail div {
    font-size: 16px;
  }
  #difference .white_area {
    padding: 30px 10px;
    margin-top: 30px;
  }
  #difference .white_area p {
    font-size: 16px;
  }
}

#recommend {
  background: url("/common/img/top/recommend_bg.png") no-repeat left bottom/100% auto;
}
#recommend .wrap {
  padding-bottom: 160px !important;
}
#recommend .detail {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#recommend .detail > li {
  background: #F2F2F2;
  width: 48%;
  padding: 24px 10px;
  margin-bottom: 44px;
  position: relative;
  border-radius: 10px;
}
#recommend .detail > li:nth-child(2) {
  padding-top: 50px;
}
#recommend .detail > li::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  background: url("/common/img/top/recommend_icon01.svg") no-repeat center/contain;
  position: absolute;
  bottom: -34px;
}
#recommend .detail > li p {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
#recommend .detail > li:last-child {
  width: 100%;
  padding: 50px 10px;
  margin-bottom: 80px;
}
#recommend .detail > li:last-child::before {
  display: none;
}
#recommend .detail > li:last-child p {
  font-size: 34px;
}
#recommend .detail > li:last-child p span {
  display: block;
}
#recommend .detail > li:last-child iframe {
  display: block;
  max-width: 352px;
  margin: 30px auto 40px;
}
#recommend .detail > li:last-child .check {
  background: white;
  max-width: 462px;
  padding: 20px 10px;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 700;
  border-radius: 10px;
}
#recommend .detail > li:last-child .check ul {
  max-width: 360px;
  margin: 0 auto;
}
#recommend .detail > li:last-child .check li {
  background: url("/common/img/top/recommend_icon02.svg") no-repeat left top 10px/18px auto;
  padding-left: 34px;
}
#recommend .detail > li:last-child .check li:not(:first-child) {
  margin-top: 4px;
}
#recommend .other {
  margin-top: 80px;
}
#recommend .other .small_tit {
  margin-top: -10px;
  font-size: 25px;
  font-weight: 700;
  text-align: center;
}
#recommend .other ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px;
}
#recommend .other ul li {
  width: 22%;
  padding: 24px 10px 20px;
  position: relative;
  border-radius: 20px;
  border: #006781 1px solid;
}
#recommend .other ul li:not(:nth-child(1))::after {
  content: "";
  display: block;
  width: 20px;
  height: 18px;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  background: url("/common/img/top/recommend_icon03.svg") no-repeat center/contain;
  left: -30px;
}
#recommend .other ul li::before {
  content: "";
  display: block;
  width: 34px;
  height: 34px;
  position: absolute;
  background: #006781;
  position: absolute;
  top: -14px;
  left: -14px;
  color: white;
  font-size: 17px;
  font-weight: bold;
  line-height: 34px;
  text-align: center;
  border-radius: 100px;
}
#recommend .other ul li:nth-child(1)::before {
  content: "1";
}
#recommend .other ul li:nth-child(2)::before {
  content: "2";
}
#recommend .other ul li:nth-child(3)::before {
  content: "3";
}
#recommend .other ul li:nth-child(4)::before {
  content: "4";
}
#recommend .other ul li p {
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}
#recommend .other ul li img {
  display: block;
  max-width: 102px;
  margin: 14px auto 0;
}
@media only screen and (max-width: 769px) {
  #recommend .wrap {
    padding-bottom: 80px !important;
  }
  #recommend .detail > li {
    width: 100%;
  }
  #recommend .detail > li p {
    font-size: 16px;
  }
  #recommend .detail > li:first-child {
    margin-bottom: 10px;
  }
  #recommend .detail > li:first-child::before {
    display: none;
  }
  #recommend .detail > li:nth-child(2) {
    padding-top: 24px;
  }
  #recommend .detail > li:last-child {
    padding: 30px 10px;
    margin-bottom: 40px;
  }
  #recommend .detail > li:last-child p {
    font-size: 20px;
  }
  #recommend .detail > li:last-child iframe {
    margin: 20px auto 30px;
  }
  #recommend .detail > li:last-child .check {
    font-size: 16px;
  }
  #recommend .detail > li:last-child .check li {
    background-position: left 10px top 8px !important;
  }
  #recommend .other {
    margin-top: 40px;
  }
  #recommend .other .small_tit {
    font-size: 18px;
  }
  #recommend .other ul {
    margin-top: 10px;
  }
  #recommend .other ul li {
    width: 48.5%;
    margin-top: 10px;
  }
  #recommend .other ul li:not(:nth-child(1))::after {
    display: none;
  }
}
@media only screen and (max-width: 500px) {
  #recommend .other ul li p {
    font-size: 13px;
  }
}

#speed {
  background: #F2F2F2;
}
#speed .wrap {
  padding-top: 50px !important;
}
#speed .white_area {
  background: white;
  padding: 46px 40px;
  border-radius: 30px;
}
#speed .white_area .first_txt {
  font-size: 24px;
  text-align: center;
}
#speed .white_area .first_txt > span {
  display: block;
  font-size: 19px;
}
#speed .white_area img {
  display: block;
  max-width: 760px;
  margin: 20px auto;
}
#speed .white_area ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#speed .white_area ul li {
  width: 48%;
}
#speed .white_area ul li .tit {
  padding-left: 40px;
  padding-right: 40px;
  font-size: 20px;
  text-align: left;
}
#speed .white_area ul li .tit .point {
  display: table;
  background: white;
  width: 72px;
  height: 20px;
  margin-left: -10px;
  margin-bottom: 4px;
  font-size: 14px;
  color: #F9851F;
  line-height: 20px;
  text-align: center;
  border-radius: 100px;
}
#speed .white_area ul li .tit .point span {
  display: inline-block;
  margin-left: 2px;
  font-size: 16px;
}
#speed .white_area ul li .detail {
  padding: 20px 40px;
}
#speed .white_area .txt {
  margin-top: 50px;
  color: #006781;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media only screen and (max-width: 769px) {
  #speed .white_area {
    padding: 30px 20px;
  }
  #speed .white_area .first_txt {
    font-size: 20px;
  }
  #speed .white_area .first_txt > span {
    font-size: 16px;
  }
  #speed .white_area ul li {
    width: 100%;
  }
  #speed .white_area ul li:first-child {
    margin-bottom: 10px;
  }
  #speed .white_area ul li .tit {
    padding-left: 20px;
    padding-right: 20px;
    font-size: 18px;
  }
  #speed .white_area ul li .tit .point {
    margin-left: 0;
    font-size: 12px;
  }
  #speed .white_area ul li .tit .point span {
    font-size: 14px;
  }
  #speed .white_area ul li .detail {
    padding: 20px;
  }
  #speed .white_area .txt {
    margin-top: 30px;
    font-size: 22px;
  }
}

#secret .detail_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#secret .detail_list li {
  width: 31%;
  position: relative;
}
#secret .detail_list li:nth-child(1)::before {
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  position: absolute;
  background: url("/common/img/top/secret_img01.png") no-repeat center/contain;
  position: absolute;
  top: 46px;
  right: 8px;
}
#secret .detail_list li:nth-child(2)::before {
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  position: absolute;
  background: url("/common/img/top/secret_img02.png") no-repeat center/contain;
  position: absolute;
  top: 46px;
  right: 8px;
}
#secret .detail_list li:nth-child(3)::before {
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  position: absolute;
  background: url("/common/img/top/secret_img03.png") no-repeat center/contain;
  position: absolute;
  top: 46px;
  right: 8px;
}
#secret .detail_list li .detail {
  padding-left: 24px;
  padding-right: 24px;
}
#secret .detail_list li .detail p span {
  display: block;
  margin-bottom: 4px;
  font-size: 18px;
  font-weight: 700;
}
#secret .plan li {
  margin-top: 30px;
}
#secret .plan li .tit {
  padding: 8px 70px;
  font-size: 26px;
  text-align: left;
}
#secret .plan li .detail {
  padding: 20px 70px 24px;
  font-size: 18px;
}
#secret .tableBox .orange {
  width: 28% !important;
}
#secret .tableBox .other,
#secret .tableBox td {
  width: 20% !important;
}
#secret .tableBox thead th {
  font-size: 20px !important;
}
#secret .tableBox tbody th {
  width: 32% !important;
}
#secret .tableBox tbody td .small {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #FF622D;
}
#secret .tableBox tbody .td_last {
  border-right: #cdcdcd 1px solid;
}
#secret .tableBox tbody .tr_last {
  border-bottom: #cdcdcd 1px solid;
}
@media only screen and (max-width: 769px) {
  #secret .detail_list li {
    width: 100%;
  }
  #secret .detail_list li:not(:first-child) {
    margin-top: 10px;
  }
  #secret .detail_list li::before {
    top: 30px !important;
    right: 18px;
  }
  #secret .detail_list li .detail p span {
    font-size: 16px;
  }
  #secret .plan li {
    margin-top: 10px;
  }
  #secret .plan li .tit {
    padding: 8px 20px;
    font-size: 20px;
  }
  #secret .plan li .detail {
    padding: 20px 20px 24px;
    font-size: 16px;
  }
  #secret .tableBox {
    min-width: 700px;
  }
  #secret .tableBox thead th {
    font-size: 18px !important;
  }
}

#wp {
  background: #F2F2F2;
}
#wp .sub_area {
  background: white;
}
#wp .sub_area .tit {
  font-size: 32px;
}
#wp .sub_area .detail {
  padding-top: 60px;
  padding-bottom: 54px;
}
#wp .sub_area .detail .arrow_btn {
  margin-top: 50px;
}
#wp .sub_area .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 740px;
  margin: 0 auto;
}
#wp .sub_area .flex .txt {
  width: 58%;
}
#wp .sub_area .flex .txt p {
  margin-top: 14px;
}
#wp .sub_area .flex .img {
  width: 34%;
  max-width: 248px;
}
@media only screen and (max-width: 769px) {
  #wp .sub_area .tit {
    font-size: 20px;
  }
  #wp .sub_area .detail {
    padding-top: 30px;
    padding-bottom: 34px;
  }
  #wp .sub_area .detail .arrow_btn {
    margin-top: 20px;
  }
  #wp .sub_area .flex .txt {
    width: 100%;
  }
  #wp .sub_area .flex .img {
    display: block;
    width: 100%;
    margin: 10px auto 0;
  }
}

#tokuten .tableBox {
  min-width: 700px;
}
#tokuten .tableBox thead th {
  background: #F2F2F2 !important;
}
#tokuten .tableBox thead th:not(:first-of-type) {
  width: 15% !important;
}
#tokuten .tableBox tbody tr:first-of-type {
  border-top: none;
}
#tokuten .tableBox tbody th,
#tokuten .tableBox tbody td {
  background: rgba(221, 237, 244, 0.3) !important;
}
#tokuten .tableBox tbody th {
  width: 70% !important;
  height: 114px;
  padding-left: 130px !important;
  position: relative;
  text-align: left !important;
}
#tokuten .tableBox tbody th img {
  width: 78px;
  position: absolute;
  top: 20px;
  left: 30px;
}
#tokuten .tableBox tbody th .border {
  background: linear-gradient(transparent 50%, #FFE261 50%);
}
#tokuten .tableBox tbody th .arrow_btn {
  background-size: 8px auto !important;
  display: table;
  min-width: 100px;
  margin: 4px 0 0;
  font-size: 14px;
}
#tokuten .tableBox tbody td {
  width: 15% !important;
  position: relative;
  font-size: 28px !important;
  font-weight: 600;
}
#tokuten .tableBox tbody td.ng {
  font-size: 30px !important;
  font-weight: normal;
}
#tokuten .tableBox tbody td .small {
  display: block;
  width: 100%;
  margin: 0;
  color: #333;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 14px;
  font-size: 12px !important;
  font-weight: normal;
}
@media only screen and (max-width: 769px) {
  #tokuten .tableBox tbody th {
    padding-left: 100px !important;
  }
  #tokuten .tableBox tbody th img {
    left: 10px;
  }
}

#plan .detail {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: -10px;
}
#plan .detail > div {
  width: 100%;
}
#plan .plan_list {
  margin-top: 20px;
}
#plan .plan_list > li {
  background: white;
  overflow: hidden;
  border: #eee 1px solid;
  border-radius: 10px;
}
#plan .plan_list > li:not(:first-child) {
  margin-top: 10px;
}
#plan .plan_list dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  padding: 20px;
}
#plan .plan_list dt {
  width: 44%;
  font-size: 13px;
}
#plan .plan_list dt span {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #333;
}
#plan .plan_list dd {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  width: 56%;
  margin-top: 8px;
}
#plan .plan_list dd .price {
  font-size: 14px;
}
#plan .plan_list dd .price span {
  display: inline-block;
  padding-top: 8px;
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
}
#plan .plan_list dd a {
  display: block;
  width: 90px;
  padding: 8px 10px;
  margin-left: 8px;
  font-size: 12px;
  font-weight: bold;
  color: white;
  text-align: center;
  border-radius: 10px;
}
@media print, screen and (max-width: 480px) {
  #plan .plan_list dt,
  #plan .plan_list dd {
    width: 100%;
  }
}
#plan .open_area {
  height: 0;
  overflow: hidden;
}
#plan .open_area ul {
  padding: 0 10px 20px;
}
#plan .open_area li {
  display: flex;
  justify-content: space-between;
  padding: 10px;
  font-size: 12px;
  border-bottom: #cdcdcd 1px dotted;
}
#plan .open_area li:first-child {
  border-top: #cdcdcd 1px dotted;
}
#plan .open_area span {
  display: block;
  font-weight: 700;
}
#plan .open_btn {
  display: block;
  background: #f4f4f4;
  width: 100%;
  padding: 8px 10px;
  text-align: center;
}
#plan .open_btn .txt {
  display: inline-block;
  padding-left: 30px;
  position: relative;
  color: white;
}
#plan .open_btn .txt::before {
  content: "＋";
  display: block;
  background: white;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  font-size: 14px;
  font-weight: bold;
  line-height: 21px;
  text-align: center;
  border-radius: 10px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  box-sizing: border-box;
}
#plan .close .open_btn .txt span {
  font-size: 0;
}
#plan .close .open_btn .txt::after {
  content: "閉じる";
}
#plan .close .open_btn .txt::before {
  content: "ー";
  font-size: 9px;
}
@media print, screen and (min-width: 641px) {
  #plan .detail > div {
    width: 49.4%;
  }
  #plan .plan_list dt,
  #plan .plan_list dd {
    width: 100%;
  }
}
@media print, screen and (min-width: 960px) {
  #plan .plan_list dt {
    width: 37%;
  }
  #plan .plan_list dd {
    width: 63%;
  }
  #plan .plan_list dd a {
    transition: background 0.3s ease-in-out 0s;
  }
  #plan .plan_list > li:not(:first-child) {
    margin-top: 30px;
  }
  #plan #v1 .plan_list dd a:hover {
    background: #1985ff;
  }
  #plan #v2 .plan_list dd a:hover {
    background: #fe5a00;
  }
  #plan .open_btn {
    transition: background 0.3s ease-in-out 0s;
  }
  #plan .open_btn:hover {
    background: #e6e5e5;
  }
}
@media print, screen and (min-width: 1200px) {
  #plan .detail > div {
    width: 48.33%;
  }
  #plan .detail .tit {
    font-size: 14px;
  }
  #plan .detail .tit span {
    font-size: 18px;
  }
  #plan .plan_list {
    margin-top: 26px;
  }
  #plan .plan_list dd a {
    width: 120px;
    font-size: 14px;
  }
  #plan .plan_list ul {
    padding: 0 20px 20px;
  }
  #plan .plan_list ul li {
    padding: 12px 10px;
    font-size: 14px;
  }
}

#plan {
  background: url("/common/img/top/recommend_bg01.png") no-repeat left top -2px/100% auto;
  background-color: #F2F2F2 !important;
}
#plan .wrap {
  max-width: 1120px !important;
  padding-top: 120px;
}
#plan .detail {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 70px;
}
#plan .detail #v1 .white_area > span {
  background: #5190BB;
  max-width: 300px;
}
#plan .detail #v1 .white_area .tit {
  color: #5190BB;
}
#plan .detail #v1 .white_area ul li {
  background: #DDEDF4;
}
#plan .detail #v1 .plan_list > li {
  border-color: #C1D6DF;
}
#plan .detail #v1 .plan_list dt span {
  color: #5190BB;
}
#plan .detail #v1 .plan_list dd a {
  background: #5190BB;
  border: #5190BB 2px solid;
}
#plan .detail #v1 .plan_list dd a:hover {
  background: white;
  color: #5190BB;
}
#plan .detail #v1 .open_btn {
  background: #5190BB;
}
#plan .detail #v1 .open_btn .txt::before {
  color: #5190BB;
}
#plan .detail #v2 .white_area > span {
  background: #FF622D;
  top: -40px;
}
#plan .detail #v2 .white_area .tit {
  color: #FF622D;
}
#plan .detail #v2 .white_area ul li {
  background: #FFF5EE;
}
#plan .detail #v2 .plan_list > li {
  border-color: #FFE1CD;
}
#plan .detail #v2 .plan_list dt span {
  color: #FF622D;
}
#plan .detail #v2 .plan_list dd a {
  background: #FF622D;
  border: #FF622D 2px solid;
}
#plan .detail #v2 .plan_list dd a:hover {
  background: white;
  color: #FF622D;
}
#plan .detail #v2 .open_btn {
  background: #FF622D;
}
#plan .detail #v2 .open_btn .txt::before {
  color: #FF622D;
}
#plan .white_area {
  background: white;
  padding: 50px 20px 26px;
  position: relative;
  text-align: center;
  border-radius: 10px;
}
#plan .white_area > span {
  display: table;
  width: 100%;
  max-width: 380px;
  padding: 8px 10px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -20px;
  color: white;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  border-radius: 100px;
}
#plan .white_area .tit {
  font-size: 24px;
  font-weight: 700;
}
#plan .white_area p {
  margin-bottom: 10px;
  font-size: 14px;
}
#plan .white_area ul {
  display: flex;
  justify-content: center;
}
#plan .white_area ul li {
  padding: 6px 8px;
  font-size: 14px;
}
#plan .white_area ul li:not(:first-child) {
  margin-left: 20px;
}
@media only screen and (max-width: 769px) {
  #plan .wrap {
    padding-top: 60px;
  }
  #plan .detail {
    margin-top: 50px;
  }
  #plan .detail #v2 {
    margin-top: 50px;
  }
  #plan .detail #v2 .white_area > span {
    top: -30px;
  }
  #plan .white_area {
    padding: 40px 20px 20px;
  }
  #plan .white_area > span {
    font-size: 16px;
  }
  #plan .white_area .tit {
    font-size: 20px;
  }
  #plan .white_area p {
    font-size: 12px;
  }
  #plan .white_area ul li {
    font-size: 12px;
  }
  #plan .white_area ul li:not(:first-child) {
    margin-left: 6px;
  }
}

#support .wrap {
  max-width: 1200px !important;
}
#support .detail_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#support .detail_list > li {
  width: 27%;
}
#support .detail_list > li:first-child {
  width: 40%;
}
#support .detail_list > li .tit {
  font-size: 30px;
}
#support .detail_list > li .tit .small {
  display: block;
  font-size: 18px;
}
#support .detail_list > li .detail {
  padding-top: 40px;
}
#support .detail_list > li .detail img {
  display: block;
  margin-top: 26px;
}
#support .detail_list > li .detail ul {
  margin-bottom: 58px;
}
#support .detail_list > li .detail ul li {
  padding-left: 66px;
  position: relative;
}
#support .detail_list > li .detail ul li .small_tit {
  font-weight: 700;
}
#support .detail_list > li .detail ul li .small_tit span {
  display: block;
  background: #F9851F;
  width: 56px;
  height: 24px;
  position: absolute;
  top: 0;
  left: 0;
  color: white;
  font-size: 14px;
  line-height: 24px;
  text-align: center;
  border-radius: 4px;
}
#support .detail_list > li .detail ul li:not(:first-child) {
  margin-top: 30px;
}
#support .detail_list > li .detail .arrow_btn {
  margin: 10px 0 0;
}
#support .detail_list > li .detail .arrow_btn:first-of-type {
  margin-top: 36px;
}
@media only screen and (max-width: 800px) {
  #support .detail_list > li:first-child {
    width: 100%;
  }
  #support .detail_list > li:not(:first-child) {
    width: 49%;
    margin-top: 10px;
  }
}
@media only screen and (max-width: 769px) {
  #support .detail_list > li {
    width: 100% !important;
  }
  #support .detail_list > li:not(:first-child) {
    margin-top: 10px;
  }
  #support .detail_list > li .tit {
    font-size: 20px;
  }
  #support .detail_list > li .tit .small {
    font-size: 14px;
  }
  #support .detail_list > li .detail {
    padding-top: 20px;
  }
  #support .detail_list > li .detail img {
    max-width: 400px;
    margin: 16px auto 0;
  }
  #support .detail_list > li .detail ul {
    margin-bottom: 0;
  }
  #support .detail_list > li .detail ul li:not(:first-child) {
    margin-top: 14px;
  }
  #support .detail_list > li .detail .arrow_btn {
    margin: 8px 0 0;
  }
  #support .detail_list > li .detail .arrow_btn:first-of-type {
    margin-top: 20px;
  }
}

#entry01 {
  background: #FFF5EE;
}
#entry01 .wrap {
  max-width: 1080px !important;
}
#entry01 .sec_tit .img_tit img {
  position: relative;
  top: 9px;
}
#entry01 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#entry01 ul li {
  background: white;
  width: 47%;
}
#entry01 ul li p {
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
#entry01 ul li .entry_btn {
  background-position: right 40px center;
  max-width: 374px;
  height: 75px;
  margin-top: 30px;
  font-size: 28px;
  font-weight: 700;
  line-height: 75px;
}
@media only screen and (max-width: 960px) {
  #entry01 ul li {
    width: 49%;
  }
}
@media only screen and (max-width: 769px) {
  #entry01 .sec_tit .img_tit img {
    top: 4px;
  }
  #entry01 ul li {
    width: 100%;
  }
  #entry01 ul li:first-child {
    margin-bottom: 10px;
  }
  #entry01 ul li p {
    font-size: 20px;
  }
  #entry01 ul li .entry_btn {
    height: 50px;
    margin-top: 20px;
    font-size: 18px;
    line-height: 50px;
  }
}

#faq {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}
#faq .wrap {
  background: #F2F2F2;
  padding: 50px 40px 60px !important;
  border-radius: 30px;
}
#faq .list {
  font-size: 18px;
}
#faq .list li {
  background: white;
  border-radius: 20px;
}
#faq .list li:not(:first-child) {
  margin-top: 30px;
}
#faq .list li.on .question span::after {
  background: transparent;
}
#faq .list .question,
#faq .list .answer > div {
  padding: 18px 90px 18px 100px;
  position: relative;
}
#faq .list .num {
  display: block;
  background: #006781;
  width: 43px;
  height: 43px;
  padding: 0;
  position: absolute;
  top: 14px;
  left: 40px;
  color: white;
  font-size: 18px;
  font-weight: 700;
  line-height: 43px;
  text-align: center;
  border-radius: 100px;
}
#faq .list .question {
  display: block;
  color: #333;
  font-weight: 700;
}
#faq .list .question .icon {
  width: 100px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
#faq .list .question .icon::before, #faq .list .question .icon::after {
  background: #006781;
}
#faq .list .question .icon::before {
  content: "";
  display: block;
  width: 15px;
  height: 3px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#faq .list .question .icon::after {
  content: "";
  display: block;
  width: 3px;
  height: 15px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#faq .list .answer {
  height: 0;
  padding: 0;
  overflow: hidden;
}
#faq .list .answer .num {
  background: #FF622D;
}
#faq .list .answer > div {
  padding-right: 50px;
}
#faq .list .answer p a {
  color: #FF622D;
  text-decoration: underline;
}
@media only screen and (max-width: 769px) {
  #faq {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  #faq .wrap {
    background: #F2F2F2;
    padding: 40px 10px !important;
    border-radius: 30px;
  }
  #faq .list {
    font-size: 16px;
  }
  #faq .list li:not(:first-child) {
    margin-top: 10px;
  }
  #faq .list .question,
  #faq .list .answer > div {
    padding: 18px 50px 18px 54px;
  }
  #faq .list .num {
    width: 36px;
    height: 36px;
    left: 10px;
    font-size: 16px;
    line-height: 36px;
  }
  #faq .list .question .icon {
    width: 60px;
  }
}

#entry02 {
  background: #FFEFE3;
}
#entry02 .wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#entry02 .txt {
  width: 58%;
}
#entry02 .txt .sec_tit {
  background: none;
  padding-bottom: 0;
  margin-bottom: 20px;
  font-size: 45px;
  font-weight: 700;
  text-align: left;
}
#entry02 .txt p {
  font-size: 24px;
  font-weight: 700;
}
#entry02 .txt a {
  background-position: right 30px center !important;
  height: 78px;
  margin-top: 30px;
  line-height: 78px;
}
#entry02 .img {
  width: 32%;
  max-width: 280px;
}
@media only screen and (max-width: 800px) {
  #entry02 .txt a {
    font-size: 24px;
  }
}
@media only screen and (max-width: 769px) {
  #entry02 .txt {
    width: 100%;
  }
  #entry02 .txt .sec_tit {
    margin-bottom: 10px;
    padding-bottom: 0;
    font-size: 20px;
    text-align: center;
  }
  #entry02 .txt p {
    font-size: 16px;
    text-align: center;
  }
  #entry02 .txt a {
    height: 60px;
    font-size: 18px;
    line-height: 60px;
  }
  #entry02 .img {
    display: none;
  }
}

#other .wrap {
  padding: 60px 0 !important;
}
#other ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#other ul li {
  width: 32%;
}
#other ul li:nth-child(1) .tit {
  background: #F9851F;
}
#other ul li:nth-child(1) .detail {
  background: #FFF5EE;
}
#other ul li:nth-child(2) .detail {
  background: #DDEDF4;
}
#other ul li:nth-child(3) .tit {
  background: #FF697B;
}
#other ul li:nth-child(3) .detail {
  background: #FFF0F2;
}
#other ul li .tit {
  padding-left: 30px;
  font-size: 24px;
  text-align: left;
}
#other ul li .detail {
  font-size: 22px;
  font-weight: 700;
}
#other ul li .arrow_btn {
  margin: 20px 0 0;
  font-weight: normal;
}
@media only screen and (max-width: 769px) {
  #other .wrap {
    padding: 40px 0 !important;
  }
  #other ul li {
    width: 100%;
  }
  #other ul li:not(:first-child) {
    margin-top: 10px;
  }
  #other ul li .tit {
    padding-left: 20px;
    font-size: 20px;
  }
  #other ul li .detail {
    font-size: 18px;
  }
  #other ul li .arrow_btn {
    margin: 10px 0 0;
  }
}

#topic {
  background: #F2F2F2;
}
#topic .list {
  background: white;
  max-width: 880px;
  padding: 40px 40px 60px;
  margin: 0 auto;
  border-radius: 30px;
}
#topic .list li {
  background-size: 8px auto;
  background-position: right 10px center;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 10px;
  margin-top: 0;
  position: relative;
  font-size: 16px;
  border-bottom: #333 1px solid;
}
#topic .list li:hover a {
  color: #006781;
}
#topic .list li:hover .day {
  color: #006781;
}
#topic .list li a {
  color: #333;
}
#topic .list li a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
#topic .list li .day {
  display: inline-block;
  margin-right: 20px;
  font-size: 14px;
  color: #333;
}
@media only screen and (min-width: 769px) {
  #topic .entry_btn {
    background-size: 10px auto;
    background-position: right 30px center;
    max-width: 510px;
    height: 62px;
    font-size: 22px;
    line-height: 62px;
    border-radius: 10px;
  }
}
@media only screen and (max-width: 769px) {
  #topic .list {
    padding: 20px 20px 40px;
  }
  #topic .list li {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 10px;
    font-size: 14px;
  }
  #topic .list li .day {
    display: block;
    font-size: 12px;
  }
}

#vd {
  background: #006781 !important;
  background: #DDEDF4;
}
#vd .wrap {
  padding-top: 50px !important;
}
#vd .sec_tit {
  color: white;
}
#vd .sec_tit .small {
  font-weight: 700;
  color: white;
}
@media only screen and (min-width: 769px) {
  #vd .sec_tit .small {
    font-size: 28px;
  }
}
#vd ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#vd ul li {
  background: white;
  width: 46%;
  padding: 26px 10px;
  text-align: center;
  border-radius: 30px;
}
#vd ul li.free .tit .txt,
#vd ul li.free .tit .pink {
  display: block;
  max-width: 260px;
  margin: 0 auto;
}
#vd ul li.free .tit .txt {
  text-align: left;
}
#vd ul li.free .tit .pink {
  margin-top: -30px;
  line-height: 1;
  text-align: right;
}
#vd ul li.free .tit .pink > span {
  font-size: 18px;
}
#vd ul li.free .tit .pink > span span {
  font-size: 74px;
}
#vd ul li .tit {
  font-size: 24px;
  font-weight: 700;
}
#vd ul li .tit .blue {
  display: table;
  background: #006781;
  padding: 4px 40px;
  margin: 0 auto 20px;
  color: white;
  font-size: 15px;
  border-radius: 100px;
}
#vd ul li .arrow_btn {
  margin-top: 20px;
}
@media only screen and (max-width: 769px) {
  #vd .wrap {
    padding-top: 30px !important;
  }
  #vd ul li {
    width: 100%;
  }
  #vd ul li:not(:first-child) {
    margin-top: 10px;
  }
  #vd ul li.free .tit .txt,
  #vd ul li.free .tit .pink {
    max-width: 220px;
  }
  #vd ul li .tit {
    font-size: 20px;
  }
  #vd ul li .arrow_btn {
    margin-top: 10px;
  }
}/*# sourceMappingURL=top.css.map */