@charset "UTF-8";
    .bg_wrap {
        position: relative;
        background-position: center -50vw;
    }
    .sidebar1, .sidebar2, .float_back {
        display: none;
    }
    .s_fv_wrap {
        padding: 32px 16px 8px;
        text-align: center;
    }
    .s_fv_container {
        margin: 0 auto;
        max-width: 584px;
    }
    .s_fv_title {
        font-size: 0;
    }
    .sat_wrap {
        padding: 0 16px 40px;
    }
    .sat_container {
        margin: 0 auto;
        max-width: 1150px;
        background: #fff;
    }
    .sat_title_wrap {
        padding: 16px 16px 16px 0;
    }
    .sat_title {
        margin: 0;
    }
    .sat_title1 {
        display: inline-block;
        background: linear-gradient(334.1726deg, #bd0080 0%, #0075c1 100%);
        color: #fff;
        font-size: 14px;
        font-weight: 600;
        clip-path: polygon(
                            0% 0%,
                            91% 0%,
                            100% 100%,
                            0% 100%
                        );
        padding: .2em 1.8em .2em 1em;
    }
    .sat_title2 {
        font-size: 15px;
        color: #000;
        font-weight: 600;
    }
    .sat_fv_wrap {
        background: #e8e9e9;
    }
    .sat_fv_title_wrap {
        padding: 12px;
    }
    .sat_fv_title {
        color: #293591;
        font-size: 22px;
        line-height: 1.143;
        margin: 0;
    }
    .sat_fv_mv_wrap {
        padding: 0 16px 0 0;
        font-size: 0;
        position: relative;
        z-index: 5;
    }
    .sat_fv_title2_wrap {
        display: none;
    }
    .sat_fv_name_wrap {
        text-align: center;
        width: 100%;
        position: relative;
        padding: 0 0 24px;
    }
    .sat_fv_name_wrap::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 88%;
        height: 10px;
        background: linear-gradient(154.1726deg, #bd0080 0%, #0075c1 100%);
        z-index: 5;
    }
    .sat_fv_name_wrap::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 120%;
        background: #fff;
        clip-path: polygon(
                            0% 0%,
                            70% 0%,
                            100% 100%,
                            0% 100%
                        );
        z-index: 1;
    }
    .sat_fv_name1, .sat_fv_name2 {
        margin: 0;
        font-size: 11px;
        color: #231815;
        line-height: 1.127;
        letter-spacing: .063em;
        font-weight: 600;
        width: 66%;
        position: relative;
        z-index: 5;
    }
    .sat_fv_name3 {
        margin: .2em 0 0;
        font-size: 20px;
        color: #231815;
        line-height: 1.127;
        letter-spacing: .063em;
        font-weight: 600;
        width: 66%;
        position: relative;
        z-index: 5;
    }
    .sat_fv_name3 > span {
        font-size: .67em;
    }
    .sat_wrap2 {
        padding: 16px 16px 40px;
    }
    .sat_container2 {
        margin: 0 auto;
        max-width: 930px;
    }
    .sat_txt1 {
        margin: 0;
        font-size: 16px;
        line-height: 1.481;
        color: #231815;
    }
    .sat_txt1_it {
        margin-bottom: 32px;
    }
    .sat_block1 {
        margin: 0 0 64px;
    }
    .sat_lv2_wrap {
        position: relative;
        margin: 0 0 32px;
        padding: 12px 0 24px 24px;
    }
    .sat_lv2_wrap::before {
        content: "";
        position: absolute;
        left: 8px;
        top: 0;
        width: 4.8px;
        height: 100%;
        background: linear-gradient(180deg, #bd0080 0%, #0075c1 100%);
    }
    .sat_lv2 {
        margin: 0;
        color: #231815;
        line-height: 1.176;
        font-size: 22px;
        position: relative;
        display: inline-block;
        width: 100%;
        text-align: left;
    }
    .sat_lv2::before {
        content: "";
        position: absolute;
        left: -24px;
        bottom: -16px;
        height: 3px;
        width: 100%;
        background: linear-gradient(90deg, #bd0080 0%, #0075c1 100%);
    }
    .sat_bnr {
        text-align: center;
        font-size: 0;
        margin: 40px 0 0;
    }
    .sat_bnr img {
        width: 740px;
    }
    .sat_bnr2 img {
        width: 548px;
    }
    .sat_bnr.-shadow img {
        box-shadow: 0 0 6px rgba(0,0,0,.3);
    }
    .sat_link_wrap {
        text-align: center;
        margin: 0 0 56px;
        padding: 0 20px;
    }
    .sat_link_box {
        background: #fff;
        box-shadow: 0 0 5px rgba(0,0,0,.2);
        border-radius: 10px;
        position: relative;
        padding: 24px 24px;
        margin: 0 auto;
        max-width: 466px;
        box-sizing: border-box;
    }
    .sat_link_box::before, .sat_link_box::after {
        content: "";
        position: absolute;
        top: 50%;
    	transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
    	width: 40px;
    	height: 8px;
    	background: linear-gradient(-90deg, #bd0080 0%, #0075c1 100%);
    	left: -20px;
    }
    .sat_link_box::after {
        left: auto;
        right: -20px;
    }
    .sat_link_box a {
        text-decoration: none;
    }
    .sat_link_txt1 {
        font-weight: 600;
        color: #231815;
        font-size: 18px;
        margin: 0 0 .3em;
    }
    .sat_link_txt2 {
        font-weight: 500;
        color: #231815;
        font-size: 14px;
        margin: 0;
    }
    .sat_txt2 {
        text-align: center;
        font-size: 12px;
    }
    .backbtn_wrap {
        text-align: center;
        font-size: 0;
        padding: 16px 20px 64px;
    }
    .backbtn {
        display: inline-block;
        width: 80%;
        max-width: 407px;
    }
    .sat_bnr_txt {
        text-align: center;
        margin: .5em 0 0;
        font-size: 14px;
    }
    .sat_txt1_s {
        font-size: .67em;
    }
    .sat_float_box {
        margin: 0 0 40px;
    }
    
    
    @media screen and (min-width: 640px) {
        .bg_wrap{
            background-position: center -30vw;
        }
        .sat_title_wrap {
            padding: 32px 20px 32px 0;
        }
        .sat_title1 {
            font-size: 25px;
        }
        .sat_title2 {
            font-size: 32px;
            vertical-align: middle;
        }
        .sat_fv_wrap {
            padding: 0 20px;
            background: none;
            overflow: hidden;
        }
        .sat_fv_container {
            margin: 0 auto;
            max-width: 930px;
            background: linear-gradient(90deg, #e8e9e9 0%, #e8e9e9 80%, #fff 80%, #fff 100%);
        }
        .sat_fv_title_wrap {
            display: none;
        }
        .sat_fv_title2_wrap {
            display: block;
            width: 63%;
        }
        .sat_fv_flex {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
        }
        .sat_fv_name_wrap {
            width: 37%;
            padding: 0 0 24px 5%;
            text-align: left;
            box-sizing: border-box;
            display: flex;
            justify-content: flex-start;
            align-items: flex-end;
        }
        .sat_fv_name_wrap2{
            align-items: center;
        }
        .sat_fv_name_wrap > div {
            width: 100%;
        }
        .sat_fv_name_wrap::after {
            clip-path: polygon(16% 0%, 100% 0%, 100% 100%, 0% 100%);
        }
        .sat_fv_name_wrap::before {
            width: 140%;
            left: 10%;
            height: 13px;
        }
        .sat_fv_name_wrap2::before{
            bottom: 55px;
        }
        .sat_fv_title2 {
            color: #293591;
            font-weight: 600;
            line-height: 1.25;
            font-size: 40px;
            margin: 0;
        }
        .sat_fv_title2_wrap {
            padding: 8px 0 32px 32px;
            box-sizing: border-box;
        }
        .sat_fv_name1, .sat_fv_name2 {
            font-size: 16px;
            line-height: 1.62;
            width: 100%;
        }
        .sat_fv_name1-2, .sat_fv_name2-2{
            line-height: 1.3;
            font-size: 15px;
        }
        .sat_fv_name3 {
            font-size: 32px;
            width: 100%;
        }
        .sat_wrap2 {
            padding: 32px 16px 56px;
        }
        .sat_txt1 {
            font-size: 18px;
            line-height: 1.722;
        }
        .sat_block1 {
            margin-bottom: 80px;
        }
        .sat_lv2 {
            font-size: 30px;
            width: auto;
        }
        .sat_lv2::before {
            width: calc(100% + 16px);
        }
        .sat_link_txt1 {
            font-size: 21px;
        }
        .sat_link_txt2 {
            font-size: 17px;
        }
        .sat_link_box::before, .sat_link_box::after {
            width: 92px;
            height: 12px;
            left: -46px;
        }
        .sat_link_box::after {
            left: auto;
            right: -46px;
        }
        .sidebar1, .sidebar2 {
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            width: 31px;
            z-index: 1;
        }
        .sidebar2 {
            left: auto;
            right: 0;
        }
        .s_fv_wrap, .sat_wrap {
            position: relative;
            z-index: 5;
        }
        .float_back {
            display: block;
            position: fixed;
            top: 50%;
            left: 0;
        	transform: translate(0%, -50%);
        	-webkit-transform: translate(0%, -50%);
        	-ms-transform: translate(0%, -50%);
        	width: 59px;
        	font-size: 0;
        	z-index: 10;
        }
        .sat_bnr_txt {
            font-size: 16px;
        }
        .sat_float_box {
            float: right;
            width: 370px;
            margin: 0 0 40px 30px;
        }
    }
    
    @media screen and (min-width: 1340px) {
        .float_back {
            display: block;
            position: fixed;
            top: 50%;
        	width: 59px;
        	font-size: 0;
        	z-index: 10;
        }
    }

    /* pagetop2 absolute時のスタイル */
    .pagetop2.is-stopped {
        position: absolute;
        bottom: -40px;
        right: 4px;
        left: auto;
    }
    @media screen and (min-width: 640px) {
        .pagetop2.is-stopped {
            bottom: 320px;
            right: -10px;
        }
    }
    @media screen and (min-width: 1360px) {
        .pagetop2.is-stopped {
            bottom: 320px;
            right: auto;
            left: calc(50% + 640px);
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    