@charset "utf-8";
/* CSS Document */

/*------------------------------------------------------------------
--------------------------------------------------------------------
　　　　　　　　　　　newyearsale専用css
--------------------------------------------------------------------
------------------------------------------------------------------*/
#contents {
	max-width: inherit;
}
#newyearsale {
	font-size: 1.6rem;
}
.inner {
	max-width: 1040px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
.sp-show,
.br-tablet,
.br-599 {
	display: none;
}
.txt-red {
	color: #d30004!important;
}
.sup {
	display: inline-block;
	margin-left: 1em;
	text-indent: -1em;
	font-size: 1.3rem;
	font-weight: normal;
	text-align: left;
}
.txt_link {
	text-decoration: underline;
}
.txt_link:hover {
	text-decoration: none;
}
.daikichi {
	--color: #c4191f;
	--bg-color: #c4191f;
}
.kichi {
	--color: #d9507e;
	--bg-color: #f28fb0;
}
.chukichi {
	--color: #fb8509;
	--bg-color: #fb9209;
}
.shokichi {
	--color: #589d3f;
	--bg-color: #9ac989;
}
.suekichi {
	--color: #7763a9;
	--bg-color: #ac9adb;
}

/*------------------------------------------------------------------
準備ページ
------------------------------------------------------------------*/
.pre_txt {
	margin-top: 22px;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

/*------------------------------------------------------------------
見出し
------------------------------------------------------------------*/
#newyearsale h2 {
	position: relative;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
	margin-bottom: 25px;
	padding: 22px 0;
	color: #fff;
	background-color: #d30004;
	background-image: url(/plan/tokushu/newyearsale/images/bg_title.webp);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-blend-mode: overlay;
	font-family: "Kaisei Tokumin", serif;
	font-weight: 800;
	z-index: 0;
}
#newyearsale h2:before {
	position: absolute;
	top: 99%;
	left: 50%;
	transform: translateX(-50%);
	content: "";
	display: inline-block;
	width: 45px;
	height: 15px;
	background-color: #d30004;
	background-image: url(/plan/tokushu/newyearsale/images/bg_title.webp);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 610% auto;
	background-blend-mode: overlay;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	z-index: -1;
}
#newyearsale h2 small {
	position: relative;
	display: inline-block;
	margin-bottom: 4px;
	padding: 0 14px;
	color: #f1eb5f;
}
#newyearsale h2 small:before,
#newyearsale h2 small:after {
	position: absolute;
	top: 3px;
	bottom: 0;
	content: "";
	width: 2px;
	height: auto;
	border-radius: 50px;
	background: #f1eb5f;
}
#newyearsale h2 small:before {
	left: 0;
	transform: rotateZ(-30deg);
}
#newyearsale h2 small:after {
	right: 0;
	transform: rotateZ(30deg);
}
#newyearsale h2 .txt-large {
	font-size: 1.4em;
}
/*omikuji_cp*/
#newyearsale #omikuji_cp h2 .sub_title {
	position: relative;
	margin-right: 28px;
	padding: 2px 12px 2px 24px;
	border: 6px double;
	color: #333;
	background-color: #fff;
	background-image: linear-gradient(135deg, #333 7px, transparent 0), linear-gradient(225deg, #333 7px, transparent 0), linear-gradient(45deg, #333 7px, transparent 0), linear-gradient(315deg, #333 7px, transparent 0);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: left top, right top, left bottom, right bottom;
	font-size: 1.6rem;
	line-height: 1.7;
	transform: rotate(-6deg);
}
#newyearsale #omikuji_cp h2 .sub_title:before {
	position: absolute;
	bottom: -8px;
	left: -20px;
	content: "";
	width: 31px;
	height: 80px;
	background-image: url(/plan/tokushu/newyearsale/images/ic_omikuji01.webp);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
	transform: rotate(-20deg);
}
#newyearsale #omikuji_cp h2 .sub_title .txt-large {
	font-size: 1.5em;
}
#newyearsale #omikuji_cp h2 .sub_title .dots {
	background-image: radial-gradient(circle at center, #e66d17 20%, transparent 20%);
	background-repeat: repeat-x;
	background-size: 24.3px 8px;
	padding-top: 2px;
}
#newyearsale #omikuji_cp h2 .title {
	margin-top: -14px;
	font-size: 3.2rem;
}
#newyearsale #omikuji_cp h2 small {
	font-size: 55%;
}
#newyearsale #omikuji_cp h2 small:before,
#newyearsale #omikuji_cp h2 small:after {
	top: 10px;
}
/*sale_about*/
#newyearsale #sale_about h2 {
	padding: 14px 0 25px;
	background-image: url(/plan/tokushu/newyearsale/images/ic_cracker-l.webp), url(/plan/tokushu/newyearsale/images/ic_cracker-r.webp),url(/plan/tokushu/newyearsale/images/bg_title.webp);
	background-repeat: no-repeat;
	background-position: left calc(50% - 340px) bottom 25px, right calc(50% - 340px) bottom 25px, left top;
	background-size: auto 45%, auto 45%, 100% auto;
	background-blend-mode: normal, normal, overlay;
	font-size: 3rem;
}
#newyearsale #sale_about h2 small,
#newyearsale #sale_about h2 .txt-small {
	font-size: 70%!important;
}
#newyearsale #sale_about h2 .week {
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-top: -5px;
	border-radius: 100%;
	color: #d30004;
	background: #fff;
	font-size: 0.7em;
	vertical-align: middle;
}
/*sale_hotel*/
#sale_hotel h2 {
	padding: 15px 0 24px;
	line-height: 1.4;
}
#sale_hotel h2 .ic {
	padding-left: 3em;
	background-image: url(/plan/tokushu/newyearsale/images/ic_hotel.webp);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: auto 93%;
}
#sale_hotel h2 .txt-small {
	padding: 0 9px 2px;
	color: #d30004;
	background: #fff;
	font-size: 60%!important;
	font-weight: 600;
}
#newyearsale h3 {
	text-align: center;
}
#newyearsale h3 span {
	position: relative;
	display: inline-block;
	padding: 20px 48px;
	font-family: "Kaisei Tokumin", serif;
	font-size: 2.8rem;
	font-weight: 800;
}
#newyearsale h3 span:before,
#newyearsale h3 span:after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	content:'';
	display:inline-block;
	width:40px;
	height:40px;
	margin-top: 2px;
	background-image: radial-gradient(circle, transparent 50%, #e6c619 50%, #e6c619 calc(50% + 2px), transparent calc(50% + 2px)),
    radial-gradient(circle, transparent 50%, #e6c619 50%, #e6c619 calc(50% + 2px), transparent calc(50% + 2px)),
    radial-gradient(circle, transparent 50%, #e6c619 50%, #e6c619 calc(50% + 2px), transparent calc(50% + 2px)),
    radial-gradient(circle, transparent 50%, #e6c619 50%, #e6c619 calc(50% + 2px), transparent calc(50% + 2px)),
    radial-gradient(circle, transparent 50%, #e6c619 50%, #e6c619 calc(50% + 2px), transparent calc(50% + 2px));
	background-position: 50% 0, 5% 40%, 95% 40%, 23% 95%, 78% 95%;
	background-size: 20px 20px;
	background-repeat:no-repeat;
}
#newyearsale .ichimatsu h3 span:before,
#newyearsale .ichimatsu h3 span:after {
	background-image: radial-gradient(circle, transparent 50%, #e45e32  50%, #e45e32  calc(50% + 2px), transparent calc(50% + 2px)),
    radial-gradient(circle, transparent 50%, #e45e32  50%, #e45e32  calc(50% + 2px), transparent calc(50% + 2px)),
    radial-gradient(circle, transparent 50%, #e45e32  50%, #e45e32  calc(50% + 2px), transparent calc(50% + 2px)),
    radial-gradient(circle, transparent 50%, #e45e32  50%, #e45e32  calc(50% + 2px), transparent calc(50% + 2px)),
    radial-gradient(circle, transparent 50%, #e45e32  50%, #e45e32  calc(50% + 2px), transparent calc(50% + 2px));
}
#newyearsale h3 span:before {
	left: 0;
}
#newyearsale h3 span:after {
	right: 0;
}
#newyearsale h3 .fukidashi {
	position: relative;
	display: inline-block;
	padding: 0 14px;
	font-size: 2.5rem;
}
#newyearsale h3 .fukidashi:before,
#newyearsale h3 .fukidashi:after {
	position: absolute;
	top: 3px;
	bottom: 0;
	content: "";
	width: 2px;
	height: auto;
	border-radius: 50px;
	background: #333;
}
#newyearsale h3 .fukidashi:before {
	left: 0;
	transform: rotateZ(-30deg);
}
#newyearsale h3 .fukidashi:after {
	right: 0;
	transform: rotateZ(30deg);
}

/*------------------------------------------------------------------
メインビジュアル
------------------------------------------------------------------*/
.main-img {
	margin: 14px auto 0;
	background: #e8b434;
	text-align: center;
}

/*------------------------------------------------------------------
背景
------------------------------------------------------------------*/
.shippo {
	padding: 20px 0 50px;
	background-color: #fff9e8;
	background-size: 50px 50px;
	background-image: radial-gradient(farthest-corner, rgba(255, 255, 255, 0) 68%, #fff0c7 68% 70%, rgba(255, 255, 255, 0) 70% 100%),
		radial-gradient(circle at top left, rgba(255, 255, 255, 0) 34%, #fff0c7 34% 35%, rgba(255, 255, 255, 0) 35% 100%),
		radial-gradient(circle at top right, rgba(255, 255, 255, 0) 34%, #fff0c7 34% 35%, rgba(255, 255, 255, 0) 35% 100%),
		radial-gradient(circle at bottom left, rgba(255, 255, 255, 0) 34%, #fff0c7 34% 35%, rgba(255, 255, 255, 0) 35% 100%),
		radial-gradient(circle at bottom right, rgba(255, 255, 255, 0) 34%, #fff0c7 34% 35%, rgba(255, 255, 255, 0) 35% 100%);
	background-repeat: repeat;
}
.ichimatsu {
	padding: 20px 0 50px;
	background-image: url(/plan/tokushu/newyearsale/images/bg01.webp), linear-gradient(to bottom, #555, #000);
	background-size: 86px auto;
	background-blend-mode: screen;
}
.sankuzushi {
	padding: 20px 0 50px;
	background-image: url(/plan/tokushu/newyearsale/images/bg02.webp);
	background-size: 60px auto;
}

/*------------------------------------------------------------------
メニュー
------------------------------------------------------------------*/
.menu ul {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
}
.menu ul li {
	position: relative;
	width: calc(100% / 2 - 110px);
}
.menu ul li:before {
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 0;
	content: "";
	border-left: 1px dotted #333;
}
.menu ul li:last-child:after {
	position: absolute;
	top: 10px;
	bottom: 10px;
	right: 0;
	content: "";
	border-right: 1px dotted #333;
}
.menu ul li a {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
	height: 100%;
	color: #333;
	font-family: "Kaisei Tokumin", serif;
	font-size: 1.7rem;
	font-weight: 800;
	text-align: center;
	transition: .25s ease;
}
.menu ul li.menu02 a {
	letter-spacing: 2px;
}
.menu ul li a .ic {
	position: relative;
	display: inline-block;
	padding: 20px 7px 23px 60px;
}
.menu ul li a .ic:before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: "";
	width: 50px;
	height: 50px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 90%;
}
.menu ul li.menu01 a .ic:before {
	background-image: url(/plan/tokushu/newyearsale/images/ic_menu01.webp);
}
.menu ul li.menu02 a .ic:before {
	background-image: url(/plan/tokushu/newyearsale/images/ic_menu02.webp);
}
.menu ul li a .arrow:after {
	display: inline-block;
	content: '\e902';
	font-family: 'jttweb' !important;
	margin-left: 7px;
	font-size: 0.8em;
	transform: rotate(90deg);
}
.menu ul li a:hover {
	background: #fff;
	opacity: 0.6;
}
/*終了対応*/
.menu ul li .end_txt {
	display: block;
	margin: 7px 0 -5px;
	padding: 2px 10px 4px;
	border: 1px solid #555;
	border-radius: 5px;
	color: #fff;
	background: #777;
	font-size: 0.75em;
}

/*------------------------------------------------------------------
検索窓
------------------------------------------------------------------*/
.search_box {
	margin-top: 10px;
	border: 2px solid #d30004;
	border-radius: 10px;
	background-color: #d30004;
	background-image: radial-gradient(farthest-corner, rgba(255, 255, 255, 0) 68%, #df1518 68% 70%, rgba(255, 255, 255, 0) 70% 100%), radial-gradient(circle at top left, rgba(255, 255, 255, 0) 34%, #df1518 34% 35%, rgba(255, 255, 255, 0) 35% 100%), radial-gradient(circle at top right, rgba(255, 255, 255, 0) 34%, #df1518 34% 35%, rgba(255, 255, 255, 0) 35% 100%), radial-gradient(circle at bottom left, rgba(255, 255, 255, 0) 34%, #df1518 34% 35%, rgba(255, 255, 255, 0) 35% 100%), radial-gradient(circle at bottom right, rgba(255, 255, 255, 0) 34%, #df1518 34% 35%, rgba(255, 255, 255, 0) 35% 100%);
	background-repeat: repeat;
	background-size: 45px 45px;
}
.search_box .search_title {
	padding: 7px 0 10px;
	border-radius: 5px 5px 0 0;
	color: #fff;
	font-family: "Kaisei Tokumin", serif;
	font-size: 2rem;
	font-weight: 800;
	text-align: center;
}
.search_box .search_title .txt-yellow {
	color: #f1eb5f;
}
.search_box .form {
	padding: 16px 20px 20px;
	border-radius: 0 0 8px 8px;
	background: #fff;
}
.form_inner .column.kodawari {
	width: 100%!important;
	margin-top: 15px!important;
	border: 1px solid #ccc;
}
.form_inner .kodawari .column-label {
	position: relative;
	padding: 10px;
	cursor: pointer;
}
.form_inner .kodawari .column-label:before,
.form_inner .kodawari .column-label:after {
	position: absolute;
	top: 50%;
	right: 15px;
	content: "";
	display: inline-block;
	width: 14px;
	height: 3px;
	background: #999;
	transition: 0.25s ease;
}
.form_inner .kodawari .column-label:before {
	transform: translateY(-50%);
}
.form_inner .kodawari .column-label:after {
	transform: translateY(-50%) rotate(90deg);
}
.form_inner .kodawari .column-label.open {
	border-radius: 8px 8px 0 0;
}
.form_inner .kodawari .column-label.open:after {
	transform: translateY(-50%);
	transition: 0.25s ease;
}
.form_inner .kodawari .select_box {
	display: none;
	margin-top: 5px;
	padding: 0 10px 10px;
}
.form_inner .kodawari .select_box:after {
	content: none;
}
.form_inner .kodawari .kodawari_filter {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}
.form_inner .kodawari label {
	margin: 0 6px 6px 0;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	transition: 0.25s ease;
	cursor: pointer;
}
.form_inner .kodawari label.checked {
	border-color: #4394d0;
	color: #fff;
	background: #4394d0;
}
/*LP-bottom*/
.search_bottom {
	margin-top: 20px;
}
.search_bottom .search_box {
	margin-top: 15px;
	border-width: 3px;
}
.search_bottom .form {
	border-radius: 8px;
}

/*------------------------------------------------------------------
毎日くじキャンペーン
------------------------------------------------------------------*/
#omikuji_cp .accordion_header {
	position: relative;
	max-width: 1000px;
	margin: 55px auto 0;
	padding: 8px 10px 10px;
	border: 7px double;
	color: #fff;
	background-color: #1d4e6a;
	background-image: linear-gradient(135deg, #fff 5px, transparent 0), linear-gradient(225deg, #fff 5px, transparent 0), linear-gradient(45deg, #fff 5px, transparent 0), linear-gradient(315deg, #fff 5px, transparent 0);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	font-family: "Kaisei Tokumin", serif;
	font-size: 2.5rem;
	font-weight: 800;
	text-align: center;
	cursor: pointer;
}
#omikuji_cp .accordion_header:before,
#omikuji_cp .accordion_header:after {
	position: absolute;
	top: 50%;
	right: 15px;
	content: "";
	display: inline-block;
	width: 14px;
	height: 2px;
	background: #fff;
	transition: 0.25s ease;
}
#omikuji_cp .accordion_header:before {
	transform: translateY(-50%);
}
#omikuji_cp .accordion_header:after {
	transform: translateY(-50%) rotate(90deg);
}
#omikuji_cp .accordion_header.open:after {
	transform: translateY(-50%);
	transition: 0.25s ease;
}
#omikuji_cp .accordion_inner {
	display: none;
	margin-top: 30px;
}
.cp_lead {
	font-family: "Kaisei Tokumin", serif;
	font-size: 1.8rem;
	font-weight: 800;
	text-align: center;
}
.cp_lead .cp_date .date_txt {
	display: inline-block;
	padding: 0 4px;
	background: linear-gradient(transparent 75%, #f1eb5f 75%);
	font-size: 2rem;
	letter-spacing: 1px;
}
.cp_lead .cp_date .txt-large {
	font-size: 1.5em;
}
.cp_lead .cp_date .week {
	display: inline-block;
	width: 24px;
	height: 24px;
	padding-left: 2px;
	border-radius: 100%;
	color: #fff;
	background: #d30004;
	font-size: 0.8em;
	line-height: 1.4;
}
.cp_lead .sup {
	margin-bottom: 10px;
	font-weight: 800;
}
.cp_lead a {
	display: block;
	max-width: 430px;
	margin: 15px auto 0;
	padding: 14px 20px 17px;
	border: 5px double #fff9e8;
	border-radius: 50px;
	color: #fff;
	background-color: #d30004;
	background-image: url(/plan/tokushu/newyearsale/images/ic_omikuji02.webp);
	background-repeat: no-repeat;
	background-size: auto 80%;
	background-position: right 15px center;
	font-size: 1.6rem;
	text-align: center;
	transition: .25s ease;
}
.cp_lead a .arrow:after {
	display: inline-block;
	content: '\e902';
	font-family: 'jttweb' !important;
	margin-left: 7px;
	font-size: 0.8em;
	transform: rotate(90deg);
}
.cp_lead a:hover {
	border: 5px double #d30004;
	color: #d30004;
	background-color: #fff;
}
.omikuji_contents {
	margin-top: 33px;
}
.omikuji_contents .fukidashi {
	margin-bottom: -8px;
	text-align: center;
}
.omikuji_contents .fukidashi span {
	position: relative;
	display: inline-block;
	padding: 0 20px;
	font-family: "Kaisei Tokumin", serif;
	font-size: 2.2rem;
	font-weight: 800;
}
.omikuji_contents .fukidashi span:before,
.omikuji_contents .fukidashi span:after {
	position: absolute;
	top: 4px;
	bottom: 0;
	content: "";
	width: 2px;
	height: auto;
	border-radius: 50px;
	background: #333;
}
.omikuji_contents .fukidashi span:before {
	left: 0;
	transform: rotateZ(-30deg);
}
.omikuji_contents .fukidashi span:after {
	right: 0;
	transform: rotateZ(30deg);
}
.omikuji_list {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}
.omikuji_wrap {
	position: relative;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	width: calc(100% / 2 - 10px);
	margin-top: 20px;
	padding: 16px 15px 22px;
	background-image: radial-gradient(circle at top left, transparent 50%, var(--bg-color) 50%, var(--bg-color) calc(50% + 3px), transparent calc(50% + 3px)), radial-gradient(circle at top right, transparent 50%, var(--bg-color) 50%, var(--bg-color) calc(50% + 3px), transparent calc(50% + 3px)), radial-gradient(circle at bottom left, transparent 50%, var(--bg-color) 50%, var(--bg-color) calc(50% + 3px), transparent calc(50% + 3px)), radial-gradient(circle at bottom right, transparent 50%, var(--bg-color) 50%, var(--bg-color) calc(50% + 3px), transparent calc(50% + 3px)), linear-gradient(90deg, var(--bg-color) 3px, #fff 3px, #fff calc(100% - 3px), var(--bg-color) calc(100% - 3px)), linear-gradient(180deg, var(--bg-color) 3px, #fff 3px, #fff calc(100% - 3px), var(--bg-color) calc(100% - 3px));
	background-position: top left, top right, bottom left, bottom right, left 15px, 15px top;
	background-size: 20px 20px, 20px 20px, 20px 20px, 20px 20px, 100% calc(100% - 30px), calc(100% - 30px) 100%;
	background-repeat: no-repeat;
	text-align: center;
}
.omikuji_wrap:nth-of-type(2n) {
	margin-left: 20px;
}
.omikuji_wrap.suekichi {
	padding-bottom: 30px;
}
.omikuji_wrap figure {
	position: relative;
	width: 95px;
	margin-right: 5px;
}
.omikuji_wrap.suekichi figure {
	position: static;
}
.omikuji_wrap figure .omikuji_num {
	position: absolute;
	top: 70%;
	left: 0;
	right: 0;
	font-family: "Kaisei Tokumin", serif;
	font-size: 0.95em;
	font-weight: 800;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff;
}
.omikuji_wrap.suekichi figure .omikuji_num {
	top: 75%;
	left: 10px;
}
.omikuji_wrap .omikuji_title {
	width: calc(100% - 95px);
	padding-right: 66px;
	background-repeat: no-repeat;
	background-size: auto 40px;
	background-position: right center;
	font-family: "Kaisei Tokumin", serif;
	font-size: 1.9rem;
	font-weight: 800;
	line-height: 1.2;
}
.omikuji_wrap .omikuji_title.coupon {
	background-image: url(/plan/tokushu/newyearsale/images/ic_coupon.webp);
}
.omikuji_wrap .omikuji_title.e-gift {
	background-image: url(/plan/tokushu/newyearsale/images/ic_gift.webp);
}
.omikuji_wrap .omikuji_title .txt-large {
	font-size: 1.4em;
}
.omikuji_contents a {
	font-weight: bold;
	display: block;
	max-width: 430px;
	margin: 25px auto 0;
	padding: 14px 20px 17px;
	border: 5px double #fff9e8;
	border-radius: 50px;
	color: #fff;
	background: #d30004;
	font-size: 1.6rem;
	text-align: center;
	transition: .25s ease;
}
.omikuji_contents a .arrow:after {
	display: inline-block;
	content: '\e902';
	font-family: 'jttweb' !important;
	margin-left: 7px;
	font-size: 0.8em;
	transform: rotate(90deg);
}
.omikuji_contents a:hover {
	border: 5px double #d30004;
	color: #d30004;
	background: #fff;
}

/*------------------------------------------------------------------
おみくじをひくには
------------------------------------------------------------------*/
.omikuji_howto .step_wrap {
	position: relative;
	margin-top: 30px;
	padding: 37px 20px 24px;
	border: 2px solid #d30004;
	background: #fff;
	font-weight: bold;
	text-align: center;
}
.omikuji_howto .step_wrap + .step_wrap {
	margin-top: 50px;
}
.omikuji_howto .step_num {
	position: absolute;
	top: -18px;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	padding: 3px 90px 5px;
	border-radius: 30px;
	color: #fff;
	background: #d30004;
	font-size: 1.8rem;
	font-family: "Kaisei Tokumin", serif;
	text-align: center;
	letter-spacing: 3px;
}
.omikuji_howto .step_title {
	display: inline-block;
	font-size: 1.8rem;
	text-align: left;
}
.omikuji_howto .btn_entry {
	text-align: center;
}
.omikuji_howto .btn_entry dt {
	position: relative;
	display: inline-block;
	padding: 0 14px;
	font-size: 1.8rem;
}
.omikuji_howto .btn_entry dt:before,
.omikuji_howto .btn_entry dt:after {
	position: absolute;
	top: 4px;
	bottom: 3px;
	content: "";
	width: 2px;
	height: auto;
	border-radius: 50px;
	background: #333;
}
.omikuji_howto .btn_entry dt:before {
	left: 0;
	transform: rotateZ(-30deg);
}
.omikuji_howto .btn_entry dt:after {
	right: 0;
	transform: rotateZ(30deg);
}
.omikuji_howto .btn_entry a {
	position: relative;
	display: inline-block;
	margin: 3px 0 5px;
	padding: 8px 60px;
	border: 2px solid #00b300;
	border-radius: 40px;
	color: #fff;
	background: #00b300;
	font-size: 1.7rem;
	transition: .25s ease;
}
.omikuji_howto .btn_entry a:after {
	position: absolute;
	bottom: -7px;
	right: -7px;
	content: "";
	width: 45px;
	height: 39px;
	background: url(/plan/images/ic_hand.webp) no-repeat right bottom / contain;
}
.omikuji_howto .btn_entry a:hover {
	color: #00b300;
	background: #fff;
}
.omikuji_howto .img_wrap {
	margin-top: 15px;
}
.omikuji_howto .img_list {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.omikuji_howto .img_list .img_box {
	width: calc((100% - 30px) / 5);
	margin-right: 7px;
}
.omikuji_howto .img_list .img_box:last-of-type {
	margin-right: 0;
}
.omikuji_howto .img_list .add_friends,
.omikuji_howto .img_list .list_apply {
	position: relative;
}
.omikuji_howto .img_list .add_friends a,
.omikuji_howto .img_list .list_apply a {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 95%;
	padding: 6px 5px 5px 0;
	border-radius: 30px;
	color: #fff;
	background: #00b300;
	font-size: 1.1rem;
	font-weight: bold;
	text-transform: uppercase;
	box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
	animation: glowing-pulse 2s infinite;
	transition: color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
.omikuji_howto .img_list .add_friends a {
	bottom: 60px;
	padding: 9px 5px 10px 0;
}
.omikuji_howto .img_list .list_apply a {
	bottom: 10px;
}
.omikuji_howto .img_list .add_friends a:before,
.omikuji_howto .img_list .list_apply a:before {
	position: absolute;
	top: -5px;
	left: -5px;
	right: -5px;
	bottom: -5px;
	content: "";
	border-radius: 30px;
	box-shadow: 0 0 20px #fff;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.omikuji_howto .img_list .add_friends a:after,
.omikuji_howto .img_list .list_apply a:after {
	font-family: 'jttweb' !important;
	content: '\e902';
	position: absolute;
	color: #fff;
	font-size: 0.7em;
	top: 50%;
	right: 2px;
	transform: translateY(-50%);
	transition: color 0.3s ease;
}
.omikuji_howto .img_list .add_friends a:hover,
.omikuji_howto .img_list .list_apply a:hover {
	color: #00b300;
	background: #fff;
	animation: none;
}
@keyframes glowing-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(48, 255, 48, 0.5);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}

/*終了対応*/
.omikuji_howto .step_wrap.end:before {
	position: absolute;
	top: 51%;
	left: 50%;
	transform: translate(-50%, -50%);
	content: "エントリー期間は終了しました";
	width: max-content;
	padding: 10px 20px;
	color: #fff;
	background: #d30004;
	font-size: 2rem;
	z-index: 1;
}
.omikuji_howto .step_wrap.end:after {
	position: absolute;
	top: 26px;
	bottom: 10px;
	left: 10px;
	right: 10px;
	content: "";
	background: rgb(0 0 0 / 80%);
}
.omikuji_howto .step_wrap.end a {
	pointer-events: none;
}

/*------------------------------------------------------------------
おみくじについて
------------------------------------------------------------------*/
.omikuji_about .about_wrap {
	padding: 10px 0 30px;
	font-weight: bold;
}
.omikuji_about .about_wrap + .about_wrap {
	padding-top: 30px;
}
.omikuji_about .about_wrap:last-of-type {
	padding-bottom: 0;
}
.omikuji_about h4 {
	position: relative;
	margin-bottom: 35px;
	text-align: center;
}
.omikuji_about h4:before {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	transform: translateY(-50%);
	content: "";
	height: 1px;
	border-bottom: 2px dotted;
}
.omikuji_about h4 span {
	position: relative;
	padding: 0 12px;
	color: #fff;
	font-family: "Kaisei Tokumin", serif;
	font-size: 2.3rem;
	font-weight: 800;
	z-index: 0;
}
.omikuji_about h4 span:before {
	position: absolute;
	top: 52%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	content: "";
	padding: 22px;
	border: 1px double #000;
	border-radius: 30px;
	background: #d30004;
	box-shadow: #000 5px -3px 0;
	z-index: -1;
}
.omikuji_about .about_inner {
	width: 85%;
	margin: 0 auto;
}
.omikuji_about .apply_howto .date {
	margin-top: 10px;
}
.omikuji_about .apply_howto .date p {
	position: relative;
	padding-left: 25px;
	font-size: 1.8rem;
}
.omikuji_about .apply_howto .date p:before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	content: "";
	width: 20px;
	height: 20px;
	background-image: linear-gradient(90deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(30deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(150deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(0deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(120deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(180deg, #d30004 1px, transparent 1px, transparent calc(100% - 1px), #d30004 calc(100% - 1px)), linear-gradient(180deg, #d30004 1px, transparent 1px, transparent calc(100% - 1px), #d30004 calc(100% - 1px)), linear-gradient(60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(-60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(-60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(-60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(-60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px));
	background-position: 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 0% 50%, 100% 50%, 60% 0, 40% 100%, -3% 32%, 106% 70%, 40% 0, 60% 100%, -3% 70%, 106% 32%;
	background-size: 100% 100%, 100% 100%, 100% 100%, 70% 70%, 58% 58%, 58% 58%, 35% 60%, 35% 60%, 25% 25%, 25% 25%, 27% 27%, 27% 27%, 25% 25%, 25% 25%, 27% 27%, 27% 27%;
	background-repeat: no-repeat;
}
.omikuji_about .winning_list {
	padding: 20px;
	border: 4px double #d30004;
	background: #fff;
}
.omikuji_about .winning_list dl {
	font-weight: normal;
}
.omikuji_about .winning_list dl + dl {
	margin-top: 7px;
	padding-top: 12px;
	border-top: 1px dotted #ccc;
}
.omikuji_about .winning_list dt {
	display: flex;
	display: -webkit-flex;
	align-items: stretch;
	-webkit-align-items: stretch;
	margin-bottom: 8px;
	color: var(--color);
	font-size: 1.8rem;
	font-weight: bold;
}
.omikuji_about .winning_list dt .type {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	width: 60px;
	height: 60px;
	margin-right: 12px;
	padding: 2px;
	color: #fff;
	background: var(--color);
	text-align: center;
}
.omikuji_about .winning_list dt .type small {
	width: 88%;
	margin-top: -9px;
	padding-top: 2px;
	border-radius: 100px;
	color: var(--color);
	background: #fff;
	font-size: 70%;
	line-height: 1.2;
}
.omikuji_about .winning_list dt .winning_contents {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	width: calc(100% - 60px);
}
.omikuji_about .winning_list dt .winning_contents .sup {
	display: block;
	color: #333;
}
.omikuji_about .winning_list .coupon_info {
	padding-top: 1px;
}
.omikuji_about .coupon_plan .plan_inner {
	font-size: 1.8rem;
}
.omikuji_about .coupon_plan .plan_inner li,
.omikuji_about .coupon_plan .coupon_notice p {
	position: relative;
	padding-left: 25px;
}
.omikuji_about .coupon_plan .plan_inner li:before,
.omikuji_about .coupon_plan .coupon_notice p:before {
	position: absolute;
	top: 2px;
	left: 0;
	content: "";
	width: 20px;
	height: 20px;
	background-image: linear-gradient(90deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(30deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(150deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(0deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(120deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(180deg, #d30004 1px, transparent 1px, transparent calc(100% - 1px), #d30004 calc(100% - 1px)), linear-gradient(180deg, #d30004 1px, transparent 1px, transparent calc(100% - 1px), #d30004 calc(100% - 1px)), linear-gradient(60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(-60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(-60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(-60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(-60deg, transparent calc(50% - .5px), #d30004 calc(50% - .5px), #d30004 calc(50% + .5px), transparent calc(50% + .5px));
	background-position: 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 0% 50%, 100% 50%, 60% 0, 40% 100%, -3% 32%, 106% 70%, 40% 0, 60% 100%, -3% 70%, 106% 32%;
	background-size: 100% 100%, 100% 100%, 100% 100%, 70% 70%, 58% 58%, 58% 58%, 35% 60%, 35% 60%, 25% 25%, 25% 25%, 27% 27%, 27% 27%, 25% 25%, 25% 25%, 27% 27%, 27% 27%;
	background-repeat: no-repeat;
}
.omikuji_about .coupon_plan .plan_inner li.date {
	margin-left: 7em;
	text-indent: -7em;
}
.omikuji_about .coupon_plan .plan_inner li.plan {
	margin-left: 6em;
	text-indent: -6em;
}
.omikuji_about .coupon_plan .plan_inner li.date:before {
	left: -7em;
}
.omikuji_about .coupon_plan .plan_inner li.plan:before {
	left: -6em;
}
.omikuji_about .coupon_plan .plan_inner + .sup {
	padding-left: 2em;
}
.omikuji_about .coupon_plan .area {
	display: inline-block;
	padding: 5px;
	padding-left: 0.5em;
	text-indent: 0em;
	border: 1px solid #333;
}
.omikuji_about .coupon_plan .coupon_notice {
	margin-top: 20px;
}
.omikuji_about .coupon_plan .coupon_notice p {
	margin-bottom: 3px;
}
.omikuji_about .coupon_plan .coupon_notice ul {
	font-weight: normal;
}

/*------------------------------------------------------------------
繋げて嬉しいポイント
------------------------------------------------------------------*/
.link_point .point_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	margin-top: 30px;
	padding: 20px;
	border: 5px double #05ad4b;
	background: #fff;
}
.link_point .txt_box {
	margin-left: 40px;
}
.link_point .txt_box .point_title {
	margin-bottom: 10px;
	color: #05ad4b;
	font-family: "Kaisei Tokumin", serif;
	font-size: 2.6rem;
	font-weight: 800;
}
.link_point .point li {
	position: relative;
	margin-top: 10px;
	padding-left: 30px;
	font-weight: bold;
}
.link_point .point li:before {
	position: absolute;
	top: 2px;
	left: 0;
	content: "";
	width: 18px;
	height: 18px;
	background-image: url(/common/images/common_ic_check01.webp);
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.link_point .txt_box a {
	display: block;
	margin: 3px 0 14px;
}
.link_point .txt_box a img {
	max-width: 250px;
	width: 100%;
	height: auto;
}
.link_point .txt_box a:hover {
	opacity: 0.8;
}
.link_point .red_txt {
	color: #d30004;
}

/*------------------------------------------------------------------
SALE詳細
------------------------------------------------------------------*/
#sale_about .accordion_header {
	position: relative;
	max-width: 400px;
	width: 90%;
	margin: 30px auto 0;
	padding: 8px 10px 10px;
	border: 7px double;
	color: #fff;
	background-color: #1d4e6a;
	background-image: linear-gradient(135deg, #fff 5px, transparent 0), linear-gradient(225deg, #fff 5px, transparent 0), linear-gradient(45deg, #fff 5px, transparent 0), linear-gradient(315deg, #fff 5px, transparent 0);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	font-family: "Kaisei Tokumin", serif;
	font-size: 1.8rem;
	font-weight: 800;
	text-align: center;
	cursor: pointer;
}
#sale_about .accordion_header:before,
#sale_about .accordion_header:after {
	position: absolute;
	top: 50%;
	right: 15px;
	content: "";
	display: inline-block;
	width: 14px;
	height: 2px;
	background: #fff;
	transition: 0.25s ease;
}
#sale_about .accordion_header:before {
	transform: translateY(-50%);
}
#sale_about .accordion_header:after {
	transform: translateY(-50%) rotate(90deg);
}
#sale_about .accordion_header.open:after {
	transform: translateY(-50%);
	transition: 0.25s ease;
}
#sale_about .accordion_inner {
	display: none;
	margin-top: -31px;
	padding: 40px 14px 20px;
	border: 2px solid #1d4e6a;
	background: #fff;
}
#sale_about .about_list {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}
#sale_about .about_list dl {
	width: calc(100% / 2 - 30px);
	margin-top: 10px;
	font-weight: bold;
	text-align: center;
}
#sale_about .about_list dl:nth-of-type(2n) {
	margin-left: 60px;
}
#sale_about .about_list dl:nth-of-type(n + 3) {
	margin-top: 30px;
}
#sale_about .about_list dl.sale_area {
	width: 65%;
}
#sale_about .about_list dt {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	width: 360px;
	margin: 0 auto 10px;
	color: #d30004;
	font-family: "Kaisei Tokumin", serif;
	font-size: 2rem;
	font-weight: 800;
}
#sale_about .about_list dt:before,
#sale_about .about_list dt:after {
	content: "";
	height: 2px;
	background: #d30004;
	flex-grow: 1;
}
#sale_about .about_list dt:before {
	margin-right: 20px;
}
#sale_about .about_list dt:after {
	margin-left: 20px;
}
#sale_about .hotel_list {
	margin-top: 40px;
	padding: 23px 20px 10px;
	background-image: url(/plan/tokushu/newyearsale/images/bg02.webp);
	background-size: 60px auto;
}
#sale_about .hotel_list h3 span {
	margin-bottom: 25px;
	padding: 0 40px 0 49px;
	color: #fff;
	font-size: 2.6rem;
	text-shadow: 0 0.2rem 0.4rem rgb(0 0 0 / 30%);
}
#sale_about .hotel_list h3 span:before,
#sale_about .hotel_list h3 span:after {
	transform: translateY(-50%) scale(0.9);
}
#sale_about .hotel_list ul {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}
#sale_about .hotel_list ul li {
	width: calc(100% / 3 - 10px);
	margin: 0 15px 15px 0;
	padding: 10px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.1);
}
#sale_about .hotel_list ul li:nth-of-type(3n) {
	margin-right: 0;
}
#sale_about .hotel_list .hotel_theme {
	margin-bottom: 8px;
	padding: 4px 2px 3px;
	color: #fff;
	background: #1d4e6a;
	font-size: 1.15em;
	font-weight: bold;
	text-align: center;
}
#sale_about .hotel_list .hotel_title {
	display: grid;
	grid-template-columns: max-content 1fr;
	column-gap: 7px;
	align-items: center;
	margin-bottom: 8px;
}
#sale_about .hotel_list .hotel_area {
	padding: 3px 10px 2px;
	border: 1px solid;
	border-radius: 50px;
	color: #333;
	white-space: nowrap;
}
#sale_about .hotel_list .hotel_name {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	font-weight: bold;
}
#sale_about .hotel_list figcaption {
	margin-top: 3px;
	font-size: 1.2rem;
	text-align: right;
}

/*------------------------------------------------------------------
 注目ホテル
------------------------------------------------------------------*/
.plan_contents .accordion_wrap {
	margin-top: 25px;
}
.plan_contents .accordion_header {
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	padding: 5px 80px 5px 5px;
	border: 2px solid #d30004;
	background: #fff;
	font-family: "Kaisei Tokumin", serif;
	font-size: 3rem;
	font-weight: 800;
	z-index: 1;
	cursor: pointer;
	transition-duration: 0.2s;
}
.plan_contents .accordion_header img {
	width: auto;
	height: 70px;
	margin-right: 15px;
}
.plan_contents .accordion_header .accordion_sign {
	position: absolute;
	top: 0;
	right: 0;
	width: 80px;
	height: 100%;
	background: #d30004;
}
.plan_contents .accordion_header .accordion_sign:before {
	display: none;
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	width: 20px;
	height: 4px;
	border-radius: 1px;
	background: #fff;
	transition: 0.25s ease;
}
.plan_contents .accordion_header .accordion_sign:after {
	position: absolute;
	top: 50%;
	right: 28px;
	transform: translateY(-50%) rotate(90deg);
	content: "";
	display: inline-block;
	width: 20px;
	height: 4px;
	border-radius: 1px;
	background: #fff;
	transition: 0.25s ease;
}
.plan_contents .accordion_header.open .accordion_sign:before {
	display: none;
	transition: 0.25s ease;
}
.plan_contents .accordion_header.open .accordion_sign:after {
	transform: translateY(-50%);
	transition: 0.25s ease;
}
.plan_contents .accordion_inner {
	display: none;
	padding: 15px 10px 20px;
	background: #b60003;
}
.plan_contents .accordion_inner .sub_title {
	width: fit-content;
	margin: 0 auto;
	padding: 2px 0 0 1.9em;
	color: #f1eb5f;
	background-image: url(/plan/tokushu/newyearsale/images/ic_hand.webp);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: auto 1.6em;
	font-size: 1.1em;
	font-weight: bold;
}
.hotel_wrap {
	margin-top: 15px;
	padding: 20px;
	border-radius: 10px;
	background: #fff;
	font-weight: bold;
}
.hotel_wrap .hotel_name {
	text-align: center;
}
.hotel_wrap .hotel_name span {
	position: relative;
	display: inline-block;
	padding: 0 35px;
	font-family: "Kaisei Tokumin", serif;
	font-size: min(2.7vw, 2.4rem);
	font-weight: 800;
}
.hotel_wrap .hotel_name span:before,
.hotel_wrap .hotel_name span:after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%) scale(0.7);
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	background-image: radial-gradient(circle, transparent 50%, #e6c619 50%, #e6c619 calc(50% + 2px), transparent calc(50% + 2px)), radial-gradient(circle, transparent 50%, #e6c619 50%, #e6c619 calc(50% + 2px), transparent calc(50% + 2px)), radial-gradient(circle, transparent 50%, #e6c619 50%, #e6c619 calc(50% + 2px), transparent calc(50% + 2px)), radial-gradient(circle, transparent 50%, #e6c619 50%, #e6c619 calc(50% + 2px), transparent calc(50% + 2px)), radial-gradient(circle, transparent 50%, #e6c619 50%, #e6c619 calc(50% + 2px), transparent calc(50% + 2px));
	background-position: 50% 0, 5% 40%, 95% 40%, 23% 95%, 78% 95%;
	background-size: 20px 20px;
	background-repeat: no-repeat;
}
.hotel_wrap .hotel_name span:before {
	left: -7px;
}
.hotel_wrap .hotel_name span:after {
	right: -7px;
}
.hotel_wrap .hotel_name.sp {
	display: none;
}
.hotel_wrap .flex {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}
.hotel_wrap .flex .img_box {
	flex: 0 1 35%;
	max-width: 480px;
	margin: 0 auto;
}
.hotel_wrap .flex .img_wrap {
	position: relative;
}
.hotel_wrap .flex .hotel_station {
	position: absolute;
	top: 0;
	left: 0;
	padding: 4px 7px 4px 5px;
	border-radius: 0 0 10px 0;
	color: #fff;
	background: rgb(182 0 3 / 90%);
	font-size: min(1.6vw, 1.3rem);
	font-weight: bold;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, .2);
	line-height: 1.3;
	z-index: 1;
}
.hotel_wrap .flex .cap-ext {
	margin-top: 3px;
	font-size: 1.2rem;
	font-weight: normal;
	text-align: right;
	line-height: 1.3;
}
.hotel_wrap .flex .other_room {
	margin-top: 10px;
	padding: 5px;
	background: #ffe7b7;
	font-size: 1.4rem;
	text-align: center;
}
.hotel_wrap .flex .txt_wrap {
	flex: 1 1 0%;
	margin-left: 25px;
}
.hotel_wrap .txt {
	margin-top: 10px;
}
.hotel_wrap .example_wrap {
	margin-top: 10px;
	padding: 8px;
	border: 1px solid #fcd58b;
	background: #fffaf0;
}
.hotel_wrap .room {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	padding-bottom: 2px;
	border-bottom: 1px dotted #fcd58b;
	font-size: 1.4rem;
}
.hotel_wrap .price_wrap {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}
.hotel_wrap .price_wrap dl {
	width: 48%;
	margin-top: 5px;
}
.hotel_wrap .price_wrap dl:nth-of-type(2n) {
	margin-left: 5px;
}
.hotel_wrap .price_wrap .dep_station {
	font-size: 1.2rem;
}
.hotel_wrap .price_wrap .dep_station.regi01 {
	color: #ea5099;
}
.hotel_wrap .price_wrap .dep_station.regi02 {
	color: #41a3ef;
}
.hotel_wrap .price_wrap .dep_station.regi03 {
	color: #fa8513;
}
.hotel_wrap .price_wrap .dep_station.regi04 {
	color: #7abd29;
}
.hotel_wrap .price_wrap dd {
	color: #d62121;
	font-size: 1.6rem;
}
.hotel_wrap .price_wrap dd .price_large {
	font-size: 2.3rem;
	line-height: 1.2;
}
.hotel_wrap .sup {
	margin: 5px 0 0;
	text-indent: 0;
}
.hotel_wrap .sup p {
	position: relative;
	padding-left: 15px;
	font-size: 1.2rem;
	font-weight: normal;
}
.hotel_wrap .sup p:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "■";
}
.hotel_wrap .sup p.obon:before {
	content: "※";
}
.hotel_wrap .plan_apply {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	margin: 20px auto 0;
}
.hotel_wrap .plan_apply li {
	width: calc(100% / 2 - 3px);
}
.hotel_wrap .plan_apply li:nth-of-type(n + 3) {
	margin-top: 8px;
}
.hotel_wrap .plan_apply li a {
	position: relative;
	display: block;
	padding: 10px;
	border: 2px solid;
	border-radius: 30px;
	color: #fff;
	background: #333;
	font-size: 1.5rem;
	text-align: center;
	line-height: 1;
	transition: 0.25s ease;
}
.hotel_wrap .plan_apply li.area01 a {
	border-color: #ea5099;
	background: #ea5099;
}
.hotel_wrap .plan_apply li.area02 a {
	border-color: #fa8513;
	background: #fa8513;
}
.hotel_wrap .plan_apply li.area03 a {
	border-color: #7abd29;
	background: #7abd29;
}
.hotel_wrap .plan_apply li.area04 a {
	border-color: #0023B5;
	background: #0023B5;
}
.hotel_wrap .plan_apply li.area05 a {
	border-color: #7806a7;
	background: #7806a7;
}
.hotel_wrap .plan_apply li a:before {
	position: absolute;
	top: 50%;
	right: 2px;
	transform: translateY(-50%);
	font-family: 'jttweb' !important;
	content: '\e902';
	color: #fff;
	font-size: 0.9rem;
}
.hotel_wrap .plan_apply li a:hover {
	background: #fff;
}
.hotel_wrap .plan_apply li.area01 a:hover {
	color: #ea5099;
}
.hotel_wrap .plan_apply li.area02 a:hover {
	color: #fa8513;
}
.hotel_wrap .plan_apply li.area03 a:hover {
	color: #7abd29;
}
.hotel_wrap .plan_apply li.area04 a:hover {
	color: #0023B5;
}
.hotel_wrap .plan_apply li.area05 a:hover {
	color: #7806a7;
}
.plan_contents .hotel_list + .sup {
	color: #fff;
}
.plan_contents .search_box {
	margin-top: 20px;
	border-color: #1d4e6a;
	background-color: #1d4e6a;
	background-image: radial-gradient(farthest-corner, rgba(255, 255, 255, 0) 68%, #235775 68% 70%, rgba(255, 255, 255, 0) 70% 100%), radial-gradient(circle at top left, rgba(255, 255, 255, 0) 34%, #235775 34% 35%, rgba(255, 255, 255, 0) 35% 100%), radial-gradient(circle at top right, rgba(255, 255, 255, 0) 34%, #235775 34% 35%, rgba(255, 255, 255, 0) 35% 100%), radial-gradient(circle at bottom left, rgba(255, 255, 255, 0) 34%, #235775 34% 35%, rgba(255, 255, 255, 0) 35% 100%), radial-gradient(circle at bottom right, rgba(255, 255, 255, 0) 34%, #235775 34% 35%, rgba(255, 255, 255, 0) 35% 100%);
}
.plan_contents .accordion_close {
	margin-top: 10px;
	color: #fff;
	text-align: center;
	line-height: 1;
	font-weight: bold;
}
.plan_contents .accordion_close .close_btn {
	display: inline-block;
	cursor: pointer;
}
.plan_contents .accordion_close .close {
	font-size: 4rem;
}

/*------------------------------------------------------------------
 おすすめ商品
------------------------------------------------------------------*/
#recommend_plan {
	margin-top: 40px;
}
.bnr_list {
	display: flex;
	display: -webkit-flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-top: 15px;
}
.bnr_list li {
	position: relative;
	width: calc(100% / 4 - 10px);
}
.bnr_list li:hover {
	opacity: 0.8;
}
.bnr_list li a {
	display: block;
}

/*------------------------------------------------------------------
 追従ボタン
------------------------------------------------------------------*/
.apply_anc {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: 0.3s;
	position: fixed;
	bottom: 120px;
	right: 20px;
	width: 15%;
	max-width: 130px;
}
.apply_anc.show {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
	z-index: 1;
}
.apply_anc a {
	position: relative;
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	align-items: center;
	-webkit-align-items: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	border: 6px double #fff;
	border-radius: 100px;
	color: #fff852;
	background-image: url(/plan/tokushu/newyearsale/images/bg02.webp);
	background-size: 50px auto;
	font-family: "Kaisei Tokumin", serif;
	font-size: min(2.5vw, 2.2rem);
	font-weight: 800;
	text-align: center;
	line-height: 1.3;
	text-shadow: 1.5px 1.5px 1.5px rgb(114 47 0 / 45%);
	filter: drop-shadow(1.5px 1.5px 1.5px rgb(114 47 0 / 45%));
}
.apply_anc a:before {
	position: absolute;
	bottom: 15px;
	right: -11px;
	content: "";
	width: 1.7em;
	height: 1.5em;
	background: url(/plan/images/ic_hand.webp) no-repeat right bottom / contain;
}

/*------------------------------------------------------------------
　　　　　　　　　　　　　　スマホ用(画面幅999px以下) 
------------------------------------------------------------------*/
@media screen and (max-width: 999px) {
#newyearsale {
	font-size: 1.4rem;
}
.inner {
	padding: 0 14px;
}
.pc-show {
	display: none;
}
.sp-show {
	display: inline-block;
}
.br-tablet {
	display: block;
}
.sup {
	font-size: 1.2rem;
}

/*------------------------------------------------------------------
背景
------------------------------------------------------------------*/
.shippo,
.ichimatsu,
.sankuzushi {
	padding: 10px 0 40px;
}

/*------------------------------------------------------------------
準備ページ
------------------------------------------------------------------*/
.pre_txt {
	font-size: 1.8rem;
}

/*------------------------------------------------------------------
見出し
------------------------------------------------------------------*/
#newyearsale h2 {
	margin-bottom: 15px;
	padding: 17px 0;
}
#newyearsale h2:before {
	width: 30px;
	height: 10px;
}
/*omikuji_cp*/
#newyearsale #omikuji_cp h2 .sub_title {
	margin-right: 21px;
	padding: 2px 9px 2px 22px;
	background-image: linear-gradient(135deg, #333 5px, transparent 0), linear-gradient(225deg, #333 5px, transparent 0), linear-gradient(45deg, #333 5px, transparent 0), linear-gradient(315deg, #333 5px, transparent 0);
	font-size: 1.3rem;
}
#newyearsale #omikuji_cp h2 .sub_title:before {
	left: -18px;
	width: 26px;
	height: 67px;
}
#newyearsale #omikuji_cp h2 .sub_title .dots {
	padding-top: 3px;
	background-size: 19px 8px;
}
#newyearsale #omikuji_cp h2 .title {
	margin-top: -12px;
	font-size: 2.8rem;
}
/*sale_about*/
#newyearsale #sale_about h2 {
	background-position: left max(12px, calc(50% - 285px)) bottom 22px, right max(12px, calc(50% - 285px)) bottom 22px, left top;
	background-size: auto 37%, auto 37%, 100% auto;
	font-size: min(4vw, 2.6rem);
}
#newyearsale #sale_about h2 .week {
	width: 25px;
	height: 25px;
}
/*sale_hotel*/
#sale_hotel h2 {
	padding: 15px 0 22px!important;
	font-size: 2.4rem;
}
#newyearsale h3 span {
	font-size: 2.4rem;
}
#newyearsale h3 span:before,
#newyearsale h3 span:after {
	transform: translateY(-50%) scale(0.9);
}
#newyearsale h3 .fukidashi {
	font-size: 2.2rem;
}

/*------------------------------------------------------------------
メインビジュアル
------------------------------------------------------------------*/
.main-img {
	margin: 10px auto 0;
}

/*------------------------------------------------------------------
メニュー
------------------------------------------------------------------*/
.menu .inner {
	padding: 0;
}
.menu ul li {
	width: calc(100% / 2);
}
.menu ul li:first-child:before,
.menu ul li:last-child:after {
	content: none;
}
.menu ul li a {
	font-size: 1.6rem;
}

/*------------------------------------------------------------------
検索窓
------------------------------------------------------------------*/
.search_box {
	margin-top: 20px;
}
.search_box .form {
	padding: 15px;
}

/*------------------------------------------------------------------
毎日くじキャンペーン
------------------------------------------------------------------*/
#omikuji_cp .accordion_header {
	width: calc(100% - 28px);
	font-size: 2.2rem;
}
.cp_lead {
	font-size: 1.7rem;
}
.cp_lead .cp_date .date_txt {
	font-size: 1.9rem;
}
.cp_lead .cp_date .week {
	width: 22px;
	height: 22px;
}
.cp_lead a {
	padding: 10px 20px 13px;
}
.omikuji_contents {
	margin-top: 25px;
}
.omikuji_contents .fukidashi {
	margin-bottom: -5px;
}
.omikuji_contents .fukidashi span {
	padding: 0 14px;
	font-size: 1.9rem;
}
.omikuji_wrap {
	width: calc(100% / 2 - 8px);
	margin-top: 16px;
	padding: 16px 10px 22px;
	background-image: radial-gradient(circle at top left, transparent 40%, var(--bg-color) 40%, var(--bg-color) calc(40% + 3px), transparent calc(40% + 3px)), radial-gradient(circle at top right, transparent 40%, var(--bg-color) 40%, var(--bg-color) calc(40% + 3px), transparent calc(40% + 3px)), radial-gradient(circle at bottom left, transparent 40%, var(--bg-color) 40%, var(--bg-color) calc(40% + 3px), transparent calc(40% + 3px)), radial-gradient(circle at bottom right, transparent 40%, var(--bg-color) 40%, var(--bg-color) calc(40% + 3px), transparent calc(40% + 3px)), linear-gradient(90deg, var(--bg-color) 3px, #fff 3px, #fff calc(100% - 3px), var(--bg-color) calc(100% - 3px)), linear-gradient(180deg, var(--bg-color) 3px, #fff 3px, #fff calc(100% - 3px), var(--bg-color) calc(100% - 3px));
	background-position: top left, top right, bottom left, bottom right, left 12px, 12px top;
	background-size: 20px 20px, 20px 20px, 20px 20px, 20px 20px, 100% calc(100% - 25px), calc(100% - 25px) 100%;
}
.omikuji_wrap:nth-of-type(2n) {
	margin-left: 16px;
}
.omikuji_wrap figure {
	width: 5em;
}
.omikuji_wrap figure .omikuji_num {
	top: 75%;
}
.omikuji_wrap.suekichi figure .omikuji_num {
	left: 5px;
	font-size: min(1.48vw, 1.2rem);
}
.omikuji_wrap .omikuji_title {
	width: calc(100% - 5em);
	padding-right: 3.8em;
	background-size: auto 1.6em;
	background-position: right top;
	font-size: min(2vw, 1.7rem);
	line-height: 1.4;
}
.omikuji_wrap .omikuji_title.e-gift {
	padding-right: 1.6em;
}
.omikuji_contents a {
	padding: 10px 20px 13px;
}

/*------------------------------------------------------------------
おみくじをひくには
------------------------------------------------------------------*/
.omikuji_howto .btn_entry a:after {
	right: -10px;
	width: 40px;
	height: 35px;
}
.omikuji_howto .img_list {
	display: block;
}
.omikuji_howto .img_list.slider {
	margin-bottom: 20px;
}
.omikuji_howto .img_list .img_box {
	width: auto;
	margin: 0;
}
.omikuji_howto .img_list .img_box img {
	width: 400px;
	height: auto;
}
.omikuji_howto .img_list .add_friends a,
.omikuji_howto .img_list .list_apply a {
	width: 380px;
	padding: 11px 5px 11px 0;
	font-size: 2.0rem;
}
.omikuji_howto .img_list .add_friends a {
	bottom: 138px;
	padding: 16px 5px 16px 0;
}
.omikuji_howto .img_list .list_apply a {
	bottom: 22px;
}
@keyframes glowing-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
  }
  50% {
    box-shadow: 0 0 0 7px rgba(30, 240, 118, 0.5);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}
#newyearsale .slick-dots {
	bottom: -22px;
}
#newyearsale .slick-dots li {
	width: 15px;
	height: 15px;
}
#newyearsale .slick-dots li button:before {
	font-size: 1.2rem;
}

/*------------------------------------------------------------------
おみくじについて
------------------------------------------------------------------*/
.omikuji_about .about_wrap {
	padding: 15px 0 30px;
}
.omikuji_about .about_wrap + .about_wrap {
	padding-top: 20px;
}
.omikuji_about h4 {
	margin-bottom: 30px;
	padding: 0 11px;
}
.omikuji_about h4 span {
	padding: 0 10px;
	font-size: 1.8rem;
}
.omikuji_about h4 span:before {
	padding: 18px;
}
.omikuji_about .about_inner {
	width: 96%;
}
.omikuji_about .apply_howto .date p,
.omikuji_about .coupon_plan .plan_inner {
	font-size: 1.6rem;
}
.omikuji_about .winning_list {
	padding: 15px;
}
.omikuji_about .winning_list dt {
	font-size: 1.6rem;
}
.omikuji_about .winning_list dt .type {
	width: 55px;
	height: 55px;
}

/*------------------------------------------------------------------
繋げて嬉しいポイント
------------------------------------------------------------------*/
.link_point .txt_box .point_title {
	font-size: 2.2rem;
}

/*------------------------------------------------------------------
SALE詳細
------------------------------------------------------------------*/
#sale_about .accordion_header {
	margin-top: 25px;
	padding: 6px 10px 8px;
	background-image: linear-gradient(135deg, #fff 4px, transparent 0), linear-gradient(225deg, #fff 4px, transparent 0), linear-gradient(45deg, #fff 4px, transparent 0), linear-gradient(315deg, #fff 4px, transparent 0);
}
#sale_about .accordion_inner {
	margin-top: -28px;
	padding-top: 35px;
}
#sale_about .about_list dl {
	width: calc(100% / 2 - 20px);
}
#sale_about .about_list dl:nth-of-type(2n) {
	margin-left: 40px;
}
#sale_about .about_list dt {
	width: 100%;
	font-size: 1.8rem;
}
#sale_about .about_list dt:before {
	margin-right: 12px;
}
#sale_about .about_list dt:after {
	margin-left: 12px;
}
#sale_about .hotel_list {
	margin-top: 30px;
	padding: 23px 15px 10px;
}
#sale_about .hotel_list h3 span {
	padding: 0 35px 0 44px;
	font-size: 2.3rem;
}
#sale_about .hotel_list h3 span:before,
#sale_about .hotel_list h3 span:after {
	transform: translateY(-50%) scale(0.7);
}
#sale_about .hotel_list ul li {
	width: calc(100% / 2 - 7px);
	margin: 0 14px 14px 0;
}
#sale_about .hotel_list ul li:nth-of-type(3n) {
	margin-right: 14px;
}
#sale_about .hotel_list ul li:nth-of-type(2n) {
	margin-right: 0;
}

/*------------------------------------------------------------------
 注目ホテル
------------------------------------------------------------------*/
.plan_contents .accordion_wrap {
	margin-top: 20px;
}
.plan_contents .accordion_header {
	padding-right: 48px;
	font-size: 2.2rem;
}
.plan_contents .accordion_header img {
	height: 60px;
	margin-right: 10px;
}
.plan_contents .accordion_header .accordion_sign {
	width: 48px;
}
.plan_contents .accordion_header .accordion_sign:before,
.plan_contents .accordion_header .accordion_sign:after {
	width: 16px;
	height: 3px;
	right: 13px;
}
.hotel_wrap {
	padding: 20px 15px;
}
.hotel_wrap .flex .txt_wrap {
	margin-left: 20px;
}
.hotel_wrap .hotel_name span {
	padding: 0 19px;
	font-size: min(2.5vw, 2.4rem);
}
.hotel_wrap .hotel_name span:before,
.hotel_wrap .hotel_name span:after {
	top: 54%;
	transform: translateY(-50%) scale(0.5);
}
.hotel_wrap .hotel_name span:before {
	left: -15px;
}
.hotel_wrap .hotel_name span:after {
	right: -15px;
}
.hotel_wrap .flex .img_box {
	flex: 0 1 36.5%;
}
.hotel_wrap .flex .hotel_station small {
	font-size: 75%;
}
.hotel_wrap .flex .cap-ext {
	font-size: 1rem;
}
.hotel_wrap .room {
	font-size: 1.3rem;
}
.hotel_wrap .price_wrap dd {
	font-size: 1.3rem;
}
.hotel_wrap .price_wrap dd .price_large {
	font-size: 2rem;
}
.plan_contents .search_box .search_title {
	font-size: 1.8rem;
}
}

/*------------------------------------------------------------------
　　　　　　　　　　　　　　スマホ用(画面幅680px以下) 
------------------------------------------------------------------*/
@media screen and (max-width: 680px) {
/*------------------------------------------------------------------
 追従ボタン
------------------------------------------------------------------*/
.apply_anc {
	right: 5px;
	bottom: 70px;
	width: 80px;
}
.apply_anc a {
	width: 80px;
	height: 80px;
	border: 4px double #fff;
	font-size: 1.35rem;
}
.apply_anc a:before {
	bottom: 9px;
	right: -6px;
	width: 23px;
	height: 20px;
}
}

/*------------------------------------------------------------------
　　　　　　　　　　　　　　スマホ用(画面幅599px以下) 
------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
.br-pc-tablet,
.br-tablet {
	display: none;
}
.br-599 {
	display: block;
}

/*------------------------------------------------------------------
背景
------------------------------------------------------------------*/
.shippo,
.ichimatsu,
.sankuzushi {
	padding: 20px 0 35px;
}
.main-img + .shippo {
	padding-top: 10px;
}
.shippo {
	background-size: 30px 30px;
}
.ichimatsu {
	background-size: 78px auto;
}

/*------------------------------------------------------------------
準備ページ
------------------------------------------------------------------*/
.pre_txt {
	margin-top: 12px;
}

/*------------------------------------------------------------------
見出し
------------------------------------------------------------------*/
#newyearsale h2 {
	padding: 15px 0;
	font-size: 1.8rem;
}
#newyearsale h2 small {
	padding: 0 10px;
}
/*omikuji_cp*/
#newyearsale #omikuji_cp h2 .sub_title {
	margin-right: 10px;
	padding: 2px 8px 2px 17px;
	background-image: linear-gradient(135deg, #333 4px, transparent 0), linear-gradient(225deg, #333 4px, transparent 0), linear-gradient(45deg, #333 4px, transparent 0), linear-gradient(315deg, #333 4px, transparent 0);
	font-size: min(3vw, 1.1rem);
}
#newyearsale #omikuji_cp h2 .sub_title:before {
	left: -14px;
	width: 20px;
	height: 51px;
}
#newyearsale #omikuji_cp h2 .sub_title .dots {
	background-size: 16px 8px;
}
#newyearsale #omikuji_cp h2 .title {
	margin-top: -7px;
	font-size: min(6vw, 2.2rem);
}
#newyearsale #omikuji_cp h2 small:before,
#newyearsale #omikuji_cp h2 small:after {
	top: 6px;
}
/*sale_about*/
#newyearsale #sale_about h2 {
	padding: 8px 0 16px;
	background-position: left max(6px, calc(50% - 165px)) bottom 20px, right max(6px, calc(50% - 165px)) bottom 20px, left top;
	background-size: auto 30%, auto 30%, 100% auto;
	font-size: min(5vw, 2rem);
	line-height: 1.4;
}
#newyearsale #sale_about h2 .week {
	width: 20px;
	height: 20px;
	margin-top: -3px;
}
/*sale_hotel*/
#sale_hotel h2 {
	font-size: min(4.8vw, 1.8rem);
}
#sale_hotel h2 .ic {
	background-size: auto 90%;
}
#newyearsale h3 span {
	padding: 10px 29px;
	font-size: min(5.2vw, 2rem);
}
#newyearsale h3 span:before,
#newyearsale h3 span:after {
	transform: translateY(-50%) scale(0.6);
}
#newyearsale h3 span:before {
	left: -9px;
}
#newyearsale h3 span:after {
	right: -9px;
}
#newyearsale h3 .fukidashi {
	font-size: min(5.2vw, 1.8rem);
}

/*------------------------------------------------------------------
メニュー
------------------------------------------------------------------*/
.menu ul li a {
	font-size: min(3.7vw, 1.4rem);
}
.menu ul li a .ic {
	padding: 40px 2px 7px 2px;
}
.menu ul li a .ic:before {
	top: 5px;
	left: 50%;
	transform: translateX(-50%);
	width: 35px;
	height: 35px;
}
.menu ul li a .arrow:after {
	margin-left: 3px;
}
/*終了対応*/
.menu ul li .end_txt {
	margin-bottom: -1px;
}

/*------------------------------------------------------------------
検索窓
------------------------------------------------------------------*/
.search_box {
	margin-top: 5px;
	background-size: 30px 30px;
}
.search_box .search_title {
	font-size: min(4.2vw, 1.6rem);
}
/*LP-bottom*/
.search_bottom {
	margin-top: 5px;
}

/*------------------------------------------------------------------
毎日くじキャンペーン
------------------------------------------------------------------*/
#omikuji_cp .accordion_header {
	margin-top: 40px;
	padding: 6px 10px 8px;
	font-size: min(5.2vw, 1.8rem);
}
#omikuji_cp .accordion_inner {
	margin-top: 20px;
}
.cp_lead {
	font-size: 1.5rem;
}
.cp_lead .cp_date .date_txt {
	margin-bottom: 3px;
	font-size: 1.6rem;
}
.cp_lead .cp_date .week {
	width: 20px;
	height: 20px;
	padding-left: 1px;
}
.cp_lead .sup {
	display: inline-block;
}
.cp_lead a {
	background-size: auto 70%;
	font-size: min(4vw, 1.4rem);
}
.omikuji_contents {
	margin-top: 23px;
}
.omikuji_contents .fukidashi {
	margin-bottom: 0;
}
.omikuji_contents .fukidashi span {
	font-size: min(4.4vw, 1.6rem);
}
.omikuji_wrap {
	width: 100%;
	margin-top: 12px;
	padding: 12px 8px 18px;
	background-image: radial-gradient(circle at top left, transparent 30%, var(--bg-color) 30%, var(--bg-color) calc(30% + 2px), transparent calc(30% + 2px)), radial-gradient(circle at top right, transparent 30%, var(--bg-color) 30%, var(--bg-color) calc(30% + 2px), transparent calc(30% + 2px)), radial-gradient(circle at bottom left, transparent 30%, var(--bg-color) 30%, var(--bg-color) calc(30% + 2px), transparent calc(30% + 2px)), radial-gradient(circle at bottom right, transparent 30%, var(--bg-color) 30%, var(--bg-color) calc(30% + 2px), transparent calc(30% + 2px)), linear-gradient(90deg, var(--bg-color) 2px, #fff 2px, #fff calc(100% - 2px), var(--bg-color) calc(100% - 2px)), linear-gradient(180deg, var(--bg-color) 2px, #fff 2px, #fff calc(100% - 2px), var(--bg-color) calc(100% - 2px));
	background-position: top left, top right, bottom left, bottom right, left 10px, 10px top;
	background-size: 20px 20px, 20px 20px, 20px 20px, 20px 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%;
}
.omikuji_wrap:first-of-type {
	margin-top: 8px;
}
.omikuji_wrap.suekichi {
	width: 100%;
	padding-bottom: 23px;
}
.omikuji_wrap:nth-of-type(2n) {
	margin-left: 0;
}
.omikuji_wrap figure {
	margin-right: 0;
}
.omikuji_wrap figure .omikuji_num {
	top: 75%;
}
.omikuji_wrap.suekichi figure .omikuji_num {
	font-size: min(2.9vw, 0.9em);
}
.omikuji_wrap .omikuji_title {
	font-size: min(3.8vw, 1.5rem);
	line-height: 1.2;
}
.omikuji_contents a {
	margin-top: 20px;
	font-size: min(4vw, 1.4rem);
}

/*------------------------------------------------------------------
おみくじをひくには
------------------------------------------------------------------*/
.omikuji_howto .step_wrap {
	padding: 30px 12px 20px;
}
.omikuji_howto .step_num {
	padding: 4px 70px 5px;
	font-size: 1.6rem;
}
.omikuji_howto .step_title {
	font-size: 1.6rem;
}
.omikuji_howto .btn_entry dt {
	font-size: 1.6rem;
}
.omikuji_howto .btn_entry a {
	display: block;
	width: 90%;
	margin: 3px auto 0;
	padding: 7px;
	font-size: 1.6rem;
}
.omikuji_howto .btn_entry a:after {
	bottom: -5px;
	width: 35px;
	height: 30px;
}
.line_link .howto_list li img {
	width: 501px;
}
.omikuji_howto .img_list .add_friends a,
.omikuji_howto .img_list .list_apply a {
	width: 95%;
	max-width: 375px;
	padding: 8px 5px 8px 0;
	font-size: min(4vw, 1.8rem);
}
.omikuji_howto .img_list .add_friends a {
	bottom: calc(50% - 11vw);
	padding: 8px 5px 8px 0;
}
.omikuji_howto .img_list .list_apply a {
	bottom: 6%;
}

/*終了対応*/
.omikuji_howto .step_wrap.end:before {
	font-size: min(4.5vw, 1.8rem);
}
.omikuji_howto .step_wrap.end:after {
	left: 2px;
	right: 2px;
}

/*------------------------------------------------------------------
おみくじについて
------------------------------------------------------------------*/
.omikuji_about .about_wrap {
	padding: 15px 0;
}
.omikuji_about h4 {
	margin-bottom: 20px;
}
.omikuji_about h4 span {
	padding: 0 8px;
	font-size: 1.6rem;
}
.omikuji_about h4 span:before {
	padding: 15px;
	box-shadow: #000 3px -1px 0;
}
.omikuji_about .apply_howto .date p,
.omikuji_about .coupon_plan .plan_inner {
	font-size: 1.5rem;
}
.omikuji_about .apply_howto .date p {
	padding-left: 16px;
	margin-left: 9em;
	text-indent: -9em;
}
.omikuji_about .apply_howto .date p:before {
	top: 4px;
	left: -9em;
	transform: none;
	width: 12px;
	height: 13px;
}
.omikuji_about .winning_list {
	padding: 12px;
}
.omikuji_about .winning_list dt {
	font-size: 1.5rem;
}
.omikuji_about .winning_list dt .type {
	width: 3.3em;
	height: 3.3em;
	margin-right: 7px;
	padding-top: 1px;
	padding: 0;
}
.omikuji_about .winning_list dt .type small {
	margin-top: -11px;
	padding: 1px 0;
}
.omikuji_about .winning_list dt .winning_contents {
	width: calc(100% - 3.5em);
}
.omikuji_about .coupon_plan .plan_inner li,
.omikuji_about .coupon_plan .coupon_notice p {
	padding-left: 16px;
}
.omikuji_about .coupon_plan .plan_inner li:before,
.omikuji_about .coupon_plan .coupon_notice p:before {
	top: 4px;
	width: 12px;
	height: 13px;
}
.omikuji_about .coupon_plan .plan_inner + .sup {
	padding-left: 1.2em;
}

/*------------------------------------------------------------------
繋げて嬉しいポイント
------------------------------------------------------------------*/
.link_point .point_wrap {
	margin-top: 15px;
	padding: 15px 12px;
	border: 3px double #05ad4b;
}
.link_point figure {
	display: none;
}
.link_point .txt_box {
	margin-left: 0;
}
.link_point .txt_box .point_title {
	position: relative;
	margin-bottom: 15px;
	padding-left: 62px;
	font-size: 1.8rem;
}
.link_point .txt_box .point_title:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	background-image: url(/plan/tokushu/line-cp/images/ic-human.webp);
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	width: 55px;
	height: 55px;
}
.link_point .point li {
	padding-left: 26px;
}
.link_point .point li:before {
	width: 16px;
	height: 16px;
}

/*------------------------------------------------------------------
SALE詳細
------------------------------------------------------------------*/
#sale_about .accordion_header {
	font-size: 1.6rem;
}
#sale_about .accordion_inner {
	padding-top: 28px;
}
#sale_about .about_list {
	display: block;
}
#sale_about .about_list dl,
#sale_about .about_list dl.sale_area {
	width: 100%;
}
#sale_about .about_list dl:nth-of-type(2n) {
	margin-left: 0;
}
#sale_about .about_list dl + dl,
#sale_about .about_list dl:nth-of-type(n + 3) {
	margin-top: 20px;
}
#sale_about .about_list dt {
	margin-bottom: 8px;
	font-size: 1.6rem;
}
#sale_about .about_list dl.sale_area dd {
	text-align: left;
}
#sale_about .hotel_list {
	margin-top: 25px;
	padding: 18px 14px 10px;
}
#sale_about .hotel_list h3 span {
	margin-bottom: 17px;
	padding: 0 34px;
	font-size: 1.8rem;
}
#sale_about .hotel_list h3 span:before,
#sale_about .hotel_list h3 span:after {
	transform: translateY(-50%) scale(0.6);
}
#sale_about .hotel_list ul {
	display: block;
}
#sale_about .hotel_list ul li {
	width: 100%;
	margin: 0 0 14px;
}

/*------------------------------------------------------------------
注目ホテル
------------------------------------------------------------------*/
.plan_contents .accordion_wrap {
	margin-top: 16px;
}
.plan_contents .accordion_header {
	padding-right: 30px;
	border: 1px solid #e52323;
	font-size: min(4.8vw, 1.8rem);
}
.plan_contents .accordion_header img {
	height: 42px;
	margin-right: 8px;
}
.plan_contents .accordion_header .accordion_sign {
	width: 30px;
}
.plan_contents .accordion_header .accordion_sign:before,
.plan_contents .accordion_header .accordion_sign:after {
	right: 7px;
	width: 14px;
	height: 2px;
}
.plan_contents .accordion_inner {
	padding-top: 12px;
}
.plan_contents .accordion_inner .sub_title {
	width: 100%;
	padding-top: 0;
	background-size: auto 1.5em;
	font-size: 1em;
}
.hotel_wrap {
	margin-top: 12px;
	padding: 15px 12px;
}
.hotel_wrap .hotel_name span {
	margin-bottom: 12px;
}
.hotel_wrap .hotel_name.pc {
	display: none;
}
.hotel_wrap .hotel_name.sp {
	display: block;
}
.hotel_wrap .hotel_name span {
	font-size: min(4.8vw, 2.4rem);
}
.hotel_wrap .flex {
	display: block;
}
.hotel_wrap .flex .txt_wrap {
	margin-left: 0;
}
.hotel_wrap .flex .hotel_station {
	font-size: min(3.3vw, 1.3rem);
}
.hotel_wrap .room {
	font-size: min(3vw, 1.2rem);
}
.hotel_wrap .price_wrap dd {
	font-size: 0.9rem;
}
.hotel_wrap .price_wrap dd .price_large {
	font-size: min(3.8vw, 1.8rem);
}
.hotel_wrap .plan_apply {
	margin-top: 15px;
}
.hotel_wrap .plan_apply li {
	width: calc(100% / 2 - 2px);
}
.hotel_wrap .plan_apply li a {
	padding: 9px 7px 9px 3px;
	font-size: min(3.4vw, 1.4rem);
}
.hotel_wrap .plan_apply li a:before {
	font-size: 0.7rem;
	right: 2px;
}
.plan_contents .search_box .search_title {
	font-size: min(4vw, 1.6rem);
}
.plan_contents .accordion_close .close_btn {
	font-size: 1.2rem;
}
.plan_contents .accordion_close .close {
	font-size: 2.6rem;
}

/*------------------------------------------------------------------
おすすめ商品
------------------------------------------------------------------*/
#recommend_plan {
	margin-top: 30px;
}
.bnr_list {
	display: block;
}
.bnr_list li {
	width: 80%;
	margin: 0 auto;
}
.bnr_list li + li {
	margin-top: 12px;
}
}