@charset "utf-8";
/*---------------------------------
  共通
---------------------------------*/
#join_info .sec1,
#join_info .sec2,
#join_info .sec3,
#join_info .sec4,
#join_info .sec5 {
	padding: 0;
}
#join_info .sec_inner {
    max-width: 1100px;
    margin:0 auto;
    padding: 60px 0;
}
@media screen and (max-width: 600px) {
    #join_info .sec_inner {
        padding-bottom: 0;
    }
}
/*---------------------------------
  COURSE
---------------------------------*/
#join_info .caution {
    background-color: #ff0000;
    color: #fff;
    border-radius: 10px;
    font-weight: 700;
    font-size: 1.6rem;
    text-align: center;
    padding: 10px 0;
    display: block;
    width: 70%;
    margin: 0 auto;
}
#join_info .course {
    margin-top: 50px;
}
#join_info .course li {
    display: flex;
    margin-bottom: 50px;
}
#join_info .course li:nth-of-type(even) {
    flex-direction: row-reverse;
}
#join_info .course li .course_img {
    width: 420px;
    margin-right: 28px;
    position: relative;
}
#join_info .course li:nth-of-type(even) .course_img {
    margin-right: 0;
    margin-left: 28px;
}
#join_info .course li .course_img h3 {
    padding: 4px 15px;
    color: #fff;
    font-size: 3.0rem;
    font-family: museo-sans;
    font-weight: 700;
    height: 80px;
    background: url(/img/join_info/course_bg.png) no-repeat, linear-gradient(90deg, rgba(4,34,90,1) 0%, rgba(37,97,157,1) 100%);
}
#join_info .course li .course_img h3 .small {
    color: #fff;
    font-size: 2.4rem;
    font-family: museo-sans;
    font-weight: 700;
    display: inline-block;
    margin-left: 10px;
}
#join_info .course li .course_img h3 .sub {
    color: #fff;
    display: block;
    font-size: 2.0rem;
    font-family: museo-sans;
    font-weight: 700;
}
#join_info .course li .course_info {
    width: calc(1100px - 420px);
}
#join_info .course li .course_img .attention {
    position: absolute;
    bottom: 100px;
    left: 20px;
    background-color: #ff0000;
    color: #fff;
    border-radius: 15px;
    font-weight: 700;
    font-size: 1.6rem;
    text-align: center;
    padding: 6px 0;
    display: block;
    width: 70%;
    margin: 0 auto;
}
#join_info .course li:nth-of-type(even) .course_img .attention {
    bottom: 120px;
}
#join_info .course li .course_info h3 {
    font-size: 2.4rem;
    color: #011b53;
    font-weight: 700;
    margin-bottom: 15px;
}
#join_info .course li .course_info .target {
    background-color: #eef7f5;
    border-radius: 15px;
    font-size: 1.4rem;
    font-weight: 300;
    display: inline-block;
    padding: 8px 30px
}
#join_info .course li .course_info .text {
    display: block;
    padding: 28px 10px 20px;
    border-bottom: dotted 2px #7e7e7e;
}
#join_info .course li .course_info .text > strong {
    font-weight: 700;
}
#join_info .course li .course_info .attention {
    display: block;
    padding: 28px 10px 0;
    color: #7e7e7e;
}
#join_info .course li .course_info .attention.last {
    padding-top: 10px;
}
@media screen and (max-width: 600px) {
    #join_info .caution {
        font-size: 1.4rem;
        width: 100%;
    }
    #join_info .course li {
        flex-direction: column;
    }
    #join_info .course li .course_img {
        width: 100%;
    }
    #join_info .course li:nth-of-type(even) .course_img {
        margin-right: 0;
        margin-left: 0;
    }
    #join_info .course li:nth-of-type(even) .course_img .attention {
        bottom: 100px;
    }
    #join_info .course li .course_info {
        width: 100%;
    }
    #join_info .course li .course_info h3 {
        margin-top: 20px;
        font-size: 2.0rem;
    }
    #join_info .course li .course_info .target {
        font-size: 1.2rem;
    }
    #join_info .course li .course_info .text {
        padding: 16px 0;
    }
    #join_info .course li .course_info .attention,
    #join_info .course li:nth-of-type(even) .course_info .attention {
        padding: 12px 0 0;
        bottom: 100px;
    }
    #join_info .course li:nth-of-type(even) {
        flex-direction: column;
    }
}
/*---------------------------------
  ticket
---------------------------------*/
#join_info .ticket {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px;
    position: relative;
    height: 340px;
    background: #41b8dc; /* Old browsers */
    background: -moz-linear-gradient(left,  #41b8dc 0%, #178ac1 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left,  #41b8dc 0%,#178ac1 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right,  #41b8dc 0%,#178ac1 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#41b8dc', endColorstr='#178ac1',GradientType=1 ); /* IE6-9 */
}
#join_info .ticket img {
    position: absolute;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    z-index: 0;
}
#join_info .ticket h3 {
    font-size: 4.0rem;
    font-weight: 700;
    color: #fff;
    position: relative;
    z-index: 1;
    font-family:heisei-mincho-std, serif;
}
#join_info .ticket p {
    display: block;
    padding: 15px;
    font-size: 1.4rem;
    line-height: 1.7;
    font-weight: 700;
    color: #fff;
    position: relative;
    z-index: 1;
}
#join_info .ticket strong {
    font-size: 2.0rem;
    font-weight: 700;
}
#join_info .ticket small {
    font-size: 1.4rem;
    font-weight: 300;
}
@media screen and (max-width: 600px) {
    #join_info .ticket {
        height: auto;
        padding: 10px 10px 100px;
    }
    #join_info .ticket h3 {
        text-align: center;
        font-size: 2.4rem;
    }
    #join_info .ticket img {
        opacity: 60%;
        width: 50%;
    }
    #join_info .ticket small {
        display: inline-block;
        margin-top: 20px;
    }
}





/*---------------------------------
  PRICE
---------------------------------*/
#join_info .sec2{
    max-width: 1100px;
    margin:0 auto;
    padding: 60px 0 60px;
}
#join_info .sec2 .box{
    position: relative;
    margin-top: 40px;
}
/*#join_info .sec2 .box:last-of-type{
   
}*/
#join_info .sec2 .box h4{
    background: #011b52;
    padding: 15px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    border-left: 4px solid #2969a5;
}
#join_info .sec2 .box h4 span{
    font-size: 1.4rem;
}
#join_info .sec2 .box small{
    position: absolute;
    top: 16px;
    right: 20px;
    color: #fff;
    font-size: 1.4rem;
}
#join_info .sec2 .box table{
    width:100%;
    border-right:#3EB1C6 solid 1px;
    border-collapse: collapse;
}
#join_info .sec2 .box table thead th {
    color: #191919;
    padding:15px;
    border:1px solid #191919;
    font-weight: bold;
    width: auto;
    background: #eef7f5;
}
#join_info .sec2 .box table thead th:last-child {
    border-right:1px solid #191919;
}
#join_info .sec2 .box table tbody th {
    padding:15px;
    vertical-align: top;
    border-bottom: 1px solid #191919;
    border-left: 1px solid #191919;
}
#join_info .sec2 .box table tbody td {
    text-align: center;
    padding:15px;
    border-left:1px solid #191919;
    border-bottom:1px solid #191919;
    vertical-align:middle;
}
#join_info .sec2 .box table tbody tr th.taisyou{
    width: 200px;
}
#join_info .sec2 .box table tbody tr td{
    width: 170px;
}
#join_info .sec2 .box table tbody tr td.bikou{
    width: 220px;
}
#join_info .sec2 .box table tbody tr:last-child th {
    border-bottom:1px solid #191919;
}
#join_info .sec2 .box dl{
    border: 1px solid #191919;
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}
#join_info .sec2 .box dl:before {
    content: '';
    background: url(../img/join_info/plus.svg) no-repeat;
    background-size: 100%;
    width: 20px;
    height: 20px;
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
}
#join_info .sec2 .box dl dt{
    border-right: 1px solid #191919;
    width: 30%;
    text-align: center;
    background: #011c52;
    color: #fff;
    padding: 10px 0;
}
#join_info .sec2 .box dl dd{
    width: 70%;
    padding: 10px 20px;
}
#join_info .sec2 .box ul li {
    padding-left: 1em;
}
#join_info .sec2 .box ul li:first-child {
    padding-top: 10px;
}
#join_info .sec2 aside{
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 50px 0 0;
    padding-top: 40px;
    border-top: 1px dotted #ccc;
}
#join_info .sec2 aside ul li{
    padding-left: 1em;
}
#join_info .sec2 aside ul li::before{
    content: "・";
    margin-left: -1em;
}
#join_info .sec2 aside .account{
    border: 2px solid #191919;
    text-align: center;
}
#join_info .sec2 aside .account h5{
    color: #fff;
    background: #191919;
    font-size: 1.6rem;
    font-weight: bold;
    padding: 8px;
}
#join_info .sec2 aside .account p{
    font-size: 1.6rem;
    font-weight: bold;
    padding: 10px 40px;
}
#join_info .sec2 h3.ttl{
    border: 2px solid #191919;
    padding: 15px;
    margin-bottom: 40px;
}


@media screen and (max-width: 600px) {
    #join_info .sec2{
        margin: 0 2%;
        padding-bottom: 0;
    }
    #join_info .sec2 .box:last-of-type{
        margin-top:8%;
    }
    #join_info .sec2 .box h4{
        padding:2%;
        font-size: 1.6rem;
        display:block;
    }
    #join_info .sec2 .box small{
        position: static;
        color: #191919;
        padding: 2%;
        display: block;
    }
    #join_info .sec2 .box table thead {
        display:none;
    }
    #join_info .sec2 .box table tbody th {
        display:block;
        background: #eef7f5;
        font-weight: bold;
        width: 100%;
    }
    #join_info .sec2 .box table tbody tr:first-of-type th {
        border-top: 1px solid #191919;
    }
    #join_info .sec2 .box table tbody tr td {
        width: 100%;
    }
    #join_info .sec2 .box table tbody tr td.bikou {
        width: 100%;
    }
    #join_info .sec2 .box table tbody tr th.taisyou {
        width: 100%;
    }
    #join_info .sec2 .box table tbody td {
        display:block;
        width: 100%;
    }
     #join_info .sec2 .box table tbody th {
        display:block;
        width: 100%;
    }
    #join_info .sec2 .box table tbody td::before {
        content: attr(label);
        float: left;
        clear: both;
        font-weight: bold;
        width: 40%;
        text-align: left;
        border-right: 1px solid #ccc;
    }
    #join_info .sec2 .box table tbody td p {
        padding-left:6em;
    }
    #join_info .sec2 .box dl{
        display:block;
    }
    #join_info .sec2 .box dl dt{
        width: auto;
        border-bottom: 1px solid #191919;
        border-right: 0;
    }
    #join_info .sec2 .box dl dd{
        width: auto;
        padding: 10px 2%;
    }
    #join_info .sec2 aside{
        display:block;
        margin: 4% 0 0;
        padding-bottom: 0;
    }
    #join_info .sec2 aside .account{
        margin-top: 4%;
    }
    #join_info .sec2 aside .account h5{
        font-size: 1.4rem;
        padding:3%;
    }
    #join_info .sec2 aside .account p{
        font-size: 1.4rem;
        padding: 3% 4%;
    }
    #join_info .sec2 h3.ttl{
        padding: 3%;
        margin-bottom: 8%;
    }
}
/*---------------------------------
  FLOW
---------------------------------*/
#join_info .flow {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
}
#join_info .flow li {
    border: solid 1px #011b53;
    width: calc((1100px / 4) - 20px);
    margin: 20px 10px;
    height: 250px;
}
#join_info .flow li:first-of-type {
    margin-left: 0;
}
#join_info .flow li:last-of-type {
    margin-right: 0;
}
#join_info .flow li h3 {
    background: linear-gradient(90deg, rgba(4,34,90,1) 0%, rgba(37,97,157,1) 100%);
    color: #fff;
    font-weight: 700;
    font-size: 2.0rem;
    line-height: 1;
    padding: 14px 0;
    text-align: center;
}
#join_info .flow li h4 {
    font-weight: 700;
    font-size: 2.0rem;
    line-height: 1;
    color: #011b53;
    text-align: center;
    margin: 24px auto 20px;
}
#join_info .flow li p {
    font-size: 1.3rem;
    padding: 0 8px;
    line-height: 1.7;
    font-weight: 300;
}
@media screen and (max-width: 600px) {
    #join_info .flow li {
        width: 100%;
        margin: 20px 0;
    }
    #join_info .flow li p {
        font-size: 1.4rem;
    }
}
/*---------------------------------
  CONTACT METHOD
---------------------------------*/
#join_info .sec4 .caution {
    width: 90%;
    margin-top: 30px;
}
#join_info .sec4 img {
    display: block;
    margin-top: 40px;
}
@media screen and (max-width: 600px) {
    #join_info .sec4 .caution {
        padding: 8px;
    }
}
/*---------------------------------
  INSURANCE
---------------------------------*/
#join_info .sec5 .attention {
    display: block;
    margin-top: 20px;
    font-weight: 300;
    color: #8a8a8a;
}
#join_info .insurance {
    margin-top: 50px;
    display: flex;
}
#join_info .insurance .left {
    margin-right: 20px;
}
#join_info .insurance_info table {
    width: 100%;
}
#join_info .insurance_info h4 {
    background-color: #011b53;
    color: #fff;
    font-weight: 700;
    padding: 12px 20px;
}
#join_info .insurance_info table td {
    border: solid #011b53 1px;
    padding: 18px;
    border-top: none;
}
#join_info .insurance_info table td:first-of-type {
    vertical-align: middle;
}
#join_info .insurance_info table td:last-of-type {
    border-left: none;
}
#join_info .insurance_price {
    margin-top: 50px;
}
#join_info .insurance_price table {
    width: 100%;
}
#join_info .insurance_price h4 {
    background-color: #011b53;
    color: #fff;
    font-weight: 700;
    padding: 12px 20px;
}
#join_info .insurance_price table td {
    border: solid #011b53 1px;
    padding: 12px 18px;
    border-top: none;
}
#join_info .insurance_price table td:first-of-type {
    width: 30%;
    text-align: center;
}
#join_info .insurance_price table td:last-of-type {
    border-left: none;
    text-align: right;
    font-size: 2.0rem;
    font-weight: 700;
    color: #ff0000;
}
@media screen and (max-width: 600px) {
    #join_info .sec5 {
        margin-bottom: 120px;
    }
    #join_info .insurance {
        display: block;
        margin-top: 0;
    }
    #join_info .insurance .left {
        margin-right: 0;
    }
    #join_info .insurance_info {
        margin-top: 30px;
    }
    #join_info .insurance_price {
        margin-top: 30px;
    }
}
