@charset "utf-8";
@import url('https://www.nta.co.jp/akafu/east/common/css/common.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;400;500&family=Noto+Serif+JP:wght@400;700&display=swap');
@import url('https://use.fontawesome.com/releases/v5.6.3/css/all.css');
/* CSS Document */
html{
	scroll-behavior:smooth;
  scroll-padding-top: 50px;
}
#wrapper {
	width: 100%;
	/*max-width:950px;*/
	margin:0 auto 10px;
	padding:0;
 	font-size:14px;
	line-height:1.6;
	font-family: 'Noto Serif JP', serif;
  overflow: hidden;
}
#wrapper * {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
#wrapper a{
   word-break: break-all;  
}
#wrapper img{
  vertical-align: bottom;
} 
#wrapper h2,
#wrapper h3,
#wrapper h4 {
	font-weight: bold;
}
@media screen and (min-width: 760px){
   .pc_none{
    	display: none;
  }
}
@media screen and (max-width: 759.9px){
   .sp_none{
    	display: none;
  }
}
.text_red {
	color: #B20202;
	/*border-bottom: 1px solid #B20202;*/
}	
.marker {
	 /*background: linear-gradient(transparent 90%, #ffd22c 90%);*/
	border-bottom:4px solid #ffd22c;
}
a.godetail{
	width: 90%;
	max-width: 350px;
	display: block;
	margin: 30px auto 50px;
	line-height: 65px;
	text-align: center;
	text-decoration: none;
	background: url("../images/button.png") no-repeat center bottom;
	background-size: 100% ;
	color: #FFFFFF;
	font-family: 'Noto Sans JP', sans-serif;
}
a.godetail:hover {
	color: #FFFFFF !important;
	text-decoration: none !important;
	opacity: 0.8;
}
a.godetail.gray{
	background: url("../images/button_gray.png") no-repeat center bottom;
	background-size:100% ;
	pointer-events: none;
}
.slash span{
  display: inline-block;
	padding: 0 15px;
	background: url("../images/slash_left.svg") no-repeat center left,url("../images/slash_right.svg") no-repeat center right ;
	background-size:12px;
}
@media screen and (max-width: 759.9px){
	.slash span{
		padding: 0 10px;
		background: url("../images/slash_left.svg") no-repeat center left,url("../images/slash_right.svg") no-repeat center right ;
		background-size:8px;
	}
}

.flex_center {
  display: flex; 
  justify-content: center;
  align-items: center;
}
/*--------.page_roof-------------*/
.page_roof {
	position: relative;
	width: 100%;
  background: url(../images/top.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	padding-top: 350px;
}
.page_roof:before{
	content: " ";
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;	background: rgba(0,0,0,0.2);
}
.page_roof > .inner {
  position: absolute;
  top:0;
  left: 0;
  right: 0;
  bottom: 0;
	width: 80%;
	max-width: 950px;
	margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page_roof h2{
    height: 100%;
  text-align: center;
}

.page_roof h2 img{
    height: 100%;
}
@media screen and (max-width: 759.9px){
  .page_roof {
    position: relative;
    width: 100%;
    background: url(../images/top.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    padding-top: 30vh;
  }
  .page_roof h2 img{
    height: 100%;
  }
}
/*-------------ナビ-   --------------*/
.fixed {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 1000;
}
.paddingTop{
	padding-top: 80px;
}
#wrapper nav {
	background: url("../images/bg_menu.png") repeat-x top ;
	background-size: auto 100%;
	width: 100%;
}
#wrapper nav ul a,
#wrapper nav ul a:hover{
	color: #FFFFFF !important;
	text-decoration: none !important;
}

@media screen and (min-width: 760px){
	#wrapper nav ul {
		width: 100%;
		max-width: 950px;
		margin: 0 auto;
		color: #FFFFFF;
		display: flex;
		flex-wrap:nowrap;
		justify-content: center;
		align-items: center;
		font-family: 'Noto Sans JP', sans-serif;
	}
	#wrapper nav ul a{
		flex-grow:1;
		padding-bottom: 10px;
		height: 80px;
		text-align: center;
		background: url("../images/menu_line.svg") no-repeat center right ;
		background-size: 1px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
	}
	#wrapper nav ul li p.point{
		background: #FFFFFF;
		color: #ba1e1e;
		border-radius: 15px;
		font-size: 70%;
		padding: 1px 3px 1px 5px;
		margin-bottom: 3px;
	}
}
@media screen and (max-width: 759.9px){
	#wrapper nav ul {
		width: 100%;
		display: flex;
		flex-wrap:nowrap;
		justify-content: space-between;
		align-items: center;
		font-family: 'Noto Sans JP', sans-serif;
	}
	#wrapper nav ul a{
		flex-grow:1;
		padding-bottom: 10px;
		height: 70px;
		text-align: center;
		background: url("../images/menu_line.svg") no-repeat center right ;
		background-size: 1px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
	}
	#wrapper nav .point{
		display: none;
	}
}
#wrapper nav ul a:first-child{
	background: url("../images/menu_line.svg") no-repeat center left,
		url("../images/menu_line.svg") no-repeat center right;
	background-size: 1px;
}
#wrapper nav ul a:after{
	font-family: "Font Awesome 5 Free";
  	content: "\F107";
	font-weight: 900;
	position: absolute;
	bottom:0;
	left:0;
	right:0;
}

/*--------#picture-------------*/
#picture {
  width: 100%;
  background: #E6E2DF;
}
@media screen and (min-width: 760px){
  #picture .teacher {
    width: 95%;
    border: 1px solid #CCC;
    margin: 30px auto;
    background: #FFFFFF;
    padding: 10px;
    display: flex;
    flex-wrap: wrap;
  }
  #picture .teacher .photo{
    width: 20%;
    padding: 5px;
  }
  #picture .teacher .photo img{
    width: 100%;
  }
  #picture .teacher .intro{
    width: 80%;
    padding:10px 20px;
  }
  #picture .teacher .intro h3{
    font-size: 150%;
    margin: 0 0 10px;
  }
  #picture .teacher .intro p{
    font-size: 110%;
    text-align: left;
    margin: 0 0 10px;
  }
  #picture .teacher dl.youtube{
    margin: 15px 0 0 0;
    background: #EEEEEE;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 10px;
  }
  #picture .teacher dl.youtube dt{
    padding: 0 20px;
    width: 25%;
  }
  #picture .teacher dl.youtube dt img{
    width: 100%;
  }
  #picture .teacher dl.youtube dd{
    width: 75%;
    text-align: left;
    padding-left: 20px;
  }
  #picture .teacher dl.youtube dd h4{
    font-size: 110%;
    margin: 0 0 10px;
  }
}
@media screen and (max-width: 759.9px){
  #picture .teacher {
    width: 90%;
    margin: 20px auto;
    border: 1px solid #CCC;
    background: #FFFFFF;
    padding: 10px;
  }
  #picture .teacher .photo{
    width: 30%;
    float: left;
    margin: 5px 10px 5px 0
  }
  #picture .teacher .photo img{
    width: 100%;
  }
  #picture .teacher .intro h3{
    font-size: 120%;
    font-weight: bold;
    text-align: left;
  }
  #picture .teacher .intro p{
    font-size: 100%;
    text-align: left;
		margin-bottom: 0;
  }
	#picture .teacher .intro .sp_scroll{
		clear: both;
		height: 25vh;
		overflow-y: auto;
		margin-bottom: 10px;
		padding-right: 5px;
  }
	#picture .teacher .intro .sp_scroll::-webkit-scrollbar{
		width: 5px;
		background: #9aadfc;
	}
	#picture .teacher .intro .sp_scroll::-webkit-scrollbar-thumb{
		background: #435295;
		border-radius: 2px;
	}
  #picture .teacher dl.youtube{
    clear: both;
    margin: 10px 0;
    background: #EEEEEE;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 15px 0;
  }
  #picture .teacher dl.youtube dt{
    padding: 5px 0 15px;
    width: 100%;
    text-align: center;
  }
  #picture .teacher dl.youtube dt img{
    width: 80px;
  }
  #picture .teacher dl.youtube dd{
    width: 100%;
    text-align: center;
    padding: 0;
    margin: 0;
  }
  #picture .teacher dl.youtube dd h4{
    font-size: 100%;
    margin: 0 0 5px;
  }
}

/*--------.tour-------------*/
.lead{
  width: 100%;
	background: #e6e2df;
  padding-bottom: 30px;
}
.lead h2{
  text-align: center;
  font-size: 180%;
}
@media screen and (max-width: 759.9px){
  .lead{
    padding-bottom: 20px;
  }
  .lead h2{
    font-size: 150%;
  }
}
.tour {
	width: 100%;
	background: #e6e2df;
  padding-bottom: 20px;
}
.tour .inner {
	width: 80%;
	max-width: 950px;
	margin: 0 auto;
	text-align: center;
	padding: 0 0 30px;
}
.tour .inner .title_unit{
	position: relative;
	width: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	padding-top: 40%;
}
.tour .inner .bg_position_center{
	background-position: center center;
}
.tour .inner .bg_position_bottom{
	background-position: center bottom;
}
.tour .inner .bg_position_top{
	background-position: center top;
}
.tour .inner .bg_photo_unit{
	background-position: left center,right center;
		background-size:auto 100%, auto 100%;

	
}

.tour .inner .title_unit:before{
	content: "";
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.2);
}
.tour .period{
	position: absolute;
	top:-10px;
	left: 22px;
	padding: 20px 0 25px;
	width: 90px;
	background: url("../images/curtain_top.png") no-repeat center top ;
	background-size: 100% auto;
	color:#FFFFFF;
	z-index: 2;
}
.tour .period p{
	margin: 0 auto;
	padding: 0;
	line-height: 1.4;
}
.tour .period .year{
	font-size: 120%;
}
.tour .period .month{
	font-size: 200%;
}
.tour .period .month span{
	font-size: 80%;
}
.tour .upper_content{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #FFFFFF;
	display: flex;
	align-items: center;
	z-index: 3;
}
.tour .upper_content .inner{
	width: 100%;
} 
.tour .point_curtain {
  background: url("../images/point.png") no-repeat center top ;
  background-size:400px;
  color: #FFFFFF;
  font-family: 'Noto Sans JP', sans-serif;
  margin: 0 auto 20px;
  text-align: center;
  font-size: 200%;
  line-height: 90px;
  padding-bottom: 10px;
  font-weight: bold;
}

.tour .region {
	display: flex;
	align-items: center;
	text-align: center;
	width: 30%;
	min-width: 250px;
	margin: 0px auto;
	font-size: 100%;
}
.tour .region:before,
.tour .region:after {
  content: "";
	flex-grow: 1;
  height: 1px;
  background: #FFF;
  margin:0 .4em;
 }
.tour h2{
	font-size: 250%;
	font-weight: normal;
	margin: 0;
  text-align: center;
}
.tour h3{
	font-size: 160%;
	font-weight: normal;
	margin: 0 0 10px;
}
.tour .cross{
	width: 4%;
	margin: 0 0 10px;
}
.tour .plan{
	margin: 10px 0 0;
}

.tour .plan li{
	margin:10px 0 0;
	font-size: 100%;
}
.tour .plan li span{
	color: #FFF;
	background: #000;
	padding: 5px 15px;
}
.credit{
	position: absolute;
	bottom:10px;
	right:10px;
	color: #FFF;
	text-align: right;
	font-size: 12px;
}
.kakutei_red{
	position: absolute;
	top:15px;
	right:10px;
	width: 20%;
  background: url("../images/bg_ribbon.png")no-repeat center center;
  background-size: contain;
  color: #FFFFFF;
  font-size: 160%;
  font-weight: bold;
  padding-bottom: 5px;
  text-align: center;
  line-height: 1.5;
}
.kakutei{
	position: absolute;
  top:7%;
  right:-5%;
  width: 20%;
  transform: rotate(45deg);
  background: url("../images/bg_corner_gold.png")no-repeat center center;
  background-size: contain;
  color: #FFFFFF;
  font-size: 160%;
  font-weight: bold;
  padding-bottom: 10px;
  text-align: center;
  line-height: 1.5;
  text-shadow: 1px 1px 2px #87691e;
}

.enki{
	position: absolute;
	top:15px;
	left: 10px;
	right: 10px;
	text-align: right;
}
.enki p{
	display: inline-block;
  background: url("../images/bg_enki.png")no-repeat center center;
  background-size:cover;
  color: #FFFFFF;
  font-size: 130%;
  font-weight: bold;
  padding: 5px 10px;
  text-align: center;
  line-height: 1.4;
	border-radius: 10px;
	box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}
@media screen and (max-width: 759.9px){
	.tour .inner {
		width: 90%;
		padding: 10px 0 40px;
	}
	.tour .inner .title_unit{
		position: relative;
		width: 100%;
		background-size: 150% ;
		background-repeat: no-repeat ;
		padding-top: 60%;
	}
  .tour .point_curtain {
    background-size:180px;
    color: #FFFFFF;
    margin: 0 auto 5px;
    text-align: center;
    font-size: 90%;
    line-height: 40px;
    padding-bottom: 10px;
  }
	.tour .period{
		position: absolute;
		top:-1.5vw;
		left: -1.5vw;
		padding: 3vw 0 5vw;
		width: 15vw;
		background: url("../images/curtain_top.png") no-repeat center top ;
		background-size: 100% auto;
		color:#FFFFFF;
	}
	.tour .period .year{
		font-size: 3vw;
	}
	.tour .period .month{
		font-size: 5vw;
	}
	.tour .period .month span{
		font-size: 4vw;
	}
	.tour .upper_content{
		padding-top: 30px;
	}
	.tour .region {
		width: 20%;
		min-width: 200px;
		font-size: 2vw;
	}
	.tour h2{
		font-size: 4.3vw;
	}
	.tour h3{
		font-size: 3vw;
	}
	.tour .plan li{
		font-size: 2.5vw;
	}
	.credit{
		font-size: 9px;
		bottom: 5px;
	}
	.kakutei{
    position: absolute;
    top:7%;
    right:-10%;
    width: 36%;
		font-size: 3.4vw;
    padding-bottom: 5px;
	}
	.enki{
		top:5px;
		text-align: center;
	}
	.enki p{
		font-size: 3vw;
		border-radius: 3px;
		padding: 2px 10px 3px;
	}
}
/*-----注記--------*/
.caution {
	width: fit-content;
	max-width: 950px;
	margin: -30px auto 30px;
	padding: 0 5px;
}
.caution p{
	color:#CF0E29;
	font-size: 130%;
	font-weight: bold;
}
@media screen and (max-width: 759.9px){
	.caution p{
		font-size: 110%;
	}
}
/*------------*/
#past_tour {
  width: 100%;
  background: #e6e2df;
  position: relative;
  margin: 0;
  padding-top: 30px;
}
#past_tour .inner {
  width: 80%;
  max-width: 930px;
  margin: 0 auto;
  padding: 0 0 40px;
  display: flex;
  flex-wrap: wrap;
}
#past_tour .inner a,
#past_tour .inner > .past_tour{
  width: 45%;
  margin:0 auto 20px;
  display: block;
}
#past_tour .past_tour {
  width: 100%;
  padding:20px 10px;
  background-position: center center;
  background-repeat: none;
  background-size: cover;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

#past_tour h2 {
  width: 100%;
	font-size: 130%;
  margin-bottom: 5px;
  text-align: center;
  color: #FFFFFF;
}
#past_tour .date{
	background: rgba(0,0,0,1);
  color: #FFFFFF;
  padding:2px 0;
  text-align: center;
  width: 90%;
  margin: 0 auto;
 	font-size: 90%;
}
@media screen and (max-width: 759.9px){
  #past_tour .inner a,
	#past_tour .inner > .past_tour{
    width: 95%;
    margin:10px auto; 
  }
  #past_tour h2 {
    font-size: 110%;
    margin-bottom: 5px;
    text-align: center;
    color: #FFFFFF;
  }
  #past_tour .date{
    background: rgba(0,0,0,1);
    color: #FFFFFF;
    padding:1px 0;
    text-align: center;
    width: 80%;
    margin: 0 auto;
    font-size: 80%;
  }
}
#past_tour a,
#past_tour a:hover{
  color: inherit !important;
  text-decoration: none !important;
}
#past_tour a:hover{
  opacity: 0.8;
}




/*-----見て楽しむ星空-------------------*/
.pageContent {
  width: 100%;
}
.pageContent .inner{
  width: 100%;
  max-width: 950px;
  margin: 0 auto;
  padding: 30px 0 50px;
}
.pageContent .inner h2{
  font-size:200%;
  border-top: 1px solid rgb(54,82,150,0.5);
  border-bottom: 1px solid rgb(54,82,150,0.5);
  height: 90px;
  line-height: 90px;
  text-align: center;
  margin:0 auto 20px;
  color: #FFFFFF;
}
#picture .inner h2{
  background: url("../images/bg_picture.png") no-repeat center center ;
  background-size: auto 80px;
}
#region{
  padding-top: 70px;
}
#region .inner h2{
  background: url("../images/bg_region.png") no-repeat center center ;
  background-size: auto 80px;
  margin-bottom: 30px;
}

.pageContent .inner p{
  font-size:150%;
  text-align: center;
  margin-bottom: 50px;
}

@media screen and (max-width: 759.9px){
  .pageContent .inner {
    width: 98%;
    margin:0 auto;
  }
  .pageContent .inner p{
    font-size:110%;
  }
  .pageContent .inner h2{
    width: 95%;
    font-size:160%;
    border-top: 1px solid rgb(54,82,150,0.5);
    border-bottom: 1px solid rgb(54,82,150,0.5);
    height: 70px;
    line-height: 70px;
    text-align: center;
    margin:0 auto 20px;
    color: #FFFFFF;
  }
  #picture .inner h2{
    background: url("../images/bg_picture.png") no-repeat right center ;
    background-size:auto 60px;
  }
  #region{
    padding-top: 30px;
  }
  #region .inner h2{
    background: url("../images/bg_region.png") no-repeat left center ;
    background-size:auto 60px;
    margin-bottom: 30px;
  }
}


.pageContent #japan_map {
  position: relative;
  text-align: center;
}
@media screen and (min-width: 760px){
  .pageContent #region_list {
    position: absolute;
    top:0px;
    left: 20px;
    width: 250px;
  }
  .pageContent #region_list a li{
    border: 1px solid #CCC;
    padding: 10px 20px;
    margin: 20px 0;
    color: #333;
  }
}
@media screen and (max-width: 759.9px){
  .pageContent #region_list {
    width: 100%;
    margin: 20px auto;
    display: flex;
    flex-wrap: wrap;
  }
  .pageContent #region_list a{
    margin: 10px 2%;
    width: 46%;
  }
  .pageContent #region_list a li{
    border: 1px solid #CCC;
    padding: 10px 20px;
    color: #FFFFFF;
    width: 100%;
  }
  #li_hokkaido {background:#B87CEE;}
  #li_tohoku {background:#4499F0;}
  #li_kanto {background:#6AC5CD;}
  #li_hokuriku_chubu {background:#39AE5B;}
  #li_kinki {background:#58CF54;}
  #li_chugoku_shikoku {background:#E98A3E;}
  #li_kyushu_okinawa {background:#E97A7C;}
}

/*マップ*/
svg {
  width: 80%;
  display: block;
  margin: -30px auto 20px;
  padding: 0;
}
@media screen and (max-width: 759.9px){
  svg {
    display: none;
    width: 60vw;
    height: 60vw;
  }
  svg a:active{
    pointer-events: none;
  }
  #japan_map img {
    width: 70vw;
    height: 70vw;
  }
}
svg a path{
  fill:#009844;
}
svg a #region_hokkaido path{
  fill:#B87CEE;
}
svg a #region_tohoku path{
  fill:#4499F0;
}
svg a #region_kanto path{
  fill:#6AC5CD;
}
svg a #region_hokuriku_chubu path{
  fill:#39AE5B;
}
svg a #region_kinki path{
  fill:#58CF54;
}
svg a #region_chugoku_shikoku path{
  fill:#E98A3E;
}
svg a #region_kyushu_okinawa path{
  fill:#E97A7C;
}

svg a:hover #region_hokkaido path,
svg a:hover #region_tohoku path,
svg a:hover #region_hokuriku_chubu path,
svg a:hover #region_kanto path,
svg a:hover #region_kinki path,
svg a:hover #region_chugoku_shikoku path,
svg a:hover #region_kyushu_okinawa path{
  /*opacity: 0.5;*/
  fill:#E9DD11;
}





/*--------開閉パネル-------------*/
.panel-trigger {
  display: none;
}
#wrapper .btnOpen {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height:200px;
  background:#E6E2DF;
  z-index: 999;
  padding-top: 20px;
}
#wrapper .btnOpen span{
  display: block;
  position: relative;
  width: 80%;
  max-width: 950px;
  height: 60px;
  margin:0 auto;
  border: 2px solid #333; 
  line-height: 60px;
  font-size: 120%;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
  cursor: pointer;
  transition: 0.5s ease;
  background:#EEEEEE;
}
#wrapper .btnOpen span::before {
  content: "過去のツアーを見る";
}
#wrapper .btnOpen span::after {
  font-family: "Font Awesome 5 Free";
  content: "\F107";
  font-weight: 900;
  position: absolute;
  right: 30px;
  top: 3px;
}
#wrapper .panel {
  height: 100px;
  padding: 0 0 80px;
  overflow: hidden;
  opacity: 1;
  transition: 0.8s;
}
#wrapper .panel-trigger:checked + .btnOpen {
  width: 100%;
  height:100px;
  background: none;
  padding-top:0;
}	
#wrapper .panel-trigger:checked + .btnOpen span::before {
  content: "閉じる" /*チェックされていたら、文言を変更する*/
}
#wrapper .panel-trigger:checked + .btnOpen span::after {
  font-family: "Font Awesome 5 Free";
  content: "\F106";
  font-weight: 900;
  position: absolute;
  right: 30px;
  top: 3px;
}
#wrapper .panel-trigger:checked ~ .panel{
  height: auto;/*チェックされていたら、高さを戻す*/
  opacity: 1; 
  display: block;
 }

/*-----万座高原告知------*/
.tour#manza-kogen{
	margin-bottom: 60px;
}
.tour#manza-kogen .inner .title_unit{
	padding-top: 45%;
}

#manza-kogen .yoyaku_dl {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 10px 0;
}
#manza-kogen .yoyaku_dl dt{
	width: 50%;
	position: relative;
}
#manza-kogen .yoyaku_dl dt img{
	width: 100%;
}

#manza-kogen .yoyaku_dl dd{
	width: 50%;
}
#manza-kogen .yoyaku_dl .godetail{
	margin: 15px auto 15px;
}
@media screen and (max-width: 759.9px){
	.tour#manza-kogen .inner .title_unit{
		padding-top: 70%;
	}
	#manza-kogen .yoyaku_dl dt{
		width: 100%;
		margin-bottom: 10px;
	}
	#manza-kogen .yoyaku_dl dd{
		width: 100%;
	}
}