@charset "UTF-8";


/***********************************
 	トップページ
************************************/
/* mainvisual
---------------------*/
.top-visual-sec {
	position: relative;
	padding-top: 4.5rem;
}
.top-visual-sec:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 100%;
	height: 150px;
	background-color: #FDFBE5;
}
.top-visual-sec .mainvisual {
	position: relative;
	width: 100%;
	max-width: 100%;
	height: auto;
	/*aspect-ratio: 130 / 60;*/
	z-index: 1;
}
.top-visual-sec .copy-wrap {
	position: absolute;
	top: 2.2rem;
	width: 100%;
	text-align: center;
	line-height: 1;
	z-index: 100;
}
.top-visual-sec .copy-wrap .copy-jp {
	color: #000;
	font-size: 1rem;
	letter-spacing: 2px;
}
.top-visual-sec .copy-wrap .copy-en {
	color: #FFE109;
	font-weight: 700;
	font-size: 2.6rem;
	letter-spacing: 0;
	margin-top: .2rem;
	position: relative;
	display: inline-block;
}
.top-visual-sec .copy-wrap .copy-en:after {
	position: absolute;
	right: -1.3rem;
	top: -1.3rem;
	display: block;
	content:"";
	width: 30px;
	height: 30px;
	background: url("../img/top/mainvisual_copy_deco.svg") no-repeat 0 0;
	background-size: cover;
}
@media (min-width:768px){
	.top-visual-sec {
		padding-top: 5.5rem;
	}
	.top-visual-sec .mainvisual {
	}
	.top-visual-sec .copy-wrap {
		top: 2rem;
	}
	.top-visual-sec .copy-wrap .copy-jp {
		font-size: 1.2rem;
		letter-spacing: 3px;
	}
	.top-visual-sec .copy-wrap .copy-en {
		font-size: 4.2rem;
		margin-top: .2rem;
	}
	.top-visual-sec .copy-wrap .copy-en:after {
		right: -2.2rem;
		top: -2rem;
		width: 50px;
		height: 50px;
	}
}
@media (min-width:1050px){/*headerのブレイクポイント*/
	.top-visual-sec {
		padding-top: 7.5rem;
	}
	.top-visual-sec:before {
		height: 300px;
	}
	.top-visual-sec .copy-wrap {
		top: 3rem;
	}
	.top-visual-sec .copy-wrap .copy-jp {
		font-size: 1.4rem;
		letter-spacing: 4px;
	}
	.top-visual-sec .copy-wrap .copy-en {
		font-size: 7rem;
		letter-spacing: 1px;
		margin-top: .2rem;
	}
	.top-visual-sec .copy-wrap .copy-en:after {
		right: -2.6rem;
		top: -2.4rem;
		width: 60px;
		height: 60px;
	}
}

/*  news
------------------------------*/
.top-news-sec {
	overflow: hidden;
	position: relative;
}
.top-news-sec .m-inner {
	padding-top: 1rem;
	padding-bottom: 3rem;
}
/*news、event共通*/
.top-info-head {
	text-align: center;
}
.top-info-tit-en {
	color: #FFE109;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}
.top-info-tit-jp {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	margin-top: .3rem;
}
.m-btn.m-pc-tab {
	display: none;
}
/*news、event共通 END*/

.top-news-sec .note {
	margin-top: 1.5rem;
}
.top-news-sec .list {
	list-style-type: none;
}
.top-news-sec .list-item {
	margin-bottom: 1rem;
}
.top-news-sec .list-link {
	display: grid;
	grid-template-columns: 7rem 1fr;
	column-gap: 1.2rem;
}
.top-news-sec .list-link img.thumb {
	width: 100%;
	aspect-ratio: 4/2.8;
	object-fit: cover;
	border-radius: 0.5rem;
	border: 1px solid #ebeae1;
}
.top-news-sec .list-link .text {
	border-bottom: 1px solid #D6D5CA;
	padding-bottom: 1rem;
}
.top-news-sec .list-link .text .date {
	color: #8E8E8E;
	font-size: .9rem;
	letter-spacing: 1px;
}
.top-news-sec .list-link .text .title {
	line-height: 1.5;
	font-size: .9rem;
}
.top-news-sec .list-link:hover .text .title {
	color: #09A0FF;
}
@media (min-width:768px){
	.top-news-sec .m-inner {
		padding-top: 2rem;
		padding-bottom: 3rem;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	/*news、event共通*/
	.top-info-head {
		text-align: left;
		width: 12rem;
	}
	.top-info-tit-en {
		font-size: 3rem;
	}
	.top-info-tit-jp {
		font-size: 1.2rem;
		margin-top: .3rem;
	}
	.m-btn.m-pc-tab {
		display: block;
		margin-top: 1.5rem;
	}
	.m-btn.m-sp {
		display: none;
	}
	/*news、event共通 END*/
	.top-news-sec .note {
		width: calc(100% - 14rem);
		margin-top: 0;
	}
	.top-news-sec .list-link {
		position: relative;
	}
	.top-news-sec .list-link:after {
		position: absolute;
		right: .5rem;
		top: 50%;
		margin-top: -15px;
		display: block;
		content:"";
		width: 30px;
		height: 30px;
		background: url("../img/top/news_arrow.svg") no-repeat 0 0;
		background-size: cover;
	}
	.top-news-sec .list-link .text {
		padding-right: 3.5rem;
	}
	.top-news-sec .list-link .text .date {
		font-size: .9rem;
	}
	.top-news-sec .list-link .text .title {
		font-size: .95rem;
	}
}
@media (min-width:1050px){
	.top-news-sec .m-inner {
		padding-top: 1rem;
		padding-bottom: 4rem;
	}
	/*news、event共通*/
	.top-info-head {
		width: 17rem;
	}
	.top-info-tit-en {
		font-size: 4.6rem;
	}
	.top-info-tit-jp {
		font-size: 1.5rem;
	}
	/*news、event共通 END*/
	.top-news-sec .note {
		width: calc(100% - 21rem);
	}
	.top-news-sec .list-item {
		margin-bottom: 1rem;
	}
	.top-news-sec .list-link {
		grid-template-columns: 10rem 1fr;
		column-gap: 1.2rem;
	}
	.top-news-sec .list-link img.thumb {
		border-radius: 0.8rem;
	}
	.top-news-sec .list-link .text {
		padding-bottom: 1rem;
		padding-right: 3.5rem;
	}
	.top-news-sec .list-link .text .date {
		font-size: 1.1rem;
	}
	.top-news-sec .list-link .text .title {
		font-size: 1.2rem;
	}
}

/* event
------------------------------*/
.top-event-sec {
	background: url("../img/common/bg_curv_top_white.png")no-repeat top center #FDFBE5;
	background-size: 100%;
	position: relative;
}
.top-event-sec:before {
	position: absolute;
	left: 50%;
	top: -3rem;
	margin-left: -50px;
	display: block;
	content:"";
	width: 100px;
	height: 100px;
	background: url("../img/top/illust_aloha_001.png") no-repeat 0 0;
	background-size: cover;
}
.top-event-sec .m-inner {
	padding-top: 3rem;
	padding-bottom: 2rem;
}
.top-event-sec .note {
	margin-top: 1.5rem;
}
.top-event-sec .note .list {
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	column-gap: 2rem;
}
.top-event-sec .note .list-item:nth-child(3) {
	display: none;
}
.top-event-sec .note .list-link {
	display: block;
}
.top-event-sec .note .list-link img.thumb {
	width: 100%;
	aspect-ratio: 4/2.8;
	object-fit: cover;
	border-radius: 0.5rem;
}
.top-event-sec .note .list-link .text {
	margin-top: .5rem;
}
.top-event-sec .note .list-link .text .title,
.top-event-sec .note .list-link .text .schedule,
.top-event-sec .note .list-link .text .place {
	border-bottom: 1px dashed #D6D5CA;
	padding-bottom: .3rem;
	margin-bottom: .3rem;
	line-height: 1.4;
}
.top-event-sec .note .list-link .text .title {
    font-size: .9rem;
}
.top-event-sec .note .list-link:hover .text .title {
	color: #09A0FF;
}
.top-event-sec .note .list-link .text .schedule,
.top-event-sec .note .list-link .text .place {
	font-size: .8rem;
	position: relative;
	padding-left: 1.6rem;
}
.top-event-sec .note .list-link .text .schedule:before,
.top-event-sec .note .list-link .text .place:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 22px;
	height: 22px;
}
.top-event-sec .note .list-link .text .schedule:before {
	background: url("../img/common/icon_yellow_calendar.svg") no-repeat 0 0;
	background-size: cover;
}
.top-event-sec .note .list-link .text .place:before {
	background: url("../img/common/icon_yellow_place.svg") no-repeat 0 0;
	background-size: cover;
}
.top-event-sec .note .m-btn.m-sp {
	margin-top: 1rem;
}
@media (min-width:768px){
	.top-event-sec:before {
		top: -4.5rem;
		margin-left: -80px;
		width: 160px;
		height: 160px;
	}
	.top-event-sec .m-inner {
		padding-top: 4rem;
		padding-bottom: 3rem;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.top-event-sec .note {
		width: calc(100% - 14rem);
		margin-top: 0;
	}
	.top-event-sec .note .list {
		grid-template-columns: repeat(3,1fr);
		column-gap: 1.5rem;
	}
	.top-event-sec .note .list-item:nth-child(3) {
		display: block;
	}
}
@media (min-width:1050px){
	.top-event-sec:before {
		top: -5rem;
		margin-left: -95px;
		width: 190px;
		height: 190px;
	}
	.top-event-sec .m-inner {
		padding-top: 6.5rem;
		padding-bottom: 4rem;
		padding-right: 4rem;
	}
	.top-event-sec .note {
		width: calc(100% - 21rem);
	}
	.top-event-sec .note .list {
		column-gap: 2.5rem;
	}
	.top-event-sec .note .list-link img.thumb {
		border-radius: 0.8rem;
	}
	.top-event-sec .note .list-link .text {
		margin-top: .5rem;
	}
	.top-event-sec .note .list-link .text .title,
	.top-event-sec .note .list-link .text .schedule,
	.top-event-sec .note .list-link .text .place {
		padding-bottom: .6rem;
		margin-bottom: .6rem;
		line-height: 1.4;
	}
	.top-event-sec .note .list-link .text .title {
		font-size: 1.2rem;
	}
	.top-event-sec .note .list-link .text .schedule,
	.top-event-sec .note .list-link .text .place {
		font-size: 1rem;
		padding-left: 2rem;
	}
	.top-event-sec .note .list-link .text .schedule:before,
	.top-event-sec .note .list-link .text .place:before {
		width: 28px;
		height: 28px;
	}
}

/* intro
------------------------------*/
.top-intro-sec {
	background-color: #FFE109;
	padding: 2rem 0 5rem 0;
}
.top-intro-sec .photo {
	padding-right: 3rem;
}
.top-intro-sec .photo img {
	border-radius: 0 1rem 1rem 0;
}
.top-intro-sec .note {
	padding: 1rem 0 1rem 1.8rem;
	position: relative;
}
.top-intro-sec .note:after {
	position: absolute;
	right: 1rem;
	bottom: -6.5rem;
	display: block;
	content:"";
	width: 140px;
	height: 140px;
	background: url("../img/top/illust_aloha_002.png") no-repeat 0 0;
	background-size: cover;
}
.top-intro-sec .note .deco-txt {
	margin-left: -1rem;
	font-size: 5rem;
	line-height: 1;
	color: #FFED4A;
	font-weight: 700;
	position: relative;
}
.top-intro-sec .note .copy-main {
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 2px;
	font-size: 1.6rem;
	margin-top: -3.5rem;
}
.top-intro-sec .note .copy-main span {
	position: relative;
}
.top-intro-sec .note .copy-main span:after {
	position: absolute;
	right: -1.2rem;
	top: -0.8rem;
	display: block;
	content:"";
	width: 30px;
	height: 30px;
	background: url("../img/top/intro_maincopy_deco.svg") no-repeat 0 0;
	background-size: cover;
}
.top-intro-sec .note .copy-sub {
	margin-top: .6rem;
	font-size: .94rem;
	line-height: 2;
	padding-right: 1.8rem;
}
.top-intro-sec .note .m-btn {
	margin-top: 1rem;
	margin-left: 0;
}
@media (min-width:768px){
	.top-intro-sec {
		padding: 3rem 0 3rem 0;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.top-intro-sec .photo {
		width: 22rem;
		padding-right: 0;
	}
	.top-intro-sec .photo img {
		border-radius: 0 2rem 2rem 0;
	}
	.top-intro-sec .note {
		width : calc(100% - 22rem) ;
		padding: 0rem 0 1rem 2rem;
		position: relative;
	}
	.top-intro-sec .note:after {
		right: .5rem;
		bottom: -4.5rem;
		width: 180px;
		height: 180px;
	}
	.top-intro-sec .note .deco-txt {
		font-size: 5.5rem;
	}
	.top-intro-sec .note .copy-main {
		letter-spacing: 2px;
		font-size: 1.8rem;
		margin-top: -4rem;
	}
	.top-intro-sec .note .copy-sub {
		margin-top: .6rem;
		line-height: 2;
		font-size: .94rem;
		padding-right: 2rem;
	}
	.top-intro-sec .note .m-btn {
		margin-top: 1rem;
		margin-left: 0;
	}
}
@media (min-width:1050px){
	.top-intro-sec {
		padding: 3rem 0 3rem 0;
	}
	.top-intro-sec .photo {
		width: 42vw;
		padding-right: 0;
	}
	.top-intro-sec .photo img {
		border-radius: 0 3rem 3rem 0;
	}
	.top-intro-sec .note {
		width : calc(100% - 42vw) ;
		padding: 0 0 1rem 6vw;
		position: relative;
	}
	.top-intro-sec .note:after {
		right: .5rem;
		bottom: -6.5rem;
		width: 250px;
		height: 250px;
	}
	.top-intro-sec .note .deco-txt {
		font-size: 8rem;
		margin-left: -1.5rem;
	}
	.top-intro-sec .note .copy-main {
		letter-spacing: 3px;
		font-size: 2.8rem;
		margin-top: -6rem;
	}
	.top-intro-sec .note .copy-main span:after {
		right: -2.1rem;
		top: -1.2rem;
		width: 50px;
		height: 50px;
	}
	.top-intro-sec .note .copy-sub {
		margin-top: 1.2rem;
		line-height: 2.2;
		font-size: 1.2rem;
		padding-right: 10vw;
	}
	.top-intro-sec .note .m-btn {
		margin-top: 2rem;
		margin-left: 0;
	}
}
@media (min-width:1300px){
	.top-intro-sec .note:after {
		right: 1rem;
		bottom: -7rem;
		width: 270px;
		height: 270px;
	}
	.top-intro-sec .note .deco-txt {
		font-size: 10rem;
	}
	.top-intro-sec .note .copy-main {
		margin-top: -7rem;
	}
}



/* photo
------------------------------*/
.top-photo-sec {
	padding: 0 0;
	position: relative;
}
.top-photo-sec:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 100%;
	height: 9rem;
	background-color: #FFE109;
}

/* swiper */
.top-photo-sec .photo-wrap .swiper-container01 {
	overflow: hidden;
}
.top-photo-sec .photo-wrap .swiper-wrapper {
	transition-timing-function: linear;
}
.top-photo-sec .photo-wrap .swiper-slide {
	height: 210px !important;
	width: auto !important;
}
.top-photo-sec .photo-wrap .swiper-slide img {
	width: 160px;
}
@media (min-width:768px){
	
}
@media (min-width:1050px){
	.top-photo-sec {
		padding: 2em 0 0 0;
	}
	.top-photo-sec:before {
		height: 18rem;
	}
	/* swiper */
	.top-photo-sec .photo-wrap .swiper-slide {
	  height: 400px !important;
	  width: auto !important;
	}
	.top-photo-sec .photo-wrap .swiper-slide img {
		width: 290px;
	}
}

/* plan
------------------------------*/
.top-plan-sec {
	background: url("../img/common/bg_curv_top_white.png")no-repeat top center #E2F8FF;
	background-size: 100%;
	position: relative;
	margin-top: 3rem;
}
.top-plan-sec .m-inner {
	position: relative;
	padding-top: 3rem;
	padding-bottom: 2rem;
}
.top-plan-sec .head {
	text-align: center;
	margin-top: -4rem;
	margin-bottom: 1.5rem;
}
.top-plan-sec .head .tit-en {
	color: #FFE109;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
}
.top-plan-sec .head .tit-en span {
	position: relative;
}
.top-plan-sec .head .tit-en span:after {
	position: absolute;
	right: -1.2rem;
	top: -0.8rem;
	display: block;
	content:"";
	width: 30px;
	height: 30px;
	background: url("../img/top/plan_ttl_deco.svg") no-repeat 0 0;
	background-size: cover;
}
.top-plan-sec .head .tit-jp {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	margin-top: .3rem;
}
.top-plan-sec .list {
	position: relative;
}
.top-plan-sec .c-plan-list-item:nth-child(3) {
	display: none;
}
.top-plan-sec .m-btn {
	margin-top: 1rem;
	z-index: 1;
}
@media (min-width:768px){
	.top-plan-sec {
		margin-top: 3rem;
	}
	.top-plan-sec .m-inner {
		padding-top: 3rem;
		padding-bottom: 2rem;
	}
	.top-plan-sec .head {
		margin-top: -4rem;
		margin-bottom: 1.5rem;
	}
	.top-plan-sec .head .tit-en {
		font-size: 3rem;
	}
	.top-plan-sec .head .tit-jp {
		font-size: 1.2rem;
		margin-top: .3rem;
	}
	.top-plan-sec .c-plan-list-item:nth-child(3) {
		display: block;
	}
	.top-plan-sec .m-btn {
		margin-top: 1.5rem;
	}
}
@media (min-width:1050px){
	.top-plan-sec {
		margin-top: 4rem;
	}
	.top-plan-sec .m-inner {
		padding-top: 3rem;
		padding-bottom: 2rem;
	}
	.top-plan-sec .head {
		margin-top: -5rem;
		margin-bottom: 1.5rem;
	}
	.top-plan-sec .head .tit-en {
		font-size: 4.6rem;
	}
	.top-plan-sec .head .tit-en span:after {
		right: -2rem;
		top: -1.2rem;
		width: 54px;
		height: 54px;
	}
	.top-plan-sec .head .tit-jp {
		font-size: 1.5rem;
	}
}

/* course
------------------------------*/
.top-course-sec {
	background: url("../img/common/bg_curv_top_blue.png")no-repeat top center #fff;
	background-size: 100%;
	position: relative;
	margin-top: -3rem;
}
.top-course-sec .m-inner {
	position: relative;
	padding-top: 5rem;
	padding-bottom: 3rem;
}
.top-course-sec .box {
	background-color: #FFE109;
	border-radius: 1rem;
	padding: 2rem 1.5rem;
	position: relative;
}
.top-course-sec .box:before {
	position: absolute;
	left: -1rem;
	top: -6.5rem;
	display: block;
	content:"";
	width: 100px;
	height: 100px;
	background: url("../img/top/illust_aloha_003.png") no-repeat 0 0;
	background-size: cover;
}
.top-course-sec .note .tit-en {
	color: #fff;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 1px;
	font-size: 2rem;
}
.top-course-sec .note .tit-jp {
	font-size: 1rem;
}
.top-course-sec .note .copy {
	margin-top: 1rem;
	font-size: .94rem;
}
.top-course-sec .note .m-btn {
	margin-top: 1rem;
}
.top-course-sec .photo {
	margin-top: 1.5rem;
}
@media (min-width:768px){
	.top-course-sec {
		margin-top: -3rem;
	}
	.top-course-sec .m-inner {
		padding-top: 5rem;
		padding-bottom: 4rem;
	}
	.top-course-sec .box {
		border-radius: 2rem;
		padding: 2rem 2rem;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.top-course-sec .box:before {
		left: -1rem;
		top: -9rem;
		width: 150px;
		height: 150px;
	}
	.top-course-sec .note {
		/*width : calc(100% - 20rem) ;*/
		width: 60%;
	}
	.top-course-sec .note .tit-en {
		letter-spacing: 1px;
		font-size: 2.4rem;
	}
	.top-course-sec .note .tit-jp {
		font-size: 1.2rem;
	}
	.top-course-sec .note .copy {
		margin-top: .8rem;
		font-size: .94rem;
	}
	.top-course-sec .note .m-btn {
		margin-top: 1rem;
		margin-left: 0;
	}
	.top-course-sec .photo {
		/*width: 18rem;*/
		width: 38%;
		margin-top: 0;
	}
}
@media (min-width:1050px){
	.top-course-sec {
		margin-top: -3rem;
	}
	.top-course-sec .m-inner {
		padding-top: 8rem;
		padding-bottom: 5rem;
	}
	.top-course-sec .box {
		border-radius: 2rem;
		padding: 4rem 3rem 3rem 5rem;
	}
	.top-course-sec .box:before {
		left: -1rem;
		top: -12rem;
		width: 200px;
		height: 200px;
	}
	.top-course-sec .note {
		/*width : calc(100% - 30rem) ;*/
		width: 56%;
	}
	.top-course-sec .note .tit-en {
		letter-spacing: 0px;
		font-size: 3.2rem;
	}
	.top-course-sec .note .tit-jp {
		font-size: 1.6rem;
	}
	.top-course-sec .note .copy {
		margin-top: .8rem;
		font-size: 1.2rem;
		line-height: 2;
	}
	.top-course-sec .note .m-btn {
		margin-top: 1rem;
		margin-left: 0;
	}
	.top-course-sec .photo {
		/*width: 28rem;*/
		width: 42%;
		margin-top: 0;
	}
}
@media (min-width:1300px){
	.top-course-sec .note .tit-en {
		letter-spacing: 1px;
		font-size: 3.6rem;
	}
}


/***********************************
 	共通：プラン一覧リスト
	・トップページ
	・プラン一覧ページ
************************************/
.c-plan-list {
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 1.5rem;
}
.c-plan-list-item {
	background-color: #fff;
	border-radius: 0.5rem;
}
.c-plan-list-link {
	display: block;
}
.c-plan-list-link img.thumb {
	width: 100%;
	aspect-ratio: 4/2.5;
	object-fit: cover;
	border-radius: 0.5rem 0.5rem 0 0;
}
.c-plan-list-link .text {
	padding: .5rem .5rem 1rem .5rem;
}
.c-plan-list-link .text .tag-list {
	list-style-type: none;
}
.c-plan-list-link .text .tag-list-item {
    list-style-type: none;
    display: inline-block;
    background-color: #09BDFF;
	border-radius: 5rem;
    color: #fff;
	font-weight: 700;
    font-size: .7rem;
    line-height: 1.4;
	text-align: center;
    padding: 2px 10px;
    margin: 0 3px 3px 0;
	min-width: 40px;
}
.c-plan-list-link .text .title,
.c-plan-list-link .text .schedule,
.c-plan-list-link .text .price {
	border-bottom: 1px dashed #D6D5CA;
	padding-bottom: .3rem;
	margin-top: .3rem;
	line-height: 1.4;
}
.c-plan-list-link .text .title {
    font-size: .9rem;
}
.c-plan-list-link:hover .text .title {
	color: #09A0FF;
}
.c-plan-list-link .text .schedule,
.c-plan-list-link .text .price {
	font-size: .8rem;
	position: relative;
	padding-left: 1.6rem;
}
.c-plan-list-link .text .schedule:before,
.c-plan-list-link .text .price:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 22px;
	height: 22px;
}
.c-plan-list-link .text .schedule:before {
	background: url("../img/common/icon_yellow_calendar.svg") no-repeat 0 0;
	background-size: cover;
}
.c-plan-list-link .text .price:before {
	background: url("../img/common/icon_yellow_price.svg") no-repeat 0 0;
	background-size: cover;
}
@media (min-width:768px){
	.c-plan-list {
		grid-template-columns: repeat(3,1fr);
		gap: 1.5rem;
	}
	.c-plan-list-item {
		border-radius: 0.8rem;
	}
	.c-plan-list-link img.thumb {
		border-radius: 0.8rem 0.8rem 0 0;
	}
	.c-plan-list-link .text {
		padding: .5rem .5rem 1rem .5rem;
	}
}
@media (min-width:1050px){
	.c-plan-list {
		gap: 3rem;
	}
	.c-plan-list-item {
		border-radius: 1rem;
	}
	.c-plan-list-link img.thumb {
		border-radius: 1rem 1rem 0 0;
	}
	.c-plan-list-link .text {
		padding: .5rem 1.8rem 1.5rem 1.8rem;
	}
	.c-plan-list-link .text .tag-list-item {
		border-radius: 5rem;
		font-size: .9rem;
		padding: 2px 15px;
		margin: 0 5px 5px 0;
		min-width: 70px;
	}
	.c-plan-list-link .text .title,
	.c-plan-list-link .text .schedule,
	.c-plan-list-link .text .price {
		padding-bottom: .6rem;
		margin-top: .6rem;
		line-height: 1.4;
	}
	.c-plan-list-link .text .title {
		font-size: 1.2rem;
	}
	.c-plan-list-link .text .schedule,
	.c-plan-list-link .text .price {
		font-size: 1rem;
		padding-left: 2rem;
	}
	.c-plan-list-link .text .schedule:before,
	.c-plan-list-link .text .price:before {
		width: 28px;
		height: 28px;
	}
}

/* プラン一覧ページの場合
------------------------------*/
.c-plan-list-link {
	position: relative;
}
.c-plan-list-link .category {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 70px;
	height: 20px;
	color: #fff;
	text-align: center;
	font-weight: 700;
	line-height: 2;
	font-size: .6rem;
}
.c-plan-list-link .category.tour {
	background-color: #8CC72D;
}
.c-plan-list-link .category.activity {
	background-color: #FFA009;
}
@media (min-width:1050px){
	.c-plan-list-link .category {
		width: 100px;
		height: 28px;
		line-height: 2.2;
		font-size: .8rem;
	}
}

/***********************************
 	共通：ページ内ナビ
************************************/
.c-navi-sec {
	padding: 1rem 0 1.5rem 0;
}
.c-navi-list {
	list-style-type: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}
.c-navi-list-item {
	width: 23%;
	margin-right: 2.666%;
}
.c-navi-list-item:last-child {
	margin-right: 0;
}
.c-navi-list-link {
	display: block;
	background-color: #FDFBE5;
	border-radius: .5rem;
	text-align: center;
	font-weight: 700;
	font-size: .8rem;
	position: relative;
	padding: 1rem 0 1.5rem 0;
}
.c-navi-list-link:after {
	position: absolute;
	left: 50%;
	bottom: 10px;
	margin-left: -7.5px;
	display: block;
	content:"";
	width: 15px;
	height: 15px;
	background: url("../img/common/arrow_yellow_down.svg") no-repeat 0 0;
	background-size: cover;
}
.c-navi-list-link:hover,
span.c-navi-list-link {
	background-color: #FFE109;
}
.c-navi-list-link:hover:after,
span.c-navi-list-link:after {
	background: url("../img/common/arrow_white_down.svg") no-repeat 0 0;
	background-size: cover;
}
@media (min-width:768px){
	.c-navi-sec {
		padding: 1rem 0 2rem 0;
	}
	.c-navi-list-link {
		border-radius: .5rem;
		font-size: 1rem;
		padding: 1rem 10px 1rem 0;
	}
	.c-navi-list-link:after {
		left: auto;
		right: 10px;
		bottom: auto;
		top: 50%;
		margin-left: 0;
		margin-top: -10px;
		width: 20px;
		height: 20px;
	}
}
@media (min-width:1050px){
	.c-navi-sec {
		padding: 1rem 0 2rem 0;
	}
	.c-navi-list-link {
		border-radius: .8rem;
		font-size: 1.2rem;
		padding: 1.3rem 10px 1.3rem 0;
	}
	.c-navi-list-link:after {
		left: auto;
		right: 10px;
		bottom: auto;
		top: 50%;
		margin-left: 0;
		margin-top: -11px;
		width: 25px;
		height: 25px;
	}
}

/***********************************
 	指宿の魅力
************************************/
/* intro
------------------------------*/
.page-aboutibusuki .intro-sec {
	padding: 0 0 2rem 0;
}
.page-aboutibusuki .intro-sec .wrap .map {
	text-align: center;
}
.page-aboutibusuki .intro-sec .wrap .map img {
	width: 65%;
	max-width: 250px;
}
.page-aboutibusuki .intro-sec .wrap .note {
	margin-top: 1.5rem;
}
.page-aboutibusuki .intro-sec .wrap .note .copy-main  {
	text-align: center;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 2px;
	font-size: 1.6rem;
}
.page-aboutibusuki .intro-sec .wrap .note .copy-main  span {
	position: relative;
}
.page-aboutibusuki .intro-sec .wrap .note .copy-main  span:after {
	position: absolute;
	right: -1.2rem;
	top: -0.8rem;
	display: block;
	content:"";
	width: 30px;
	height: 30px;
	background: url("../img/aboutibusuki/intro_ttl_deco.svg") no-repeat 0 0;
	background-size: cover;
}
.page-aboutibusuki .intro-sec .wrap .note .copy-sub {
	margin-top: .6rem;
	line-height: 2;
}
.page-aboutibusuki .intro-sec .list {
	list-style-type: none;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1rem;
}
.page-aboutibusuki .intro-sec .list-item {
	width: 31.5%;
	margin: 0 2.75% 2.75% 0;
	background-color: #FDFBE5;
	border-radius: .5rem;
	border-top: 3px solid #FFE109;
	border-bottom: 3px solid #FFE109;
	text-align: center;
	padding: .5rem 0;
}
.page-aboutibusuki .intro-sec .list-item:nth-child(3n) {
	margin: 0 0 2.75% 0;
}
.page-aboutibusuki .intro-sec .list-item img {
	width: 90%;
}
.page-aboutibusuki .intro-sec .list-item .name {
	line-height: 1.2;
	font-size: .75rem;
	letter-spacing: 0;
	font-weight: 700;
	margin-top: .2rem;
}
.page-aboutibusuki .intro-sec .list-item .rank {
	line-height: 1.2;
	font-size: 1.1rem;
	font-weight: 700;
	margin-top: .2rem;
}
.page-aboutibusuki .intro-sec .list-item .rank span {
	background: linear-gradient(transparent 40%, #FEF1A0 40%);
	padding: 0 10px;
}
@media (min-width:768px){
	.page-aboutibusuki .intro-sec {
		padding: 0 0 3rem 0;
	}
	.page-aboutibusuki .intro-sec .wrap {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.page-aboutibusuki .intro-sec .wrap .map {
		width: 30%;
	}
	.page-aboutibusuki .intro-sec .wrap .map img {
		width: 100%;
		max-width: 500px;
	}
	.page-aboutibusuki .intro-sec .wrap .note {
		width: 65%;
		margin-top: 0rem;
	}
	.page-aboutibusuki .intro-sec .wrap .note .copy-main  {
		text-align: left;
		letter-spacing: 2px;
		font-size: 1.8rem;
	}
	.page-aboutibusuki .intro-sec .wrap .note .copy-sub {
		font-size: .94rem;
		margin-top: .6rem;
		line-height: 2;
	}
	.page-aboutibusuki .intro-sec .list {
		list-style-type: none;
		display: grid;
    	grid-template-columns: repeat(5, 1fr);
		column-gap: .8rem;
		margin-top: 2rem;
	}
	.page-aboutibusuki .intro-sec .list-item {
		width: auto;
		margin: auto;
		border-radius: .5rem;
		border-top: 4px solid #FFE109;
		border-bottom: 4px solid #FFE109;
		padding: .5rem 0 1rem 0;
	}
	.page-aboutibusuki .intro-sec .list-item:nth-child(3n) {
		margin: auto;
	}
	.page-aboutibusuki .intro-sec .list-item img {
		width: 90%;
	}
	.page-aboutibusuki .intro-sec .list-item .name {
		font-size: .85rem;
		margin-top: .2rem;
	}
	.page-aboutibusuki .intro-sec .list-item .rank {
		font-size: 1.2rem;
		margin-top: .2rem;
	}
}
@media (min-width:1050px){
	.page-aboutibusuki .intro-sec {
		padding: 0 0 4rem 0;
	}
	.page-aboutibusuki .intro-sec .wrap .map {
		width: 35%;
	}
	.page-aboutibusuki .intro-sec .wrap .note {
		width: 60%;
		margin-top: 0;
	}
	.page-aboutibusuki .intro-sec .wrap .note .copy-main  {
		letter-spacing: 3px;
		font-size: 2.8rem;
	}
	.page-aboutibusuki .intro-sec .wrap .note .copy-main span:after {
		right: -2.1rem;
		top: -1.2rem;
		width: 50px;
		height: 50px;
	}
	.page-aboutibusuki .intro-sec .wrap .note .copy-sub {
		font-size: 1.2rem;
		margin-top: .6rem;
		line-height: 2.2;
	}
	.page-aboutibusuki .intro-sec .list {
		list-style-type: none;
		display: grid;
    	grid-template-columns: repeat(5, 1fr);
		column-gap: 1.8rem;
		margin-top: 2rem;
	}
	.page-aboutibusuki .intro-sec .list-item {
		border-radius: 1rem;
		border-top: 5px solid #FFE109;
		border-bottom: 5px solid #FFE109;
		padding: .5rem 0 1.5rem 0;
	}
	.page-aboutibusuki .intro-sec .list-item img {
		width: 85%;
	}
	.page-aboutibusuki .intro-sec .list-item .name {
		font-size: 1rem;
		margin-top: .2rem;
	}
	.page-aboutibusuki .intro-sec .list-item .rank {
		font-size: 1.6rem;
		margin-top: .2rem;
	}
}
@media (min-width:1140px){/*文章改行されてしまう為指定*/
	.page-aboutibusuki .intro-sec .list-item .name {
		font-size: 1.1rem;
	}
}
@media (min-width:1230px){/*文章改行されてしまう為指定*/
	.page-aboutibusuki .intro-sec .list-item .name {
		font-size: 1.2rem;
	}
}

/* points
------------------------------*/
.page-aboutibusuki .points-sec {
	background-color: #FFE109;
	padding: 2rem 0;
}
.page-aboutibusuki .points-sec .m-inner {
	position: relative;
}
.page-aboutibusuki .points-sec .m-inner:before {
	position: absolute;
	right: 0rem;
	top: -5.5rem;
	display: block;
	content:"";
	width: 130px;
	height: 130px;
	background: url("../img/aboutibusuki/illust_aloha_002.png") no-repeat 0 0;
	background-size: cover;
}
.page-aboutibusuki .points-sec .tit-en {
	text-align: center;
	color: #fff;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 1px;
	font-size: 2rem;
}
.page-aboutibusuki .points-sec .tit-jp {
	text-align: center;
	font-size: 1rem;
}
.page-aboutibusuki .points-sec .list {
	list-style-type: none;
	margin-top: 1rem;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: .7rem;
}
.page-aboutibusuki .points-sec .list-link {
	display: block;
	background-color: #FDFBE5;
	border-radius: .8rem;
	text-align: left;
	padding: 1rem .8rem 1rem 2.4rem;
	line-height: 1.4;
	font-weight: 700;
	font-size: 1rem;
	position: relative;
	
}
.page-aboutibusuki .points-sec .list-link:after {
	position: absolute;
	left: 10px;
	top: 50%;
	margin-top: -10px;
	display: block;
	content:"";
	width: 20px;
	height: 20px;
	background: url("../img/common/arrow_yellow_down.svg") no-repeat 0 0;
	background-size: cover;
}
@media (min-width:768px){
	.page-aboutibusuki .points-sec {
		padding: 2.5rem 0;
	}
	.page-aboutibusuki .points-sec .m-inner:before {
		right: 2rem;
		top: -6.5rem;
		width: 200px;
		height: 200px;
	}
	.page-aboutibusuki .points-sec .tit-en {
		letter-spacing: 1px;
		font-size: 2.6rem;
	}
	.page-aboutibusuki .points-sec .tit-jp {
		font-size: 1.2rem;
	}
	.page-aboutibusuki .points-sec .list {
		margin-top: 1rem;
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: .7rem;
	}
	.page-aboutibusuki .points-sec .list-link {
		border-radius: 1rem;
		text-align: center;
		padding: 1rem 0 2.2rem 0;
		font-size: .9rem;
		transition: 0.25s ease-in-out;
		-moz-transition: 0.25s ease-in-out;
		-webkit-transition: 0.25s ease-in-out;
		-o-transition: 0.25s ease-in-out;
	}
	.page-aboutibusuki .points-sec .list-link:hover {
		background-color: #fff;
	}
	.page-aboutibusuki .points-sec .list-link:after {
		position: absolute;
		left: 50%;
		top: auto;
		bottom: 10px;
		margin-top: 0;
		margin-left: -10px;
		width: 20px;
		height: 20px;
		transition: 0.25s ease-in-out;
		-moz-transition: 0.25s ease-in-out;
		-webkit-transition: 0.25s ease-in-out;
		-o-transition: 0.25s ease-in-out;
	}
	.page-aboutibusuki .points-sec .list-link:hover:after {
		bottom: 3px;
	}
}
@media (min-width:1050px){
	.page-aboutibusuki .points-sec {
		padding: 3rem 0;
	}
	.page-aboutibusuki .points-sec .m-inner:before {
		right: 4rem;
		top: -8.5rem;
		width: 270px;
		height: 270px;
	}
	.page-aboutibusuki .points-sec .tit-en {
		letter-spacing: 1px;
		font-size: 4rem;
	}
	.page-aboutibusuki .points-sec .tit-jp {
		font-size: 1.6rem;
	}
	.page-aboutibusuki .points-sec .list {
		margin-top: 1rem;
		gap: 1.5rem;
	}
	.page-aboutibusuki .points-sec .list-link {
		padding: 1.8rem 0 3rem 0;
		font-size: 1rem;
	}
	.page-aboutibusuki .points-sec .list-link:after {
		bottom: 10px;
		margin-left: -15px;
		width: 30px;
		height: 30px;
	}
	.page-aboutibusuki .points-sec .list-link:hover:after {
		bottom: 3px;
	}
}
@media (min-width:1120px){/*文章改行されてしまう為指定*/
	.page-aboutibusuki .points-sec .list-link {
		font-size: 1.1rem;
	}
}
@media (min-width:1200px){/*文章改行されてしまう為指定*/
	.page-aboutibusuki .points-sec .list-link {
		font-size: 1.2rem;
	}
}


/* 各box
------------------------------*/
.page-aboutibusuki .cont-sec {
	background-color: #FDFBE5;
	padding: 2rem 0;
}
.page-aboutibusuki .cont-sec .box {
	background-color: #fff;
	border-radius: 1rem;
	padding: 1.5rem 1.2rem;
	margin-bottom: 2rem;
}
.page-aboutibusuki .cont-sec .box .tit-en {
	text-align: center;
	color: #FFE109;
	letter-spacing: 1px;
	font-size: .9rem;
	line-height: 1;
}
.page-aboutibusuki .cont-sec .box .tit-jp {
	text-align: center;
	font-weight: 700;
	font-size: 1.15rem;
	line-height: 1.4;
}
.page-aboutibusuki .cont-sec .box .tit-jp span {
	background: linear-gradient(transparent 60%, #FFE109 60%);
	padding: 0 5px;
}
.page-aboutibusuki .cont-sec .box .photo-list {
	list-style-type: none;
	display: grid;
    grid-template-columns: repeat(1, 1fr);
	gap: 1.5rem;
	margin-top: 1rem;
}
.page-aboutibusuki .cont-sec .box .photo-list-item img {
	border-radius: .5rem;
}
.page-aboutibusuki .cont-sec .box .photo-list-item .name {
	font-weight: 700;
	font-size: .9rem;
	line-height: 1.4;
	margin-top: .5rem;
}
.page-aboutibusuki .cont-sec .box .copy {
	margin-top: 1rem;
	font-size: .94rem;
	font-weight: 400;
	line-height: 2;
}
@media (min-width:768px){
	.page-aboutibusuki .cont-sec {
		padding: 3rem 0;
	}
	.page-aboutibusuki .cont-sec .box {
		border-radius: 1.5rem;
		padding: 2rem 2.5rem;
		margin-bottom: 3rem;
	}
	.page-aboutibusuki .cont-sec .box .tit-en {
		letter-spacing: 2px;
		font-size: 1rem;
	}
	.page-aboutibusuki .cont-sec .box .tit-jp {
		font-size: 1.5rem;
	}
	.page-aboutibusuki .cont-sec .box .photo-list {
		list-style-type: none;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem;
		margin-top: 1.5rem;
	}
	.page-aboutibusuki .cont-sec .box .photo-list-item img {
		border-radius: .8rem;
	}
	.page-aboutibusuki .cont-sec .box .photo-list-item .name {
		font-size: 1rem;
		margin-top: .5rem;
	}
	.page-aboutibusuki .cont-sec .box .copy {
		margin-top: 2rem;
		font-size: 1rem;
	}
}
@media (min-width:1050px){
	.page-aboutibusuki .cont-sec {
		padding: 4rem 0;
	}
	.page-aboutibusuki .cont-sec .box {
		border-radius: 2rem;
		padding: 3rem 4rem;
		margin-bottom: 4rem;
	}
	.page-aboutibusuki .cont-sec .box .tit-en {
		letter-spacing: 2px;
		font-size: 1.2rem;
	}
	.page-aboutibusuki .cont-sec .box .tit-jp {
		font-size: 2.2rem;
		letter-spacing: 1px;
	}
	.page-aboutibusuki .cont-sec .box .photo-list {
		gap: 2.5rem;
		margin-top: 2rem;
	}
	.page-aboutibusuki .cont-sec .box .photo-list-item img {
		border-radius: 1rem;
	}
	.page-aboutibusuki .cont-sec .box .photo-list-item .name {
		font-size: 1.3rem;
		margin-top: .5rem;
	}
	.page-aboutibusuki .cont-sec .box .copy {
		margin-top: 3rem;
		font-size: 1.15rem;
	}
}


/***********************************
 	共通：mv swipper（メインビジュアルスライド）
	・新着情報詳細ページ
	・プラン詳細ページ
	・おすすめ観光コース詳細ページ
************************************/
.c-mv-swipper-wrap {
	width: 100%;
	position: relative;
}
.c-mv-swipper-wrap .swiper-mv {
	height: 100vw;
	max-height: 400px; /* 最大の高さ */
	min-height: 300px; /* 最小の高さ */
	
	overflow: hidden;/*枠内に納める*/
}
.c-mv-swipper-wrap .swiper-slide {
	display: flex;
	justify-content: center; /* 左右の中央揃え */
	background-color: #FDFBE5;
	border-radius: 1rem;
}
.c-mv-swipper-wrap .swiper-slide img {
	align-self: center; /* 上下の中央揃え */
	max-height: 100%;
	max-width: 100%;
	width: auto;
}
.c-mv-swipper-wrap .swiper-button-prev,
.c-mv-swipper-wrap .swiper-button-next {
	color: #fff;	
}
.c-mv-swipper-wrap .swiper-pagination {
	bottom: -2rem !important;
}
.c-mv-swipper-wrap .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.c-mv-swipper-wrap .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	/* ページネーションのドット間隔 */
	margin: 0 5px;
}
.c-mv-swipper-wrap .swiper-pagination-bullet {
	/* ページネーションのサイズと色 */
	height: 10px;
	width: 10px;
	background-color: #DADBDB;
	opacity: 1;
}
.c-mv-swipper-wrap .swiper-pagination-bullet-active {
	/* アクティブ時 */
	background-color: #FFE109;
}
@media (min-width:768px){
}
@media (min-width:1050px){
	.c-mv-swipper-wrap .swiper-mv {
		height: 38vw;
		max-height: 700px; /* 最大の高さ */
		min-height: 500px; /* 最小の高さ */
	}
	.c-mv-swipper-wrap .swiper-pagination {
		bottom: -2.5rem !important;
	}
	.c-mv-swipper-wrap .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
	.c-mv-swipper-wrap .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		/* ページネーションのドット間隔 */
		margin: 0 8px;
	}
	.c-mv-swipper-wrap .swiper-pagination-bullet {
		/* ページネーションのサイズと色 */
		height: 12px;
		width: 12px;
	}
}

/* プラン詳細ページの場合
------------------------------*/
.page-plan-det .c-mv-swipper-wrap .swiper-mv {
	height: 60vw;
	max-height: auto;
	min-height: auto;
}
.page-plan-det .c-mv-swipper-wrap .swiper-slide img {
	width: 100%;
	aspect-ratio: 4/2.8;
	object-fit: cover;
	border-radius: 0.5rem;
}
@media (min-width:768px){
	.page-plan-det .c-mv-swipper-wrap .swiper-mv {
		height: 50vw;
		max-height: 800px;
		min-height: 500px;
	}
	.page-plan-det .c-mv-swipper-wrap .swiper-slide img {
		border-radius: 1rem;
	}
}
@media (min-width:1050px){
	.page-plan-det .c-mv-swipper-wrap .swiper-slide img {
		border-radius: 1.5rem;
	}
}

/* おすすめ観光コース詳細ページの場合
------------------------------*/
.page-course-det .c-mv-swipper-wrap .swiper-mv {
	height: auto;
	max-height: auto;
	min-height: auto;
}
.page-course-det .c-mv-swipper-wrap .swiper-slide img {
	width: 100%;
	aspect-ratio: 4/2.8;
	object-fit: cover;
	border-radius: 0.5rem;
}
@media (min-width:768px){
	.page-course-det .c-mv-swipper-wrap .swiper-slide img {
		border-radius: 1rem;
	}
}
@media (min-width:1050px){
	.page-course-det .c-mv-swipper-wrap .swiper-slide img {
		border-radius: 1.5rem;
	}
}

/***********************************
 	新着情報 一覧
************************************/
.page-info-arc .arc-sec {
	background-color: #F7FBFC;
	padding: 2rem 0 4rem 0;
}
.page-info-arc .arc-sec .list {
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 2rem;
}
.page-info-arc .arc-sec .list-link {
	display: block;
	position: relative;
}
.page-info-arc .arc-sec .list-link .category {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 70px;
	height: 20px;
	color: #fff;
	text-align: center;
	font-weight: 700;
	line-height: 2;
	font-size: .6rem;
}
.page-info-arc .arc-sec .list-link .category.news {
	background-color: #09BDFF;
}
.page-info-arc .arc-sec .list-link .category.event {
	background-color: #FFA009;
}
.page-info-arc .arc-sec .list-link img.thumb {
	width: 100%;
	aspect-ratio: 4/2.8;
	object-fit: cover;
	border-radius: 0.5rem;
}
.page-info-arc .arc-sec .list-link .text {
	margin-top: .5rem;
}
.page-info-arc .arc-sec .list-link .text .date {
	color: #8E8E8E;
	font-size: .75rem;
	line-height: 1.4;
	letter-spacing: 1px;
}
.page-info-arc .arc-sec .list-link .text .title,
.page-info-arc .arc-sec .list-link .text .schedule,
.page-info-arc .arc-sec .list-link .text .place,
.page-info-arc .arc-sec .list-link .text .copy {
	border-bottom: 1px dashed #D6D5CA;
	padding-bottom: .3rem;
	margin-bottom: .3rem;
	line-height: 1.4;
}
.page-info-arc .arc-sec .list-link .text .title {
    font-size: .9rem;
}
.page-info-arc .arc-sec .list-link:hover .text .title {
	color: #09A0FF;
}
.page-info-arc .arc-sec .list-link .text .schedule,
.page-info-arc .arc-sec .list-link .text .place {
	font-size: .8rem;
	position: relative;
	padding-left: 1.6rem;
}
.page-info-arc .arc-sec .list-link .text .copy {
	font-size: .8rem;
	padding-top: .2rem;
	padding-bottom: .5rem;
}
.page-info-arc .arc-sec .list-link .text .schedule:before,
.page-info-arc .arc-sec .list-link .text .place:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 22px;
	height: 22px;
}
.page-info-arc .arc-sec .list-link .text .schedule:before {
	background: url("../img/common/icon_yellow_calendar.svg") no-repeat 0 0;
	background-size: cover;
}
.page-info-arc .arc-sec .list-link .text .place:before {
	background: url("../img/common/icon_yellow_place.svg") no-repeat 0 0;
	background-size: cover;
}
@media (min-width:768px){
	.page-info-arc .arc-sec {
		padding: 3rem 0 5rem 0;
	}
	.page-info-arc .arc-sec .list {
		grid-template-columns: repeat(3,1fr);
		column-gap: 1.5rem;
	}
	.page-info-arc .arc-sec .list-item:nth-child(3) {
		display: block;
	}
}
@media (min-width:1050px){
	.page-info-arc .arc-sec {
		padding: 3rem 0 8rem 0;
	}
	.page-info-arc .arc-sec .list {
		column-gap: 2.5rem;
	}
	.page-info-arc .arc-sec .list-link .category {
		width: 100px;
		height: 28px;
		line-height: 2.2;
		font-size: .8rem;
	}
	.page-info-arc .arc-sec .list-link img.thumb {
		border-radius: 0.8rem;
	}
	.page-info-arc .arc-sec .list-link .text {
		margin-top: .5rem;
	}
	.page-info-arc .arc-sec .list-link .text .date {
		font-size: .9rem;
	}
	.page-info-arc .arc-sec .list-link .text .title,
	.page-info-arc .arc-sec .list-link .text .schedule,
	.page-info-arc .arc-sec .list-link .text .place,
	.page-info-arc .arc-sec .list-link .text .copy {
		padding-bottom: .6rem;
		margin-bottom: .6rem;
		line-height: 1.4;
	}
	.page-info-arc .arc-sec .list-link .text .title {
		font-size: 1.2rem;
	}
	.page-info-arc .arc-sec .list-link .text .schedule,
	.page-info-arc .arc-sec .list-link .text .place {
		font-size: 1rem;
		padding-left: 2rem;
	}
	.page-info-arc .arc-sec .list-link .text .copy {
		font-size: 1rem;
		padding-top: .3rem;
		padding-bottom: 1rem;
	}
	.page-info-arc .arc-sec .list-link .text .schedule:before,
	.page-info-arc .arc-sec .list-link .text .place:before {
		width: 28px;
		height: 28px;
	}
}

/***********************************
 	新着情報 詳細
************************************/
.page-info-det .det-sec {
	padding: 0 0 4rem 0;
}
.page-info-det .det-sec .m-inner {
	padding: 0;
}
.page-info-det .det-sec .box {
	background-color: #fff;
	/*border-radius: 1rem;*/
	padding: 1.5rem 1.2rem;
}
.page-info-det .det-sec .box .head {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.page-info-det .det-sec .box .head .date {
	width: 75px;
	color: #8E8E8E;
	font-size: .75rem;
	line-height: 2;
	letter-spacing: 1px;
}
.page-info-det .det-sec .box .head .category {
	display: block;
	content:"";
	width: 90px;
	height: 20px;
	color: #fff;
	text-align: center;
	font-weight: 700;
	line-height: 2;
	font-size: .65rem;
}
.page-info-det .det-sec .box .head .category.news {
	background-color: #09BDFF;
}
.page-info-det .det-sec .box .head .category.event {
	background-color: #FFA009;
}
.page-info-det .det-sec .box .title {
	font-weight: 700;
	line-height: 1.4;
	font-size: 1.2rem;
	margin-top: .3rem;
}
.page-info-det .det-sec .box .c-mv-swipper-wrap {
	margin-top: 1rem;
	margin-bottom: 3rem;
}
.page-info-det .det-sec .box .text {
	font-size: .9rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 1rem;
}
.page-info-det .det-sec .box table {
	margin-top: 2rem;
}
@media (min-width:768px){
	.page-info-det .m-topic-path-sec {
		background-color: #FDFBE5;
	}
	.page-info-det .det-sec {
		padding: 1rem 0 4rem 0;
	}
	.page-info-det .det-sec .m-inner {
		padding: 0 5%;
	}
	.page-info-det .det-sec .box {
		border-radius: 1.5rem;
		padding: 2rem 2.5rem 3rem 2.5rem;
	}
	.page-info-det .det-sec .box .head .date {
		width: 100px;
		font-size: 1rem;
		line-height: 2;
		letter-spacing: 1px;
	}
	.page-info-det .det-sec .box .head .category {
		width: 100px;
		height: 26px;
		line-height: 2;
		font-size: .8rem;
	}
	.page-info-det .det-sec .box .title {
		font-size: 1.5rem;
		margin-top: .3rem;
	}
	.page-info-det .det-sec .box .c-mv-swipper-wrap {
		margin-top: 1rem;
		margin-bottom: 3rem;
	}
	.page-info-det .det-sec .box .text {
		font-size: 1rem;
		line-height: 2;
		margin-top: 1rem;
	}
	.page-info-det .det-sec .box table {
		margin-top: 2rem;
	}
}
@media (min-width:1050px){
	.page-info-det .det-sec {
		padding: 1rem 0 6rem 0;
	}
	.page-info-det .det-sec .m-inner {
		padding: 0 10vw;
	}
	.page-info-det .det-sec .box {
		border-radius: 2rem;
		padding: 3rem 6rem 5rem 6rem;
	}
	.page-info-det .det-sec .box .head .date {
		width: 110px;
		font-size: 1.2rem;
		line-height: 2;
		letter-spacing: 1px;
	}
	.page-info-det .det-sec .box .head .category {
		width: 120px;
		height: 33px;
		line-height: 2;
		font-size: 1rem;
	}
	.page-info-det .det-sec .box .title {
		font-size: 2rem;
		margin-top: .3rem;
	}
	.page-info-det .det-sec .box .c-mv-swipper-wrap {
		margin-top: 1.5rem;
		margin-bottom: 4rem;
	}
	.page-info-det .det-sec .box .text {
		font-size: 1.1rem;
		line-height: 2;
		margin-top: 2rem;
	}
	.page-info-det .det-sec .box table {
		margin-top: 3rem;
	}
}


/***********************************
 	プラン 一覧
************************************/
.page-plan-arc .arc-sec {
	background-color: #F7FBFC;
	padding: 2rem 0 4rem 0;
}
@media (min-width:768px){
	.page-plan-arc .arc-sec {
		padding: 3rem 0 5rem 0;
	}
}
@media (min-width:1050px){
	.page-plan-arc .arc-sec {
		padding: 3rem 0 8rem 0;
	}
}

/***********************************
 	プラン 詳細
************************************/
/* intro
------------------------------*/
.page-plan-det .intro-sec {
	padding: 2rem 0;
}
.page-plan-det .intro-sec .tag-list {
	list-style-type: none;
}
.page-plan-det .intro-sec .tag-list-item {
    display: inline-block;
    background-color: #09BDFF;
	border-radius: 5rem;
    color: #fff;
	font-weight: 700;
    font-size: .8rem;
    line-height: 1.4;
	text-align: center;
    padding: 2px 10px;
    margin: 0 3px 3px 0;
	min-width: 40px;
}
.page-plan-det .intro-sec .title {
	font-weight: 700;
	line-height: 1.4;
	font-size: 1.2rem;
	margin-top: .3rem;
	border-bottom: 3px solid #FFE109;
	padding-bottom: .2rem;
}
.page-plan-det .intro-sec .photo {
	margin-top: 1rem;
}
.page-plan-det .intro-sec .copy {
	font-size: .9rem;
	font-weight: 400;
	line-height: 2;
	margin-top: 3rem;
}
.page-plan-det .intro-sec .short-box {
	background-color: #F7FBFC;
	border-radius: .5rem;
	padding: 1rem 1rem;
	margin-top: 1rem;
}
.page-plan-det .intro-sec .short-box .schedule,
.page-plan-det .intro-sec .short-box .price {
	font-size: .95rem;
	font-weight: 700;
	line-height: 1.4;
	position: relative;
	padding-left: 1.6rem;
}
.page-plan-det .intro-sec .short-box .price {
	margin-top: .5rem;
}
.page-plan-det .intro-sec .short-box .schedule:before,
.page-plan-det .intro-sec .short-box .price:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 22px;
	height: 22px;
}
.page-plan-det .intro-sec .short-box .schedule:before {
	background: url("../img/common/icon_yellow_calendar.svg") no-repeat 0 0;
	background-size: cover;
}
.page-plan-det .intro-sec .short-box .price:before {
	background: url("../img/common/icon_yellow_price.svg") no-repeat 0 0;
	background-size: cover;
}
@media (min-width:768px){
	.page-plan-det .intro-sec {
		padding: 3rem 0;
	}
	.page-plan-det .intro-sec .tag-list-item {
		font-size: .9rem;
	}
	.page-plan-det .intro-sec .title {
		font-size: 1.5rem;
		margin-top: .3rem;
		border-bottom: 4px solid #FFE109;
		padding-bottom: .4rem;
	}
	.page-plan-det .intro-sec .photo {
		margin-top: 1.5rem;
	}
	.page-plan-det .intro-sec .copy {
		font-size: 1rem;
		line-height: 2;
		margin-top: 3rem;
	}
	.page-plan-det .intro-sec .short-box {
		padding: 1.5rem 1.5rem;
		margin-top: 1rem;
	}
	.page-plan-det .intro-sec .short-box .schedule,
	.page-plan-det .intro-sec .short-box .price {
		font-size: 1.1rem;
		padding-left: 2rem;
	}
	.page-plan-det .intro-sec .short-box .schedule:before,
	.page-plan-det .intro-sec .short-box .price:before {
		width: 30px;
		height: 30px;
	}
}
@media (min-width:1050px){
	.page-plan-det .intro-sec {
		padding: 3rem 0;
	}
	.page-plan-det .intro-sec .tag-list-item {
		font-size: 1rem;
		padding: 2px 15px;
		margin: 0 5px 5px 0;
		min-width: 70px;
	}
	.page-plan-det .intro-sec .title {
		font-size: 2rem;
		margin-top: .3rem;
		border-bottom: 5px solid #FFE109;
		padding-bottom: .5rem;
	}
	.page-plan-det .intro-sec .photo {
		margin-top: 1.5rem;
	}
	.page-plan-det .intro-sec .copy {
		font-size: 1.1rem;
		line-height: 2;
		margin-top: 3.5rem;
	}
	.page-plan-det .intro-sec .short-box {
		border-radius: .5rem;
		padding: 1.5rem 1.5rem;
		margin-top: 1rem;
	}
	.page-plan-det .intro-sec .short-box .schedule,
	.page-plan-det .intro-sec .short-box .price {
		font-size: 1.3rem;
		line-height: 1.8;
		padding-left: 3rem;
	}
	.page-plan-det .intro-sec .short-box .price {
		margin-top: 1rem;
	}
	.page-plan-det .intro-sec .short-box .schedule:before,
	.page-plan-det .intro-sec .short-box .price:before {
		width: 40px;
		height: 40px;
	}
}

/* point
------------------------------*/
.page-plan-det .point-sec {
	padding: 2rem 0 3rem 0;
}
.page-plan-det .point-sec .sec-ttl {
	text-align: center;
	font-weight: 700;
	font-size: 1.4rem;
}
.page-plan-det .point-sec .sec-ttl span {
	background: linear-gradient(transparent 60%, #FFE109 60%);
	padding: 0 8px;
	position: relative;
}
.page-plan-det .point-sec .sec-ttl span:after {
	position: absolute;
	right: -1.2rem;
	top: -0.8rem;
	display: block;
	content:"";
	width: 30px;
	height: 30px;
	background: url("../img/plan/ttl_deco.svg") no-repeat 0 0;
	background-size: cover;
}
.page-plan-det .point-sec .list {
	list-style-type: none;
	margin-top: 1rem;
}
.page-plan-det .point-sec .list-item {
	background-color: #fff;
	border: 3px solid #FFE109;
	border-radius: 1rem;
	padding: 1rem 1rem;
	margin-bottom: 1.5rem;
}
.page-plan-det .point-sec .list-item:last-child {
	margin-bottom: 0;
}
.page-plan-det .point-sec .list-item .photo img {
	width: 100%;
	aspect-ratio: 4/2.8;
	object-fit: cover;
	border-radius: 1rem;
}
.page-plan-det .point-sec .list-item .note {
	margin-top: 1rem;
}
.page-plan-det .point-sec .list-item .note .copy-main {
	border-bottom: 1px solid #D6D5CA;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 1px;
	font-size: 1.2rem;
	margin-top: .8rem;
	padding-bottom: .4rem;
}
.page-plan-det .point-sec .list-item .note .copy-sub {
	font-weight: 400;
	font-size: .9rem;
	margin-top: .6rem;
}
@media (min-width:768px){
	.page-plan-det .point-sec {
		padding: 3rem 0 4rem 0;
	}
	.page-plan-det .point-sec .sec-ttl {
		font-size: 1.6rem;
	}
	.page-plan-det .point-sec .list {
		margin-top: 1.5rem;
	}
	.page-plan-det .point-sec .list-item {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		background-color: #fff;
		border: 4px solid #FFE109;
		border-radius: 2rem;
		padding: 1.5rem 2rem;
		margin-bottom: 1.5rem;
	}
	.page-plan-det .point-sec .list-item:nth-child(2n) {
		flex-direction: row-reverse;
	}
	.page-plan-det .point-sec .list-item .photo {
		width: 40%;
	}
	.page-plan-det .point-sec .list-item .photo img {
		border-radius: 1rem;
	}
	.page-plan-det .point-sec .list-item .note {
		width: 55%;
		margin-top: 0;
	}
}
@media (min-width:1050px){
	.page-plan-det .point-sec {
		padding: 4rem 0 6rem 0;
	}
	.page-plan-det .point-sec .sec-ttl {
		font-size: 2.2rem;
	}
	.page-plan-det .point-sec .sec-ttl span:after {
		right: -2.1rem;
		top: -1.0rem;
		width: 46px;
		height: 46px;
	}
	.page-plan-det .point-sec .list {
		margin-top: 2rem;
	}
	.page-plan-det .point-sec .list-item {
		border: 5px solid #FFE109;
		border-radius: 2rem;
		padding: 2.5rem 3.5rem;
		margin-bottom: 2.5rem;
	}
	.page-plan-det .point-sec .list-item .photo img {
		border-radius: 1.5rem;
	}

	.page-plan-det .point-sec .list-item .note .copy-main {
		font-size: 1.8rem;
		margin-top: .8rem;
		padding-bottom: .6rem;
	}
	.page-plan-det .point-sec .list-item .note .copy-sub {
		font-size: 1.1rem;
		margin-top: .8rem;
		line-height: 2;
	}
}

/* content
------------------------------*/
.page-plan-det .content-sec {
	padding: 2rem 0 3rem 0;
}
.page-plan-det .content-sec .sec-ttl {
	text-align: center;
	font-weight: 700;
	font-size: 1.4rem;
}
.page-plan-det .content-sec .list {
	list-style-type: none;
	margin-top: 1rem;
}
.page-plan-det .content-sec .list-item {
	background-color: #fff;
	border-radius: 1rem;
	padding: 1rem 1rem;
	margin-bottom: 1.5rem;
}
.page-plan-det .content-sec .list-item:last-child {
	margin-bottom: 0;
}
.page-plan-det .content-sec .list-item .photo img {
	width: 100%;
	aspect-ratio: 4/2.8;
	object-fit: cover;
	border-radius: 1rem;
}
.page-plan-det .content-sec .list-item .note {
	margin-top: 1rem;
}
.page-plan-det .content-sec .list-item .note .copy-main {
	border-bottom: 1px solid #D6D5CA;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 1px;
	font-size: 1.2rem;
	margin-top: .8rem;
	padding-bottom: .4rem;
}
.page-plan-det .content-sec .list-item .note .copy-sub {
	font-weight: 400;
	font-size: .9rem;
	margin-top: .6rem;
}
/*ツアーの場合 流れ・時間表示*/
.page-plan-det .content-sec.tour .list {
	position: relative;
}
.page-plan-det .content-sec.tour .list:before {
	position: absolute;
	left: 50%;;
	top: 0;
	margin-left: -2px;
	display: block;
	content:"";
	width: 4px;
	height: 100%;
	border-left: 4px dashed #FFE109;
}
.page-plan-det .content-sec.tour .list-item {
	position: relative;
	margin-bottom: 5rem;
}
.page-plan-det .content-sec.tour .list-item:last-child {
	margin-bottom: 0;
}
.page-plan-det .content-sec.tour .list-item .time {
	position: absolute;
	bottom: -3.8rem;
	left: 50%;
	margin-left: -12.5px;
	padding-left: 28px;
	font-size: 1.1rem;
	font-weight: 700;
}
.page-plan-det .content-sec.tour .list-item:last-child .time {
	display: none;
}
.page-plan-det .content-sec.tour .list-item .time:before {
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -12.5px;
	display: block;
	content:"";
	width: 25px;
	height: 25px;
	background-color: #FFE109;
	border-radius: 50%;
}
@media (min-width:768px){
	.page-plan-det .content-sec {
		padding: 3rem 0 4rem 0;
	}
	.page-plan-det .content-sec .sec-ttl {
		font-size: 1.6rem;
	}
	.page-plan-det .content-sec .list {
		margin-top: 1.5rem;
	}
	.page-plan-det .content-sec .list-item {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		background-color: #fff;
		border-radius: 2rem;
		padding: 1.5rem 2rem;
		margin-bottom: 1.5rem;
	}
	.page-plan-det .content-sec .list-item .photo {
		width: 40%;
	}
	.page-plan-det .content-sec .list-item .photo img {
		border-radius: 1rem;
	}
	.page-plan-det .content-sec .list-item .note {
		width: 55%;
		margin-top: 0;
	}
}
@media (min-width:1050px){
	.page-plan-det .content-sec {
		padding: 4rem 0 6rem 0;
	}
	.page-plan-det .content-sec .sec-ttl {
		font-size: 2.2rem;
	}
	.page-plan-det .content-sec .list {
		margin-top: 2rem;
	}
	.page-plan-det .content-sec .list-item {
		border-radius: 2rem;
		padding: 2.5rem 3.5rem;
		margin-bottom: 2.5rem;
	}
	.page-plan-det .content-sec .list-item .photo img {
		border-radius: 1.5rem;
	}

	.page-plan-det .content-sec .list-item .note .copy-main {
		font-size: 1.8rem;
		margin-top: .8rem;
		padding-bottom: .6rem;
	}
	.page-plan-det .content-sec .list-item .note .copy-sub {
		font-size: 1.1rem;
		margin-top: .8rem;
		line-height: 2;
	}
	/*ツアーの場合 流れ・時間表示*/
	.page-plan-det .content-sec.tour .list-item {
		border-radius: 2rem;
		padding: 2.5rem 3.5rem;
		margin-bottom: 7rem;
	}
	.page-plan-det .content-sec.tour .list-item .time {
		bottom: -5rem;
		padding-left: 28px;
		font-size: 1.4rem;
	}
}

/* info
------------------------------*/
.page-plan-det .info-sec {
	padding: 2rem 0 3rem 0;
}
.page-plan-det .info-sec .sec-ttl {
	text-align: center;
	font-weight: 700;
	font-size: 1.4rem;
}
.page-plan-det .info-sec table {
	margin-top: 2rem;
}

@media (min-width:768px){
	.page-plan-det .info-sec {
		padding: 3rem 0 4rem 0;
	}
	.page-plan-det .info-sec .sec-ttl {
		font-size: 1.6rem;
	}
}
@media (min-width:1050px){
	.page-plan-det .info-sec {
		padding: 4rem 0 6rem 0;
	}
	.page-plan-det .info-sec .sec-ttl {
		font-size: 2.2rem;
	}
	.page-plan-det .info-sec table {
		margin-top: 3rem;
	}
	.page-plan-det .info-sec table th {
		width: 22%;
	}
}

/* 固定の申込ボタン（ページ範囲内.page-wrapで固定）
------------------------------*/
.page-plan-det .page-wrap {
	margin-bottom: 2rem;
}
.page-plan-det .page-wrap .btn-entry {
	width: 120px;
	height: 120px;
	display: block;
	position: sticky;
	z-index: 100;
	bottom: 15px;
	left: 15px;
	background-color: #FFE109;
	border-radius: 50%;
	text-align: center;
	text-decoration: none;
	font-weight: 900;
	line-height: 1.2;
	font-size: .9rem;
	padding-top: 50px;
	margin-top: -30px;
	transition: 0.25s ease-in-out;
	-moz-transition: 0.25s ease-in-out;
	-webkit-transition: 0.25s ease-in-out;
	-o-transition: 0.25s eease-in-out;
}
.page-plan-det .page-wrap .btn-entry:hover {
	opacity: .7;
}
.page-plan-det .page-wrap .btn-entry:before {
	display: block;
	content:"";
	position: absolute;
	left: 50%;
	top: -20px;
	margin-left: -30px;
	width: 70px;
	height: 70px;
	background: url("../img/plan/illust_btn.png") no-repeat 0 0;
	background-size: cover;
}
.page-plan-det .page-wrap .btn-entry:after {
	display: block;
	content:"";
	position: absolute;
	left: 50%;
	bottom: 10px;
	margin-left: -10px;
	
	width: 20px;
	height: 20px;
	background: url("../img/common/arrow_white_right.svg") no-repeat 0 0;
	background-size: cover;
}
@media (min-width:768px){
	.page-plan-det .page-wrap {
		margin-bottom: 1rem;
	}
	.page-plan-det .page-wrap .btn-entry {
		width: 180px;
		height: 180px;
		bottom: 70px;
		left: calc(100vw - 12rem);
		font-size: 1.35rem;
		padding-top: 80px;
		margin-top: -180px;
	}
	.page-plan-det .page-wrap .btn-entry:before {
		left: 50%;
		top: -25px;
		margin-left: -55px;
		width: 110px;
		height: 110px;
	}
	.page-plan-det .page-wrap .btn-entry:after {
		left: 50%;
		bottom: 20px;
		margin-left: -11px;
		width: 22px;
		height: 22px;
	}
}
@media (min-width:1050px){
	.page-plan-det .page-wrap {
		margin-bottom: 2rem;
	}
	.page-plan-det .page-wrap .btn-entry {
		bottom: 100px;
		left: calc(100vw - 15rem);
	}
}


/***********************************
 	おすすめ観光コース 一覧
************************************/
.page-course-arc .arc-sec {
	background-color: #F7FBFC;
	padding: 2rem 0 4rem 0;
}
.page-course-arc .arc-sec .list {
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 2rem;
}
.page-course-arc .arc-sec .list-link {
	display: block;
	position: relative;
}
.page-course-arc .arc-sec .list-link .category {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 70px;
	height: 20px;
	color: #fff;
	text-align: center;
	font-weight: 700;
	line-height: 2;
	font-size: .6rem;
}
.page-course-arc .arc-sec .list-link .category.taxi {
	background-color: #8CC72D;
}
.page-course-arc .arc-sec .list-link .category.iburin {
	background-color: #FFA009;
}
.page-course-arc .arc-sec .list-link .category.walk {
	background-color: #F88E8E;
}
.page-course-arc .arc-sec .list-link img.thumb {
	width: 100%;
	aspect-ratio: 4/2.8;
	object-fit: cover;
	border-radius: 0.5rem;
}
.page-course-arc .arc-sec .list-link .text {
	margin-top: .5rem;
}
.page-course-arc .arc-sec .list-link .text .title,
.page-course-arc .arc-sec .list-link .text .time,
.page-course-arc .arc-sec .list-link .text .place {
	border-bottom: 1px dashed #D6D5CA;
	padding-bottom: .3rem;
	margin-bottom: .3rem;
	line-height: 1.4;
}
.page-course-arc .arc-sec .list-link .text .title {
    font-size: .9rem;
}
.page-course-arc .arc-sec .list-link:hover .text .title {
	color: #09A0FF;
}
.page-course-arc .arc-sec .list-link .text .time,
.page-course-arc .arc-sec .list-link .text .place {
	font-size: .8rem;
	position: relative;
	padding-left: 1.6rem;
}
.page-course-arc .arc-sec .list-link .text .time:before,
.page-course-arc .arc-sec .list-link .text .place:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 22px;
	height: 22px;
}
.page-course-arc .arc-sec .list-link .text .time:before {
	background: url("../img/common/icon_yellow_time.svg") no-repeat 0 0;
	background-size: cover;
}
.page-course-arc .arc-sec .list-link .text .place:before {
	background: url("../img/common/icon_yellow_place.svg") no-repeat 0 0;
	background-size: cover;
}
@media (min-width:768px){
	.page-course-arc .arc-sec {
		padding: 3rem 0 5rem 0;
	}
	.page-course-arc .arc-sec .list {
		grid-template-columns: repeat(3,1fr);
		column-gap: 1.5rem;
	}
	.page-course-arc .arc-sec .list-item:nth-child(3) {
		display: block;
	}
}
@media (min-width:1050px){
	.page-course-arc .arc-sec {
		padding: 3rem 0 8rem 0;
	}
	.page-course-arc .arc-sec .list {
		column-gap: 2.5rem;
	}
	.page-course-arc .arc-sec .list-link .category {
		width: 100px;
		height: 28px;
		line-height: 2.2;
		font-size: .8rem;
	}
	.page-course-arc .arc-sec .list-link img.thumb {
		border-radius: 0.8rem;
	}
	.page-course-arc .arc-sec .list-link .text {
		margin-top: .5rem;
	}
	.page-course-arc .arc-sec .list-link .text .date {
		font-size: .9rem;
	}
	.page-course-arc .arc-sec .list-link .text .title,
	.page-course-arc .arc-sec .list-link .text .time,
	.page-course-arc .arc-sec .list-link .text .place {
		padding-bottom: .6rem;
		margin-bottom: .6rem;
		line-height: 1.4;
	}
	.page-course-arc .arc-sec .list-link .text .title {
		font-size: 1.4rem;
	}
	.page-course-arc .arc-sec .list-link .text .time,
	.page-course-arc .arc-sec .list-link .text .place {
		font-size: 1rem;
		padding-left: 2rem;
	}
	.page-course-arc .arc-sec .list-link .text .schedule:before,
	.page-course-arc .arc-sec .list-link .text .place:before {
		width: 28px;
		height: 28px;
	}
}

/***********************************
 	おすすめ観光コース 詳細
************************************/
/* intro
------------------------------*/
.page-course-det .intro-sec {
	padding: 2rem 0 3rem 0;
}
.page-course-det .intro-sec .note {
	margin-top: 2.5rem;
}
.page-course-det .intro-sec .note .head {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.page-course-det .intro-sec .note .head .category {
	display: block;
	content:"";
	width: 80px;
	height: 30px;
	color: #fff;
	text-align: center;
	font-weight: 700;
	line-height: 2.4;
	font-size: .8rem;
	margin-right: .5rem;
}
.page-course-det .intro-sec .note .head .category.taxi {
	background-color: #8CC72D;
}
.page-course-det .intro-sec .note .head .category.iburin {
	background-color: #FFA009;
}
.page-course-det .intro-sec .note .head .category.walk {
	background-color: #F88E8E;
}
.page-course-det .intro-sec .note .head .time {
	border-top: 1px dashed #D6D5CA;
	border-bottom: 1px dashed #D6D5CA;
	padding: .1rem .5rem;
	font-size: .9rem;
}
.page-course-det .intro-sec .note .head .time .ttl {
	position: relative;
	padding-left: 1.6rem;
}
.page-course-det .intro-sec .note .head .time .ttl:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 22px;
	height: 22px;
	background: url("../img/common/icon_yellow_time.svg") no-repeat 0 0;
	background-size: cover;
}
.page-course-det .intro-sec .note .head .time .num {
	font-weight: 700;
}
.page-course-det .intro-sec .note .title {
	font-weight: 700;
	line-height: 1.4;
	font-size: 1.4rem;
	margin-top: .5rem;
}
.page-course-det .intro-sec .note .copy {
	font-weight: 400;
	font-size: .9rem;
	margin-top: .5rem;
}
.page-course-det .intro-sec .note .spot-box {
	background-color: #F7FBFC;
	border-radius: .5rem;
	padding: 1rem 1rem;
	margin-top: 1rem;
}
.page-course-det .intro-sec .note .spot-box .ttl {
	font-weight: 700;
	line-height: 1.3;
	font-size: 1rem;
	position: relative;
	padding-left: 1.6rem;
}
.page-course-det .intro-sec .note .spot-box .ttl:before {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content:"";
	width: 22px;
	height: 22px;
	background: url("../img/common/icon_yellow_place.svg") no-repeat 0 0;
	background-size: cover;
}
.page-course-det .intro-sec .note .spot-box .copy {
	font-weight: 400;
	font-size: .9rem;
}
@media (min-width:768px){
	.page-course-det .intro-sec {
		padding: 3rem 0 4rem 0;
	}
	.page-course-det .intro-sec .wrap {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items:flex-start
	}
	.page-course-det .intro-sec .photo {
		width: 48%;
	}
	.page-course-det .intro-sec .note {
		width: 48%;
		margin-top: 0;
	}
}
@media (min-width:1050px){
	.page-course-det .intro-sec {
		padding: 3rem 0 7rem 0;
	}
	.page-course-det .intro-sec .note .head .category {
		width: 120px;
		height: 35px;
		line-height: 2.4;
		font-size: 1rem;
		margin-right: 1rem;
	}
	.page-course-det .intro-sec .note .head .time {
		padding: .1rem .5rem;
		font-size: 1.1rem;
	}
	.page-course-det .intro-sec .note .head .time .ttl {
		padding-left: 1.8rem;
	}
	.page-course-det .intro-sec .note .head .time .ttl:before {
		width: 26px;
		height: 26px;
	}
	.page-course-det .intro-sec .note .title {
		font-size: 2.2rem;
		margin-top: .8rem;
	}
	.page-course-det .intro-sec .note .copy {
		font-size: 1.15rem;
		margin-top: .5rem;
	}
	.page-course-det .intro-sec .note .spot-box {
		border-radius: 1rem;
		padding: 1.5rem 1.5rem;
		margin-top: 2rem;
	}
	.page-course-det .intro-sec .note .spot-box .ttl {
		line-height: 1.3;
		font-size: 1.3rem;
		padding-left: 1.8rem;
	}
	.page-course-det .intro-sec .note .spot-box .ttl:before {
		width: 26px;
		height: 26px;
	}
	.page-course-det .intro-sec .note .spot-box .copy {
		font-size: 1.15rem;
	}
}

/* flow
------------------------------*/
.page-course-det .flow-sec {
	padding: 0 0 3rem 0;
}
.page-course-det .flow-sec .m-inner {
	padding-top: 1px;/*listのネガティブマージン用*/
}
.page-course-det .flow-sec .list {
	list-style-type: none;
	margin-top: -1.5rem;
	position: relative;
}
.page-course-det .flow-sec .list:before {
	position: absolute;
	left: 50%;;
	top: 0;
	margin-left: -2px;
	display: block;
	content:"";
	width: 4px;
	height: 100%;
	border-left: 4px dashed #FFE109;
}
.page-course-det .flow-sec .list-item {
	position: relative;
}
.page-course-det .flow-sec .list-item.head {
	background-color: #FFE109;
	text-align: center;
	letter-spacing: 1px;
	font-weight: 700;
	font-size: 1.2rem;
	line-height: 2.4;
	border-radius: .5rem;
	margin-bottom: 2rem;
}
.page-course-det .flow-sec .list-item.box {
	border: 3px solid #FFE109;
	background-color: #fff;
	border-radius: 1rem;
	padding: 1rem 1rem;
	margin-bottom: 5rem;
}
.page-course-det .flow-sec .list-item.box:last-child {
	margin-bottom: 0;
}
.page-course-det .flow-sec .list-item.box .photo img {
	width: 100%;
	aspect-ratio: 4/2.8;
	object-fit: cover;
	border-radius: 1rem;
}
.page-course-det .flow-sec .list-item.box .name {
	border-bottom: 1px solid #D6D5CA;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 1px;
	font-size: 1.2rem;
	margin-top: .8rem;
	padding-bottom: .4rem;
}
.page-course-det .flow-sec .list-item.box .copy {
	font-weight: 400;
	font-size: .9rem;
	margin-top: .6rem;
}
.page-course-det .flow-sec .list-item.box .time {
	position: absolute;
	bottom: -3.8rem;
	left: 50%;
	margin-left: -12.5px;
	padding-left: 28px;
	font-size: 1.1rem;
	font-weight: 700;
}
.page-course-det .flow-sec .list-item.box:last-child .time {
	display: none;
}
.page-course-det .flow-sec .list-item.box .time:before {
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -12.5px;
	display: block;
	content:"";
	width: 25px;
	height: 25px;
	background-color: #FFE109;
	border-radius: 50%;
}
@media (min-width:768px){
	.page-course-det .flow-sec {
		padding: 0 0 3rem 0;
	}
	.page-course-det .flow-sec .list {
		margin-top: -1.8rem;
		position: relative;
	}
	.page-course-det .flow-sec .list-item.head {
		letter-spacing: 2px;
		font-size: 1.4rem;
		line-height: 2.4;
		margin-bottom: 3rem;
	}
	.page-course-det .flow-sec .list-item.box {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		border: 4px solid #FFE109;
		border-radius: 2rem;
		padding: 1.5rem 2rem;
		margin-bottom: 5rem;
	}
	.page-course-det .flow-sec .list-item.box .photo {
		width: 40%;
	}
	.page-course-det .flow-sec .list-item.box .photo img {
		border-radius: 1rem;
	}
	.page-course-det .flow-sec .list-item.box .note {
		width: 55%;
	}
	.page-course-det .flow-sec .list-item.box .time {
		position: absolute;
		bottom: -3.8rem;
		padding-left: 28px;
		font-size: 1.1rem;
	}
}
@media (min-width:1050px){
	.page-course-det .flow-sec {
		padding: 0 0 5rem 0;
	}
	.page-course-det .flow-sec .list {
		margin-top: -1.8rem;
		position: relative;
	}
	.page-course-det .flow-sec .list:before {
		
	}
	.page-course-det .flow-sec .list-item.head {
		letter-spacing: 3px;
		font-size: 1.8rem;
		line-height: 2.4;
		margin-bottom: 3rem;
	}
	.page-course-det .flow-sec .list-item.box {
		border: 5px solid #FFE109;
		border-radius: 2rem;
		padding: 2.5rem 3.5rem;
		margin-bottom: 7rem;
	}
	.page-course-det .flow-sec .list-item.box .photo {
		width: 40%;
	}
	.page-course-det .flow-sec .list-item.box .photo img {
		border-radius: 1.5rem;
	}
	.page-course-det .flow-sec .list-item.box .note {
		width: 55%;
	}
	.page-course-det .flow-sec .list-item.box .name {
		font-size: 1.8rem;
		margin-top: .8rem;
		padding-bottom: .6rem;
	}
	.page-course-det .flow-sec .list-item.box .copy {
		font-size: 1.1rem;
		margin-top: .8rem;
		line-height: 2;
	}
	.page-course-det .flow-sec .list-item.box .time {
		bottom: -5rem;
		padding-left: 28px;
		font-size: 1.4rem;
	}
}

/* info
------------------------------*/
.page-course-det .info-sec {
	padding: 3rem 0;
}
@media (min-width:1050px){
	.page-course-det .info-sec {
		padding: 5rem 0;
	}
}




/***********************************
 	管理画面エディタで入力するコンテンツ
************************************/
/*  管理画面からエディタで入力するコンテンツ
　　wordpressのネイティブCSSが適用されるようにする

.admin-edit
-----------------------------------------------*/
/* ワードプレス固有のCSSクラスの復元 */
.admin-edit .aligncenter { display: block; margin: 0 auto;}

.admin-edit .alignright { float: right; margin: 0 0 10px 20px;}

.admin-edit .alignleft { float: left; margin: 0 20px 10px 0;}

.admin-edit .wp-caption { border: 1px solid #ddd; text-align: left; background-color: #f3f3f3; padding: 5px; border-radius: 3px;}

.admin-edit .wp-caption img { margin: 0; padding: 0; border: 0 none;}

.admin-edit .wp-caption p.wp-caption-text { font-size: 14px; line-height: 1.5; margin: 0; padding: 0;}

/* reset.cssでリセットしたタグの再定義 */

.admin-edit strong { font-weight: bold; }

.admin-edit em { font-style: italic; }

.admin-edit h1 {
	font-size: 1.6em;
	line-height: 1.4;
	letter-spacing: 1px;
	font-weight: 600;
	border-bottom: 1px solid #000;
	padding-bottom: .3em;
	margin: 1em 0 .5em 0; 
}
.admin-edit h2 {
	font-size: 1.4em;
	line-height: 1.4;
	letter-spacing: 1px;
	font-weight: 600;
	background-color: #f5f5f5;
	padding: .5em .5em;
	margin: 1em 0 .5em 0; 
}
.admin-edit h3 {
	font-size: 1.25em;
	line-height: 1.4;
	letter-spacing: 1px;
	font-weight: 600;
	border-bottom: 1px dashed #000;
	padding-bottom: .5em;
	margin: 1em 0 .5em 0; 
}
.admin-edit h4 {
	font-size: 1.1em;
	line-height: 1.4;
	letter-spacing: 1px;
	font-weight: 600;
	margin: 1em 0 .5em 0; 
}
.admin-edit h5 {
	font-size: 1em;
	line-height: 1.4;
	letter-spacing: 1px;
	font-weight: 600;
	margin: 1em 0 .5em 0; 
}
.admin-edit h6 {
	font-size: 1em;
	line-height: 1.4;
	letter-spacing: 1px;
	font-weight: 500;
	margin: 1em 0 .5em 0; 
}
.admin-edit { font-size: 1em; }

.admin-edit ul,
.admin-edit ol { padding-left: 20px;}

.admin-edit blockquote { display: block; -webkit-margin-before: 1em; -webkit-margin-after: 1em; -webkit-margin-start: 40px; -webkit-margin-end: 40px;}

.admin-edit img { height: auto; width: auto; max-width: 100%;border: 1px solid #E8E8E8;}

.admin-edit table {
	margin: 1em 0;
}
.admin-edit table,
.admin-edit tr,
.admin-edit th,
.admin-edit td {
	border-width: thin;
}
.admin-edit th,
.admin-edit td {
	padding: 5px 5px;
	border: 1px solid #e7e7e7;
	font-size: 1em;
}
.admin-edit th {
	background-color: #f5f5f5;
	font-weight: bold;
}
.admin-edit a {
	text-decoration: underline;
}
.admin-edit:after {/*画像など回り込みの解除 clearfix*/
	content: "";
	clear: both; 
	display: block;
}

/* テーブルをSPで横スクロールさせる場合：tableを<div class="scroll">で囲む */
.admin-edit .scroll {
	overflow-x: auto;
}
/*tableにスクロールバーを追加*/
.admin-edit .scroll::-webkit-scrollbar {
	height: 5px;
}
/*tableにスクロールバーを追加*/
.admin-edit .scroll::-webkit-scrollbar-track {
	background: #F1F1F1;
}
/*tableにスクロールバーを追加*/
.admin-edit .scroll::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}
.admin-edit .scroll th,
.admin-edit .scroll td {
	white-space: nowrap;
}
@media (min-width:768px){
	.admin-edit th,
	.admin-edit td {
		padding: 10px 10px;
	}
	/* テーブルを横スクロールさせる場合 解除*/
	.admin-edit .scroll {
		overflow-x: hidden;
	}
	.admin-edit .scroll th,
	.admin-edit .scroll td {
		white-space: normal;
	}
}

