@charset "UTF-8";

main {
	color: #1a1a1c;
}

.fv {
	position: relative;
	width: 100%;
	height: 420px;
	background: url("/client_info/HARMONICK/view/userweb/ext/hojin-gift/various/images/fv-back.jpg") right top / contain no-repeat;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.fv-flex{
	width: 1200px;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
/*　左側　*/
.fv-catch {
	width: 50%;
	padding-left: 30px;
}
.btn-link{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	background-color: #fff;
	width: 230px;
	height: 50px;
	border-radius: 50px;
	margin-top: 20px;
	margin-right: 5px;
}
.btn-cta{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	background: #a8ff1c;
	width: 230px;
	height: 50px;
	border-radius: 50px;
	margin-top: 20px;
}
/*　右側　*/
.fv-catalog{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
	height: 420px;
}
/*カタログ*/
.fv-img {
	height: auto;
}
@media screen and (max-width: 767px) {
	.fv-img {
		width: 50%;
	}

	.fv-img:nth-child(1) {
		position: relative;
		left: 5%;
		bottom: -7.5%;
		z-index: 1;
	}

	.fv-img:nth-child(2) {
		position: relative;
		top: -7.5%;
		right: 5%;
	}
}

@media screen and (min-width: 768px) {
	.fv-img {
		width: 202px;
	}

	.fv-img:nth-child(1) {
		position: relative;
		left: 5%;
		bottom: -5%;
		z-index: 1;
	}

	.fv-img:nth-child(2) {
		position: relative;
		top: -5%;
		right: 5%;
	}
}
.yoto {
	width: 730px;
	margin: auto;
	margin-top: 40px;
	margin-bottom: 60px;
	background-color: #dcf0d2;
	padding: 20px;
	text-align: center;
}

.yoto-label{
	background-color: #42ae0c;
	border-radius: 5px;
	font-size: 15px;
	color: #fff;
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	.yoto-list {
		display: grid;
		gap: 1rem;
		grid-template-columns: repeat(2, 1fr);
	}

	.yoto-label {
		padding: 0.5em 1em;
	}
}

@media screen and (min-width: 768px) {
	.yoto-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 1rem;
	}

	.yoto-label {
		padding: 5px 15px;
		font-size: 1.125em;
	}
}

@media screen and (max-width: 45em) {
	.fv {
		height: auto;
		padding: 50px 0;
	}
	.fv-flex{
		width: 100%;
		flex-direction: column;
	}
	.fv-catch {
		width: 100%;
		padding: 0 20px;
		text-align: center;
	}
	.eds-u-display-inlineBlock{
		width: 90%;
	}
	.btn-link,.btn-cta {
		width: 100%;
		margin: 10px 0;
	}
	.fv-catalog{
		width: 100%
	}
	.yoto{
		width: 95%;
	}
}



/* 問合せ */
.contact-banner {
	position: relative;
	width: 100%;
	height: 140px;
	overflow: hidden;
	background: #38b900;
}

/* 左側の黄緑＋斜め部分 */
.contact-banner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: calc(50% - 240px);
	height: 100%;
	background: #a8ff1c;
	clip-path: polygon(
		0 0,
		calc(100% - 50px) 0,
		100% 50%,
		calc(100% - 50px) 100%,
		0 100%
	);
}

/* 文字・電話・ボタンを1200px内に固定 */
.contact-banner__inner {
	position: relative;
	z-index: 1;
	width: 1200px;
	height: 100%;
	margin: 0 auto;

	display: grid;
	grid-template-columns: 380px 440px 380px;
	align-items: center;
}

/* 左の文字 */
.contact-banner__title {
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	line-height: 1.4;
}

/* 電話番号・受付時間 */
.contact-banner__info {
	color: #fff;
}

.contact-banner__tel {
	
}

.contact-banner__hours {
	margin-top: 8px;
	font-size: 14px;
	font-weight: bold;
	white-space: nowrap;
}

/* お問合せボタン */
.contact-banner__button {
	width: 310px;
	height: 60px;
	margin: 0 auto;
	border-radius: 30px;
	background: #a8ff1c;
	display: flex;
	align-items: center;
	justify-content: center;

	text-decoration: none;
	font-size: 18px;
	font-weight: bold;
}
.fc-btn-txt {
	padding: 0 20px;
	font-size: 16px;
	font-weight: bold;
}

@media screen and (max-width: 45em) {
	.contact-banner {
		height: auto;
		padding: 0;
		background: #38b900;
	}

	/* PC用の三角形は消す */
	.contact-banner::before {
		display: none;
	}

	.contact-banner__inner {
		width: 100%;
		height: auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 0;
	}

	/* タイトル部分だけ黄緑 */
	.contact-banner__title {
		width: 100%;
		box-sizing: border-box;
		padding: 15px 10px;
		background: #a8ff1c;
		text-align: center;
	}

	.contact-banner__info {
		width: 100%;
		box-sizing: border-box;
		padding: 25px 10px 0;
		text-align: center;
	}

	.contact-banner__button {
		width: calc(100% - 40px);
		max-width: 310px;
		margin: 25px auto 30px;
	}
}

/*　掲載商品例　*/
.item {
	margin: auto;
	background-color: #dcf0d2;
	padding: 1.5em;
	padding-bottom: 6em;
}
.back_white {
	max-width: 900px;
	padding: 30px 50px;
	margin: auto;
	background-color: #fff;
	border-radius: 10px;
}
.item-box-wrap{
	display: flex;
	justify-content: space-between;
	max-width: 780px;
	margin: 30px auto;
}
.item-box{
	width: 380px;
}
.item-flex{
	display: flex;
	justify-content: space-between;
}
.eds-u-border{
	border: 1px solid #a8a8a8 !important;
}

@media screen and (max-width: 45em) {
	.back_white {
		padding: 20px 40px;
	}
	.item-box-wrap{
		flex-direction: column;
	}
	.item-box{
		width: 100%;
		margin-bottom: 20px;
	}
	.item-img{
		width: 30%;
		height: auto;
	}
}


/*　コース一覧　*/
.course{
	width: 900px;
	margin: auto;
	margin-bottom: 50px;
}
.course-list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px 20px;
}
.course-box{
	width: 200px;
}
.course-cta{
	background-color: #d2461e;
	color: #fff;
	font-weight: 500;
	border-radius: 5px;
	height: 40px;
}
.course-cta:hover{
	color: #fff;
	opacity: 0.7;
}
.course-link{
	border: 1px solid #666;
	color: #222;
	font-weight: 500;
	border-radius: 5px;
	height: 40px;
}
.course-link:hover{
	color: #222;
	opacity: 0.7;
}
@media screen and (max-width: 45em) {
	.course{
		width: 100%;
	}
	.course-list {
		grid-template-columns: repeat(2, 1fr);
		gap:40px 10px;
		padding: 0 10px;
	}
	.course-box{
		width: 100%;
	}
}

.h-contact__btn--reverse{
	display: none;
}
