    @charset "UTF-8";
    /*----------------------------------------
	mixin/module
----------------------------------------*/
    /*----------------------------------------
	clearfix
----------------------------------------*/
    /*----------------------------------------
	p-front
----------------------------------------*/
    .q-and-a {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .p-front-news {
        background: #F6F6F6;
    }
    
    .p-front-news__container a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        max-width: 1000px;
        padding: 15px 30px;
        margin: 0 auto;
    }
    
    .p-front-news__container .info {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 0 15px 0 0;
    }
    
    .p-front-news__container .time {
        font-size: 1.4rem;
        margin: 0 20px 0 0;
    }
    
    .p-front-news__container .cat {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-size: 1.1rem;
        color: #fff;
        background: #F19EC2;
        padding: 0 10px;
        border-radius: 3px;
    }
    
    .p-front-news__container .ttl {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        font-size: 1.4rem;
        font-weight: normal;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-news__container a {
            display: block;
            padding: 20px 15px;
        }
        .p-front-news__container .info {
            margin: 0 0 10px;
        }
        .p-front-news__container .time {
            font-size: 1.2rem;
            margin: 0 10px 0 0;
        }
        .p-front-news__container .cat {
            font-size: 1rem;
            padding: 0 5px;
        }
        .p-front-news__container .ttl {
            font-size: 1.6rem;
        }
    }
    
    .p-front-mainvisual {
        overflow: hidden;
    }
    
    .p-front-mainvisual .slick-dots {
        margin-bottom: 0;
    }
    
    .p-front-mainvisual a {
        display: block;
        background-size: cover;
        background-position: center;
    }
    
    .p-front-mainvisual a:hover {
        opacity: 1;
    }
    
    .p-front-mainvisual .bx-wrapper {
        background: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        border: none;
        margin: 0;
    }
    
    .p-front-mainvisual .bx-wrapper .bx-pager.bx-default-pager a {
        width: 8px;
        height: 8px;
        background: #DCDCDC;
        margin: 0 7px;
    }
    
    .p-front-mainvisual .bx-wrapper .bx-controls-direction a {
        z-index: 2;
    }
    
    .p-front-mainvisual .bx-wrapper .bx-pager.bx-default-pager a:hover,
    .p-front-mainvisual .bx-wrapper .bx-pager.bx-default-pager a.active,
    .p-front-mainvisual .bx-wrapper .bx-pager.bx-default-pager a:focus {
        background: #009B91;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-mainvisual {
            padding: 0;
        }
        .p-front-mainvisual .p-front-mainvisual__item {
            height: auto;
        }
    }
    
    .p-front-block_otameshi {
        max-width: 720px;
        margin: 70px auto 0;
    }
    
    .p-front-block_otameshi a {
        display: block;
    }
    /* .p-front-block_otameshi img {
  width: auto;
} */
    
    @media screen and (max-width: 767px) {
        .p-front-block_otameshi {
            margin-top: 30px;
            padding: 0 15px;
            max-width: initial;
        }
        .p-front-block_otameshi img {
            width: 100%;
        }
    }
    
    .p-front-block01 {
        /* padding: 70px 30px 80px; */
        padding: 70px 30px 50px;
    }
    
    .p-front-block01.block-news {
        padding-top: 0;
        padding-bottom: 80px;
    }
    
    .p-front-block01.block-news .p-front-block01__lead a {
        text-decoration: underline;
    }
    
    .p-front-block01.block-news .p-front-block01__lead a:hover {
        text-decoration: none;
    }
    
    .p-front-block01__head {
        font-weight: bold;
        text-align: center;
        margin: 0 0 25px;
    }
    
    .p-front-block01__head .catch {
        margin-bottom: 25px;
    }
    
    .p-front-block01__head .catch span {
        display: inline-block;
        background: #009B91;
        color: #fff;
        padding: 16px 144px;
        font-size: 3.2rem;
        border-radius: 5px;
        line-height: 1;
    }
    
    .p-front-block01__head .catch2 span {
        background: #fff;
        border: 3px solid #009B91;
        color: #009B91;
    }
    
    .c-button._shiny {
        position: relative;
        background-color: #fff;
        /* box-shadow: 0 3px 0 0 #0867d4; */
        border-radius: 4px;
        margin: 30px auto;
        max-width: 500px;
        text-decoration: none;
        overflow: hidden;
        transition: 300ms;
    }
    
    .c-button._shiny::before {
        position: absolute;
        content: '';
        display: inline-block;
        top: -180px;
        left: 0;
        width: 30px;
        height: 100%;
        background-color: #fff;
        transition: 500ms;
        animation: shinyshiny 2.5s ease-in-out infinite;
    }
    
    @-webkit-keyframes shinyshiny {
        0% {
            -webkit-transform: scale(0) rotate(45deg);
            opacity: 0;
        }
        80% {
            -webkit-transform: scale(0) rotate(45deg);
            opacity: 0.5;
        }
        81% {
            -webkit-transform: scale(4) rotate(45deg);
            opacity: 1;
        }
        100% {
            -webkit-transform: scale(50) rotate(45deg);
            opacity: 0;
        }
    }
    
    .p-front-block01__head .main {
        font-size: 2.4rem;
    }
    
    .p-front-block01__head .main span {
        color: #009B91;
    }
    
    .p-front-block01__head .main span.attention {
        color: red;
        font-size: 2.8rem;
    }
    
    .p-front-block01__lead {
        font-size: 1.6rem;
        text-align: center;
        line-height: 1.8;
        margin: 0 0 25px;
    }
    
    .p-front-block01 .m-button01 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    .p-front-block02 .m-button01 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    .m-button02 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-block01 {
            /* padding: 30px 15px 50px; */
            padding: 60px 15px 30px;
        }
        .p-front-block01.block-news {
            padding-bottom: 50px;
        }
        .p-front-block01__head .catch {
            margin-bottom: 20px;
        }
        .p-front-block01__head .catch span {
            padding: 10px;
            font-size: 2rem;
        }
        .p-front-block01__head .catch2 span {
            border-width: 2px;
        }
        .p-front-block01__head .main {
            font-size: 1.8rem;
        }
        .p-front-block01__lead {
            text-align: left;
        }
    }
    
    .p-front-block02 {
        max-width: 1000px;
        padding: 0 30px;
        margin: 0 auto 40px;
    }
    
    .p-front-block02__container {
        background: url(/common/img/front/bg02.jpg);
        background-size: cover;
        padding: 60px;
        border-radius: 10px;
    }
    
    .course .p-front-block02__container {
        background-image: none;
        background-color: #c9f3f0;
    }
    
    .p-front-block02__head {
        font-size: 2.6rem;
        color: #f15398;
        text-align: center;
        margin: 0 0 30px;
        font-weight: bold;
    }
    
    .p-front-block02__lead {
        font-size: 1.8rem;
        font-weight: bold;
        color: #009B91;
        text-align: center;
        margin: 0 0 10px;
    }
    
    .p-front-block02__logo {
        width: 270px;
        margin: 0 auto 30px;
    }
    
    .p-front-block02__body {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    
    .p-front-block02__sub {
        width: 38%;
    }
    
    .p-front-block02__main {
        width: 62%;
        padding: 0 0 0 35px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    .p-front-block02__ttl {
        font-size: 1.8rem;
        margin: 0 0 10px;
    }
    
    .p-front-block02__txt {
        font-size: 1.6rem;
        line-height: 2;
        /* margin: 0 0 30px; */
    }
    
    .p-front-block02__btn {
        margin-top: 50px;
        text-align: center;
    }
    
    .p-front-block02__btn a {
        color: #009B91;
        font-weight: bold;
        font-size: 1.55rem;
        letter-spacing: .06em;
        font-feature-settings: "palt";
        position: relative;
    }
    
    .p-front-block02__btn a:after {
        content: "";
        display: inline-block;
        background-image: url(/common/img/ico-arrow-right_green.svg);
        background-size: contain;
        width: 6px;
        height: 9px;
        margin: 0 0 1px 5px;
    }
    
    .p-front-block02__foot {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        /* margin-top: 60px; */
    }
    
    .p-front-block02__foot .p-front-block02__fttl {
        width: 100%;
        text-align: center;
        font-size: 1.8rem;
        margin-bottom: 20px;
    }
    
    .p-front-block02__foot h3.p-front-block02__fttl {
        color: #009B91;
        font-weight: bold;
        font-size: 22px;
    }
    
    .p-front-block02__foot .p-front-block02__fdetail {
        width: 48%;
        margin-bottom: 30px;
    }
    
    .p-front-block02__foot .p-front-block02__fdetail .img {
        border-radius: 5px;
        overflow: hidden;
        margin-bottom: 20px;
    }
    
    .p-front-block02__foot .p-front-block02__fdetail h4 {
        color: #009B91;
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
    
    .p-front-block02__foot .p-front-block02__fdetail p.benefit {
        color: #009B91;
        font-size: 2rem;
        margin: 20px 0 10px;
        font-weight: bold;
    }
    
    .p-front-block02__foot .p-front-block02__fdetail .text {
        line-height: 1.75;
        font-size: 1.2em;
    }
    
    .p-front-block02__foot .p-front-block02__fdetail .text span {
        color: red;
        font-weight: bold;
    }
    
    .p-front-block02 .movie-container {
        overflow: hidden;
        border-radius: 5px;
    }
    
    .p-front-block02 .movie-container iframe {
        width: 100%;
        height: 190px;
        vertical-align: middle;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-block02 {
            padding: 0 15px;
            margin: 0 auto 20px;
        }
        .p-front-block02__container {
            padding: 35px 0;
            border-radius: 5px;
        }
        .course .p-front-block02__container {}
        .p-front-block02__head {
            font-size: 2rem;
            margin: 0 0 15px;
        }
        .p-front-block02__lead {
            font-size: 1.1rem;
            font-weight: bold;
            padding: 0 20px;
        }
        .p-front-block02__logo {
            width: 145px;
            margin: 0 auto 20px;
        }
        .p-front-block02__body {
            display: block;
        }
        .p-front-block02__sub {
            width: 100%;
        }
        .p-front-block02__main {
            width: 100%;
            padding: 20px 20px 0;
        }
        .p-front-block02__ttl {
            font-size: 1.6rem;
            text-align: center;
        }
        .p-front-block02__txt {
            line-height: 1.8;
            margin: 0 0 20px;
        }
        .p-front-block02__btn {
            margin-top: 40px;
            padding: 0 20px;
        }
        .p-front-block02__foot {
            padding: 0 20px;
        }
        .p-front-block02__foot .p-front-block02__fttl {
            font-size: 1.6rem;
            margin-bottom: 10px;
        }
        .p-front-block02__foot .p-front-block02__fdetail {
            width: 100%;
            margin-bottom: 8px;
        }
        .p-front-block02__foot .p-front-block02__fdetail {
            margin-top: 16px;
        }
        .p-front-block02__foot .p-front-block02__fdetail:first-of-type {
            margin-top: 0px;
        }
        .p-front-block02__foot .p-front-block02__fdetail h4 {
            font-size: 1.5rem;
        }
        .p-front-block02 .m-button01 {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
        .m-button02 {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
        .p-front-block02 .movie-container {
            border-radius: 0;
        }
        .p-front-block02 .movie-container iframe {
            height: 194px;
        }
    }
    
    .p-front-block03 {
        max-width: 1000px;
        padding: 0 30px;
        margin: 0 auto 100px;
    }
    
    .p-front-block03__container {
        background: url(/common/img/front/bg01.jpg);
        background-size: cover;
        padding: 60px;
        border-radius: 10px;
    }
    
    .p-front-block03__head {
        font-size: 1.8rem;
        color: #009B91;
        text-align: center;
        margin: 0 0 20px;
    }
    
    .p-front-block03__lead {
        font-size: 3.4rem;
        font-weight: bold;
        color: #009B91;
        text-align: center;
        margin: 0 0 30px;
    }
    
    .p-front-block03__lead span {
        position: relative;
        display: inline-block;
        top: -5px;
        width: 54px;
        margin: 0 5px 0 0;
    }
    
    .p-front-block03__body {
        /* display: -webkit-box;
    display: -ms-flexbox; */
        /* display: flex; */
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    
    .p-front-block03__sub {
        width: 38%;
    }
    
    .p-front-block03__main {
        /* width: 62%; */
        /* padding: 0 35px 0 0; */
        /* -webkit-box-sizing: border-box;
    box-sizing: border-box; */
    }
    
    .p-front-block03__txt {
        font-size: 1.6rem;
        line-height: 2;
        margin: 0 0 30px;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-block03 {
            padding: 0 15px;
            margin: 0 auto 40px;
        }
        .p-front-block03__container {
            padding: 45px 0;
            border-radius: 5px;
        }
        .p-front-block03__head {
            font-size: 1.2rem;
            letter-spacing: -.1rem;
            padding: 0 20px;
            margin: 0 0 10px;
        }
        .p-front-block03__lead {
            font-size: 2.1rem;
            letter-spacing: -.2rem;
            padding: 0 20px;
            margin: 0 0 20px;
        }
        .p-front-block03__lead span {
            width: 35px;
            margin: 0 2px 0 0;
        }
        .p-front-block03__body {
            display: block;
        }
        .p-front-block03__sub {
            width: 100%;
        }
        .p-front-block03__main {
            width: 100%;
            padding: 20px 20px 0;
        }
        .p-front-block03__txt {
            line-height: 1.8;
            margin: 0 0 20px;
        }
        .p-front-block03 .m-button01 {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
        .m-button02 {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
    }
    
    .p-front-block04 {
        max-width: 1000px;
        padding: 0 30px;
        margin: 0 auto 100px;
    }
    
    .p-front-block04__head {
        font-weight: bold;
        color: #009B91;
        text-align: center;
        margin: 0 0 30px;
    }
    
    .p-front-block04__head span {
        margin: 0 auto 20px;
    }
    
    .p-front-block04__head .in01 {
        width: 200px;
    }
    
    .p-front-block04__head .in02 {
        width: 470px;
    }
    
    .p-front-block04__lead {
        font-size: 1.6rem;
        line-height: 2;
        text-align: center;
        margin: 0 0 30px;
    }
    
    .p-front-block04__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: 15px -4px 30px;
    }
    
    .p-front-block04__list li {
        width: 16.6666%;
        padding: 0 4px 30px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    .p-front-block04__list a {
        position: relative;
        display: block;
        /* height: 100%; */
        border-radius: 5px;
        -webkit-box-shadow: 0 2px 2px rgba(0, 0, 0, 0.05);
        box-shadow: 0 2px 2px rgba(0, 0, 0, 0.05);
    }
    
    .p-front-block04__list a:hover {
        opacity: 1;
    }
    
    .p-front-block04__list h3 {
        font-size: 1.4rem;
        color: #fff;
        text-align: center;
        line-height: 1.2;
        letter-spacing: -.05rem;
        margin: 0 0 10px;
    }
    
    .p-front-block04__list span {
        position: relative;
        top: 1px;
        font-size: 1.7rem;
        color: #fff;
    }
    
    .p-front-block04__list p {
        font-size: 1.3rem;
        line-height: 1.7;
    }
    
    .p-front-block04__list i {
        position: absolute;
        display: block;
        left: 0;
        right: 0;
        bottom: 20px;
        width: 20px;
        height: 20px;
        background: #fff;
        border-radius: 50%;
        margin: auto;
    }
    
    .p-front-block04__list i:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 6px;
        height: 9px;
        background-image: url(/common/img/ico-arrow-right_gray.svg);
        background-size: cover;
        margin: auto;
    }
    
    .p-front-block04__list .u-bgColor01:hover {
        background: #D35EC1;
    }
    
    .p-front-block04__list .u-bgColor02:hover {
        background: #EF609E;
    }
    
    .p-front-block04__list .u-bgColor03:hover {
        background: #F06A5F;
    }
    
    .p-front-block04__list .u-bgColor04:hover {
        background: #EFB261;
    }
    
    .p-front-block04__list .u-bgColor05:hover {
        background: #EFDF5F;
    }
    
    .p-front-block04__list .u-bgColor06:hover {
        background: #99DE66;
    }
    
    .p-front-block04__list .u-bgColor07:hover {
        background: #5DD9E2;
    }
    
    .p-front-block04__list .u-bgColor08:hover {
        background: #5DB3ED;
    }
    
    .p-front-block04__list .u-bgColor09:hover {
        background: #6577E5;
    }
    
    .p-front-block04__list .u-bgColor10:hover {
        background: #935EE6;
    }
    
    .p-front-block04__list .u-bgColor11:hover {
        background: #DC60BE;
    }
    
    .p-front-block04__list .u-bgColor12:hover {
        background: #7F7F7F;
    }
    
    .p-front-block04__list .content {
        /* min-height: 150px; */
        padding: 15px;
        border-radius: 0 0 5px 5px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    .p-front-block04__desc {
        font-size: 1.2rem;
        line-height: 2;
        text-align: center;
        margin: 20px 0 0;
    }
    
    .p-front-block04 .m-button01 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 0 0 20px;
    }
    
    .m-button02 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 0 0 20px;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-block04 {
            padding: 46px 15px 40px;
            margin: 0 auto;
        }
        .p-front-block04__head {
            font-size: 1.7rem;
            margin: 0 0 20px;
        }
        .p-front-block04__head span {
            margin: 0 auto 10px;
        }
        .p-front-block04__head .in01 {
            width: 145px;
        }
        .p-front-block04__head .in02 {
            width: 280px;
        }
        .p-front-block04__lead {
            font-size: 1.6rem;
            line-height: 1.8;
            text-align: left;
            margin: 0 0 20px;
        }
        .p-front-block04__list {
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            justify-content: flex-start;
            margin: 10px -7px 20px;
        }
        .p-front-block04__list li {
            width: 50%;
            padding: 0 7px 15px;
        }
        .p-front-block04__list h3 {
            font-size: 1.6rem;
            margin: 0 0 8px;
        }
        .p-front-block04__list span {
            font-size: 1.8rem;
        }
        .p-front-block04__list p {
            font-size: 1.3rem;
        }
        .p-front-block04__list .content {
            /* min-height: auto; */
            padding: 15px;
        }
        .p-front-block04__desc {
            line-height: 1.8;
            text-align: left;
        }
        .p-front-block04.course .p-front-block04__list h3 {
            font-size: 1.2rem;
            margin: 0 0 8px;
        }
        .p-front-block04.course .p-front-block04__list span {
            font-size: 1.5rem;
        }
    }
    
    .p-front-banner a {
        display: block;
        max-width: 620px;
        padding: 0 30px;
        margin: 0 auto 100px;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-banner a {
            padding: 0 15px;
            margin: 0 auto 50px;
        }
    }
    
    .p-front-block05 {
        max-width: 1000px;
        padding: 0 30px;
        margin: 0 auto 200px;
    }
    
    .p-front-block05__container {
        position: relative;
    }
    
    .p-front-block05__thumb {
        position: absolute;
        width: 60%;
        top: 0;
        left: 0;
    }
    
    .p-front-block05__body {
        position: relative;
        top: 130px;
        width: 50%;
        background: rgba(255, 255, 255, 0.9);
        border-radius: 5px;
        padding: 40px 30px;
        margin: 0 0 0 auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    .p-front-block05__head {
        font-size: 2.3rem;
        letter-spacing: -.05rem;
        margin: 0 0 20px;
    }
    
    .p-front-block05__head span {
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
        color: #009B91;
    }
    
    .p-front-block05__txt {
        font-size: 1.6rem;
        line-height: 2;
        margin: 0 0 20px;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-block05 {
            padding: 40px 0;
            margin: 0 auto;
            border-top: 1px solid #DCDCDC;
            border-bottom: 1px solid #DCDCDC;
        }
        .p-front-block05__thumb {
            position: static;
            width: 100%;
        }
        .p-front-block05__body {
            position: static;
            width: 100%;
            padding: 0;
            margin: 0;
        }
        .p-front-block05__head {
            font-size: 2rem;
            text-align: center;
        }
        .p-front-block05__content {
            padding: 20px 15px 0;
        }
        .p-front-block05__txt {
            line-height: 1.8;
        }
        .p-front-block05 .m-button01 {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
        .m-button02 {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
        }
    }
    
    .p-front-block06 {
        max-width: 760px;
        padding: 0 30px;
        margin: 0 auto 100px;
    }
    
    .p-front-block06__head {
        font-size: 2.4rem;
        text-align: center;
        margin: 0 0 30px;
    }
    
    .p-front-block06__head span {
        color: #009B91;
    }
    
    .p-front-block06__txt {
        font-size: 1.6rem;
        line-height: 2;
        text-align: center;
        margin: 0 0 50px;
    }
    
    .p-front-block06__body {
        margin: 0 0 10px;
    }
    
    .p-front-block06__thumb {
        margin: 0 0 30px;
    }
    
    .p-front-block06__list {
        margin: 0 0 35px;
    }
    
    .p-front-block06__list li {
        position: relative;
        font-size: 1.2rem;
        color: #898989;
        padding: 0 0 0 15px;
    }
    
    .p-front-block06__list li:before {
        content: "＊";
        position: absolute;
        left: 0;
    }
    
    .p-front-block06 .m-button01 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    .m-button02 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-block06 {
            padding: 40px 0 0;
            margin: 0 auto 50px;
        }
        .p-front-block06__head {
            font-size: 2rem;
            margin: 0 0 20px;
        }
        .p-front-block06__txt {
            line-height: 1.8;
            text-align: left;
            padding: 0 15px;
            margin: 0 0 20px;
        }
        .p-front-block06__body {
            margin: 0 0 10px;
        }
        .p-front-block06__thumb {
            margin: 0 0 25px;
        }
        .p-front-block06__list {
            padding: 0 15px;
        }
        .p-front-block06__foot {
            padding: 0 15px;
        }
    }
    
    .p-front-block07 {
        max-width: 1000px;
        padding: 80px 30px 0 30px;
        margin: 0 auto;
    }
    
    .p-front-block07__tab {
        display: none;
    }
    
    .p-front-block07__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 0 -30px;
    }
    
    .p-front-block07__section {
        width: 50%;
        padding: 0 30px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    .p-front-block07__head {
        font-size: 1.8rem;
        font-weight: bold;
        color: #626262;
        margin: 0 0 30px;
    }
    
    .p-front-block07__list {
        border-top: 1px solid #C9C9C9;
        margin: 0 0 35px;
    }
    
    .p-front-block07__list li {
        border-bottom: 1px solid #C9C9C9;
    }
    
    .p-front-block07__list a {
        position: relative;
        display: block;
        padding: 15px 35px 15px 15px;
    }
    
    .p-front-block07__list a:before {
        content: "";
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        width: 6px;
        height: 9px;
        background: url(/common/img/ico-arrow-right_gray.svg);
        background-size: cover;
        margin: auto;
    }
    
    .p-front-block07__list a:hover {
        opacity: 1;
        background: #f0fff8;
    }
    
    .p-front-block07__list .info {
        margin: 0 0 15px;
    }
    
    .p-front-block07__list .time {
        display: inline-block;
        font-size: 1.4rem;
        color: #898989;
        margin: 0 20px 0 0;
    }
    
    .p-front-block07__list .cat {
        display: inline-block;
        font-size: 1.1rem;
        color: #fff;
        background: #C9C9C9;
        padding: 3px 28px;
        border-radius: 3px;
        text-align: center;
        line-height: 1.1;
    }
    
    .p-front-block07__list .ttl {
        font-size: 1.4rem;
        font-weight: normal;
        color: #434343;
    }
    
    .p-front-block07 .m-button01 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    .m-button02 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-block07 {
            padding: 50px 0 0;
        }
        .p-front-block07__container {
            display: block;
            margin: 0;
        }
        .p-front-block07__tab {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
        }
        .p-front-block07__tab li {
            width: 50%;
            font-size: 1.3rem;
            font-weight: bold;
            color: #626262;
            text-align: center;
            padding: 15px;
            border-radius: 5px 5px 0 0;
        }
        .p-front-block07__tab li.active {
            background: #F6F6F6;
        }
        .p-front-block07__section {
            display: none;
            width: 100%;
            background: #F6F6F6;
            padding: 15px 15px 45px;
        }
        .p-front-block07__section.active {
            display: block;
        }
        .p-front-block07__head {
            display: none;
        }
        .p-front-block07__list {
            border: none;
            margin: 0 0 25px;
        }
        .p-front-block07__list .info {
            margin: 0 0 10px;
        }
        .p-front-block07__list .time {
            font-size: 1.2rem;
            margin: 0 10px 0 0;
        }
        .p-front-block07__list .cat {
            font-size: 1rem;
            padding: 2px 15px;
        }
        .p-front-block07__list .ttl {
            font-size: 1.6rem;
        }
    }
    
    .p-front-block08 {
        max-width: 1000px;
        padding: 70px 60px;
        margin: 0 auto;
    }
    
    .p-front-block08__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    
    .p-front-block08__section {
        width: 22%;
        padding: 0 30px;
        border-left: 1px solid #DCDCDC;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    .p-front-block08__section.-section03 {
        width: 56%;
        border-right: 1px solid #DCDCDC;
    }
    
    .p-front-block08__head {
        font-size: 1.8rem;
        color: #626262;
        text-align: center;
        letter-spacing: .1rem;
    }
    
    .p-front-block08__link {
        margin-top: 30px;
    }
    
    .p-front-block08__link a {
        display: block;
    }
    
    .p-front-block08__link a:hover .ttl {
        text-decoration: none;
    }
    
    .p-front-block08__link .thumb {
        overflow: hidden;
        border-radius: 4px;
    }
    
    .p-front-block08__link .ttl {
        font-size: 1.3rem;
        font-weight: normal;
        text-align: center;
        text-decoration: underline;
        padding: 15px;
    }
    
    .p-front-block08__content {
        margin-top: 57px;
    }
    
    .p-front-block08__content .m-button01 {
        justify-content: center;
    }
    
    .m-button02 {
        justify-content: center;
    }
    
    .p-front-block08__content .bx-wrapper {
        background: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        border: none;
        margin: 0;
    }
    
    .p-front-block08__content .bx-wrapper .bx-controls-direction a {
        width: 15px;
        height: 24px;
    }
    
    .p-front-block08__content .bx-wrapper .bx-prev {
        left: -40px;
        background: url(/common/img/ico-arrow-left_gray.svg);
    }
    
    .p-front-block08__content .bx-wrapper .bx-next {
        right: -40px;
        background: url(/common/img/ico-arrow-right_gray.svg);
    }
    
    .p-front-block08__content .bx-wrapper .bx-pager.bx-default-pager a {
        width: 12px;
        height: 12px;
        background: #DCDCDC;
        margin: 0 7px;
    }
    
    .p-front-block08__content .bx-wrapper .bx-controls-direction a {
        z-index: 2;
    }
    
    .p-front-block08__content .bx-wrapper .bx-pager.bx-default-pager a:hover,
    .p-front-block08__content .bx-wrapper .bx-pager.bx-default-pager a.active,
    .p-front-block08__content .bx-wrapper .bx-pager.bx-default-pager a:focus {
        background: #009B91;
    }
    
    .p-front-block08__slider a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    
    .p-front-block08__slider a:hover .ttl {
        text-decoration: none;
    }
    
    .p-front-block08__slider .thumb {
        width: 32%;
    }
    
    .p-front-block08__slider .ttl {
        width: 68%;
        font-size: 1.6rem;
        font-weight: normal;
        line-height: 2;
        text-decoration: underline;
        padding: 0 20px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-block08 {
            padding: 0;
        }
        .p-front-block08__container {
            display: block;
            margin: 0;
        }
        .p-front-block08__section {
            width: 100%;
            border-left: none;
        }
        .p-front-block08__section.-section01,
        .p-front-block08__section.-section02 {
            padding: 40px 15px;
            border-bottom: 1px solid #DCDCDC;
        }
        .p-front-block08__section.-section03 {
            width: 100%;
            border-right: none;
            padding: 40px 15px 0;
        }
        .p-front-block08__head {
            font-size: 1.7rem;
            margin: 0 0 20px;
        }
        .p-front-block08__link {
            width: 50%;
            margin: 0 auto;
        }
        .p-front-block08__link .ttl {
            font-size: 1.2rem;
            padding: 15px 0 0;
        }
        .p-front-block08__content {
            margin-top: 0;
            padding: 0 25px;
        }
        .p-front-block08__content .bx-wrapper .bx-controls-direction a {
            width: 10px;
            height: 16px;
        }
        .p-front-block08__content .bx-wrapper .bx-prev {
            left: -25px;
        }
        .p-front-block08__content .bx-wrapper .bx-next {
            right: -25px;
        }
        .p-front-block08__slider .ttl {
            font-size: 1.4rem;
            line-height: 1.8;
            padding: 0 0 0 20px;
        }
        .p-front-block08__slider .thumb {
            width: 35%;
        }
        .p-front-block08__slider .ttl {
            width: 65%;
        }
        .p-front-block08 .m-button01 a {
            margin-right: auto;
            margin-left: auto;
        }
        .m-button02 a {
            margin-right: auto;
            margin-left: auto;
        }
    }
    
    .p-front-block09 {
        max-width: 1000px;
        padding: 0 30px;
        margin: 0 auto 40px;
    }
    
    .p-front-block09__container {
        background: url(/common/img/front/bg03.jpg);
        background-size: cover;
        padding: 60px;
        border-radius: 10px;
    }
    
    .p-front-block09__lead {
        font-size: 1.8rem;
        color: #009B91;
        text-align: center;
        margin: 0 0 5px;
    }
    
    .p-front-block09__head {
        font-size: 3.4rem;
        font-weight: bold;
        color: #009B91;
        text-align: center;
        margin: 0 0 30px;
    }
    
    .p-front-block09__photo {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    
    .p-front-block09__photo__item {
        width: 48%;
        border-radius: 5px;
        overflow: hidden;
    }
    
    .p-front-block09__photo__item .txt {
        color: #fff;
        font-size: 1.8rem;
        font-weight: 700;
        text-align: center;
        padding: 4px 0;
    }
    
    .p-front-block09__photo__item .txt.txt01 {
        background: #0ba29a;
    }
    
    .p-front-block09__photo__item .txt.txt02 {
        background: #f18900;
    }
    
    .p-front-block09__txt {
        margin-top: 35px;
    }
    
    .p-front-block09__txt .ttl {
        text-align: center;
        font-size: 1.8rem;
        line-height: 1.77;
        font-weight: 700;
    }
    
    .p-front-block09__txt .txt {
        margin-top: 10px;
        font-size: 1.6rem;
        line-height: 2;
    }
    
    .p-front-block09__txt .btn {
        margin-top: 40px;
        text-align: center;
    }
    
    .p-front-block09__txt .btn a {
        color: #009B91;
        font-weight: bold;
        font-size: 1.55rem;
        letter-spacing: .06em;
        font-feature-settings: "palt";
        position: relative;
    }
    
    .p-front-block09__txt .btn a:after {
        content: "";
        display: inline-block;
        background-image: url(/common/img/ico-arrow-right_green.svg);
        background-size: contain;
        width: 6px;
        height: 9px;
        margin: 0 0 1px 5px;
    }

    .p-front-block10__head {
        font-size: 2.6rem;
        color: #ce862e;
        text-align: center;
        margin: 0 0 30px;
        font-weight: bold;
    }
    
    @media screen and (max-width: 767px) {
        .p-front-block09 {
            padding: 0 15px;
            margin: 0 auto 20px;
        }
        .p-front-block09__container {
            padding: 35px 20px;
            border-radius: 5px;
        }
        .p-front-block09__lead {
            font-size: 1.2rem;
        }
        .p-front-block09__head {
            font-size: 2.1rem;
            margin-bottom: 20px;
        }
        .p-front-block09__photo__item {
            width: 100%;
        }
        .p-front-block09__photo__item:not(:first-child) {
            margin-top: 20px;
        }
        .p-front-block09__photo__item .txt {
            font-size: 1.5rem;
            padding: 3px 0;
        }
        .p-front-block09__txt {
            margin-top: 20px;
        }
        .p-front-block09__txt .ttl {
            font-size: 1.6rem;
            text-align: left;
        }
        .p-front-block09__txt .txt {
            line-height: 1.8;
        }
        .p-front-block09__txt .btn {
            margin-top: 30px;
        }
    }
    
    .slick-dots {
        margin-top: 10px;
        margin-bottom: 20px;
        text-align: center;
    }
    
    .slick-dots li {
        overflow: hidden;
        display: inline-block;
        text-indent: -999px;
        background: #eee;
        width: 8px;
        height: 8px;
        margin: 0 5px;
        outline: 0;
        border-radius: 5px;
    }
    
    .slick-dots li.slick-active {
        background: #009B91;
    }
    
    .video-bnr {
        width: 100%;
        max-width: 475px;
        padding: 0 30px;
        margin: 60px auto 0;
    }
    
    .video-bnr img {
        border: 1px solid #666;
        width: 100%;
    }
    
    @media screen and (max-width: 767px) {
        .video-bnr {
            padding: 0 15px;
            margin-top: 40px;
            box-sizing: border-box;
        }
    }
    /* -------- mainvisual2 -------*/
    
    .p-front-mainvisual2 {
        overflow: hidden;
    }
    
    .p-front-mainvisual2 .slick-dots {
        margin-bottom: 0;
    }
    
    .p-front-mainvisual2 a {
        display: block;
        background-size: cover;
        background-position: center;
    }
    
    .p-front-mainvisual2 a:hover {
        opacity: 1;
    }
    
    .p-front-mainvisual2 .bx-wrapper {
        background: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        border: none;
        margin: 0;
    }
    
    .p-front-mainvisual2 .bx-wrapper .bx-pager.bx-default-pager a {
        width: 8px;
        height: 8px;
        background: #DCDCDC;
        margin: 0 7px;
    }
    
    .p-front-mainvisual2 .bx-wrapper .bx-controls-direction a {
        z-index: 2;
    }
    
    .p-front-mainvisual2 .bx-wrapper .bx-pager.bx-default-pager a:hover,
    .p-front-mainvisual2 .bx-wrapper .bx-pager.bx-default-pager a.active,
    .p-front-mainvisual2 .bx-wrapper .bx-pager.bx-default-pager a:focus {
        background: #009B91;
    }
    
    .p-front-mainvisual2 .p-front-mainvisual2__thumbnail {
        max-width: 73.7%;
        margin: 40px auto 0;
    }
    
    .p-front-mainvisual2 .p-front-mainvisual2__thumbnail .p-front-mainvisual2__thumbnail-img {
        width: calc(100% / 6 - 10px);
        margin-right: 10px;
        opacity: .5;
        cursor: pointer;
    }
    
    .p-front-mainvisual2 .p-front-mainvisual2__thumbnail .p-front-mainvisual2__thumbnail-img.slick-current {
        opacity: 1;
    }
    
    .p-front-mainvisual2 .p-front-mainvisual2__thumbnail .p-front-mainvisual2__thumbnail-img:last-of-type {
        margin-right: 0;
    }
    
    .p-front-mainvisual2 .p-front-mainvisual2__thumbnail .slick-track {
        transform: unset !important;
    }
    
    @media screen and (min-width: 768px) {
        .p-front-mainvisual2 .slick-dots {
            display: none;
        }
    }
    
    @media screen and (max-width: 767px) {
        .p-front-mainvisual2 {
            padding: 0;
        }
        .p-front-mainvisual2 .p-front-mainvisual2__item {
            height: auto;
        }
        .p-front-mainvisual2 .p-front-mainvisual2__pc {
            display: none;
        }
        .p-front-mainvisual2 .p-front-mainvisual2__thumbnail {
            display: none;
        }
        .p-front-mainvisual2 .p-front-mainvisual2__sp {
            padding: 0;
        }
        .p-front-mainvisual2 .p-front-mainvisual2__sp .p-front-mainvisual2__sp-item:not(:first-child) {
            margin-top: 30px;
        }
    }
    /* -------- price -------*/
    
    .price {
        color: red;
        font-weight: bold;
        font-size: 150% !important;
    }
    
    #price {
        /* background-color: #fff; */
        margin: 0 auto 40px;
        max-width: 1000px;
    }
    
    #price .contenttitle {
        margin-bottom: 0;
    }
    
    #price .title_sub {
        font-weight: bold;
        text-align: center;
    }
    
    #price .list {
        display: grid;
        grid-auto-flow: row;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        margin: 30px 0;
    }
    
    #price .list div.recomend {
        color: red;
        font-size: 22px;
        font-weight: bold;
        text-align: center;
    }
    
    #price .list div.recomend span {
        padding: 5px 15px;
        background-color: yellow;
        border-radius: 6px;
        border: red solid 1px;
    }
    
    #price .list .item {
        /* background-color: white; */
        padding: 30px 40px;
        border-radius: 8px;
        box-sizing: border-box;
        margin: 0 3.5% 30px;
    }
    
    #price .list .item:last-child {
        padding: 0;
        background-color: transparent;
    }
    
    #price .list .item.recomend-item {
        background-color: yellow;
        border: red solid 1px;
    }
    
    #price .list .item .title {
        color: #009B91;
        font-weight: bold;
        font-size: 22px;
        text-align: center;
        margin-bottom: 15px;
    }
    
    #price .list .item .table {
        border-collapse: collapse;
        width: 100%;
        font-size: 15px;
    }
    
    #price .list .item .table tr {
        border-top: 1px dotted #bbb;
    }
    
    #price .list .item .table tr:first-child {
        border-top: none;
    }
    
    #price .list .item .table tr.note {
        font-size: 85%;
    }
    
    #price .list .item .table tr th {
        white-space: nowrap;
    }
    
    #price .list .item .table tr th,
    #price .list .item .table tr td {
        padding: 8px 10px;
    }
    
    #price .list .item .table tr th span,
    #price .list .item .table tr td span {
        font-size: 110%;
        font-weight: bold;
    }
    
    #price .list .item .table tr td span {
        color: red;
    }
    
    #price .list .item {
        margin: 0 auto;
        padding: 10px 15px;
        max-width: 460px;
        border-radius: 6px;
        margin: 3% 1.5%;
    }
    
    #price p {
        font-size: 1.2em;
    }
    
    #price p.admission span {
        color: red;
        padding: 5px;
        font-size: 1.3em;
        font-weight: bold;
    }
    
    #price p span.partner {
        display: block;
        background-color: yellow;
        border-radius: 6px;
        padding: 5px;
        border: red solid 1px;
    }
    
    div.description {
        text-align: center;
    }
    
    div.description p {
        display: inline-block;
        margin-top: 10px;
        background-color: rgba(147, 236, 232, 0.4);
        border-radius: 6px;
        padding: 5px;
        border: #009B91 solid 1px;
        text-align: left;
        color: red;
        padding: 16px;
    }
    
    @media only screen and (max-width: 767px) {
        .pricetd {
            width: 96.102px;
        }
        /* #price {
        margin-top: 15px;
    } */
        #price .list div.recomend {
            margin: 25px 0 -25px;
        }
        #price .contenttitle {
            margin-bottom: 0;
        }
        #price .title_sub {
            font-size: 14px;
        }
        #price .list {
            display: block;
        }
        #price .list .item {
            padding: 0;
            margin: 0 auto;
            max-width: 460px;
            border-radius: 6px;
        }
        #price .list .item {
            padding: 4px 8px;
            margin-top: 25px;
        }
        /* #price .list .item:nth-child(3) {
        width: auto;
        margin-top: 25px;
    } */
        #price .list .item .title {
            font-size: 19px;
            margin-bottom: 10px;
            padding-top: 10px;
        }
        #price .list .item .table {
            font-size: 14px;
        }
        #price .list .item .table tr th span,
        #price .list .item .table tr td span {
            font-size: 100%;
        }
    }
    
    @media only screen and (max-width: 1600px) {
        #price .list {
            margin: 40px 0 30px;
            flex-wrap: wrap;
            justify-content: center;
        }
    }
    /* -------- h4 -------*/
    
    h4 {
        font-weight: bold;
    }
    /* -------- よくある質問 -------*/
    
    .details {
        transition: 1s;
        overflow: hidden;
        margin-top: -10px;
        padding-bottom: 20px;
        font-size: 1.6rem;
        width: 90%;
    }
    
    .details:last-of-type {
        margin-bottom: 0;
    }
    
    .details[open] {
        margin-top: 0;
        padding-bottom: 10px;
    }
    
    .details-summary {
        display: block;
        padding: 15px;
        transition: .1s;
        transform: translateY(10px);
        background-color: #009b92;
        /* font-size: 20px; */
        /* font-weight: bold; */
        color: #fff;
        border-radius: 5px;
    }
    
    .details-summary:hover {
        cursor: pointer;
    }
    
    .details-summary::-webkit-details-marker {
        display: none;
    }
    
    .details[open] .details-summary {
        transform: translateY(0);
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
    }
    
    .details-content {
        padding: 20px;
        font-size: 1.4rem;
        background-color: #bee1de;
        border-bottom: 2px solid #009b92;
        border-left: 2px solid #009b92;
        border-right: 2px solid #009b92;
        border-bottom-left-radius: 5px;
        border-bottom-right-radius: 5px;
    }