@charset "UTF-8";
@import url(https://use.fontawesome.com/releases/v5.7.1/css/all.css);
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&family=Train+One&display=swap');

/*--------------------------------------------------------------------*/
/* 基本のき */
/*--------------------------------------------------------------------*/


/* 
*/


/* 新タウン追記
--------------------------------------------------------------------*/
.pane-main {
}
/*.block-globalnav,*/
.block-category-globalnav,
.block-category-list--header,
.block-category-list--comment,
.block-category-list--goods {
	display: none;
}
.wrapper {
  margin-right: 0 !important;
  padding-right: 0 !important;
}
.pane-main .container {
	width: 100% !important;
  max-width: 100%;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.freespace {
	padding-left: 0 !important;
	padding-right: 0 !important;
}


/* Layout
--------------------------------------------------------------------*/
#kihon {
  margin: 0 0 50px;
	box-sizing: border-box;
}

/* Header
--------------------------------------------------------------------*/
.kihon-header {
  background: #FAF7E6;
  padding: 20px 0;
  text-align: center;
}
.kihon-header h1 {
  margin: 0 10px 20px;
  padding: 0;
}
.header-nav-wp {
  padding: 10px 0;
}
.header-nav-header {
  font-size: 1.5em;
  font-weight: bold;
  margin: 0 0 .5em;
}
.header-nav {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px;
  padding: 0 0 20px;
}
.header-nav li {
  width: calc(100% / 2 - 10px);
  margin: 0 5px 10px;
}
.header-nav li.nav-long {
  width: calc(100% - 10px);
}
.header-nav li a {
  display: block;
  background: #fff;
  border: 2px solid #000;
  font-weight: bold;
  padding: .75em 0;
  text-align: center;
  text-decoration: none;
}
.header-nav li a:hover {
  color: #fff !important;
}

@media print, screen and (min-width: 768px) {
}

@media print, screen and (min-width: 992px) {
  .header-nav-header {
    font-size: 1.75em;
    letter-spacing: .1em;
  }
  .header-nav li {
    width: calc(100% / 3 - 10px);
  }
  .header-nav li.nav-long {
    width: calc(100% - 10px);
  }
  .header-nav li a {
    font-size: 1.125em;
  }
}

.index-nav {
  display: flex;
  flex-wrap: wrap;
  padding: 20px 0;
}
.index-nav li {
  width: calc(100% - 10px);
  margin: 10px 0;
}
.index-nav li a {
  display: block;
  background: #fff;
  border: 2px solid #000;
  font-weight: bold;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
}
.index-nav li a:hover {
  color: #fff !important;
}



/* Page Hedaer
--------------------------------------------------------------------*/
.kihon-page-header {
  padding: 20px 0 40px;
}
.kihon-page-title {
  font-size: 1.75em;
  font-weight: bold;
  text-align: center;
  padding: .75em 0;
  margin: 0;
}
.kihon-page-lead {
  font-size: 1.125em;
}
.kihon-page-lead p {
  padding: 0 0 .5em;
  margin: 0;
}

.kihon-contents-wp {
  padding: 20px 0;
}
.kihon-contents-wp h3 {
  display: inline-block;
  color: #fff;
  font-size: 1.125em;
  font-weight: bold;
  padding: .25em 1.5em;
  margin: 0;
  border-radius: 5px 5px 0 0;
}
.kihon-contents {
  border: 2px solid transparent;
  padding: 15px 20px;
}
.kihon-contents li {
  position: relative;
  margin: .125em 0;
}
.kihon-contents li {
  padding-left: 28px;
}
.kihon-contents > li::before {
  position: absolute;
  top: .5em;
  left: 0px;
  content: "";
  display: inline-block;
  background: #fff;
	border: 2px solid #fff;
  width: 16px;
  height: 16px;
  border-radius: 8px;
}
.kihon-contents li a {
  display: block;
}
.kihon-contents li ol {
	margin: 0 0 .5em;
} 
.kihon-contents > li > ol > li::before {
  position: absolute;
  top: .5em;
  left: 0px;
  content: "";
  display: inline-block;
	border: 2px solid #fff;
  width: 16px;
  height: 16px;
  border-radius: 8px;
}

.kihon-contents-kigou {
  border: 2px solid transparent;
  padding: 15px 20px 5px;
	display: flex;
	flex-wrap: wrap;
}
.kihon-contents-kigou li {
  width: calc(100% / 2 - 10px);
  margin: 0 5px 10px;
}
.kihon-contents-kigou li a {
	background: #fff;
	padding: 10px;
	text-align: center;
	display: flex;
	justify-content: center;
}
.kihon-contents-kigou li a img {
	margin-right: 10px;
}

.kihon-contents-glossary {
  border: 2px solid transparent;
  padding: 15px 20px 5px;
	display: flex;
	flex-wrap: wrap;
}
.kihon-contents-glossary li {
  width: calc(100% / 2 - 10px);
  margin: 0 5px 10px;
}
.kihon-contents-glossary li a {
  display: block;
	background: #fff;
	padding: .5em 0;
	font-size: 1.125em;
	font-weight: bold;
	text-align: center;
}
.kihon-contents-glossary li a {
	display: flex;
	justify-content: center;
}
.kihon-contents-glossary li a img {
	margin-right: 10px;
}


@media print, screen and (min-width: 992px) {
	.kihon-contents-kigou li {
		width: calc(100% / 3 - 10px);
		margin: 0 5px 10px;
	}
	.kihon-contents-glossary li {
		width: calc(100% / 5 - 10px);
		margin: 0 5px 10px;
	}
}

.contents-knit {
  border-color: rgba(12, 71, 133, 1);
  background: rgba(12, 71, 133, .1);
}
.contents-boubari {
  border-color: rgba(0, 138, 170, 1);
  background: rgba(0, 138, 170, .1);
}
.contents-kagibari {
  border-color: rgba(93, 141, 66, 1);
  background: rgba(93, 141, 66, .1);
}
.contents-embroidery {
  border-color: rgba(227, 104, 84, 1);
  background: rgba(227, 104, 84, .1);
}
.contents-patchwork {
  border-color: rgba(151, 79, 170, 1);
  background: rgba(151, 79, 170, .1);
}
.contents-sewing {
  border-color: rgba(82, 103, 189, 1);
  background: rgba(82, 103, 189, .1);
}


/* main
--------------------------------------------------------------------*/

.kihon-main {
}
.kihon-block {
  padding: 0 0 40px;
}
.kihon-block h4 {
  font-size: 1.5em;
  font-weight: bold;
  padding: .5em 0;
  margin: 1em 0 0;
}
.kihon-block h5 {
  font-size: 1.25em;
  font-weight: bold;
  padding: .5em 0;
  margin: 0;
}
.kihon-block-title {
  color: #fff;
  font-size: 1.75em;
  font-weight: bold;
  padding: .5em 0;
  margin: 0 0 1em;
}
.kihon-block-title span {
  position: relative;
  display: block;
  margin: 0 10px;
  padding: 0 0 0 45px;
}
.kihon-block-title span::before {
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  content: "";
  width: 30px;
  height: 30px;
  border-radius: 15px;
  background: #fff;
}

.kihon-block-title-kigou {
  color: #fff;
  font-size: 1.5em;
  font-weight: bold;
  padding: .5em 0;
  margin: 0 0 1em;
}
.kihon-block-title-kigou span {
  position: relative;
  display: flex;
  margin: 0 10px;
}
.kihon-block-title-kigou span img {
	margin-right: 10px;
}

.kihon-block p {
  padding: 0 0 .5em;
  margin: 0;
}
.kihon-video-wp {
  /*background: #f0f0f0;*/
  margin: 0;
  padding: 20px 0;
}
.kihon-process-wp {
  background: #f0f0f0;
  margin: 0;
  padding: 20px 0 10px;
}
.kihon-process {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 0 0;
  margin-bottom: 20px;
}
.kihon-process li {
  padding: 10px;
  background: #fff;
  width: calc(100% / 2 - 10px);
  margin: 0 5px 10px;
  border-radius: 5px;
}
.kihon-process li span {
  display: block;
}
.kihon-process li .process-img {
  text-align: center;
  padding-bottom: 10px;
}
.kihon-process li .process-block-omote {
  background: #ffe1b5;
  font-size: .875em;
  padding: .25em .5em;
  margin-bottom: 10px;
}
.kihon-process li .process-block-ura {
  background: #f0fbd4;
  font-size: .875em;
  padding: .25em .5em;
  margin-bottom: 10px;
}
.kihon-process li .process-caption {
  position: relative;
  padding: .25em 0 0 35px;
}
.kihon-process li .process-caption em {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 26px;
  height: 26px;
  line-height: 26px;
  border-radius: 13px;
  background: #666;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0;
  text-align: center;
}

.kihon-glossary {
	display: block;
	width: 100%;
	border: 1px solid #999;
	border-bottom: none;
}
.kihon-glossary dt,
.kihon-glossary dd {
	margin: 0;
	padding: .5em .75em;
}
.kihon-glossary dt {
	background: #f0f0f0;
}
.kihon-glossary dd {
	border-bottom: 1px solid #999;
}

@media print, screen and (min-width: 768px) {
  .kihon-process li {
    width: calc(100% / 3 - 20px);
    margin: 0 10px 20px;
  }
	
}

@media print, screen and (min-width: 971px) {
  .kihon-block-title span,
	.kihon-block-title-kigou span {
    width: 950px;
    margin: 0 auto;
  }
}

@media print, screen and (min-width: 992px) {
  .kihon-page-title {
    font-size: 2.5em;
    letter-spacing: .1em;
  }
  .kihon-process li {
    width: calc(100% / 4 - 20px);
  }
	.kihon-glossary {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		align-items: stretch;
	}
	.kihon-glossary dt {
		width: 250px;
		border-bottom: 1px solid #999;
	}
	.kihon-glossary dd {
		background: #fff;
		width: calc(100% - 250px);
		border-bottom: 1px solid #999;
	}
}


/* Books
--------------------------------------------------------------------*/
.kihon-books {
  padding: 0 0 40px;
}
.books-knit {
  background: rgba(12, 71, 133, .1);
}
.books-boubari {
  background: rgba(0, 138, 170, .1);
}
.books-kagibari {
  background: rgba(93, 141, 66, .1);
}
.books-embroidery {
  background: rgba(227, 104, 84, .1);
}
.books-patchwork {
  background: rgba(151, 79, 170, .1);
}
.books-sewing {
  background: rgba(82, 103, 189, .1);
}
.books-list li {
  background: #fff;
}
.books-list li a {
  display: block;
  padding: 15px 10px;
}
.books-list li span {
  display: block;
}
.book-cover {
  list-style: none;
  position: relative;
  margin-bottom: 2%;
}
.book-cover:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.book-cover img {
  position: absolute;
  max-width: 100%;
  max-height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  margin: auto;
  object-fit: cover;
}
.book-title {
  padding-top: .5em;
  font-size: .875em;
}


/* Footer
--------------------------------------------------------------------*/
.kihon-footer {
}
.footer-localnav {
  background: #FAF7E6;
  padding: 20px 0;
  text-align: center;
}
.footer-globalnav {
  background: #f0f0f0;
  padding: 20px 0;
  text-align: center;
}
.footer-nav-wp {
  padding: 10px 0;
}
.footer-nav-header {
  font-size: 1.5em;
  font-weight: bold;
  margin: 0 0 .5em;
}
.footer-nav {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px;
  padding: 0 0 20px;
}
.footer-nav li {
  width: calc(100% / 2 - 10px);
  margin: 0 5px 10px;
}
.footer-nav li.nav-long {
  width: calc(100% - 10px);
}
.footer-nav li a {
  display: block;
  background: #fff;
  border: 2px solid #000;
  font-weight: bold;
  padding: .75em 0;
  text-align: center;
  text-decoration: none;
}
.footer-nav li a:hover {
  color: #fff !important;
}

@media print, screen and (min-width: 768px) {
}

@media print, screen and (min-width: 992px) {
  .footer-nav-header {
    font-size: 1.75em;
    letter-spacing: .1em;
  }
  .footer-nav-header img {
    max-width: 600px;
  }
  .footer-nav li {
    width: calc(100% / 3 - 10px);
  }
  .footer-nav li.nav-long {
    width: calc(100% - 10px);
  }
  .footer-nav li a {
    font-size: 1.125em;
  }
  .footer-nav-overall li {
    width: calc(100% / 2 - 10px);
  }
}



/* Common
--------------------------------------------------------------------*/
.color-knit {
  color: rgba(12, 71, 133, 1);
}
.color-boubari {
  color: rgba(0, 138, 170, 1);
}
.color-kagibari {
  color: rgba(93, 141, 66, 1);
}
.color-embroidery {
  color: rgba(227, 104, 84, 1);
}
.color-patchwork {
  color: rgba(151, 79, 170, 1);
}
.color-sewing {
  color: rgba(82, 103, 189, 1);
}

.bg-knit {
  background: rgba(12, 71, 133, 1);
}
.bg-boubari {
  background: rgba(0, 138, 170, 1);
}
.bg-kagibari {
  background: rgba(93, 141, 66, 1);
}
.bg-embroidery {
  background: rgba(227, 104, 84, 1);
}
.bg-patchwork {
  background: rgba(151, 79, 170, 1);
}
.bg-sewing {
  background: rgba(82, 103, 189, 1);
}

.nav-knit li a {
  color: rgba(12, 71, 133, 1);
}
.nav-boubari li a {
  color: rgba(0, 138, 170, 1);
}
.nav-kagibari li a {
  color: rgba(93, 141, 66, 1);
}
.nav-embroidery li a {
  color: rgba(227, 104, 84, 1);
}
.nav-patchwork li a {
  color: rgba(151, 79, 170, 1);
}
.nav-sewing li a {
  color: rgba(82, 103, 189, 1);
}
.nav-knit li a:hover {
  background: rgba(12, 71, 133, 1);
}
.nav-boubari li a:hover {
  background: rgba(0, 138, 170, 1);
}
.nav-kagibari li a:hover {
  background: rgba(93, 141, 66, 1);
}
.nav-embroidery li a:hover {
  background: rgba(227, 104, 84, 1);
}
.nav-patchwork li a:hover {
  background: rgba(151, 79, 170, 1);
}
.nav-sewing li a:hover {
  background: rgba(82, 103, 189, 1);
}

.btn-knit {
  color: rgba(12, 71, 133, 1);
}
.btn-boubari {
  color: rgba(0, 138, 170, 1);
}
.btn-kagibari {
  color: rgba(93, 141, 66, 1);
}
.btn-embroidery {
  color: rgba(227, 104, 84, 1);
}
.btn-patchwork {
  color: rgba(151, 79, 170, 1);
}
.btn-sewing {
  color: rgba(82, 103, 189, 1);
}
.btn-knit:hover {
  background: rgba(12, 71, 133, 1);
}
.btn-boubari:hover {
  background: rgba(0, 138, 170, 1);
}
.btn-kagibari:hover {
  background: rgba(93, 141, 66, 1);
}
.btn-embroidery:hover {
  background: rgba(227, 104, 84, 1);
}
.btn-patchwork:hover {
  background: rgba(151, 79, 170, 1);
}
.btn-sewing:hover {
  background: rgba(82, 103, 189, 1);
}


