@charset "utf-8";

/*-----------------------------------------------------

	共通

------------------------------------------------------*/
/*レイアウト*/
.gInner {
    max-width: 1200px;
    margin: 0 auto;
}

.container {
    padding: 100px 20px;
}

.flex_container {
    display: flex;
    flex-direction: row;
}

.flex_wrap {
    display: flex;
    flex-wrap: wrap;
}

.inner_wrap {
    max-width: 760px;
    margin: 0 auto;
}

.lead {
    margin-bottom: 40px;
}

.col_1 {
    width: 100%;
}

.col_2 {
    width: 50%;
}

.col_3 {
    width: 33.3333%;
}

.col_4 {
    width: 25%;
}

/*見出し*/
.ttl_01 {
    font-size: 25px;
    color: #004dd3;
    text-align: center;
    line-height: 1;
    margin-bottom: 45px;
}

.sub_ttl {
    display: block;
    color: #333;
    font-family: "Kosugi Maru", sans-serif;
    font-size: 14px;
    margin-top: 20px;
}

.sub_ttl:after {
    content: "";
    display: block;
    background: #004dd3;
    width: 36px;
    height: 1px;
    margin: 10px auto 0;
}

.ttl_01-2 {
    font-size: 40px;
    margin-bottom: 3px;
}

.ttl_02 {
    font-size: 40px;
    margin-bottom: 30px;
}

.ttl_02:after {
    content: "";
    width: 100%;
    height: 4px;
    display: block;
}

.ttl_03 {
    color: #333;
    font-size: 25px;
    font-weight: normal;
    text-align: center;
    margin-bottom: 40px;
    font-family: "Kosugi Maru", sans-serif;
}

.ttl_03 span {
    display: inline-block;
}

.ttl_03 span:after {
    content: "";
    width: 80%;
    margin: 10px auto 0;
    height: 2px;
    display: block;
    background-color: #e6002f;
}

.ttl_heart {
    position: relative;
    padding-left: 30px;
}

.ttl_heart:before {
    content: "";
    width: 22px;
    height: 20px;
    background-image: url(../Image/common/img_heart.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

/*ボタン*/
.btn {
    margin-top: 50px;
}

.btn a {
    font-size: 16px;
    font-weight: bold;
    display: inline-block;
    border-radius: 15px;
}

.btn_center {
    text-align: center;
}

.btn_primary {
    border: solid 1px #004dd3;
    background: #fff;
    line-height: 1;
    padding: 19px 60px;
    color: #004dd3;
    position: relative;
    overflow: hidden;
    z-index: 1;
    text-decoration: none;
    display: inline-block;
}

.btn_primary:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: -100%;
    background: #004dd3;
    transition: 0.4s;
    top: 0;
    z-index: -1;
}

@media only screen and (min-width: 768px) {
    .btn_primary:hover {
        color: #fff;
        background: transparent;
    }

    .btn_primary:hover:after {
        left: 0;
    }
}

/*color*/
.color_j_step {
    color: #ffa132 !important;
}

.color_j_kids {
    color: #00a6bf !important;
}

.color_j_traning {
    color: #f91864 !important;
}

.color_j_stage {
    color: #b900c0 !important;
}

.color_j_club {
    color: #ffe012 !important;
}

/*背景色*/
.bg_blue {
    background: #F2FDFF;
}

/*-----------------------------------------------------

	TOP MAINIMAGE　トップページ

------------------------------------------------------*/

#top #mainimage {
    width: 100%;
    height: 100vh;
    position: relative;
}

#top .mv_inner {
    position: absolute;
    top: 28%;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

#top .mv_left {
    width: 50%;
    padding-left: 20px;
    float: left;
}

#top .mv_left .txt {
    font-size: 16px;
    margin-top: 25px;
    letter-spacing: 0.1em;
}

#top .mv_right {
    width: 50%;
    padding-left: 20px;
    padding-top: 20%;
    float: right;
}

#top .mv_right .main_ttl {
    font-size: 25px;
    margin-bottom: 20px;
    letter-spacing: 0.1em;
}

#top .mv_right .txt {
    letter-spacing: 0.1em;
}

.float_hearts {
    height: 100vh;
    width: 100%;
    z-index: -1;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
}

.float_hearts div {
    position: absolute;
    background-image: url(../Image/common/float_heart01.png);
    background-repeat: no-repeat;
    display: block;
    width: 36px;
    height: 33px;
    opacity: 0;
    -webkit-transform-origin: 0px 0px;
    -ms-transform-origin: 0px 0px;
    transform-origin: 0px 0px;
    -webkit-animation-name: Drop01;
    animation-name: Drop01;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.float_hearts02 div {
    -webkit-animation-name: Drop02;
    animation-name: Drop02;
}

.float_hearts03 div {
    -webkit-animation-name: Drop03;
    animation-name: Drop03;
}

.float_hearts .float_heart02,
.float_hearts .float_heart13 {
    background-image: url(../Image/common/float_heart02.png);
}

.float_hearts .float_heart03,
.float_hearts .float_heart15 {
    background-image: url(../Image/common/float_heart03.png);
}

.float_hearts .float_heart04,
.float_hearts .float_heart19 {
    background-image: url(../Image/common/float_heart04.png);
}

.float_hearts .float_heart05,
.float_hearts .float_heart12 {
    background-image: url(../Image/common/float_heart05.png);
}

.float_hearts .float_heart06,
.float_hearts .float_heart16 {
    background-image: url(../Image/common/float_heart02.png);
}

.float_hearts .float_heart07,
.float_hearts .float_heart20 {
    background-image: url(../Image/common/float_heart03.png);
}

.float_hearts .float_heart08,
.float_hearts .float_heart18 {
    background-image: url(../Image/common/float_heart04.png);
}

.float_hearts .float_heart09,
.float_hearts .float_heart14 {
    background-image: url(../Image/common/float_heart05.png);
}

.float_hearts .float_heart10,
.float_hearts .float_heart17 {
    background-image: url(../Image/common/float_heart01.png);
}

.float_heart01 {
    left: 1%;
    -webkit-animation-duration: 14s;
    animation-duration: 14s;
}

.float_heart02 {
    left: 5%;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 1.6s;
    animation-delay: 1.6s;
}

.float_heart03 {
    left: 10%;
    -webkit-animation-duration: 14.6s;
    animation-duration: 14.6s;
    -webkit-animation-delay: 14s;
    animation-delay: 14s;
}

.float_heart04 {
    left: 15%;
    -webkit-animation-duration: 15.2s;
    animation-duration: 15.2s;
    -webkit-animation-delay: 6.7s;
    animation-delay: 6.7s;
}

.float_heart05 {
    left: 20%;
    -webkit-animation-duration: 15.9s;
    animation-duration: 15.9s;
    -webkit-animation-delay: 9s;
    animation-delay: 9s;
}

.float_heart06 {
    left: 25%;
    -webkit-animation-duration: 15.3s;
    animation-duration: 15.3s;
    -webkit-animation-delay: 10.8s;
    animation-delay: 10.8s;
}

.float_heart07 {
    left: 30%;
    -webkit-animation-duration: 16.1s;
    animation-duration: 16.1s;
    -webkit-animation-delay: 8.3s;
    animation-delay: 8.3s;
}

.float_heart08 {
    left: 35%;
    -webkit-animation-duration: 14.8s;
    animation-duration: 14.8s;
    -webkit-animation-delay: 1.8s;
    animation-delay: 1.8s;
}

.float_heart09 {
    left: 40%;
    -webkit-animation-duration: 15.4s;
    animation-duration: 15.4s;
    -webkit-animation-delay: 6.9s;
    animation-delay: 6.9s;
}

.float_heart10 {
    left: 45%;
    -webkit-animation-duration: 16.5s;
    animation-duration: 16.5s;
    -webkit-animation-delay: 1s;
    animation-delay: 2.4s;
}

.float_heart11 {
    left: 50%;
    -webkit-animation-duration: 15.7s;
    animation-duration: 15.7s;
}

.float_heart12 {
    left: 55%;
    -webkit-animation-duration: 14.7s;
    animation-duration: 14.7s;
    -webkit-animation-delay: 8s;
    animation-delay: 8s;
}

.float_heart13 {
    left: 60%;
    -webkit-animation-duration: 16s;
    animation-duration: 16s;
    -webkit-animation-delay: 7.6s;
    animation-delay: 7.6s;
}

.float_heart14 {
    left: 65%;
    -webkit-animation-duration: 16.3s;
    animation-duration: 16.3s;
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}

.float_heart15 {
    left: 70%;
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-delay: 10s;
    animation-delay: 10s;
}

.float_heart16 {
    left: 75%;
    -webkit-animation-duration: 15.6s;
    animation-duration: 15.6s;
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}

.float_heart17 {
    left: 80%;
    -webkit-animation-duration: 16.8s;
    animation-duration: 16.8s;
    -webkit-animation-delay: 12s;
    animation-delay: 12s;
}

.float_heart18 {
    left: 85%;
    -webkit-animation-duration: 14.8s;
    animation-duration: 14.8s;
    -webkit-animation-delay: 3s;
    animation-delay: 3;
}

.float_heart19 {
    left: 90%;
    -webkit-animation-duration: 15.5s;
    animation-duration: 15.5s;
    -webkit-animation-delay: 5s;
    animation-delay: 5s;
}

.float_heart20 {
    left: 95%;
    -webkit-animation-duration: 16.1s;
    animation-duration: 16.1s;
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
}

@-webkit-keyframes Drop01 {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 0;
    }

    50% {
        -webkit-transform: translateY(500px);
        transform: translateY(500px);
        opacity: 1;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        -webkit-transform: translateY(1000px);
        transform: translateY(1000px);
        opacity: 0;
    }
}

@keyframes Drop01 {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 0;
    }

    50% {
        -webkit-transform: translateY(500px);
        transform: translateY(500px);
        opacity: 1;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        -webkit-transform: translateY(1000px);
        transform: translateY(1000px);
        opacity: 0;
    }
}

@-webkit-keyframes Drop02 {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 0;
    }

    50% {
        -webkit-transform: translateY(500px) translateX(50px);
        transform: translateY(500px) translateX(50px);
        opacity: 1;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        -webkit-transform: translateY(1000px);
        transform: translateY(1000px);
        opacity: 0;
    }
}

@keyframes Drop02 {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 0;
    }

    50% {
        -webkit-transform: translateY(500px) translateX(50px);
        transform: translateY(500px) translateX(50px);
        opacity: 1;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        -webkit-transform: translateY(1000px);
        transform: translateY(1000px);
        opacity: 0;
    }
}

@-webkit-keyframes Drop03 {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 0;
    }

    50% {
        -webkit-transform: translateY(500px) translateX(-50px);
        transform: translateY(500px) translateX(-50px);
        opacity: 1;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        -webkit-transform: translateY(1000px);
        transform: translateY(1000px);
        opacity: 0;
    }
}

@keyframes Drop03 {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 0;
    }

    50% {
        -webkit-transform: translateY(500px) translateX(-50px);
        transform: translateY(500px) translateX(-50px);
        opacity: 1;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        -webkit-transform: translateY(1000px);
        transform: translateY(1000px);
        opacity: 0;
    }
}

@media only screen and (max-height: 800px) {
    #top .mv_right {
        padding-top: 10%;
    }

    #top .mv_right .main_ttl {
        font-size: 22px;
    }
}

/*-----------------------------------------------------

	TOP　トップページ

------------------------------------------------------*/
/*business*/
#top .container.service_bg {
    padding: 12.429378531073446vw 0;
    background: url(../Image/top/service_bg.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
}


#top .business_list {
    width: min(90%, 1600px);
    margin: 0 auto;
    padding-top: 8em;
}

#top .business_list li {
    width: 100%;
    border: solid 3px #00a6bf;
    border-radius: 20px;
    margin-right: 41px;
    background: #fff;
    transition: 0.4s;
}

#top .business_list.column02 {
    flex-wrap: wrap;
    justify-content: space-between;
}

#top .business_list.column02 li {
    width: 49%;
    margin-right: 0px;
}

#top .business_list.column02 li:nth-child(n + 3) {
    margin-top: 2rem;
}

#top .business_list li:last-child {
    margin-right: 0;
}

#top .business_list li.j_kids {
    border-color: #00a6bf;
}

#top .business_list li.j_traning {
    border-color: #f91864;
}

#top .business_list li.j_stage {
    border-color: #b900c0;
}

#top .business_list li.j_club {
    border-color: #ffe012;
}

#top .business_list li .img_box {
    text-align: center;
}

#top .business_list li .txt_box {
    transition: 0.4s;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#top .business_list:nth-of-type(1) .txt_box {
    padding: 0 20px;
}

#top .business_list .business_ttl {
    font-size: 19px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 18px;
    text-align: center;
}

#top .business_list .business_ttl span {
    line-height: 1;
    margin-top: 5px;
    display: block;
    transition: 0.4s;
}

#top .business_list li .txt_box p {
    line-height: 1.7;
}



#top .business_list:nth-of-type(2) {
    margin-top: 50px;
}

#top .business_list .list_in {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 30px;
    align-items: stretch;
    padding: 30px;
    background: #fff;
    border: 2px solid #00a0c6;
    border-radius: 10px;
}

img {
    max-width: none !important;
    width: 100%;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
}

#top .business_list .img_box img {
    max-height: 100%;
}

#top .business_list:nth-of-type(2) .txt_box {
    width: calc(100% - 305px);
    padding-left: 15px;
}

#top .voice_box {}

#top .voice_boxIn {
    border-radius: 20px;
    background: url(../Image/top/img_voice.jpg) no-repeat left top;
    display: block;
    background-color: #fff;
    margin-top: 80px;
    position: relative;
}

/*#top .voice_boxIn:after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: solid 0px #e6002f;
	transition: 0.4s;
	opacity: 0;
	border-radius: 20px;
}*/
#top .voice_box .ttl_box {
    display: flex;
    justify-content: flex-end;
}

#top .voice_box .ttl_01 {
    width: 50%;
    background: url(../Image/top/voice_heart.png) no-repeat right 52px bottom 37px;
    padding: 44px 0;
    margin-bottom: 0;
}

.business_list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/*hover*/
@media only screen and (min-width: 768px) {
    #top .business_list li:hover {
        background: #ffe4d5;
        box-shadow: 4px 6px 13px 2px rgba(0, 0, 0, 0.13);
    }

    #top .business_list li:hover.j_kids {
        background: #e5fcff;
    }

    #top .business_list li:hover.j_traning {
        background: #ffe5e9;
    }

    #top .business_list li:hover.j_stage {
        background: #fef0ff;
    }

    #top .business_list li:hover.j_club {
        background: #fff9d1;
    }

    /*#top .business_list li:hover .txt_box {
		color: #fff;
	}*/
    /*#top .business_list li:hover .business_ttl span {
		color: #fff!important;
	}*/
    #top .voice_box .voice_boxIn:hover {
        box-shadow: 4px 5px 12px 1px rgba(0, 0, 0, 0.1);
    }
}

/*blog*/
#top .news_list li {
    width: 50%;
    border-bottom: solid 1px #e2e2e2;
    border-right: solid 1px #e2e2e2;
}

#top .news_list li:nth-last-child(-n + 2) {
    border-bottom: none;
}

#top .news_list li:nth-child(even) {
    border-right: none;
}

#top .news_list li .news_listIn {
    padding: 60px 30px 80px 30px;
}

.news_list .img_box {
    width: 200px;
    overflow: hidden;
}

.news_list .img_box img {
    transition: 0.4s linear;
    border-radius: 20px;
}

.news_list .txt_box {
    width: calc(100% - 200px);
    padding-left: 20px;
}

.news_list .txt_box span {
    display: inline-block;
}

.news_list .cate {
    font-size: 12px;
    color: #fff;
    border-radius: 5px;
    padding: 7px 10px;
    line-height: 1;
    background: #00a6bf;
    margin-right: 8px;
}

.news_list .cate.cate01 {
    background: #00a6bf;
}

.news_list .cate.cate02 {
    background: #e6002f;
}

.news_list .cate.cate03 {
    background: #ffa132;
}

.news_list .cate.cate04 {
    background: #b900c0;
}

.news_list .cate.cate05 {
    background: #f91864;
}

.news_list .txt_box .date {
    color: #7b7b7b;
}

.news_list .news_ttl {
    margin-top: 15px;
    font-weight: bold;
    font-size: 18px;
}

.news_ttl:after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background: #e6002f;
    transition: 0.4s;
}

.news_list .news_txt {
    margin-top: 8px;
}

@media only screen and (min-width: 768px) {
    .news_list a:hover .img_box img {
        transform: scale(0.9);
    }

    .news_list a:hover .news_ttl:after {
        width: 100%;
    }
}

/*access*/
#top .access {
    background: url(../Image/top/access_bg.png) no-repeat;
    background-size: cover;
}

.access_tab {
    max-width: 900px;
    margin: 0 auto;
}

.access_tab .tab_area {
    margin: 0 10px;
}

.access_tab .tab_area.flex_box {
    display: flex;
}

.access_tab .tab_area label {
    border-radius: 10px 10px 0 0;
    width: calc(100% / 4);
    text-align: center;
    display: inline-block;
    border: solid 3px #00a6bf;
    border-bottom: none;
    padding: 9px 0;
    cursor: pointer;
    background: #fff;
}

.access_tab .tab_area.flex_box label {
    width: calc(100% / 5);
}

.access_tab .tab_area label.tab_item02 {
    border-color: #f91864;
}

.access_tab .tab_area label.tab_item03 {
    border-color: #00a6bf;
}

.access_tab .tab_area label.tab_item04 {
    border-color: #ffe012;
}

.access_tab .tab_area label.tab_item05 {
    border-color: #45deb3;
}

.access_tab .tab_map {
    display: none;
    border-radius: 10px;
    border: solid 3px #00a6bf;
    background: #fff;
    justify-content: space-between;
    flex-wrap: wrap;
}

.access_tab .tab_map#map02 {
    border-color: #f91864;
}

.access_tab .tab_map#map03 {
    border-color: #00a6bf;
}

.access_tab .tab_map#map04 {
    border-color: #ffe012;
}

.access_tab .tab_map#map05 {
    border-color: #45deb3;
}

.access_tab .tab_map .info {
    width: 40%;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.access_tab .tab_map .info .map_ttl {
    font-size: 22px;
}

.access_tab .tab_map .info .ttl_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    width: 100%;
}

/*.access_tab .tab_map .info .ttl_en {
	font-size: 17px;
	line-height: 1;
	margin-top: 15px;
	display: inline-block;
    text-align: center;
	width: 47%;
	color: #fff;
	    padding: 5px 0;
}*/

.access_cat {
    font-size: 14px;
    line-height: 1;
    margin-top: 15px;
    display: inline-block;
    text-align: center;
    width: 47%;
    color: #fff;
    padding: 5px 0;
    border-radius: 5px;
}

.access_cat.step {
    background-color: #ffa132;
}

.access_cat.stage {
    background-color: #b900c0;
}

.access_cat.training {
    background-color: #f91864;
}

.access_cat.kids {
    background-color: #00a6bf;
}

.access_cat.club {
    background-color: #ffe012;
}

.access_cat.wd {
    width: 20%;
}

.access_tab .tab_map .info .address {
    margin-top: 21px;
    margin-bottom: 10px;
}

.access_tab .tab_map .info .tel {
    height: 44px;
}

#top input[type="radio"] {
    display: none;
}

#top #tab01:checked~.map_wrap #map01 {
    display: flex;
}

#top #tab02:checked~.map_wrap #map02 {
    display: flex;
}

#top #tab03:checked~.map_wrap #map03 {
    display: flex;
}

#top #tab04:checked~.map_wrap #map04 {
    display: flex;
}

#top #tab05:checked~.map_wrap #map05 {
    display: flex;
}

#top #tab01:checked~.tab_area .tab_item01 {
    background: #ffa132;
    color: #fff;
}

#top #tab02:checked~.tab_area .tab_item02 {
    background: #f91864;
    color: #fff;
}

#top #tab03:checked~.tab_area .tab_item03 {
    background: #00a6bf;
    color: #fff;
}

#top #tab04:checked~.tab_area .tab_item04 {
    background: #ffe012;
    color: #fff;
}

#top #tab05:checked~.tab_area .tab_item05 {
    background: #45deb3;
    color: #fff;
}

.access_tab .map {
    width: 60%;
    overflow: hidden;
    border-radius: 0px 10px 10px 0px;
}

.access_tab .map iframe {
    vertical-align: bottom;
}

/*recruit*/
#top .recruit .recruit_in {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 900px;
}

#top .recruit .txt_box,
#top .recruit .img_box {
    width: 50%;
    text-align: center;
}

/*hover*/
@media only screen and (min-width: 768px) {}

#top footer {
    /*background-color: #fff8f7;*/
    margin-top: -28px;
}

/*--------------------------------------------

  下層ページ

--------------------------------------------*/
.under header .header_logo {
    padding-top: 35px;
}

.under header .header_logo .logo_ttl {
    opacity: 1;
}

.under header .header_logo .logo_ttl img {
    width: 200px;
}

.under header.fixed .header_logo .logo_ttl img {
    width: 150px;
}

.under header.fixed .header_logo {
    padding-top: 10px;
}

.under .mainimage {
    margin-top: 143px;
}


.under .inner_box {
    background: #fff;
    padding: 50px 0;
}

.under .page_ttl {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 20px;
}

.under .page_ttl .main {
    font-family: "Kosugi Maru", sans-serif;
    font-size: 45px;
    font-weight: normal;
}

.under .page_ttl .sub {
    font-size: 13px;
    font-family: "Sawarabi Gothic", sans-serif;
    color: #00A6BF;
}

.under .float_hearts01 div {
    -webkit-animation-name: Drop04;
    animation-name: Drop04;
}

.under .float_hearts02 div {
    -webkit-animation-name: Drop05;
    animation-name: Drop05;
}

@-webkit-keyframes Drop04 {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 0;
    }

    50% {
        -webkit-transform: translateY(250px);
        transform: translateY(250px);
        opacity: 1;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        -webkit-transform: translateY(500px);
        transform: translateY(500px);
        opacity: 0;
    }
}

@keyframes Drop04 {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 0;
    }

    50% {
        -webkit-transform: translateY(250px);
        transform: translateY(250px);
        opacity: 1;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        -webkit-transform: translateY(500px);
        transform: translateY(500px);
        opacity: 0;
    }
}

@-webkit-keyframes Drop05 {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 0;
    }

    50% {
        -webkit-transform: translateY(250px) translateX(50px);
        transform: translateY(250px) translateX(50px);
        opacity: 1;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        -webkit-transform: translateY(500px);
        transform: translateY(500px);
        opacity: 0;
    }
}

@keyframes Drop05 {
    0% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 0;
    }

    50% {
        -webkit-transform: translateY(250px) translateX(50px);
        transform: translateY(250px) translateX(50px);
        opacity: 1;
    }

    90% {
        opacity: 0.3;
    }

    100% {
        -webkit-transform: translateY(500px);
        transform: translateY(500px);
        opacity: 0;
    }
}

/*-----------------------------------------------------

	about　　ビジョン

------------------------------------------------------*/
#about footer {
    background-color: #fff8f7;
}

#about .vision_wrap {
    max-width: 650px;
    margin: 0 auto;
}

#about .vision_wrap .ttl_box {
    font-size: 25px;
    border: solid 2px #e6002f;
    border-radius: 10px;
    background-color: white;
    padding: 15px;
    font-weight: normal;
    text-align: center;
    position: relative;
    line-height: 1.9;
    margin-bottom: 25px;
}

#about .vision_wrap .ttl_box:after {
    content: "";
    width: 50px;
    height: 50px;
    background: url(../Image/common/img_heart.png) no-repeat;
    position: absolute;
    right: -25px;
    bottom: 0;
    -webkit-background-size: contain;
    background-size: contain;
}

#about .vision_wrap .ttl_box.hl:after {
    right: 0;
    left: -25px;
}

#about .vision_wrap .txt_box {
    text-align: center;
    line-height: 2.2;
}

#about footer {
    background-color: #fff8f7;
}

/*-----------------------------------------------------

	事業内容 .business

------------------------------------------------------*/
.business .top_img img {
    border-radius: 10px;
}

.business .business_box {
    margin-top: 70px;
}

.business .business_cap {
    background: #fff;
    padding: 30px;
    max-width: 1020px;
    margin: 50px auto 0;
}

.business .business_cap .cap_ttl {
    font-size: 40px;
    text-align: center;
    margin-bottom: 20px;
    font-weight: normal;
}

.business .business_cap .cap_txt {
    margin-bottom: 20px;
}

.business .business_content {}

.business .business_ttl {
    text-align: center;
    font-size: 23px;
    font-weight: normal;
    margin-bottom: 20px;
    font-family: "Kosugi Maru", sans-serif;
}

.business .business_ttl span {
    display: inline-block;
}

.business .business_ttl span:after {
    content: "";
    width: 80%;
    height: 2px;
    background-color: #004dd3;
    display: block;
    margin: 10px auto 0;
}

.business .ttl_box {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    position: relative;
    border-bottom: solid 4px #00a6bf;
}

.business .ttl_box:after {
    width: 100%;
    height: 4px;
    display: block;
    left: 0;
    position: absolute;
    margin-top: 5px;
}

.business .ttl_box .ttl_02 {
    margin-bottom: 0px;
}

.business .business_imgs {
    display: flex;
    margin-top: 30px;
    flex-wrap: wrap;
    justify-content: center;
}

.business .business_imgs .img_box {
    margin-right: 30px;
    width: 277px;
}

.business .business_imgs .img_box:last-child {
    margin-right: 0;
}

#job_kids .business_imgs {
    width: 80%;
    margin: 30px auto 0;
}

#job_kids .business .business_imgs .img_box:nth-child(3n) {
    margin-right: 0;
}

#job_kids .business .business_imgs .img_box:nth-child(n + 4) {
    margin-top: 30px;
}

/* .business .access_badge {
    margin-left: 20px;
} */

.business .access_badge .item {
    display: inline-block;
    width: 120px;
    text-align: center;
    color: #fff;
    background: #0caac2;
    border-radius: 7px;
    padding: 5px;
    font-size: 14px;
    margin: 0 10px;
}

.business .access_badge .item.headoffice {
    background-color: #ffa132;
}

.business .access_badge .item.amahigashi {
    background-color: #ffe012;
}

.business .access_badge .item.takara {
    background-color: #f91864;
}

.business .access_badge .item.sennan {
    background-color: #45deb3;
}

.business .access_badge .item.sample_btn {
    background-color: gray;
}

.business .business_content .content_list .ttl {
    font-size: 20px;
    margin-bottom: 10px;
    background: #f5f5f5;
    padding: 10px 40px;
    position: relative;
}

.business .business_content .content_list .ttl:before {
    content: "";
    width: 2px;
    height: 43px;
    position: absolute;
    top: -10px;
    left: 15px;
}

.business .business_content .content_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    padding: 0 60px;
}

.business .business_content .content_list li {
    width: 48%;
    padding: 30px;
}

.business .business_content .content_list .img_box {
    width: 90%;
    margin: 0 auto;
    text-align: center;
}

.business .business_content .content_list .img_box img {
    border-radius: 5px;
}

.business .business_content .content_list .txt {
    margin-top: 20px;
}

.business .business_content .business_imgs {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
    padding: 0 50px;
}

.business .business_content .business_imgs li {
    padding: 10px;
}

.business .business_content .business_imgs img {}

/*job_kids*/
#job_kids .container,
#job_kids footer {
    background-color: #f2fdff;
}

#job_kids .ttl_box {
    border-color: #00a6bf;
}

#job_kids .ttl_box01-2 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* ← 左揃えにする正しい指定！ */
    padding: 20px;
}

#job_kids .business .business_content .content_list .ttl:before {
    background: #00a6bf;
}

#job_kids .feature_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px 60px 0;
}

#job_kids .feature_list li {
    width: 48%;
    border: solid 2px #00a6bf;
    border-radius: 10px;
    position: relative;
    margin-bottom: 30px;
    padding: 30px;
}

#job_kids .feature_list li:before {
    content: "";
    width: 50px;
    height: 50px;
    background-image: url(../Image/business/heart_bl01.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
}

#job_kids .feature_list li:nth-child(2):before {
    background-image: url(../Image/business/heart_bl02.png);
}

#job_kids .feature_list li:nth-child(3):before {
    background-image: url(../Image/business/heart_bl03.png);
}

#job_kids .feature_list li:nth-child(4):before {
    background-image: url(../Image/business/heart_bl04.png);
}

#job_kids .feature_list li:nth-last-child(-n + 2) {
    margin-bottom: 0;
}

#job_kids .feature_list .ttl {
    color: #00a6bf;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px;
}

/*job_step*/
#job_step .container,
#job_step footer {
    background-color: #fff5ef;
}

#job_step .ttl_box {
    border-color: #ffa132;
}

#job_step .business .business_content .content_list .ttl:before {
    background: #ffa132;
}

/*job_training*/
#job_training .ttl_box {
    border-color: #f91864;
}

#job_training .container,
#job_training footer {
    background-color: #ffedf0;
}

#job_training .content_list {
    width: 70%;
    margin: 0 auto;
    padding: 0;
    justify-content: space-between;
}

#job_training .ttl_heart {
    font-size: 20px;
}

#job_training .inner_box:last-child {
    padding-bottom: 70px;
}

#job_training .sub_sec {
    padding-top: 80px;
}

#job_training .sub_sec .ttl {
    font-size: 28px;
    margin-bottom: 20px;
    color: #ffa132;
    line-height: 1;
    border-left: solid 4px #ffa132;
    padding-left: 15px;
}

#job_training .sub_sec#takara .ttl {
    color: #f91864;
    border-color: #f91864;
}

#job_training .j_training_imgs {
    margin-top: 50px;
}

#job_training .j_training_imgs .wrap {
    display: flex;
    flex-wrap: wrap;
}

#job_training .j_training_imgs .wrap .img_box {
    margin-right: 30px;
    width: 380px;
    position: relative;
}

#job_training .j_training_imgs .wrap .img_box:nth-child(n + 4) {
    margin-top: 30px;
}

#job_training .j_training_imgs .ttl {
    text-align: center;
    margin-bottom: 20px;
}

#job_training .j_training_imgs .ttl span {
    color: #fff;
    padding: 5px 15px;
    background: #ffa132;
    font-weight: 500;
    font-size: 20px;
    display: inline-block;
    border-radius: 5px;
}

#job_training .j_training_imgs.takara .ttl span {
    background: #f91864;
}

#job_training .j_training_imgs .wrap .img_box:nth-child(3n) {
    margin-right: 0;
}

#job_training .j_training_imgs .wrap .img_box a {
    pointer-events: none;
}

@media only screen and (min-width: 767px) {}

/*
#job_training .j_training_imgs .wrap.wrap01 .img_box {
    width: 425px;
}
#job_training .j_training_imgs .wrap.wrap01 .img_box:first-child {
    width: 250px;
}
#job_training .j_training_imgs .wrap.wrap02 .img_box {
    width: 725px;
}
#job_training .j_training_imgs .wrap.wrap02 .img_box:nth-child(2) {
    width: 425px;
}
#job_training .j_training_imgs .wrap.wrap03 .img_box {
    width: 550px;
}
*/
#job_training .j_training_imgs .wrap .img_box img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

/*job_stage*/
#job_stage .ttl_box {
    border-color: #b900c0;
}

#job_stage .container,
#job_stage footer {
    background-color: #fef7ff;
}

#job_stage .msg_box {
    padding: 20px 30px;
    border: solid 3px #b900c0;
    border-radius: 10px;
    max-width: 950px;
    margin: 40px auto 0;
}

#job_stage .msg_box .ttl {
    font-size: 25px;
    color: #b900c0;
    margin-bottom: 10px;
}

/*j_club*/
#j_club .ttl_box {
    border-color: #ffe012;
}

#j_club .container,
#j_club footer {
    background-color: #fffbdf;
}

#j_club .msg_box {
    padding: 20px 30px;
    border: solid 3px #ffe012;
    border-radius: 10px;
    max-width: 950px;
    margin: 40px auto 0;
}

#j_club .msg_box .ttl {
    font-size: 25px;
    color: #ffe012;
    margin-bottom: 10px;
}

#j_club .sche_box {
    padding: 0 60px;
}

#j_club .sche_box .ttl {
    margin-bottom: 15px;
    font-size: 20px;
}

#j_club .sche_box .txt {
    text-align: center;
    margin-top: 20px;
    width: 30%;
    margin: 20px auto 0;
    padding: 10px;
    font-size: 18px;
    color: #ffa312;
    border-top: solid 1px #ffa312;
    border-bottom: solid 1px #ffa312;
}

/*-----------------------------------------------------

	voice　　利用者の声

------------------------------------------------------*/
/*#voice footer {
    background-color: #fff8f7;
}
.voice_wrap {
	max-width: 900px;
	margin: 0 auto;
}
#voice .voice_box {
	max-width: 900px;
	margin-bottom: 40px;
}
.voice_box .ttl {
	font-size: 20px;
    padding-bottom: 5px;
    border-bottom: solid 2px #e6002f;
    margin-bottom: 15px;

}
.voice_box .ttl.color_j_traning {
	border-color: #f91864;
}
.voice_box .ttl.color_j_club {
	border-color: #ffe012;
}
.voice_box .ttl.color_j_stage {
	border-color: #b900c0;
}
.voice_list {
	justify-content: space-between;
}
.voice_list li {
	border: solid 2px #eaeaea;
	border-radius: 10px;
	width: 48%;
	margin-bottom: 30px;
	padding: 20px;
}
.voice_list li:nth-last-child(-n+2) {
	margin-bottom: 0;
}
.voice_list .voice_ttl {
	font-size: 18px;
	margin-bottom: 15px;
	padding-left: 10px;
	border-left: solid 5px #e6002f;
}
.voice_list p {
	margin-bottom: 10px;
	    line-height: 1.7;
    padding: 0 10px;
}
.voice_list .sub {
	font-size: 14px;
	text-align: right;
}*/
/*html差替え後仕様css*/

#voice footer {
    background-color: #fff8f7;
}

.voice_wrap {
    max-width: 900px;
    margin: 0 auto;
    margin-top: 50px;
}

#voice .voice_box {
    max-width: 900px;
    margin-bottom: 40px;
}

.voice_box .ttl {
    font-size: 20px;
    padding-bottom: 5px;
    border-bottom: solid 2px #e6002f;
    margin-bottom: 15px;
}

.voice_box .ttl.color_j_traning {
    border-color: #f91864;
}

.voice_box .ttl.color_j_kids {
    border-color: #00a6bf;
}

.voice_box .ttl.color_j_step {
    border-color: #ffa132;
}

.voice_list li {
    display: flex;
    border: solid 2px #eaeaea;
    border-radius: 10px;
    margin-top: 40px;
    padding: 20px;
}

.voice_list li:first-child {
    margin-top: 0;
}

.voice_list .txt_box {
    width: 60%;
    padding-right: 20px;
    line-height: 1.8;
    padding: 10px;
}

.voice_list .txt_box .free_txt {
    display: block;
    margin-top: 10px;
    text-align: right;
}

.voice_list .img_box {
    width: 40%;
    text-align: center;
}

.voice_list .voice_ttl {
    font-size: 18px;
    margin-bottom: 30px;
    padding-left: 10px;
    border-left: solid 5px #e6002f;
}

.voice_list p {
    margin-bottom: 10px;
    line-height: 1.8;
    padding: 0 10px;
}

.voice_list .sub {
    font-size: 14px;
    text-align: right;
}

#voice .voice_box {
    display: none;
    opacity: 0;
    transition: 0.3s ease-in-out;
}

#voice .tab_area {
    /*	text-align: center;*/
    max-width: 600px;
    margin: 0 auto;
}

#voice .tab_area label {
    display: inline-block;
    width: 170px;
    margin: 10px;
    padding: 10px 20px;
    border: solid 2px #00a6bf;
    text-align: center;
    border-radius: 10px;
    cursor: pointer;
}

#voice .tab_area label span {
    font-size: 13px;
}

#voice .tab_area label.training {
    border-color: #f91864;
}

#voice .tab_area label.step {
    border-color: #ffa132;
}

#voice input[type="radio"] {
    display: none;
}

#voice #tab01:checked~.voice_wrap #job_kids_ama {
    display: block;
    opacity: 1;
}

#voice #tab02:checked~.voice_wrap #job_kids_amanishi {
    display: block;
    opacity: 1;
}

#voice #tab03:checked~.voice_wrap #job_kids_takara {
    display: block;
    opacity: 1;
}

#voice #tab04:checked~.voice_wrap #job_training {
    display: block;
    opacity: 1;
}

#voice #tab05:checked~.voice_wrap #job_training_takara {
    display: block;
    opacity: 1;
}

#voice #tab06:checked~.voice_wrap #job_step {
    display: block;
    opacity: 1;
}

#voice #tab07:checked~.voice_wrap #j-training-takara-prs {
    display: block;
    opacity: 1;
}

#voice #tab08:checked~.voice_wrap #j-training-1st {
    display: block;
    opacity: 1;
}

#voice #tab01:checked~.tab_area .tab_item01 {
    background: #00a6bf;
    color: #fff;
}

#voice #tab02:checked~.tab_area .tab_item02 {
    background: #00a6bf;
    color: #fff;
}

#voice #tab03:checked~.tab_area .tab_item03 {
    background: #00a6bf;
    color: #fff;
}

#voice #tab04:checked~.tab_area .tab_item04 {
    background: #f91864;
    color: #fff;
}

#voice #tab05:checked~.tab_area .tab_item05 {
    background: #f91864;
    color: #fff;
}

#voice #tab06:checked~.tab_area .tab_item06 {
    background: #ffa132;
    color: #fff;
}

#voice #tab07:checked~.tab_area .tab_item07 {
    background: #f91864;
    color: #fff
}

#voice #tab08:checked~.tab_area .tab_item08 {
    background: #f91864;
    color: #fff
}

#voice .tab_area .tab_item07 {
    width: 200px;
    /* padding: 10px 0; */
}

#voice footer {
    background-color: #fff8f7;
}

/*-----------------------------------------------------

	company　　会社概要

------------------------------------------------------*/
#company .history .table_wrap {
    padding: 50px 0;
    background: #fff;
}

.table_history {
    max-width: 760px;
    margin: auto;
}

.table_history th {
    padding: 30px 20px;
    vertical-align: top;
    text-align: left;
    border-right: solid 2px #dadada;
    position: relative;
    font-weight: normal;
    width: 23%;
}

.table_history th:after {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url(../Image/common/float_heart01.png) no-repeat;
    background-size: 20px;
    position: absolute;
    top: 30px;
    right: -21px;
}


.table_history td {
    padding: 30px 20px 30px 50px;
}

.table_primary {
    max-width: 70%;
    margin: auto;
}

.table_primary.wh {
    max-width: 75%;
}

.table_primary th,
.table_primary td {
    padding: 30px 20px;
}

.table_primary th {
    vertical-align: top;
    text-align: left;
    font-weight: normal;
    border-bottom: solid 1px #004dd3;
    width: 30%;
}

.table_primary td {
    border-bottom: solid 1px #dadada;
}

.place ul li:nth-child(n + 2) {
    margin-top: 15px;
    border-top: solid 1px #eee;
    padding-top: 15px;
}

.place ul li span {
    font-weight: bold;
    font-size: 17px;
    display: inline-block;
    margin-bottom: 5px;
}

.table_history ul li:not(:first-child) {
    margin-top: 20px;
}

/*-----------------------------------------------------

	access　　施設紹介

------------------------------------------------------*/
#access footer {
    background-color: #fff8f7;
}

#access .anchor {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#access .anchor.test {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#access .anchor.test li {
    width: 19%;
    margin-right: 20px;
}

#access .anchor li {
    width: 24%;
    text-align: center;
}

#access .anchor.a_navi li {
    width: 19%;
}

#access .anchor li a {
    color: #fff;
    padding: 10px 0;
    display: block;
    border-radius: 10px;
}

#access .anchor li:nth-child(1) a {
    background-color: #ffa132;
}

#access .anchor li:nth-child(2) a {
    background-color: #f91864;
}

#access .anchor li:nth-child(3) a {
    background-color: #00a6bf;
}

#access .anchor li:nth-child(4) a {
    background-color: #ffe012;
}

#access .anchor li:nth-child(5) a {
    background-color: #27b1a5;
}

#access .access_sec {
    padding-top: 90px;
}

#access .access_sec .inner_box {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
}

#access .access_sec .info_box {
    width: 50%;
    padding: 40px;
}

#access .access_sec table th,
#access .access_sec table td {
    padding: 20px 0;
}

#access .access_sec table th {
    width: 25%;
    border-bottom: solid 1px #e6002f;
    text-align: left;
    padding-left: 15px;
    /*font-weight: normal;*/
}

#access .access_sec table td {
    padding-left: 15px;
    border-bottom: solid 1px #dadada;
}

#access .service_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#access .service_list li {
    width: 47%;
}

#access .service_list li:nth-child(-n + 2) a {
    margin-top: 0;
}

#access .service_list li .access_cat {
    width: 100%;
}

#access .access_sec .map_box {
    width: 50%;
}

#access .access_sec .map_box iframe {
    vertical-align: bottom;
}

#access .img_box {
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
    justify-content: space-between;
}

#access .img_box a {
    display: block;
    height: 100%;
    pointer-events: none;
}

#access .img_box .box_2 {
    width: 50%;
}

#access .img_box .box_3 {
    width: 30%;
    margin-right: 5%;
    margin-top: 30px;
}

#access .img_box .box_3:nth-child(3n) {
    margin-right: 0;
}

#access .img_box .box_3:nth-child(-n + 3) {
    margin-top: 0;
}

#access .img_box .box_3 img {
    width: 100%;
    object-fit: cover;
    height: 100%;
}

#access .img_box .box_2:nth-child(1) {
    padding-right: 20px;
}

#access .img_box .box_2:nth-child(2) {
    padding-left: 20px;
}

#access .img_box .imgs {
    display: flex;
    flex-wrap: wrap;
}

#access .img_box .imgs .img {
    width: 48%;
}

#access .img_box .imgs .img:nth-child(n + 3) {
    margin-top: 10px;
}

#access .img_box .img img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

#access .img_box .imgs .img:nth-child(odd) {
    margin-right: 2%;
}

#access .img_box .imgs .img:nth-child(even) {
    margin-left: 2%;
}

#access .img_box .imgs img:nth-child(n + 3) {
    margin-top: 15px;
}

#access .img_txt {
    margin-top: 10px;
}

#access .hyouka_box {
    background: #fff;
    padding: 20px 40px;
    margin-top: 20px;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
}

#access .hyouka_box ul {
    padding-left: 2em;
    margin-top: 5px;
}

#access .hyouka_box li {
    list-style: disc;
}

#access .hyouka_box .link {
    text-decoration: underline;
}

#access .access_sec .hyouka_box table th {
    width: 20%;
}

#access .access_sec .hyouka_box table td {
    padding-top: 0;
}

@media only screen and (min-width: 768px) {
    #access .service_list li a:hover {
        color: #fff;
        opacity: 0.7;
    }

    #access .anchor li a:hover,
    #access .hyouka_box .link:hover {
        opacity: 0.7;
    }
}

/*-----------------------------------------------------

	sitemap　　サイトマップ

------------------------------------------------------*/
#sitemap footer {
    background-color: #fff8f7;
}

.sitemap_list {
    max-width: 760px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.sitemap_list li {
    width: 48%;
    padding: 40px 20px;
    border-bottom: solid 3px #dadada;
}

.sitemap_list li .list_item {
    font-size: 18px;
    display: block;
}

.sitemap_list li a.list_item:after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background: #004DD3;
    transition: 0.4s;
}

.sitemap_list>li span {
    color: #004DD3;
    margin-left: 10px;
}

.sitemap_list .list_sub {
    display: flex;
    width: 100%;
}

.sitemap_list .list_sub ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: 150px;
}

.sitemap_list .list_sub li {
    border-bottom: none;
    padding: 0;
    margin-bottom: 15px;
}

.sitemap_list .list_sub li:last-child {
    margin-bottom: 0;
}

.sitemap_list .list_sub li .list_item {
    font-size: 16px;
}

.sitemap_list .list_sub>.list_item span {
    margin-left: 0;
}

.sitemap_list .list_sub ul span {
    display: block;
    font-size: 14px;
    margin-left: 0;
    margin-top: 5px;
}

/*hover*/

@media only screen and (min-width: 768px) {
    .sitemap_list li a.list_item:hover:after {
        width: 100%;
    }
}

/*-----------------------------------------------------

	privacy　　プライバシーポリシー

------------------------------------------------------*/
#privacy footer {
    background-color: #fff8f7;
}

#privacy .privacy_list li {
    margin-bottom: 30px;
}

#privacy .privacy_list li:last-child {
    margin-bottom: 0;
}

#privacy .privacy_list .ttl {
    font-size: 20px;
    padding-bottom: 5px;
    border-bottom: solid 2px #004DD3;
    margin-bottom: 15px;
}

/*-----------------------------------------------------

	news　　ブログ

------------------------------------------------------*/
#news footer {
    background-color: #fff8f7;
}

#news main {
    width: 70%;
    padding: 0 20px 0 40px;
}

#news aside {
    width: 30%;
    padding: 0 40px 0 20px;
}

#news .news_list .txt_box {
    padding-left: 30px;
}

#news .news_list li {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: solid 1px #e2e2e2;
}

#news aside .news_list a {
    display: block;
}

#news aside .ttl {
    font-size: 16px;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: dashed 2px #004DD3;
    line-height: 1;
    margin-bottom: 20px;
}

#news aside .news_list .txt_box {
    width: 90%;
    margin: 0 auto;
}

#news aside .news_list .cate {
    font-size: 11px;
    padding: 4px 5px;
}

#news aside .news_list .news_ttl {
    font-weight: normal;
    font-size: 15px;
}

#news aside .news_list .txt_box .date {
    margin-left: 10px;
}

.news_single .ttl {
    font-size: 25px;
    margin-bottom: 10px;
}

.news_single .txt_box {
    margin-bottom: 20px;
    padding-left: 0;
}

.news_single .eyecatch {
    text-align: center;
    overflow: hidden;
    margin-bottom: 20px;
}

.news_single .eyecatch img {
    border-radius: 20px;
}

.news_single .single_txt {
    padding: 0 40px;
    line-height: 1.8;
}

.news_single .single_txt img {
    height: auto;
}

#news footer {
    background-color: #fff8f7;
}

/*-----------------------------------------------------

	contact　　お問い合わせ

------------------------------------------------------*/
#contact {
    overflow: auto;
}

#contact footer {
    background-color: #fff8f7;
}

.contact .lead {
    text-align: center;
    margin-bottom: 30px;
}

/*補助テキスト*/

/*送信ボタン*/
.contact .mfp_buttons {
    margin-top: 50px;
    padding: 0;
}

.contact .mfp_buttons button,
.contact #mfp_button_send {
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    border-radius: 15px;
    padding: 19px 60px;
    border: 1px solid #004dd3;
    background: #fff;
    color: #004dd3;
    transition: 0.4s;
    text-decoration: none;
    text-shadow: none;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.contact .mfp_buttons button:after,
.contact #mfp_button_send:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: -100%;
    background: #004dd3;
    transition: 0.4s;
    top: 0;
    z-index: -1;
}

.contact #mfp_button_cancel {
    background: #dadada;
    border: 1px solid transparent;
    color: #333;
}

.contact #mfp_button_send,
.contact #mfp_button_cancel {
    margin: 0 20px;
}

.contact #mfp_button_cancel:after {
    background: #fff;
}

.contact form input {
    line-height: 22px;
}

.contact .mfp_element_textarea {
    width: 100% !important;
    height: 150px !important;
}

.contact form .long {
    width: 80%;
}

.contact form .middle {
    width: 50%;
}

.contact form .short {
    width: 30%;
}

div.prefcodeResult {
    position: static;
}

@media only screen and (min-width: 768px) {

    .contact .mfp_buttons button:hover,
    .contact #mfp_button_send:hover {
        color: #fff;
        box-shadow: none;
    }

    .contact .mfp_buttons button:hover:after,
    .contact #mfp_button_send:hover:after {
        left: 0;
    }

    .contact .mfp_buttons button#mfp_button_cancel:hover {
        border-color: #dadada;
        background: #fff;
    }
}

/*mailformproを使用する場合、エラーメッセージなどのエフェクトがうざい場合は以下を使ってください。must-fillはサイト毎に変更必要です。*/
/* フォーム部品のボックスシャドウ打消し */
.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea {
    box-shadow: none;
    border-radius: 0px;
    font-size: 14px;
    padding: 5px 9px;
}

/* 入力エラーのチカチカなし、文字色 */
div.mfp_err {
    background: none;
    padding-left: 0;
    color: #a03535;
    font-weight: bold;
    font-size: 13px;
    font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* エラー箇所のフォーム部品を色つきで強調 */
.problem {
    background-color: #efe3e3;
}

/* 入力OKのエフェクト */
div.mfp_ok {
    background-color: #ff7500;
    border-color: #ff7500;
    font-size: 12px;
}

/* ボタンのエフェクト打消し */
.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button {
    font-size: 0.8em;
    text-shadow: none;
}

/* 内容確認画面のテーブルを全幅 */
#mfp_confirm_table {
    width: 70% !important;
    margin: 0 auto;
}

/* 入力画面の「必須」のデザイン */
.must-fill {
    background: #ffaa80;
    padding: 1px 8px;
    color: #fff;
    font-size: 0.7em;
    display: inline-block;
    margin: 7px 0 0 0;
    border-radius: 2px;
    float: right;
}

.not_must-fill {
    background: #999;
    padding: 1px 8px;
    color: #fff;
    font-size: 0.7em;
    display: inline-block;
    margin: 7px 0 0 0;
    border-radius: 2px;
    float: right;
}

.mfp_element_submit:hover,
.mfp_element_reset:hover,
.mfp_element_button:hover,
button.mfp_next:hover,
button.mfp_prev:hover {
    box-shadow: none;
}

/* 内容確認画面のテーブルのデザイン */

table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td {
    font-size: 16px;
    padding: 20px;
    background: #fff;
    border: none;
}

table#mfp_confirm_table tr th {
    width: 30%;
    vertical-align: top;
    text-align: left;
    font-weight: normal;
    border-bottom: solid 1px #e6002f;
}

table#mfp_confirm_table tr td {
    border-bottom: solid 1px #dadada;
}

div#mfp_phase_confirm h4 {
    font-size: 22px;
    font-weight: normal;
    margin: 0 0 30px;
    color: #e6002f;
}

table#mfp_confirm_table tr.mfp_achroma,
.mfp_achroma,
#contact #sec_01 tr {
    background: none;
}

/*=======サンクスページ=======*/

#thanks .txt {
    text-align: center;
}

/*-----------------------------------------------------
  404
------------------------------------------------------*/

#not-found .detialBtn {
    margin-bottom: 30px;
}

#not-found #sec_01 {
    padding: 80px 0;
}

#not-found .txt {
    margin-bottom: 30px;
}

/*--------------------------------------------
  パンくず
--------------------------------------------*/

#breadcrumb {
    line-height: 1;
    text-align: left;
    padding: 6px;
    margin-top: 30px;
}

#breadcrumb ul {
    width: 1200px;
    margin: 0 auto;
}

#breadcrumb li {
    position: relative;
    display: inline-block;
    font-size: 14px;
    color: #444;
    padding-right: 25px;
}

#breadcrumb li:last-child {
    padding-right: 0;
}

#breadcrumb li a:hover {
    text-decoration: none;
}

#breadcrumb li:before {
    position: absolute;
    content: "";
    width: 10px;
    height: 1px;
    background: #333333;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

#breadcrumb li:last-child:before {
    content: none;
}

/*-----------------------------------------------------
  ブログなどのページャー（Wordpress）
------------------------------------------------------*/
/* ナビゲーション全体のデザイン */
.wp-pagenavi {
    text-align: center;
    margin-top: 50px;
}

/* ボタン<a>タグのデザイン */
.wp-pagenavi a {
    padding: 0 10px;
    background: #fff;
    color: #e6002f;
    display: inline-block;
    border: 1px solid #eaeaea;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-decoration: none;
    font-weight: normal;
}

/* ボタン<a>タグのホバー時のデザイン */
.wp-pagenavi a:hover {
    background: #eaeaea;
    color: #333;
    text-decoration: none;
}

/* 表示中のページ番号のデザイン */
.wp-pagenavi .current {
    padding: 0 10px;
    background: #eaeaea;
    color: #333;
    display: inline-block;
    border: 1px solid #eaeaea;
    width: 40px;
    height: 40px;
    line-height: 40px;
}

.wp-pagenavi .extend {
    margin-right: 8px !important;
}

/* 矢印（ < とか > ）のデザイン */
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
    color: #fff;
    position: relative;
}

.wp-pagenavi .nextpostslink:before,
.wp-pagenavi .previouspostslink:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #e6002f;
}

.wp-pagenavi .previouspostslink:before {
    content: "\f104";
}

.wp-pagenavi .nextpostslink:before {
    content: "\f105";
    position: absolute;
}

#not-found footer {
    background-color: #fff8f7;
}

.p_access {}

.p_access__container {
    padding: 3rem 0;
}

.p_access__inner {
    width: min(90%, 1200px);
    margin: 0 auto;
}

/* .p_access__section {
    margin-bottom: 4rem;
} */

/* .p_access__section:last-of-type {
    margin-bottom: 8rem;
} */

.p_access__section_title {
    color: #333;
    font-size: 25px;
    font-weight: normal;
    text-align: center;
    margin-bottom: 4rem;
    font-family: "Kosugi Maru", sans-serif;
}

.p_access__section_exp {
    font-size: 1.2rem;
    text-align: center;
}

.p_access__section_flexBox {
    display: flex;
    gap: 2%;
    align-items: flex-start;
}

#headoffice .p_access__content {
    width: calc(50% - 2%);
}

.p_access__content {
    width: 32%;
}

.p_access__content_title p {
    padding-bottom: 15px;
    padding-top: 5px;
}

.p_access__content_title:last-of-type p {
    margin-bottom: 15px
}

.p_access__content_mapBtn {
    display: block;
    width: min(90%, 145px);
    color: #fff;
    font-weight: bold;
    background: #e6002f;
    border-radius: 10px;
    width: 146px;
    line-height: 1;
    padding: 10px 0;
    text-align: center;
}

.p_access__content_slick {
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
}

.p_access__content_slick_item img {
    aspect-ratio: 4 / 3;
    width: 100%;
    height: 100%;
    object-position: center;
    object-fit: cover;
}

.p_access__content_slick .slick-arrow::before {
    opacity: 1;
}

.p_access__content_slick .slick-next {
    right: 7px;
    z-index: 1;
}

.p_access__content_slick .slick-prev {
    left: 0;
    z-index: 1;
}

.p_access__content_slick .slick-next::before,
.p_access__content_slick .slick-prev::before {
    content: "";
    width: 25px;
    height: 25px;
    border-top: solid 3px #ffa132;
    border-right: solid 3px #ffa132;
    display: block;
    border-radius: 3px;
}

.p_access__content_slick .slick-next::before {
    transform: rotate(45deg);
}

.p_access__content_slick .slick-prev::before {
    transform: rotate(-135deg);
}

.p_access__content_textList {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 15px;
    padding: 25px;
    background-color: #fff;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
}

.p_access__content_textList_item p {
    padding: 0 6px;
    padding-bottom: 15px;
    border-bottom: solid 1px #dadada;
    font-size: 0.9em;
}

.p_access__section_evaluationList {
    padding-top: 2rem;
}

#evaluationList {
    background-color: #fff;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
    padding: 40px 20px 20px;
    margin-top: 8rem;
}

#evaluationList .p_access__section_title {
    margin-bottom: 1rem;
}

.evaluationList {
    padding: 2rem 0;
}

.evaluationList__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    width: 90%;
    margin: 0 auto;
    max-width: 800px;
    border-bottom: 1px solid gray;
    padding: 8px 20px;
}

.evaluationList__facilityName {
    font-size: 1.2rem;
    padding: 8px 15px;
    display: block;
    color: #fff;
    font-weight: bold;
    border-radius: 10px;
    width: 30%;
    line-height: 1;
    text-align: center;
}

.evaluationList__btn {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.evaluationList__btn a {
    font-size: 1.1rem;
    padding: 8px 15px;
    font-weight: bold;
    border-radius: 10px;
    line-height: 1;
    text-align: center;
    background: #f0f0f0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.evaluationList__btn a::before {
    content: "";
    width: 1.3em;
    height: 1.3em;
    display: block;
    background: url(../Image/common/icon_pdf.png);
    background-size: 100%;
    background-repeat: no-repeat;
}

.evaluationList__btn_questionnaire,
.evaluationList__btn_announcement {
    width: 180px;
}

.evaluationList__j_kids {
    background-color: #00a6bf;
}



.service__item p {
    font-weight: 500;
}

.service__item p span {
    font-size: 0.8em;
}

.service__item p::before {
    content: "■";
    font-size: 1em;
    line-height: 1;
    display: inline-block;
    margin-right: 5px;
}

.service__item .Step {
    border-bottom: solid 2px #ffa132;
}

.service__item .Step::before {
    color: #ffa132;
}

#Step .slick-next::before,
#Step .slick-prev::before {
    border-color: #ffa132;
}

.service__item .Training {
    border-bottom: solid 2px #f91864;
}

.service__item .Training::before {
    color: #f91864;
}

#Training .slick-next::before,
#Training .slick-prev::before {
    border-color: #f91864;
}

.service__item .Kids {
    border-bottom: solid 2px #00a6bf;
}

.service__item .Kids::before {
    color: #00a6bf;
}

#Kids .slick-next::before,
#Kids .slick-prev::before {
    border-color: #00a6bf;
}

.service__item .Club {
    border-bottom: solid 2px #ffe012;
}

.service__item .Club::before {
    color: #ffe012;
}

.service__item .Jinbe {
    border-bottom: solid 2px #1a6650;
}

.service__item .Jinbe::before {
    color: #1a6650;
}

#Club .slick-next::before,
#Club .slick-prev::before {
    border-color: #ffe012;
}

#headoffice,
#amagasaki,
#takarazuka {
    scroll-margin-top: 100px;
}

.p_access__section_sample {
    margin-top: 2rem !important;
}


/* 202504追加 */

input,
textarea {
    border: 1px solid #000;
}

.mfp_buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
}

.mfp_buttons button {
    cursor: pointer;
}

.mfp_button_cancel {
    background: #dadada !important;
    border: 1px solid transparent !important;
    color: #333 !important;
}

@media only screen and (min-width: 768px) {
    .mfp_button_cancel:hover {
        border-color: #dadada !important;
        background: #fff !important;
    }

    .mfp_button_cancel:after {
        background: #fff !important;
    }
}

.image-text-section {
    display: flex;
    gap: 30px;
    padding: 40px;
    border: solid 3px #00a6bf;
    border-radius: 10px;
    background-color: #ffffff;
    align-items: stretch;
}

.text-box {
    margin-top: 20px;
    padding: 20px;
    border-top: solid 3px #00a6bf;
}

.left-column {
    width: 30%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.right-column {
    width: 70%;
    min-height: 400px;
    border-left: solid 3px #00a6bf;
    padding-left: 30px;
}

.image-box img {
    max-width: 300px;
    height: auto;
    border-radius: 8px;
}

.title {
    font-size: 24px;
    margin-bottom: 10px;
}

.description {
    font-size: 16px;
    line-height: 1.6;
}

.link-wrapper {
    text-align: center;
}

.jbk-link {
    display: inline-block;
    position: relative;
    color: #004dd3;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
    margin-top: 30px;
}

.jbk-link:hover {
    color: #004dd3;
}

.jbk-link::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #004dd3;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.jbk-link:hover::after {
    transform: scaleX(1);
}

/* アイコン画像のサイズと位置を調整 */
.arrow-icon {
    width: 7px;
    height: 14px;
    vertical-align: middle;
    margin-right: 6px;
}

@media only screen and (max-width: 767px) {
    .image-text-section {
        flex-direction: column;
    }

    .text-box {
        margin-top: 20px;
        padding: 20px;
        border-top: none;
    }

    .left-column {
        width: 100%;
        padding-bottom: 2rem;
        border-bottom: solid 3px #00a6bf;
    }

    .right-column {
        width: 100%;
        border-left: none;
        padding-left: 0;
    }

    .right-column iframe {
        min-height: 400px;
    }

}


.float_balls .float_ball {
    position: absolute;
    z-index: -1;
    animation-name: floaty;
    animation-duration: 3s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

.float_balls .float_ball01 {
    width: 6.610169491525424vw;
    top: 10.04983388704319vw;
    left: 12.832225913621262vw;
    animation-delay: 0s;
    animation-duration: 2.5s;
}

.float_balls .float_ball02 {
    width: 5.706214689265536vw;
    bottom: 2.2840531561461797vw;
    left: 32.80730897009967vw;
    animation-delay: 0.4s;
    animation-duration: 3.2s;
}

.float_balls .float_ball03 {
    width: 3.5593220338983054vw;
    top: 17.151162790697676vw;
    left: 50vw;
    animation-delay: 0.2s;
    animation-duration: 2.8s;
}

.float_balls .float_ball04 {
    width: 6.610169491525424vw;
    top: 20.63953488372093vw;
    right: 28.405315614617937vw;
    animation-delay: 0.1s;
    animation-duration: 3.6s;
}

.float_balls .float_ball05 {
    width: 4.1807909604519775vw;
    top: 15.739202657807308vw;
    right: 13.538205980066445vw;
    animation-delay: 0.5s;
    animation-duration: 2.9s;
}

@media only screen and (max-width: 767px) {
    .float_balls .float_ball01 {
        width: 10vw;
    }

    .float_balls .float_ball02 {
        width: 8vw;
        top: 80vw;
        left: 15vw;
    }

    .float_balls .float_ball03 {
        width: 8vw;
        top: inherit;
        bottom: 20vw;
    }

    .float_balls .float_ball04 {
        width: 10vw;
    }

    .float_balls .float_ball05 {
        width: 10vw;
        top: inherit;
        bottom: 40vw;
    }
}

@keyframes floaty {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }

    100% {
        transform: translateY(0);
    }
}

@media only screen and (max-width: 767px) {
    #top #mainimage {
        height: 70vh;
    }
}