.pc {
    display: block;
}

.sp {
    display: none;
}

@media only screen and (max-width: 640px) {
    .pc {
        display: none
    }
    .sp {
        display: block;
    }
    img {
        max-width: 100%
    }
    .image-r,
    .image-l {
        text-align: center;
        margin: 0 auto 10px;
    }
    .section {
        margin-bottom: 30px
    }

    #wrapper {
        min-width: 100%;
    }
    .inner {
        width: 100%;
        padding: 0 10px;
    }
    h1 {
        width: 100%;
        padding: 0 10px;
        margin: 7px 0 0;
        display: none
    }
    .logo img {
        width: 79%;
        margin-top: 0
    }
    #index h2 {

        width: 100%;
        margin: 0 auto;
    }
    #thank_mainvisual h2 {
        font-size: 26px;
        padding: 10px;
        top: 34%;
        transform: translateY(-34%);
    }
    #thank_mainvisual {
        height: 150px;
    }
    .hd_top {
        padding: 0 10px;
    }
    .fixedMN .hd_topLeft {
        margin-top: 10px;
    }

    .hd_top .inner_htop {
        width: 100%;

    }
    .hd_top.fixedMN {
        padding-top: 0;
    }
    .hd_top.fixedMN .inner_htop {
        padding-bottom: 0;
    }
    .hd_topLeft {
        margin-top: 6px;
    }
    .mainvs_line span {
        font-size: 16px
    }
    .logo {
        margin-bottom: 6px;
    }

    #index #mainvisual {
        height: auto;
        background-size: 269%, auto;
        background-image: url("../images/hd_bg01.png");
        background-repeat: repeat;
    }
    #index #content {
        background: url("../images/main_top05.png") no-repeat center top;
        padding-top: 20px;
    }
    .mainvs_line {
        margin-bottom: 30px;
    }
    .top_mainvs {
        width: 100%;
        padding: 0 10px;
    }
    .box_content {
        width: 100%;
        padding: 0 10px 0;
        margin: 0 auto 25px
    }
    .b05_post dl:last-child {
        margin-bottom: 0
    }
    .left_mainvs {
        float: none;
        padding-top: 15px;
        margin-bottom: 30px;
        width: 100%;
        height: auto;
    }
    .idx_slogan {
        width: 100%;
        font-size: 20px;
        padding-top: 25px;
        padding: 0 10px;
    }
    .idx_slogan span {
        font-size: 27px;
        line-height: 1.6em;
    }
    .right_mainvs {
        float: none;
        width: 100%;
        margin: 52px auto 0;

    }
    .mainvs_line a {
        font-size: 16px;
        padding: 10px;
    }
    .cloud_icon {
        text-align: center;
        position: inherit;
        bottom: inherit;
    }
    .cloud_icon li {
        width: 174px;
        height: 116px;
    }
    .cloud_icon li p {
        font-size: 15px;
    }
    .cloud_icon span {
        font-size: 28px;
    }

    [class^="box_ttl"] {
        width: 100%;
        font-size: 20px;
        padding: 7px 10px;
        margin-bottom: 30px;
    }
    #index h3:before {

        left: -33px;

    }
    #index h3:after {

        right: -33px;

    }
    .box_intro {
        font-size: 18px;
        margin-top: 0;
    }
    .box_intro .special_txt {
        font-size: 22px;
    }

    .b01_post {
        flex-wrap: wrap;
        justify-content: center;
    }
    .b01_post dt {
        margin-bottom: 20px
    }
    .b01_post dl {
        width: 100%;
        margin: 0 0 40px 0;
    }
    .b01_post dl:last-child {
        margin-bottom: 0;
    }
    .b01_post dl:before {
        border-left-width: 18px;
        border-top-width: 20px;
        border-bottom-width: 20px;
        left: 50%;
        -webkit-transform: rotate(90deg) translateX(-50%);
        -moz-transform: rotate(90deg) translateX(-50%);
        transform: rotate(90deg) translateX(-50%);
        top: calc(100% + 10px);
    }
    .b01_post dd .img {
        float: left;
        margin-right: 20px;
        margin-bottom: 0;
        width: 45%;
    }
    .b02_chart {
        width: 460px;
        height: 460px;
        margin: 0 auto;
    }
    .b02_chart [class^="chart_item"] {
        width: 160px;
    }
    .b02_chart [class^="chart_item"] dt {
        height: 130px;
        margin-bottom: 0;
    }
    .b02_chart [class^="chart_item"] dd {
        font-size: 16px;
        line-height: 1.35em;
    }
    .b02_chart [class^="chart_arrow"] {
        font-size: 16px;
    }
    .b02_chart .chart_item03 {
        bottom: 0;
    }
    .row-2 {
        margin-left: 0;
        width: 100%;
    }
    .b02_chart .botLeft {
        padding: 2px 5px;
        left: -25px;
        bottom: 90%;
        margin-bottom: 40px;
    }
    .b02_chart .rightLeft {
        padding: 2px 5px;
        min-width: auto;
        left: calc(-50% - 35px);
    }
    .b02_chart .leftright {
        padding: 2px 15px;
        min-width: auto;
        right: auto;
        left: calc(-50% - 44px);

    }
    .b02_chart .rightLeft {
        top: 66%;

    }
    .b02_chart .leftright:after {
        background-size: 24px
    }
    .b02_chart .topRight {
        padding: 2px 5px;
        right: -72px;
        margin-top: 10px;
    }
    .b02_chart .botRight {
        padding: 2px 5px;
        right: -45px;
        bottom: 100%;
        margin-bottom: 42px;
        padding: 0 15px;
    }
    #index .bubble_icon01 {
        margin-top: 25px;
        width: 115px;
        top: calc(100% - 15px);
        left: -8px;
    }
    #index .bubble_icon02 {
        margin-top: 25px;
        width: 130px;
        right: 5px;
    }
    .mainvs_line ul {
        display: block
    }
    .mainvs_line span {
        padding: 15px 10px
    }
    .box_content {
        padding: 0
    }
    .mainvs_line li:nth-child(2) {
        border-top: 1px solid rgba(255, 255, 255, 0.5);
        border-bottom: 1px solid rgba(255, 255, 255, 0.5)
    }
    .box01 {
        padding: 0 0 24px;
    }
    .box02 {
        padding: 5px 10px 35px;
        border: 0;
        margin-top: 0
    }
    #index h3.box_ttl03:before,
    #index h3.box_ttl03:after {
        bottom: -20px;
    }
    .b02_chart [class^="chart_arrow"]:before {
        width: 25px;
        height: 50px;
        background: center/contain no-repeat;
    }
    .b02_chart .topRight:before {
        background-image: url("../images/chart_arrow01.png");
    }
    .b02_chart .rightLeft:before {
        background-image: url("../images/chart_arrow02.png");
    }
    .b02_chart .botLeft:before {
        background-image: url("../images/chart_arrow03.png");
    }
    .b02_chart .botRight:before {
        background-image: url("../images/chart_arrow03.png");
    }
    .b01_post .post_ttl01 {
        font-size: 22px;
        margin-bottom: 10px;
    }
    .b01_post .post_ttl01 span {
        font-size: 30px;
    }
    .box03 {
        padding: 30px 10px 350px;
        background: url("../images/b03_bg02.png") center bottom 20px/360px auto no-repeat, url("../images/b03_bg.png") center;
    }
    .box03 .box_ttl02 {
        margin-bottom: 25px;
    }
    .box03 .box_content {
        background: none;
    }
    .b03_list {
        width: 100%;
    }
    .b03_numberList {
        font-size: 38px;
    }
    .b03_title {
        font-size: 20px;
    }
    .b03_title span {
        font-size: 24px;
    }
    .b03_subList {
        padding-left: 70px;
    }
    .b03_cnt {
        padding-left: 70px;
    }
    .b03_subList li {
        font-size: 18px;
    }
    .b03_subList .txt_right {
        margin-right: 110px;
    }
    .pr160 {
        padding-right: 0;
    }
    #index .book_inner {
        flex-wrap: wrap;
    }
    .box04 {
        padding: 30px 0px 0;
    }
    .box04_inner {
        padding: 0 10px
    }
    .box_intro {
        font-size: 16px
    }
    .book_inner .left_book,
    .book_inner .right_book {
        width: 100%;
        padding: 20px;
    }
    .book_inner .left_book {
        margin-bottom: 15px;
    }
    .b04_book:before,
    #index .book_inner:before {
        display: none;
    }
    #index .none_border {
        text-align: center;
        margin-bottom: 20px;
    }
    .idx_baf {
        margin-bottom: 10px;
        justify-content: left;
        flex-wrap: wrap;
    }
    .book_inner .woman_book01:before {
        right: 0;
    }
    .box05 {
        padding: 30px 10px;
    }
    .b05_post dl {
        margin: 0 auto 30px;
        width: 100%;
    }
    .b05_post dt {
        font-size: 20px;
        line-height: 1.4em;
        padding: 30px 55px 0 100px;
    }
    .b05_post dt p {
        font-size: 18px;
        margin-top: -10px;
    }
    .box06 {
        padding: 30px 0;
    }
    .b06_post {
        justify-content: space-between;
    }
    .b06_post dl:nth-child(-n + 3) {
        margin-top: 20px;
    }
    .b06_post dl:nth-child(-n + 2) {
        margin-top: 0;
    }
    .b06_post dl {
        width: 48%;
        margin: 20px 0 0;
    }
    .top_footer {
        padding: 30px 0 60px 0;
        background-size: 250%;
    }
    .footer_content > li {
        width: 100%;
        float: none;
        text-align: center;
    }
    .footer_content .ft_nav {
        margin-bottom: 20px;
        max-width: 280px;
    }
    .ft_nav li {
        margin: 0 0 10px 0;
        padding: 0 20px;
    }
    .footer_content .ft_logo a {
        display: inline-block;
        width: 100%;
    }
    .ft_logo img {
        width: 250px;
    }
    .footer_content {
        width: 100%;
    }
    .bot_footer {
        padding: 20px 10px;
    }
    .copyright {
        padding: 10px 0;
        line-height: 1.5em;
    }
    #totop {
        bottom: 59px;
        display: none;
        right: 10px;
    }
    .f_btn01 {
        display: none;
        opacity: 0;
    }
    #totop img {
        width: 40px;
    }
    /* MENU-ICON */
    .menu-icon {
        font-family: "NotoSansCJKjp-Medium";
        display: block;
        width: 70px;
        height: 60px;
        box-sizing: border-box;
        text-align: center;
        text-transform: uppercase;
        line-height: 1em;
        cursor: pointer;
        color: #2481b3;
        font-size: 13px;
        padding: 4px 0 5px;
        margin-bottom: 0;
        -webkit-transition-delay: 0, 0.2s;
        -ms-transition-delay: 0, 0.2s;
        transition-delay: 0, 0.2s;
        top: -6px;
        bottom: 0;
        margin: auto 0;
        right: 1vw;
        z-index: 9;
        position: absolute;
    }
    .menu-icon span {
        display: block;
        margin: 0;
        width: 60%;
        height: 3px;
        background-color: #2481b3;
        -webkit-transition-duration: 0;
        -ms-transition-duration: 0;
        transition-duration: 0;
        top: 17px;
        left: 13px;
        margin-bottom: 35px;
        position: relative;
    }
    .menu-icon span::after,
    .menu-icon span::before {
        display: block;
        content: '';
        position: absolute;
        width: 100%;
        height: 3px;
        background-color: #2481b3;
        -webkit-transition-property: margin, -webkit-transform;
        -webkit-transition-duration: 0.2s;
        -moz-transition-duration: 0.2s;
        -ms-transition-duration: 0.2s;
        -o-transition-duration: 0.2s;
        transition-duration: 0.2s;
        -webkit-transition-delay: 0.2s, 0;
        -moz-transition-delay: 0.2s, 0;
        -ms-transition-delay: 0.2s, 0;
        -o-transition-delay: 0.2s, 0;
        transition-delay: 0.2s, 0;
    }
    .menu-icon span::before {
        margin-top: -11px;
    }
    .menu-icon span::after {
        margin-top: 11px;
    }
    .menu-icon.active span,
    #header.bgw .menu-icon.active span,
    .under .menu-icon.active span {
        background-color: transparent;
    }
    .menu-icon.active span::before,
    .menu-icon.active span::after {
        margin-top: 0px;
        -webkit-transition-delay: 0, 0.2s;
        -moz-transition-delay: 0, 0.2s;
        -ms-transition-delay: 0, 0.2s;
        -o-transition-delay: 0, 0.2s;
        transition-delay: 0, 0.2s;
    }
    .menu-icon.active span::before {
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .menu-icon.active span::after {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    #header {
        box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1);
        padding: 0
    }
    #gnaviSP {
        display: none;
        position: fixed !important;
        width: 100%;
        background: #2481b3;
        height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
        left: 0;
        z-index: 10
    }
    #gnaviSP li {
        width: 100%;
        border-bottom: 1px solid #fff;
    }
    #gnaviSP li a,
    #gnaviSP .close_item {
        position: relative;
        display: block;
        font-family: "NotoSansCJKjp-Medium";
        padding: 10px 20px;
        text-decoration: none;
        color: #fff;
        font-size: 18px;
    }
    #gnaviSP li a:after {
        content: "";
        position: absolute;
        display: block;
        border-left: 5px solid #fff;
        border-top: 5px solid transparent;
        border-bottom: 5px solid transparent;
        right: 15px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    #gnaviSP .close_item {
        background: #e22727;
        border-bottom: none;
        text-align: center;
    }
    #gnaviSP .close_item a {
        text-align: center;
    }
    .fixedContact {
        display: table;
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        opacity: 0;
        clip: rect(0, 0, 0, 0);
        -webkit-transition: opacity 0.5s ease;
        -moz-transition: opacity 0.5s ease;
        -ms-transition: opacity 0.5s ease;
        -o-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
        z-index: 2
    }
    .fixedContact.show {
        clip: auto;
        opacity: 1;
    }
    .fixedContact li {
        display: table-cell;
        align-items: stretch;
        width: 50%;
vertical-align: middle;
        position: relative
    }

    .fixedContact a {
        display: block;
        font-family: "NotoSansCJKjp-Bold";
        padding: 40px 10px 7px;
        width: 100%;
        font-size: 15px;
        text-decoration: none;
        text-align: center;
        justify-content: center;
        align-items: center;
        color: #fff;
    }
    .fixedContact .fixedPhone a{
        font-size: 11px;
        line-height: 1.6em;
        margin-top: 3px;
    }
    .fixedPhone {
        background: #2481b3;
    }
    .fixedContact li:after {
        content: "";
        position: absolute;
        top: 11px;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 30px;
        height: 30px;
        border-radius: 50px;

    }
    .fixedContact .fixedPhone:after {
        background: #fff url(../images/ico_tel.png) no-repeat center top 50%;
        background-size: 16px;

    }
    .fixedContact .fixedMail:after {
        background: #fff url(../images/ico_list.png) no-repeat center top 50%;
        background-size: 16px;


    }

    .fixedMail {
        background: #dd5514;
    }
    .list_voice .item_l,
    .list_voice .txt {
        width: 100%;
        float: none
    }


    /******************under********************************/
    /*******************************************************/
    #main {
        margin-top: 21vw;
    }
    .under #main {
        background-size: 240%;
        padding-bottom: 45px;
        margin-top: 62px;
    }
    .inner {
        width: 100%
    }
    .under #content {
        padding: 20px 10px;
        width: 100%
    }
    .under #mainvisual {
        height: 190px
    }
    .under h2 {
        font-size: 26px;
        line-height: 1.3em;
        padding: 10px
    }
    .under h3 {
        font-size: 24px;
        margin-bottom: 26px;
    }
    .under h4 {
        font-size: 22px;
        margin-bottom: 20px;
        line-height: 1.6em;
    }
    .under h5 {
        margin-bottom: 20px;
        font-size: 20px;
    }
    .tbl_sp th,
    .tbl_sp td {
        width: 100%;
        display: block;
    }
    .under section,
    .under .section {
        margin-bottom: 30px;
    }
    .under_bnr a {
        font-size: 16px;
        padding: 23px;
    }
    .image_l,
    .image_r {
        float: none;
        text-align: center;
        margin: 0 auto 15px
    }
    .step dd {
        padding: 30px 20px 20px
    }
    .step dd p:first-child {
        margin-bottom: 10px;
    }
    .under_frame {
        padding: 20px
    }
    .h_inf {
        width: 79%;
        margin-left: 0;
        justify-content: space-between;
    }
    .h_inf li:nth-child(2) {
        margin: 0 1%;
    }
    .h_inf li {
        font-size: 1.75vw;
        padding: 6px 4px;
        width: 32%
    }
    .h_inf span {
        display: flex;
    }
    .grp_txt {
        margin-bottom: 25px
    }
    .img_full {
        margin-bottom: 25px
    }
    .list_case li {
        width: 48%;
        margin: 0 4% 30px 0;
    }
    .list_case li:nth-child(2n) {
        margin-right: 0
    }
    .list_case.box_content li:last-child {
        margin: 0 auto 30px;
        float: none
    }
    .voice .image_l img {
        max-width: 100%
    }
    .list_voice .date {
        width: 100%;
        margin-bottom: 15px
    }
    .list_voice .tit {
        overflow: initial;
        white-space: normal;
        margin: 7px 0 12px;
    }
    .under section:last-child {
        margin-bottom: 10px
    }
    #index .box01 h3.bg {
        width: calc(100% - 20px);
        margin-top: 43px;
    }
    .under.information #content,
    .grp_left {
        width: 100%
    }
    .list_voice .txt p:last-child {
        margin-bottom: 0
    }

    .top_footer h3.bg {
        width: calc(100% - 20px)
    }
    .navi {
        display: none
    }
    .list_infor .image_l img {
        max-width: 100%;
        max-height: 350px
    }
    .list_infor .item {
        margin-bottom: 30px
    }
    .list_infor .tit {
        text-overflow: inherit;
        overflow: initial;
        white-space: normal;
    }
    .grp {
        margin-bottom: 30px;
        padding: 0 10px
    }

    #index h2 img {
        margin: 0 auto 2px;
        max-width: 100%;
    }
    .list_case.box_content {

        margin-top: 20px;
        margin-bottom: 0
    }
    .left_mainvs .img-people {
        top: 5px;
    }
    .partner_img02 img {
        max-width: 90%
    }
    .box-top {
        padding: 50px 0 5px;
    }
    .box-top ul li {
        width: 45%;
        margin: 0 2% 30px 0;
        display: inline-table
    }
    .box-top ul {
        justify-content: space-between;
    }
    .box-top li .img {
        display: table-cell;
        width: 40%;
        margin-bottom: 0;
        vertical-align: middle;
    }
    .box-top li .ttl {
        width: 60%;
        display: table-cell;
        text-align: left;
        vertical-align: middle;
        padding-left: 20px
    }
    #index h3:before,
    #index h3:after {
        height: 75%;
        width: 50px;
        bottom: -15px;
    }
    #index h3.h3_multi {
        margin-bottom: 35px
    }
    #index h3.h3_multi:before,
    #index h3.h3_multi:after {
        bottom: -18px;

    }
    #index h3.h3_three {
        margin-bottom: 45px
    }
    .box-top ul li:nth-child(n) {
        margin: 0 0 20px 0
    }

    .box-top li .ttl {
        font-size: 13px;
    }
    #index .b04_book.col01 {
        width: 100%;
    }
    #index .b04_book.col01 {
        border-radius: 28px/30px;
    }
    .b04_book.col01 .book_inner .left_book {
        margin-bottom: 0;
    }
    .left_mainvs .img-people img {
        max-width: 75%;
    }
    .tbl_scroll {
        overflow: auto;
    }
    .tbl_scroll table {
        min-width: 750px;
    }
    p.note {
        display: block;
        color: #2481b3;
        font-size: 12px;
    }
    .list_case.o_voice .img {
        width: 120px;

    }

    .o_voice .wrap02 {
        width: calc(100% - 140px);
    }
    .right_mainvs {
        position: relative;
        z-index: 1
    }

    .right_mainvs:before {
        content: "";
        position: absolute;
        width: 115%;
        height: 200px;
        background: url(../images/main_top03.png) repeat-x;
        background-size: 1020px;
        top: -73px;
        left: -8%;
        z-index: -1
    }
    .right_mainvs:after {
        content: "";
        position: absolute;
        width: 115%;
        height: 100%;
        background: url(../images/main_top04.jpg)bottom repeat-y;
        background-size: auto auto;
        background-size: 100%;
        bottom: 0;
        left: -8%;
        z-index: -1;
    }
    .right_mainvs .check {
        margin-bottom: 0;
    }
    .ico_arrow:before {
        background-size: 20px;
        top: 10px;
        animation: error_sp 1s linear infinite alternate;
    }
    .list_detail li {
        width: 100%;
        margin: 0 0 40px 0;
        float: none
    }
    .list_detail li:nth-child(3) {
        float: none
    }
    .grp_listbox {
        width: calc(100% - 20px);
        padding: 17px 10px 10px
    }

    .indx_bnr dd img,
    .indx_bnr dt img {
        max-width: 100%
    }

    .indx_bnr:before {
        background-size: 20vw;
        left: -15px;
        top: -30px;
    }

    .indx_bnr {
        padding-left: 16%;
        padding-bottom: 6vw;
    }
    .idx_list_infor .tit a {
        font-size: 13px;
        line-height: 1.7em;
    }
    .idx_list_infor .img {
        height: 118px
    }
    #index h3 {
        width: 85%
    }
    .wrapp {
        background-size: 32px;
        padding-left: 42px;
    }

    .list_case .img:hover img {
        transform: scale(1);
    }
    .list_case .img {
        background: none;
    }
    .indx_bnr dd {
        padding: 4vw 0px 0 5px;
    }
    .idx_thank {
        padding: 0
    }
    .box02 .idx {
        margin: 0 0 45px 0;

    }
    .idx_list_infor {
        padding: 15px
    }
    .grp_box01 {
        width: 100%;
        margin-bottom: 0;
        border: 0
    }
    .b01_cnt {
        padding: 46px 0 30px 0
    }
    .book_inner .man_book01:before {
        background-size: 92px;
        right: 13px;
    }
    .book_inner .woman_book01:before {
        background-size: 86px;
        bottom: -1px;
        right: 13px;
    }
    .post_ttl01 br {
        display: none
    }
    .idx_bf:before {
        position: relative;
        top: -8px;
    }
    .idx_list_infor a:hover img {
        top: 50%;
        transform: translateY(-50%) scale(1);
    }
    .o_voice .wrap{
        align-items: center;
        height: 76px
    }
    .o_voice .tit01, .o_voice .tit02{
        padding: 7px
    }
    .fixedPhone span{display: block;font-size: 18px}

/*’Ç‰Á•ª*/
.omimai1 {
   border: #ff5467 5px solid; 
   width:90%; 
   color: #363636; 
   padding: 20px; 
   font-weight: bold; 
   margin: 0 auto 20px auto; 
   font-size: 12px; 
   line-height: 1.3;
}


}



@media only screen and (max-width: 570px) {
    .cloud_icon li {
        width: 150px;
        height: 105px;
        margin-right: 0;
    }
    .mainvs_line ul {
        flex-wrap: wrap;
    }
    .mainvs_line li {
        width: 100%;
    }
    .mainvs_line a {
        font-size: 14px;
    }

    .idx_bf {
        margin: 15px 0 8px 0;
        order: 2;
        width: 53%
    }
    .idx_bf img {
        width: 100%;
        margin: 0 auto;
    }
    .idx_af {
        width: 100%
    }
    .idx_bf,
    .idx_af {

        text-align: center;
    }
    .idx_bf:after {
        left: calc(50% - 7px);
        -webkit-transform: rotate(90deg) translateX(-80%);
        -moz-transform: rotate(90deg) translateX(-80%);
        -ms-transform: rotate(90deg) translateX(-80%);
        -o-transform: rotate(90deg) translateX(-80%);
        transform: rotate(90deg) translateX(-80%);
        top: calc(100% + 16px);
    }


    #index .none_border {
        margin-bottom: 15px;
    }
    #index .none_border th,
    #index .none_border td {
        font-size: 16px;
    }
    .b04_priceList {
        display: flex;
        width: 40%;
        margin: -53vw 0 20px 0;
        position: relative;
        z-index: 2;
        float: right;
        flex-wrap: wrap;

    }
    .b04_priceList .special_price {
        width: 100%;
        font-size: 20px;
        float: left;
        padding: 12px 10px;

        order: 4
    }
    .idx_bf:after {
        display: none
    }
    .book_inner .man_book01:before {
        background-size: 85px;
        bottom: -7px;
    }
    .book_inner .woman_book01:before {
        background-size: 78px;
        bottom: -7px;
    }
    .b04_priceList li {
        margin: 0;
        float: left;
        font-size: 10px;
        width: 100%;
        padding: 4px
    }

    .b04_priceList li:nth-child(2) {
        margin-bottom: 8px
    }
    .b04_priceList .special_price span {
        font-size: 20px
    }
    .b04_priceList li span {
        font-size: 12px
    }

    .b04_priceList li:nth-child(-n + 2) {
        margin-top: 8px;
    }
    .b04_priceList li:nth-child(2n + 2) {
        margin-right: 0;
    }
    .b04_priceList li:last-child {
        margin-right: 0;
    }
    #index .book_notice {
        font-size: 14px;
        overflow: hidden;
        width: 100%;
        padding: 30px 90px 34px 5px;
    }
    #index .book_notice .big_txt {
        font-size: 30px;
    }

    .b06_post dl {
        width: 320px;
        margin-bottom: 20px;
    }
    .b06_post dl:last-child {
        margin-bottom: 0;
    }
    .b06_post dl:nth-child(-n + 2) {
        margin-top: 0;
    }
    .b06_post {
        justify-content: center;
    }
    .grp_case {
        margin-bottom: 40px
    }
    .right_mainvs .check span {
        font-size: 20px;
    }
    .right_mainvs .check li {
        width: 250px;
    }
    .right_mainvs .check span:after {
        height: 5px;
    }
    #index .book_notice .big_txt {
        display: inline-block;
        margin-top: 5px;
    }


    #index .book_notice span {
        display: block
    }

    .idx_list_infor > ul > li {
        width: 100%;
        display: block;
        margin-right: 0
    }

    .list_inf .imgs {
        overflow: hidden;
    }

    .list_inf .imgs img {
        max-width: 100%;

    }
    .list_inf p:last-child {
        margin-bottom: 0
    }
    .list_case .img:hover img {
        top: 50%;
        transform: translateY(-50%)scale(1);
    }

}



@media only screen and (max-width: 480px) {

    .mainvs_line {
        margin-bottom: 20px;
    }
    [class^="box_ttl"] {
        font-size: 20px;
    }
    .box_intro {
        font-size: 14px;
    }
    .box_intro .special_txt {
        font-size: 18px;
    }

    .cloud_icon {
        margin-bottom: 10px;
    }
    .cloud_icon li {
        width: 97px;
        height: 75px;
        margin-right: 0;
    }
    .cloud_icon li p {
        font-size: 12px;
        line-height: 1.4em;
    }
    .cloud_icon li span {
        font-size: 16px;
    }
    .left_mainvs {
        margin-bottom: 0;
    }
    .b02_chart {
        width: 300px;
        height: 300px;
    }
    .b02_chart [class^="chart_item"] {
        width: 90px;
    }
    .b02_chart [class^="chart_item"] dt {
        height: 80px;
        margin-bottom: 5px;
    }
    .b02_chart [class^="chart_item"] dd {
        font-size: 10px;
    }
    #index .bubble_icon01 {
        width: 110px;
        top: calc(100% - 4px);
        left: -29px;
    }
    #index .bubble_icon02 {
        width: 120px;
        right: -10px;
    }
    .b01_post dl {
        margin-bottom: 40px;
    }
    .b02_chart [class^="chart_arrow"] {
        padding: 2px;
        font-size: 14px;
    }
    .b02_chart [class^="chart_arrow"]:before {
        width: 18px;
        height: 39px;
    }
    .b02_chart .rightLeft {
        left: calc(-50% - 50px);
    }

    .b02_chart .botLeft {
        left: -38px;
        margin-bottom: 14px;
    }
    .b02_chart .botRight {
        right: -46px;
        margin-bottom: 20px;
    }
    .b03_numberList {
        font-size: 30px;
        margin-top: 5px;
    }
    .b03_subList {
        padding-left: 55px;
    }
    .b03_cnt {
        padding-left: 55px;
    }
    .b03_title {
        font-size: 15px;
    }
    .b03_title span {
        font-size: 22px;
    }
    .b03_subList li,
    .b03_cnt {
        font-size: 14px;
    }
    .box03 {
        background: url("../images/b03_bg02.png") center bottom 20px/260px auto no-repeat, url("../images/b03_bg.png") center;
        padding: 30px 10px 250px;
    }
    .b05_post dt {
        padding: 40px 85px 5px;
        font-size: 16px;
    }
    .b05_post .post_item01 dt:after {
        bottom: -8px;
        left: 2px;
        -webkit-transform: rotate(4deg);
        -moz-transform: rotate(4deg);
        -ms-transform: rotate(4deg);
        -o-transform: rotate(4deg);
        transform: rotate(4deg);
    }
    .b05_post .post_item02 dt:after {
        bottom: -15px;
        left: 0;
        -webkit-transform: rotate(2.5deg);
        -moz-transform: rotate(2.5deg);
        -ms-transform: rotate(2.5deg);
        -o-transform: rotate(2.5deg);
        transform: rotate(2.5deg);
    }
    .b05_post .post_item03 dt:after {
        bottom: -13px;
        left: 0;
        -webkit-transform: rotate(2.5deg);
        -moz-transform: rotate(2.5deg);
        -ms-transform: rotate(2.5deg);
        -o-transform: rotate(2.5deg);
        transform: rotate(2.5deg);
    }
    .b05_post .post_item04 dt:after {
        bottom: -9px;
        left: 0;
        -webkit-transform: rotate(3deg);
        -moz-transform: rotate(3deg);
        -ms-transform: rotate(3deg);
        -o-transform: rotate(3deg);
        transform: rotate(3deg);
    }
    .b05_post .post_item05 dt:after {
        bottom: -9px;
        left: 2px;
        -webkit-transform: rotate(4deg);
        -moz-transform: rotate(4deg);
        -ms-transform: rotate(4deg);
        -o-transform: rotate(4deg);
        transform: rotate(4deg);
    }
    .b05_post .post_item06 dt:after {
        bottom: -14px;
        left: 0;
        -webkit-transform: rotate(2.5deg);
        -moz-transform: rotate(2.5deg);
        -ms-transform: rotate(2.5deg);
        -o-transform: rotate(2.5deg);
        transform: rotate(2.5deg);
    }
    .b05_post dd {
        font-size: 14px
    }
    .list_case .img {
        height: 142px;
    }

    .box-top ul li:nth-child(n) {
        width: 100%;
        margin: 0 auto 20px;
        padding: 0 20px;
    }
    .b03_subList .txt_right {
        margin-right: 0;
    }

    .box-top ul li {
        width: 100%;
        display: table-cell
    }
    .idx_list_infor li {
        width: 100%;
        margin-bottom: 20px;
    }
    .idx_list_infor li:last-child {
        margin-bottom: 0
    }
    #index h3 {
        width: 83%
    }
    .b02_chart .leftright:after {
        background-size: 19px;
        top: 1px;
    }
    .row-2 {
        letter-spacing: 1px
    }
    .list_detail .img {
        height: auto;
    }
    .list_detail .img img {
        max-height: 362px
    }
    .box-top ul li:last-child {
        margin-bottom: 0
    }
    .box-top {
        padding: 50px 0 5px;
    }
    .b01_cnt {
        padding: 45px 0 20px 0;
    }

    .idx_list_infor img {
        top: 50%;
        transform: translatey(-50%) scale(1);
        max-height: 300px;

    }
    .idx_list_infor .img:hover img {
        transform: translateY(-50%) scale(1);

    }
    .idx_list_infor .tit a {
        font-size: 15px
    }
    .box-top li .ttl {
        width: 50%;
        font-size: 4.2vw;
    }
    .b04_priceList {
        margin: -55vw 0 20px 0;
    }
    .list_case.box_content .img {
        height: 159px;
    }

}

@media only screen and (max-width: 425px) {

    #main {
        padding-top: 0
    }
    .hd_list .list_intro p {
        font-size: 18px;
    }



    .b04_priceList li:last-child {
        margin-bottom: 0;
    }
    .b06_post dl dd {
        font-size: 18px;
    }
    .idx_slogan {
        font-size: 20px;
    }
    .list_case li {
        width: 100%;
        margin: 0 0 20px 0
    }
    .list_case .img {
        ;
        height: auto
    }

    .list_case li:last-child {
        margin-bottom: 0
    }

    .intro_mailForm font {
        display: inline-block;
        line-height: 1.4em
    }
    #index .book_notice {
        font-size: 3.5vw;
    }
    .b04_priceList {
        margin: -58vw 0 20px 0;
    }

}

@media only screen and (max-width: 375px) {
    .b05_post [class^="post_item"] dt:after {
        width: 58px;
        height: 92px;
    }
    .b05_post dt {
        padding: 25px 5px 5px 65px;
    }
    .b05_post dt {
        font-size: 14px;
    }
    .b05_post dt p {
        font-size: 16px;
        margin-bottom: 3px;
    }
    .b05_post dt p span {
        font-size: 24px;
    }
    .b05_post .post_item01 dt:after {
        bottom: -9.5px;
        -webkit-transform: rotate(6deg);
        -moz-transform: rotate(6deg);
        -ms-transform: rotate(6deg);
        -o-transform: rotate(6deg);
        transform: rotate(6deg);
    }
    .b05_post .post_item03 dt:after {
        bottom: -12px;
        -webkit-transform: rotate(6deg);
        -moz-transform: rotate(6deg);
        -ms-transform: rotate(6deg);
        -o-transform: rotate(6deg);
        transform: rotate(6deg);
    }
    .b05_post .post_item07 dt:after {
        bottom: -12px;
        left: 7px;
        -webkit-transform: rotate(6deg);
        -moz-transform: rotate(6deg);
        -ms-transform: rotate(6deg);
        -o-transform: rotate(6deg);
        transform: rotate(6deg);
    }
    .b05_post .post_item05 dt:after {
        bottom: -11px;
        left: 6px;
        -webkit-transform: rotate(6deg);
        -moz-transform: rotate(6deg);
        -ms-transform: rotate(6deg);
        -o-transform: rotate(6deg);
        transform: rotate(6deg);
    }
    .b05_post .post_item06 dt:after {
        bottom: -14px;
        -webkit-transform: rotate(4.5deg);
        -moz-transform: rotate(4.5deg);
        -ms-transform: rotate(4.5deg);
        -o-transform: rotate(4.5deg);
        transform: rotate(4.5deg);
    }
    .h_inf li {
        padding: 4px 3px
    }
    .copyright {
        font-size: 10px
    }
    #index .box01 h3.bg {
        margin-top: 10px
    }
    .intro_mailForm,
    .intro_mailForm span {

        font-size: 11px;
    }

    .intro_mailForm ul li:last-child {
        color: #e22727;
        font-size: 20px;
        margin-left: 0px;
    }
    br.spp {
        display: none
    }
    .b02_chart .leftright:after {
        background-size: 19px;
    }
    .intro_mailForm ul span {
        margin-right: 10px
    }
    .box-top {
        padding: 17vw 0 35px
    }
    .indx_bnr {
        padding-left: 14%;
    }
    .box-top li .ttl {
        width: 37%;
    }
    .b04_priceList {

        margin: -62vw 0 20px 0;

    }
}

@media only screen and (max-width: 350px) {
    .b04_priceList .special_price {
        font-size: 4vw;
        height: auto;
        letter-spacing: -0.8px
    }
    .b02_chart {
        width: 289px;
    }
    .b04_priceList {

        margin: -65vw 0 20px 0;

    }
}

@media only screen and (max-width: 320px) {
    .idx_slogan {
        font-size: 18px;
    }
    .b05_post .post_item01 dt:after {
        bottom: -11px;
        -webkit-transform: rotate(5deg);
        -moz-transform: rotate(5deg);
        -ms-transform: rotate(5deg);
        -o-transform: rotate(5deg);
        transform: rotate(5deg);
    }
    .b05_post .post_item02 dt:after {
        bottom: -15px;
        -webkit-transform: rotate(4deg);
        -moz-transform: rotate(4deg);
        -ms-transform: rotate(4deg);
        -o-transform: rotate(4deg);
        transform: rotate(4deg);
    }
    .b05_post .post_item03 dt:after {
        bottom: -13px;
        -webkit-transform: rotate(4deg);
        -moz-transform: rotate(4deg);
        -ms-transform: rotate(4deg);
        -o-transform: rotate(4deg);
        transform: rotate(4deg);
    }
    .b05_post .post_item04 dt:after {
        bottom: -10px;
        -webkit-transform: rotate(4deg);
        -moz-transform: rotate(4deg);
        -ms-transform: rotate(4deg);
        -o-transform: rotate(4deg);
        transform: rotate(4deg);
    }
    .b05_post .post_item06 dt:after {
        bottom: -15px;
        -webkit-transform: rotate(5deg);
        -moz-transform: rotate(5deg);
        -ms-transform: rotate(5deg);
        -o-transform: rotate(5deg);
        transform: rotate(5deg);
    }
    .copyright {
        line-height: 1.5em;
        font-size: 9px;
    }
    .list_voice .image_l img {
        max-width: 100%
    }
    .b01_post dd {
        font-size: 14px;
    }
    .b02_chart .leftright {
        min-width: 76px;
        left: calc(-50% - 51px);
    }
}


@-webkit-keyframes error_sp {
    0% {
        left: -20px;
    }
    50% {
        left: -35px
    }
    100% {
        left: -25px;
    }
}

@keyframes error_sp {
    0% {
        left: -20px;
    }
    50% {
        left: -35px
    }
    100% {
        left: -25px;
    }
}
