/* 共通 */

.under-common.flow-common .texts h1 .last::after {
  width: 25px;
  height: 26px;
  background-image: url("https://www.densho-at.jp/wordpress/wp-content/uploads/2023/12/flow-icon-img.png");
}

.under-common.price-common .texts h1 .last::after {
  width: 26px;
  height: 26px;
  background-image: url("https://www.densho-at.jp/wordpress/wp-content/uploads/2023/12/price-img-title.png");
}

.flow-main,
.price-main {
  line-height: 1.7;
  font-size: 16px;
  letter-spacing: 0.5px;
  background-color: #ebf7ff;
  padding-top: 20px;
  padding-bottom: 100px;
}

.flow-main a:hover,
.price-main a:hover {
  text-decoration: none;
  opacity: 0.5;
  color: #0479bc;
}

.flow-main .frames,
.price-main .frames {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
}

@media screen and (max-width: 767px) {
  .under-common.flow-common .texts h1 .last::after {
    width: 15.5px;
    height: 16px;
  }

  .under-common.price-common .texts h1 .last::after {
    width: 17px;
    height: 17px;
  }
}

/* ご利用の流れ */

.flow-main .frame {
  background-color: #ffffff;
  border-radius: 10px;
  padding-top: 20px;
  padding-bottom: 30px;
  margin-top: 30px;
  position: relative;
}

.flow-main .frame .arrow {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  max-width: 100px;
  width: 100%;
  bottom: -28px;
}

.flow-main .frame .box-top {
  display: flex;
  align-items: center;
}

.flow-main .frame .box-top .numbers {
  text-align: center;
  margin-left: 25px;
}

.flow-main .frame .box-top .number01 {
  color: #0479bc;
  font-size: 14px;
  font-weight: bold;
}

.flow-main .frame .box-top .number02 {
  color: #0479bc;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
}

.flow-main .frame .box-top-title {
  font-size: 24px;
  font-weight: bold;
  margin-left: 25px;
  letter-spacing: 1.5px;
}

.flow-main .frame .line {
  margin-top: 30px;
  margin-bottom: 30px;
  background-color: #dbeffc;
  height: 1px;
  width: 100%;
}

.flow-main .frame .boxes {
  display: flex;
  align-items: flex-start;
  padding-left: 90px;
  padding-right: 50px;
}

.flow-main .frame .boxes .box-l {
  width: 50%;
}

.flow-main .frame .boxes .box-l .texts .red {
  color: #c32c13;
}

.flow-main .frame .boxes .box-l .texts.margin {
  margin-left: 14px;
}

.flow-main .frame .boxes .box-l .texts .red-n {
  font-size: 14px;
  position: relative;
}

.flow-main .frame .boxes .box-l .texts .red-n::before {
  content: "※";
  position: absolute;
  left: -15px;
  top: -4px;
}

.flow-main .frame .boxes .box-l .texts-banner {
  margin-top: 30px;
  width: 100%;
}

.flow-main .frame .boxes .box-r {
  width: 50%;
  border-radius: 10px;
  margin-left: 30px;
}

.flow-main .frame .boxes .box-tel {
  display: flex;
  align-items: center;
  margin-top: 20px;
  white-space: nowrap;
}

.flow-main .frame .boxes .box-tel img {
  max-width: 40px;
  width: 100%;
}

.flow-main .frame .boxes .box-tel .tel-r {
  margin-left: 10px;
}

.flow-main .frame .boxes .box-tel .tel-r .tel-r-b {
  display: flex;
  align-items: flex-end;
}

.flow-main .frame .boxes .box-tel .tel-r .tel-r-b .tel-r01 {
  color: #0479bc;
  font-size: 20px;
  font-weight: bold;
}

.flow-main .frame .boxes .box-tel .tel-r .tel-r-b div {
  font-size: 12px;
  font-weight: bold;
  line-height: 2.5;
  margin-left: 5px;
}

.flow-main .frame .boxes .box-tel .tel-r .tel-r-b div a {
  font-size: 12px;
  font-weight: bold;
  color: #0479bc;
}

.flow-main .frame .boxes .box-tel .tel-r-t {
  font-size: 12px;
}

.flow-main .frame .boxes .box-form {
  background-color: #fef336;
  box-shadow: 0px 3px 0px #e8dc30;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  border-radius: 10px;
  margin-top: 10px;
  white-space: nowrap;
}

.flow-main .frame .boxes .box-form img {
  max-width: 22px;
  width: 100%;
}

.flow-main .frame .boxes .box-form-text {
  margin-left: 10px;
  font-size: 18px;
  font-weight: bold;
  color: #251a16;
}

.flow-main .frame .boxes .box-form .box-form-24 {
  margin-left: 10px;
  padding: 2px 7px 2px 14px;
  background-color: #fff;
  color: #eaa509;
  border-radius: 20px;
  border: 1px solid #efe428;
  box-shadow: 0px 2px 0px #efe428;
  font-size: 11px;
}

.flow-main .frame .box-area {
  position: relative;
  margin-left: 90px;
  margin-right: 50px;
  padding: 20px 60px;
  border: 2px solid #095287;
  border-radius: 10px;
  margin-top: 45px;
}

.flow-main .frame .box-area .box-area-t {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  padding: 5px 20px;
  border-radius: 30px;
  background-color: #065287;
  font-weight: bold;
  top: -20px;
  color: #fff;
  white-space: nowrap;
}

.flow-main .frame .box-area .flexes {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN",
    "ヒラギノ角ゴ ProN W3", sans-serif;
}

.flow-main .frame .box-area .flexes .flex-text {
  font-size: 34px;
  font-weight: bold;
  color: #065287;
  letter-spacing: 3px;
  white-space: nowrap;
}

.flow-main .frame .box-area .flexes .flex-text .span01 {
  display: inline-block;
  color: #ffffff;
  font-size: 28pt;
  text-shadow: 2px 2px 0px #1279bc, -2px 2px 0px #1279bc, 2px -2px 0px #1279bc,
    -2px -2px 0px #1279bc, 2px 0px 0px #1279bc, 0px 2px 0px #1279bc,
    -2px 0px 0px #1279bc, 0px -2px 0px #1279bc;
  line-height: 1.3;
}

.flow-main .frame .box-area .flexes .flex-text .span02 {
  color: #63686c;
  margin-left: 5px;
}

.flow-main .frame .box-area .flexes .flex-text-u {
  margin-top: 20px;
  color: #065287;
  font-size: 20px;
  font-weight: bold;
}

.flow-main .frame .box-area .flexes img {
  max-width: 210px;
  width: 100%;
}

@media screen and (max-width: 900px) {
  .flow-main .frame .boxes {
    padding-left: 30px;
    padding-right: 30px;
  }

  .flow-main .frame .box-area {
    margin-left: 30px;
    margin-right: 30px;
    padding: 20px 20px;
  }
}

@media screen and (max-width: 767px) {
  .flow-main .frame {
    margin-top: 28px;
  }

  .flow-main .frame .arrow {
    bottom: -22px;
  }

  .flow-main .frame .box-top-title {
    font-size: 16px;
    margin-left: 20px;
  }

  .flow-main .frame .line {
    margin-top: 10px;
    margin-bottom: 20px;
  }

  .flow-main .frame .boxes {
    flex-direction: column;
    padding-left: 20px;
    padding-right: 20px;
  }

  .flow-main .frame .boxes .box-l {
    width: 100%;
  }

  .flow-main .frame .boxes .box-r {
    width: 100%;
    margin-top: 24px;
    margin-left: 0px;
  }

  .flow-main .frame .boxes .antenna-c {
    padding: 0;
    background-color: unset;
  }

  .flow-main .frame .boxes .antenna-c .boxes {
    background-color: unset;
    border-radius: unset;
    max-width: max-content;
    width: unset;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
  }

  .flow-main .frame .boxes .antenna-c .boxes .link {
    max-width: unset;
    width: 300px;
  }

  .flow-main .frame .boxes .antenna-c .boxes .link .items {
    margin-left: 20px;
    margin-top: 10px;
  }

  .flow-main .frame .boxes .antenna-c .boxes .link .item .item-text {
    margin-left: 10px;
  }

  .flow-main .frame .boxes .antenna-c .boxes .link .items01 {
    margin-top: 10px;
  }

  .flow-main .frame .box-area {
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
  }

  .flow-main .frame .box-area .flexes {
    justify-content: unset;
  }

  .flow-main .frame .box-area .flex {
    position: relative;
    z-index: 1;
  }

  .flow-main .frame .box-area .flexes img {
    max-width: 140px;
    position: absolute;
    right: 10px;
    top: 40px;
  }

  .flow-main .frame .box-area .flexes .flex-text {
    font-size: 22px;
  }

  .flow-main .frame .box-area .flexes .flex-text .span01 {
    font-size: 22px;
  }

  .flow-main .frame .box-area .flexes .flex-text-u {
    font-size: 16px;
    margin-top: 15px;
  }
}

@media screen and (max-width: 470px) {
  .flow-main .frame .box-area {
    margin-left: 20px;
    margin-right: 20px;
  }
}

/* 料金・費用・お支払い方法 */

@media screen and (max-width: 900px) {
  .under-common.price-common .texts h2 {
    font-size: 48px;
  }
}

@media screen and (max-width: 767px) {
  .under-common.price-common .texts h2 {
    font-size: 30px;
    text-align: left;
    width: max-content;
  }

  .under-common.price-common .texts h2::after {
    display: none;
  }

  .under-common.price-common .texts .under-y-none::after {
    display: inline-block;
    width: 17px;
    height: 17px;
  }

  .under-common.price-common .texts .under-y-none {
    position: absolute;
  }

  .under-common.price-common .cr-box {
    bottom: -100px;
  }
}

.price-main {
  padding-top: 10px;
}

.price-main .frames .titles {
  text-align: center;
  color: #065287;
  font-size: 40px;
  font-weight: bold;
}

.price-main .frames .titles-text {
  margin-top: 20px;
}

.price-main .frames .boxes {
  position: relative;
  background-color: #fff;
  border: 2px solid #095287;
  border-radius: 10px;
  margin-top: 55px;
  display: flex;
}

.price-main .frames .boxes-text {
  position: absolute;
  border-radius: 30px;
  background-color: #065287;
  color: #fff;
  font-weight: bold;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  padding: 2px 15px;
  top: -16px;
}

.price-main .frames .boxes .box01 {
  z-index: 2 !important;
}

.price-main .frames .boxes .box {
  position: relative;
  z-index: 1;
  max-width: 290px;
  width: 100%;
  padding: 0 10px;
}

.price-main .frames .boxes .box .arrow {
  position: absolute;
  max-width: 19px;
  width: 100%;
  right: -18px;
  top: 113px;
}

.price-main .frames .boxes .box-line {
  border-left: 2px solid #095287;
  border-right: 2px solid #095287;
}

.price-main .frames .boxes .box-img {
  max-width: 47px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin-top: 50px;
}

.price-main .frames .boxes .box .items {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 13px;
}

.price-main .frames .boxes .box .items .steps {
  text-align: center;
}

.price-main .frames .boxes .box .items .step {
  font-size: 10px;
  color: #0479bc;
  font-weight: bold;
}

.price-main .frames .boxes .box .items .step-number {
  font-size: 21px;
  color: #0479bc;
  font-weight: bold;
  line-height: 1;
}

.price-main .frames .boxes .box .items .step-title {
  margin-left: 12px;
  font-weight: bold;
  line-height: 1.5;
}

.price-main .frames .boxes .box .box-texts {
  font-size: 14px;
  font-weight: bold;
  margin-top: 30px;
  text-align: center;
}

.price-main .frames .boxes .box .box-text {
  text-align: center;
  margin-top: 5px;
  font-size: 12px;
  margin-bottom: 20px;
}

.price-main .frames .boxes .box .words {
  position: relative;
  height: 1px;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

.price-main .frames .boxes .box .word {
  max-width: 63px;
  width: 100%;
  position: absolute;
  right: 24px;
  top: 74px;
}

.price-main .frames .c-text-t {
  margin-top: 50px;
  font-weight: bold;
  margin-bottom: 10px;
}

.price-main .frames .c-texts {
  display: flex;
  align-items: flex-start;
  margin-top: 3px;
}

.price-main .frames .c-texts-img {
  max-width: 13.5px;
  width: 100%;
  margin-top: 8px;
}

.price-main .frames .c-texts p {
  margin-left: 6px;
}

.price-main .frames .c-text-b {
  margin-top: 20px;
}

.price-main .pay-boxes {
  margin-top: 50px;
  background-color: #fff;
  border-radius: 10px;
  padding: 50px 35px;
}

.price-main .pay-boxes .pay-title {
  border-radius: 10px;
  background-color: #81bae2;
  padding: 2px 10px;
  color: #fff;
  font-weight: bold;
}

.price-main .pay-boxes .pay-text {
  margin-top: 20px;
}

.price-main .pay-boxes .red {
  position: relative;
  margin-top: 5px;
  color: #c32c13;
  font-size: 14px;
  margin-left: 16px;
}

.price-main .pay-boxes .red::before {
  position: absolute;
  content: "※";
  left: -15px;
}

.price-main .pay-boxes .pay-inner {
  padding: 0 10px;
}

.price-main .pay-boxes .pay-img01 {
  max-width: 400px;
  width: 100%;
  margin-top: 35px;
  margin-bottom: 50px;
}

.price-main .pay-boxes .pay-imgs {
  display: flex;
  margin-top: 35px;
  align-items: center;
  margin-bottom: 50px;
}

.price-main .pay-boxes .pay-img02 {
  width: 48%;
}

.price-main .pay-boxes .pay-img02.margin {
  margin-right: 20px;
}

.price-main .pay-boxes .pay-img03 {
  max-width: 406px;
  width: 100%;
  margin-top: 35px;
  margin-bottom: 50px;
}

.price-main .pay-boxes ul {
  margin-top: 14px;
}

.price-main .pay-boxes ul li {
  position: relative;
  margin-left: 16px;
  margin-top: 5px;
}

.price-main .pay-boxes ul li::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  background-color: #0479bc;
  border-radius: 100%;
  left: -16px;
  top: 10px;
}

@media screen and (max-width: 767px) {
  .price-main .frames .titles {
    font-size: 22px;
    margin-top: 40px;
  }

  .price-main .frames .boxes {
    flex-direction: column;
  }

  .price-main .frames .boxes .box-line {
    border-left: none;
    border-right: none;
    border-top: 2px solid #095287;
    border-bottom: 2px solid #095287;
  }

  .price-main .frames .boxes-text {
    white-space: nowrap;
  }

  .price-main .frames .boxes .box {
    max-width: unset;
  }

  .price-main .frames .boxes .box .arrow {
    transform: rotate(90deg);
    top: unset;
    bottom: -24px;
    left: 50%;
  }

  .price-main .frames .boxes .box .box-texts {
    margin-top: 15px;
  }

  .price-main .frames .boxes .box .box-texts.margin {
    margin-bottom: 35px;
  }

  .price-main .frames .boxes .box .box-text {
    margin-bottom: 37px;
  }

  .price-main .frames .boxes .box .word {
    right: 40px;
    top: 80px;
  }

  .price-main .frames .c-text-t {
    margin-top: 40px;
  }

  .price-main .pay-boxes {
    margin-top: 40px;
    padding: 20px 10px;
  }

  .price-main .pay-boxes .pay-text {
    margin-top: 10px;
  }

  .price-main .pay-boxes .pay-img01,
  .price-main .pay-boxes .pay-imgs,
  .price-main .pay-boxes .pay-img03 {
    margin-top: 25px;
    margin-bottom: 30px;
  }

  .price-main .pay-boxes .pay-imgs {
    flex-direction: column;
    align-items: unset;
  }

  .price-main .pay-boxes .pay-img02 {
    width: 100%;
    max-width: 400px;
  }

  .price-main .pay-boxes .pay-img02.margin {
    margin-right: 0;
    margin-bottom: 10px;
  }
}

/* add */

.flow-main .frames,
.price-main .frames {
  max-width: 910px;
}

.price-main .frames .banner {
  background-color: #fff;
  padding: 30px 35px;
  border-radius: 10px;
  margin-bottom: 50px;
}

.price-main .frames .content {
  margin-top: 30px;
  margin-bottom: 50px;
  background-color: #fff;
  border-radius: 10px;
  padding: 50px 35px;
}

.price-main .frames .content .table01 {
  margin-top: 20px;
  width: 100%;
  margin-bottom: 30px;
}

.price-main .frames .content .table01 thead tr {
  display: flex;
}

.price-main .frames .content .table01 thead tr th:first-child {
  border-radius: 10px 0 0 0;
}

.price-main .frames .content .table01 thead tr th:last-child {
  border-radius: 0 10px 0 0;
}

.price-main .frames .content .table01 thead tr th {
  background-color: #81bae2;
  margin: 1px;
  color: #fff;
  width: 50%;
  font-weight: bold;
  display: table;
}

.price-main .frames .content .table01 thead tr th p {
  display: table-cell;
  vertical-align: middle;
  padding: 10px 0;
  text-align: center;
}

.price-main .frames .content .table01 tbody tr {
  display: flex;
}

.price-main .frames .content .table01 tbody tr td {
  background-color: #ecf6fc;
  margin: 1px;
  width: 50%;
  display: table;
}

.price-main .frames .content .table01 tbody tr td p {
  display: table-cell;
  vertical-align: middle;
  padding: 12px 20px;
  text-align: center;
}

.price-main .frames .content .content-c {
  padding: 0;
  background-color: unset;
}

.price-main .frames .content .content-c .boxes {
  background-color: unset;
  border: none;
  max-width: unset;
  padding: 0;
  margin-top: 50px;
}

.price-main .frames .content .content-c .boxes .links {
  width: 100%;
  margin-top: 0;
}

.price-main .frames .content .content-c .boxes .links .items {
  margin-top: 12px;
}

.price-main .frames .content .content-c .boxes .links .items01 {
  margin-top: 0;
}

.price-main .frames .content .content-title {
  text-align: center;
  color: #065287;
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 2px;
}

.price-main .frames .content .content-title.margin {
  margin-top: 50px;
}

.price-main .frames .content .content-text.margin {
  margin-top: 20px;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .price-main .frames .banner {
    padding: 30px 20px;
    margin-top: 40px;
  }

  .price-main .frames .content {
    padding: 30px 20px;
    margin-top: 20px;
  }

  .price-main .frames .content .table01 thead tr th {
    padding: 10px 0;
    font-size: 14px;
  }

  .price-main .frames .content .table01 tbody tr td p {
    padding: 10px 5px 10px 10px;
    font-size: 14px;
    text-align: left;
  }

  .price-main .frames .content .content-c .boxes .links .items01 {
    margin-top: 12px;
  }

  .price-main .frames .content .content-title {
    font-size: 18px;
  }
}
/* addここまで */
