@charset "utf-8";
:root {
	--gly: #ccc;
	--grn: #369671;
	--wt: #fff;
	--bg_color: #f7f9f3;
	--box_grn: #f9faf6;
}
#campaign {
	padding-top: 100px;
  margin-top: -100px;
}
.naviArea, .naviArea2, .naviArea3, .naviArea4 {
	position: relative;
}
/*----- 背景 -----*/
.bg_color {
	background-color: var(--bg_color);
}
/*----- タイトル 共通 -----*/
.campaign .freehtml >div:has(.section.title_box) {
	text-align: center;
}
.campaign .section.title_box h2 {
	text-align: center;
	color: var(--grn);
	font-size: 3.0rem;
	position: relative;
	display: inline-block;
}
.campaign .section.title_box h2 span {
	font-size: 2.0rem;
	transform: translateY(-4px);
	display: inline-block;
	margin-right: 4px;
}
.campaign .section.title_box h2::before,
.campaign .section.title_box h2::after
 {
	content: "";
	position: absolute;
	display: block;
	z-index: 2;
}
.campaign .hakko .section.title_box h2::before {
	background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_06.png) no-repeat 50% 50%;
	background-size: contain;
	top: -6px;
	bottom: 0;
	width: 46px;
	height: 69px;
	right: -81px;
}
.campaign .onsen .section.title_box h2::before {
	background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_07.png) no-repeat 50% 50%;
	background-size: contain;
	top: -6px;
	bottom: 0;
	width: 46px;
	height: 39px;
	left: -68px;
}
.campaign .taiken .section.title_box h2::after {
	background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_08.png) no-repeat 50% 50%;
	background-size: contain;
	top: -23px;
	bottom: 0;
	width: 66px;
	height: 66px;
	right: -90px;
}
.campaign .taiken .section.title_box h2::before {
	background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_09.png) no-repeat 50% 50%;
	background-size: contain;
	top: -50px;
	bottom: 0;
	width: 50px;
	height: 87px;
	left: -73px;
}
.campaign .train .section.title_box h2::before {
	background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_10.png) no-repeat 50% 50%;
	background-size: contain;
	top: -23px;
	bottom: 0;
	width: 100px;
	height: 42px;
	left: -122px;
}
.campaign .train .section.title_box h2::after {
	background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_11.png) no-repeat 50% 50%;
	background-size: contain;
	top: -10px;
	bottom: 0;
	width: 112px;
	height: 57px;
	right: -133px;
}
/*----- しあわせの風ふくしま -----*/
.about .ttl_box {
	width: 96%;
	display: grid;
	gap: 20px;
	margin-inline: auto;
	align-items: center;
}
.ttl_box .txt .term h2 {
	line-height: 1.4;
	padding-bottom: 4px;
}
.ttl_box .txt .term h2 span:first-child {
	font-size: 1.8rem;
	display: block;
}
.ttl_box .txt .term h2 span.brb {
	border-bottom: 2px solid var(--grn);
	padding: 0 16px 4px;
}
.ttl_box .txt .title.feature {
	width: 16%;
}
.ttl_box .txt {
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 20px;
	align-items: center;
}
.ttl_box .txt .term  {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.ttl_box p.tx_date {
	display: inline-block;
	background-color: var(--grn);
	color: var(--wt);
	font-weight: bold;
	border-radius: 999px;
	padding: 6px 26px;
	width: 80%;
	margin-inline: auto;
}
/*----- クーポン -----*/
.wrap_coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border: solid 2px var(--grn);
	border-radius: 10px;
	padding: 24px 0;
}
.wrap_coupon .date_tx {
	text-align: left;
	display: flex;
	flex-direction: column;
	width: 100%;
}
.wrap_coupon .date_list {
	display: flex;
}
.wrap_coupon .date_list dt {
	flex-shrink: 0;
	width: 12%;
}
.wrap_coupon .coupon_02 h2 {
	line-height: 1.3;
}
.campaign .coupon_01 {
	font-weight: bold;
	border-bottom: solid 2px var(--grn);
  display: inline-block;
	padding: 0 8px 0;
	margin-bottom: 10px;
}
.campaign .coupon_01 .fs1_5 {
	font-size: 1.9rem;
}
.campaign .coupon_01 span:nth-child(3) {
	color: var(--grn);
}
.campaign .coupon_01 .fs1_7 {
	font-size: 2.4rem;
	color: var(--grn);
}

/*----- 絶景 -----*/
.campaign .zekkei .title.feature:first-child .section {
	margin: 0;
}
.campaign .zekkei .title.feature:first-child {
	position: relative;
}
.campaign .zekkei .title.feature:first-child:before {
	content: "";
	position: absolute;
	display: block;
	background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_01.png) no-repeat 50% 50%;
	background-size: contain;
	top: -55px;
	bottom: 0;
	width: 246px;
	height: 94px;
	left: -24px;
	z-index: 2;
	transform: rotate(350deg);
}
.campaign .zekkei .title.feature .section h2 {
	position: relative;
	z-index: 3;
	transform: rotate(355deg);
	font-size: 2.4rem;
	color: var(--grn);
	top: -34px;
	margin: 0;
}
/*----- 発酵 -----*/
.campaign .hakko .title.feature .section.hakko_ttl01 p {
	font-size: 2.0rem;
	text-align: center;
	font-weight: bold;
	position: relative;
	z-index: 3;
}
.campaign .hakko .title.feature .section.hakko_ttl01 {
	position: relative;
	margin-top: -24px;
	margin-bottom: 10px;
}
.campaign .hakko .title.feature .section.hakko_ttl01::before {
	content: "";
	position: absolute;
	display: block;
	background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_02.png) no-repeat 50% 50%;
	background-size: contain;
	top: -5px;
	bottom: 0;
	width: 150px;
	height: 46px;
	left: 23%;
	z-index: 2;
	transform: rotate(356deg);
}
.campaign .hakko .title.feature .section.hakko_ttl01.sake::before {
	background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_03.png) no-repeat 50% 50%;
	transform: rotate(5deg);
	background-size: contain;
}
.campaign .hakko .title.feature .section.hakko_ttl01.wine::before {
	background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_05.png) no-repeat 50% 50%;
	background-size: contain;
}
/*----- 温泉 -----*/
.campaign .onsen .box_content .feature .section {
	margin: 0 0 .5em;
}
.campaign .onsen .box_content .feature .serif h3 {
	background-color: transparent;
	border-bottom: none;
	font-size: 1.9rem;
	font-weight: 600;
	color: #222;
	text-align: center;
	line-height: 1.4;
	padding: 2px 12px 2px;
}
.campaign .onsen .box_content .feature .serif h3 span {
	display: inline-block;
	font-size: 1.4rem;
	position: relative;
	margin-right: 10px;
}
.campaign .onsen .box_content .feature .serif h3 span::before {
	color: var(--grn);
	content: "";
	position: absolute;
	top: -3px;
	bottom: 0;
	margin: auto;
	left: -18px;
	width: 1em;
	height: 1em;
	border: .31em solid currentColor;
	border-radius: 100% 100% 0 100%;
	background: radial-gradient(circle at 50% 50%, transparent 70%, currentColor 70%) no-repeat;
	box-sizing: border-box;
	transform: rotate(45deg);
}
.onsen .box_content .base_prod .hotel li>a {
	display: flex;
	flex-wrap: wrap;
}
.onsen .box_content .base_prod .hotel li>a .img_box>img {
	aspect-ratio: 160 /99;
	height: auto;
}
.campaign .onsen .box_content .base_prod .hotel li>a .details_box>.area {
	font-size: 1.2rem;
}
/*----- 列車 -----*/
.campaign .block_container {
	display: flex;
	background-color: var(--wt);
	padding: 30px 20px;
	border-radius: 10px;
	gap: 20px;
	-webkit-filter: drop-shadow(0px 0px 8px rgb(83, 89, 64, .2));
	        filter: drop-shadow(0px 0px 8px rgb(83, 89, 64, .2));
}
.campaign .block_container .block_item {
	display: grid;
	gap: 10px 20px;
	width: 50%;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	align-items: center;
}
.campaign .block_container .box_img {
	grid-column: 1 / 2;
	grid-row: 1 / 2;
}
.campaign .block_container .box_ttl {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
}
.campaign .block_container .box_text {
	grid-column: 1 / 3;
	grid-row: 2 / 3;
}
.campaign .block_container .block_item .ttl_n {
	color: var(--grn);
	font-size: 2.0rem;
	font-weight: bold;
	position: relative;
}
.campaign .block_container .block_item .box_ttl {
	position: relative;
}
.campaign .block_container .block_item .box_ttl::before {
	content: "";
	position: absolute;
	top: -20px;
	left: 0;
	width: 50px;
	height: 1px;
	transform: rotate(-14deg);
	box-sizing: border-box;
	background-color: #222;
}
.campaign .block_container .block_item .box_ttl::after {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 0;
	width: 50px;
	height: 1px;
	transform: rotate(14deg);
	box-sizing: border-box;
	background-color: #222;
}
.campaign .block_container .block_item p.ttl_heading {
	position: relative;
}
.campaign .block_container .block_item p.ttl_heading::before {
	content: "";
	position: absolute;
	top: -17px;
	left: 0;
	width: 80px;
	height: 1px;
	transform: rotate(-12deg);
	box-sizing: border-box;
	background-color: #222;
}
.campaign .block_container .block_item .ttl_n::after {
	content: "";
	position: absolute;
	bottom: -17px;
	left: 0;
	width: 80px;
	height: 1px;
	transform: rotate(12deg);
	box-sizing: border-box;
	background-color: #222;
}
.campaign .train .cmp-text  {
	text-align: center;
}
/*----- 商品コンポーネント -----*/
.campaign .zekkei .aem-Grid.aem-Grid--default--12>.aem-GridColumn.aem-GridColumn--offset--default--0,
.campaign .onsen .aem-Grid.aem-Grid--default--12>.aem-GridColumn.aem-GridColumn--offset--default--0
{
	background-color: var(--wt);
	border-radius: 10px;
	padding: 0px 20px 20px;
	-webkit-filter: drop-shadow(0px 0px 8px rgb(83, 89, 64, .08));
	        filter: drop-shadow(0px 0px 8px rgb(83, 89, 64, .08));
}
.campaign .onsen .aem-Grid.aem-Grid--default--12>.aem-GridColumn.aem-GridColumn--offset--default--0
{
	padding: 10px 10px 20px;
}
.campaign .hakko .wrap_slide .aem-Grid.aem-Grid--default--12>.aem-GridColumn.aem-GridColumn--offset--default--0,
.campaign .hakko .clm_1.aem-Grid, .campaign .taiken .clm_1.aem-Grid
{
	background-color: var(--wt);
	border-radius: 10px;
	padding: 20px;
	-webkit-filter: drop-shadow(0px 0px 8px rgb(83, 89, 64, .2));
	        filter: drop-shadow(0px 0px 8px rgb(83, 89, 64, .2));
}
.campaign .hakko .wrap_slide .aem-Grid.aem-Grid--default--12>.aem-GridColumn.aem-GridColumn--offset--default--0
{
	padding: 0 10px 20px;
}
.campaign .area_titlebox {
	margin-bottom: 0;
}
.campaign .area_titlebox>.area_name {
	background-color: transparent;
	color: #222;
	position: relative;
	padding: 5px 5px 5px 18px;
}
.campaign .area_titlebox>.area_name::before {
	display: inline-block;
	color: var(--grn);
	content: "";
	position: absolute;
	top: -4px;
	bottom: 0;
	margin: auto;
	left: 0;
	width: 1em;
	height: 1em;
	border: .31em solid currentColor;
	border-radius: 100% 100% 0 100%;
	background: radial-gradient(circle at 50% 50%, transparent 70%, currentColor 70%) no-repeat;
	box-sizing: border-box;
	transform: rotate(45deg);
}
.campaign h3.title_name {
	border-bottom: solid 2px var(--grn);
  padding-bottom: 4px;
}
.campaign .inner_text, .campaign .inner_text .access_box {
	margin-top: 10px;
}
.campaign .inner_text .access_box, .campaign .box_text .tx_caption
 {
	background-color: var(--box_grn);
	border: 2px solid #ecf2f0;
	border-radius: 10px;
	padding: 10px;
}
/* アクセス情報 */
.campaign .inner_text .access_box dl {
	display:flex;
}
.campaign .inner_text .access_box dt {
	flex-shrink: 0;
}
.campaign .hakko .inner_text .access_box dl {
	grid-template-columns: 2fr 8fr;
}
.campaign .hakko .clm_03 .inner_text .access_box dl {
	display: flex;
}
.campaign .hakko .inner_text .access_box dl dd:first-of-type {
	width: 90%;
}
.campaign .base_prod .hotel li {
	padding: 0;
}
.campaign .box_content .title .section,
.campaign .taiken .clm_1 .title .section
{
	margin: 1em auto;
}
.campaign .box_content .title .section p,
.campaign .taiken .clm_1 .title .section p
 {
	font-weight: 700;
	padding: 1px 5px;
	font-size: 1.4rem;
	border-bottom: solid 1px #494949;
}
.campaign .base_prod .hotel li>a .details_box>.area
{
	padding: .2em .5em;
}
.campaign .hotel .notes {
	font-size: 1.1rem;
}
/* ボタン 共通 */
.campaign .wrap_btn .btn_inner {
	border: solid 2px var(--grn);
	padding: 8px 0;
	display: block;
	border-radius: 999px;
	text-align: center;
	color: #318866;
	font-weight: bold;
	position: relative;
	line-height: 1.4;
	transition : .3s;
}
.campaign .wrap_btn a.btn_inner:hover {
	text-decoration: none;
	background-color: var(--bg_color);
	transition : .3s;
}
.campaign .wrap_btn .btn_inner::before {
	content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 29px;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--wt);
  border-right: 2px solid var(--wt);
  transform: rotate(45deg);
	font-size: 1.5rem;
	z-index: 2;
}
.campaign .dc_plan .wrap_btn .btn_inner::before {
  border-top: 2px solid var(--wt);
  border-right: 2px solid var(--wt);
	right: 25px;
}
.campaign .dc_plan.clm_1 .wrap_btn .btn_inner::before {
	right: 27px;
}
.campaign .hakko .wrap_btn .btn_inner::before {
	right: 8%;
}
.campaign .hakko .clm_1 .wrap_btn .btn_inner::before {
	right: 29px;
}
.campaign .wrap_btn .btn_inner::after {
	content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 3%;
  width: 36px;
  height: 36px;
	background-color: #318866;
	border-radius: 999px;
}
/* 専用プラン */
.campaign .dc_plan .wrap_btn {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.campaign .dc_plan .wrap_btn .btn_inner {
	background-color: var(--grn);
	color: var(--wt);
	position: relative;
}
.campaign .dc_plan .wrap_btn .btn_inner:hover {
	opacity: .8;
	background-color: var(--grn);
}
.campaign .dc_plan .wrap_btn .w_light {
	width: calc((1000px - (10px * 2)) / 3);
}
.campaign .dc_plan .wrap_btn .btn_inner::after {
	content: none;
}
/* 1つボタン */
.campaign .dc_plan .wrap_btn.limited_plan {
	display: block;
}
.campaign .dc_plan .wrap_btn.limited_plan .w_light {
	width: 100%;
}
.campaign .dc_plan .wrap_btn.limited_plan .btn_inner {
	width: 42%;
	padding: 8px;
	margin-inline: auto;
}
.campaign .train .dc_plan .wrap_btn.limited_plan .btn_inner {
	padding: 16px;
}
/* 旅する列車 */
.campaign .other .wrap_btn .btn_inner {
	width: 42%;
	padding: 18px;
	margin-inline: auto;
}
/* 専用プランタイトル */
.campaign .dc_plan .section.title_box
 {
	text-align: center;
	display: flex;
}
.campaign .dc_plan .section.title_box h2
 {
	position: relative;
	display: inline-block;
	padding: 0 10px;
	flex-shrink: 0;
}
.campaign .dc_plan .section.title_box .ttl_line
 {
	border-bottom: solid 1px var(--grn);
	display: inline-block;
	width: 100%;
	position: relative;
	top: calc(-33px / 2);
}

/*----- カルーセル -----*/
.wrap_slide .swiper {
	/* overflow: hidden; */
	position: relative;
	padding: 0 3% 40px;
}
.wrap_slide .swiper .swiper-pagination {
  bottom: 0;
}
.wrap_slide .cmn_contents {
  margin: auto;
}
.base_prod {
  margin-bottom: 0;
}
.clm_3 .base_prod.clm1 li, .base_prod.side_box.clm1 li {
  padding: 10px 10px 0;
}
.clm_3 .cm_btn .base_prod.clm1 li, .cm_btn .base_prod.side_box.clm1 li {
  padding: 0 10px;
}
/* ボックスの高さ揃え・商品コンポーネントのstyle */
.wrap_slide .swiper .swiper-slide {
  height: auto;
}
.wrap_slide .swiper .swiper-slide .box_content,
.clm_3 .box_content {
  height: 100%;
}
/* 商品コンポーネントのページネーション */
.box_content .base_prod .swiper-button-next,
.box_content .base_prod .swiper-button-prev,
.box_content .base_prod .swiper-pagination {
  display: none !important;
}
/* 前へ/後ろへボタン */
.wrap_slide {
  position: relative;
}
/* 記事　前へ/後ろへボタン */
.wrap_slide.article .swiper-button-prev,
.wrap_slide.article .swiper-button-next {
  -webkit-filter: drop-shadow(1px 1px 5px rgba(80,80,80,0.2));
          filter: drop-shadow(1px 1px 5px rgba(80,80,80,0.2));
  top: 31.5%;
}
/* カルーセル PCのみ */
@media screen and (min-width: 768px) {
  .cmp-text.tx_lead, .cmp-text.tx_lead p {
    text-align: center !important;
  }
  .wrap_slide {
    position: relative;
  }
	.wrap_slide .swiper {
    padding: 0 0 40px;
  }
	/* 前へ/後ろへボタン */
	.wrap_slide .swiper-button-prev.swiper-button-disabled,
	.wrap_slide .swiper-button-next.swiper-button-disabled {
    opacity: .35;
  }
	/* カルーセルなし 非表示 */
	.wrap_slide.no_swipe .swiper-button-prev,
	.wrap_slide.no_swipe .swiper-button-next,
	.wrap_slide.no_swipe .swiper-pagination {
		display: none !important;
	}
	.campaign .swiper-wrapper {
		gap: 20px;
	}
	.campaign .onsen .swiper-wrapper {
		gap: 20px 10px;
	}
	.campaign .zekkei .aem-Grid::before, .campaign .zekkei .aem-Grid::after,
	.campaign .hakko .aem-Grid::before, .campaign .hakko .aem-Grid::after,
	.campaign .onsen .aem-Grid::before, .campaign .onsen .aem-Grid::after
	{
		content: none;
	}
	.campaign .hakko .clm_1.aem-Grid::before, .campaign .hakko .clm_1.aem-Grid::after {
		content: "";
	}
	/* 2column */
	.wrap_slide.clm_2 .swiper .swiper-wrapper .swiper-slide {
		width: calc((100% - (20px * 1)) / 2) !important;
	}
	/* カルーセル 発酵 PC 3column */
	.hakko .wrap_slide .swiper .swiper-wrapper .swiper-slide {
		width: calc((100% - (20px * 2)) / 3) !important;
	}
	/*カルーセル 温泉 PC 2column */
	.onsen .wrap_slide.clm_2 .swiper .swiper-wrapper .swiper-slide {
		width: 49.5% !important;
	}
	.onsen .wrap_slide.clm_2 .swiper .swiper-wrapper .hotel .swiper-slide {
		width: 100% !important;
	}
	.onsen .wrap_slide .swiper-wrapper {
		flex-wrap: wrap;
	}
	.wrap_slide.clm_2 .swiper .swiper-wrapper .hotel .swiper-slide {
		width: 100% !important;
	}
	.onsen .wrap_slide .box_content {
		display: flex;
		gap: 10px;
		flex-direction: column;
	}
	.onsen .wrap_slide .box_content_inner {
		display: flex;
		gap: 10px;
	}
	.onsen .aem-Grid.aem-Grid--default--6>.aem-GridColumn.aem-GridColumn--offset--default--0 {
		flex-grow: 1;
	}
}
.box_content .wrap_img.jretravel-image, .campaign .jretravel-image {
  aspect-ratio: 160 / 99;
}/*画像表示*/
/* ----------PCのみ---------- */
@media screen and (min-width: 768px) {
	.br_sp {
		display: none;
	}
	.ttl_box .feature .section h2 {
		font-size: 3.0rem;
		border-bottom: solid 2px var(--grn);
		padding: 0 16px 4px;
	}
	.wrap_coupon .date_list dd {
		padding-left: 1.4rem;
		text-indent: -1.3rem;
	}
}
/* ----------SPのみ---------- */
@media screen and (max-width: 767px) {
	.txt_al_l {
		text-align: left;
	}
	.br_pc {
		display: none;
	}
	.campaign .cmp-text {
		width: 100%;
	}
	.ttl_box .txt {
		flex-direction: column;
	}
	.ttl_box .txt .title.feature {
		width: 44%;
	}
	.ttl_box .txt .term h2 span:first-child {
		font-size: 1.6rem;
	}
	.ttl_box .txt .term h2 span:nth-of-type(2) {
		font-size: 2.2rem;
	}
	/*----- タイトル -----*/
	.campaign .section.title_box h2 {
		font-size: 2.4rem;
	}
	.campaign .section.title_box h2 span {
		font-size: 1.5rem;
	}
	.campaign .hakko .section.title_box h2::before {
    background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_06.png) no-repeat 50% 50%;
    background-size: contain;
    top: -15px;
    bottom: 0;
    width: 36px;
    height: 48px;
    right: -48px;
	}
	.campaign .onsen .section.title_box h2::before {
    background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_07.png) no-repeat 50% 50%;
    background-size: contain;
    top: -19px;
    bottom: 0;
    width: 40px;
    height: 39px;
    left: -54px;
	}
	.campaign .taiken .section.title_box h2::after {
    background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_08.png) no-repeat 50% 50%;
    background-size: contain;
    top: 1px;
    bottom: 0;
		width: 50px;
    height: 50px;
    right: -28%;
	}
	.campaign .taiken .section.title_box h2::before {
    background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_09.png) no-repeat 50% 50%;
    background-size: contain;
    top: -34px;
    bottom: 0;
    width: 50px;
    height: 68px;
    left: -57px;
	}
	.campaign .train .section.title_box h2::before {
    background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_10.png) no-repeat 50% 50%;
    background-size: contain;
    top: -45px;
    bottom: 0;
    width: 86px;
    height: 42px;
    left: -63px;
	}
	.campaign .train .section.title_box h2::after {
    background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_11.png) no-repeat 50% 50%;
    background-size: contain;
    top: 20px;
    bottom: 0;
    width: 77px;
    height: 57px;
    right: -67px;
	}
	/*----- しあわせの風ふくしま -----*/
	.campaign .about, .campaign .coupon, .campaign .hakko .clm_1, .campaign .taiken, .campaign .train {
		padding: 0 10px
	}
	.about .ttl_box {
		width: 100%;
		flex-direction: column;
	}
	.about .ttl_box .feature .section h2 {
		display: inline;
		padding: 0;
		font-size: 2.2rem;
		line-height: 1.6;
	}
	.ttl_box .feature .section h2 span:first-child {
		font-size: 1.6rem;
	}
	.about .ttl_box .feature .section h2 .brb {
		border-bottom: solid 2px var(--grn);
		padding: 0px 10px 4px;
	}
	.about .ttl_box .term.predc {
		margin-top: 30px;
	}
	.ttl_box .txt .news {
		text-align: left;
	}
	.ttl_box p.tx_date {
		width: 94%;
	}
	/*----- クーポン -----*/
	.wrap_coupon .date_list dt {
		width: 100%;
	}
	.campaign .wrap_coupon {
		padding: 20px 10px 10px;
	}
	.campaign .coupon_01 {
		line-height: 1.4;
	}
	.campaign .wrap_coupon h2 {
		font-size: 2.6rem;
    text-align: center;
	}
	.wrap_slide .swiper {
		overflow: hidden;
	}
	.zekkei .wrap_slide .swiper {
		padding-top: 57px;
	}
	.wrap_coupon .date_list {
		flex-direction: column;
	}
	.wrap_coupon .date_tx {
		gap: 10px;
	}
	/*----- 絶景 -----*/
	.campaign .zekkei .title.feature .section h2 {
		position: relative;
    z-index: 3;
    transform: rotate(355deg);
    font-size: 2.4rem;
    color: var(--grn);
    top: -21px;
    margin: 0;
    left: 0px;
	}
	.campaign .zekkei .title.feature:first-child:before {
		content: "";
		position: absolute;
		display: block;
		background: url(/content/dam/jretravel/site/page/tohoku/images/fukushima_dc/img_predc_01.png) no-repeat 50% 50%;
		background-size: contain;
		top: -74px;
		bottom: 0;
		width: 220px;
		height: 90px;
		left: -15px;
		z-index: 2;
		transform: rotate(350deg);
	}
	.campaign .zekkei .title.feature:first-child .section {
		margin-top: -34px;
	}
	/*----- 発酵 -----*/
	.hakko .wrap_slide .swiper {
		padding-top: 42px;
	}
	.campaign .hakko .title.feature .section.hakko_ttl01 {
		margin-top: -34px;
	}
	.campaign .hakko .title.feature .section.hakko_ttl01::before {
		left: 26%;
	}
	/*----- 温泉 -----*/
	.campaign .onsen .wrap_slide .swiper {
		padding-top: 10px;
	}
	/*----- 列車 -----*/
	.campaign .train .cmp-text {
		text-align: left;
	}
	.campaign .train .block_container {
		flex-direction: column;
		gap: 30px;
		padding: 26px 10px 20px;
	}
	.campaign .block_container .block_item .box_ttl::before {
    top: -12px;
    width: 40px;
	}
	.campaign .block_container .block_item p.ttl_heading::before {
    top: -8px;
    width: 60px;
	}
	.campaign .block_container .block_item .ttl_n::after {
    bottom: -8px;
    width: 60px;
	}
	.campaign .block_container .block_item .box_ttl::after {
    bottom: -12px;
    width: 40px;
	}

	.campaign .block_container .block_item:nth-of-type(2) .box_ttl::before {
		right: 0;
		left: initial;
		transform: rotate(14deg);
	}
	.campaign .block_container .block_item:nth-of-type(2) p.ttl_heading::before {
		right: 0;
		left: initial;
		transform: rotate(12deg);
	}
	.campaign .block_container .block_item:nth-of-type(2) .ttl_n::after {
		right: 0;
		left: initial;
		transform: rotate(-12deg);
	}
	.campaign .block_container .block_item:nth-of-type(2) .box_ttl::after {
		right: 0;
		left: initial;
		transform: rotate(-14deg);
	}
	.campaign .block_container .block_item {
		gap: 10px;
		width: 100%;
		grid-template-rows: auto 1fr;
		grid-template-columns: 0.9fr 1fr;
	}
	.campaign .block_container .box_text {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
	}
	.campaign .block_container .block_item:nth-of-type(2) .box_img {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
	}
	.campaign .block_container .block_item:nth-of-type(2)  .box_ttl {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
		text-align: right;
	}
	.campaign .train {
		overflow: hidden;
	}
	.campaign .block_container .block_item p.ttl_heading {
		font-size: 1.35rem;
	}
	/* 専用プラン */
.campaign .dc_plan {
	padding: 0 10px;
}
.campaign .dc_plan .wrap_btn {
	gap: 10px 6px;
}
.campaign .dc_plan .wrap_btn .w_light {
	width: calc((100% - (6px * 1)) / 2);
}
.campaign .dc_plan .wrap_btn.limited_plan .btn_inner {
	width: 100%;
	padding: 18px 12px;
	text-align: left;
}
.campaign .dc_plan.clm_1 .wrap_btn.limited_plan .btn_inner {
	width: 100%;
	padding: 9px 12px;
	text-align: center;
}
.campaign .train .dc_plan .wrap_btn.limited_plan .btn_inner {
	text-align: center;
}
/* 専用プランタイトル */
.campaign .dc_plan .section.title_box
 {
	text-align: center;
	display: flex;
}
.campaign .dc_plan .section.title_box h2
 {
	position: relative;
	display: inline-block;
	padding: 0 10px;
	flex-shrink: 0;
}
.campaign .dc_plan .section.title_box .ttl_line
 {
	top: calc(-2.6rem / 2);
}
.campaign .dc_plan .section.title_box .ttl_line.limited
 {
	top: calc(-5.2rem / 2);
}
.campaign .wrap_btn .btn_inner::before,.campaign .hakko .wrap_btn .btn_inner::before {
	right: 7.5%
}
.campaign .hakko .clm_1 .wrap_btn .btn_inner::before,
.campaign .taiken .clm_1 .wrap_btn .btn_inner::before {
	right: 7%
}
.campaign .dc_plan .wrap_btn .btn_inner::after {
	content: none;
}
.campaign .dc_plan .wrap_btn .btn_inner::before, .campaign .dc_plan.clm_1 .wrap_btn .btn_inner::before {
  right: 4%;
	border-color: var(--wt);
}
	/*----- 商品コンポーネント -----*/
	.campaign .zekkei .aem-Grid.aem-Grid--default--12>.aem-GridColumn.aem-GridColumn--offset--default--0,
	.campaign .onsen .aem-Grid.aem-Grid--default--12>.aem-GridColumn.aem-GridColumn--offset--default--0,
	.campaign .taiken .clm_1.aem-Grid,
	.campaign .hakko .clm_1.aem-Grid {
		padding: 10px 10px 20px;
	}
	.campaign .area_titlebox {
		width: 100%;
	}
	.campaign .swichi_box {
		width: 100%;
	}
	.campaign .swichi_mv:not([title=""]):after {
		background: linear-gradient(to bottom, rgba(26, 26, 26, 0) 0%, rgba(26, 26, 26, 0.7) 50%, rgba(26, 26, 26, 0.7) 100%);
		font-size: 1.4rem;
		opacity: 1;
		padding: 6px 0 2px 8px;
		margin-top: -32px;
	}
	.onsen .wrap_slide .box_content_inner {
		display: flex;
		flex-direction: column;
	}
	.wrap_slide .swiper .swiper-slide .box_content {
    display: flex;
    flex-direction: column;
	}
	.onsen .aem-Grid.aem-Grid--default--6>.aem-GridColumn.aem-GridColumn--offset--default--0 {
		flex-grow: 1;
	}
}