body,
html {
    font-family: "Noto Serif JP", serif;
    font-family: "Noto Serif JP", "Yu Mincho", "游明朝", serif;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro",
        "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック",
        "MS PGothic", sans-serif;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro",
        "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    color: #606060;
    font-size: 14px;
}
.special__content {
    max-width: 640px;
    margin: 0 auto;
    background-image: url("../../images/bg__top.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.p1 {
    font-size: 1.2rem;
    text-align: center;
    color: #646464;
    line-height: 2rem;
    padding-top: 20px;
    padding-bottom: 20px;
}
.p2 {
    padding-bottom: 60px;
}
.p2 p {
    padding: 0px 20px;
    line-height: 2rem;
    font-size: 0.9rem;
    color: #646464;
    padding-bottom: 30px;
}
.p3 {
    font-size: 0.8rem;
    color: #00578E;
    text-align: center;
    padding-bottom: 5px;
}
.p4 {
    font-size: 1.2rem;
    color: #00578E;
    font-weight: 600;
    padding-bottom: 5px;
}
.p5 {
    font-size: 1rem;
    color: #646464;
    padding-top: 15px;
}
.title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #00578E;
    display: flex;
    justify-content: center;
}
.title p {
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 5px;
}
.title.edit {
    margin-top: 40px;
}
.title.edit p {
    padding-left: 5px;
    padding-right: 5px;
}
.title .box {
    width: 20px;
    object-fit: contain;
}
.btn {
    text-align: center;
    padding-bottom: 20px;
}
.btn .btn_reg,.btn .btn_reg_c {
    background-color: #00578E;
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    border: 0;
    padding: 10px 30px;
    font-weight: bold;
    margin: 0 auto;
    min-width: 280px;
}
.step__inner {
    padding: 20px 30px;
    padding-bottom: 0;
}
.step_item {
    border: 2px solid #00578e;
    background-color: #fff;
    margin-bottom: 20px;
}
.step_item-top {
    text-align: center;
    color: #fff;
    font-size: 2rem;
    background-color: #00578e;
}
.step_item-flex {
    display: flex;
    padding-top: 10px;
    padding-bottom: 20px;
}
.step_item-img {
    width: 140px;
    padding-left: 20px;
}
.step_item-img img{
    max-width: 120px;
    object-fit: contain;
}
.step_item-img.edit2 img{
    max-width: 100px;
}
.step_item-img.edit3 img{
    max-width: 100px;
}
.step_item-text {
    width: calc(100% - 140px);
    padding-left: 20px;
    padding-right: 20px;
}
.arrow {
    text-align: center;
    margin-bottom: 20px;
}
.arrow img {
    max-width: 36px;
}