@charset "UTF-8";

body {
    width: 100%;
    /*overflow-x: hidden;*/
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    margin: 0;
    text-align: justify;
line-break: strict;
overflow-wrap: break-word;
word-wrap: break-word;
}

img {
        max-width: 100%;
        height: auto;
    }
p,h1,h2{
    text-align: justify;
}
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    
    
    .header_bg {
        background: #EFEFEF;
        box-sizing: border-box;
    }
    .header_wrap {
        position: relative;
        text-align: center;
        margin: 0 auto;
        width: 100%;
        max-width: 945px;
        padding: 2.535vw 0;
        box-sizing: border-box;
    }
    .header_logo {
        display: inline-block;
        width: 26.548vw;
        margin: 0 1.2vw;
    }
    .header_logo img {
        width: 100%;
    }
    .header_pr {
        display: inline-block;
        font-size: 0;
        position: absolute;
    	top: 50%;
    	right: 15px;
    	transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
    	width: 8.585%;
    }
    .header_pr img {
        width: 100%;
    }
    
    
    @media screen and (min-width: 440px) {
        .header_wrap {
            padding: 10px 0;
        }
        .header_logo {
            width: 129.598px;
        }
        .header_pr {
            width: 40px;
        }
    }
    
    
    @media screen and (min-width: 640px) {
        .header_logo {
            width: 178px;
        }
        .header_wrap {
            padding: 9.55px 0;
        }
    }
    
    
    
    .ft_line {
        display: inline-block;
        width: 100%;
        height: 1px;
        background: #cdcdcd;
        border: none;
    }
    
    
    
    .bgwrap1 {
        position: relative;
        padding: 0 0 100px;
    }
    .bgwrap1::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(bg.png);
        background-size: cover;
        background-position: center;
        z-index: -1;
    }
    @media screen and (min-width: 640px) {
        .bgwrap1 {
            background-image: url(bg.png);
            background-attachment: fixed;
            background-size: cover;
            background-position: center;
        }
        .bgwrap1::before {
            display: none;
        }
    }
    .fv_wrap {
        position: relative;
        text-align: center;
        padding: 20px;
    }
    .fv_container {
        position: relative;
        margin: 0 auto;
        max-width: 953px;
    }
    .fv_mv {
        font-size: 0;
        position: relative;
    }
    .fv_img1 {
        width: 100%;
        max-width: 847px;
        position: relative;
        z-index: 5;
    }
    .fv_img2 {
        position: absolute;
        z-index: 1;
        width: 100%;
        left: 0;
        bottom: -1%;
        mix-blend-mode: screen;
    }
    
    @media screen and (min-width: 640px) {
        .fv_wrap {
            padding: 60px 20px 30px;
        }
        .fv_img2 {
            bottom: 2%;
        }
    }
    
    
    .ar_wrap {
        background: linear-gradient(90deg, #0470bb 0%, #6b438b 50%, #d1155b 100%);
        clip-path: polygon(0 20px, 100% 0, 100% calc(100% - 20px), 0 100%);
        padding: 20px;
    }
    .ar_container {
        margin: 0 auto;
        max-width: 1050px;
    }
    .ar_box {
        padding: 40px 20px 10px;
        clip-path: polygon(0 20px, 100% 0, 100% calc(100% - 20px), 0 100%);
        background: #fff;
        box-shadow: 0 0 5px rgba(0,0,0,.2);
    }
    .card {
        margin: 0 0 40px;
    }
    .card a {
        text-decoration: none;
    }
    .card_h {
        background: linear-gradient(90deg, #0470bb 0%, #6b438b 50%, #d1155b 100%);
        color: #fff;
        margin: 0;
        font-weight: 600;
        font-size: 20px;
        position: relative;
        padding: .2em .6em;
    }
    .card_h::before {
        content: "";
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
    	width: 14px;
    	height: 14px;
    	background-image: url(arrow1.png);
    	background-position: center;
    	background-repeat: no-repeat;
    	background-size: contain;
    }
    .card_catch {
        font-size: 0;
        overflow: hidden;
        margin: 0 0 16px;
        position: relative;
    }
    .card_catch img {
        transition: .5s;
        width: 100%;
    }
    .card_catch:hover img {
        transform: scale(1.1,1.1);
    }
    .card_catch::before {
        content: "";
        position: absolute;
        z-index: 5;
        left: 0;
        bottom: 0;
        width: 4%;
        height: 54%;
        background: linear-gradient(180deg, #0470bb 0%, #6b438b 50%, #d1155b 100%);
    }
    .card_catch::after {
        content: "";
        position: absolute;
        display: inline-block;
        z-index: 5;
        right: 0;
        bottom: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0px 0px 7vw 21vw;
        border-color: transparent transparent #fff transparent;
    }
    .card_txt1 {
        color: #000;
        font-size: 14px;
        font-weight: 600;
        margin: 0 0 .4em;
        text-align: left;
    }
    .card_txt2 {
        color: #000;
        font-size: 18px;
        font-weight: 600;
        margin: 0;
        line-height: 1.47;
        text-align: left;
    }
    
    @media screen and (min-width: 640px) {
        .bgwrap1 {
            padding: 0 0 160px;
        }
        .ar_wrap {
            clip-path: polygon(0 60px, 100% 0, 100% calc(100% - 60px), 0 100%);
            padding: 48px 48px 88px;
        }
        .ar_box {
            clip-path: polygon(0 30px, 100% 0, 100% calc(100% - 30px), 0 100%);
            padding: 72px 20px 30px;
        }
        .ar_flex {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            margin: 0 auto;
            max-width: 830px;
        }
        .card {
            width: 47%;
            margin: 0 0 52px;
        }
        .card_catch::after {
            border-width: 0px 0px 50px 150px;
        }
        .card_h {
            font-size: 20px;
        }
        .card_txt1 {
            font-size: 16px;
        }
        .card_txt2 {
            font-size: 18.5px;
        }
    }


    /* トップへ戻るボタン */
    .btn_totop {
        position: fixed;
        right: 20px;
        bottom: 20px;
        z-index: 100;
        width: 50px;
        height: 50px;
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        transition: opacity .3s, visibility .3s;
    }
    .btn_totop.is_show {
        opacity: 1;
        visibility: visible;
    }
    .btn_totop.is_stop {
        position: absolute;
    }
    @media screen and (min-width: 1260px) {
        .btn_totop {
            right: auto;
        }
        .btn_totop.is_stop {
            right: auto;
        }
    }
    .btn_totop img {
        width: 100%;
        height: auto;
    }
    
    .localFooter, .globalFooter {
        background: #fff;
    }
    .br_sp{
        display: block;
    }
    .br_pc{
        display: none;
    }
     @media screen and (min-width: 640px) {
        .br_sp{
            display: none;
        }
        .br_pc{
            display: block;
        }
     }
    