@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;
    }

sup,sub{
    font-size: 11.5px;
    line-height: 0;
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    
    
    .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: 38.548vw;
    }
    .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: 179.598px;
        }
        .header_pr {
            width: 40px;
        }
    }
    
    
    @media screen and (min-width: 640px) {
        .header_logo {
            width: 210px;
        }
        .header_wrap {
            padding: 9.55px 0;
        }
    }
    
    .ft_line {
        display: inline-block;
        width: 100%;
        height: 1px;
        background: #cdcdcd;
        border: none;
    }
    
    
    .fv_wrap {
        display: none;
    }
    .spfv {
        font-size: 0;
    }
    @media screen and (min-width: 640px) {
        .spfv {
            display: none;
        }
        .fv_wrap {
            position: relative;
            overflow: hidden;
            display: block;
            background: #F4F4E7;
        }
        .fv_wrap::before, .fv_wrap::after {
            content: "";
            position: absolute;
            display: inline-block;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;
            height: 100%;
            width: 50%;
            z-index: 1;
            top: 0;
        }
        .fv_wrap::before {
            background-image: url(fv-bg-l.png);
            left: 0;
        }
        .fv_wrap::after {
            background-image: url(fv-bg-r.png);
            right: 0;
        }
        .fv_line {
            display: block;
            position: absolute;
            top: 50%;
        	transform: translateY(-50%);
        	-webkit-transform: translateY(-50%);
        	-ms-transform: translateY(-50%);
        	width: 50%;
        	height: 24.848%;
        	background-repeat: repeat-x;
        	background-size: contain;
        	z-index: 3;
        	animation: 4.5s fv_line_anime;
        }
        .fv_line_l {
            left: 0;
            background-image: url(fv-l.png);
        }
        .fv_line_r {
            right: 0;
            background-image: url(fv-r.png);
        }
        @keyframes fv_line_anime {
            0% {
                opacity: 0;
                top: 60%
            }
            50% {
                opacity: 0;
                top: 60%;
            }
            100% {
                opacity: 1;
                top: 50%;
            }
        }
        .fv_main {
            position: relative;
            z-index: 5;
            margin: 0 auto;
            max-width: 1280px;
            font-size: 0;
        }
        .fv_img1 {
            position: absolute;
            z-index: 7;
            font-size: 0;
            width: 41%;
            left: 31.5%;
            top: 44%;
            animation: 3s fv_img1_anime;
            transform: translate(-50%, -50%);
        	-webkit-transform: translate(-50%, -50%);
        	-ms-transform: translate(-50%, -50%);
        }
        @keyframes fv_img1_anime {
            0% {
                opacity: 0;
                width: 45%;
                max-width: 45%;
            }
            30% {
                opacity: 0;
                width: 45%;
                max-width: 45%;
            }
            100% {
                opacity: 1;
                width: 41%;
            }
        }
        .fv_img2 {
            position: absolute;
            z-index: 7;
            font-size: 0;
            width: 16%;
            right: 6%;
            bottom: 4%;
            animation: 4.5s fv_img2_anime;
        }
        @keyframes fv_img2_anime {
            0% {
                opacity: 0;
                bottom: 1%
            }
            50% {
                opacity: 0;
                bottom: 1%;
            }
            100% {
                opacity: 1;
                bottom: 4%;
            }
        }
        .fv_mainimage {
            animation: 1.5s fv_mainimage_anime;
            position: absolute;
        	top: 50%;
        	left: 50%;
        	transform: translate(-50%, -50%);
        	-webkit-transform: translate(-50%, -50%);
        	-ms-transform: translate(-50%, -50%);
        	z-index: 1;
        	width: 100%;
        }
        @keyframes fv_mainimage_anime {
            0% {
                opacity: 0;
                width: 110%;
                max-width: 110%;
            }
            100% {
                opacity: 1;
                width: 100%;
            }
        }
    }
    
    
    @media screen and (min-width: 1280px) {
        .fv_wrap::before, .fv_wrap::after {
            width: calc(50% - 640px + 190px);
        }
    }
    
    
    .sec1_bg {
        background: #F9F8F5;
        margin-bottom: 24px;
    }
    .sec1_wrap {
        padding: 20px 30px;
        margin: 0 auto;
        max-width: 920px;
    }
    .sec1_wrap_txt {
        margin: 0;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.705;
    }
    .sec1_wrap_txt sup{
        font-size:10px;
    }
    @media screen and (min-width: 640px) {
        .sec1_wrap_txt {
            font-size: 17px;
        }
        .sec1_wrap {
            padding: 30px;
        }
    }
    
    
    .main_bg {
        background: #F5F5F5;
        position: relative;
        overflow: hidden;
    }
    .main_wrap {
        background: #FFF;
        margin: 0 auto;
        max-width: 1400px;
        position: relative;
    }
    .main_wrap2 {
        margin: 0 auto;
        max-width: 920px;
        padding: 0 15px;
        position: relative;
    }
    .lv2 {
        position: relative;
        text-align: center;
        padding: 20px 0;
        margin: 30px 0;
    }
    .lv2::after {
        content: "";
        position: absolute;
    	left: 50%;
    	top: 0;
    	transform: translateX(-50%);
    	-webkit-transform: translateX(-50%);
    	-ms-transform: translateX(-50%);
    	width: 200vw;
    	height: 100%;
    	background: #FFF;
    	z-index: 1;
    }
    .lv2::before {
        content: "";
        position: absolute;
    	left: 50%;
    	top: 0;
    	transform: translateX(-50%);
    	-webkit-transform: translateX(-50%);
    	-ms-transform: translateX(-50%);
    	width: 200vw;
    	height: 100%;
    	background-repeat: repeat-x;
    	background-size: contain;
    	background-image: url(lv2_bg.png);
    	z-index: 2;
    }
    .lv2_h {
        background: #FFF;
        position: relative;
        z-index: 5;
        color: #036EB5;
        font-size: 20px;
        line-height: 1.1764;
        padding: .6em .5em;
        margin: 0 auto;
        width: 90%;
    }
    @media screen and (min-width: 640px) {
        .lv2_h {
            font-size: 34px;
            background: transparent;
            padding: 50px 0 0;
            width: 100%;
            max-width: 800px;
            height: 174.5px;
            box-sizing: border-box;
        }
        .lv2_line {
            position: absolute;
            top: 0;
            width: 100%;
            max-width: 800px;
            height: 174.5px;
            left: 50%;
            transform: translateX(-50%);
        	-webkit-transform: translateX(-50%);
        	-ms-transform: translateX(-50%);
        	z-index: 3;
        }
        .lv2_line::before, .lv2_line::after {
            content: "";
            position: absolute;
            width: 745px;
            height: 174.5px;
            background-repeat: no-repeat;
        	background-size: contain;
        	z-index: 2;
        	top: 0;
        }
        .inview_linefade_on.lv2_line::before {
            background-image: url(lv2-l.png);
            left: 0;
            transform: translateX(-100%);
            -webkit-transform: translateX(-100%);
            -ms-transform: translateX(-100%);
        }
        .inview_linefade_on.lv2_line::before {
            animation: 3s lv2_line_left_anime;
        }
        @keyframes lv2_line_left_anime {
            0% {
                left: -100px;
                opacity: 0;
            }
            100% {
                left: 0;
                opacity: 1;
            }
        }
        .inview_linefade_on.lv2_line::after {
            background-image: url(lv2-r.png);
            right: 0;
            transform: translateX(100%);
            -webkit-transform: translateX(100%);
            -ms-transform: translateX(100%);
        }
        .inview_linefade_on.lv2_line::after {
            animation: 3s lv2_line_right_anime;
        }
        @keyframes lv2_line_right_anime {
            0% {
                right: -100px;
                opacity: 0;
            }
            100% {
                right: 0;
                opacity: 1;
            }
        }
        .lv2_h_pt {
            display: inline-block;
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            z-index: -1;
        }
        .inview_linefade_on .lv2_h_pt::before, .inview_linefade_on .lv2_h_pt::after {
            content: "";
            position: absolute;
            width: 100vw;
            height: 174.5px;
            background-repeat: repeat-x;
        	background-size: contain;
        	z-index: 2;
        	top: 0;
        }
        .inview_linefade_on .lv2_h_pt::before {
            background-image: url(lv2-l2.png);
            left: -745px;
            transform: translateX(-100%);
            -webkit-transform: translateX(-100%);
            -ms-transform: translateX(-100%);
            animation: 3s lv2_h_pt_left_anime;
        }
        @keyframes lv2_h_pt_left_anime {
            0% {
                left: -845px;
                opacity: 0;
            }
            100% {
                left: -745px;
                opacity: 1;
            }
        }
        .inview_linefade_on .lv2_h_pt::after {
            background-image: url(lv2-r2.png);
            right: -745px;
            transform: translateX(100%);
            -webkit-transform: translateX(100%);
            -ms-transform: translateX(100%);
            animation: 3s lv2_h_pt_right_anime;
        }
        @keyframes lv2_h_pt_right_anime {
            0% {
                right: -845px;
                opacity: 0;
            }
            100% {
                right: -745px;
                opacity: 1;
            }
        }
        .lv2::before {
            display: none;
        }
        .lv2 {
            padding: 0;
        }
    }
    
    
    .prof {
        margin: 0 auto 30px;
        max-width: 290px;
        background: #F5F5F5;
        position: relative;
    }
    .prof::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 9.84px;
        height: 100%;
        background: linear-gradient(180deg, #B385B5 0%, #B385B5 11%, #CBB021 11%, #CBB021 18%, #84C170 18%, #84C170 43%, #CB4F27 43%, #CB4F27 61%, #5BB2D1 61%, #5BB2D1 74%, #D79A33 74%, #D79A33 100%);
    }
    .prof_photo {
        font-size: 0;
    }
    .prof_in {
        padding: 20px 20px;
    }
    .prof_txt1 {
        font-weight: 600;
        font-size: 18px;
        margin: 0;
    }
    .prof_txt2 {
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2857;
        margin: 6px 0;
    }
    .prof_txt3 {
        font-size: 25px;
        font-weight: 600;
        line-height: 1.2857;
        margin: 0;
    }
    .prof_txt3 > span {
        font-size: 17px;
    }
    .lv3 {
        font-size: 16px;
        line-height: 1.72222;
        margin: 0 0 30px;
        font-weight: 600;
    }
    .txtstyle1 {
        font-size: 16px;
        line-height: 1.72222;
        margin: 0 0 30px;
        font-weight: 500;
    }
    .txtstyle2{
        font-size: 12px;
        position: relative;
        text-indent: -2.5em;
        padding-left: 2.5em;
    }
    .ind2{
        text-indent: -3.5em;
        padding-left: 3.5em;}
    .mr_n{
        margin: 0;
    }
    .mr_b30{
        margin-bottom: 30px;
    }

    .content_block1 {
        padding: 0 0 5px;
    }
    @media screen and (min-width: 640px) {
        .float1 .prof {
            float: right;
            margin: 0 0 40px 70px;
        }
        .lv3 {
            font-size: 18px;
        }
        .txtstyle1 {
            font-size: 18px;
        }
        }
    
    .imgsec_img {
        margin: 0 auto;
        font-size: 0;
        max-width: 900px;
        position: relative;
        z-index: 5;
    }
    .imgsec {
        position: relative;
        margin: 0 0 40px;
        padding: 40px 0;
    }
    .imgsec::before {
        content: "";
        position: absolute;
    	left: 50%;
    	top: 0;
    	transform: translateX(-50%);
    	-webkit-transform: translateX(-50%);
    	-ms-transform: translateX(-50%);
    	width: 200vw;
    	height: 100%;
    	background: #CFE4FD;
    }
    .txtstyle1_mb0 {
        margin-bottom: 0;
    }
    
    
    .content_block1_dc {
        padding-bottom: 0;
        position: relative;
    }
    .img2 {
        font-size: 0;
        margin: 60px auto 0;
        max-width: 650px;
    }
    @media screen and (min-width: 640px) {
        .inview_linefade_on.content_block1_dc::before, .inview_linefade_on.content_block1_dc::after {
            content: "";
            position: absolute;
            width: 100vw;
            height: 100%;
            background-repeat: repeat;
        	background-size: 591px;
        	background-image: url(blr.png);
        	background-color: #fff;
        	top: 0;
        	z-index: 5;
        }
        .inview_linefade_on.content_block1_dc::before {
            left: -60px;
            transform: translateX(-100%);
            -webkit-transform: translateX(-100%);
            -ms-transform: translateX(-100%);
            animation: 3s content_block1_dc_left_anime;
        }
        @keyframes content_block1_dc_left_anime {
            0% {
                opacity: 0;
                left: -160px;
            }
            100% {
                opacity: 1;
                left: -60px;
            }
        }
        .inview_linefade_on.content_block1_dc::after {
            right: -60px;
            transform: translateX(100%);
            -webkit-transform: translateX(100%);
            -ms-transform: translateX(100%);
            animation: 3s content_block1_dc_right_anime;
        }
        @keyframes content_block1_dc_right_anime {
            0% {
                opacity: 0;
                right: -160px;
            }
            100% {
                opacity: 1;
                right: -60px;
            }
        }
    }
    
    
    .mf_txt {
        font-size: 12px;
        text-align: center;
        font-weight: 500;
        padding: 60px 10px;
    }
    .footer_bg {
        background: #F3F5F9;
        position: relative;
    }
    .fotter_wrap {
        padding: 0 20px 90px;
        text-align: center;
    }
    .footer_img1 {
        font-size: 0;
        margin: 0 0 55px;
    }
    .footer_img1 a {
        display: inline-block;
        width: 100%;
        max-width: 559px;
    }
    .footer_img2 img {
        width: 286px;
        max-width: 100%;
        mix-blend-mode: multiply;
    }
    .footer_txt1 {
        font-weight: 600;
        font-size: 18px;
        margin: 0 0 4px;
    }
    .footer_txt2 {
        font-weight: 500;
        font-size: 16px;
        margin: 0 0 36px;
    }
    .footer_img3 {
        font-size: 0;
    }
    .footer_img3 a {
        display: inline-block;
        width: 100%;
        max-width: 275px;
    }
    .footer_line {
        position: absolute;
    	left: 50%;
    	bottom: 0;
    	transform: translateX(-50%);
    	-webkit-transform: translateX(-50%);
    	-ms-transform: translateX(-50%);
    	height: 9.5px;
    	width: 100%;
    	max-width: 1606px;
    	background: linear-gradient(-90deg, #B385B5 0%, #B385B5 11%, #CBB021 11%, #CBB021 18%, #84C170 18%, #84C170 43%, #CB4F27 43%, #CB4F27 61%, #5BB2D1 61%, #5BB2D1 74%, #D79A33 74%, #D79A33 100%);
    }
    
    
    .inview_fade {
        opacity: 0;
        transform: translateY(-30px);
        -webkit-transform: translateY(-30px);
        -ms-transform: translateY(-30px);
    }
    .inview_fade_on {
        animation: 2s inview_fade_anime;
        opacity: 1;
        transform: translateY(0);
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
    }
    @keyframes inview_fade_anime {
        0% {
            opacity: 0;
            transform: translateY(-30px);
            -webkit-transform: translateY(-30px);
            -ms-transform: translateY(-30px);
        }
        30% {
            opacity: 0;
            transform: translateY(-30px);
            -webkit-transform: translateY(-30px);
            -ms-transform: translateY(-30px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
            -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
        }
    }
    
    
    
    
    
    
    





















