@charset "utf-8";

/*全体設定
=============================*/
main {
    overflow: hidden;
}
figure {
    position: relative;
}
.cap_T {
    bottom: inherit;
    top: 5px;
}

/*メインビジュアル
=============================*/
.mv {
    position: relative;
    width: 100%;
    background: #38b7c7;
}

.mv h2 {
    display: block;
    padding: 100px 0 50px;
    color: #fff;
    font-size: min(6vw, 50px);
    text-align: center;
    z-index: 2;
}

.mv img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*OUTFRAME
=============================*/

.lead_copy {
text-align: center;
margin: 80px auto 0;
}
.lead_copy p {
font-size: 20px;
line-height: 1.8;
}
.tab_Area {
}
.tab_Area ul {
display: flex;
justify-content: space-between;
width: 94%;
max-width: 825px;
margin: 60px auto 40px;
}
.tab_Area li {
width: 30.909090909090909%;
}
.tab_Area a {
transition: 0.3s;
}
.tab_Area a:hover {
filter: brightness(110%);
}

.contents_Area {
}
.contents_Area .inner {
    width: 94%;
    max-width: 1200px;
    margin: 0 auto;
}

.inner {
    width: 94%;
    max-width: 1200px;
    margin: 0 auto;
}

.contents_Area .contents_box {
width: 100%;
margin: 0 auto;
padding: 40px 0;
background: #fff;
color: #000;
}
.contents_Area .contents_box:not(:last-of-type) {
margin: 0 auto 100px;
}
.contents_Area .point {
width: 40%;
max-width: 166px;
margin: 0 auto 40px;
}
.contents_Area .ttl_copy {
text-align: center;
line-height: 1.6;
margin: 0 auto 40px;
}
.contents_Area h3 {
font-size: 38px;
padding: 0 0 0.4em;
}
.contents_Area p {
font-size: 20px;
}
.contents_Area .contents_img {
    margin: auto;}
.contents_Area figure {
}

#sec01, #sec02, #sec03{
padding-top: 100px;
margin-top: -100px;
}
.notes_wrap {
    margin: 50px auto 0;
}

.cv_btn_box {
	position: relative;
	overflow: hidden;
}

/* ボタン キラキラCSS */
.cv_btn_box::after {
	content: '';
	position: absolute;
	top: -10%;
	left: -20%;
	width: 40px;
	height: 100%;
	transform: scale(2) rotate(30deg);
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
	animation: shiny 2s infinite;
}


@keyframes shiny {
	0% {
		left: -20%;
	}

	70% {
		left: 120%;
	}

	100% {
		left: 120%;
	}
}
/* ボタン キラキラCSS */

.tab_Area ul.sp-btn-link {
    display: none;
}



@media only screen and (max-width: 1030px) {
    
    
    /*メインビジュアル
    =============================*/
    .mv {
        padding: 70px 0 30px;
    }
    .mv h2 {
        top: 50%;
        padding: 10px 0 10px;
        font-size: 30px;
    }
    .mv p {
        font-size: 14px;
    }
    
    
    /*OUTFRAME
    =============================*/
    
    .lead_copy {
        text-align: left;
        margin: 40px auto 0;
    }
    .lead_copy p {
        font-size: 14px;
    }
    .tab_Area ul {
        flex-wrap: wrap;
        width: 60%;
        margin: 40px auto 30px;
    }

    .tab_Area li {
        width: 100%;
    }
    .tab_Area li:not(:last-child) {
        margin: 0 auto 20px;
    }
    .contents_Area .contents_box {
        padding: 20px 0;
    }
    .contents_Area .contents_box:not(:last-of-type) {
        margin: 0 auto 60px;
    }
    .contents_Area .point {
        margin: 0 auto 30px;
    }
    .contents_Area .ttl_copy {
        margin: 0 auto 30px;
    }
    .contents_Area h3 {
        font-size: 20px;
        padding: 0 0 1em;
    }
    .contents_Area p {
        font-size: 14px;
    }

    .notes_wrap {
        margin: 30px auto 0;
    }

    .tab_Area ul.pc-btn-link  {
        display: none;
    }

    .tab_Area ul.sp-btn-link  {
        display: block;
    }
    
    
}
