/* specialbanner
----------------------------------------------- */

.specialbanner {
	margin: auto;
	width: 960px;
}
.specialbanner__lists {
	padding: 20px 0 0;
}
.specialbanner__list {
	margin: 50px 0 0;
}
.specialbanner a {
	display: block;
}
.specialbanner img {
	width: 100%;
	height: auto;
}


/* promotion
----------------------------------------------- */

.promotion__item-note,
.promotion__item-special,
.promotion__item-onlineshop {
	display: block;
}
.promotion__item-note {
	order: 1;
}
.promotion__item-special {
	order: 2;
}
.promotion__item-onlineshop {
	order: 3;
}


/* pc
----------------------------------------------- */

@media print, screen and (min-width:1000px) {


	/* cm
	----------------------------------------------- */

	.cm {
		position: relative;
		padding: 100px 0 15px;
	}
	.cm__inner {
		position: relative;
		margin: auto;
		width: 960px;
		z-index: 2;
	}
	.cm__title {
		font-size: 24px;
		letter-spacing: 0.04em;
		line-height: 34px;
	}

	.cm__items {
		margin: 12px 0 0;
	}
	.cm__item {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 24px 0 38px;
	}
	.cm__image {
		width: 480px;
	}
	.cm__summary {
		width: 440px;
	}
	.cm__label {
		font-family: "IwaNGoPro-Th";
		font-size: 20px;
		letter-spacing: 0.04em;
	}
	.cm__text {
		margin: 18px 0 0;
		font-size: 15px;
		letter-spacing: 0.04em;
		line-height: 30px;
	}
	.cm__text--caution {
		display: flex;
		font-size: 13px;
		line-height: 23px;
	}
	.cm__text--caution span {
		margin: 0 5px 0 0;
		white-space: nowrap;
	}
	.cm__text--caution + .cm__text--caution {
		margin-top: 0;
	}
	.cm__buttons {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 318px;
	}
	.cm__button,
	.cm__button:hover {
		display: inline-block;
		position: relative;
		margin: 25px 0 0;
		background: #4a5055;
		cursor: pointer;
	}
	.cm__button span {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		width: 147px;
		height: 48px;
		color: #fff;
		font-family: "IwaNGoPro-Th";
		font-size: 17px;
		letter-spacing: 0.02em;
		z-index: 1;
		transition: color 0.25s;
	}
	.cm__button:hover span {
		color: #000;
	}
	.cm__button:before {
		display: block;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		background: #c3fa64;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform 0.25s cubic-bezier(0.77, 0, 0.175, 1);
	}
	.cm__button:hover:before {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	.cm__button:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		right: 18px;
		right: 10px;
		margin: -8px 0 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 8px 0 8px 12px;
		border-color: transparent transparent transparent #fff;
		transition: border-color 0.25s;
	}
	.cm__button:hover:after {
		border-color: transparent transparent transparent #000;
	}


	/* graphic
	----------------------------------------------- */

	.graphic {
		margin: 40px 0;
		padding: 150px 0 110px;
		background-image: url(../images/wave_mask_top_pc.png), url(../images/wave_mask_bottom_pc.png);
		background-position: center top, center bottom;
		background-repeat: repeat-x;
		background-size: 1400px 100px;
		background-color: #f4f6f7;
	}
	.graphic__inner {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: auto;
		max-width: 960px;
	}
	.graphic__title {
		width: 280px;
		font-family: "Oswald";
		font-size: 54px;
	}
	.graphic__images {
		display: flex;
		margin: 0 0 0 -10px;
		font-size: 0;
	}
	.graphic__image {
		margin: 0 0 0 10px;
		max-width: 330px;
	}
	.graphic__image img {
		width: 100%;
		height: auto;
	}


	/* hexagon
	----------------------------------------------- */

	.hexagon-01 {
		top: 170px;
		right: 50%;
		margin: 0 -20px 0 0;
	}
	.hexagon-02 {
		top: 160px;
		left: 50%;
		margin: 0 0 0 -20px;
		transform: scale(-1, 1);
	}
	.hexagon-03 {
		top: -100px;
		right: 50%;
		margin: 0 -20px 0 0;
	}


}


/* mobile
----------------------------------------------- */

@media only screen and (max-width:999px) {


	/* specialbanner
	----------------------------------------------- */

	.specialbanner {
		width: auto;
		max-width: 500px;
	}
	.specialbanner__lists {
		padding: 35px 0 0;
	}
	.specialbanner__list {
		margin: 25px 0 0;
	}
	.specialbanner a {
		margin: 0 30px;
	}


	/* cm
	----------------------------------------------- */

	.cm {
		position: relative;
		margin: 65px 0 0;
	}
	.cm__inner {
		position: relative;
		margin: auto;
		max-width: 640px;
		z-index: 2;
	}
	.cm__title {
		margin: 0 15px;
		font-size: 24px;
		letter-spacing: 0.04em;
		line-height: 34px;
	}

	.cm__items {
		margin: 0 15px;
	}
	.cm__item {
		padding: 19px 0 27px;
	}
	.cm__image img {
		width: 100%;
		height: auto;
	}

	.cm__label {
		margin: 24px 0 0;
		font-family: "IwaNGoPro-Th";
		font-size: 15px;
		letter-spacing: 0.04em;
	}
	.cm__text {
		margin: 10px 0 0;
		font-size: 14px;
		letter-spacing: 0.04em;
		line-height: 27px;
	}
	.cm__text--caution {
		display: flex;
		font-size: 12px;
		line-height: 22px;
	}
	.cm__text--caution span {
		margin: 0 5px 0 0;
		white-space: nowrap;
	}
	.cm__text--caution + .cm__text--caution {
		margin-top: 0;
	}
	.cm__buttons {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 2px 0 0;
	}
	.cm__button {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		margin: 10px 0 0;
		width: calc(50% - 5px);
		height: 45px;
		color: #fff;
		font-family: "IwaNGoPro-Th";
		font-size: 18px;
		letter-spacing: 0.02em;
		background: #4a5055;
		cursor: pointer;
	}
	.cm__button:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		right: 8px;
		margin: -7.5px 0 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 8px 0 8px 12px;
		border-color: transparent transparent transparent #fff;
	}


	/* graphic
	----------------------------------------------- */

	.graphic {
		margin: 25px 0;
		padding: 55px 0;
		background-image: url(../images/wave_mask_top_sp.png), url(../images/wave_mask_bottom_sp.png);
		background-position: center top, center bottom;
		background-repeat: repeat-x;
		background-size: 375px 20px;
		background-color: #f4f6f7;
	}
	.graphic__inner {
		margin: auto;
		max-width: 640px;
		text-align: center;
	}
	.graphic__title {
		width: auto;
		font-family: "Oswald";
		font-size: 42px;
	}
	.graphic__images {
		margin: 0 55px;
		padding: 20px 0 0;
	}
	.graphic__image {
		margin: 25px 0 0;
	}
	.graphic__image img {
		width: 100%;
		height: auto;
	}


	/* hexagon
	----------------------------------------------- */

	.hexagon-01 {
		top: 45%;
		left: -25%;
	}
	.hexagon-02 {
		display: none;
	}
	.hexagon-03 {
		top: 18%;
		right: -25%;
		transform: scale(-1, 1);
	}


}

