@charset "UTF-8";

/* ================================================================

制作コンテンツ

info:
- レスポンシブの場合は、ブレイクポイント 768px で記述してください。
- SP用CSSを先に記述する方法を推奨します。下記の記述は例です。
- PCのみの場合は、記述を削除してください。

================================================================ */

/* SP用CSSの記述 */


body {
    overflow-x: hidden;
    font-family: 'Noto Sans JP', sans-serif;
}
img {
    image-rendering: -webkit-optimize-contrast;
    max-width: 100%;
    vertical-align: top;
}
li{
    list-style-type: none;
}

.inner{
    max-width: 990px;
    margin: 0 auto;
}

.img-center{
    text-align: center;
}


.mv {
    width: 100%;
    background: #FFEC00;
    position: relative;
}
.mv h1{
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
.main-img img{
    max-width: 100%;
}
/* lead-top */
.lead-top{
    width: 980px;
    height: 500px;
    margin: 0 auto;
    position: relative;
    background: url("../images/pct_map.svg") no-repeat bottom right;
    background-size:  auto 93%;
    margin-top: -70px;
}
.lead-top h2{
    width: 480px;
    position: absolute;
    left: 0;
    top:0;
}
.lead-top .txt{
    width: 480px;
    position: absolute;
    left: 0;
    bottom:30px;
}
.lead-top .txt p{
    margin-bottom: 20px;
}
.lead-ttl{
    width: 900px;
    margin: 0 auto;
    margin-top: -80px;
    position: relative;
    margin-bottom: 20px;
}

/* spot-content */
.bg-course{
    background:#EBEAE9;
    padding-bottom: 30px;
}

/* course-read */
.course-read{
    position: relative;
    display: flex;
    justify-content: center;
}
.course-read .a_read{
    margin-right: 20px;
}

/* a-course */
.a-course{
    position: relative;
    height: 450px;
    background: #ECE9C6;
    margin-bottom: 20px;
}


.spot-btn{
    margin-top: 5px;
}
.spot-txt{
    margin-top: 10px;
}
.more-btn{
    margin-top: 10px;
}

.a-course .a-spot01{
    position: absolute;
    left: 10px;
    top:20px;
}
.a-spot01 .spot-btn{
    padding-left: 10px;
}
.a-spot01 .spot-txt{
    padding-left: 10px;
}
.a-course .a-spot02{
    position: absolute;
    left: 320px;
    top:0;
}
.a-course .a-spot03{
    position: absolute;
    right: 10px;
    top:10px;
    width: 386px;
}
.a-spot03 .spot-btn{
    margin-left: -20px;
}
.a-spot03 .spot-pct{
    position: absolute;
    right: 0;
    top:0;
}

.course-arrow{
    text-align: center;
    position: relative;
}

/* tab-course */
.tab-course{
    position: relative;
    z-index: 2;
    padding-top: 20px;
}
.tab-area{
    position: relative;
    display: flex;
    justify-content: center;
}
.tab {
    width: calc(100%/3);
    position: relative;
    text-align: center;
}
.tab span{
    position: relative;
    z-index: 1;
}
.tab.active {
    margin-top: -10px;
}
.tab:hover {
    opacity: 0.8;
    cursor: pointer;
}

.tab-b::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 60px;
    left: 0;
    bottom: 0;
    z-index: 1;
    background: #ECE9C6;
}
.tab-c::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 60px;
    left: 0;
    bottom: 0;
    z-index: 1;
    background: #CCE2C9;
}
.tab-d::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 60px;
    left: 0;
    bottom: 0;
    z-index: 1;
    background: #D1E6EB;
}


/* tab-ttl */
.tab-ttl-b{
    background: #ECE9C6;
    text-align: center;
    padding: 20px 0;
    position: relative;
}
.tab-ttl-c{
    background: #CCE2C9;
    text-align: center;
    padding: 20px 0;
    position: relative;
}
.tab-ttl-d{
    background: #D1E6EB;
    text-align: center;
    padding: 20px 0;
    position: relative;
}

/* tab-course */
.tab-content{
    position: relative;
}

.bg-b{
    background: #ECE9C6;
    height: 1240px;
}
.bg-c{
    background: #CCE2C9;
    height: 1340px;
}
.bg-d{
    background: #D1E6EB;
    height: 1330px;
}

/* b-course */
.b-spot01{
    position: absolute;
    left: 30px;
    top:0;
}
.b-spot01 .spot-btn{
    padding-left: 50px;
    margin-top:-30px;
}
.b-spot01 .spot-txt{
    padding-left: 50px;
}
.b-spot02{
    position: absolute;
    right:160px;
    top:0;
}
.b-spot02 .spot-btn{
    padding-left: 50px;
}
.b-spot02 .spot-txt{
    padding-left: 50px;
}
.b-spot02 .column{
    position: absolute;
    right: -140px;
    top:50px;
}
.b-spot03{
    position: absolute;
    left: 30px;
    top:340px;
}
.b-spot03 .spot-btn{
    padding-left: 10px;
    margin-top: -10px;
}
.b-spot03 .spot-txt{
    padding-left: 10px;
}
.b-spot03 .column-btn{
    position: absolute;
    left:10px;
    bottom:10px;
}
.b-spot03 .column{
    position: absolute;
    right: -80px;
    top:210px;
}
.b-spot04{
    position: absolute;
    right: 30px;
    top:350px;
}
.b-spot04 .spot-btn{
    padding-left: 20px;
}
.b-spot04 .spot-txt{
    padding-left: 20px;
}

.b-spot05{
    position: absolute;
    right: 18px;
    top:420px;
}
.b-spot05 .spot-btn{
    padding-left: 10px;
}
.b-spot05 .spot-txt{
    padding-left: 10px;
}
.b-spot06{
    position: absolute;
    right: 20px;
    bottom:160px;
}
.b-spot06 .spot-btn{
    padding-left: 20px;
}
.b-spot06 .spot-txt{
    padding-left: 20px;
}
.b-spot07{
    position: absolute;
    left: 0;
    bottom:160px;
}
.b-spot07 .spot-btn{
    position: absolute;
    left: 20px;
    bottom:20px;
}
.b-spot08{
    position: absolute;
    left: 276px;
    bottom:160px;
}
.b-spot08 .spot-btn{
    position: absolute;
    left: 20px;
    bottom:20px;
}

/* c-course */
.c-spot01{
    position: absolute;
    left: 10px;
    top:0;
}
.c-spot01 .spot-btn{
    padding-left: 50px;
    margin-top: -10px;
}
.c-spot01 .spot-txt{
    padding-left: 50px;
}
.c-spot02{
    position: absolute;
    right:0;
    top:20px;
}
.c-spot02 .spot-btn{
    padding-left: 220px;
    margin-top: -100px;
}
.c-spot02 .spot-txt{
    padding-left: 220px;
}
.c-spot03{
    position: absolute;
    right: 40px;
    top:350px;
}
.c-spot03 .spot-btn{
    padding-left: 20px;
    margin-top: -10px;
}
.c-spot03 .spot-txt{
    padding-left: 20px;
}
.c-spot03 .more-btn{
    padding-left: 20px;
}
.c-spot04{
    position: absolute;
    left: 47px;
    top:400px;
}
.c-spot05{
    position: absolute;
    right: 0;
    bottom:280px;
}
.c-spot05 .spot-btn{
    margin-top: -10px;
}
.c-spot06{
    position: absolute;
    right:240px;
    bottom:150px;
}
.c-spot06 .spot-btn{
    padding-left: 10px;
}
.c-spot06 .spot-txt{
    padding-left: 10px;
}
.c-spot07{
    position: absolute;
    left: 0;
    bottom:150px;
}
.c-spot07 .spot-btn{
    position: absolute;
    left: 15px;
    top:170px;
}
.c-spot08{
    position: absolute;
    left: 237px;
    bottom:150px;
}


/* d-course */
.d-spot01{
    position: absolute;
    left: 10px;
    top:0;
}
.d-spot01 .spot-btn{
    padding-left: 20px;
    margin-top:-150px;
}
.d-spot01 .spot-txt{
    padding-left: 20px;
}
.d-spot02{
    position: absolute;
    right:40px;
    top:0;
}
.d-spot02 .spot-btn{
    margin-top: -10px;
}
.d-spot03{
    position: absolute;
    right:0;
    top:370px;
}
.d-spot03 .spot-btn{
    margin-top: -40px;
    padding-left: 40px;
}
.d-spot03 .spot-txt{
    padding-left: 40px;
}
.d-spot04{
    position: absolute;
    left: 10px;
    top:400px;
}
.d-spot04 .spot-btn{
    margin-top: -150px;
    padding-left: 40px;
}
.d-spot04 .spot-txt{
    padding-left: 40px;
}

.d-spot05{
    position: absolute;
    right: 20px;
    bottom:160px;
}
.d-spot05 .spot-btn{
    margin-top: -180px;
    padding-left: 150px;
}
.d-spot05 .spot-txt{
    padding-left: 150px;
}
.d-spot06{
    position: absolute;
    left: 0;
    bottom:160px;
}
.d-spot06 .spot-btn{
    position: absolute;
    left: 20px;
    bottom:20px;
}


/* btn-area-course */
.btn-area-course{
    position: absolute;
    bottom: 0;
    left: 130px;
    width: 730px;
    margin: 0 auto;
    display: flex;
}
.btn-area-course p {
    width: 323px;
    margin: 0 auto;
    text-align: center;
}
.btn-area-course p a{
    display: block;
    margin-bottom: 5px;
}

/* work-area */
.work-area{
    background: #fff;
    border-radius: 24px;
    border: #0098A4 solid 5px;
    margin: 30px 0;
    padding: 30px;
    text-align: center;
}
.work-area h4{
    margin-bottom: 20px;
}
.work-area h5{
    margin-bottom: 20px;
}
.work-raw{
    display: flex;
    justify-content: space-between;
}
.work-raw > div{
    display: flex;
    flex-flow: wrap;
}
.work-raw > div.txt01{
    width: 319px;
}
.work-raw > div.pct{
    width: 165px;
}
.work-raw > div.txt02{
    width: 355px;
}

.work-raw > div.txt02 .btn{
    margin-top: 10px;
}


/* btn-area */
.btn-area{
    width: 850px;
    margin: 0 auto;
    text-align: center;
    padding: 30px 0;
}
.btn-area p{
    margin-bottom: 5px;
}
.btn-area-raw{
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
.btn-area-raw > div{
    width: 410px;
}
.chutxt {
  font-size: 10px;
  line-height: 1.5;
  text-align: justify;
}


/* 固定表示バナー */
.floatbnr {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 3;
}

.link_hoverimg :hover {
    opacity: 0.8;
}

/* JSタブ切り替え */
.panel {
  display: none;
}
.panel.active {
  display: block;
}


/*追従クーポンバナー*/
.coupon {
  position:fixed;
  top:20px;
  right:5px;
  filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.4));
  z-index: 100;
}
