#ez-toc-container{
    display:none!important;
}
#page_contents{
    padding: 0!important;
}
#page_contents .post_content{
    width: 100%!important;
}
section.all-map,
section.document{
    padding: 0!important;
}
.sp-only{
    display: none!important;
}
.pc-only{
    display: block!important;
}
.contain-wrap p{
    font-size: 14px;
    text-align: left;
    vertical-align: middle;
    margin: 0;
    line-height: 1.2;
}
.contain-wrap li{
    font-size: 14px;
    text-align: left;
    vertical-align: middle;
    margin-bottom: 8px;
    line-height: 1.2;
}

.contain-wrap ul{
    margin: 0;
    padding-top: 1em;
    padding-left: 1em;
    margin-bottom: 16px!important;
    margin-left: 0!important;
}
h2.h2-coach{
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  margin:0 auto;
  background: linear-gradient(90deg, #40B7C3 0%, #00B2DC 44%, #0B85A5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-decoration: underline;
  line-height: 1.75em;
  padding:0;
  border:unset;
  margin-bottom:20px;
}
h3{
    font-weight: bold;
    color: #333333;
    font-size: 20px;
    margin-bottom:10px;
}
h3.subject-focus{
    position: relative;
    color: #ffffff;
    position: relative;
	padding: 4px 40px 4px 40px;
    z-index:1;
    background-color: #FF2277;
    border-top: 2px solid #FF2277;
	border-bottom: 2px solid #FF2277;
    display: inline-block;
    margin-bottom: 2rem;
}
h3.subject-focus:before{
    position: absolute;
	content: '';
	left: 0px;
	top: -2px;/*ボーダーサイズ分マイナス*/
	width: 0;
	height: 0;
	border: none;
	border-left: solid 33px #ffffff;/*bodyのカラーと同じ色に*/
	border-bottom: solid 47px transparent;
	z-index: 2;
}
h3.subject-focus:after{
    position: absolute;
	content: '';
	right: 0px;
	top: -2px;/*ボーダーサイズ分マイナス*/
	width: 0;
	height: 0;
	border: none;
	border-left: solid 33px transparent;/*bodyのカラーと同じ色に*/
	border-bottom: solid 47px #ffffff;
	z-index: 2;
}

.skills-eyecatch{
    width: 100%;
    margin: 0 auto!important;
    /*margin-bottom: 60px;*/
    object-fit: cover;
}

.contain-wrap{
    width: 90%;
    max-width:1380px;
    margin: 40px auto 40px;
    margin-top: 40px!important;
    margin-bottom: 60px!important;
}
.all-map{
    margin-top: 40px;
}
span.text-focus{
    color: #ff2277;
}
.map-wrap{
    margin:40px 0px;
    min-width: 760px;
    overflow-x: scroll;
}

.cat1,
.map-area{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cat1{
    margin-bottom: 10px;
}
.cat1 p,
.map-area div{
    flex-basis: 25%;
    text-align: right;
}
.cat1 p{
    color: #ffffff!important;
    font-weight: bold;
    text-align: center;
    padding: 8px 4px;
    margin: 0 14px!important;
    border-radius: 8px;
    background-color: #0A82A3;
    position: relative;
    font-size: 16px;
    line-height: unset!important;
}
.cat1 p::after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 0 18px 12px;
    border-color: transparent transparent transparent #EF99A9;
    position: absolute;
    top: 0;
    right: -21px;
    bottom: 0;
    margin: auto;
}
.cat1 p:last-child::after{
    content: unset;
}

.cat1 p:first-of-type{
    background-color: #41B9C4;
}
.cat1 p:last-child{
    background-color: #296C99;
}
.cat1 .dummy{
    width:27.5%;
}
.cat2>div{
    background-color: #E4F6F8;
    margin: 0px 5px 5px 0px;
    position: relative;
    border-radius: 8px;
}
.cat2 p{
    vertical-align: middle;
    text-align: center;
    font-size: 14px;
    line-height: 1.2;
}
.cat2 span{
    display:block;
    font-size: 18px;
    font-weight: bold;
}
.cat2>div{
    display: table;
    width: 98%;
}
.cat2>div>p{
    display: table-cell;
    vertical-align: middle;
    padding: 0 20px;
}
.cat2>div>p>span{
    margin-bottom: 30px;
}
.ht-250,
.ht-250>p{
    min-height:250px;
}
.ht-212,
.ht-212>p{
    min-height:212px;
}
.ht-220,
.ht-220>p{
    min-height:220px;
}
.ht-284,
.ht-284>p{
    min-height:284px;
}
.ht-780{
    min-height: 780px;

}
.list-cell{
    padding: 0px 15px 0px 15px;
    border-right:1px solid #ACACAC;
    border-bottom:1px solid #ACACAC;
    position: relative;
}

.list-cell:not(:first-child){
    padding-top: 5px;
}
.list-cell:last-child{
    border-bottom: none;
}

.list-button{
    padding:0!important;
    margin: 0!important;
    margin-bottom: 10px!important;
    padding: 8px 10px!important;
    background-color: #41B9C4!important;
    color: #ffffff!important;
    display: inline-block!important;
    text-decoration: none!important;
    font-size: 12px!important;
    transition:unset!important;
    border: 1px solid #41B9C4;
}
.list-button:hover{
    color: #41B9C4!important;
    background-color: #ffffff!important;
    border: solid 1px #41B9C4!important;
}
.list-button.pink{
    background-color: #FF2277!important;
    color: #ffffff!important;
    border: 1px solid #FF2277;
}
.list-button.pink:hover{
    color: #FF2277!important;
    background-color: #ffffff!important;
    border: solid 1px #FF2277!important;
}

.document .announce{
    width: 100%;
    padding:20px 40px;
    border: 2px solid #00B2DC;
    display: flex;
    justify-content: space-evenly;
    align-items:center;
    column-gap: 40px;
}
.document .announce img{
    width: 30%;
    margin-bottom: 0!important;
    border :1px solid #ccc;
    box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);
}
.document .announce .text-area p{
    margin-bottom: 20px!important;
}

/*個別ページ用*/
.plan-detail{
    margin: 40px 0!important;
    padding: unset!important;
}
.plan-detail .h2-coach{
    font-size: 14px;
    text-align: unset!important;
}
.plan-detail .h2-coach span{
    display: block;
    font-size: 28px;
    font-weight: bold;
    margin:0 auto;
    background: linear-gradient(90deg, #40B7C3 0%, #00B2DC 44%, #0B85A5 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-decoration: underline;
    line-height: 1.75em;
    padding:0;
    border:unset;
}
.advice{
    display: flex;
    justify-content: flex-start;
    gap: 10px;
}
.outline{
    margin-top: 40px;
}
.advice .flag-area{
    min-width: 92px;
}
.advice .flag-1{
    background-color: #41B9C4;
    display: inline-block;
    padding: 5px 10px;
    border-radius: 4px;
    color: #ffffff!important;
    font-weight: bold;
    line-height: unset!important;
}
.advice .flag-2{
    background-color: #0A82A3;
    display: inline-block;
    padding: 2px 4px;
    color: #ffffff!important;
    font-weight: bold;
    line-height: unset!important;
}
.advice .flag-3{
    background-color: #296C99;
    display: inline-block;
    padding: 2px 4px;
    color: #ffffff!important;
    font-weight: bold;
    line-height: unset!important;
}

.table-area{
    margin: 40px 0px;
}
table{
    border-collapse: separate;
    border-spacing: 2px;
}
.table-area th,td{
    border: 1px solid #E4F6F8!important;
    vertical-align: middle!important;
}
.table-area tr>th{
    background-color: #41B9C4;
    color: #ffffff;
    line-height: 1.5!important;
    font-weight: bold!important;
    padding: unset!important;
}
.table-area tr>th.title{
    min-width:200px;
}
.table-area tr>th.priority{
    min-width:100px;
}
.table-area td{
    font-size: 14px;
    padding: 10px 10px;
    line-height: 1.2;
}
.table-area td>a{
    display: inline-block;
    min-width: 250px;
    /*color: #333333;*/
    text-decoration: underline!important;
}
.table-area td.category{
    min-width:150px;
    font-weight: bold;
    text-align: center;
}
.table-area td.category span{
    background-color: #FDD000;
    padding: 3px 5px;
    border-radius: 4px;
    color: #ffffff;
    font-weight: normal;
    display: block;
    margin: 5px 30px;
    font-size: 12px;
}
.table-area td.center{
    text-align: center;
    font-weight: bold;
}
.color-b{
    background-color: #E4F6F8!important;
}
.color-a{
    background-color: #9FE0E6!important;
}
.color-s{
    background-color: #73D3DC!important;
    color: #ffffff!important;
}
.color-ss{
    background-color: #41B9C4!important;
    color: #ffffff!important;
}
.color-MS{
    background-color: #ffffff!important;
    color: #41B9C4!important;
    font-weight: bold!important;
}
.table-area td.category span.not-release{
    background-color: #ACACAC!important;
}
tbody.comingsoon td{
    background-color: #cccccc!important;
}
@media screen and (max-width: 768px){
    #page_contents .post_content{
        margin: 0!important;
    }
    .sp-none{
        display: none!important;
    }
    .sp-only{
        display: block!important;
    }
    .pc-only{
        display: none!important;
    }
    h2.h2-coach{
        font-size: 24px;
        margin-bottom:30px;
    }
    .all-map{
        width: 100%;
    }
    h3.subject-focus{
        padding: 4px 15px;
    }
    h3.subject-focus::before,
    h3.subject-focus::after{
        content: unset;
    }

    .sp-map-wrap{
        width: 100%;
        margin: 40px auto;
    }
    .map-block{
        margin-bottom: 30px;
    }
    .sp-cat1{
        display: block;
        margin: 10px 0;
        padding: 10px 0px;
        border-radius: 8px;
    }
    .sp-cat1 p{
        margin: 0;
        color: #ffffff!important;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
    }
    .sp-cat1#operation{
        background-color: #41B9C4;
    }
    .sp-cat1#planning{
        background-color: #0A82A3;
    }
    .sp-cat1#storategy{
        background-color: #296C99;
    }
    .cat2{
        background-color: #E4F6F8;
        padding: 10px;
    }
    .cat2 p{
        font-size: 12px;
    }
    .cat2 p>span{
        font-size: 16px;
    }
    .list-wrap{
        margin-bottom: 20px;
        width: 100%;
    }
    .list-wrap .list{
        width: 100%;
    }
    .list-wrap a{
        display: block;
        text-align: center;
    }
    .list-button{
        padding: 10px;
    }
    .list ul:not(:first-child){
        padding-top: unset;
    }
    .document{
        width: 100%;
        border: 2px solid #00B2DC;
        margin-top:40px;
    }
    .document .announce{
        border: none;
        width: 90%;
        display: flex;
        flex-wrap: wrap;
        padding: 5%;
    }
    .document .announce img{
        flex: 2;
    }
    .document .announce .text-area p{
        margin-bottom: 20px;
    }
    .document .announce .text-area h3{
        margin-top: 30px;
    }
    .document .announce .list-button{
        text-align: center;
        display: block;
    }
    /*個別ページ用*/
    .plan-detail .h2-coach span{
        font-size: 24px;
    }
    .recomendation h3{
        margin-bottom: 1em;
    }
    .advice{
        display: unset;
    }
    .recomendation .advice p{
        padding-top: 0;
        padding-bottom: 30px;
    }
    .outline{
        margin-top: 40px;
    }
    .advice .flag-area{
        width: 100%;
        margin-bottom: 6%;
    }
    .advice .flag-1,
    .advice .flag-2,
    .advice .flag-3{
        display: block;
        text-align: center;
    }
    .advice .flag-soon{
        background-color: #ACACAC;
    }

    .table-area{
        margin: 40px 0px;
    }
    table{
        border-collapse: collapse;
    }
    .table-area th,td{
        border: 1px solid #E4F6F8;
    }
    .table-area tr>th{
        background-color: #41B9C4;
        color: #ffffff;
    }
    .table-area tr>th.title{
        min-width:unset;
        padding: 10px 0px;
    }
    .table-area tr>th.priority{
        min-width:60px;
    }
    .table-area td{
        font-size: 14px;
        padding: 10px 10px;
    }
    .table-area td>a{
        min-width: unset;
    }
    .table-area td.category{
        min-width:78px;
    }
    .table-area td.center{
        text-align: center;
        font-weight: bold;
    }
    .table-area td.category span{
        margin: 5px 0px;
    }
    .sp-only.recomendation{
        padding: 0!important;
    }
    .sp-only.recomendation .flag-area p{
        padding:5px 10px;
    }
    .sp-only.recomendation .advice{
        margin-bottom: 30px;
    }
    .document .announce{
        width: 100%;
    }
}