@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&family=Noto+Sans+JP:wght@100..900&display=swap');
/*
font-family: "Noto Sans JP", sans-serif;
font-family: "M PLUS Rounded 1c", sans-serif;
*/
/*--------------------------------------------------
reset
-----------------------------------------------------*/
body{width: 100%;letter-spacing: 0;text-align: left;}
body, p, dl, ol, ul, h1, h2, h3, h3, h4, h5, h6, form, table, td, dt, dd {margin: 0;padding: 0;}
img{border: none; vertical-align:middle;}
/*ol,ul{list-style-type: none;}*/
table {/*border-collapse: collapse;*/border-spacing: 0;}

.sp{display:block;}
.pc{display:none;}

.flex{display:flex; justify-content: space-between; align-items: center;}
/* スクロールで　フェードイン表示 */
.fade{opacity:0;}
.fadein{opacity:1.0;}
.ts1{transition: 1.0s}

.youtube {
position: relative;
padding-bottom: 56.25%; /* アスペクト比16:9の場合 */
padding-top: 0;
height: 0;
overflow: hidden;
margin-bottom: 0; /* YouTubeの下に余白をつける */
margin-top:0;
margin-left:auto;
margin-right:auto;
background: #000;
}
.youtube iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

a{transition: 0.3s;color:#000;}
a:hover{opacity:0.5;}
img{width:100%;height:auto;}

ul{margin:0 0 0 2vw;font-size:1.5vw;}

/* アスタリスク　注釈用 */
ul.ast {	list-style: none;margin: 0 0 2em 0;}
ul.ast li {	margin: 0 0 5px 0;	padding-left: 1em;	text-indent: -1em;}
ul.ast li:before {	content: "\203b";	}

/*右下固定リンク　「先頭に戻る」他　*/
#jumpbtn { position:fixed; right:0; bottom:0;z-index:500;}
#jbtnbox a{display:block;padding:0.5em; background: #000;color:#fff;position:relative;text-decoration: none;}
#jbtnbox a:hover{ 
opacity:1;	
}

#jbtnbox a i{font-size:280%;position: relative;left:-3px;margin:0 5px 0 0;color:#eda4c2;}

.wrap img.protect {
pointer-events: none;
user-select:none;
-moz-user-select:none;
-ms-user-select:none;
-webkit-user-select:none;
-khtml-user-select:none;
-webkit-user-drag: none;
-khtml-user-drag: none;
-webkit-touch-callout: none; 
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); 
}



/*--------------------------------------------------
common
-----------------------------------------------------*/
html {scroll-behavior: smooth;}
html,body {color: #000; font-family: "M PLUS Rounded 1c", sans-serif;
font-size:1.75vw;
}

.inner{width:88%;margin:auto;}

section{margin:0;position: relative;}
section p{margin:0 0 1em 0;}
div{position: relative;scroll-margin-top: 3vw; /* 追記 */}

 
/*
nav
------------------------------------------------------------------------------------ */
nav.globalMenuSp {
	position: fixed;
	top: 0;
	left: 0;
	background: #e60012;
	color: #fff;
	text-align: center;
	transform: translateY(-100%);
	transition: all 0.2s;
    opacity: 0;
    z-index:-1;
	width: 100%;
    /*height:100%;*/
    padding:10% 0;
    margin:auto;
    
}
nav.globalMenuSp ul {
	/*background: rgba(255,255,255,0.7);*/
	margin: 0 auto 5vw auto;
	padding: 0;
	/*width: 100%;*/
    list-style: none;
}
nav.globalMenuSp ul li {
	font-size: 5vw;
	list-style-type: none;
	padding: 0;
/*flex-basis: 100%;*/
}

nav.globalMenuSp ul li span{display:block;}


/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}
nav.globalMenuSp ul li a {
	display: block;
	color: #fff;
	padding: 0.5em 0;
    text-decoration: none;
}

nav.globalMenuSp ul li a.current {
	color: #fff;
}
nav.globalMenuSp ul li a.current.general {
	color: #000;
}


nav.globalMenuSp ul li.sp a {
	display: inline-block;
width:30%;
}

/*
nav.globalMenuSp ul li a:before{
content:""; 
width:0;    
height: 0;
border-style: solid;
border-color: transparent transparent transparent #fff;
border-width: 6px 0px 6px 12px;   
display:inline-block; 
    margin:0 0.5em 0 0;
}
*/

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    opacity: 1;
    z-index:100;
   transform: translateY(0%);
}
.navToggle {
	position: fixed;    /* bodyに対しての絶対位置指定 */
	right: 2vw;
	top:2vw;
	width: 44px;
	height: 36px;
	cursor: pointer;
	z-index: 999;
	text-align: center;
}

.navToggle span {
	display: block;
	position: absolute;    /* .navToggleに対して */
	width: 30px;
	border-bottom: solid 3px #eee;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	left: 6px;
}
.navToggle.active span {border-bottom: solid 3px #eee;}



.navToggle span:nth-child(1) {
	top: 7px;
}
.navToggle span:nth-child(2) {
	top: 16px;
}
.navToggle span:nth-child(3) {
	top: 25px;
}
.navToggle span:nth-child(4) {
	border: none;
	color: #eee;
	font-size: 9px;
	font-weight: bold;
	top: 34px;
}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
	top: 16px;
	left: 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/* 2番目と3番目のspanを45度に*/
.navToggle.active span:nth-child(2), .navToggle.active span:nth-child(3) {
	top: 16px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*メニューアクティブ時に背景グレーに*/
.wrap.active:after{content:"";position: absolute;top:0;width:100%;height:100%; background: rgba(0,0,0,0.7)}


#navi .navi_logo{width:44%;margin:auto;}


header {display:none;}


#kv{background:#e60012; padding:10vw 0 0 0;height:80vw;position: relative;} 
#kv .kv_bg{width:100%;margin:auto;top:4vw;position: absolute;}
#kv .kv_meetyournew{width:80%;margin:auto;}
#kv .kv_logo{width:77%;margin:auto;position: absolute;top:10vw; left:50%;translate: -50% 0;

animation-duration: 1s;
animation-name: kv_logo;
animation-timing-function: ease-out;
animation-fill-mode:  forwards;

}
#kv .kv_ill_jump{width:15%;margin:auto;position: absolute;top:8vw; left:43%;translate: -50% 0;}
#kv .kv_detail{width:63%;margin:auto;position: absolute;top:37vw; left:50%;translate: -50% 0;}
#kv .kv_yotei{width:58%;margin:auto;position: absolute;top:55vw; left:50%;translate: -50% 0;}
#kv .kv_kaishi{width:33%;margin:auto;position: absolute;top:54vw; left:50%;translate: -50% 0;}
#kv .kv_free{width:15%;margin:auto;position: absolute;top:48vw; right:1%;}
#kv .kv_ntc{width:92%;margin: auto;position: absolute;top:73vw; right:0;}



@keyframes kv_logo {
  0% {
    opacity: 1;transform:scale(0);
  }
  
  100% {
    opacity:10; transform:scale(1);
  }
}






/*===========
inview
===========*/

.fadein_up {
  opacity: 0;
  transform: translate(0, 10%);
  transition: 1s;
}
.fadein_up.show {
  transform: translate(0, 0);
  opacity: 1;
}







#news{top:-8vw;margin:0 0 -8vw 0; }
#news h2{font-size:6vw;color:#c30d23;font-family: "Noto Sans JP", sans-serif;}
#news h2 span{font-size:3vw;margin:0 0 0 1vw;color:#000;}
#news .inner{top:-13vw;margin:0 auto -13vw auto;}
#news .news_wrap{ background: #efefef;padding:1.5vw;}
#news .news_inner{height:20vw;overflow: scroll;}
#news dl{display: flex;justify-content: space-between;align-items: flex-start;font-size:3vw;}
#news dl dt{flex-basis:30%;}
#news dl dd{flex-basis:70%;}
#news dl.new dt:after{content:"NEW";color:#f00;margin:0 0 0 0.5vw;}

.bg_parts01{position: absolute;top: 106vw;width:100%;z-index:-1;}


#whats{overflow: hidden;padding:0 0 44vw 0;}
#whats h2{font-size:7vw;text-align: center;margin:0 0 1.5vw 0;font-family: "Noto Sans JP", sans-serif;}
#whats h2 span{color:#c30d23;}
#whats .Whats_sub_title{text-align:center;font-size:4vw;font-weight:500;margin:0 0 5vw 0;}    
#whats .Whats_text{width:100%;margin:0 0 6vw 0;}
#whats .Whats_text p{font-size:3vw;}
#whats .Whats_sub_text{width:100%;}
#whats .Whats_sub_text p{font-size:2.5vw;}
#whats .whats_photo01{position: absolute;top: 78vw;right: 13vw;width: 38vw;}
#whats .whats_photo02{position: absolute;top: 88vw;right: 62vw;width: 24vw;}

#meet_your_new{ background: #e60012;}
#meet_your_new .inner{top:-14vw;margin:0 auto -14vw auto;}
#meet_your_new h2{width:80%;margin:0 auto 1.2vw auto;}
#meet_your_new .meetyour_header{margin:0 auto 3vw auto;}
#meet_your_new .meetyour_program{margin:0 auto 3vw auto;}
#meet_your_new .meetyour_map{margin:0 auto 3vw auto;}
#meet_your_new .meetyour_map a{position: absolute;top:46vw;left:50%; translate: -50% 0;  width:44%;}   
#meet_your_new .meetyour_entry{padding:0 0 3vw 0;} 
#meet_your_new .meetyour_entry a{position: absolute;bottom:6vw;left:50%; translate: -50% 0;  width:44%;}  
#meet_your_new .bg_parts02{position: absolute; top:36vw;width:100%;}    

#meet_your_new{ background: #e60012;}
#meet_your_new .inner{top:-14vw;margin:0 auto -14vw auto;}
#meet_your_new h2{width:80%;margin:0 auto 1.2vw auto;}
#meet_your_new .meetyour_header{margin:0 auto 3vw auto;}
#meet_your_new .meetyour_program{margin:0 auto 3vw auto;}
#meet_your_new .meetyour_map{margin:0 auto 3vw auto;}
#meet_your_new .meetyour_map .map_btn{position: absolute;top:26vw;left:50%; translate: -50% 0;  width:44%;}   
#meet_your_new .meetyour_entry{padding:0 0 3vw 0;}    
#meet_your_new .bg_parts02{position: absolute; top:36vw;width:100%;}    


#meet_your_new .btn_wrap{margin:5vw 0;}
#meet_your_new .btn_wrap a{flex-basis:47%;}




#contact{} 
#contact .inner{top:-9vw;margin:0 auto -9vw auto;}   

#contact .entryform{margin:0 0 5vw 0;}  
#contact .entryform a{position: absolute;top:14vw;left:50%; translate: -50% 0;  width:88%;}  


#contact .precautions{border-bottom:2px solid #c30d23;margin:0 0 3vw 0;}
#contact .precautions .precautions_title{color:#c30d23;font-weight:700;font-size:4vw;font-family: "Noto Sans JP", sans-serif;
text-align: center;}
#contact .precautions .precautions_title span{padding:0 2vw; background: #fff;}
#contact .precautions .precautions_title:before{
    content:"";
    width:100%;
    height:2px;
     background: #c30d23;
    position: absolute;
    left:0;
    top:55%;
    z-index:-1;
}

#contact .precautions .precautions_sub_title{font-weight:500;font-size:2.1vw;text-align: center;margin:0 0 1.5vw 0;}
#contact .precautions .precautions_cap{color:#c30d23;font-weight:700;font-size:2vw;}
#contact .precautions p{margin:0 0 2vw 0;}








#contact .title{font-size:5vw;text-align: center;margin:0;font-weight:600;color:#e60012;}
#contact .jimukyoku{font-size:3.5vw;text-align: center;margin:0 0 0.5vw 0;font-weight:600;}
#contact .detial{font-size:3vw;text-align: center;margin:0 0 1.5vw 0;font-weight:600;}
#contact ul.ast{font-size:2vw;display: flex;justify-content: center;}

.sp_wrap{align-items: flex-start;flex-flow: column}   
.sp_wrap .sp_item.syusai{}
.sp_wrap .sp_item.kyoryoku{}
.sp_wrap .sp_item.koen{margin:2vw 0 0 0;justify-content: flex-start;align-items: center;}
.sp_wrap .sp_item.koen .sp_cap{margin:0 4vw 0 0;}
.sp_wrap .sp_item.koen p{margin:0;font-size:2vw;}
.sp_wrap .sp_item .sp_cap{font-size:3vw;}
.sp_wrap .sp_item ul {flex-flow:row wrap;margin:2vw 0 0 0;}
.sp_wrap .sp_item ul li{flex-basis:48%;text-align: center; margin:0 0 3vw 0;font-size:2vw;}
.sp_wrap .sp_item ul li a{display: block;border:1px solid #ccc;border-radius:0.5em;padding:1vw;margin:0 0 0.5vw 0;}
.sp_wrap .sp_item ul li a img{object-fit: contain;}




 /*下層*/   
    #sub {position:relative;top:15vw;min-height: 77vh;margin:0 0 15vw 0;}  
    #sub h1 {font-size:8vw;font-family: "Noto Sans JP", sans-serif;color:#e60012;font-weight:900;margin:0 0 6vw 0;} 
    #sub h1 span{font-size:3vw;color:#000;display: block;font-weight:700;} 



#sub .map{height:110vw;margin:0 0 3vw 0;}  









/* フッター */
footer{padding:3em 0;  }
footer .inner{top:-12vw;margin:0 auto -12vw auto;}
footer ul{display: flex; justify-content: center;align-items: center;margin:0 0 2.5vw 0;list-style: none;}
footer ul li a{color:#fff;text-decoration: none;padding:0 1.5vw;margin:0 1.5vw;font-size:2.5vw;}
footer ul li{position:relative;}
footer ul li:after{position:absolute;top:50%; translate:0 -50% ;content:"";height:1.63vw;width:1px;background: #fff;right:0;}
footer ul li:last-child:after{content:none;}
footer .copyright{text-align:center;color:#fff;font-size:2vw;}



/* //////////////////////////////////////////////////*/
@media screen and (min-width: 48em) {
/* //////////////////////////////////////////////////*/

.sp{display:none;}
.pc{display:block;}
.inner{width:80%;margin:auto;}
    .navToggle {display:none;}

div {
	scroll-margin-top: 10vw; /* 追記 */
}    
    
header {
    
display: flex;    
justify-content: space-between;
align-items: center;

position: fixed;
top:2.5vw;
left:50%;
translate: -50% 0;
width:44vw;
border-radius:5em;
margin:auto;
background: #fff;
align-items: center;
box-shadow: 0 3px 30px rgba(0,0,0,0.2) ;
padding:0.75vw 3vw;
z-index:99;
}

header .navi_logo {flex-basis:24%;line-height: 1;}
header ul {flex-basis:66%;font-size:1.3vw;list-style: none;}
header ul li a{text-decoration: none;font-weight:500;line-height: 1;position: relative;transition: 0.3s;}
  

header ul li a:after{content:"";height:1px;width:0;bottom:-0.25vw; background: #222;display:block;position: absolute;  transition: .5s all;}		
header ul li a:hover:after{width:100%;opacity:1;text-decoration: none;}
	

    
    
#kv{ padding:10vw 0 0 0;height:80vw;} 
#kv .kv_bg{width:100%;margin:auto;top:4vw;position: absolute;}
#kv .kv_meetyournew{width:80%;margin:auto;}
#kv .kv_logo{width:77%;margin:auto;position: absolute;top:10vw; left:50%;translate: -50% 0;}
#kv .kv_ill_jump{width:15%;margin:auto;position: absolute;top:8vw; left:43%;translate: -50% 0;}
#kv .kv_detail{width:63%;margin:auto;position: absolute;top:35vw; left:50%;translate: -50% 0;}
#kv .kv_yotei{width:58%;margin:auto;position: absolute;top:50vw; left:50%;translate: -50% 0;}
#kv .kv_kaishi{width:33%;margin:auto;position: absolute;top:50vw; left:50%;translate: -50% 0;}    
#kv .kv_free{width:13%;margin:auto;position: absolute;top:43vw; right:1%;}
#kv .kv_ntc{width:90%;margin: auto;position: absolute;top:67vw; right:0;}

/*
background: url("../images/cloud_white01.svg")no-repeat top center;
background-size: cover;
*/ 
#news{top:-16vw;margin:0 0 -16vw 0; }
#news h2{font-size:4vw;color:#c30d23;font-family: "Noto Sans JP", sans-serif;}
#news h2 span{font-size:1.5vw;margin:0 0 0 1vw;color:#000;}
#news .inner{top:-13vw;margin:0 auto -13vw auto;}
#news .news_wrap{ background: #efefef;padding:1.5vw;}
#news .news_inner{height:20vw;overflow: scroll;}
#news dl{display: flex;justify-content: space-between;align-items: flex-start;font-size:1.75vw;}
#news dl dt{flex-basis:18%;}
#news dl dd{flex-basis:82%;}
#news dl.new dt:after{content:"NEW";color:#f00;margin:0 0 0 0.5vw;}

.bg_parts01{position: absolute;top: 106vw;width:100%;z-index:-1;}

#whats{overflow: hidden;padding:0 0 9vw 0;}
#whats h2{font-size:5.5vw;text-align: center;margin:0 0 1.5vw 0;font-family: "Noto Sans JP", sans-serif;}
#whats h2 span{color:#c30d23;}
#whats .Whats_sub_title{text-align:center;font-size:2.75vw;font-weight:500;margin:0 0 5vw 0;}    
#whats .Whats_text{width:64%;margin:0 0 6vw 0;}
#whats .Whats_text p{font-size:2vw;}
#whats .Whats_sub_text{width:50%;}
#whats .Whats_sub_text p{font-size:1.75vw;}
#whats .whats_photo01{position: absolute;top: 11vw;right: -2vw;width: 40vw;}
#whats .whats_photo02{position: absolute;top: 47vw;right: 24vw;width: 24vw;}

#meet_your_new{ background: #e60012;}
#meet_your_new .inner{top:-14vw;margin:0 auto -14vw auto;}
#meet_your_new h2{width:80%;margin:0 auto 1.2vw auto;}
#meet_your_new .meetyour_header{margin:0 auto 3vw auto;}
#meet_your_new .meetyour_program{margin:0 auto 3vw auto;}
#meet_your_new .meetyour_map{margin:0 auto 3vw auto;}
#meet_your_new .meetyour_map a{position: absolute;top:41vw;left:50%; translate: -50% 0;  width:44%;}   
#meet_your_new .meetyour_entry{padding:0 0 3vw 0;}    
#meet_your_new .bg_parts02{position: absolute; top:36vw;width:100%;}    

    
    
    
    
#contact{} 
#contact .inner{top:-9vw;margin:0 auto -9vw auto;}  
#contact .entryform a{position: absolute;top:12vw;left:50%; translate: -50% 0;  width:88%;}      
    
#contact .title{font-size:3.75vw;text-align: center;margin:0;font-weight:600;color:#e60012;}
#contact .jimukyoku{font-size:2.75vw;text-align: center;margin:0 0 0.5vw 0;font-weight:600;}
#contact .detial{font-size:2vw;text-align: center;margin:0 0 1.5vw 0;font-weight:600;}
#contact ul.ast{font-size:1.2vw;display: flex;justify-content: center;}

.sp_wrap{align-items: flex-start;flex-flow: row wrap}   
.sp_wrap .sp_item.syusai{flex-basis: 72%;}
.sp_wrap .sp_item.kyoryoku{flex-basis: 22%;}
.sp_wrap .sp_item.koen{flex-basis: 100%;margin:2vw 0 0 0;justify-content: flex-start;align-items: center;}
.sp_wrap .sp_item.koen .sp_cap{margin:0 4vw 0 0;}
.sp_wrap .sp_item.koen p{margin:0;font-size:1.2vw;}
.sp_wrap .sp_item .sp_cap{font-size:1.55vw;}
.sp_wrap .sp_item ul {flex-flow:row wrap;margin:2vw 0 0 0;list-style: none;}
.sp_wrap .sp_item ul li{flex-basis:18vw;text-align: center; margin:0 0 1vw 0;font-size:1.1vw;}
.sp_wrap .sp_item ul li a{display: block;border:1px solid #ccc;border-radius:0.5em;padding:1vw;margin:0 0 0.5vw 0;}
.sp_wrap .sp_item ul li a img{object-fit: contain;}

    
    
 /*下層*/   
    #sub {position:relative;top:13vw;min-height: 33vw}  
    #sub h1 {font-size:6vw;font-family: "Noto Sans JP", sans-serif;color:#e60012;font-weight:900;margin:0 0 5vw 0;} 
    #sub h1 span{font-size:2vw;color:#000;display: block;font-weight:700;} 
    

    
    
    #sub .map{height:40vw;margin:0 0 3vw 0;}    
    
    
    
    
    
    
/* フッター */
footer{padding:3em 0;  }
footer .inner{top:-12vw;margin:0 auto -12vw auto;}
footer ul{display: flex; justify-content: center;align-items: center;margin:0 0 2.5vw 0;list-style: none;}
footer ul li a{color:#fff;text-decoration: none;padding:0 1.5vw;margin:0 1.5vw;font-size:1.5vw;}
footer ul li{position:relative;}
footer ul li:after{position:absolute;top:50%; translate:0 -50% ;content:"";height:1.3vw;width:1px;background: #fff;right:0;}
footer ul li:last-child:after{content:none;}
footer .copyright{text-align:center;color:#fff;font-size:1.1vw;}


/* //////////////////////////////////////////////////*/
} /* //////////////////////////////////////////////////*/
/* //////////////////////////////////////////////////*/


@media print {
.fade{opacity:1;}
.fadein{opacity:1.0;}	
#content #jumpbtn {display:none; }  
}
