#headerbase {
	height: 286px;
}
#headerbase.ss {
	height: 830px;
}
#slidebox01 {
	display: block;
	position: absolute;
	left: 0px;
	right: 0px;
	top: 147px;
	margin: auto;
	width: 100%;
	height: 678px;
}
#slidecont01 {
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: 0px;
	margin: auto;
	width: 1920px;
	height: 100%;
	overflow: hidden;
}
.ssbox01 {
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: -2048px;
	bottom: -2048px;
	margin: auto;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: #FFFFFF;
}
.ssph01 {
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: -2048px;
	bottom: -2048px;
	margin: auto;
	width: 100%;
	border: 0px;
}
.ssph01_mb {
	display: none;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: -2048px;
	bottom: -2048px;
	margin: auto;
	width: 100% border: 0px;
}
#obitwo {
	display: block;
	position: relative;
	width: 100%;
	height: 137px;
	margin: 0px auto 0px auto;
	padding-top: 1px;
	padding-bottom: 1px;
}
#obitwo::before {
	content: '';
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: 0px;
	margin: auto;
	width: 3072px;
	height: 100%;
	background-color: rgba(230, 0, 45, 1.0);
}
#pdlbox {
	display: block;
	position: relative;
	width: 172px;
	height: 36px;
	margin: 41px 0px 0px 34px;
}
#pdlbox img {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	border: 0px;
}
#pdlpbox {
	display: block;
	position: relative;
	margin: 41px 0px 0px 34px;
}
#pdlpbox p {
	display: block;
	position: relative;
	font-size: 34px;
	font-weight: 300;
	line-height: 1em;
	text-align: left;
	color: #FFFFFF;
	letter-spacing: 0.05em;
}
#pst01 {
	display: block;
	position: relative;
	margin: 8px 0px 0px 34px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4em;
	text-align: left;
	color: #FFFFFF;
	letter-spacing: 0.1em;
}
.dscont {
	display: block;
	position: relative;
	width: 960px;
	margin: -1px auto 0px auto;
	padding-bottom: 1px;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}
.dsmainphotobox {
	display: block;
	position: relative;
	width: 100%;
	height: 493px;
	overflow: hidden;
}
.dsmainphotobox img {
	display: block;
	position: absolute;
	left: -2048px;
	right: -2048px;
	top: -2048px;
	bottom: -2048px;
	margin: auto;
	width: 100%;
	border: 0px;
}
.dssec {
	display: block;
	position: relative;
	margin: 45px auto 84px auto;
	font-size: 0px;
	line-height: 0px;
}
#dss02 {
	margin-bottom: 106px;
}
.dst {
	display: block;
	position: relative;
	margin: 0px auto 0px auto;
	padding: 0px 4px 8px 4px;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4em;
	text-align: left;
	letter-spacing: 0.05em;
	border-bottom: solid 1px #000000;
}
.dscom01 {
	display: block;
	position: relative;
	margin: 22px auto 0px auto;
	font-size: 15px;
	font-weight: 400;
	line-height: 31px;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: 0.05em;
}
.dsinfobox {
	display: inline-block;
	position: relative;
	width: 343px;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	vertical-align: top;
}
.dsit {
	display: block;
	position: relative;
	margin: 0px auto 0px auto;
	padding: 0px 1px 16px 1px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.1em;
	text-align: left;
	letter-spacing: 0.05em;
	border-bottom: solid 1px #000000;
}
.dsidl {
	display: block;
	position: relative;
	margin: 14px auto 0px auto;
	padding: 0px;
	font-size: 0px;
	line-height: 0px;
}
.dsidl dt {
	display: inline-block;
	position: relative;
	width: 96px;
	margin: 6px 0px 6px 0px;
	padding: 0px;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	vertical-align: top;
}
.dsidl dd {
	display: inline-block;
	position: relative;
	width: calc(100% - 96px);
	margin: 6px 0px 6px 0px;
	padding: 0px;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	vertical-align: top;
}
.dsmapbox {
	display: inline-block;
	position: relative;
	width: 518px;
	height: 390px;
	margin-left: calc(100% - 343px - 518px);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	vertical-align: top;
}
.dsmapbox iframe {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	border: 0px;
}

@media (max-width: 640px) {
	#headerbase.ss {
		height: 389px;
	}
	#slidebox01 {
		height: 242px;
	}
	#slidecont01 {
		width: 480px;
	}
	.dscont {
		width: 100%;
	}
	.dsmainphotobox {
		height: 246px;
	}
	.dssec {
		width: 414px;
		margin-top: 36px;
		margin-bottom: 88px;
	}
	.dsinfobox {
		display: block;
	}
	.dsmapbox {
		display: block;
		width: 414px;
		height: 312px;
		margin: 40px auto 0px auto;
	}
}


.sub-sect {
	position: relative;
	max-width: 960px;
	width: 100%;
	margin: 0 auto 200px;
	padding-top: 40px;
	margin-top: -40px;
}
.sub-sect .inner01 {
	position: relative;
}
.sub-sect img {
	border: none;
	max-width: 100%;
	vertical-align: middle
}
.title01 {
	margin-bottom: 40px;
	background: #003c60;
	color: #fff;
	padding: 19px 32px;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
}
@media only screen and (max-width: 640px) {
	.sub-sect .inne01 {
		padding: 0 33px;
	}
}

/* #region PRODUCT SALES --------------------- */
#obitwo.product-sales::before {
	background-color: #429ad0;
}
#product-sales {
	margin-top: 93px;
}
#product-sales .inner01 {
	margin-bottom: 100px;
}
.product-cont {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 70px;
}
.product-cont img {
	max-width: 405px;
	width: 100%;
}
.product-cont .text-box {
	flex-grow: 1;
	margin-left: 50px;
}
.product-cont .title {
	color: #429ad0;
	font-weight: 800;
	font-size: 33px;
	line-height: 1.3;
}
.product-cont .dscom01 {
	line-height: 28px;
}
.product-cont .link-btn {
	display: block;
	width: 233px;
	height: 29px;
	margin-top: 24px;
	background: #429ad0;
	color: #fff;
	font-weight: 500;
	font-size: 15px;
	line-height: 29px;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.3s;
}
.product-cont .link-btn:hover {
	opacity: 0.6;
}
@media only screen and (max-width: 640px) {
	.product-cont {
		display: block;
	}
	.product-cont .text-box {
		margin-left: 0;
		margin-top: 20px;
	}

}
/* #endregion -------------------------------- */

/* #region SMARTPHONE CLASS ------------------ */
#obitwo.sp-class::before {
	background-color: #eb6d9a;
}

#sp-class-info {
	margin-top: 50px;
	margin-bottom: 90px;
}
#sp-class-info .img-wrapper {
	display: flex;
	justify-content: space-between;
	margin: 0 -13px;
}
#sp-class-info .img-wrapper .img-box {
	margin: 0 13px 22px;
}
#sp-class-info .title-img {
	max-width: 421px;
}
@media only screen and (max-width: 640px) {
	#sp-class-info .img-wrapper {
		display: block;
	}
}

#sp-class-schedule .title01 {
	background: #eb6d9a;
}
#sp-class-schedule .title01 a {
	text-decoration: none;
	color: #fff;
}
#sp-class-schedule .schedule-list {
	display: flex;
	justify-content: space-between;
	margin: 0 -15px;
	padding: 0;
}
#sp-class-schedule .schedule-list li {
	flex: 1 1 25%;
	margin: 0 15px 45px;
	list-style: none;
}
#sp-class-schedule .schedule-list .schedule-link {
	display: block;
	text-decoration: none;
}
#sp-class-schedule .schedule-list .img-box {
	height: 150px;
	margin-bottom: 20px;
	overflow: hidden;
}
#sp-class-schedule .schedule-list .shop-name {
	color: #3e3a39;
	font-size: 15px;
}
@media only screen and (max-width: 640px) {
	#sp-class-schedule .schedule-list {
		display: block;
	}
	#sp-class-schedule .schedule-list .img-box {
		height: 280px;
	}
}
/* #endregion -------------------------------- */