@charset "UTF-8";

html {
	scroll-behavior: smooth;
}

@media screen and (min-width: 769px) and (max-width: 1260px) {
	.container {
		max-width: 1260px;
	}
	.campaign-container-wrap .container {
		width: 100%;
	}
}

.campaign-container-wrap.container .side {
	display: none;
}

.campaign-container-wrap.container{
	width: 100% !important;
}

.campaign-container-wrap.container main{
	width: 100% !important;
	margin-left: 0;
}

@media screen and (min-width: 769px) and (max-width: 1260px) {
	.contents .container {
		max-width: 100% !important;
	}
	.main-section {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

@media screen and (max-width: 768px) {
	.campaign-container-wrap.container main {
		width: 100% !important;
	}
}

.campaign-container-wrap .side-bnr-section {
	display: none;
}

/*========================================
トップページ本文領域
========================================*/

.campaign-main-wrap {
	margin-top: 0;
	margin-bottom: 0 !important;
}

@media (max-width: 768px) {
	.campaign-main-wrap {
		padding-left: 0;
		padding-right: 0;
	}
}

.campaign-main-wrap .container-fluid {
	margin-left: auto;
	margin-right: auto; 
	width: 100%;
	max-width: 100%;
}

.campaign-main-wrap .container-fluid .row {
	margin-left: 0;
	margin-right: 0;
}

.campaign-main-wrap .container-fluid .row .col-xs-12,
.campaign-main-wrap .container-fluid .row .col-sm-12,
.campaign-main-wrap .container-fluid .row .col-md-12,
.campaign-main-wrap .container-fluid .row .col-lg-12 {
	padding: 0;
}

/* カテゴリー */
.campaign-category-wrap {
	margin-left: auto;
	margin-right: auto; 
	width: 95%;
}

/* メインビジュアル */
@media screen and (max-width: 768px) {
	.contents {
		padding-top: 138px !important;
	}
}

.campaign-category-wrap h2 {
	margin: 20px auto 35px auto;
	color: #333;
	font-size: 30px;
	font-weight: bold;
	font-family: 'Zen Maru Gothic', sans-serif;
}

.campaign-category-wrap .category-buttons {
	margin-bottom: 0;
	display: flex;
	justify-content: center;
	gap: 100px;
}

.campaign-category-wrap .category-button {
	padding: 10px 5px;
	width: 220px;
	height: 220px;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);
	cursor: pointer;
	transition: transform 0.2s;
}

.campaign-category-wrap .category-button:hover {
	transform: translateY(-2px);
}

/* カラー別 */
.campaign-category-wrap .category-button.green { background-color: #4CAF50; color: white; }
.campaign-category-wrap .category-button.blue { background-color: #2196F3; color: white; }
.campaign-category-wrap .category-button.orange { background-color: #FF9800; color: white; text-align: center; line-height: 1.6em; }

.campaign-category-wrap .category-button .icon {
	margin-top: 0px;
	width: 70px;
	height: 70px;
	object-fit: contain;
}

.campaign-category-wrap .category-button span {
	font-weight: bold;
	font-size: 40px;
	font-family: 'Zen Maru Gothic', sans-serif;
}

.campaign-category-wrap .category-button.orange span {
	font-size: 23px;
}

.campaign-category-wrap .category-button .arrow {
	margin-bottom: 0;
	width: 30px;
	height: 30px;
	object-fit: contain;
}

@media (max-width: 750px) {
	.campaign-category-wrap .category-buttons {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}
}

@media (max-width: 750px) {
	.campaign-category-wrap .category-button {
		width: 100%;
		height: auto;
		padding: 12px;
		border-radius: 12px;
		flex-direction: row;
		justify-content: space-between;
	}
	.campaign-category-wrap .category-button img {
		width: 40px !important;
		height: auto !important;
		margin-right: 7px;
	}
	.campaign-category-wrap .category-button.orange img {
		margin-right: 13px;
	}
	.campaign-category-wrap .category-button.orange{
		line-height: 1.2em;
	}
	.campaign-category-wrap .category-button span {
		flex: 1;
		text-align: center;
		font-size: 29px;
		font-weight: bold;
	}
	.campaign-category-wrap .category-button.orange span {
		text-align: left;
		font-size: 15px;
	}
	.campaign-category-wrap .category-button .arrow {
		margin-left: 32px;
		width: 15px !important;
		transform: rotate( -90deg );
	}
}

.main-section:not(:last-child) {
	margin-bottom: 0;
	padding-bottom: 50px;
}

/* 商品 */
.campaign-item-wrap {
	padding-top: 100px;
	background: #f4fcf2;
}

.campaign-item-wrap.tue {
	background: #f2f4fc !important;
}

.campaign-item-wrap.hokoki {
	padding-bottom: 30px;
	background: #fcfaf2 !important;
}

.campaign-item-wrap .container-fluid {
	margin-left: auto;
	margin-right: auto;
	width: 95%;
	max-width: 1280px;
}

.campaign-item-wrap h2 {
	margin: 0 auto 50px;
	padding: 8px 24px;
	width: 100%;
	max-width: 555px;
	font-size: 30px;
	font-weight: bold;
	font-family: 'Zen Maru Gothic', sans-serif;
	color: #fff;
	border-radius: 30px;
	text-align: center;
}

/* 緑（靴） */
.heading-green {
	background-color: #4CAF50;
}

/* 青（杖） */
.heading-blue {
	background-color: #2196F3;
}

/* オレンジ（歩行器） */
.heading-orange {
	background-color: #FF9800;
}

.product-card {
	margin: 0 auto;
	padding: 45px 75px;
	width: 100%;
	max-width: 538px;
	background: white;
	border-radius: 10px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);
	overflow: hidden;
	text-align: center;
}

.product-image {
	margin-bottom: 10px;
	width: 100%;
	height: auto;
}

.product-info {
	display: flex;
	flex-direction: column;
}

.product-info p {
	width: 100%;
	text-align: left;
}

.product-maker {
	margin: 0 0 5px;
	font-size: 19px;
}

.product-title {
	margin: 0 0 5px;
	font-size: 24px;
	font-weight: bold;
	font-family: 'Zen Maru Gothic', sans-serif;
	text-align: left;
}

.product-price {
	margin: 0;
	font-size: 31px;
	font-weight: bold;
	color: #e60033;
}

.product-info span {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 18px;
	color: #333;
}

.product-info span.font90 {
	font-family: 'Zen Maru Gothic', sans-serif;
}

.product-info span.font95 {
	font-family: 'Zen Maru Gothic', sans-serif;
}

.product-info .teika {
	font-size: 18px;
}

.product-info .teika-label {
	font-size: 13px;
}

.product-info .teika-tax {
	font-size: 90% !important;
}

.product-info .sale-price {
	font-size: 30px !important;
}

.product-info .sale-price-tax {
	font-size: 19px !important;
}

.product-colors {
	width: 100%;
	text-align: left;
}

.product-colors img {
	margin-bottom: 15px;
	max-width: 100%;
	height: auto;
}

.buy-button {
	padding: 15px 0;
	background-color: #FFD700;
	border: none;
	border-radius: 8px;
	font-weight: bold;
	font-size: 24px;
	cursor: pointer;
	transition: background-color 0.3s ease;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}

.buy-button:hover {
	background-color: #e5c100;
}

.campaign-guide-wrap {
	margin-bottom: 0 !important;
	padding-bottom: 5px !important;
}

.campaign-guide-wrap .container-fluid {
	margin-left: auto;
	margin-right: auto;
	width: 95%;
	max-width: 1200px;
}

.guide-text {
	margin: 0 auto 15px;
	text-align: center;
}

.guide-text img {
	width: 100%;
	max-width: 315px;
}

.campaign-banner {
	margin: 0 auto;
	padding: 40px 20px;
	background-color: #ffe6e6;
	border-radius: 20px;
	text-align: center;
	width: 100%;
}

.highlight-text {
	margin-bottom: 15px;
	font-size: 33px;
	font-weight: bold;
	font-family: 'Zen Maru Gothic', sans-serif;
	color: #f44336;
}

.under-text {
	margin-bottom: 10px;
	font-size: 25px;
	font-weight: bold;
	font-family: 'Zen Maru Gothic', sans-serif;
	color: #333;
}

.area-list {
	margin-bottom: 25px;
	font-size: 17px;
	font-family: 'Zen Maru Gothic', sans-serif;
	color: #444;
}

.btn-location {
	padding: 12px 30px;
	display: inline-block;
	background-color: #f55474;
	color: white;
	font-size: 25px;
	font-weight: bold;
	text-decoration: none;
	border-radius: 30px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.15);
	transition: background-color 0.3s;
}

.btn-location:hover {
	background-color: #e54868;
}

[id] {
	scroll-margin-top: 200px;
}

@media (min-width: 480px) and (max-width: 989px) {
	.campaign-category-wrap .category-buttons {
		gap: 20px;
	}
	.product-card {
		padding: 30px 15px;
	}
	.product-title {
		font-size: 20px;
	}
	.product-info span {
		font-size: 12px;
	}
	.product-info .teika {
		font-size: 12px;
	}
	.product-info .teika-label {
		font-size: 12px;
	}
	.product-info .teika-tax {
		font-size: 12px !important;
	}
	.product-info .sale-price-tax {
		font-size: 19px !important;
	}
}

@media (max-width: 768px) {
	.campaign-guide-wrap {
		margin-bottom: 40px !important;
	}
}

@media (max-width: 600px) {
	.highlight-text {
		font-size: 20px;
	}
	.under-text {
		font-size: 16px;
	}
	.area-list {
		font-size: 15px;
	}
	.btn-location {
		padding: 10px;
		font-size: 21px;
		width: 100%;
	}
}

@media (max-width: 479px) {
	.campaign-main-wrap {
		padding: 0 0 20px 0 !important;
	}
	.campaign-category-wrap h2 {
		margin: 20px auto;
	}
	.campaign-category-wrap {
		padding-bottom: 15px !important;
	}
	.campaign-item-wrap {
		padding-top: 50px;
		padding-bottom: 0 !important;
		padding-left :0;
		padding-right: 0;
	}
	.campaign-item-wrap h2 {
		margin-bottom: 30px;
		padding: 8px 5px;
		font-size: 20px;
	}
	.campaign-item-wrap h2.heading-orange {
		font-size: 17px;
	}
	.campaign-item-wrap .mb55 {
		margin-bottom: 20px !important;
	}
	.product-card {
		padding: 30px 15px;
	}
	.product-maker {
		font-size: 12px;
	}
	.product-title {
		font-size: 16px;
	}
	.product-info p {
		line-height: 1.2em;
	}
	.product-info span {
		font-size: 11px;
	}
	.product-info .teika {
		margin-bottom: 10px !important;
		font-size: 11px;
	}
	.product-info .teika-label {
		font-size: 11px;
	}

	.product-info .teika-tax {
		font-size: 11px !important;
	}
	.product-info .sale-price-tax {
		font-size: 19px !important;
	}
	.buy-button {
		padding: 10px 0;
		font-size: 13px;
	}
	.campaign-guide-wrap {
		padding-left :0;
		padding-right: 0;
	}
	.campaign-banner {
		padding: 25px 10px 55px 10px;
	}
	[id] {
		scroll-margin-top: 100px;
	}
}

/*========================================
汎用
========================================*/
/* 配置 */
.txtC{text-align:center !important;}
.txtL{text-align:left;}
.txtR{text-align:right;}

@media only screen and (max-width: 768px) {
	.txtC-mbL{text-align:left;}
	.txtL-mbC{text-align:center;}
}

/* フロート */
.floatl{float:left;margin:0;}
.floatr{float:right;margin:0;}
.floatl10{float:left;margin:0 10px 10px 0;}
.floatr10{float:right;margin:0 0 10px 10px;}
.floatl20{float:left;margin:0 20px 10px 0;}
.floatr20{float:right;margin:0 0 10px 20px;}
.clear{clear:both;}

/* 余白 */
.mb0 {margin-bottom:0 !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}
.mb50{margin-bottom:50px !important;}
.mb55{margin-bottom:55px !important;}
.mb60{margin-bottom:60px !important;}
.mb70{margin-bottom:70px !important;}
.mb80{margin-bottom:80px !important;}

.mt0 {margin-top:0;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt25{margin-top:25px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}
.mt60{margin-top:60px;}
.mt70{margin-top:70px;}
.mt80{margin-top:80px;}

.ml15{margin-left:15px;}

.mr10{margin-right:10px;}
.mr15{margin-right:15px;}
.mr20{margin-right:20px;}

.pLeftMargin{text-indent:-8px;}

.pb10{padding-bottom:10px;}
.pb20{padding-bottom:20px;}
.pb30{padding-bottom:30px;}

/* リストの余白 */
ul.mt10{margin: 10px 0 0 0;}
ul.mt15{margin: 15px 0 0 0;}
ul.mt20{margin: 20px 0 0 0;}
ul.pb20{padding: 0 0 20px 0;}

/* フォント色のパターン */
.fontred1{color:#FF0000;}
.fontred2{color:#FF3300;}
.fontred3{color:#d7000f !important;}
.fontorange1{color:#FF6600;}
.fontorange2{color:#FF9900;}
.fontorange3{color:#FF4E00;}
.fontyellow1{color:#FFcc00;}
.fontyellow2{color:#FFFF00;}
.fontblue1{color:#0000FF;}
.fontblue2{color:#3399CC;}
.fontblue3{color:#0168AE;}
.fontgreen1{color:#006600;}
.fontgreen2{color:#99CC00;}
.fontgreen3{color:#82AC00;}
.fontbrown1{color:#993300;}
.fontbroun2{color:#CC9966;}
.fontpurple1{color:#6633CC;}
.fontpurple2{color:#9999FF;}
.fontpurple3{color:#993366;}
.fontpink1{color:#FF33CC;}
.fontpink2{color:#FF99CC;}
.fontpink3{color:#fae2e7;}
.fontpink4{color:#dc007f;}
.fontgray1{color:#e8e8e8;}
.fontgray2{color:#999999;}
.fontgray3{color:#666666;}
.fontnavy1{color:#163E64;}
.fontw{color:#ffffff;}

.fontshadow1{
	text-shadow:0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff,0 0 4px #fff;
}

@media only screen and (max-width: 750px) {
	.category-button.orange .pc-off-tb {
		display: inline-block !important;
	}
}

.pc-off-tb-w {
	display: none !important;
}

@media only screen and (max-width: 1192px) {
	.pc-off-tb-w {
		display: block !important;
	}
	.sm-off-tb-w {
		display: none !important;
	}
}

.pc-off-tb {
	display: none !important;
}

@media only screen and (max-width: 750px) {
	.pc-off-tb {
		display: block !important;
	}
	.sm-off-tb {
		display: none !important;
	}
}

.pc-off {
	display: none !important;
}

@media only screen and (max-width: 479px) {
	.pc-off {
		display: block !important;
	}
	.sm-off {
		display: none !important;
	}
}

/*========================================
	boorstrap
========================================*/
@media (width: 768px) {
  main .col-md-1, main .col-md-2, main .col-md-3, main .col-md-4, main .col-md-5, main .col-md-6, main .col-md-7, main .col-md-8, main .col-md-9, main .col-md-10, main .col-md-11, main .col-md-12 {
    float: left !important;
  }
  main .col-md-12 {
    width: 100% !important;
  }
  main .col-md-11 {
    width: 91.66666667% !important;
  }
  main .col-md-10 {
    width: 83.33333333% !important;
  }
  main .col-md-9 {
    width: 75% !important;
  }
  main .col-md-8 {
    width: 66.66666667% !important;
  }
  main .col-md-7 {
    width: 58.33333333% !important;
  }
  main .col-md-6 {
    width: 50% !important;
  }
  main .col-md-5 {
    width: 41.66666667% !important;
  }
  main .col-md-4 {
    width: 33.33333333% !important;
  }
  main .col-md-3 {
    width: 25% !important;
  }
  main .col-md-2 {
    width: 16.66666667% !important;
  }
  main .col-md-1 {
    width: 8.33333333% !important;
  }
}

.campaign-all-wrap .floating-button, 
.campaign-all-wrap .floating-button2 {
	display: none;
}
