@charset "utf-8";
:root{
    --content-width-sp: 90vw;
	--default-color-black: #2c2a29;
	--bg-color-gray: #f4f4f4;
	--content-color-navy: #1d1e78;
	--content-color-purple: #663399;	
	--content-color-wine: #790d28;
	--content-color-blue: #13569a;
	--content-color-green: #1e5904;
	--content-color-red: #cf000d;
	--content-border_yellow: linear-gradient(transparent 70%, #fff951 0%);
}
.contents {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 3.6vw;
	line-height: 1.5;
	color: var(--default-color-black);
	a {
		text-decoration: none;
	}
	img {
        width: 100%;
		height: auto;
    }
	.inner {
        width: var(--content-width-sp);
		max-width: 100%;
        margin: 0 auto;
	}
	.f-mini {
		font-size: 2.8vw;
	}
	.f-small {
		font-size: 0.8em;
	}
	.red {
		color: var(--content-color-red);
	}
}
.nosp{
  display: none
}
/*----------------------------------------------
	メインビジュアル
------------------------------------------------*/
#mainvisual {
	width: 100%;
	height: 110vw;
	text-align: center;
	overflow: hidden;
	position: relative;

	.bg-img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-size: cover;
		background-position: center;
		opacity: 0;
		animation: mv-animation 16s infinite;
	}
	.img1 { background-image: url("../images/sp/main-bg1.jpg"); animation-delay: 0s; }
	.img2 { background-image: url("../images/sp/main-bg2.jpg"); animation-delay: 4s; }
	.img3 { background-image: url("../images/sp/main-bg3.jpg"); animation-delay: 8s; }
	.img4 { background-image: url("../images/sp/main-bg4.jpg"); animation-delay: 12s; }
	
	.title {
		position: absolute;
		top: 5vw;
		right: 0;
		left: 0;
		margin: 0 auto;
		img {
			width: 94vw;
		}
	}
}

@keyframes mv-animation {
  0%   { opacity: 0;} 
  10%  { opacity: 1;}
  33%  { opacity: 1;}
  43%  { opacity: 0;}
  100% { opacity: 0;}
}

/*----------------------------------------------
	ナビ
------------------------------------------------*/
#navi {
	width: 100%;
	ul {
		width: 100%;
		background-color: #fff;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		text-align: center;
		gap: 1px;
		li {
			background: var(--content-color-navy);
			&:nth-child(1),&:nth-child(2) {
				width: calc((100% - 1px) / 2);
			}
			&:nth-child(3),&:nth-child(4),&:nth-child(5) {
				width: calc((100% - 2px) / 3);
			}
			a {
				display: block;
				padding: 5vw 1vw;
				font-size: 3.4vw;
				font-weight: 500;
				color: #fff;
				position: relative;
				&::after {
					position: absolute;
					right: 1vw;
					font-family: "Material Symbols Rounded";
					font-weight: 400;
					content: "\e313";
				}
			}
		}
	}
}

/*ナビ固定時*/
.fix-navi:has(.fixed) {
	height: 13vw;
}
#navi.fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	ul {
		flex-wrap: nowrap;
		li {
			width: 100%;
			font-size: 2.8vw;
			line-height: 1.3;
			a {
				padding: 1.5vw 0 3.5vw;
				font-size: 3.0vw;
				height: 100%;
				&::after {
					right: 0;
					left: 0;
					bottom: 0;
					margin: 0 auto;
					line-height: 1.0;
				}
			}
		}
	}
}

/*----------------------------------------------
	導入
------------------------------------------------*/
#lead {
	width: 100%;
	background-image: url("../images/lead-line.png"),url("../images/lead-bg.jpg");
	background-repeat: no-repeat,repeat;
	background-position: bottom center,left top;
	background-size: 300%, 256px;
	padding: 10vw 0;
	h2 {
		font-size: 6.5vw;
		text-align: center;
		line-height: 1.0;
		font-weight: 900;
		margin-bottom: 7vw;
		&::before,
		&::after {
			content:"";
			display: inline-block;
			width: 15vw;
			height: 4.5vw;
			background: url(../images/kazari-kumo.svg) no-repeat;
			background-size: contain;
			margin: 0 2vw;
		}
		&::after {
			transform: scaleX(-1);
		}
	}
	.item-box {
		width: 80vw;
		margin: 0 auto;
		li {
			width: 100%;
			margin-bottom: 6vw;
			.ph {
				text-align: center;
				margin-bottom: 3vw;
				img {
					width: 58vw;
					border-radius: 50%;
				}
			}
			dt {
				text-align: center;
				font-size: 6.0vw;
				font-weight: 700;
				margin-bottom: 2vw;
			}
			dd {
			}
		}
	}
}

/*----------------------------------------------
	チャーターについて
------------------------------------------------*/
#about {
	width: 100%;
	padding: 10vw 0;
	background: url("../images/sp/map.png") no-repeat top 104vw center / 100%;
	h2 {
		text-align: center;
		font-size: 4.6vw;
		line-height: 1.3;
		font-weight: 700;
		margin-bottom: 5vw;
	}
	.schedule {
		width: 100%;
		background-color: #faf0fa;
		border:solid 1px #ccc;
		padding: 3vw;
		margin-bottom: 3vw;
		h3 {
			font-size: 4.0vw;
			font-weight: 700;
			text-align: center;
			margin-bottom: 1vw;
			&::before {
				display: block;
				font-family: "Material Symbols Rounded";
				font-weight: 400;
				content: "\e539";
				font-size: 6.0vw;
				line-height: 1.0;
			}
		}
		dl {
			width: 100%;
			background-color: #fff;
			margin-bottom: 2vw;
			dt {
				background-color: var(--content-color-purple);
				color: #fff;
				text-align: center;
			}
			dd {
				padding: 2vw;
				span {
					background-color: #eee;
					display: inline-block;
					padding: 0 3vw;
					margin-right: 1vw;
					border-radius: 3vw;
				}
			}
		}
		.note {
			font-size: 3.0vw;
		}
	}
	.detail {
		.ph {
			width: 38vw;
			margin-bottom: 3vw;
			li {
				margin-bottom: 2vw;
			}
		}
		.text {
			margin-bottom: 3vw;
			dt {
				font-size: 5.0vw;
				line-height: 1.8;
				font-weight: 700;
			}
			dd {
				width: 100%;
				text-align: justify;
			}
		}
	}
	.seat {
		li {
			background-color: #fff;
			border: solid 0.5vw var(--content-color-purple);
			text-align: center;
			padding-bottom: 2vw;
			margin-bottom: 2vw;
			h3 {
				background-color: var(--content-color-purple);
				color: #fff;
				font-size: 3.8vw;
				margin-bottom: 2vw;
			}
			img {
				width: 86vw;
			}
		}
	}
}

/*-------------------------------------------------
ツアーポイント共通事項
---------------------------------------------------*/
#point {
	width: 100%;
	background-color: var(--bg-color-gray);	
	padding: 0 0 10vw;
	.inner {
		width: 100%;
		&:not(:last-child) {
			margin-bottom: 10vw;
		}
	}
	h2 {
		background: var(--content-color-wine) url(../images/pattern-kumo.png) repeat top left / 90px;
		text-align: center;
		color: #fff;
		font-size: 6vw;
		font-weight: 900;
		padding: 3vw 0;
		margin-bottom: 7vw;
	}
	h3 {
		text-align: center;
		color: var(--content-color-wine);
		font-size: 7.5vw;
		letter-spacing: 0.4em;
		line-height: 1.0;
		font-weight: 900;
		margin-bottom: 5vw;
		&::before,&::after {
			content: "";
			display: inline-block;
			width: 8vw;
			height: 8vw;
			background: url(../images/kazari-hishi.svg) no-repeat;
			background-size: contain;
			margin: 0 3.5vw 0 0;
			transform: translateY(1vw);
		}
		&::after {
			margin: 0;
		}
	}
	.title-text {
		width: var(--content-width-sp);
		margin: 0 auto 5vw;
		font-size: 4.0vw;
		font-weight: 700;
	}
}

/*----------------------------------------------
	体験
------------------------------------------------*/
#point .taiken-box {
	width: 100%;
	li {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin-bottom: 7vw;
		img {
			width: 55vw;
			height: 45vw;
			object-fit: cover;
			li:nth-child(2) & {
				order:2;
			}
		}
		dl {
			width: 42vw;
			padding: 0 4vw 0 0;
			dt {
				font-size: 5.0vw;
				font-weight: 900;
				border-left: solid 1.5vw var(--content-color-wine);
				line-height: 1.0;
				padding-left: 2vw;
				margin-bottom: 2vw;
			}
			dd {
				span {
					display: block;
					font-size: 2.8vw;
					margin-top: 2vw;
				}
			}
			li:nth-child(2) & {
				order:1;
				padding: 0 0 0 4vw;
			}
		}
	}
}
#point .train {
	width: var(--content-width-sp);
	margin: 0 auto;
	border: solid 1vw #ccc;
	padding: 2vw 5vw 5vw;
	position: relative;
	h4 {
		position: absolute;
		left: 3vw;
		top: 3vw;
		width: 22vw;
	}
	dl {
		margin-bottom: 3vw;
		dt {
			font-size: 5.0vw;
			font-weight: 700;
			color: var(--content-color-blue);
			padding: 3vw 0 0 26vw;
			min-height: 22vw;
		}
		dd {
			font-size: 3.8vw;
		}
	}
	.ph img {
		width: 100%;
		height: 48vw;
		object-fit: cover;	
	}
}
/*----------------------------------------------
	観光
------------------------------------------------*/
#point .kanko-box {
	display: flex;
	width: 100%;
	overflow-x: scroll;
	overflow-y: hidden;
	margin-bottom: 7vw;
	li {
		width: 64vw;
		margin-right: 2vw;
		img {
			width: 64vw;
			max-width: 64vw;
		}
		span {
			display: block;
			text-align: center;
		}
		&:first-child {
			margin-left: 5vw;
		}
	}
}

#point .nadam {
	width: var(--content-width-sp);
	margin: 0 auto;
	padding: 5vw;
	background-image:
		url(../images/kazari-waku-1.svg),
		url(../images/kazari-waku-2.svg),
		url(../images/kazari-waku-3.svg),
		url(../images/kazari-waku-4.svg),
		url(../images/nadam-bg.jpg);
	background-position:
		left 1vw top 1vw,
		right 1vw top 1vw,
		left 1vw bottom 1vw,
		right 1vw bottom 1vw,
		center center;
	background-size: 12vw 12vw,12vw 12vw,12vw 12vw,12vw 12vw,100px 100px;
	background-repeat: no-repeat,no-repeat,no-repeat,no-repeat,repeat;
	.text-area {
		width: 100%;
		margin-bottom: 3vw;
		h4 {
			width: 74vw;
			margin: 0 auto 3vw;
		}
	}
	.ph-slider {
		width: 74vw;
		margin: 0 auto;
	}
}

/*----------------------------------------------
	宿泊
------------------------------------------------*/
.inner-stay {
	width: 100%;
	margin-bottom: 10vw;
	.title-text {
		.dx {background-color: var(--content-color-green);color: #fff;}
		.hs {background-color: var(--content-color-blue);color: #fff;}
	}
	.title-area {
		width: var(--content-width-sp);
		margin: 0 auto;
		display: flex;
		gap: 3vw;
		margin-bottom: 2vw;
		h4 {
			width: 26vw;
		}
		p {
			flex: 1;
			font-size: 4.0vw;
			line-height: 1.3;
			font-weight: 500;
			.f-small {
				display: inline-block;
				padding-top: 1vw;
			}
		}
	}
	#dx {
		margin-bottom: 10vw;
		.ph-main {
			width: 100%;
			background: url(../images/sp/stay-dx-main.jpg) no-repeat top center / 100%;
			padding-top: 53vw;
			margin-bottom: 2vw;
			p {
				width: 100%;
				background-color: var(--content-color-green);
				padding: 3vw 5vw;
				text-align: justify;
				color: #fff;
			}
		}
		.ph-list {
			width: var(--content-width-sp);
			margin: 0 auto;
			display: flex;
			flex-wrap: wrap;
			gap: 2vw;
			li {
				width: calc((100% - 2vw) / 2);
				img {
					width: 100%;
				}
			}
		}
	}
	#hs {
		.ph-main {
			width: 100%;
			background: url(../images/sp/stay-hs-main.jpg) no-repeat top center / 100%;
			padding-top: 53vw;
			margin-bottom: 2vw;
			p {
				width: 100%;
				background-color: var(--content-color-blue);
				padding: 3vw 5vw;	
				text-align: justify;
				color: #fff;
			}
		}
		.ph-list {
			width: var(--content-width-sp);
			margin: 0 auto 5vw;
			display: flex;
			flex-wrap: wrap;
			gap: 2vw;
			li {
				width: calc((100% - 2vw) / 2);
				img {
					width: 100%;
				}
				h5 {
					font-size: 3.8vw;
					font-weight: 700;
				}
				p {
					font-size: 3.2vw;
				}
			}
		}
		.hoteldata {
			width: var(--content-width-sp);
			margin: 0 auto;
			dl {
				background-color: #fff;
				border: solid 1px #ccc;
				margin-bottom: 5vw;
				dt {
					width: 30vw;
					background-color: var(--default-color-black);
					color: #fff;
					font-size: 3.2vw;
					line-height: 1.3;
					text-align: center;
				}
				dd {
					font-size: 3.2vw;
					padding: 1vw;
				}
			}
			.mitori {
				text-align: center;
				img {
					width: 80vw;
				}
			}
		}
	}
	.movie {
		width: 90vw;
		margin: 7vw auto 0;
		iframe {
			width: 100%;
			height: 50.5vw;
			border: none;
		}
	}
}
/* 動画コンテナの装飾 */
.youtube-facade {
  position: relative;
  width: 100%;
  max-width: 560px; /* 元のiframeの幅に合わせて調整 */
  aspect-ratio: 16 / 9;
  cursor: pointer;
  margin: 0 auto;
  overflow: hidden;
}

.youtube-facade img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 中央の再生ボタン（CSSで描画） */
.youtube-facade .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 48px;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 10px;
  transition: background-color 0.3s;
}

/* 再生ボタンの三角マーク */
.youtube-facade .play-button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-width: 10px 0 10px 20px;
  border-color: transparent transparent transparent #fff;
}

/* ホバー時にYouTube風の赤色にする */
.youtube-facade:hover .play-button {
  background-color: #ff0000;
}
/*----------------------------------------------
	食事
------------------------------------------------*/
#point .food-box {
	width: var(--content-width-sp);
	margin: 0 auto;
	&:not(:last-child) {
		margin-bottom: 7vw;
	}
	.text-area {
		width: 100%;
		display: flex;
		align-items: flex-start;
		gap: 3vw;
		margin-bottom: 2vw;
		
		h4 {
			display: inline-block;
			width: 26vw;
			color: #fff;
			font-size: 3.2vw;
			font-weight: 700;
			text-align: center;
			border-radius: 4px;
			padding: 3vw 1vw;
			&.dx {background-color: var(--content-color-green);}
			&.hs {background-color: var(--content-color-blue);}
		}
		p {
			flex: 1;
			font-size: 4.0vw;
			line-height: 1.3;
			font-weight: 500;
			.f-mini {
				display: block;
				margin-top: 1vw;
			}
		}
	}
	.ph-slider {
	}
}
/*----------------------------------------------
スライダー調整
------------------------------------------------*/
.ph-slider {
	margin-bottom: 0;
	
	.slick-prev, .slick-next {
		z-index: 100;
		top:45%;
	}
	.slick-prev {
		left: -5%;
	} 
	.slick-next {
		right: -5%;
	}
	.slick-prev:before,.slick-next:before,.slick-prev::before,.slick-next::before {		
		color: #fff;
		font-size: 16px;
	}
	.slick-dots {
		position: static;
	}
	.slick-dots li button:before {
		font-size: 12px;
		color: #acacac;
	}
	.slick-dots li.slick-active button:before {
		color: #000;
	}
}
/*----------------------------------------------
	支店
------------------------------------------------*/
#point .shiten {
	width: var(--content-width-sp);
	margin: 0 auto;
	.ph {
		margin-bottom: 3vw;
		img {
			width: 100%;
			height: 50vw;
			object-fit: cover;
		}
	}
	.text {
		dt {
			font-size: 6.0vw;
			text-align: center;
			font-weight: 700;
			margin-bottom: 2vw;
			span {
				display: block;
				font-size: 0.6em;
			}
		}
	}
}

/*-----------------------------------------
ツアー
-------------------------------------------*/
#tour {
	width: 100%;
	background-color: #fff;
	padding: 0 0 10vw;
	h2 {
		background: var(--content-color-red) url(../images/pattern-kumo.png) repeat top left / 90px;
		text-align: center;
		color: #fff;
		font-size: 6vw;
		font-weight: 900;
		padding: 3vw 0;
		margin-bottom: 7vw;
	}
	h3 {
		text-align: center;
		font-size: 6.2vw;
		font-weight: 900;
		margin-bottom: 5vw;
		&::before {
			display: block;
			font-family: "Material Symbols Rounded";
			font-weight: 400;
			content: "\e539";
			font-size: 8vw;
			line-height: 1.0;
		}
	}
	.schedule {
		text-align: center;
		margin-bottom: 5vw;
		.box {
			min-width: 70vw;
			display: inline-block;
			background-color: #fff;
			border: solid 1px var(--default-color-black);
			font-size: 3.8vw;
			line-height: 1.3;
			font-weight: 700;
			padding: 1vw 2vw;
			border-radius: 4px;
		}
    }
	.tourpoint {
		width: 100%;
		margin-bottom: 5vw;
		background-color: #fff9d9;
		border-radius: 8px;
		padding: 3vw;
		dt {
			width: 32vw;
			margin-bottom: 1vw;
		}
		dd {
			font-size: 3.5vw;
			line-height: 1.3;
			font-weight: 600;
			position: relative;
			padding-left: 6vw;
			&::before {
				font-family: "Material Symbols Rounded";
				font-weight: 400;
				content: "\e834";
				font-size: 5vw;
				color: var(--content-color-red);
				position: absolute;
				top: -0.5vw;
				left: 0;
			}
			&:not(:last-child) {
				margin-bottom: 1vw;
			}
		}
	}
	.btn-more {
		width: 84vw;
		margin: 5vw auto 0;
		text-align: center;
		a {
			display: block;
			background-color: var(--content-color-navy);
			border-radius: 10vw;
			font-size: 3.6vw;
			font-weight: 700;
			padding: 3vw 0;
			color: #fff;
			position: relative;
			&::after {
				font-family: "Material Symbols Rounded";
				font-weight: 400;
				content: "\e5e1";
				font-size: 4vw;
				position: absolute;
				right: 3vw;
				top: 2.6vw;
			}
		}			
	}
}
/*-----------------------------------------
商品カセット調整
-------------------------------------------*/
#tour .ui-static-grid-list {
	margin-bottom: 3vw;
	a {
		background-color: #fff;
	}
	.product-text {
		padding: 3vw 4vw;
	}
	.ui-static-product-card-summary {
		.note {
			display: block;
			font-size: 12px;
			line-height: 1.3;
		} 
	}
	.ui-static-price-container {
		margin-top: 16px;
		padding: 0;
		.ui-static-price-info {
			display: block;
		}
	}
}

/*----------------------------------------------
	基本情報
------------------------------------------------*/
#info {
	width: 100%;
	background-color: #f4f4f4;
	padding: 10vw 0;
	h2 {
		text-align: center;
		font-size: 5.0vw;
		font-weight: 700;
		margin-bottom: 5vw;
	}
	h3 {
		width: 100%;
		font-size: 3.8vw;
		font-weight: 700;
		line-height: 8vw;
		padding-left: 10vw;
		background-repeat: no-repeat;
		background-position: left center;
		background-size: 8vw;
		margin: 3vw 0 2vw;
		.note & {background-image: url("../images/icon-note.svg");}
		.qa & {background-image: url("../images/icon-qa.svg");}
		.baggage & {background-image: url("../images/icon-baggage.svg");}
	}
	.detail {
		width: 100%;
		dl {
			width: 100%;
			border-bottom: solid 1px #222;
			padding: 2vw;
			display: flex;
			justify-content: space-between;
			align-items: center;
			background-repeat: no-repeat;
			background-position: left center;
			background-size: 8vw;
			&.lang {background-image: url("../images/icon-language.png");}
			&.time {background-image: url("../images/icon-time.png");}
			&.money {background-image: url("../images/icon-money.svg");}
			&.flight {background-image: url("../images/icon-flight.svg");}
			&.climate {background-image: url("../images/icon-climate.svg");}			
			dt {
				width: 25%;
				font-size: 3.4vw;
				line-height: 1.3;
				font-weight: 700;
				padding-left: 8vw;
			}
			dd {
				width: 73%;
				font-size: 3.4vw;
			}
		}
	}
	.note {
		ul li {
			font-size: 3.4vw;
			padding-left: 4vw;
			position: relative;
			&::before {
				content: "・";
				position: absolute;
				left: 0;
				top: 0;
			}
		}
	}
	.qa {
		font-size: 3.4vw;
		dt {
			background-color: #666;
			color: #fff;
			padding: 1.5vw 3vw;
			position: relative;
			margin-top: 1vw;
			&::after {
				font-family: "Material Symbols Rounded";
				font-weight: 400;
				font-size: 5.0vw;
				content: "\e313";
				color: #fff;
				position: absolute;
				right: 2vw;
				top: 0;
			}
			&.active::after {
				content: "\e316";
			}
		}
		dd {
			display: none;
			padding: 1vw 3vw 2vw;
			position: relative;
		}
	}
	.baggage {
		ul {
			display: flex;
			flex-wrap: wrap;
			font-size: 3.4vw;
			li {
				margin-right: 3vw;
				&::before {
					content: "・";
				}
				span {
					font-size: 0.8em;
				}
			}
		}
	}
}
/*------------------------------------------------
	円バナー
--------------------------------------------------*/
.fix-bnr {
    display: none;
    position: fixed;
    right: 5px;
	bottom: 70px;
    z-index: 100;
	a {
		display: block;
		img {
			width: 100px;
			height: 100px;
		}
	}
	p.close {
		position: absolute;
		right: 5px;
		top: 5px;
		a {
		  display: block;
			span {
				font-size: 14px;
				color: #333;
				background-color: #fff;
				border-radius: 50%;
				padding: 3px;
			}
		}
	}
}


/*-----------------------------------------
検索BOX
-----------------------------------------*/
#searchArea {
  padding: 5vw 0 0;
}

/*------------------------------------------------
        LINEお友達登録ボタン
--------------------------------------------------*/
.line-wrap-simple {
    padding: 0;/*ページによって調整*/
}
.line-wrap-detail {
    padding: 10vw 0 5vw;/*ページによって調整*/
	background-color: #fff;
}
.line-inner {
    width: 94vw;
    margin: 0 auto;
    text-align: center;
    line-height: 1.5;
}
.line-wrap-detail .line-inner {
    background: #fcfff6;/*ページによって調整*/
    border: solid 1px #d3d3d3;
}
.line-inner .fukidashi {
    font-size: 4.1vw;
    font-weight: bold;
    margin-bottom: 2vw;
}
.line-inner .head {
    background-color: #06C755;
    padding: 2vw 0;
    color: #fff;
    font-size: 4.3vw;
    font-weight: bold;
}
.line-inner .textarea {
    padding: 4vw 2vw 2vw;
}
.line-inner .btnarea {
    padding: 2vw 2vw 5vw;
}
.line-inner .text1 {
    font-size: 3.6vw;
    line-height: 1.5;
}
.line-inner .text1 span {
    display: inline-block;
    font-weight: bold;
    color: #DF0D00;
}
.line-inner .text2 {
    font-size: 4.1vw;
    font-weight: bold;
    background: linear-gradient(transparent 60%, #fff231 0%);
    line-height: 1.8;     
    display: inline-block;
}
.line-button {
    margin: 0 auto;
}
.line-wrap-simple .line-button {width: 90vw;}
.line-wrap-detail .line-button {width: 80vw;}

.line-button a {
    display: block;
    color: #fff;
    font-size: 3.5vw;
    font-weight: bold;
    border-radius: 8vw;
    box-shadow: 0px 3px 0px 0 rgba(0, 0, 0, .14);
    background: url(/kansai/images/icon/icon-linekansai.png) no-repeat;
    background-size: 12vw;
    background-position: 3vw;
    background-color: #06C755;
    padding: 2.4vw 4vw 1.8vw 16vw;
    position: relative;
    text-decoration: none;
}
.line-button a span.small {
    display: block;
    font-size: 2.8vw;
    font-weight: normal;
}
.line-button a span.strong {
    display: block;
}
.line-button a span.strong::after {
    font-family: "Material Symbols Rounded";
    font-weight: 400;
    content: "\eaaa";
    font-size: 4.5vw;
    margin-left: 1.4vw;
        position: relative;
        top: 0.8vw;
}
.line-button a span.line-friend {
    font-size: 1.3em;
    color: #fff231;
    padding: 0 0.5vw;
}

/*------------------------------------------------
	クローズ
--------------------------------------------------*/
#close {
	background-color: #efefef;
    padding: 20vw 0;
    text-align: center;
    font-size: 4.0vw;
    line-height: 1.6em;
}
#close a {
    color: #1a7acd;
}