@charset "utf-8";

/* 基礎レイアウト
========================================================= */

img { width: 100%; height: auto; vertical-align: top; }

#contentsheader { overflow: hidden; display: block; width: 100%; height: 360px; background-repeat: no-repeat; background-position: center center; background-size: cover; text-align: center; }
#contentsheader p.icon { width: 55px; height: 55px; background: url(/images/h1_special2_icon.svg) no-repeat left top; margin: 120px auto 25px; }
#contentsheader h1 { color: #ffffff; font-size: 48px; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 1199px) {
	#contentsheader { height: 320px; }
	#contentsheader p.icon { margin-top: 100px; }
}

@media screen and (max-width: 992px) {
	#contentsheader { height: 280px; }
	#contentsheader p.icon { margin-top: 80px; }
}

@media screen and (max-width: 768px) {
	#contentsheader { height: 240px; }
	#contentsheader p.icon { width: 44px; height: 44px; margin-top: 60px; margin-bottom: 22px; }
	#contentsheader h1 { font-size: 36px; }
}

@media screen and (max-width: 480px) {
	#contentsheader { height: 160px; }
	#contentsheader p.icon { width: 33px; height: 33px; margin-top: 40px; margin-bottom: 16px; }
	#contentsheader h1 { font-size: 24px; }
}



/* 汎用クラス
========================================================= */

.taC { text-align: center; }



/* cultureMain
========================================================= */

#cultureMain { padding-right: calc( 10 / 320 * 100% ); padding-left: calc( 10 / 320 * 100% ); margin-top: 60px; margin-bottom: 38px; }
#cultureMain  .mainTitle { max-width: 1100px; margin: 0 auto 33px; }
#cultureMain  p { font-size: 17px; line-height: 30px; color: #e60044; text-align: center; }
#cultureMain  p span { display: inline-block; }

@media screen and (max-width: 767px) {
	#cultureMain { margin-top: 30px; }
	#cultureMain .mainTitle { width: 300px; background: url(/images/special/09/main_title2.gif) no-repeat left top; background-size: cover; padding-top: 135px; margin: 0 auto 20px; }
	#cultureMain .mainTitle img { display: none; }
	#cultureMain p { max-width: 500px; font-size: 15px; line-height: 26px; text-align: left; margin-right: auto; margin-left: auto; }
	#cultureMain p span { display: inline; }
	#cultureMain p br { display: none; }
}



/* cultureNav
========================================================= */

#cultureNav { overflow: hidden; padding-right: calc( 10 / 320 * 100% ); padding-left: calc( 10 / 320 * 100% ); }
#cultureNav.navType1 { padding-top: 70px; }
#cultureNav.navType2 { padding-top: 30px; }
#cultureNav .pageNav { max-width: 800px; margin-right: auto; margin-left: auto; }
#cultureNav .pageNav a { float: left; width: calc( 200 / 800 * 100% ); }

@media screen and (min-width: 769px) {
	#cultureNav .pageNav a img { -webkit-transition: 0.2s ease; transition: 0.2s ease; }
	#cultureNav .pageNav a:hover img { opacity: 0; }
	#cultureNav .pageNav a:nth-child(1) { background: url(/images/special/09/culture_nav2_01.gif) no-repeat left top; background-size: cover; }
	#cultureNav .pageNav a:nth-child(2) { background: url(/images/special/09/culture_nav2_02.gif) no-repeat left top; background-size: cover; }
	#cultureNav .pageNav a:nth-child(3) { background: url(/images/special/09/culture_nav2_03.gif) no-repeat left top; background-size: cover; }
	#cultureNav .pageNav a:nth-child(4) { background: url(/images/special/09/culture_nav2_04.gif) no-repeat left top; background-size: cover; }
}

@media screen and (max-width: 767px) {
	#cultureNav.navType1 { padding-top: 30px; }
}



/* cultureContnt
========================================================= */

#cultureContnt1 { position: relative; background-color: #fff100; padding-top: 50px; padding-bottom: 100px; margin-top: 175px; margin-bottom: 114px; }
#cultureContnt2 { position: relative; background-color: #f8c6b5; padding-top: 50px; padding-bottom: 100px; margin-top: 175px; }
#cultureContnt3 { background-color: #e1e260; padding-top: 50px; padding-bottom: 100px; }
#cultureContnt4 { position: relative; background-color: #bde1d6; padding-top: 50px; padding-bottom: 100px; margin-bottom: 114px; }
#cultureContnt1::before,
#cultureContnt1::after,
#cultureContnt2::before,
#cultureContnt4::after { position: absolute; left: 0; right: 0; display: block; width: 100%; height: 114px; content: ""; margin-right: auto; margin-left: auto; }
#cultureContnt1::before { top: -114px; background: url(/images/special/09/decoration_bg1.svg) repeat-x center top; background-size: 60px 114px; }
#cultureContnt2::before { top: -114px; background: url(/images/special/09/decoration_bg3.svg) repeat-x center top; background-size: 60px 114px; }
#cultureContnt1::after { bottom: -114px; background: url(/images/special/09/decoration_bg2.svg) repeat-x center top; background-size: 60px 114px; }
#cultureContnt4::after { bottom: -114px; background: url(/images/special/09/decoration_bg4.svg) repeat-x center top; background-size: 60px 114px; }

.contntTitle { position: relative; margin-bottom: 100px; }
.contntTitle::after { position: absolute; top: 0; bottom: 0; left: 0; display: block; width: 100%; height: 30px; background-color: #ffffff; content: ""; margin-top: auto; margin-bottom: auto; }
.contntTitle .titleInner { position: relative; max-width: 360px; margin-right: auto; margin-left: auto; z-index: 1; }

.contentArea { padding-right: calc( 15 / 320 * 100% ); padding-left: calc( 15 / 320 * 100% ); }
.contentArea .areaInner { max-width: 1100px; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 1199px) {
	.contntTitle { margin-bottom: calc( 100 / 1200 * 100% ); }
}

@media screen and (max-width: 767px) {
	#cultureContnt1 { padding-bottom: 60px; margin-top: 100px; margin-bottom: 57px; }
	#cultureContnt2 { padding-bottom: 60px; margin-top: 100px; }
	#cultureContnt3 { padding-bottom: 60px; }
	#cultureContnt4 { padding-bottom: 60px; margin-bottom: 57px; }
	#cultureContnt1::before,
	#cultureContnt2::before,
	#cultureContnt1::after,
	#cultureContnt4::after { height: 57px; }
	#cultureContnt1::before,
	#cultureContnt2::before { top: -56px; background-size: 30px 57px; }
	#cultureContnt1::after,
	#cultureContnt4::after { bottom: -56px; background-size: 30px 57px; }
	
	.contntTitle { margin-bottom: 30px; }
	.contntTitle::after { height: 24px; }
	.contntTitle .titleInner { max-width: 290px; }
}


/* blockTitle
------------------------------------------ */

.blockTitle1 { max-width: 460px; margin: 0 auto 30px; }
.blockTitle2 { max-width: 410px; margin: 0 auto 30px; }

@media screen and (max-width: 767px) {
	.blockTitle1 { max-width: 360px; margin-bottom: 15px; }
	.blockTitle2 { max-width: 320px; margin-bottom: 15px; }
}


/* blockList
------------------------------------------ */

.blockList { overflow: hidden; }
.blockList .listImg { float: right; padding-top: 5px; }
.blockList .listImg .imgCaption { font-size: 13px; line-height: 22px; padding-left: 2px; margin-top: 6px; }
.blockList .listImg .imgData { position: relative; max-width: 290px; box-sizing: border-box; background-color: #ffffff; font-size: 13px; line-height: 22px; padding: 17px 20px 15px; margin-top: -40px; margin-left: 60px; }
.blockList .listTxt { float: left; }
.blockList .listTxt .txtMain { margin-bottom: 24px; }
.blockList .listTxt .txtMain .mainName { font-size: 26px; line-height: 36px; font-weight: 700; margin-bottom: 16px; }
.blockList .listTxt .txtMain .mainName span { font-size: 15px; }
.blockList .listTxt .txtMain .mainLead { font-size: 15px; line-height: 28px; }
.blockList .listTxt .txtCap div { margin-bottom: 6px; }
.blockList .listTxt .txtCap p { font-size: 13px; line-height: 22px; }
.blockList .listTxt .txtCap p span { font-weight: 700; }
.blockList .listTxt .txtCap2L { overflow: hidden; }
.blockList .listTxt .txtCap2L .capImg1 { float: left; }
.blockList .listTxt .txtCap2L .capImg2 { float: right; }
.blockList .listTxt .txtCap2L .capImg1 div,
.blockList .listTxt .txtCap2L .capImg2 div { margin-bottom: 6px; }
.blockList .listTxt .txtCap2L .capImg1 p,
.blockList .listTxt .txtCap2L .capImg2 p { font-size: 13px; line-height: 22px; }
.blockList .listTxt .txtStore { overflow: hidden; }
.blockList .listTxt .txtStore .storeImg { float: left; }
.blockList .listTxt .txtStore .storeImg .imgData { position: relative; float: right; max-width: 290px; box-sizing: border-box; background-color: #ffffff; font-size: 13px; line-height: 22px; padding: 17px 18px 15px; margin-top: -20px; }
.blockList .listTxt .txtStore .storeImg .imgData .dataAdd { display: table; }
.blockList .listTxt .txtStore .storeImg .imgData .dataAdd dl { display: table-row; }
.blockList .listTxt .txtStore .storeImg .imgData .dataAdd dl dt,
.blockList .listTxt .txtStore .storeImg .imgData .dataAdd dl dd { display: table-cell; }
.blockList .listTxt .txtStore .storeInfo { font-size: 13px; line-height: 22px; }
.blockList .listTxt .txtStore .storeInfo .infoName { font-weight: 700; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; letter-spacing: 0; }
.blockList .listTxt .txtStore .storeInfo .infoData { display: table; }
.blockList .listTxt .txtStore .storeInfo .infoData dl { display: table-row; }
.blockList .listTxt .txtStore .storeInfo .infoData dl dt { display: table-cell; white-space: nowrap; vertical-align: top; }
.blockList .listTxt .txtStore .storeInfo .infoData dl dd { display: table-cell; vertical-align: top; }
.blockList .listTxt .txtStore .storeInfo .infoData dl dd span { display: inline-block; }

.blockList.list1Type1 { margin-bottom: 130px; } 
.blockList.list1Type1 .listImg { width: calc( 530 / 1100 * 100% ); }
.blockList.list1Type1 .listTxt { width: calc( 520 / 1100 * 100% ); }
.blockList.list1Type1 .listTxt .txtCap { margin-bottom: calc( 50 / 520 * 100% ); }
.blockList.list1Type1 .listTxt .txtStore .storeImg { width: calc( 280 / 520 * 100% ); padding-top: 3px; }
.blockList.list1Type1 .listTxt .txtStore .storeInfo { float: right; width: calc( 210 / 520 * 100% ); }

.blockList.list1Type2 .listImg { width: calc( 670 / 1100 * 100% ); }
.blockList.list1Type2 .listTxt { width: calc( 380 / 1100 * 100% ); }
.blockList.list1Type2 .listTxt .txtStore .storeImg { margin-bottom: calc( 30 / 380 * 100% ); }
.blockList.list1Type2 .listTxt .txtStore { max-width: 380px; }

.blockList.list1Type3 { margin-bottom: 130px; }
.blockList.list1Type3 .listImg { width: calc( 530 / 1100 * 100% ); }
.blockList.list1Type3 .listTxt { width: calc( 520 / 1100 * 100% ); }
.blockList.list1Type3 .listTxt .txtCap { display: table; margin-bottom: calc( 36 / 520 * 100% ); }
.blockList.list1Type3 .listTxt .txtCap div { display: table-cell; width: 320px; }
.blockList.list1Type3 .listTxt .txtCap p { display: table-cell; width: 180px; vertical-align: bottom; padding-left: 20px; }
.blockList.list1Type3 .listTxt .txtStore .storeInfo { width: 210px; }

.blockList.list1Type4 { margin-bottom: 130px; }
.blockList.list1Type4 .listImg { width: calc( 670 / 1100 * 100% ); }
.blockList.list1Type4 .listTxt { width: calc( 380 / 1100 * 100% ); }
.blockList.list1Type4 .listTxt .txtCap { max-width: 380px; margin-bottom: calc( 30 / 380 * 100% ); }
.blockList.list1Type4 .listTxt .txtStore { max-width: 380px; }

.blockList.list1Type5 { margin-bottom: 60px; }
.blockList.list1Type5 .listImg { overflow: hidden; width: calc( 670 / 1100 * 100% ); }
.blockList.list1Type5 .listImg .imgSub { position: relative; float: right; width: calc( 228 / 670 * 100% ); margin-top: calc( -75 / 670 * 100% ); }
.blockList.list1Type5 .listTxt { width: calc( 380 / 1100 * 100% ); }
.blockList.list1Type5 .listTxt .txtCap { max-width: 300px; margin-bottom: calc( 30 / 380 * 100% ); }
.blockList.list1Type5 .listTxt .txtStore { max-width: 300px; }

/* .blockList.list2Type1 { margin-bottom: 110px; } */
.blockList.list2Type1 .listImg { overflow: hidden; width: calc( 670 / 1100 * 100% ); }
.blockList.list2Type1 .listImg .imgCaption { width: calc( 500 / 670 * 100% ); }
.blockList.list2Type1 .listImg .imgSub { position: relative; float: right; width: calc( 120 / 670 * 100% ); margin-top: calc( -80 / 670 * 100% ); margin-right: calc( 23 / 670 * 100% ); }
.blockList.list2Type1 .listTxt { width: calc( 380 / 1100 * 100% ); }
.blockList.list2Type1 .listTxt .txtCap { max-width: 380px; margin-bottom: calc( 30 / 380 * 100% ); }
.blockList.list2Type1 .listTxt .txtStore { max-width: 380px; }

.blockList.list2Type2 .listImg { width: calc( 670 / 1100 * 100% ); }
.blockList.list2Type2 .listTxt { width: calc( 380 / 1100 * 100% ); }
.blockList.list2Type2 .listTxt .txtCap { max-width: 380px; margin-bottom: calc( 30 / 380 * 100% ); }
.blockList.list2Type2 .listTxt .txtCap .capSub { overflow: hidden; margin-top: 6px; }
.blockList.list2Type2 .listTxt .txtCap .capSub .subImg { position: relative; float: left; width: calc( 144 / 380 * 100% ); margin-top: calc( -92 / 380 * 100% ); margin-left: calc( 25 / 380 * 100% ); }
.blockList.list2Type2 .listTxt .txtStore { max-width: 380px; }

.blockList.list3Type1 { margin-bottom: 80px; }
.blockList.list3Type1 .listImg { width: calc( 670 / 1100 * 100% ); }
.blockList.list3Type1 .listTxt { width: calc( 380 / 1100 * 100% ); }
.blockList.list3Type1 .listTxt .txtCap { max-width: 380px; margin-bottom: calc( 30 / 380 * 100% ); }
.blockList.list3Type1 .listTxt .txtStore { max-width: 380px; }

.blockList.list3Type2 .listImg { width: calc( 670 / 1100 * 100% ); }
.blockList.list3Type2 .listTxt { width: calc( 380 / 1100 * 100% ); }
.blockList.list3Type2 .listTxt .txtCap2L { max-width: 380px; margin-bottom: calc( 30 / 380 * 100% ); }
.blockList.list3Type2 .listTxt .txtCap2L .capImg1,
.blockList.list3Type2 .listTxt .txtCap2L .capImg2 { width: calc( 170 / 380 * 100% ); }
.blockList.list3Type2 .listTxt .txtStore { max-width: 380px; }

.blockList.list4Type1 { margin-bottom: 80px; }
.blockList.list4Type1 .listImg { width: calc( 670 / 1100 * 100% ); }
.blockList.list4Type1 .listTxt { width: calc( 380 / 1100 * 100% ); }
.blockList.list4Type1 .listTxt .txtCap { max-width: 380px; margin-bottom: calc( 30 / 380 * 100% ); }
.blockList.list4Type1 .listTxt .txtStore { max-width: 380px; }

.blockList.list4Type2 { margin-bottom: 80px; }
.blockList.list4Type2 .listImg { width: calc( 670 / 1100 * 100% ); }
.blockList.list4Type2 .listTxt { width: calc( 380 / 1100 * 100% ); }
.blockList.list4Type2 .listTxt .txtCap { max-width: 380px; margin-bottom: calc( 30 / 380 * 100% ); }
.blockList.list4Type2 .listTxt .txtStore { max-width: 380px; }

.blockList.list4Type3 .listImg { width: calc( 670 / 1100 * 100% ); }
.blockList.list4Type3 .listTxt { width: calc( 380 / 1100 * 100% ); }
.blockList.list4Type3 .listTxt .txtCap { max-width: 380px; margin-bottom: calc( 30 / 380 * 100% ); }
.blockList.list4Type3 .listTxt .txtStore { max-width: 380px; }

@media screen and (max-width: 1199px) {
	.blockList .listTxt .txtStore .storeImg .imgData { font-size: 12px; line-height: 20px; padding: 15px 15px 13px; }
	
	.blockList.list1Type1 { margin-bottom: calc( 130 / 1200 * 100% ); }
	.blockList.list1Type1 .listImg { width: calc( 500 / 1100 * 100% ); }
	.blockList.list1Type1 .listTxt { width: calc( 550 / 1100 * 100% ); }
	.blockList.list1Type1 .listTxt .txtStore .storeImg { width: calc( 220 / 520 * 100% ); padding-top: 3px; }
	.blockList.list1Type1 .listTxt .txtStore .storeInfo { float: right; width: calc( 280 / 520 * 100% ); }
	.blockList.list1Type2 { margin-bottom: 30px; }
	.blockList.list1Type2 .listImg { width: calc( 560 / 1100 * 100% ); }
	.blockList.list1Type2 .listTxt { width: calc( 490 / 1100 * 100% ); }
	.blockList.list1Type3 { margin-bottom: calc( 130 / 1200 * 100% ); }
	.blockList.list1Type4 { margin-bottom: calc( 130 / 1200 * 100% ); }
	.blockList.list2Type1 { margin-bottom: calc( 110 / 1200 * 100% ); }
	.blockList.list3Type1 { margin-bottom: calc( 110 / 1200 * 100% ); }
	.blockList.list1Type1 .listTxt:nth-child(1),
	.blockList.list1Type2 .listTxt:nth-child(1),
	.blockList.list1Type4 .listTxt:nth-child(1),
	.blockList.list1Type5 .listTxt:nth-child(1),
	.blockList.list2Type1 .listTxt:nth-child(1),
	.blockList.list2Type2 .listTxt:nth-child(1),
	.blockList.list3Type1 .listTxt:nth-child(1),
	.blockList.list3Type2 .listTxt:nth-child(1),
	.blockList.list4Type1 .listTxt:nth-child(1),
	.blockList.list4Type2 .listTxt:nth-child(1),
	.blockList.list4Type3 .listTxt:nth-child(1) { float: none; width: 100%; }
}

@media screen and (max-width: 767px) {
	.blockList { max-width: 500px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-right: auto; margin-left: auto; }
	.blockList.list1Type1,
	.blockList.list1Type2,
	.blockList.list1Type3,
	.blockList.list1Type4,
	.blockList.list2Type1,
	.blockList.list3Type1,
	.blockList.list4Type1,
	.blockList.list4Type2 { margin-bottom: 60px; }
	.blockList.list1Type1 .listImg,.blockList.list1Type1 .listTxt,
	.blockList.list1Type2 .listImg,.blockList.list1Type2 .listTxt,
	.blockList.list1Type3 .listImg,.blockList.list1Type3 .listTxt,
	.blockList.list1Type4 .listImg,.blockList.list1Type4 .listTxt,
	.blockList.list1Type5 .listImg,.blockList.list1Type5 .listTxt,
	.blockList.list2Type1 .listImg,.blockList.list2Type1 .listTxt,
	.blockList.list2Type2 .listImg,.blockList.list2Type2 .listTxt,
	.blockList.list3Type1 .listImg,.blockList.list3Type1 .listTxt,
	.blockList.list3Type2 .listImg,.blockList.list3Type2 .listTxt,
	.blockList.list4Type1 .listImg,.blockList.list4Type1 .listTxt,
	.blockList.list4Type2 .listImg,.blockList.list4Type2 .listTxt,
	.blockList.list4Type3 .listImg,.blockList.list4Type3 .listTxt { width: 100%; }
	.blockList .listImg { float: none; padding-top: 0; margin-bottom: 30px; }
	.blockList .listTxt { float: none; }
	.blockList .listTxt:nth-child(1) { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
	.blockList .listImg:nth-child(2) { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
	.blockList .listTxt:nth-child(3) { -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3; }
	.blockList .listImg .imgData { font-size: 12px; line-height: 20px; padding: 15px 15px 13px; margin-top: -20px; margin-left: 15px; margin-right: 15px; }
	.blockList .listTxt .txtMain .mainName { font-size: 20px; line-height: 26px; margin-bottom: 10px; }
	.blockList .listTxt .txtMain .mainName span { font-size: 13px; }
	.blockList .listTxt .txtMain .mainLead { font-size: 14px; line-height: 24px; }
	.blockList .listTxt .txtCap,
	.blockList .listTxt .txtCap2L,
	.blockList .listTxt .txtStore { margin-right: auto; margin-left: auto; }
	.blockList .listTxt .txtCap2L .capImg1 p,
	.blockList .listTxt .txtCap2L .capImg2 p { font-size: 12px; line-height: 18px; }
	.blockList.list1Type1 .listTxt .txtStore .storeImg { float: none; width: 280px; padding-top: 0; margin: 0 auto 20px; }
	.blockList.list1Type1 .listTxt .txtStore .storeInfo { float: none; width: 210px; margin-right: auto; margin-left: auto; }
	.blockList.list1Type3 .listTxt .txtStore .storeInfo { margin-right: auto; margin-left: auto; }
	.blockList.list4Type2 .listTxt .txtStore .storeInfo,
	.blockList.list4Type3 .listTxt .txtStore .storeInfo { width: 190px; margin-right: auto; margin-left: auto; }
}


/* blockSpot
------------------------------------------ */

.blockSpot { overflow: hidden; padding-top: 30px; }
.blockSpot .spotInner { position: relative; max-width: 840px; border: solid 20px #ffffff; box-sizing: border-box; border-radius: 40px; }
.blockSpot .spotInner .spotTitle { position: absolute; top: -50px; left: 0; right: 0; width: 233px; margin-right: auto; margin-left: auto; }
.blockSpot .spotInner .spotTxt .txtCopy { font-size: 20px; line-height: 32px; font-weight: 700; margin-bottom: 15px; }
.blockSpot .spotInner .spotTxt .txtLead { font-size: 15px; line-height: 28px; margin-bottom: 28px; }
.blockSpot .spotInner .spotTxt .txtData { font-size: 13px; line-height: 22px; }
.blockSpot .spotInner .spotImg p { font-size: 13px; line-height: 22px; margin-top: 6px; }

.blockSpot.spotType1 { margin-bottom: 110px; }
.blockSpot.spotType1 .spotInner { float: right; padding: 55px 20px 34px 40px; margin-right: -40px; }
.blockSpot.spotType1 .spotInner .spotImg { float: right; width: calc( 320 / 740 * 100% ); padding-top: 5px; }
.blockSpot.spotType1 .spotInner .spotTxt { float: left; width: calc( 380 / 740 * 100% ); }

.blockSpot.spotType2 .spotInner { float: left; padding: 55px 40px 34px 20px; margin-left: -40px; }
.blockSpot.spotType2 .spotInner .spotTxt { margin-bottom: 30px; }
.blockSpot.spotType2 .spotInner .spotImg { overflow: hidden; }
.blockSpot.spotType2 .spotInner .spotImg .imgBlock1 { float: left; width: calc( 360 / 740 * 100% ); }
.blockSpot.spotType2 .spotInner .spotImg .imgBlock2 { float: right; width: calc( 360 / 740 * 100% ); }

@media screen and (max-width: 1199px) {
	.blockSpot.spotType1 { margin-bottom: calc( 110 / 1200 * 100% ); }
}

@media screen and (max-width: 767px) {
	.blockSpot { max-width: 500px; padding-top: 40px; }
	.blockSpot .spotInner { border-width: 10px; border-radius: 20px; }
	.blockSpot .spotInner .spotImg p { font-size: 12px; line-height: 20px; }
	.blockSpot .spotInner .spotTxt .txtCopy { font-size: 18px; line-height: 28px; margin-bottom: 10px; }
	.blockSpot .spotInner .spotTxt .txtLead { font-size: 14px; line-height: 24px; margin-bottom: 20px; }
	.blockSpot .spotInner .spotTxt .txtData { font-size: 12px; line-height: 20px; }
	
	.blockSpot.spotType1 { margin: 0 auto 60px; }
	.blockSpot.spotType1 .spotInner { padding-right: 10px; padding-left: 20px; margin-right: -20px; }
	.blockSpot.spotType1 .spotInner .spotImg { float: none; max-width: 320px; width: auto; margin: 0 auto 20px; }
	.blockSpot.spotType1 .spotInner .spotTxt { float: none; width: 100%; }
	
	.blockSpot.spotType2 { margin-right: auto; margin-left: auto; }
	.blockSpot.spotType2 .spotInner { padding-right: 20px; padding-left: 10px; margin-left: -20px; }
	.blockSpot.spotType2 .spotInner .spotTxt { margin-bottom: 50px; }
	.blockSpot.spotType2 .spotInner .spotImg .imgBlock1,
	.blockSpot.spotType2 .spotInner .spotImg .imgBlock2 { float: none; max-width: 360px; width: auto; margin-right: auto; margin-left: auto; }
	.blockSpot.spotType2 .spotInner .spotImg .imgBlock1 { margin-bottom: 20px; }
}



/* plusIssue
========================================================= */

.plusIssue { padding: 0 calc( 15 / 320 * 100% ); margin: 50px 0 0 0; }
.plusIssue p { text-align: center; margin: 0 auto; }
.plusIssue p span { display: inline-block; padding: 0 0.5em; }
.plusIssue ul { display: table; font-size: 13px; line-height: 20px; margin: 15px auto 0; }
.plusIssue li { display: table-cell; vertical-align: top; }

@media screen and (max-width: 767px) {
	.plusIssue { margin: 30px 0 0 0; }
}



/* 汎用パーツ
========================================================= */

/* detailsLink
------------------------------------------ */

.detailsLink { max-width: 190px; margin-top: 15px; }
.detailsLink a { display: block; background-color: #333333; font-size: 15px; line-height: 24px; color: #ffffff; text-align: center; text-decoration: none; border-radius: 5px; padding: 6px 5px 5px; }

@media screen and (min-width: 769px) {
	.detailsLink a { -webkit-transition: 0.2s ease; transition: 0.2s ease; }
	.detailsLink a:hover { background-color: #ff6600; }
}

@media screen and (max-width: 767px) {
	.detailsLink { margin-right: auto; margin-left: auto; }
}


/* outLink
------------------------------------------ */

.outLink { margin-top: 11px; }
.outLink a { position: relative; display: block; padding-left: 20px; }
.outLink a::before { position: absolute; top: 6px; left: 4px; display: block; width: 9px; height: 8px; box-sizing: border-box; border: solid 1px #333333; background-color: #bde1d6; content: ""; }
.outLink a::after { position: absolute; top: 9px; left: 1px; display: block; width: 9px; height: 7px; box-sizing: border-box; border: solid 1px #333333; outline: solid 1px #bde1d6; background-color: #bde1d6; content: ""; }


/* radiusImg
------------------------------------------ */

.radiusImg20 img { border-radius: 20px; }
.radiusImg30 img { border-radius: 30px; }
.radiusImg130 img { border-radius: 130px; }
.radiusImg150 img { border-radius: 150px; }

@media screen and (max-width: 767px) {
	.radiusImg20 img { border-radius: 10px; }
	.radiusImg30 img { border-radius: 15px; }
	.radiusImg130 img { border-radius: 100px; }
	.radiusImg150 img { border-radius: 120px; }
}
