

/*　--------------bodyの指定は削除してください。---------------------*/
#bg{
	margin:0;
	font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3",arial,sans-serif;
	font-size: 13px;
	line-height: 1.5;
	background:url(/-/media/cojp/product/hsm/special/heartstitches/fancywork/img/bg.gif);
    -webkit-text-size-adjust: 100%;
 }
/*　--------------bodyの指定は削除してください。---------------------*/


/* 共通指定 */

a {
	color: #000;
}
img {
	border: 0;
	vertical-align: bottom;
}

.page-content{
	background:#fdf9f2;
	margin:0;
}
.page-content *,
.page-content *::before,
.page-content *::after{
	box-sizing:border-box;
}
.page-content p,
.page-content ul,
.page-content li,
.page-content dl,
.page-content dt,
.page-content dd,
.page-content table,
.page-content div{
	font-size: 3vw;
	line-height:1.5;
	color:#000;
}
.page-content img{
	max-width:100%;
	height:auto;
	vertical-align:bottom;
}
.page-content h1{
	font-size: 3vw;
}
.page-content h2{
	font-size: 3vw;
	line-height:1.3;
}
.page-content h3{
	font-size: 3vw;
	line-height:1.3;
}
.page-content h4{
	font-size: 3vw;
	line-height:1.3;
}
.page-content ul{
	list-style-type:none;
	margin:0;
	padding:0;
}

@media screen and (min-width: 721px) {

.page-content p,
.page-content ul,
.page-content li,
.page-content dl,
.page-content dt,
.page-content dd,
.page-content table,
.page-content div{
	font-size:16px;
}
.page-content h3{
	font-size:18px;
}
#container {
	max-width: 940px;
	margin: 0 auto;
	background: #FFF;
	border: none;
}
a{
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
}
}

/* repeatable */

.only-pc{
	display:none;
}
@media screen and (min-width: 721px) {
.only-pc{
	display:block;
}
.only-sp{
	display:none;
}
}

/* sp-menu-button */
#sp-menu{
	position:absolute;
	right:0;
	top:9px;
}
@media screen and (min-width: 721px) {
#sp-menu{
	display:none;
}
}

/* main-title */
#main-title{
	position: relative;
	margin:0 auto;
	overflow: hidden;
}
#main-title img{
	width:100%;
}

/* jump-nav */
#jump-nav{
	position: absolute;
	display:block;
	top: 62%;
	left: 0;
	width: 100%;
	padding: 0 1%;
}

#jump-nav ul{
	display:block;
	margin: 0 auto;
	padding:0;
	font-size: 0;
	list-style-type:none;
	text-align: center;
	box-sizing: border-box;
}

#jump-nav li{
	display:inline-block;
	width: 33%;
	padding: 0;
	box-sizing: border-box;
}

/*base code*/
#jump-nav li a:hover {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
  transform-origin: center bottom;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/*the animation definition*/
@-webkit-keyframes bounce {
  0%, 100%, 20%, 53%, 80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
  40%,
  43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, .050, .855, .060);
    transition-timing-function: cubic-bezier(0.755, .050, .855, .060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0)
  }
  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, .050, .855, .060);
    transition-timing-function: cubic-bezier(0.755, .050, .855, .060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0)
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0)
  }
}
@keyframes bounce {
  0%, 100%, 20%, 53%, 80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    transition-timing-function: cubic-bezier(0.215, .61, .355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
  40%,
  43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, .050, .855, .060);
    transition-timing-function: cubic-bezier(0.755, .050, .855, .060);
    -webkit-transform: translate3d(0, -30px, 0);
    -ms-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0)
  }
  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, .050, .855, .060);
    transition-timing-function: cubic-bezier(0.755, .050, .855, .060);
    -webkit-transform: translate3d(0, -15px, 0);
    -ms-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0)
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    -ms-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0)
  }
}

@media screen and (min-width: 721px) {
#jump-nav{
	position: absolute;
	display:block;
	top: 60%;
	left: 0;
	width: 100%;
}
#jump-nav ul{
	display:table;
	margin:10px auto;
}
#jump-nav li{
	display:table-cell;
	width: auto;
	padding:5px;
}
#jump-nav li:first-child{
	background:none;
	padding-left:0;
}
#jump-nav li a{
		display:inline-block;
}
#jump-nav li img {
	max-width: 100%;
}
}

/* course-guide */

.course-guide{
	margin:0 auto;
	padding:0;
	position:relative;
	overflow: hidden;
}
.course-guide .row{
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	justify-content: flex-start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	-webkit-box-pack: start;
    flex-wrap:wrap;
	-ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    width: 100%;
}
.course-guide .show-detail {
	text-align: center;
}

@media screen and (min-width: 721px) {
.course-guide {
}
.course-guide +.course-guide{
	margin-top:40px;
}
.course-guide p.category-discription{
	font-size:16px;
}
.course-guide p.category-discription br{
	display:none;
}


}
/* カテゴリーヘッダ */
.course-guide h2{
	margin-top: 20px;
}

.course-guide p.category-discription{
	text-align:center;
	color:#42210b;
	margin:15px 0;
}

@media screen and (min-width: 721px) {
.course-guide h2{
	margin-top: 0;
}
}

/* ハートステッチズ */
#heart_stitches {
	background: #fdf9f2;
}
#heart_stitches > .row {
	margin: 20px auto;
	overflow: hidden;
}
#heart_stitches > .row div {
	float: left;
	width: 100%;
	padding: 0;
	box-sizing: border-box;
}
#heart_stitches .show-detail {
	padding: 0 4%;
}

@media screen and (min-width: 721px) {
#heart_stitches > .row {
	margin: 20px auto;
	padding: 0 10px;
	overflow: hidden;
}
#heart_stitches > .row div {
	width: 50%;
}
}

/* 文字データ */
#moji {
	padding: 4%;
	text-align: center;
	background: #f0fcfe;
}
#moji > img {
	margin-top: 15px;
}
@media screen and (min-width: 721px) {
#moji {
	padding: 0 15px;
}
}

/* ミシンリスト */
#sm-information {
	margin: 20px 0;
}
#sm-information h3{
	width: 100%;
	background-color:#50a2c4;
	font-size:14px;
	font-weight:normal;
	padding:0.25em 0;
	text-align:center;
	color:#fff;
	margin:0;
}
.sm-product-list{
	background-color:#fff;
	padding: 1%;
}
.sm-product-list p {
	padding: 1%;
	text-align: left;
	word-break: break-all;
}
.sm-product-list ul{
	margin:0 auto;
	padding: 0;
	list-style-type:none;	
}
.sm-product-list ul::after{
	content:"";
	clear:both;
	display:block;
}
.sm-product-list li{
	position: relative;
	width:50%;
	padding: 2% 1%;
	text-align: left;
	background: url(../images/border.png) repeat-x left bottom;
}
.sm-product-list .product-brand{
	margin:5px 0;
	/*height: 3em;*/
	font-weight: bold;
}
.sm-product-list .show-detail{
	margin:0;
}
.sm-product-list .show-detail a{
	position: relative;
	background-color:#528ca4;
	border-radius:5px;
	display:block;
	text-align:left;
	margin-bottom: 5px;
	padding: 0.5em 0.8em;
	color: #fff;
	text-decoration: none;
	line-height: 1em;
}
.sm-product-list .show-detail a:after {
	position: absolute;
	top: 50%;
	right: 0.8em;
	content: " ";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-top: -0.5em;
	margin-left: 5px;
	vertical-align: top;
	background: url(../images/icon_arrow.png) no-repeat 0 0;
	background-size: contain;
}
.sm-product-list .show-detail a:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}

.sm-product-list .show-detail a small {
	display: block;
	width:100%;
}

@media screen and (min-width: 721px) {
#sm-information {
	margin: 0 30px 40px;
}
#sm-information h3{
	background-color:#50a2c4;
	font-size:20px;
	padding: 5px 10px;
}
.sm-product-list{
	padding:0 20px 20px 20px;
}
.sm-product-list li{
	padding: 15px 10px;
	width:33%;
}
.sm-product-list li:nth-child(n+5) {
	background: none;
}
.sm-product-list .product-brand{
	margin:8px 0;
	font-weight: bold;
}
.sm-product-list .show-detail{
	margin:0;
}
.sm-product-list .show-detail a{
}
.sm-product-list .show-detail a img{
	width:151px;
}
}

@media screen and (min-width: 940px){
.sm-product-list li {
	width: 25%;
	}
}

/* スタートチェックリスト */
/* スタートチェックリスト */
#start {
	margin: 0 auto;
	padding: 0 2% 4%;
	text-align: center;
	background: #fff;
}
#start h2 {
	margin: 0 -2%;
}
#start h3 {
	margin: 0 2% 3%;
}
#start .row  {
	width: 100%;
}
#start .row li{
	padding: 2% 2% 0;
	width:50%;
	text-align: left;
}
#start .item-list li{
	width:100%;
}

@media screen and (min-width: 721px) {
#start {
	margin: 0 auto;
	padding: 0 30px 40px;
	text-align: center;
	background: #fff;
}
#start h2 {
	margin: 0 -30px;
}
#start .row li{
	padding: 15px 10px 0;
	width:25%;
	text-align: left;
}
}

#point {
	position: relative;
	margin: 0 2%;
}
#point > h3 {
	margin: 0 auto 5%;
}
#point > a {
	position: absolute;
	display: inline-block;
	bottom: 10%;
	left: 25%;
	width: 50%;
}
#point > a img {
	max-width: none;
	width: 100%;
	height: auto;
}
#point > a:hover > img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}

@media screen and (min-width: 721px) {
#point > a {
	position: absolute;
	display: inline-block;
	bottom: 10%;
	left: 25%;
	width: 50%;
}
}

#software {
	margin: 0 2%;
	padding: 0 2%;
	border: 1px solid #50a2c4;
}
#software h3 {
	margin: 4% auto 0;
	font-size: 4vw;
	color: #50a2c4;
}
#software .row li {
	position: relative;
	padding: 4%;
}
#software .row li:nth-child(even) {
	border-top: 2px dashed #50a2c4; 
}
#software .row li img {
	float: left;
	width: 35%;
	max-width: 100%;
	height: auto;
}
#software .row li > div {
	margin: 0 auto;
	overflow: hidden;
}
#software .row li > div p {
	margin: 0;
	padding: 0;
}
#software .row li > div h4 {
	margin: 0;
	padding: 0;
	font-size: 4vw;
}
#software a.btn{
	margin: 10px auto 0;
	padding: 0.6em 0.8em;
	background-color:#528ca4;
	border-radius: 10px;
	display:inline-block;
	text-align:left;
	color: #fff;
	text-decoration: none;
	vertical-align: middle;
	line-height: 1em;
}
#software a.btn:after {
	content: " ";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 5px;
	vertical-align: top;
	background: url(../images/icon_arrow.png) no-repeat 0 0;
	background-size: contain;
}
#software a.btn:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}

@media screen and (min-width: 721px) {
#software {
	padding: 0 15px 15px;
	border: 1px solid #50a2c4;
}
#software h3 {
	margin: 20px auto;
	font-size: 26px;
}
#software .row li:nth-child(even) {
	border: none;
	border-left: 2px dashed #50a2c4; 
}
#software .row li {
	width: 50%;
	padding: 0 15px;
}
#software .row li > div {
	margin: 0;
	padding-bottom: 40px;
	overflow: hidden;
}
#software .row li > div h4 {
	font-size: 22px;
}
#software .row li img {
	float: left;
	width: 30%;
	height: auto;
}
#software a.btn {
	position: absolute;
	bottom: 0;
}
}

p#copyright {
	margin: 0 auto;
    padding: 12px 4% 4%;
    text-align: center;
    font-size: 2vw;
    border-top: 1px dotted #999;
    background: #fff;
    overflow: hidden;
}
@media screen and (min-width: 721px) {
p#copyright {
    font-size: 13px;
}
}

.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}
