@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
#container {
	margin: 0;
	padding: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: normal;
	overflow: hidden;
}
.fnFade:hover {
	opacity: .6;
}


/* ==

　01. モジュール

=============================================================================== */
/* 横遷移ナビ
------------------------------------------------------------------------------- */
.soNav01 {
	margin: 60px 0 0;
	padding: 0 0 80px;
}
.soNav01 a {
	display: block;
	max-width: 480px;
	margin: 0 auto;
}
/* MV
------------------------------------------------------------------------------- */
.cpMv{
	padding: 20px;
	background: url(../images/bg01.png) left top no-repeat;
	background-size: 100% auto;
}
.cpMv_in{
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 10px;
	box-sizing: border-box;
	position: relative;
}
.cpMv figure{
	margin-right: -190px;
	position: absolute;
	top: 0;
	left: 450px;
}
@media only screen and (max-width: 1400px) {
	.cpMv{
		background-size: auto 100%;
	}
}


.cpTarget{
	margin: 0 20px;
}
.cpTarget_in{
	max-width: 1000px;
	margin: 0 auto;
	padding: 40px 350px 0 0;
	box-sizing: border-box;
}
.cpTarget dl{
	font-size: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0 17px;
}
.cpTarget dt{
	min-width: 70px;
	border: 1px solid #333;
	font-size: 117%;
	color: #333;
	font-weight: 700;
	box-sizing: border-box;
	text-align: center;
}
.cpTarget dd{
	width: calc(100% - 90px);
	margin-top: -5px;
	margin-bottom: 40px;
	font-size: 167%;
	color: #333;
	font-weight: 700;
}
.cpTarget dd p{
	margin-top: 5px;
	margin-left: -87px;
	font-size: 70%;
	font-weight: 400;
}

@media only screen and (max-width: 1100px) {
	.cpTarget_in{
		padding: 40px 300px 0 0;
	}
}





/* キャンペーン詳細
------------------------------------------------------------------------------- */
.cpDetails{
	margin-bottom: 300px;
	padding: 0 20px;
	background-color: #FFFEEE;
}
.cpDetails_in{
	max-width: 1000px;
	margin: 0 auto;
	padding: 60px 0 270px;
	position: relative;
}
/*
.cpDetails_lead{
	margin-bottom: 15px;
	font-size: 135%;
	line-height: 1.875;
	color: #333;
	font-weight: 500;
	text-align: center;
}
.cpDetails_note{
	font-size: 110%;
	color: #333;
	text-align: center;
}
*/
.cpDetails_service{
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	letter-spacing: 0.02em;
	text-align: center;
	/*
	display: flex;
	justify-content: center;
	align-items: center;
	*/
}
.cpDetails_service_txt01{
	margin-bottom: 30px;
	font-size: 200%;
	color: #333;
	font-weight:bold;
}
.cpDetails_service_txt01-2{
	margin-bottom: 20px;
	font-size: 150%;
	color: #E60418;
	font-weight:bold;
}
.cpDetails_service_txt02{
	margin-top: 20px;
	font-size: 222%;
	line-height: 1.3;
	color: #333;
	font-weight: bold;
	white-space: nowrap;
}
.cpDetails_service_txt02 span.grade{
	margin-top: -10px;
	padding: 0 2px;
	background-image: linear-gradient(270deg,rgba(175, 140, 51, 1) 0%, rgba(242, 229, 117, 1) 100%);
	background-size: 100% 30%;
	background-position: bottom;
	background-repeat: no-repeat;
	font-size: 45px;
	display: inline-block;
}
.cpDetails_service_txt02 span.grade em{
	font-size: 74px;
}
.cpDetails_service_txt02 span.grade .fsS{
	font-size: 62px;
}
.cpDetails_service_txt02 span.grade .fsXS{
	font-size: 37px;
}
.cpDetails_service_txt02 .fsM{
	font-size: 42px;
}
.cpDetails .cpDetails_service_img{
	position: absolute;
	bottom: -200px;
	left: 0;
}
.cpDetails .cpDetails_note{
	margin-top: 10px;
	font-size: 110%;
	text-align: center;
}

@media only screen and (max-width: 1100px) {
	.cpDetails_service_txt01 br.w1100{
		display: inline;
	}
}




/* アイテム紹介
------------------------------------------------------------------------------- */
.cpItems{
	margin: 0 20px 40px;
}
.cpItems h2{
	max-width: 1000px;
	margin: 0 auto 40px;
	padding-bottom: 10px;
	border-bottom: 1px solid #0092DB;
	font-size: 233%;
	line-height: 1.57;
	font-weight: 500;
	color: #0092DB;
	text-align: center;
}
.cpItems_in{
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 40px 80px;
}
.cpItems_in > div{
	width: calc((100% - 80px) / 2);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.cpItems_in > div figure{
	min-height: 200px;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
}



.cpItems h3{
	margin-bottom: 10px;
	font-size: 150%;
	color: #0092DB;
	font-weight: 500;
	text-align: center;
}
.cpItems h3 span{
	font-size: 77.77%;
}
.cpItems_in p{
	font-size: 117%;
	line-height: 1.6;
	color: #333;
	font-weight: 500;
}

.cpItems p.cpItems_note{
	max-width: 1000px;
	margin: 40px auto 0;
	font-size: 117%;
	font-weight: 400;
	color: #333;
	text-align: right;
}




/* キャンペーン概要
------------------------------------------------------------------------------- */
.exGaiyo{
	margin-bottom: 55px;
	padding: 0 20px;
	color: #333;
}
.exGaiyo_in{
	max-width: 1000px;
	margin: 0 auto;
	padding: 70px 0 0;
	position: relative;
}
.exGaiyo h2{
	margin-bottom: 20px;
	padding: 10px;
	background-color: #0092DB;
	font-size: 135%;
	color: #FFF;
	text-align: center;
}
.exGaiyo dl{
	font-size: 100%;
}
.exGaiyo dt{
	font-size: 135%;
}
.exGaiyo dd{
	margin: -1.75em 0 20px;
	padding: 0 0 0 120px;
	font-size: 135%;
}
/* ==

　02. 展示場

=============================================================================== */
/* キャンペーン対象会場
------------------------------------------------------------------------------- */
.spHeading01 {
	line-height: 1;
	margin: 46px 0 26px;
	color: #004377;
	font-size: 225%;
	font-weight: 700;
	text-align: center;
}
.spHeading01 span {
	display: inline-block;
	position: relative;
	padding: 0 33px;
}
.spHeading01 span::before{
	content: "\\";
	font-size: 30px;
	font-weight: 200;
	position: absolute;
	top: calc((100% - 30px) / 2);
	left: 0;
}
.spHeading01 span::after{
	content: "/";
	font-size: 30px;
	font-weight: 200;
	position: absolute;
	top: calc((100% - 30px) / 2);
	right: 0;
}
.tPlace01 {
	margin-bottom: 60px;
	padding: 0 15px;
}
.tPlace01_in {
	max-width: 950px;
	margin: 0 auto;
	padding: 29px 20px 20px;
	background-color: #004377;
	overflow: hidden;
	box-sizing: border-box;
}
.tPlace01_head {
	margin: 0 0 40px;
	text-align: center;
}
.tPlace01_tit {
	line-height: 1;
	margin: 0 0 30px;
	color: #fff;
	font-size: 167%;
	font-weight: 700;
	text-align: center;
}
.tPlace01_tit::before {
	content: "";
	display: inline-block;
	width: 55px;
	height: 55px;
	margin: 0 20px 0 0;
	background: url(../images/place_bg01.png) center center no-repeat;
	background-size: contain;
	vertical-align: -0.9em;
}
.tPlace01_tit-none {
	padding: 6px 0 4px;
}
.tPlace01_tit-none::before {
	content: none;
}
/* エリア情報
------------------------------------------------------------------------------- */
.area01 {
	padding: 26px 15px 32px;
	border-radius: 4px;
	background-color: #F5F5F5;
	overflow: hidden;
}
.area01_navs1 {
	color: #333;
	font-size: 14px; /* oldIE */
	font-size: 0.85rem;
	text-align: center;
	letter-spacing: -0.5em;
}
.area01_nav1 {
	width:10.7857%;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
}
#hokkaidoTab{ width:11.5%; }
#chubu2Tab{ width:13%; }
.area01_nav1 a,
.area01_nav1 > span {
	display: block;
	position: relative;
	padding: 18px 2% 18px;
	color: #000;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}
.area01_nav1 a:after,
.area01_nav1 > span:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 13px;
	left: 50%;
	width: 6px;
	height: 6px;
	margin: 0 0 0 -4px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	border-color: #666;
	-webkit-transform:rotate(135deg);
	-ms-transform:rotate(135deg);
	transform:rotate(135deg);
}
.d_hover .area01_nav1 a:hover:after,
.d_hover .area01_nav1 > span:hover:after,
.area01_nav1-current a:after,
.area01_nav1-current > span:after,
.area01_nav1.fnTab_current a:after,
.area01_nav1.fnTab_current > span:after {
	border-color: #EAA960;
}
.d_hover .area01_nav1 a:hover,
.d_hover .area01_nav1 > span:hover {
	color: #EAA960;
}
.area01_nav1-current a,
.area01_nav1-current > span,
.area01_nav1.fnTab_current a,
.area01_nav1.fnTab_current > span {
	background-color: #fff;
	color: #EAA960;
	cursor: default;
}
.fnTab_target {
	display: none !important;
}
.fnTab_target.fnTab_current {
	display: block !important;
}

@media only screen and (max-width: 1150px) {
	.area01_navs1 { padding:0 20px; }
}
/* 地図
------------------------------------------------------------------------------- */
.tMap {
	position: relative;
	max-width:1150px;
	margin: 0 auto;
}
.tMap_img {
	display: block;
	}
.tMap_item {
	position: absolute;
}
/* 北海道 */
.tMap_item-pref1 {
	top: 45%;
	left: 47%;
}
/* 青森 */
.tMap_item-pref2 {
	top: 9%;
	left: 51%;
}
/* 岩手 */
.tMap_item-pref3 {
	top: 32%;
	left: 58%;
}
/* 宮城 */
.tMap_item-pref4 {
	top: 62%;
	left: 54%;
}
/* 秋田 */
.tMap_item-pref5 {
	top: 28%;
	left: 42%;
}
/* 山形 */
.tMap_item-pref6 {
	top: 56%;
	left: 38%;
}
/* 福島 */
.tMap_item-pref7 {
	top: 80%;
	left: 44%;
}
/* 茨城 */
.tMap_item-pref8 {
	top: 26%;
	left: 63%;
}
/* 栃木 */
.tMap_item-pref9 {
	top: 7%;
	left: 52%;
}
/* 群馬 */
.tMap_item-pref10 {
	top: 14%;
	left: 35%;
}
/* 埼玉 */
.tMap_item-pref11 {
	top: 37%;
	left: 42%;
}
/* 千葉 */
.tMap_item-pref12 {
	top: 65%;
	left: 64%;
}
/* 東京 */
.tMap_item-pref13 {
	top: 57%;
	left: 46%;
}
/* 神奈川 */
.tMap_item-pref14 {
	top: 75%;
	left: 43%;
}
/* 新潟 */
.tMap_item-pref15 {
	top: 15%;
	left: 65%;
}
/* 富山 */
.tMap_item-pref16 {
	top: 38%;
	left: 44%;
}
/* 石川 */
.tMap_item-pref17 {
	top: 45%;
	left: 31%;
}
/* 福井 */
.tMap_item-pref18 {
	top: 67%;
	left: 26%;
}
/* 山梨 */
.tMap_item-pref19 {
	top: 58%;
	left: 27%;
}
/* 長野 */
.tMap_item-pref20 {
	top: 59%;
	left: 56%;
}
/* 岐阜 */
.tMap_item-pref21 {
	top: 15%;
	left: 46%;
}
/* 静岡 */
.tMap_item-pref22 {
	top: 50%;
	left: 66%;
}
/* 愛知 */
.tMap_item-pref23 {
	top: 49%;
	left: 47%;
}
/* 三重 */
.tMap_item-pref24 {
	top: 67%;
	left: 36%;
}
/* 滋賀 */
.tMap_item-pref25 {
	top: 24%;
	left: 60%;
}
/* 京都 */
.tMap_item-pref26 {
	top: 18%;
	left: 47%;
}
/* 大阪 */
.tMap_item-pref27 {
	top: 46%;
	left: 44%;
}
/* 兵庫 */
.tMap_item-pref28 {
	top: 26%;
	left: 32%;
}
/* 奈良 */
.tMap_item-pref29 {
	top: 64%;
	left: 55%;
}
/* 和歌山 */
.tMap_item-pref30 {
	top: 77%;
	left: 41%;
}
/* 鳥取 */
.tMap_item-pref31 {
	top: 9%;
	left: 70%;
}
/* 島根 */
.tMap_item-pref32 {
	top: 20%;
	left: 42%;
}
/* 岡山 */
.tMap_item-pref33 {
	top: 42%;
	left: 68%;
}
/* 広島 */
.tMap_item-pref34 {
	top: 52%;
	left: 47%;
}
/* 山口 */
.tMap_item-pref35 {
	top: 67%;
	left: 17%;
}
/* 徳島 */
.tMap_item-pref36 {
	top: 40%;
	left: 66%;
}
/* 香川 */
.tMap_item-pref37 {
	top: 17%;
	left: 58%;
}
/* 愛媛 */
.tMap_item-pref38 {
	top: 38%;
	left: 31%;
}
/* 高知 */
.tMap_item-pref39 {
	top: 53%;
	left: 47%;
}
/* 福岡 */
.tMap_item-pref40 {
	top: 8%;
	left: 59%;
}
/* 佐賀 */
.tMap_item-pref41 {
	top: 14%;
	left: 47%;
}
/* 長崎 */
.tMap_item-pref42 {
	top: 32%;
	left: 46%;
}
/* 熊本 */
.tMap_item-pref43 {
	top: 43%;
	left: 56%;
}
/* 大分 */
.tMap_item-pref44 {
	top: 22%;
	left: 70%;
}
/* 宮崎 */
.tMap_item-pref45 {
	top: 58%;
	left: 68%;
}
/* 鹿児島 */
.tMap_item-pref46 {
	top: 72%;
	left: 55%;
}
/* 沖縄 */
.tMap_item-pref47 {
	top: 64%;
	left: 18%;
}
.tMap_item p {
	line-height: 1;
	margin: 0 0 8px;
	color: #000;
	font-size: 15px; /* oldIE */
	font-size: 1rem;
	text-align: center;
}
.tMap_item li {
	margin: 10px 0 0;
}
.tMap_item li:first-child {
	margin-top: 0;
}
.tMap_item a,
.tMap_item span {
	display: block;
	position: relative;
	line-height: 1.5;
	padding: 3px 32px 4px 21px;
	border: 2px solid #EAA960;
	border-radius: 4px;
	background-color: #fff;
	color: #EAA960;
	font-size: 14px; /* oldIE */
	font-size: 0.88rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
.d_hover .tMap_item a:hover {
	opacity: 0.6;
}
.tMap_item a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 7px;
	height: 7px;
	margin-top: -5px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
}
.tMap_item .tMap_disable {
	border-color: #999;
	color: #999;
}
.tMap_item .tMap_disable:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
}




/* 日本地図
------------------------------------------------------------------------------- */
.fSelect {
	max-width: 1150px;
	position: relative;
	margin: 0 auto;
}
.fMap {
	padding: 0;
	background-color: #fff;
	text-align: left;
}
.fMap_in{
	width: 750px;
	height: 465px;
	margin: 0 auto;
	position: relative;
}
.fMap_tit {
	margin: 0 0 0 17px;
	color: #000;
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,Georgia,メイリオ,Meiryo,serif;
	font-size: 200%;
	font-weight: bold;
}
.fMap_map {
	position: absolute;
	top: 58px;
	left: 220px;
	width: 330px;
}
.fMap_area {
	position: absolute;
}
.fMap_area-hokkaido {
	top: 70px;
	left: 564px;
	width: 170px;
}
.fMap_area-tohoku {
	top: 156px;
	left: 480px;
	width: 252px;
}
.fMap_area-kanto {
	top: 246px;
	left: 480px;
	width: 252px;
}
.fMap_area-chubu2 {
	top: 44px;
	left: 55px;
	width: 420px;
}
.fMap_area-chubu {
	top: 370px;
	left: 313px;
	width: 451px;
}
.fMap_area-kinki {
	top: 108px;
	left: 55px;
	width: 336px;
}
.fMap_area-chugoku {
	top: 201px;
	left: 55px;
	width: 252px;
}
.fMap_area-shikoku {
	top: 404px;
	left: 313px;
	width: 451px;
}
.fMap_area-kyushu {
	top: 292px;
	left: 55px;
	width: 168px;
}
.fMap_area p {
	line-height: 17px;
	margin: 0 0 7px;
	font-size: 16px;
	color: #333;
	white-space: nowrap;
}
.fMap_area-chubu p,
.fMap_area-shikoku p {
	float: left;
	width: 95px;
}
.fMap_area p span {
	margin: 0 0 0 2px;
	font-size: 78%;
}
.fMap_area ul {
	font-size: 13px;
}
.fMap_area-chubu ul,
.fMap_area-shikoku  ul {
	float: right;
	width: 356px;
	margin-top: -4px;
}
.fMap_area li {
	float: left;
	width: 69px;
	margin: 0 3px 3px 0;
}
.fMap_area .fMap_first {
	display: none;
}
.fMap_area ul a {
	display: block;
	line-height: 24px;
	padding: 0 0 2px 0;
	background-color: #D59248;
	color: #fff;
	text-align: center;
	text-decoration: none;
	opacity: 1.0;
}
.d_hover .fMap_area ul a:hover {
	opacity: 0.8;
}
.fMap_area:after,
.fMap_area ul:after { content: ''; display: block; clear: both; height: 0; }


