		.modal {
			font-family: YakuHanMP, "Noto Sans JP", sans-serif;
			position: relative;
			overflow-y: hidden;
		}
		.serif {
			font-family: "Noto Serif JP", serif;
			font-optical-sizing: auto;
			font-weight: 500;
			font-style: normal;
		}
		@media screen and (max-width: 719px) {
			.modal {
				padding: 24px 16px 16px 16px;
			}
			.modal .photo {
				width: 100%;
				max-height: 440px;
				margin: 0;
				position: relative;
				overfllow: hidden;
			}
			.modal .photo.no-slideshow {
				width: 350px;
				margin-bottom: 28px;
				height: auto;
			}
			.modal .photo img {
				width: 100%!important;
			}
			.modal .slick-list {
				width: 100%!important;
			}
			.modal .popup-text {
				width: 100%;
				margin: 0 auto;
				position: relative;
				padding-bottom: 8vw;
			}
			.modal .close-button {
				position: absolute;
				width: 32px;
				top: 0;
				right: 0;
			}
			.modal h4 {
				font-size: 4.8vw;
				transform: scale(1, 1.5);
				margin-bottom: 6.4vw;
				font-weight: 600;
			}
			.modal .popup-description {
				font-size: 4.0vw;
				margin-bottom: 4.8vw;

			}
			.modal .product_info {
				font-size: 4.0vw;
				font-weight: 600;
				margin-bottom: 4.8vw;
			}
			.modal .remarks {
				font-size: 3.2vw;
				margin-bottom: 4.8vw;
			}
			.modal .shopinfo {
				font-size: 3.5vw;
				line-height: 6.4vw;
				margin-bottom: 4.8vw;
			}
			.modal .shopinfo dl {
				display: flex;
				align-items: flex-start;
				align-items: space-between;
			}
			.modal .shopinfo dt {
				display: flex-item;
				padding: 0 2.4vw 0 0;
				white-space: nowrap;
			}
			.modal .shopinfo dd {
				display: flex-item;
				padding: 0;
			}
			.modal .buttons {
				display: flex;
				flex-direction: column;
			}
			.modal .buttons a {
				text-decoration: none;
				font-size: 4vw;
				text-align: center;
				font-weight: 600;
				padding: 2.4vw;
				background-color: #000;
				color: #fff;
				border-radius: 4vw;
				margin-bottom: 2.4vw;
			}
			.modal .menu-icons {
				position: absolute;
				display: flex;
				align-items: center;
				top: -6.4vw;
				right: 0;
			}
			.modal .badge {
				width: 12vw;
			}
			.modal .shopicon {
				width: 12vw;
			}
		}
		@media screen and (min-width: 720px) {
			.modal .photo {
				width: 600px;
				height: 680px;
				margin: 0 auto;
				overfllow: hidden;
			}
			.modal .photo img {
				width: 100%!important;
				object-fit: contain;
				object-position: left top;
				max-height: 680px;
			}
			.modal .popup-text {
				width: 600px;
				margin: 0 auto;
				position: relative;
				padding-bottom: 6.4rem;
			}
			.modal .close-button {
				position: absolute;
				width: 70px;
				top: 0;
				right: 0;
			}
			.modal h4 {
				font-size: 1.8rem;
				transform: scale(1, 1.5);
				margin-bottom: 1.8rem;
				font-weight: 600;
			}
			.modal .popup-description {
				font-size: 1.4rem;
				margin-bottom: 0.8rem;
			}
			.modal .product_info {
				font-size: 1.4rem;
				font-weight: 600;
				margin-bottom: 2.0rem;
			}
			.modal .remarks {
				font-size: 1.2rem;
				margin-bottom: 2.0rem;
			}
			.modal .shopinfo {
				display: flex;
				align-items: flex-start;
				font-size: 1.3rem;
				line-height: 2.2rem;
				margin-bottom: 2.0rem;
			}
			.modal .shopinfo dl {
				width: 48%;
				display: flex;
				align-items: flex-start;
				align-items: space-between;
			}
			.modal .shopinfo dt {
				display: flex-item;
				padding: 0 1.6rem 0 0;
				white-space: nowrap;
			}
			.modal .shopinfo dd {
				display: flex-item;
				padding: 0;
			}
			.modal .buttons {
				display: flex;
				justify-content: space-between;
			}
			.modal .buttons a {
				text-decoration: none;
				font-size: 1.4rem;
				text-align: center;
				font-weight: 600;
				width: 28%;
				padding: 1.2rem;
				background-color: #000;
				color: #fff;
				border-radius: 2.4rem;
			}
			.modal .menu-icons {
				position: absolute;
				display: flex;
				align-items: center;
				top: 0;
				right: 0;
			}
			.modal .badge {
				width: 6.0rem;
			}
			.modal .shopicon {
				width: 6.0rem;
			}
		}