@charset "utf-8";

/*note sans*/

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
/*roboto*/
@import url('https://fonts.googleapis.com/css?family=Roboto+Slab:400,700|Roboto:400,500,500i,700');

/* Noto Serif JP */
@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 600; /*SemiBold*/
    src: url('fonts/NotoSerifJP/NotoSerifJP-SemiBold.otf') format('opentype');
    font-display: swap;
}

body {
    font-family: 'Noto Sans JP', "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, sans-serif;
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 30px;
	color: #5f636e;
    background: #fff;
}
a,
a img {
    -webkit-transition: .2s;
    transition: .2s;
}
a:hover,
a:hover img {
    text-decoration: none;
}
img {
	vertical-align: bottom;}
section {
	clear: both;
	width: 100%;
}
#wrapper {overflow: hidden}
.wrapper {
	clear: both;
	position: relative;
}
.ff_notosansjp {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
}
.ff_roboto {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
}
.ff_robotoslab {
    font-family: 'Roboto Slab', serif;
}
.ff_mincho {
    font-family: "Noto Serif Japanese";
    font-weight: 600;
}

@media screen and (min-width: 768px) {
    .sp{display:none;}
    .pc{display:block;}
    html,body{min-width:1060px;}
    body {
        font-size: 1.4rem;
        line-height: 30px;
    }
    a:hover,
    a:hover img {
        text-decoration: none;
        opacity: 0.6;
        filter: alpha(opacity=60);
        -ms-filter: "alpha(opacity=60)";
    }
    .wrapper {
        width: 980px;
        margin-left: auto;
        margin-right: auto;
    }
    
}
@media screen and (max-width: 767px) {
    .sp{display:block;}
    .pc{display:none;}
    img {
        max-width: 100%;
        height: auto;
    }
    body {
        font-size: 13px;
        line-height: 24px;
    }
    .wrapper {
        padding-left: 6.67%;
        padding-right: 6.67%;
    }
}

/* ================================================
baseLayout
================================================ */
/* header
================================================ */
header {
    background: #fff;
    width: 100%;
}
header .logo img {width: 100%;}
@media screen and (min-width: 768px) {
    header {
        height: 95px;
    }
    header .logo {
        width: 512px;
        height: 256px;
        position: absolute;
        top: 0;
        left: -181px;
        z-index: 100;
    }
    header .logo:after {
        content: "";
        width: 0;
        height: 0;
        border: 256px solid transparent;
        border-top: 256px solid #fff;
        border-bottom: none;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
    header h1 {
        display: block;
        position: absolute;
        top: 18px;
        left: 0;
        right: 0;
        margin: auto;
        width: 147px;
        z-index: 101;
    }
    header .logo a {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 147px;
    }
    header nav {
        position: absolute;
        top: 25px;
        left: 245px;
        z-index: 200;
    }
    header ul {
        width: 645px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    header li {
        font-size: 12px;
        line-height: 1.3;
        text-align: center;
    }
    header li .en {
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        font-size: 18px;
    }
    header li .jp {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 500;
        display: block;
    }
    header li a {
        color: #3c3c44;
        display: block;
    }
    header .btn_contact {
        position: absolute;
        top: 0;
        right: 0;
    }
    header .btn_contact a {
        text-align: center;
        background: #3c3c44;
        width: 53px;
        height: 95px;
        padding-top: 34px;
    }
    header .btn_contact a img {
        width: 23px;
        vertical-align: top
    }
}
@media screen and (max-width: 767px) {
    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 55px;
        z-index: 100;
    }
    header .wrapper {padding: 0}
    header .logo {
        display: inline-block;
        padding-top: 10px;
        padding-left: 16px;
    }
    header .logo img {width: 148px;}
    header .btn_menu {
        background-color: #3c3c44;
        width: 50px;
        height: 55px;
        border: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        position: fixed;
        top: 0;
        right: 17px;
        z-index: 1001;
    }
    header .btn_menu img {width: 32px;}
    
        /* SP MENU*/
        html.fixed, body.fixed {
            overflow: hidden;
        }
        .drawer_bg {
            width: 100%;
            height: 100%;
            position: fixed;
            z-index: 999;
            background-color: rgba(51, 51, 51, 0.5);
            display: none;
            top: 0;
            left: 0;
        }
        .drawer_button {-webkit-transition: all .2s;transition: all .2s;opacity: 1}
        .drawer_button.active {-webkit-transition: all .2s;transition: all .2s;opacity: 0}
        .drawer_nav_wrapper {
            width: 100%;
            -webkit-transition: all .2s;
            transition: all .2s;
            position: fixed;
            top: 0;
            right: 0;
            z-index: 1000;
            display: none;
            opacity: 0
        }
        .drawer_nav_wrapper.open {
            display: block;
            opacity: 1
        }
        button {border: none;}
    
    header nav {
        width: 100%;
        padding: 38px 6.67% 23px;
        background: #f3f5f1;
    }
    header nav .btn_close {
        width: 23px;
        position: absolute;
        top: 10px;
        right: 33px;
    }
    header nav .btn_close img {width: 100%;}
    header nav ul {}
    header nav li {
        font-size: 14px;
        position: relative;
        border-bottom: solid 1px #dfe0e2;
    }
    header nav li:last-of-type {
        border-bottom: none;
    }
    header nav li a {
        color: #3c3c44;
        line-height: 48px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background-image: url(../images/common/header_nav_arrow_sp.png);
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 18px auto;
        padding-left: 4px;
    }
    header nav li .en {
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        font-size: 14px;
    }
    header nav li .jp {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 11px;
        margin-left: 14px
    }
    header .btn_contact {}
    header .btn_contact a {
        font-size: 15px;
        line-height: 49px;
        color: #fff;
        text-align: center;
        background: #3c3c44;
        display: block;
        border-radius: 3px;
    }
}

/* #main 
================================================ */
main {}
@media screen and (min-width: 768px) {
    main {
        background: #fff url(../images/common/main_bg.png) no-repeat center bottom;
    }
}
@media screen and (max-width: 767px) {
    main {
        padding-top: 55px;
        background: #fff url(../images/common/main_bg_sp.png) no-repeat center bottom;
        background-size: 100% auto;
    }
}

/* footer
================================================ */
footer {
	clear: both;
    color: #fff;
    background: #3c3c44;
    width: 100%;
}
@media screen and (min-width: 768px) {
    footer {
        clear: both;
        color: #fff;
        background: #3c3c44;
        width: 100%;
    }
    footer .footer_top {
        background: #4e4e55;
    }
    footer .footer_top ul {
        text-align: center;
        height: 58px;
    }
    footer .footer_top li {
        font-size: 13px;
        display: inline-block;
        position: relative;
        margin-right: 18px;
        margin-left: 18px;
    }
    footer .footer_top li:after {
        content: "";
        width: 1px;
        height: 15px;
        background: url(../images/common/footer_nav_line.png) no-repeat;
        background-size: 1px auto;
        position: absolute;
        right: -20px;
        top: 0;
        bottom: 0;
        margin: auto;
    }
    footer .footer_top li:last-child:after {
        content: none;
    }
    footer .footer_top li a {
        color: #fff;
        line-height: 58px
    }
    footer .footer_top li .en {
        display: none
    }
    footer .footer_top .pagetop {
        position: absolute;
        top: -71px;
        right: -40px;
    }
    .pagetop:hover {cursor: pointer}
    footer .footer_top .pagetop img {zoom: .5;}
    footer .footer_content {
        width: 626px;
        margin-left: auto;
        margin-right: auto;
    }
    footer .logo {
        padding-top: 40px;
        width: 226px;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 30px;
    }
    footer .logo img {
        width: 100%;
    }
    footer .footer_info { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
        padding: 17px 28px 20px;
        height: 100px;
        border-top: solid 1px #484848;
        border-bottom: solid 1px #484848;
    }
    footer .footer_info .box_address {
        font-size: 12px;
        line-height: 21px;
        letter-spacing: .08em;
    }
    footer .footer_info .box_contact {
        width: 188px;
    }
    footer .footer_info .tel {
        line-height: 1
    }
    footer .footer_info .tel img {
        width: 100%;
    }
    footer .footer_info .btn_contact {
        width: 188px;
        height: 28px;
        margin-top: 10px;
    }
    footer .footer_info .box_contact .btn_contact a {
        font-size: 12px;
        color: #fff;
        text-align: center;
        display: block;
        background: #4e4e56;
        border-radius: 2px;
    }
    footer .footer_bottom {
        font-size: 12px;
        position: relative;
        height: 68px;
        padding-top: 20px;
        padding-left: 148px;
    }
    footer .footer_bottom ul.list_sns { display: -webkit-box; display: -ms-flexbox; display: flex;
        position: absolute;
        top: 20px;
        left: 0;
    }
    footer .footer_bottom ul.list_sns li {
        margin-left: 0;
        margin-right: 10px;
    }
    footer .footer_bottom .link {
        position: absolute;
        top: 20px;
        left: 148px;
    }
    footer .footer_bottom .link a {
        color: #9d9da1;
        padding-left: 10px;
        background: url(../images/common/footer_link_arrow.png) no-repeat left center;
        background-size: 6px auto;
    }
    footer .copy {
        font-family: 'Roboto', sans-serif;
        font-weight: 400;
        font-style: normal;
        color: #9d9da1;
        text-align: right;
    }
}
@media screen and (max-width: 767px) {
    footer {
        clear: both;
        color: #fff;
        background: #3c3c44;
        width: 100%;
    }
    footer .footer_top {
        background: #4e4e55;
    }
    footer .footer_top ul {}
    footer .footer_top li {
        font-size: 14px;
        position: relative;
        border-bottom: solid 1px #3c3c44;
    }
    footer .footer_top li:after {
        content: "";
        position: absolute;
        }
    footer .footer_top li a {
        color: #fff;
        line-height: 58px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background-image: url(../images/common/footer_nav_arrow_sp.png);
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 18px auto;
        padding-left: 4px;
        padding-right: 20px;
    }
    footer li .en {
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        font-size: 14px;
    }
    footer li .jp {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 11px;
        margin-left: 14px
    }
    footer .footer_top .pagetop {
        text-align: center;
    }
    footer .footer_content {
        padding-left: 6.67%;
        padding-right: 6.67%;
    }
    footer .logo {
        padding-top: 30px;
        width: 175px;
        margin-left: auto;
        margin-right: auto;
        padding-bottom: 30px;
    }
    footer .logo img {width: 100%;}
    footer .footer_info {
        padding: 7px 0px 12px;
        border-top: solid .5px #484848;
        border-bottom: solid .5px #484848;
        margin-bottom: 24px;
    }
    footer .footer_info .box_address {
        font-size: 10.5px;
        line-height: 18px;
        text-align: center;
        letter-spacing: .08em;
        margin-bottom: 8px;
    }
    footer .footer_info .box_contact {
        width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
    }
    footer .footer_info .tel {
        width: 46%;
        max-width: 300px;
    }
    footer .footer_info .tel img {width: 100%;}
    footer .footer_info .btn_contact {
        width: 46%;
        max-width: 298px;
    }
    footer .footer_info .box_contact .btn_contact a {
        font-size: 12px;
        line-height: 31px;
        color: #fff;
        text-align: center;
        display: block;
        background: #4e4e56;
        border-radius: 2px;
    }
    footer .footer_bottom {
        font-size: 10.5px;
        padding-bottom: 12px;
    }
    footer .footer_bottom ul.list_sns li a {
        background-color: #4e4e56;
    }
    footer .footer_bottom .link {
        text-align: center;
        margin-top: 20px;
        margin-bottom: 12px;
    }
    footer .footer_bottom .link a {
        color: #9d9da1;
        padding-left: 10px;
        background: url(../images/common/footer_link_arrow.png) no-repeat left center;
        background-size: 6px auto;
    }
    footer .copy {
        font-family: 'Roboto', sans-serif;
        font-weight: 400;
        font-style: normal;
        color: #9d9da1;
        text-align: center;
    }
}


/* ================================================
common
================================================ */
/* テキスト・レイアウト */
.center{text-align: center}
.ta_right{text-align: right}
.ta_left{text-align: left}
.clear {clear: both}
.f_right {float: right;}
.f_left {float: left;}
 /*フェードイン*/
.fadein {
    -webkit-transition: 1s;
    transition: 1s;
	opacity: 0;
    -webkit-transform: translate(0,20px);
    transform: translate(0,20px);
}
.show {
	opacity: 1.0;
	-webkit-transform: translate(0,0) !important;
	transform: translate(0,0) !important;
}
@media screen and (min-width: 768px) {}
@media screen and (max-width: 767px) {
    .fadein {-webkit-transform: translate(0,10px);transform: translate(0,10px);}
}

ul.list_sns {}
@media screen and (min-width: 768px) {}
@media screen and (max-width: 767px) {
    ul.list_sns { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
    }
    ul.list_sns li {
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        font-size: 11px;
        width: 32%;
    }
    ul.list_sns li img {
        display: none
    }
    ul.list_sns li a {
        display: block;
        color: #fff;
        text-align: center;
        background: #3c3c44;
        border-radius: 3px;
        padding-top: 26px;
        height: 55px;
        background-repeat: no-repeat;
        background-position: center 10px;
        background-size: 15px auto;
    }
    ul.list_sns li.sns_insta a {background-image: url(../images/common/sns_insta_sp.png)}
    ul.list_sns li.sns_fb a {background-image: url(../images/common/sns_fb_sp.png)}
    ul.list_sns li.sns_tw a {background-image: url(../images/common/sns_tw_sp.png)}
}

@media screen and (min-width: 768px) {
    #loopslider {
        width: 100%;
        height: 518px;
        position: relative;
        overflow: hidden;
    }
    #loopslider ul {
        height: 518px;
        display: inline;
        overflow: hidden;
        text-align: center;
    }
    #loopslider ul li {
        width: 4000px;
        height: 518px;
        float: left;
        display: inline;
        overflow: hidden;
    }
    #loopslider ul li img {
        width: 100%;
    }
    .visual {
        position: relative;
    }
}

.txt_color {
    color: #3c3c44;
}
.page_title {
    color: #fff;
    text-align: center;
}
.page_title h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.page_title .en {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
}
.page_title .jp {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
}
@media screen and (min-width: 768px) {
    .page_title {
        background: url(../images/common/title_bg.jpg) no-repeat center center;
        background-size: 2640px auto;
    }
    .page_title h2 {
        height: 115px;
    }
    .page_title .en {
        font-size: 30px;
    }
    .page_title .jp {
        font-size: 16px;
        margin-left: 28px
    }
}
@media screen and (max-width: 767px) {
    .page_title {
        background: url(../images/common/title_bg_sp.jpg) no-repeat center center;
        background-size: cover;
        height: 62px;
    }
    .page_title h2 {
        height: 62px;
    }
    .page_title .en {
        font-size: 19px;
    }
    .page_title .jp {
        font-size: 12px;
        margin-left: 14px
    }
}

/* お問い合わせ・体験パーソナルトレーニングのお申し込み */
.contact_block {}
.contact_block .head {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    color: #3c3c44;
}
.contact_block .btn a {
    color: #fff;
    text-align: center;
    display: block;
    background: #3c3c44;
    border-radius: 3px;
}
.contact_block .tel img {width: 100%;}
@media screen and (min-width: 768px) {
    .contact_block {
        background-image: url(../images/common/contact_block_bg.png), url(../images/common/contact_block_bg.png);
        background-repeat: no-repeat, no-repeat;
        background-position: center top, center bottom;
        background-size: 100% auto, 100% auto;
        width: 700px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 40px;
        padding-bottom: 50px;
    }
    .contact_block .head {
        font-size: 25px;
        text-align: center;
        margin-bottom: 24px;
    }
    .contact_block .txt_box {
        font-size: 13px;
        line-height: 32.5px;
        text-align: center;
        background: #f2f5f7;
        width: 634px;
        margin-left: auto;
        margin-right: auto;
        padding: 10px 35px 20px;
        margin-bottom: 22px;
        border-radius: 3px;
    }
    .contact_block .note {
        position: relative;
        background-image: linear-gradient(to right, #f2f5f7 2px, transparent 1px), linear-gradient(to bottom, #5f636e 1px, transparent 1px);
        background-size: 3px 32.5px;
        line-height: 32.5px;
        padding-bottom: 0.1em;
    }
    .contact_block .note:before {
        content: "";
        width: 100%;
        height: 3px;
        position: absolute;
        top: -1px;
        left: 0;
        background: #f2f5f7;
    }
    .contact_block .box_contact {
        width: 630px;
        margin-left: auto;
        margin-right: auto;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;
    }
    .contact_block .tel {
        width: 308px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .contact_block .btn {
        width: 292px;
        height: 28px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .contact_block .btn a {
        font-size: 18px;
        line-height: 46px;
    }
}
@media screen and (max-width: 767px) {
    .contact_block {
        background-image: url(../images/common/contact_block_bg_sp.png), url(../images/common/contact_block_bg_sp.png);
        background-repeat: no-repeat, no-repeat;
        background-position: center top, center bottom;
        background-size: 100% auto, 100% auto;
        padding-top: 17px;
        padding-bottom: 26px;
    }
    .contact_block .head {
        font-size: 20.5px;
        line-height: 30px;
        text-align: center;
        margin-bottom: 13px;
    }
    .contact_block .txt_box {
        font-size: 12px;
        line-height: 31px;
        text-align: left;
        background: #f2f5f7;
        padding: 6px 15px 20px;
        margin-bottom: 18px;
        border-radius: 3px;
    }
    .contact_block .note {
        position: relative;
        background-image: linear-gradient(to right, #f2f5f7 2px, transparent 1px), linear-gradient(to bottom, #5f636e 1px, transparent 1px);
        background-size: 3px 31px;
        line-height: 31px;
        padding-bottom: 0.1em;
    }
    .contact_block .note:before {
        content: "";
        width: 100%;
        height: 3px;
        position: absolute;
        top: -1px;
        left: 0;
        background: #f2f5f7;
    }
    .contact_block .tel {
        width: 200px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 16px;
    }
    .contact_block .btn {}
    .contact_block .btn a {
        font-size: 15px;
        line-height: 52px;
    }
}


/* ================================================
home
================================================ */
.home_sec1 {
    position: relative;
    overflow: hidden;
}
.home_sec1 .head {
    font-family: "Noto Serif Japanese";
    color: #3c3c44;
}
.home_sec2 {
    color: #fff;
    background-color: #3c3c44;
}
.home_sec2 .head {
    font-family: "Noto Serif Japanese";
    text-align: center;
}
.home_sec2 .box:before {
    content: "00";
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 17px;
    text-align: center;
    position: absolute;
    top: 48px;
    left: 0;
    right: 0;
    margin: auto;
}
.home_sec2 .box:nth-child(1):before {content: "01";}
.home_sec2 .box:nth-child(2):before {content: "02";}
.home_sec2 .box:nth-child(3):before {content: "03";}
.home_sec2 img {width: 100%}
@media screen and (min-width: 768px) {
    #loopslider {
        width: 100%;
        height: 518px;
        position: relative;
        overflow: hidden;
    }
    #loopslider ul {
        height: 518px;
        display: inline;
        overflow: hidden;
        text-align: center;
    }
    #loopslider ul li {
        width: 4000px;
        height: 518px;
        float: left;
        display: inline;
        overflow: hidden;
    }
    #loopslider ul li img {
        width: 100%;
    }
    .visual {
        background: url(../images/home/main_bg2@2x.jpg) repeat-x center top;
        background-size: 4000px auto;
        height: 518px;
        position: relative;
    }
    .visual .title {
        width: 576px;
        position: absolute;
        top: 207px;
        left: 0;
        right: 0;
        margin: auto;
        z-index: 100;
    }
    .visual .title img {
        width: 100%;
    }
    .home_sec1 {
        background:-webkit-gradient(linear,left top, right top,from(#fff),color-stop(50%, #fff),color-stop(50%, #f3f5f1),to(#f3f5f1));
        background:linear-gradient(90deg,#fff 0%,#fff 50%,#f3f5f1 50%,#f3f5f1 100%);
    }
    .home_sec1:before {
        content: "";
        width: 0;
        height: 0;
        border: 330px solid transparent;
        border-top: 330px solid #fff;
        border-left: 330px solid #fff;
        position: absolute;
        top: 0;
        left: 50%;
        z-index: 1;
    }
    .home_sec1 .wrapper {
        padding-top: 50px;
        padding-bottom: 67px;
        z-index: 10;
    }
    .home_sec1 .head {
        font-size: 22px;
        line-height: 39px;
        margin-bottom: 20px;
    }
    .home_sec2 {
        background: #3c3c44 url(../images/home/sec2_bg.png) no-repeat center top;
        background-size: contain;
        min-height: 442px;
        padding-bottom: 30px;
    }
    .home_sec2 .man {
        width: 290px;
        height: 663px;
        position: absolute;
        top: -645px;
        right: -80px;
        z-index: 100;
    }
    .home_sec2 .box_wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .home_sec2 .box {
        font-size: 13px;
        line-height: 20px;
        max-width: 31.42%;
        background: url(../images/home/sec2_box_bg.png) no-repeat center top;
        background-size: 233px auto;
        padding-top: 82px;
        position: relative;
    }
    .home_sec2 .box:before {
        font-size: 17px;
        background: url(../images/home/sec2_num_bg.png) repeat-y center center;
        background-size: 75px auto;
        top: 48px;
        padding: 2px 0;
    }
    .home_sec2 .box .head {
        font-size: 17px;
        margin-bottom: 24px
    }
    .home_sec2 .box .img {
        margin-bottom: 5px
    }
}
@media screen and (max-width: 767px) {
    .home_sec1 {
        background: #fff url(../images/home/sec1_bg_sp.png) no-repeat center bottom;
        background-size: 100% auto;
        text-align: center;
    }
    .home_sec1 .wrapper {
        padding-top: 7px;
        padding-bottom: 36px;
        z-index: 10;
    }
    .home_sec1 .head {
        font-size: 17px;
        line-height: 32px;
        margin-bottom: 15px;
    }
    .home_sec2 {
        background: #3c3c44 url(../images/home/sec2_bg_sp.png) no-repeat center bottom;
        background-size: 100% auto;
        padding-bottom: 22px;
    }
    .home_sec2 .man {
        display: none
    }
    .home_sec2 .box_wrap {}
    .home_sec2 .box {
        font-size: 13px;
        line-height: 20px;
        width: 100%;
        background: url(../images/home/sec2_box_bg_sp.png) no-repeat center top;
        background-size: 176px auto;
        padding-top: 56px;
        margin-bottom: 15px;
        position: relative;
    }
    .home_sec2 .box:before {
        font-size: 17px;
        background: url(../images/home/sec2_num_bg_sp.png) repeat-y center center;
        background-size: 82px auto;
        top: 20px;
        padding: 3px 0;
    }
    .home_sec2 .box .head {
        font-size: 16px;
        margin-bottom: 18px
    }
    .home_sec2 .box .img {
        margin-bottom: 5px
    }
}

.home_sec3 {
    background-color: #fff;
}
.home_sec3 img {width: 100%}
.home_sec3 .box {
    position: relative;
}
.home_sec3 .head {
    font-family: 'Noto Serif Japanese';
    color: #3c3c44;
}
.home_sec3 .btn {}
.home_sec3 .btn a,
.home_sec4 .btn a {
    display: block;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    color: #fff;
    background-color: #a48f63;
}
.home_sec4 .btn a {
    background-color: #3c3c44;
}
.home_sec3 .btn a .jp,
.home_sec4 .btn a .jp {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
}
.home_sec4 {}
.home_sec4 .head {
    font-family: 'Noto Serif Japanese';
    color: #3c3c44;
}
@media screen and (min-width: 768px) {
    .home_sec3 {
        background-image: url(../images/home/sec3_bg_top.png), url(../images/home/sec3_bg_bottom.png);
        background-repeat: no-repeat, no-repeat;
        background-position: center top, center bottom;
        padding-top: 72px;
        padding-bottom: 85px;
    }
    .home_sec3 .box {}
    .home_sec3 .box .head {
        font-size: 22px;
        line-height: 39px;
        margin-bottom: 48px;
        position: relative;
    }
    .home_sec3 .box .head:after {
        content: "";
        width: 600px;
        height: 1px;
        background-color: #efeff0;
        position: absolute;
        bottom: -22px;
    }
    .home_sec3 .box .img {
        width: 440px;
    }
    .home_sec3 .btn,
    .home_sec4 .btn {
        width: 273px;
        margin-top: 30px;
    }
    .home_sec3 .btn a,
    .home_sec4 .btn a {
        font-size: 18px;
        line-height: 1;
        background-image: url(../images/home/sec3_btn_arrow.png);
        background-repeat: no-repeat;
        background-size: 32px auto;
        background-position: 232px center;
        padding: 13px 50px 13px 22px;
        /*20180424  display: flex;*/
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        position: relative;
    }
    .home_sec3 .btn a .jp,
    .home_sec4 .btn a .jp {
        font-size: 13px;
        margin-left: 12px;
        position: absolute;
        top: 15px;
    }
    .home_sec3 .box.odd {
        padding-right: 540px;
        margin-bottom: 96px;
    }
    .home_sec3 .box.odd .head:after {
        position: absolute;
        left: -38px;
    }
    .home_sec3 .box.odd .img {
        position: absolute;
        top: 10px;
        right: 0;
    }
    .home_sec3 .box.even {
        padding-left: 540px;
    }
    .home_sec3 .box.even .head:after {
        position: absolute;
        right: -40px;
    }
    .home_sec3 .box.even .img {
        position: absolute;
        top: 10px;
        left: 0;
    }
    .home_sec4 {
        background:-webkit-gradient(linear,left top, right top,from(#3c3c44),color-stop(50%, #3c3c44),color-stop(50%, #f3f5f1),to(#f3f5f1));
        background:linear-gradient(90deg,#3c3c44 0%,#3c3c44 50%,#f3f5f1 50%,#f3f5f1 100%);
    }
    .home_sec4_wrap {
        background: url(../images/home/sec4_bg.png) no-repeat center center;
        height: 440px;
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .home_sec4_wrap .wrapper {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;
    }
    .home_sec4_wrap .wrapper > div {
        width: 50%;
    }
    .home_sec4 .box_map {
        padding-right: 50px;
    }
    .home_sec4 .box_info {
        padding-left: 50px;
    }
    .home_sec4 .box_info .head {
        font-size: 22px;
        line-height: 39px;
        border-top: solid 1px #3c3c44;
        padding-top: 5px;
        padding-bottom: 5px;
        border-bottom: solid 1px #3c3c44;
        margin-bottom: 30px;
    }
    .home_sec4 .box_info dl {}
    .home_sec4 .box_info dt {
        color: #fff;
        line-height: 24px;
        text-align: center;
        background-color: #3c3c44;
        width: 79px;
        margin-bottom: 5px;
    }
    .home_sec4 .box_info dd {
        line-height: 25px;
        margin-bottom: 12px;
    }
    .home_sec5 {
        padding-top: 100px;
        margin-bottom: 120px;
    }
}
@media screen and (max-width: 767px) {
    .home_sec3 {
        background-image: url(../images/home/sec3_bg_top_sp.png), url(../images/home/sec3_bg_bottom_sp.png);
        background-repeat: no-repeat, no-repeat;
        background-position: center top, center bottom;
        background-size: 100% auto, 100% auto;
        padding-top: 32px;
        padding-bottom: 6px;
    }
    .home_sec3 .box {
        margin-bottom: 34px
    }
    .home_sec3 .head {
        font-size: 17px;
        line-height: 32px;
        text-align: center;
        margin-bottom: 20px;
        position: relative;
    }
    .home_sec3 .box .img {
        margin-bottom: 7px
    }
    .home_sec3 .btn,
    .home_sec4 .btn {
        width: 100%;
        margin-top: 22px;
    }
    .home_sec3 .btn a,
    .home_sec4 .btn a {
        font-size: 19px;
        line-height: 1;
        background-image: url(../images/home/sec3_btn_arrow_sp.png);
        background-repeat: no-repeat;
        background-size: 55px auto;
        background-position: right center;
        padding: 17px 60px 17px 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .home_sec3 .btn a .jp,
    .home_sec4 .btn a .jp {
        font-size: 13px;
        margin-left: 20px;
    }
    .home_sec4 {}
    .home_sec4_wrap .wrapper {
        padding: 0;
    }
    .home_sec4 .box_map {
        background: url(../images/home/sec4_bg_sp.jpg) no-repeat center center;
        background-size: cover;
        padding: 38px 6.67%;
    }
    .gmap {
        position: relative;
        padding-bottom: 56.25%;
        padding-top: 54px;
        height: 0;
        overflow: hidden;}
    .gmap iframe, .ggmap object, .ggmap embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .home_sec4 .box_info {
        text-align: center;
        background-color: #f3f5f1;
        padding: 38px 6.67%;
    }
    .home_sec4 .box_info .head {
        font-size: 18px;
        line-height: 1.1;
        border-top: solid .5px #3c3c44;
        padding-top: 10px;
        padding-bottom: 10px;
        border-bottom: solid .5px #3c3c44;
        margin-bottom: 26px;
    }
    .home_sec4 .box_info dl {}
    .home_sec4 .box_info dt {
        color: #fff;
        line-height: 22px;
        text-align: center;
        background-color: #3c3c44;
        display: inline-block;
        min-width: 86px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 6px;
    }
    .home_sec4 .box_info dd {
        line-height: 24px;
        margin-bottom: 20px;
    }
    .home_sec5 {
        padding-top: 37px;
        margin-bottom: 56px;
    }
}
.home_sec6 .head,
.home_sec7 .head {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    color: #3c3c44;
    text-align: center;
    letter-spacing: .12em;
}
.home_sec6 .btn a {
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    color: #fff;
    text-align: center;
    display: block;
    background: #3c3c44;
}
@media screen and (min-width: 768px) {
    .home_sec6 {
        margin-bottom: 125px;
    }
    .home_sec6 .head {
        font-size: 32px;
        margin-bottom: 52px;
    }
	/* 20180425 修正 */
    .home_sec6 .box_wrap {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .home_sec6 .box {
        font-size: 13px;
        line-height: 21px;
        max-width: 31.4%;
        margin-bottom: 40px;
        margin-right: 2.8%;
    }
	.home_sec6 .box:nth-child(3n+3) {
		margin-right: 0;
	}
	/* END 20180425 修正 */
    .home_sec6 .box .img {
        position: relative;
		height: 232px;
    }
    .home_sec6 .box .img:before {
        content: "";
        width: 0;
        height: 0;
        border: 20px solid transparent;
        border-top: 20px solid #e0e9f0;
        border-left: 20px solid #e0e9f0;
        position: absolute;
        top: -7px;
        left: -7px;
        z-index: 1;
    }
    .home_sec6 .box .img:after {
        content: "";
        width: 0;
        height: 0;
        border: 20px solid transparent;
        border-bottom: 20px solid #e0e9f0;
        border-right: 20px solid #e0e9f0;
        position: absolute;
        bottom: -7px;
        right: -7px;
        z-index: 1;
    }
    .home_sec6 .box img {
        width: 100%;
		height: 233px;
        position: relative;
        z-index: 10;
    }
    .home_sec6 .date {
        font-family: 'Roboto Slab', serif;
        font-weight: 700;
        font-size: 13px;
        color: #a48f63;
        margin-top: 3px;
    }
    .home_sec6 .btn {
        width: 200px;
        margin-left: auto;
        margin-right: auto;
    }
    .home_sec6 .btn a {
        font-size: 16px;
        line-height: 44px;
    }
    .home_sec7 {
/*        padding-bottom: 210px;*/
        padding-bottom: 20px;
    }
    .home_sec7 .head {
        font-size: 32px;
        margin-bottom: 60px;
    }
    .home_sec7 .sns_wrap {
        margin-bottom: 42px;
    }
    ul.list_sns {
        text-align: center;
    }
    ul.list_sns li {
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        display: inline-block;
        margin-left: 18px;
        margin-right: 18px;
    }
    ul.list_sns li img {
        width: 30px;
        margin-right: 5px;
    }
    ul.list_sns li a {
        color: #3c3c44;
    }
}
@media screen and (max-width: 767px) {
    .home_sec6 {
        margin-bottom: 70px;
    }
    .home_sec6 .head,
    .home_sec7 .head {
        font-size: 23.5px;
        margin-bottom: 38px;
    }
    .home_sec6 .box_wrap {}
    .home_sec6 .box {
        font-size: 12px;
        line-height: 21px;
        width: 100%;
        margin-bottom: 30px;
    }
    .home_sec6 .box .img {
        position: relative;
    }
    .home_sec6 .box .img:before {
        content: "";
        width: 0;
        height: 0;
        border: 20px solid transparent;
        border-top: 20px solid #e0e9f0;
        border-left: 20px solid #e0e9f0;
        position: absolute;
        top: -7px;
        left: -7px;
        z-index: 1;
    }
    .home_sec6 .box .img:after {
        content: "";
        width: 0;
        height: 0;
        border: 20px solid transparent;
        border-bottom: 20px solid #e0e9f0;
        border-right: 20px solid #e0e9f0;
        position: absolute;
        bottom: -7px;
        right: -7px;
        z-index: 1;
    }
    .home_sec6 .box img {
        width: 100%;
        position: relative;
        z-index: 10;
    }
    .home_sec6 .date {
        font-family: 'Roboto Slab', serif;
        font-weight: 400;
        font-size: 12px;
        color: #a48f63;
        margin-top: 5px;
    }
    .home_sec6 .btn a {
        font-size: 19px;
        line-height: 55px;
    }
    .home_sec7 {
/*        padding-bottom: 64px;*/
         padding-bottom: 20px;
    }
    .home_sec7 .sns_wrap {
        margin-bottom: 20px;
    }
    ul.list_sns { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
    }
    ul.list_sns li {
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        font-size: 11px;
        width: 32%;
    }
    ul.list_sns li img {
        display: none
    }
    ul.list_sns li a {
        display: block;
        color: #fff;
        text-align: center;
        background: #3c3c44;
        border-radius: 3px;
        padding-top: 26px;
        height: 55px;
        background-repeat: no-repeat;
        background-position: center 10px;
        background-size: 15px auto;
    }
    ul.list_sns li.sns_insta a {background-image: url(../images/common/sns_insta_sp.png)}
    ul.list_sns li.sns_fb a {background-image: url(../images/common/sns_fb_sp.png)}
    ul.list_sns li.sns_tw a {background-image: url(../images/common/sns_tw_sp.png)}
}


/* ================================================
about
================================================ */
.about_sec1 {}
.about_sec1 .head {
    font-family: "Noto Serif Japanese";
    color: #3c3c44;
    text-align: center;
}
.about_sec1 .box_img img {width: 100%}
.about_sec2 .staff_head {
    color: #3c3c44;
}
.about_sec2 .head {
    font-weight: 700;
    color: #fff;
    text-align: center;
    background: -webkit-gradient(linear, left top, right top, from(rgba(60,60,68,0)),color-stop(13%, #3c3c44),color-stop(87%, #3c3c44),to(rgba(60,60,68,0)));
    background: linear-gradient(to right, rgba(60,60,68,0) 0%,#3c3c44 13%,#3c3c44 87%,rgba(60,60,68,0) 100%);
    margin-left: auto;
    margin-right: auto;
}
.about_sec2 .staff_head .txt_name {
    font-family: "Noto Serif Japanese";
}
.about_sec2 .info_head {
    font-family: "Noto Serif Japanese";
}
@media screen and (min-width: 768px) {
    .about_sec1 {
        background: url(../images/about/sec1_bg.png) no-repeat center top;
        padding-top: 87px
    }
    .about_sec1 .head {
        font-size: 22px;
        line-height: 39px;
        margin-bottom: 55px
    }
    .about_sec1 .box_wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    .about_sec1 .box_img ,
    .about_sec1 .box_txt {width: 440px}
    .about_sec1 p {margin-bottom: 30px}
    .about_sec1 p:last-of-type {margin-bottom: 0}
    .about_sec1 .txt {
        font-size: 18px;
        color: #3c3c44;
    }
    .about_sec2 {
        position: relative;
        margin-top: 107px;
        margin-bottom: 43px;
    }
    .about_sec2:before {
        content: '';
        position: absolute;
        top: 290px; /*調整*/
        left: -20%; /*140%*/
        width: 140%; /*fullsize*/
        height: 80%; /*調整*/
        background: #f3f5f1;
        -webkit-transform: rotate(-11.8deg);
        transform: rotate(-11.8deg);
    }
    .about_sec2_inner {
        width: 100%;
        height: 100%;
        margin: 0 auto;
        padding-bottom: 42px
    }
    .about_sec2 .head {
        font-size: 22px;
        line-height: 50px;
        width: 255px;
        margin-bottom: 65px
    }
    .about_sec2 .staff_block {
        padding-left: 440px;
        min-height: 682px;
        position: relative;
    }
    .about_sec2 .staff_head {
        border-top: solid 2px #3c3c44;
        padding-top: 13px;
        padding-bottom: 13px;
        border-bottom: solid 2px #3c3c44;
        margin-bottom: 33px;
    }
    .about_sec2 .staff_head .txt_post {
        font-size: 18px;
        margin-bottom: 6px;
    }
    .about_sec2 .staff_head .txt_name {}
    .about_sec2 .staff_head .txt_name .jp {font-size: 22px}
    .about_sec2 .staff_head .txt_name .en {
        font-size: 17px;
        margin-left: 10px
    }
    .about_sec2 .staff_block .box_img {
        position: relative;
    }
    .about_sec2 .staff_block .man {
        width: 290px;
        height: 663px;
        position: absolute;
        top: -142px;
        left: -370px;
        z-index: 10;
    }
    .about_sec2 .man img {width: 100%}
    .about_sec2 .info_block {
        position: relative;
        background-color: #fff;
        border-top: solid 2px #3c3c44;
        padding: 0px 50px 52px;
        margin-bottom: 42px;
        z-index: 10;
    }
    .about_sec2 .info_block:last-of-type {margin-bottom: 0;}
    .about_sec2 .info_block:after {
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 12px;
        background: url(../images/common/pagecurl_shadow.png) no-repeat center top;
        background-size: 100% 100%;
    }
    .about_sec2 .info_block .info_head {
        font-size: 20px;
        color: #fff;
        text-align: center;
        width: 232px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 18px;
        margin-bottom: 34px;
        position: relative;
    }
    .about_sec2 .info_block .info_head:after {
        content: "";
        width: 0;
        height: 0;
        border: 116px solid transparent;
        border-top: 94px solid #3c3c44;
        position: absolute;
        top: -1px;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1
    }
    .about_sec2 .info_block ul {}
    .about_sec2 .info_block li {
        background: url(../images/common/list_icon_diamond.png) no-repeat left 15px;
        background-size: 10px auto;
        padding: 5px 0px 6px 18px;
        border-bottom: solid 1px #e8e8e8;
        position: relative;
    }
    .about_sec3 {padding-bottom: 413px}
}
@media screen and (max-width: 767px) {
    .about_sec1 {
        background: url(../images/about/sec1_bg_sp.png) no-repeat center top;
        background-size: contain;
        padding-top: 22px;
        margin-bottom: 53px;
    }
    .about_sec1 .head {
        font-size: 17px;
        line-height: 32px;
        margin-bottom: 20px
    }
    .about_sec1 .box_img {margin-bottom: 8px}
    .about_sec1 .box_txt {}
    .about_sec1 .box_txt p {margin-bottom: 25px}
    .about_sec1 .box_txt p:last-of-type {margin-bottom: 0}
    .about_sec1 .txt {
        font-size: 14px;
        line-height: 26px;
        color: #3c3c44;
    }
    .about_sec2 {
        background-color: #f3f5f1;
        background-image: url(../images/about/sec2_bg_top_sp.png), url(../images/about/sec2_bg_bottom_sp.png);
        background-position: center top, center bottom;
        background-size: contain, contain;
        background-repeat: no-repeat, no-repeat;
        padding-bottom: 60px;
    }
    .about_sec2 .head {
        font-size: 15px;
        line-height: 34px;
        width: 175px;
        margin-bottom: 28px
    }
    .about_sec2 .staff_block {
        position: relative;
        margin-bottom: 30px;
    }
    .about_sec2 .staff_head {
        letter-spacing: -.01em;
        text-align: center;
        border-top: solid 1px #3c3c44;
        padding-top: 9px;
        padding-bottom: 9px;
        border-bottom: solid 1px #3c3c44;
        margin-bottom: 24px;
    }
    .about_sec2 .staff_head .txt_post {
        font-size: 13px;
    }
    .about_sec2 .staff_head .txt_name {}
    .about_sec2 .staff_head .txt_name .jp {font-size: 17px}
    .about_sec2 .staff_head .txt_name .en {
        font-size: 12px;
        margin-left: 10px
    }
    .about_sec2 .staff_block .box_img {
        padding-left: 34%;
        min-height: 342px;
        position: relative;
    }
    .about_sec2 .staff_block .man {
        width: 150px;
        position: absolute;
        top: -4px;
        left: -15px;
        z-index: 10;
    }
    .about_sec2 .man img {width: 100%}
    .about_sec2 .info_block {
        position: relative;
        background-color: #fff;
        border-top: solid 2px #3c3c44;
        padding: 0px 15px 25px;
        margin-bottom: 28px;
        z-index: 10;
    }
    .about_sec2 .info_block:last-of-type {margin-bottom: 0;}
    .about_sec2 .info_block:after {
        content: "";
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 7px;
        background: url(../images/common/pagecurl_shadow_sp.png) no-repeat center top;
        background-size: 100% 100%;
    }
    .about_sec2 .info_block .info_head {
        font-size: 15px;
        color: #fff;
        text-align: center;
        width: 170px;
        margin-left: auto;
        margin-right: auto;
        padding-top: 12px;
        margin-bottom: 32px;
    }
    .about_sec2 .info_block .info_head:after {
        content: "";
        width: 0;
        height: 0;
        border: 85px solid transparent;
        border-top: 70px solid #3c3c44;
        border-bottom: none;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1
    }
    .about_sec2 .info_block ul {}
    .about_sec2 .info_block li {
        font-size: 12px;
        line-height: 20px;
        background: url(../images/common/list_icon_diamond.png) no-repeat left 14px;
        background-size: 7px auto;
        padding: 7px 0px 7px 12px;
        border-bottom: solid .5px #e8e8e8;
    }
    .about_sec3 {padding-bottom: 100px}
}

/* ================================================
flow
================================================ */
.flow_sec1 {}
.flow_sec1 ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
}
.flow_sec1 ul a {
    font-weight: 700;
    color: #fff;
    letter-spacing: .1em;
    text-align: center;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.flow_sec1 ul li:first-child a {
    background: url(../images/flow/admission_btn.png) no-repeat;
    background-size: contain;
}
.flow_sec1 ul li:last-child a {
    background: url(../images/flow/session_btn.png) no-repeat;
    background-size: contain;
}
.flow_sec2 {
    background-color: #f2f6f7;
}
.flow_sec2 .head {
    font-weight: 700;
    color: #3c3c44;
    text-align: center;
}
.flow_sec3 {
    background-color: #f8f9fa;
}
.flow_sec3 .head {
    font-weight: 700;
    color: #3c3c44;
    text-align: center;
}
.flow_area article {
    position: relative;
    background-color: #fff;
}
.flow_area article:before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}
.flow_area article:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
}
.flow_area article:last-of-type {
	margin-bottom: 0;
}
.flow_area article:last-of-type:before {content: none;}
.flow_area article .ttl {
    font-weight: 700;
    color: #fff;
    background-color: #388480;
}
.flow_sec3 .flow_area article .ttl {
    font-weight: 700;
    color: #fff;
    background-color: #48617f;
}
.flow_area article .ttl::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    border-style: solid;
    border-color: transparent;
    border-right-color: #649f9b;
}
.flow_sec3 .flow_area article .ttl::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    border-style: solid;
    border-color: transparent;
    border-right-color: #70849b;
}
.flow_area article .ttl::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    border-style: solid;
    border-color: transparent;
    border-right-color: #fff;
}
.flow_area article .ttl .num {
    font-family: 'Roboto';
    font-weight: 500;
    font-style: italic;
}
.flow_area article .img img {width: 100%;}
.flow_area article .btn {
    display: block;
    font-family: 'Roboto';
    font-weight: 500;
    line-height: 1;
}
.flow_area article .btn a {
    color: #388480;
    background-color: #fff;border: solid 1px #388480;
    width: 100%;
    line-height: 42px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}
.flow_area article .btn a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    color: #fff;
    background-color: #388480;
}
.flow_sec3 .flow_area article .btn a {
    color: #48617f;
    background-color: #fff;border: solid 1px #48617f;
    width: 100%;
    line-height: 42px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}
.flow_sec3 .flow_area article .btn a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    color: #fff;
    background-color: #48617f;
}
.flow_area article .btn a .jp {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

@media screen and (min-width: 768px) {
    a.rotation {
        transition: all 1s ease;
        -webkit-transition: all 1s ease;
    }
    a.rotation:hover {
        transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        opacity:1;filter:alpha(opacity=100);-ms-filter:"alpha(opacity=100)";
    }
    .flow_sec1 {
        background-color: #fff;
        background-image: url(../images/flow/sec1_bg_top.png), url(../images/flow/sec1_bg_bottom.png);
        background-repeat: no-repeat, no-repeat;
        background-position: center top, center bottom;
        padding-top: 74px;
        padding-bottom: 62px;
    }
    .flow_sec1 ul {
        width: 480px;
        margin-left: auto;
        margin-right: auto;
    }
    .flow_sec1 li {
        font-size: 15.56px;
        width: 215px;
        height: 215px;
    }
    .flow_sec2 {
        padding-top: 65px;
        padding-bottom: 65px;
    }
    .flow_sec2 .head {
        font-size: 25px;
        margin-bottom: 62px;
    }
	 .flow_sec3 {
        padding-top: 65px;
        padding-bottom: 65px;
    }
    .flow_sec3 .head {
        font-size: 25px;
        margin-bottom: 62px;
    }
    .flow_area article {
        margin-left: 12px;
        margin-bottom: 57px;
		/* 以下のpadding-bottomで縦幅調整(PC) */
        padding: 108px 380px 20px 34px;
        min-height: 260px;
    }
    .flow_area article:before {
        bottom: -50px;
        border: 12px solid transparent;
        border-top: 16px solid #388480;
    }
    .flow_area article:after {
        height: 13px;
        background: url(../images/common/pagecurl_shadow.png) no-repeat center top;
        background-size: 100% 100%;
    }
	 .flow_sec3 .flow_area article:before {
        bottom: -50px;
        border: 12px solid transparent;
        border-top: 16px solid #48617f;
    }
    .flow_area article:after {
        height: 13px;
        background: url(../images/common/pagecurl_shadow.png) no-repeat center top;
        background-size: 100% 100%;
    }
    .flow_area article .ttl {
        position: absolute;
        top: 36px;
        left: -12px;
        font-size: 21px;
        line-height: 48px;
        height: 48px;
        width: 486px;
        padding-left: 46px;
    }
    .flow_area article .ttl::before {border-width: 0 12px 19px 0;}
    .flow_area article .ttl::after {border-width: 48px 27px 0 0;}
    .flow_area article .ttl .num {
        font-size: 27px;
        margin-right: 5px;
    }
    .flow_area article .btn {
        width: 273px;
        position: absolute;
        left: 34px;
        bottom: 30px;
    }
    .flow_area article .btn a {
        font-size: 18px;
        background-image: url(../images/flow/flow_btn_admission.png);
        background-repeat: no-repeat;
        background-size: 32px auto;
        background-position: 232px center;
        height: 44px;
        padding: 0 50px 0 17px;
    }
	 .flow_sec3 .flow_area article .btn a {
        font-size: 18px;
        background-image: url(../images/flow/flow_btn_session.png);
        background-repeat: no-repeat;
        background-size: 32px auto;
        background-position: 232px center;
        height: 44px;
        padding: 0 50px 0 17px;
    }
    .flow_area article .btn a:hover {
        background-image: url(../images/flow/flow_btn_hover.png);
    }
    .flow_area article .btn a .jp {
        font-size: 13px;
        margin-left: 12px;
        position: absolute;
        top: 0;
    }
    .flow_area article .img {
        position: absolute;
        top: 36px;
        right: 36px;
        width: 300px;
    }

    .flow_sec4 {
        padding-top: 107px;
        padding-bottom: 413px
    }

}
@media screen and (max-width: 767px) {
    .flow_sec1 {
        background-color: #fff;
        background-image: url(../images/flow/sec1_bg_top_sp.png), url(../images/flow/sec1_bg_bottom_sp.png);
        background-repeat: no-repeat, no-repeat;
        background-position: center top, center bottom;
        background-size: contain, contain;
        padding-top: 32px;
        padding-bottom: 32px;
    }
    .flow_sec1 ul {
        margin: 0 2%;
    }
    .flow_sec1 li {
        font-size: 13px;
        width: 145px;
        height: 145px;
    }
    .flow_sec2 {
        padding-top: 30px;
        padding-bottom: 34px;
    }
    .flow_sec2 .head {
        font-size: 17px;
        margin-bottom: 22px;
    }
	.flow_sec3 {
        padding-top: 30px;
        padding-bottom: 34px;
    }
    .flow_sec3 .head {
        font-size: 17px;
        margin-bottom: 22px;
    }
    .flow_area article {
        padding: 64px 4.6% 15px;
        margin-bottom: 42px;
    }
    .flow_area article:before {
        bottom: -38px;
        border: 9px solid transparent;
        border-top: 12px solid #388480;
    }
    .flow_area article:after {
        height: 7px;
        background: url(../images/common/pagecurl_shadow_sp.png) no-repeat center top;
        background-size: 100% 100%;
    }
	 .flow_sec3 .flow_area article:before {
	    bottom: -38px;
	    border: 9px solid transparent;
        border-top: 12px solid #48617F;
    }
  
    .flow_area article p {
        margin-bottom: 10px
    }
    .flow_area article p:last-of-type {
        margin-bottom: 0
    }
    .flow_area article .ttl {
        position: absolute;
        top: 15px;
        left: -10px;
        font-size: 15.5px;
        line-height: 39px;
        height: 39px;
        width: calc(100% - 5px);
        padding-left: 12px;
    }
    .flow_area article .ttl::before {border-width: 0 10px 15px 0;}
    .flow_area article .ttl::after {border-width: 39px 21px 0 0;}
    .flow_area article .ttl .num {
        font-size: 19.5px;
        margin-right: 4px;
    }
    .flow_area article .btn {
        margin-bottom: 15px;
    }
    .flow_area article .btn a {
        font-size: 17px;
        background: url(../images/flow/flow_btn_admission_sp.png) no-repeat right center;
        background-size: 47px auto;
        height: 48px;
		line-height: 44px;
        padding: 0 60px 0 20px;
    }
	.flow_sec3 .flow_area article .btn a {
        font-size: 17px;
        background: url(../images/flow/flow_btn_session_sp.png) no-repeat right center;
        background-size: 47px auto;
        height: 48px;
		line-height: 44px;
        padding: 0 60px 0 20px;
    }
    .flow_area article .btn a .jp {
        font-size: 12px;
        margin-left: 12px;
        position: absolute;
        top: 0;
    }
    
    .flow_sec4 {
        padding-top: 60px;
        padding-bottom: 100px
    }
}

@media only screen and (max-width: 767px){
.btn_sp {
    width: 100%;
    display: block;
    position: fixed;
    bottom: 0px;
    left: 0px;
    z-index: 1000;
    opacity: 0.95;
}
.btn_pc {
    display:none;
}
.btn_pc2 {
    display:none;
}
.btn_pc3 {
    display:none;
}
.btn_pc4 {
    display:none;
}
.btn_pc5 {
    display:none;
}
}

@media screen and (min-width: 768px){
.btn_sp {
    display:none;
}
.btn_pc {
    position: fixed;
    bottom: 10px;
    right: 0px;
    width: 120px !important;
    height: 120px;
    z-index: 9999;
    padding: 0;
    display: inline;
}
.btn_pc img{
    width:100% !important;
}
.btn_pc2 {
    position: fixed;
    bottom: 140px;
    right: 0px;
    width: 120px !important;
    height: 120px;
    z-index: 9999;
    padding: 0;
    display: inline;
}
.btn_pc2 img{
    width:100% !important;
}
.btn_pc3 {
    position: fixed;
    bottom: 270px;
    right: 0px;
    width: 120px !important;
    height: 120px;
    z-index: 9999;
    padding: 0;
    display: inline;
}
.btn_pc3 img{
    width:100% !important;
}
.btn_pc4 {
    position: fixed;
    bottom: 400px;
    right: 0px;
    width: 120px !important;
    height: 120px;
    z-index: 9999;
    padding: 0;
    display: inline;
}
.btn_pc4 img{
    width:100% !important;
}
.btn_pc5 {
    position: fixed;
    bottom: 530px;
    right: 0px;
    width: 120px !important;
    height: 120px;
    z-index: 9999;
    padding: 0;
    display: inline;
}
.btn_pc5 img{
    width:100% !important;
}
}


/* 20200205_inukai */
.thanks_sec1 {
    background: url(../images/about/sec1_bg.png) no-repeat center top;
    padding: 87px 0 80px;
    position: relative;
  text-align: center;
  }
.thanks_sec1 .ttl {
  font-size:20px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 10px;
}
@media only screen and (max-width: 767px){
.thanks_sec1 {
    background: url(../images/about/sec1_bg_sp.png) no-repeat center top;
    background-size: contain;
    padding-top: 40px;
    margin-bottom: 60px;
  text-align: left;
  }
.thanks_sec1 .ttl {
  font-size:16px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 10px;
}
}