@charset "UTF-8";


/*フッターバナー・フッタートップ・フッターボトム非表示*/
#footer_banner,
#footer_top,
#footer_bottom{
	display:none;
}
/*ヘッダーメニュー非表示*/
#global_menu{
	display:none;
}
/*サイドfloatingボタン非表示*/
#side_button{
	display:none;
}






body {
	font-family: "Noto Sans JP", sans-serif;
}

#header {
    position: absolute;
    margin-bottom: 0;
	background: none;
	border-bottom: none;
}



#main_contents.main_contents{
	max-width: 100%;
	width:100%;
}

/*共通*/

#header{
	z-index:100;
	background:#8ec3a5;
}

.page-template-newfront #header{
	background:none;
}

.small-80{
	font-size:80%;
}
#newfront_page img{
	max-width:100%;
}

.wrap1300{
	padding:150px 15px;
	max-width:1270px;	
	margin:0 auto;
}


.sec-title-sub{
    font-family: "Jost", sans-serif;
    font-size: 30px;
    font-weight: 200;
    display: inline-block;
    margin-bottom: 20px;
	color:#C2D2BE;
	letter-spacing: 0.2rem;
}

#newfront_page h2{
	font-size: 40px;
    font-weight: normal;
    letter-spacing: 0.2rem;
    margin-bottom: 10px;
}

#newfront_page h3{
	font-size: 35px;
    font-weight: normal;
    margin-bottom: 20px;
}


#newfront_page p{
	line-height:210%;
}
a.sec-button{
    padding: 14px 28px 16px;
    line-height: 100%;
	letter-spacing: 0.2rem;
	font-size:18px;
	position:relative;
	margin:0 15px;
	display:inline-block;
}


a.sb-white{
	background: #fff;
}
a.sb-white:hover{
	background: #333;
	color:#fff;
}

a.sb-green{
	background: #06C755;
	color:#fff;
}
a.sb-green:hover{
	color:#06C755;
	background:#fff;
}
a.sb-block{
	color:#fff;
	background:#000;
}

a.sb-block:hover{
	color:#000;
	background:#fff;
}





/*メインビジュアル*/
.nf-mv{
    background: url(/wp-content/themes/cure_tcd082/new-img/mv.webp);
    background-size: cover;
    background-position: right bottom;
	position:relative;
	z-index:;
}

.nf-mv-middle{
width:100%;
	height:100%;
	z-index:-2;
	background:url(/wp-content/themes/cure_tcd082/new-img/mv2.webp);
	background-size: cover;
    background-position: right bottom;
}
.nf-mv-in{
	height: 84vh;
    padding-bottom: 8%;
    display: flex;
    align-items: end;
    justify-content: center;
	z-index:-2;
	background:url(/wp-content/themes/cure_tcd082/new-img/mv3.webp);
	background-size: cover;
    background-position: right bottom;
}
/*
.nf-mv-in:before{
	content:"";
	width:100%;
	height:100%;
	background:url(/wp-content/themes/cure_tcd082/new-img/mv3.webp);
	z-index:1;
	background-size: cover;
    background-position: right bottom;
	position:absolute;
	left:0;
	top:0;
}

*/

.nf-mv-content{
	max-width: 1270px;
    width: 100%;
    padding: 0 15px;
	z-index:1;
}

.nf-mv-content h2{
	font-size: 50px;
    color: #fff;
    line-height: 160%;
	margin: 15px 0 35px;
}

.nf-mv-button{
	display:flex;
}

.nf-mv-button a{
	display:inline-block;
	margin-right:30px;
	margin-left:0;
}




.nf-mv-button .sec-button:before{
	position:absolute;
	content:"";
	height:1px;
	width:24px;
	right:-12px;
	top:0;
	bottom:0;
	margin:auto 0;
	background:#000;
	transition:0.2s;
}

.nf-mv-button .sec-button:hover::before{
	right:-18px;
}


/*CONCEPT*/

.nf-sec1{
    background: #fff;
    position: relative;
	z-index:-1
}
.nf-sec1-in{
	padding: 0;
    max-width: 100%;
    background: url(/wp-content/themes/cure_tcd082/new-img/sec1-back.webp) no-repeat;
    background-size: auto 100%;
    background-attachment: fixed;
    background-position: left;
    position: relative;
}
.nf-sec1-content{
	padding: 0 15px;
    height: 100vh;
    color: #fff;
    display: flex;
    justify-content: end;
    align-items: center;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}
.nf-sec1-content-in{
	max-width: 450px;
    text-shadow: 0 0 8px #999;
    font-weight: normal;
}

.nf-sec1-content-in .sec-title-sub{
	color:#fff;
}

#newfront_page .nf-sec1-content-in h2{
	margin-bottom:30px;
}


.movie_blk {
	width: 100%;
    height: 100vh;
    display: block;
    position: absolute;
    z-index: -1;
    opacity: 0.8;
}
.movie_blk video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}


/*3つの柱*/
.nf-sec2-in{
	padding:0;
}

.nf-sec2 .sec-title{
	text-align:center;
	padding:150px 0 135px;
	margin-bottom: 15px;
	background: url(/wp-content/themes/cure_tcd082/new-img/sec2-title-back.webp) no-repeat;
	background-size: cover;
    background-position: bottom;
}

.nf-sec2-in{
	max-width:100%;
	padding 0;
}

.nf-sec2-box{
	padding-bottom: 150px;
    margin-bottom: 120px;
	position:relative;
}

.nf-sec2-box3{
	margin-bottom:0;
}


.nf-sec2-box-first{
	display:flex;
	align-items:center;
}

.nsbf-left{
	width:45%;
}
.nsbf-right{
	width:515px;
	margin-left:5%;
	/*
    width: 35%;
    margin-left: 5%;
    margin-right: 15%;
	*/
}
.nsbf-left img{
	width:100%;
	height:auto;
}

#newfront_page .nsbf-no{
    font-size: 60px;
    font-weight: 200;
    font-family: "Jost", sans-serif;
    display: inline-block;
    margin-bottom: 15px;
	line-height:100%;
}

#newfront_page .nf-sec2-box1 .nsbf-no{
    color: #668774;
}

#newfront_page .nf-sec2-box2 .nsbf-no{
    color: #68AD56;
}

#newfront_page .nf-sec2-box3 .nsbf-no{
    color: #22B573;
}
.nf-sec2-box-end{
	max-width: 1270px;
    margin: 65px auto;
    border-left: 1px solid #000;
    padding: 15px 0 20px 40px;
}

.sec-button-area{
	display: flex;
    align-items: center;
    justify-content: center;
}

.nf-sec2-box1:before{
    content: "";
    width: 70%;
    height: 85%;
    display: block;
    background: url(/wp-content/themes/cure_tcd082/new-img/sec2-1-back.webp) no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.nf-sec2-box2:before{
    content: "";
    width: 70%;
    height: 85%;
    display: block;
    background: url(/wp-content/themes/cure_tcd082/new-img/sec2-2-back.webp) no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.nf-sec2-box3:before{
    content: "";
    width: 70%;
    height: 85%;
    display: block;
    background: url(/wp-content/themes/cure_tcd082/new-img/sec2-3-back.webp) no-repeat;
    background-size: 100%;
    background-position: center;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
}


.nf-sec2-box1:after{
    content: "";
    width: 100%;
    height: 383px;
    display: block;
    background: rgba(235,235,235,.31);
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;	
}

.nf-sec2-box2:after{
    content: "";
    width: 100%;
    height: 383px;
    display: block;
    background: rgba(230,230,230,.31);
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;	
}

.nf-sec2-box3:after{
    content: "";
    width: 100%;
    height: 383px;
    display: block;
    background: rgba(204,204,204,.31);
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;	
}


.nf-sec3-in{
	text-align:center;
}
.sec3-content{
	display: flex;
    justify-content: center;
    align-items: start;
}

.sec3-box{
	width:45%;
	margin:0 2.5%;
	text-align:center;
}

.sec3-box h3{
	margin:30px 0 25px;
}
.sec3-box p{
	text-align:left;
}


.nf-sec4{
    background: url(/wp-content/themes/cure_tcd082/new-img/sec4-back.webp) no-repeat;
    background-size: cover;
    background-position: center;
	position:relative;
	color:#fff;
	text-align:center;
}

.nf-sec4-in{
	max-width:100%;
	padding:150px 0 130px;
}

#newfront_page .nf-sec4-in h3{
	font-size:30px;
	line-height:150%;
}

.nf-sec4-box-first{
	display:flex;
	text-align:left;
	
}
.sec4-1{
	width:56%;
	margin-right:5%;
}
.nf-sec4-first-text{
	margin-right:11vw;
}

.nf-sec4-box-end{
	text-align: left;
    max-width: 670px;
    margin: 100px auto;
    padding-right: 600px;
}

.sec4-2{
    position: absolute;
    bottom: 50px;
    right: 0;
    width: 30%;	
}


.nf-sec5{
	background: url(/wp-content/themes/cure_tcd082/new-img/sec5-back.webp) no-repeat;
    background-size: cover;
    background-position: center;
}

.nf-sec5 .sec-title{
	display:flex;
	align-items:center;
}

.nf-sec5 .sec-title p,
#newfront_page .nf-sec5 .sec-title h2{
	line-height:100%;
	margin-right:40px;
	margin-bottom:0;
}

.nf-sec5-in ul{
    margin-top: 75px;
	margin-bottom: 60px;
    display: flex;
    text-align: center;
}


.nf-sec5-in ul li{
	width:16%;
	padding-right:15%;
	position:relative;
}

.nf-sec5-in ul li:last-child{
	padding-right:0;
	
}

#newfront_page .nf-sec5-in ul li h3{
    font-size: 25px;
    margin-top: 40px;
	position:relative;
}

.nf-sec5-in ul li:before{
	content: "";
    width: 70px;
    height: 1px;
    background: #CCCCCC;
    display: block;
    position: absolute;
    top: 28%;
    right: 15%;
}
.nf-sec5-in ul li:last-child:before{
	display:none;
}


#newfront_page  .sec5-bottom-title{
	font-size: 30px;
    background: #87AD9F;
    color: #fff;
    padding:12px 8px 15px 16px;
	margin-top: 42px;
}

/*フッター*/


.nf-common h2{
	font-size: 40px;
    font-weight: normal;
    letter-spacing: 0.2rem;
    margin-bottom: 10px;
	color:#fff;
	margin-bottom:35px;
}

.nf-common ul{
	display:flex;
}

.nf-common ul li{
	width:50%;
	text-align:center;
	padding: 145px 15px;
}

.nf-common ul li.common-first{
	background: url(/wp-content/themes/cure_tcd082/new-img/sec6-back1.webp) no-repeat;
    background-size: cover;
    background-position: center;
}


.nf-common ul li.common-end{
	background: url(/wp-content/themes/cure_tcd082/new-img/sec6-back2.webp) no-repeat;
    background-size: cover;
    background-position: center;
}


.nf-common ul li.common-end .sb-white{
	color:#06C755;
}
.nf-common ul li a.sb-white:hover{
	color:#fff!important;
	}

.floating-box{
	display:flex;
	align-items:start;
	position:fixed;
	top:0;
	right:150px;
	z-index:200;
}

.floating-box a{
	padding:15px 50px 20px;
	color:#fff;
	line-height: 100%;
    letter-spacing: 0.2rem;
    font-size: 18px;
	margin-right:15px;
	border-radius:0 0 15px 15px;
	transition:0.5s;
}


.floating-box a:hover{
	color:#fff!important;
	border-radius:0;
	padding-top:25px;
}

.floating-box .floating-line{
	background:#06C755;
}
.floating-box .floating-form{
	background:#333;
}


/*　ハンバーガーボタン　*/
.hamburger-new {
  display : block;
  position: fixed;
  z-index : 9999;
  right : 13px;
  top   : 6px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger-new span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 1px ;
  left    : 6px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger-new span:nth-child(1) {
  top: 10px;
}
.hamburger-new span:nth-child(2) {
  top: 20px;
}
.hamburger-new span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger-new.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
	background:#fff;
}

.hamburger-new.active span:nth-child(2),
.hamburger-new.active span:nth-child(3) {
  top: 16px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
	background:#fff;
}

nav.globalMenuSp {
	display:block;
  position: fixed;
  z-index : 500;
  top  : 0;
  right : 0;
  color: #000;
  background: none;
  text-align: center;
  transform: translateX(100%);
  transition: all 0.6s;
  width: 50%;
	margin-top:0;
	background: url(/wp-content/uploads/2024/08/hamburger-back.webp);
	background-size:cover;
}

nav.globalMenuSp ul {
     background: linear-gradient(to right, #87ad9fd1, #668774cc);
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 100vh;
	padding-top:60px;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #fff;
	text-align:center;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
	
}

nav.globalMenuSp ul li a {
    display: block;
    color: #fff;
    padding: 25px 0;
    text-decoration: none;
    transition: 0.5s;
    font-size: 16px;
    font-weight: normal;
	padding-left: 23px;
	text-align:center;
}
	nav.globalMenuSp ul li a:hover {
	background :#ddd;
		color:#000;
	}
	
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%);
}
	
	nav.globalMenuSp .accordion-content ul{
		padding-top:0;
		height:auto;
		background:none;
	}
	
nav.globalMenuSp ul li ul li a {
        padding-left: 35px;
	}
	nav.globalMenuSp ul li ul li a:before {
		content:"- ";
		color:#fff;
		display:inline-block;
		margin-right:6px;
	}




@media screen and (max-width: 1251px){
	
	#header_logo .pc_logo_image {
        display: block;
    }
	
	#header a {
        color: #fff;
    }
	
	#header a:hover {
        color: #000;
    }
	
	  .page-template-newfront #main_contents {
        padding: 0;
    }
	
	#menu_button{
		display:none!important;
	}
	
}


@media screen and (max-width: 1050px){
	
	#header_logo .logo{
		width: 190px;
	}
	#header_logo .pc_logo_image{
		width: 100%;
		height: auto;
	}
	#header_logo .mobile_logo_text {
		display: none;
        }
	
	nav.globalMenuSp {
		width: 100%;
	}

.floating-box {
	width: 100%;
	top:auto;
    bottom: 0;
    right: 0;
	}
	
	.floating-box a {
    margin-right: 0;
    border-radius: 0;
    width: 50%;
	text-align: center;
	padding: 15px 0;
		font-size:15px;
}
	.floating-box a:hover {
    color: #fff !important;
    padding-bottom: 15px;
}

	#newfront_page h2 {
		font-size: 20px;	
		margin-bottom:0;
	}
	
	#newfront_page h3 {
    font-size: 20px;
	}

	.sec-title-sub {
    font-size: 15px;
	}
	
	.wrap1300 {
    padding: 90px 15px;
	}
	
	.nf-mv-in {
    height: 79vh;
    padding-bottom: 20vw;
	margin-bottom:0;
	}
	
	.nf-mv-button {
    display: none;
}
	
	.nf-mv-in {
    background: url(/wp-content/themes/cure_tcd082/new-img/mv3.webp) no-repeat;
    background-size: auto 108%;
    background-position: right bottom;
}
.nf-sec1-in {
    padding: 0;
    background: url(/wp-content/themes/cure_tcd082/new-img/sec1-back.webp) no-repeat;
    background-size: cover;
	}
	.nf-sec1-content {
    padding: 0;
	justify-content: center;
	}
	
	.nf-sec1-content-in {
    margin-bottom: 50px;
}
	
.nf-sec2 .sec-title {
    text-align: center;
    padding: 90px 0 20px;	
	}
	
	
.nf-sec2-box-first {
    display: flex;
    align-items: center;
    flex-direction: column;
}	
	
.nsbf-left {
    width: 100%;
}
	
.nsbf-right {
    width: 94%;
    margin-left: 0;
    padding: 3%;
}
	
	.nf-sec2-box-end {
    margin: 40px auto;
    border-left:none;
    padding: 3%;
}
	.sec-button-area {
    display: flex;
    flex-direction: column;
	}
	
	a.sec-button {
    width: 65%;
    text-align: center;
    font-size: 16px;
    position: relative;
    margin: 0 0 15px;
    display: inline-block;
}
	
	
	.nf-sec2-in {
    padding: 0;
}
	.nf-sec2-box {
    padding-bottom: 70px;
    margin-bottom: 0;
    position: relative;
}
	
	.nf-sec2-box1:before,
	.nf-sec2-box2:before,
	.nf-sec2-box3:before{
		display:none;
	}
	
	.nf-sec2-box1:after,
	.nf-sec2-box2:after,
	.nf-sec2-box3:after{
		height:100%;
	}
	
	
	
	.sec3-content {
    flex-direction: column;
}
	
	
	.nf-sec3-in {
    padding-bottom: 25px;
}
	
	.sec3-box {
    width: 94%;
    margin: 0 3% 65px;
	}
	
	.sec3-box img{
		width:200px;
	}
	
	.nf-sec4-in {
    max-width: 100%;
    padding: 90px 0 40px;
}
	
	.nf-sec4-box-first {
    flex-direction: column;
}
	
	.sec4-1 {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
}
	#newfront_page .nf-sec4-in h3 {
    font-size: 20px;
    line-height: 150%;
}
	.nf-sec4-first-text {
    margin: 0 3%;
}
	.nf-sec4-box-end {
    text-align: left;
    max-width: 100%;
    width: 94%;
    margin: 40px auto;
    padding-right: 0;
	}
	
	.sec4-2 {
    display: none;
	}
	.nf-sec5 .sec-title {
    flex-direction: column;
	}
	
	.nf-sec5 .sec-title p, #newfront_page .nf-sec5 .sec-title h2 {
    line-height: 100%;
    margin-right: 0;
	}
	
	.nf-sec5-in ul {
    flex-wrap: wrap;
		margin-bottom:0;
}
	.nf-sec5-in ul li {
    width: 45%;
    padding-right: 10%;
		margin-bottom: 40px;
	}
	
	.nf-sec5-in ul li:nth-child(even){
	padding-right: 0;
}
.nf-sec5-in ul li:before {
	display:none;
}
#newfront_page .nf-sec5-in ul li h3 {
    font-size: 17px;
    margin-top: 15px;
	}

	.sec5-img{
		width:90px;
		margin:0 auto;
	}

#newfront_page .sec5-bottom-title {
    font-size: 18px;
    padding: 7px 8px 10px 10px;
    margin-top: 24px;
}


.nf-common ul {
    display: flex;
    flex-direction: column;
}

.nf-common ul li {
    width: 94%;
    text-align: center;
    padding: 75px 3%;
}

.nf-common h2 {
    font-size: 22px;
	}
	
	

}
	



/************ アニメーション******************/
.fade-box{
	opacity:0;
}


.blur{
  animation-name:blurAnime;
  animation-duration:1.7s;
  animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
  filter: blur(10px);
  transform: scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}


.blur2{
  animation-name:blur2Anime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes blur2Anime{
  from {
  filter: blur(10px);
  transform: scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}




/*ディレイタイム　delay-time*/
.delay-time01 {animation-delay: 0.1s;}
.delay-time02 {animation-delay: 0.2s;}
.delay-time03 {animation-delay: 0.3s;}
.delay-time04 {animation-delay: 0.4s;}
.delay-time05{animation-delay: 0.5s;}
.delay-time06{animation-delay: 0.6s;}
.delay-time07{animation-delay: 0.7s;}
.delay-time08{animation-delay: 0.8s;}
.delay-time09{animation-delay: 0.9s;}
.delay-time10{animation-delay: 1s;}
.delay-time11{animation-delay: 1.1s;}
.delay-time12{animation-delay: 1.2s;}
.delay-time13{animation-delay: 1.3s;}
.delay-time14{animation-delay: 1.4s;}
.delay-time15{animation-delay: 1.5s;}
.delay-time18{animation-delay: 1.8s;}
.delay-time20{animation-delay: 2s;}
.delay-time21{animation-delay: 2.1s;}
.delay-time23{animation-delay: 2.3s;}
.delay-time25{animation-delay: 2.5s;}
.delay-time28{animation-delay: 2.8s;}
.delay-time29{animation-delay: 2.9s;}
.delay-time30{animation-delay: 3s;}
.delay-time37{animation-delay: 3.7s;}
.delay-time35{animation-delay: 3.5s;}
.delay-time40{animation-delay: 4s;}
.delay-time50{animation-delay: 5s;}
.delay-time60{animation-delay: 6s;}
.delay-time70{animation-delay: 7s;}
.delay-time80{animation-delay: 8s;}
.delay-time90{animation-delay: 9s;}
.delay-time100{animation-delay: 10s;}

/*ディレイタイム　delay-time ここまで*/