/* --------------------------------------------------------
-----------------------------------------------------------
 code コピペ用ソースコード
-----------------------------------------------------------
----------------------------------------------------------- */
#staff-only-code .Content-inner {
  width: 830px;
}

/*
---------------------------------------------------------
 categ-wrap
--------------------------------------------------------- */
#staff-only-code .categ-wrap {
  margin-bottom: 50px;
}

#staff-only-code .categ-wrap .wb-blog {
  overflow: hidden;
  /*clearfixの代用*/
}

#staff-only-code .categ-wrap .wb-blog-categ {
  float: left;
  margin: 0 0 10px 10px;
  width: calc((100% - 21px) / 3);
}

#staff-only-code .categ-wrap .wb-blog-categ:nth-of-type(3n+1) {
  margin-left: 0;
  clear: both;
}

#staff-only-code .categ-wrap .wb-blog-categ a {
  color: #888;
  font-weight: bold;
  text-decoration: none !important;
  position: relative;
  display: block;
  border: 1px solid;
  line-height: 1.3;
  letter-spacing: 0;
  padding: 8px 8px 8px 23px;
  font-size: 19px;
  border-radius: 2px;
}

#staff-only-code .categ-wrap .wb-blog-categ a::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 5px 0 5px;
  border-color: #aaa transparent transparent transparent;
  display: block;
  top: 19px;
  left: 7px;
}

/*
---------------------------------------------------------
 content-wrap
--------------------------------------------------------- */
#staff-only-code .content-wrap .wb-blog-categ {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
  background: #ededed;
  margin-bottom: 35px;
  color: #aaa;
  padding: 15px 0;
}

#staff-only-code .content-wrap .wb-blog-categ-title {
  line-height: 1.3;
  font-size: 29px;
  font-weight: bold;
  display: block;
  letter-spacing: 0.08em;
  width: 830px;
  margin: 0 auto;
}

#staff-only-code .content-wrap .wb-blog-categ-body {
  width: 830px;
  margin: 10px auto 0;
}

#staff-only-code .content-wrap .wb-blog-content-list {
  margin-bottom: 70px;
}

#staff-only-code .content-wrap .wb-blog-content-list:last-child {
  margin-bottom: 0;
}

/*
-----------------------------------------------------------
 code-article
----------------------------------------------------------- */
#staff-only-code .content-wrap .code-article .article-title {
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-size: 19px;
  padding: 12px 0;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
  margin-bottom: 30px;
  color: #aaa;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
}

#staff-only-code .content-wrap .code-article .article-title span {
  display: block;
  width: 830px;
  margin: 0 auto;
}

#staff-only-code .content-wrap .code-article .article-title span::before {
  content: '▼';
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-common
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-common-align-center {
  text-align: center;
}

/* --------------------------------------------------------
-----------------------------------------------------------
TPL-section-block
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-section-block {
  margin-bottom: 60px;
}

.TPL-section-article {
  margin-bottom: 30px;
}

.TPL-section-article2 {
  margin-bottom: 20px;
}

.TPL-section-article3 {
  margin-bottom: 10px;
}

.TPL-section-article4 {
  margin-bottom: 40px;
}

.TPL-section-article5 {
  margin-bottom: 50px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TEMPLATE - title
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-title01 {
  color: #ff5b5b;
  display: block;
  font-weight: bold;
  border-left: 4px solid;
  border-bottom: 1px solid;
  border-top: 1px solid;
  border-right: 1px solid;
  padding: 10px 0 10px 6px;
  line-height: 1.25;
  margin: 0 0 12px;
  font-size: 146%;
  letter-spacing: 0.08em;
}

.TPL-title01 a {
  color: inherit;
}

.TPL-title02 {
  background: #ff5b5b;
  display: block;
  font-weight: bold;
  color: #FFF;
  letter-spacing: 0.08em;
  line-height: 1.25;
  font-size: 122%;
  padding: 8px 8px;
  border-radius: 3px;
  margin: 0 0 12px;
}

.TPL-title02 a {
  color: inherit;
}

.TPL-title03 {
  display: block;
  font-weight: bold;
  border-bottom: 2px solid #ff5b5b;
  padding: 0 7px 5px;
  line-height: 1.25;
  margin: 0px 0 12px;
  font-size: 125%;
  letter-spacing: 0.08em;
}

.TPL-title03 a {
  color: inherit;
}

.TPL-title04 {
  color: #333;
  border-left: 3px solid #ff5b5b;
  display: block;
  font-weight: bold;
  letter-spacing: 0.08em;
  line-height: 1.2;
  font-size: 18px;
  padding: 3px 0 5px 8px;
  margin: 0 0 10px;
}

.TPL-title04 a {
  color: inherit;
}

.TPL-title05 {
  color: #333;
  position: relative;
  display: block;
  font-size: 115%;
  letter-spacing: 0.08em;
  line-height: 1.25;
  padding: 0 0 0 10px;
  margin: 0 0 8px;
}

.TPL-title05::before {
  border-color: transparent transparent transparent #ff5b5b;
  content: '';
  display: block;
  position: absolute;
  top: 7px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 6px;
}

.TPL-title05 a {
  color: inherit;
}

.TPL-title06 {
  color: #333;
  display: block;
  font-weight: bold;
  line-height: 1.25;
  letter-spacing: 0.05em;
  margin: 0 0 5px;
  font-size: 105%;
}

.TPL-title06 a {
  color: inherit;
}

/*
-----------------------------------------------------------
 数字付タイトル
----------------------------------------------------------- */
.TPL-title-count {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: center;
  font-weight: bold;
  counter-increment: title;
  margin-bottom: 12px;
  font-size: 125%;
  line-height: 1.35;
  padding: 5px 0 5px 53px;
  min-height: 42px;
}

.TPL-title-count::before {
  content: "";
  border-right: 1px solid #CCC;
  position: absolute;
  top: 0;
  left: 41px;
  bottom: 0;
  height: 100%;
}

.TPL-title-count::after {
  color: #ff5b5b;
  content: counter(title);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 40px;
  line-height: 42px;
  font-size: 24px;
  font-family: Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  height: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
}

/*
-----------------------------------------------------------
 数字付タイトル
----------------------------------------------------------- */
.TPL-title-count02 {
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: center;
  font-weight: bold;
  margin-bottom: 12px;
  font-size: 125%;
  line-height: 1.35;
  padding: 5px 0 5px 53px;
  min-height: 42px;
}

.TPL-title-count02::before {
  content: "";
  border-right: 1px solid #CCC;
  position: absolute;
  top: 0;
  left: 41px;
  bottom: 0;
  height: 100%;
}

.TPL-title-count02 .TPL-title-count02-number {
  color: #ff5b5b;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 40px;
  line-height: 42px;
  font-size: 24px;
  font-family: Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  height: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TEMPLATE - table
-----------------------------------------------------------
----------------------------------------------------------- */
/*
-----------------------------------------------------------
 TPL-table
----------------------------------------------------------- */
table.TPL-table {
  border-collapse: separate;
  overflow: hidden;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  border-spacing: 0;
  width: 100%;
}

table.TPL-table th,
table.TPL-table td {
  border-right: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
  padding: 6px 10px;
  font-size: 85%;
}

table.TPL-table thead th:last-child,
table.TPL-table td:last-child {
  border-right: none;
}

table.TPL-table tbody tr:last-child th,
table.TPL-table tbody tr:last-child td {
  border-bottom: none;
}

table.TPL-table th {
  background: #F8FAFC;
  font-weight: normal;
  text-align: center;
}

table.TPL-table thead th {
  background: #ff5b5b;
  color: #FFF;
}

table.TPL-table td {
  background: #fff;
  text-align: left;
  font-weight: normal;
}

table.TPL-table th a {
  color: inherit;
}

/*
-----------------------------------------------------------
 TPL-table02
----------------------------------------------------------- */
table.TPL-table02 {
  border: 1px solid #c5c5c5;
  border-collapse: separate;
  overflow: hidden;
  border-radius: 4px;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
}

table.TPL-table02 th,
table.TPL-table02 td {
  border-right: 1px solid #c5c5c5;
  border-bottom: 1px solid #c5c5c5;
  padding: 6px 10px;
  font-size: 85%;
}

table.TPL-table02 td:last-child {
  border-right: none;
}

table.TPL-table02 tbody tr:last-child th,
table.TPL-table02 tbody tr:last-child td {
  border-bottom: none;
}

table.TPL-table02 th {
  background: #F8FAFC;
  font-weight: normal;
  text-align: left;
  width: 24%;
}

table.TPL-table02 td {
  background: #fff;
  text-align: left;
  font-weight: normal;
}

table.TPL-table02 th a {
  color: inherit;
}

/*
-----------------------------------------------------------
 TPL-table03
----------------------------------------------------------- */

table.TPL-table03 th,
table.TPL-table03 td {
  padding: 6px 15px !important;
  font-size: 90% !important;
  text-align: left !important;
  width: 50%;
}

table.TPL-table03 {
  width: 80%;
}

/*
-----------------------------------------------------------
 TPL-table2
----------------------------------------------------------- */
/*
-----------------------------------------------------------
 TPL-table3
----------------------------------------------------------- */
/* --------------------------------------------------------
-----------------------------------------------------------
 TEMPLATE - Itemcateg-topimage
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-Itemcateg-topimage {
  margin-bottom: 20px;
}

.TPL-Itemcateg-content {
  margin-bottom: 40px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TEMPLATE - TPL-item-types
-----------------------------------------------------------
----------------------------------------------------------- */
/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-slider01
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-slider01 {
  overflow: hidden;
}

.TPL-slider01 .TPL-slider-wrap {
  visibility: hidden;
  width: 500px;
  margin: 0 auto;
}

.TPL-slider01 .TPL-slider-wrap .slick-list {
  overflow: visible;
}

.TPL-slider01 .TPL-slider-wrap .TPL-slide {
  text-align: center;
}

.TPL-slider01 .TPL-slider-wrap .TPL-slide a {
  display: inline-block;
  vertical-align: top;
}

.TPL-slider01 .slick-arrow {
  position: absolute;
  z-index: 10;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 100%;
  height: 100%;
}

.TPL-slider01 .slick-arrow .button {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: none;
  border-radius: 0;
  padding: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.TPL-slider01 .slick-arrow .button::before {
  content: '';
  position: absolute;
  color: #FFF;
  border-top: 2px solid;
  border-right: 2px solid;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 22px;
  height: 22px;
}

.TPL-slider01 .slick-arrow.slick-next {
  left: 100%;
}

.TPL-slider01 .slick-arrow.slick-next .button::before {
  left: 22px;
  transform: rotate(45deg);
}

.TPL-slider01 .slick-arrow.slick-prev {
  right: 100%;
}

.TPL-slider01 .slick-arrow.slick-prev .button::before {
  right: 22px;
  transform: rotate(-135deg);
}

.TPL-slider01 .slick-slider.slick-dotted {
  margin-bottom: 60px;
}

.TPL-slider01 .slick-dots {
  position: absolute;
  top: calc(100% + 12px);
  padding: 0;
  list-style: none;
  text-align: center;
  width: 100%;
  margin: 0 !important;
}

.TPL-slider01 .slick-dots li {
  display: inline-block;
  vertical-align: top;
  margin: 5px;
}

.TPL-slider01 .slick-dots li button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: none;
  border-radius: 0;
  padding: 0;
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #dcdcdc;
}

.TPL-slider01 .slick-dots li.slick-active button {
  background: #ff5b5b;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-slider02
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-slider02 {
  visibility: hidden;
}

.TPL-slider02 .TPL-slide img {
  margin: 0 auto;
}

.TPL-slider02 .slick-arrow {
  position: absolute;
  z-index: 10;
  top: calc(100% + 10px);
  width: 70px;
  height: 28px;
}

.TPL-slider02 .slick-arrow .button {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: none;
  border-radius: 0;
  padding: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #ff5b5b;
  border-radius: 3px;
}

.TPL-slider02 .slick-arrow .button::before {
  content: '';
  position: absolute;
  color: #FFF;
  border-top: 2px solid;
  border-right: 2px solid;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 11px;
  height: 11px;
  right: 0;
  left: 0;
}

.TPL-slider02 .slick-arrow.slick-next {
  right: 0;
}

.TPL-slider02 .slick-arrow.slick-next .button::before {
  right: 3px;
  transform: rotate(45deg);
}

.TPL-slider02 .slick-arrow.slick-prev {
  left: 0;
}

.TPL-slider02 .slick-arrow.slick-prev .button::before {
  left: 3px;
  transform: rotate(-135deg);
}

.TPL-slider02 .slick-slider.slick-dotted {
  margin-bottom: 60px;
}

.TPL-slider02 .slick-dots {
  position: absolute;
  top: calc(100% + 12px);
  padding: 0 80px;
  list-style: none;
  text-align: center;
  width: 100%;
  margin: 0 !important;
}

.TPL-slider02 .slick-dots li {
  display: inline-block;
  vertical-align: top;
  margin: 5px;
}

.TPL-slider02 .slick-dots li button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: none;
  border-radius: 0;
  padding: 0;
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #dcdcdc;
}

.TPL-slider02 .slick-dots li.slick-active button {
  background: #ff5b5b;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-slider03
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-slider03 {
  visibility: hidden;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}

.TPL-slider03 .TPL-slider03-main {
  flex: 1;
}

.TPL-slider03 .TPL-slider03-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.TPL-slider03 .TPL-slider03-list li {
  text-align: center;
  margin: 0;
}

.TPL-slider03 .TPL-slider03-pager {
  width: 77px;
  margin-left: 10px;
}

.TPL-slider03 .TPL-slider03-pager-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.TPL-slider03 .TPL-slider03-pager-list li {
  width: 100%;
  margin-bottom: 13.5%;
  display: block;
  background-color: #f1f1f1;
}

.TPL-slider03 .TPL-slider03-pager-list li a {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 87.9%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  text-indent: -9999px;
}

.TPL-slider03 .TPL-slider03-pager-list li:last-child {
  margin-bottom: 0;
}

/*
---------------------------------------------------------
 bxSliderPreset
--------------------------------------------------------- */
/** VARIABLES
===================================*/
/** RESET AND LAYOUT
===================================*/
.TPL-slider03 .bx-wrapper {
  position: relative;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.TPL-slider03 .bx-viewport {
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0);
}

/** THEME
===================================*/
/* LOADER */
.TPL-slider03 .bx-wrapper .bx-loading {
  min-height: 50px;
  background: rgba(255, 255, 255, 0.8) url("//cdn.jsdelivr.net/bxslider/4.2.12/images/bx_loader.gif") center center no-repeat;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
}

.TPL-slider03 .bx-wrapper .bx-caption {
  position: relative;
  margin-top: 19px;
  text-align: left;
  background-color: #f2f2f2;
  line-height: 1.4;
  font-size: 14px;
  padding: 12px;
}

.TPL-slider03 .bx-wrapper .bx-caption::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 100%;
  left: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 12px 15px 12px;
  border-color: transparent transparent #f2f2f2 transparent;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TEMPLATE - TPL-content
-----------------------------------------------------------
----------------------------------------------------------- */
/*
===========================================================
 from printon
=========================================================== */
/* --------------------------------------------------------
-----------------------------------------------------------
 ページ共通 LINE-article
-----------------------------------------------------------
----------------------------------------------------------- */
/*
---------------------------------------------------------
 LINE-article
--------------------------------------------------------- */
.TPL-line-article+.TPL-line-article {
  padding-top: 20px;
}

.TPL-line-article .TPL-line-title {
  font-size: 130%;
  margin-bottom: 15px;
  padding-left: 42px;
  letter-spacing: 0.08em;
}

.TPL-line-article .TPL-line-list .TPL-line-list-img {
  text-align: center;
}

.TPL-line-article .TPL-line-list .TPL-line-list-img+.TPL-line-list-txt {
  margin-top: 6px;
}

/* LINE-good
--------------------------------------------------------- */
.TPL-line-article.TPL-line-good .TPL-line-title {
  background: url(/img/template/guide_print_point.svg) no-repeat left top;
  background-size: 35px auto;
  min-height: 33px;
}

/* LINE-attention
--------------------------------------------------------- */
.TPL-line-article.TPL-line-attention .TPL-line-title {
  background: url(/img/template/guide_print_attention.svg) no-repeat left center;
  background-size: 36px 32px;
}

/* LINE-slash
--------------------------------------------------------- */
.TPL-line-article.TPL-line-slash .TPL-line-list-slash-title {
  text-align: center;
  margin-bottom: 6px;
}

.TPL-line-article.TPL-line-slash .TPL-line-list-slash-title .TPL-line-slash-title-txt {
  display: inline-block;
  position: relative;
  padding: 0 15px;
  min-height: 21px;
  line-height: 1.3;
}

.TPL-line-article.TPL-line-slash .TPL-line-list-slash-title .TPL-line-slash-title-txt::before,
.TPL-line-article.TPL-line-slash .TPL-line-list-slash-title .TPL-line-slash-title-txt::after {
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  width: 10px;
  height: 21px;
  display: block;
  position: absolute;
  bottom: 0;
}

.TPL-line-article.TPL-line-slash .TPL-line-list-slash-title .TPL-line-slash-title-txt::before {
  background-image: url(/img/template/slash_icon_start.svg);
  left: 0;
}

.TPL-line-article.TPL-line-slash .TPL-line-list-slash-title .TPL-line-slash-title-txt::after {
  background-image: url(/img/template/slash_icon_end.svg);
  right: 0;
}

.TPL-line-article.TPL-line-slash .TPL-line-list .TPL-line-list-img {
  text-align: center;
}

/*
---------------------------------------------------------
 LINE-list-title
--------------------------------------------------------- */
.TPL-line-article .TPL-line-list-title {
  display: flex;
  margin-bottom: 6px;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  font-size: 100%;
}

.TPL-line-article .TPL-line-title-num {
  color: #fff;
  font-size: 17px;
  font-weight: bold;
  background-color: #333;
  border-radius: 12px;
  min-width: 24px;
  height: 24px;
  text-align: center;
  display: inline-block;
  justify-content: center;
  font-family: Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  line-height: 25px;
  padding: 0 4px;
}

.TPL-line-article .TPL-line-title-txt {
  font-size: 110%;
  font-weight: bold;
  line-height: 1.3;
}

.TPL-line-article .TPL-line-title-num+.TPL-line-title-txt {
  flex: 1;
  margin-left: 4px;
  padding-top: 1px;
}

/* LINE-good
--------------------------------------------------------- */
.TPL-line-article.TPL-line-good .TPL-line-title-num {
  background-color: #ff5b5b;
}

/* LINE-attention
--------------------------------------------------------- */
.TPL-line-article.TPL-line-attention .TPL-line-title-num {
  background-color: #ff5b5b;
}

/* LINE-square
--------------------------------------------------------- */
.TPL-line-article.TPL-line-square .TPL-line-title-num {
  border-radius: 3px;
}

/*
---------------------------------------------------------
 LINE2-article
--------------------------------------------------------- */
.TPL-line2-article .TPL-line-flex-container {
  /* @mixin:PC-content-article */
  margin-bottom: 40px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
}

.TPL-line2-article .TPL-line-flex-container:last-child {
  /* @mixin:PC-content-article */
  margin-bottom: 0;
}

.TPL-line2-article .TPL-line-flex-container .TPL-line-list-title {
  width: 100%;
}

.TPL-line2-article .TPL-line-list {
  width: 48%;
}

.TPL-line2-article .TPL-line-list+.TPL-line-list {
  flex: 1;
  padding-left: 15px;
}

/*
---------------------------------------------------------
 LINE3-article
--------------------------------------------------------- */
.TPL-line3-article .TPL-line-flex-container {
  display: flex;
  flex-wrap: wrap;
}

.TPL-line3-article .TPL-line-list {
  width: calc(96%/3);
  margin-left: 2%;
  margin-bottom: 2%;
}

.TPL-line3-article .TPL-line-list:nth-child(3n+1) {
  margin-left: 0;
  clear: both;
}

.TPL-line3-article .TPL-line-list:nth-last-child(-n+3) {
  margin-bottom: 0;
}

/*
---------------------------------------------------------
 LINE4-article
--------------------------------------------------------- */
.TPL-line4-article .TPL-line-flex-container {
  display: flex;
  flex-wrap: wrap;
}

.TPL-line4-article .TPL-line-list {
  width: calc(94%/4);
  margin-left: 2%;
  margin-bottom: 2%;
}

.TPL-line4-article .TPL-line-list:nth-child(4n+1) {
  margin-left: 0;
  clear: both;
}

.TPL-line4-article .TPL-line-list:nth-last-child(-n+4) {
  margin-bottom: 0;
}

/*
---------------------------------------------------------
 LINE-list > div
--------------------------------------------------------- */
/* --------------------------------------------------------
-----------------------------------------------------------
 ページ共通 TALK-list
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-talk-list+.TPL-talk-list {
  padding-top: 25px;
}

.TPL-talk-list {
  display: flex;
  align-items: center;
}

.TPL-talk-list:nth-child(even) {
  flex-direction: row-reverse;
}

.TPL-talk-list .TPL-talk-img {
  flex-shrink: 0;
}

.TPL-talk-list .TPL-talk-txt {
  padding: 0 0 0 3%;
}

.TPL-talk-list .TPL-talk-txt .TPL-talk-txt-inner {
  position: relative;
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 10px;
}

.TPL-talk-list .TPL-talk-txt .TPL-talk-txt-inner::before {
  border-color: transparent #f5f5f5 transparent transparent;
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 15px 12px 0;
  display: block;
  top: 0;
  left: -15px;
  bottom: 0;
  margin: auto;
}

.TPL-talk-list:nth-child(even) .TPL-talk-txt {
  padding: 0 3% 0 0;
}

.TPL-talk-list:nth-child(even) .TPL-talk-txt .TPL-talk-txt-inner:before {
  border-color: transparent transparent transparent #f5f5f5;
  right: -15px;
  left: inherit;
  border-width: 12px 0px 12px 15px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 ページ共通 TALK-list
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-talk02-list+.TPL-talk02-list {
  padding-top: 25px;
}

.TPL-talk02-list {
  display: flex;
  align-items: center;
}

.TPL-talk02-list .TPL-talk02-img {
  flex-shrink: 0;
}

.TPL-talk02-list .TPL-talk02-txt {
  padding: 0 0 0 3%;
}

.TPL-talk02-list .TPL-talk02-txt .TPL-talk02-txt-inner {
  position: relative;
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 10px;
}

.TPL-talk02-list .TPL-talk02-txt .TPL-talk02-txt-inner::before {
  border-color: transparent #f5f5f5 transparent transparent;
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 15px 12px 0;
  display: block;
  top: 0;
  left: -15px;
  bottom: 0;
  margin: auto;
}

/* --------------------------------------------------------
-----------------------------------------------------------
ページ共通 TPL-talk03-list
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-talk03-list+.TPL-talk03-list {
  padding-top: 25px;
}

.TPL-talk03-list {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}

.TPL-talk03-list .TPL-talk03-img {
  flex-shrink: 0;
}

.TPL-talk03-list .TPL-talk03-txt {
  padding: 0 3% 0 0;
}

.TPL-talk03-list .TPL-talk03-txt .TPL-talk03-txt-inner {
  position: relative;
  background-color: #f5f5f5;
  padding: 20px;
  border-radius: 10px;
}

.TPL-talk03-list .TPL-talk03-txt .TPL-talk03-txt-inner::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  display: block;
  top: 0;
  bottom: 0;
  margin: auto;
  border-color: transparent transparent transparent #f5f5f5;
  right: -15px;
  border-width: 12px 0px 12px 15px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 ページ共通 TOPIC-content
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-topic-content {
  border: 1px solid #ff5b5b;
  background-color: #F8FAFC;
  padding: 25px 35px 30px;
}

.TPL-topic-content .TPL-topic-title {
  text-align: center;
  font-weight: bold;
  font-size: 21px;
  margin-bottom: 20px;
}

.TPL-topic-content ul.TPL-topic-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.TPL-topic-content ul.TPL-topic-list>li {
  font-size: 110%;
  background: url(/img/template/topic_list_icon.svg) no-repeat left 1px;
  padding-left: 29px;
  position: relative;
  display: block;
  background-size: 23px auto;
  line-height: 1.35;
}

.TPL-topic-content ul.TPL-topic-list>li+li {
  margin-top: 18px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 ページ共通 TOGGLE-content
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-toggle-content {
  border: 1px solid #ff5b5b;
  background-color: #F8FAFC;
  padding: 30px 35px;
}

.TPL-toggle-content .TPL-toggle-title {
  text-align: center;
  font-weight: bold;
  font-size: 21px;
}

.TPL-toggle-content .TPL-toggle-title .TPL-toggle-btn {
  color: #ff5b5b;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: none;
  border-radius: 0;
  padding: 0;
  display: inline-block;
  font-size: 14px;
  margin-left: 5px;
  min-width: 4em;
  text-align: left;
}

.TPL-toggle-content .TPL-toggle-title .TPL-toggle-btn::before {
  content: "[開く]";
}

.TPL-toggle-content .TPL-toggle-title .TPL-toggle-btn.MOD-active::before {
  content: "[閉じる]";
}

.TPL-toggle-content ol.TPL-toggle-list {
  display: none;
  list-style: none;
  padding: 20px 0 0;
  margin: 0;
}

.TPL-toggle-content ol.TPL-toggle-list>li {
  font-size: 110%;
}

.TPL-toggle-content ol.TPL-toggle-list>li+li {
  margin-top: 15px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 ページ共通 MARKER-01
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-marker-01 {
  border-bottom: 2px solid #fd568573;
  padding: 0 4px;
}

.TPL-marker-02 {
  background: transparent linear-gradient(transparent 60%, #fffd99 0%) repeat scroll 0 0;
  padding: 0 4px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 ページ共通 SLASH-01
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-slash-01 {
  position: relative;
  display: inline-block;
  padding: 0 20px;
  min-height: 21px;
}

.TPL-slash-01::before,
.TPL-slash-01::after {
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  width: 10px;
  height: 21px;
  display: block;
  position: absolute;
  bottom: 0;
}

.TPL-slash-01::before {
  background-image: url(/img/template/slash_icon_start.svg);
  left: 5px;
}

.TPL-slash-01::after {
  background-image: url(/img/template/slash_icon_end.svg);
  right: 5px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 ページ共通 RANK-article
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-rank-article {
  display: flex;
  flex-wrap: wrap;
}

.TPL-rank-article .TPL-rank-list {
  width: calc(98%/2);
  margin-left: 2%;
  margin-bottom: 2%;
}

.TPL-rank-article .TPL-rank-list:nth-child(2n+1) {
  margin-left: 0;
  clear: both;
}

.TPL-rank-article .TPL-rank-list:nth-last-child(-n+2) {
  margin-bottom: 0;
}

.TPL-rank-article .TPL-rank-list .TPL-rank-list-num {
  font-size: 20px;
  font-weight: bold;
}

.TPL-rank-article .TPL-rank-list .TPL-rank-list-img {
  margin-bottom: 7px;
}

.TPL-rank-article .TPL-rank-list .TPL-rank-list-title {
  margin-bottom: 7px;
}

.TPL-rank-article .TPL-rank-list .TPL-rank-list-subtitle {
  color: #999999;
  font-size: 16px;
  line-height: 1.2;
}

.TPL-rank-article .TPL-rank-list .TPL-rank-list-maintitle {
  font-weight: bold;
  font-size: 20px;
  line-height: 1.2;
}

.TPL-rank-article .TPL-rank-list .TPL-rank-list-btn {
  padding-top: 10px;
  width: 60%;
  margin: 0 auto;
}

.TPL-rank-article .TPL-rank-list .TPL-rank-list-btn a {
  display: block;
  text-align: center;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 ページ共通 コピペ用 BTN
-----------------------------------------------------------
----------------------------------------------------------- */
/*
-----------------------------------------------------------
 TPL-button-main
----------------------------------------------------------- */
.TPL-button-main {
  margin-top: 25px;
  text-align: center;
}

.TPL-button-main .button {
  /* @mixin:PC-btn-main */
  font-family: "Noto Sans JP", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  background-color: #ff5b5b;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px 0;
  display: inline-block;
  font-weight: bold;
  text-decoration: none !important;
  text-align: center;
  padding: 10px 25px;
  border-radius: 4px;
  font-size: 17px;
  line-height: 1.3;
  color: #FFF;
  display: inline-block;
  min-width: 290px;
}

/*
-----------------------------------------------------------
 TPL-button-sub
----------------------------------------------------------- */
.TPL-button-sub {
  margin-top: 25px;
  text-align: center;
}

.TPL-button-sub .button {
  /* @mixin:PC-btn-sub */
  font-family: "Noto Sans JP", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #ff5b5b !important;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px 0;
  display: inline-block;
  font-weight: bold;
  text-decoration: none !important;
  background: none;
  text-align: center;
  padding: 12px 25px;
  border-radius: 4px;
  font-size: 17px;
  line-height: 1.3;
  border: 1px solid;
  display: inline-block;
  min-width: 290px;
  transition: all 0.2s;
}

.TPL-button-sub .button:hover {
  color: #FFF !important;
  background: #ff5b5b;
  opacity: 1;
  box-shadow: none;
}

/*
-----------------------------------------------------------
 TPL-button-sub-90　20240625
----------------------------------------------------------- */
.TPL-button-sub-90 {
  margin-top: 12px;
  text-align: center;
}

.TPL-button-sub-90 .button {
  /* @mixin:PC-btn-sub */
  font-family: "Noto Sans JP", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #ff5b5b !important;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px 0;
  display: inline-block;
  font-weight: bold;
  text-decoration: none !important;
  background: none;
  text-align: center;
  padding: 12px 25px;
  border-radius: 4px;
  font-size: 17px;
  line-height: 1.3;
  border: 1px solid;
  display: inline-block;
  min-width: 90%;
  transition: all 0.2s;
}

.TPL-button-sub-90 .button:hover {
  color: #FFF !important;
  background: #ff5b5b;
  opacity: 1;
  box-shadow: none;
}

/*
-----------------------------------------------------------
 TPL-button-main-small
----------------------------------------------------------- */
.TPL-button-main-small {
  margin-top: 12px;
  text-align: center;
}

.TPL-button-main-small .button {
  /* @mixin:PC-btn-main */
  font-family: "Noto Sans JP", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  background-color: #ff5b5b;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px 0;
  display: inline-block;
  font-weight: bold;
  text-decoration: none !important;
  text-align: center;
  padding: 10px 25px;
  border-radius: 4px;
  font-size: 17px;
  line-height: 1.3;
  color: #FFF !important;
  display: inline-block;
  padding: 8px 18px;
  font-size: 15px;
}


/*
-----------------------------------------------------------
 TPL-button-sub-small
----------------------------------------------------------- */
.TPL-button-sub-small {
  margin-top: 12px;
  text-align: center;
}

.TPL-button-sub-small .button {
  /* @mixin:PC-btn-sub */
  font-family: "Noto Sans JP", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #ff5b5b !important;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px 0;
  display: inline-block;
  font-weight: bold;
  text-decoration: none !important;
  background: none;
  text-align: center;
  padding: 12px 25px;
  border-radius: 4px;
  font-size: 17px;
  line-height: 1.3;
  border: 1px solid;
  display: inline-block;
  padding: 8px 30px;
  font-size: 15px;
  transition: all 0.2s;
}

.TPL-button-sub-small .button:hover {
  color: #FFF !important;
  background: #ff5b5b;
  opacity: 1;
  box-shadow: none;
}

/*
-----------------------------------------------------------
 TPL-button-main-large
----------------------------------------------------------- */
.TPL-button-main-large {
  margin-top: 25px;
  text-align: center;
}

.TPL-button-main-large .button {
  /* @mixin:PC-btn-main */
  font-family: "Noto Sans JP", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  background-color: #ff5b5b;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px 0;
  display: inline-block;
  font-weight: bold;
  text-decoration: none !important;
  text-align: center;
  padding: 10px 25px;
  border-radius: 4px;
  font-size: 17px;
  line-height: 1.3;
  color: #FFF !important;
  display: inline-block;
  min-width: 350px;
  font-size: 24px;
}

/*
-----------------------------------------------------------
 TPL-button-sub-large
----------------------------------------------------------- */
.TPL-button-sub-large {
  margin-top: 25px;
  text-align: center;
}

.TPL-button-sub-large .button {
  /* @mixin:PC-btn-sub */
  font-family: "Noto Sans JP", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #ff5b5b !important;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px 0;
  display: inline-block;
  font-weight: bold;
  text-decoration: none !important;
  background: none;
  text-align: center;
  padding: 12px 25px;
  border-radius: 4px;
  font-size: 17px;
  line-height: 1.3;
  border: 1px solid;
  display: inline-block;
  min-width: 350px;
  font-size: 24px;
  transition: all 0.2s;
}

.TPL-button-sub-large .button:hover {
  color: #FFF !important;
  background: #ff5b5b;
  opacity: 1;
  box-shadow: none;
}

/*
-----------------------------------------------------------
 TAG
----------------------------------------------------------- */
.TPL-tag {
  margin-top: 10px;
}

.TPL-tag a {
  display: inline-block;
  font-size: 85%;
  border-radius: 20px;
  position: relative;
  border: 1px solid;
  letter-spacing: 0;
  box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.1);
  padding: 3px 11px;
  color: #ec4351;
  text-decoration: none !important;
  line-height: 1.3;
  opacity: 1;
  transition: background-color 0.2s, color 0.2s;
}

.TPL-tag a:hover {
  color: #fff;
  background-color: #ec4351;
  border-color: #ec4351;
}

.TPL-tag.TPL-tag-orange a {
  color: #ff5b5b;
}

.TPL-tag.TPL-tag-orange a:hover {
  color: #fff;
  background-color: #ff5b5b;
  border-color: #ff5b5b;
}

.TPL-tag.TPL-tag-green a {
  color: #43b20b;
}

.TPL-tag.TPL-tag-green a:hover {
  color: #fff;
  background-color: #43b20b;
  border-color: #43b20b;
}

.TPL-tag.TPL-tag-pink a {
  color: #ff559b;
}

.TPL-tag.TPL-tag-pink a:hover {
  color: #fff;
  background-color: #ff559b;
  border-color: #ff559b;
}

.TPL-tag.TPL-tag-blue a {
  color: #4a8096;
}

.TPL-tag.TPL-tag-blue a:hover {
  color: #fff;
  background-color: #4a8096;
  border-color: #4a8096;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 ページ共通 TPL-border-article
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-border-article {
  display: flex;
  flex-wrap: wrap;
}

.TPL-border-article .TPL-border-list {
  width: calc(98%/2);
  margin-left: 2%;
  margin-bottom: 2%;
  border: 1px solid #cccccc;
  padding: 10px;
}

.TPL-border-article .TPL-border-list:nth-child(2n+1) {
  margin-left: 0;
  clear: both;
}

.TPL-border-article .TPL-border-list .TPL-border-list-subtitle {
  color: #999999;
  font-size: 92%;
  line-height: 1.3;
  margin-bottom: 3px;
}

.TPL-border-article .TPL-border-list .TPL-border-list-maintitle {
  font-weight: bold;
  font-size: 118%;
  line-height: 1.3;
  letter-spacing: 0.05em;
}

.TPL-border-article .TPL-border-list-img {
  text-align: center;
  margin-bottom: 6px;
}

.TPL-border-article .TPL-border-list-txt {
  margin-top: 5px;
  font-size: 92%;
}

/*
---------------------------------------------------------
 TPL-border3-article
--------------------------------------------------------- */
.TPL-border-article.TPL-border3-article .TPL-border-list {
  width: calc(96%/3);
  margin-left: 2%;
  margin-bottom: 2%;
  border: 1px solid #cccccc;
  padding: 10px;
}

.TPL-border-article.TPL-border3-article .TPL-border-list:nth-child(2n+1) {
  margin-left: 2%;
}

.TPL-border-article.TPL-border3-article .TPL-border-list:nth-child(3n+1) {
  margin-left: 0;
}

/*
---------------------------------------------------------
 REVIEW-article
--------------------------------------------------------- */
.TPL-review-article {
  display: flex;
  flex-wrap: wrap;
}

.TPL-review-article .TPL-review-title {
  font-size: 16px;
  font-weight: bold;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.TPL-review-article .TPL-review-wrap {
  display: flex;
  flex-wrap: wrap;
}

.TPL-review-article .TPL-review-list-wrap {
  background: url(/img/template/review_icon.svg) no-repeat center left;
  padding-left: 43px;
  width: 49%;
  margin-left: 2%;
  margin-bottom: 2%;
  position: relative;
}

.TPL-review-article .TPL-review-list-wrap:nth-child(2n+1) {
  margin-left: 0;
}

.TPL-review-article .TPL-review-list-wrap:nth-last-child(-n+2) {
  margin-bottom: 0;
}

.TPL-review-article .TPL-review-list-wrap:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 31px;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 13px 7px 0;
  border-color: transparent #ccc transparent transparent;
}

.TPL-review-article .TPL-review-list-wrap:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 33px;
  bottom: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 13px 7px 0;
  border-color: transparent #fff transparent transparent;
}

.TPL-review-article .TPL-review-list {
  font-size: 14px;
  border: 1px solid #ccc;
  padding: 10px;
  position: relative;
  border-radius: 10px;
}

.TPL-review-article .TPL-review-list a {
  display: block;
  text-align: right;
}

.TPL-review-article .TPL-review-body {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* --------------------------------------------------------
-----------------------------------------------------------
  ページ共通 Q&A
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-qanda-wrap {
  border-top: 1px solid #CCC;
}

.TPL-qanda-wrap .TPL-qanda-article {
  border-bottom: 1px solid #CCC;
}

.TPL-qanda-wrap .TPL-qanda-title,
.TPL-qanda-wrap .TPL-qanda-body {
  position: relative;
}

.TPL-qanda-wrap .TPL-qanda-title {
  cursor: pointer;
  transition: background-color 0.2s;
  padding: 20px 39px 20px 45px;
  font-size: 110%;
  line-height: 1.4;
}

.TPL-qanda-wrap .TPL-qanda-title:hover {
  background-color: #F8FAFC;
}

.TPL-qanda-wrap .TPL-qanda-title::after {
  position: absolute;
  top: -4px;
  right: 15px;
  display: block;
  width: 10px;
  height: 10px;
  margin: auto;
  content: '';
  transform: rotate(135deg);
  border-top: 1px solid #747474;
  border-right: 1px solid #747474;
  bottom: 0;
}

.TPL-qanda-wrap .TPL-qanda-title.TPL-qanda-mod-open::after {
  transform: rotate(-45deg);
  top: 5px;
}

.TPL-qanda-wrap .TPL-qanda-body {
  display: none;
  padding: 15px 39px 20px 45px;
}

.TPL-qanda-wrap .TPL-qanda-title::before,
.TPL-qanda-wrap .TPL-qanda-body::before {
  position: absolute;
  font-weight: bold;
  text-align: center;
  left: 15px;
  line-height: 1;
  font-size: 27px;
  width: 25px;
  font-family: Arial, 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

.TPL-qanda-wrap .TPL-qanda-title::before {
  content: 'Q';
  color: #3d83eb;
  top: 19px;
}

.TPL-qanda-wrap .TPL-qanda-body::before {
  content: 'A';
  color: #f9611a;
  top: 14px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] アンカーリンクメニュー
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-anchor-btn {
  margin-bottom: 22px;
}

.TPL-anchor-btn ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 10px;
  margin: 0 !important;
}

.TPL-anchor-btn ul+ul {
  margin-top: 10px !important;
}

.TPL-anchor-btn li {
  margin: 0 !important;
  flex: 1;
  min-height: 60px;
  min-width: calc((100% - 31px) / 4);
}

.TPL-anchor-btn li a {
  display: flex;
  text-decoration: none;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  line-height: 1.2;
  padding: 6px 6px 6px 28px;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  height: 100%;
  color: #33504f;
  position: relative;
  font-size: 15px;
}

.TPL-anchor-btn li a::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  border-color: #ffffff transparent transparent transparent;
  display: block;
  top: 1px;
  left: 10px;
  bottom: 0;
  margin: auto;
  z-index: 10;
}

.TPL-anchor-btn li a::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  display: block;
  top: 0;
  left: 6px;
  bottom: 0;
  margin: auto;
  background: #ff5b5b;
  border-radius: 50%;
  z-index: 0;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] リンクボタン
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-link-btn {
  margin: 20px 0;
}

.TPL-link-btn ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 10px;
  margin: 0 !important;
}

.TPL-link-btn ul+ul {
  margin-top: 10px !important;
}

.TPL-link-btn li {
  margin: 0 !important;
  flex: 1;
  min-height: 60px;
  min-width: calc((100% - 31px) / 4);
  max-width: 480px;
}

.TPL-link-btn li a {
  display: flex;
  text-decoration: none;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  line-height: 1.2;
  padding: 9px calc(2% + 19px) 9px 3%;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  height: 100%;
  color: #33504f;
  position: relative;
  font-size: 15px;
}

.TPL-link-btn li a::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  border-color: transparent transparent transparent #ffffff;
  display: block;
  top: 0;
  right: calc(2% + 5px);
  bottom: 0;
  margin: auto;
  z-index: 10;
}

.TPL-link-btn li a::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  display: block;
  top: 0;
  right: 2%;
  bottom: 0;
  margin: auto;
  background: #ff5b5b;
  border-radius: 50%;
  z-index: 0;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] リンクボタン縦並び20240109
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-link-btn07 ul {
  flex-direction: column !important;
  align-items: center !important;
}

.TPL-link-btn07 li {
  min-height: auto !important;
  min-width: 80% !important;
  max-width: 100% !important;
}

.TPL-link-btn07 li a {
  padding: 17px calc(2% + 19px) !important;
}

.TPL-link-btn07 span {
  font-weight: bold;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] リンクボタン02
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-link-btn02 {
  margin: 20px 0;
}

.TPL-link-btn02 ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 10px;
  margin: 0 !important;
}

.TPL-link-btn02 ul+ul {
  margin-top: 10px !important;
}

.TPL-link-btn02 li {
  margin: 0 !important;
  flex: 1;
  min-height: 60px;
  min-width: calc((100% - 31px) / 4);
  max-width: 480px;
}

.TPL-link-btn02 li a {
  display: flex;
  text-decoration: none;
  border-radius: 4px;
  line-height: 1.2;
  padding: 9px calc(2% + 19px) 9px 3%;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  height: 100%;
  color: #FFF;
  position: relative;
  font-size: 15px;
  background: #ff5b5b;
}

.TPL-link-btn02 li a::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  border-color: transparent transparent transparent #ff5b5b;
  display: block;
  top: 0;
  right: calc(2% + 5px);
  bottom: 0;
  margin: auto;
  z-index: 10;
}

.TPL-link-btn02 li a::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  display: block;
  top: 0;
  right: 2%;
  bottom: 0;
  margin: auto;
  background: #FFF;
  border-radius: 50%;
  z-index: 0;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] リンクボタン
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-link-btn03 {
  margin: 20px 0;
}

.TPL-link-btn03 ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 10px;
  margin: 0 !important;
}

.TPL-link-btn03 ul+ul {
  margin-top: 10px !important;
}

.TPL-link-btn03 li {
  margin: 0 !important;
  flex: 1;
  min-height: 60px;
  min-width: calc((100% - 31px) / 4);
  max-width: 480px;
}

.TPL-link-btn03 li a {
  display: flex;
  text-decoration: none;
  border-radius: 4px;
  line-height: 1.2;
  padding: 9px calc(2% + 19px) 9px 3%;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  height: 100%;
  color: #FFF;
  position: relative;
  font-size: 15px;
  background: #ff5b5b;
}

.TPL-link-btn03 li a::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  border-color: transparent transparent transparent #ff5b5b;
  display: block;
  top: 0;
  right: calc(2% + 5px);
  bottom: 0;
  margin: auto;
  z-index: 10;
}

.TPL-link-btn03 li a::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  display: block;
  top: 0;
  right: 2%;
  bottom: 0;
  margin: auto;
  background: #FFF;
  border-radius: 50%;
  z-index: 0;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] リンクボタン
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-link-btn04 {
  margin: 20px 0;
}

.TPL-link-btn04 ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 10px;
  margin: 0 !important;
}

.TPL-link-btn04 ul+ul {
  margin-top: 10px !important;
}

.TPL-link-btn04 li {
  margin: 0 !important;
  flex: 1;
  min-height: 60px;
  min-width: calc((100% - 31px) / 4);
  max-width: 480px;
}

.TPL-link-btn04 li a {
  display: flex;
  text-decoration: none;
  border-radius: 4px;
  line-height: 1.2;
  padding: 9px calc(2% + 19px) 9px 3%;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  height: 100%;
  color: #FFF;
  position: relative;
  font-size: 15px;
  background: #555;
}

.TPL-link-btn04 li a::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  border-color: transparent transparent transparent #555;
  display: block;
  top: 0;
  right: calc(2% + 5px);
  bottom: 0;
  margin: auto;
  z-index: 10;
}

.TPL-link-btn04 li a::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  display: block;
  top: 0;
  right: 2%;
  bottom: 0;
  margin: auto;
  background: #FFF;
  border-radius: 50%;
  z-index: 0;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] リンクボタン
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-link-btn05 {
  margin: 20px 0;
}

.TPL-link-btn05 ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 10px;
  margin: 0 !important;
}

.TPL-link-btn05 ul+ul {
  margin-top: 10px !important;
}

.TPL-link-btn05 li {
  margin: 0 !important;
  flex: 1;
  min-height: 60px;
  min-width: calc((100% - 31px) / 4);
  max-width: 480px;
}

.TPL-link-btn05 li a {
  display: flex;
  text-decoration: none;
  border: 2px solid #555;
  border-radius: 4px;
  line-height: 1.2;
  padding: 9px calc(2% + 19px) 9px 3%;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  height: 100%;
  color: #555;
  position: relative;
  font-size: 15px;
  font-weight: bold;
  transition: all 0.2s;
}

.TPL-link-btn05 li a::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  border-color: transparent transparent transparent #ffffff;
  display: block;
  top: 0;
  right: calc(2% + 5px);
  bottom: 0;
  margin: auto;
  z-index: 10;
}

.TPL-link-btn05 li a::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  display: block;
  top: 0;
  right: 2%;
  bottom: 0;
  margin: auto;
  background: #555;
  border-radius: 50%;
  z-index: 0;
}

.TPL-link-btn05 li a:hover {
  color: #FFF;
  background-color: #555;
  opacity: 1;
}

.TPL-link-btn05 li a:hover::before {
  border-color: transparent transparent transparent #555;
}

.TPL-link-btn05 li a:hover::after {
  background: #FFF;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] リンクボタン
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-link-btn06 {
  padding: 15px 20px 20px;
  margin-bottom: 20px;
  background: #f5f3f1;
}

.TPL-link-btn06 .TPL-link-btn06-title {
  text-align: center;
  font-size: 19px;
  line-height: 1.3;
  margin-bottom: 14px;
  letter-spacing: 0.1em;
}

.TPL-link-btn06 ul.TPL-link-btn06-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 20px;
  margin: 0;
}

.TPL-link-btn06 ul.TPL-link-btn06-list+.TPL-link-btn06-list {
  margin-top: 20px;
}

.TPL-link-btn06 ul.TPL-link-btn06-list li {
  margin: 0;
  flex: 1;
  min-height: 46px;
  min-width: calc((100% - 61px) / 4);
}

.TPL-link-btn06 ul.TPL-link-btn06-list li a {
  display: flex;
  text-decoration: none;
  border-radius: 4px;
  line-height: 1.2;
  padding: 9px 23px 9px 10px;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  height: 100%;
  color: #555;
  position: relative;
  font-size: 17px;
  background: #ffffff;
  border: 1px solid #555;
  font-weight: bold;
}

.TPL-link-btn06 ul.TPL-link-btn06-list li a::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  border-color: transparent transparent transparent #FFF;
  display: block;
  top: 0;
  right: 11px;
  bottom: 0;
  margin: auto;
  z-index: 10;
}

.TPL-link-btn06 ul.TPL-link-btn06-list li a::after {
  content: '';
  position: absolute;
  width: 15px;
  height: 15px;
  display: block;
  top: 0;
  right: 7px;
  bottom: 0;
  margin: auto;
  background: #ff5b5b;
  border-radius: 50%;
  z-index: 0;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] 画像・テキスト横並びレイアウト
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-layout14-article {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}

.TPL-layout14-article .TPL-layout14-img {
  width: 50%;
  margin-right: 25px;
  text-align: center;
}

.TPL-layout14-article .TPL-layout14-text-wrap {
  flex: 1;
}

.TPL-layout14-article .TPL-layout14-text-wrap .TPL-layout14-text {
  line-height: 2;
  letter-spacing: 0.03em;
}

.TPL-layout14-article .TPL-layout14-text-wrap .TPL-layout14-text+.TPL-layout14-text {
  margin-top: 15px;
}

.TPL-layout14-article .TPL-layout14-box+.TPL-layout14-box {
  margin-top: 20px;
}

.TPL-layout14-article .TPL-layout14-title {
  margin-bottom: 10px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] 画像・テキスト横並びレイアウト
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-layout14-article02 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}



/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] 商品リスト(4列)
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-item-list04 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}

.TPL-item-list04 .TPL-item-list04-article {
  width: calc((100% - 61px) / 4);
  margin-left: 20px;
}

.TPL-item-list04 .TPL-item-list04-article:nth-of-type(4n+1) {
  margin-left: 0;
}

.TPL-item-list04 .TPL-item-list04-article:nth-of-type(n+5) {
  margin-top: 30px;
}

.TPL-item-list04 .TPL-item-list04-article-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.TPL-item-list04 .TPL-item-list04-article-img {
  margin-bottom: 5px;
}

.TPL-item-list04 .TPL-item-list04-article-img a {
  display: block;
  border: 1px solid #dcdcdc;
  padding: 8px;
}

.TPL-item-list04 .item-list-name {
  line-height: 1.3;
  font-size: 14px;
  text-align: center;
}

.TPL-item-list04 .item-list-name span {
  text-align: left;
  display: inline-block;
}

.TPL-item-list04 .TPL-item-list04-article-explain {
  line-height: 1.4;
  margin-top: 5px;
  font-size: 13px;
  color: #666666;
}

.TPL-item-list04 .TPL-item-list04-article-price {
  margin-top: 3px;
  color: #f83e3e;
  text-align: center;
  font-size: 12px;
  line-height: 1;
}

.TPL-item-list04-article-price-value {
  font-weight: bold;
  font-size: 150%;
  font-family: Arial, 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  letter-spacing: 0;
  padding: 0 2px;
}


/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] 商品リスト(3列) 2023.12.27作成
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-item-list03_01 .TPL-item-list04-article {
  width: calc((100% - 36px) / 3);
  margin-left: 18px;
  text-align: center;
}




/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] 商品ランキング(3列)
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-ranking {
  padding: 23px 18px 18px;
  background: #F8FAFC;
  border-radius: 8px;
}

.TPL-ranking .TPL-ranking-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0;
  list-style: none;
  margin: 0;
}

.TPL-ranking .TPL-ranking-title {
  text-align: center;
  font-size: 24px;
  border-left: none;
  border-right: none;
  line-height: 1.3;
  margin-bottom: 8px;
  position: relative;
}

.TPL-ranking .TPL-ranking-title::before {
  content: '';
  position: absolute;
  z-index: 0;
  width: 100%;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 2px;
  background: #ff5b5b;
}

.TPL-ranking .TPL-ranking-title span {
  background: #F8FAFC;
  position: relative;
  z-index: 10;
  padding: 0 20px;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-item {
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: center;
  width: calc((100% - 41px) / 3);
  margin: 0 0 0 20px;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-item:nth-of-type(3n+1) {
  margin-left: 0;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-item-num {
  display: block;
  font-weight: bold;
  text-align: center;
  font-size: 14px;
  z-index: 1;
  position: relative;
  color: #fff;
  line-height: 1.2;
  padding: 24px 0 0;
  margin-bottom: 5px;
  min-height: 48px;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-rank02 .TPL-ranking-item-num,
.TPL-ranking .TPL-ranking-list .TPL-ranking-rank03 .TPL-ranking-item-num {
  padding-top: 27px;
  font-size: 13px;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-item-num:before {
  content: "";
  background-repeat: no-repeat;
  background-position: center bottom;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 58px;
  height: 45px;
  z-index: -1;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-rank01 .TPL-ranking-item-num:before {
  background-image: url(/img/template/ranking_gold.svg);
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-rank02 .TPL-ranking-item-num:before {
  background-image: url(/img/template/ranking_silver.svg);
  background-size: 90%;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-rank03 .TPL-ranking-item-num:before {
  background-image: url(/img/template/ranking_bronze.svg);
  background-size: 80%;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-item:nth-child(n+4) .TPL-ranking-item-num {
  display: block;
  background: none;
  color: #333;
  padding: 29px 0 0;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-item-img {
  display: block;
  margin-bottom: 4px;
  background: #ffffff;
  border: 1px solid #dcdcdc;
  padding: 5px;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-item-name {
  display: block;
  font-weight: normal;
  word-break: break-all;
  line-height: 1.3;
}

.TPL-ranking .TPL-ranking-list .TPL-ranking-item-name span {
  display: inline-block;
  text-align: left;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 [TEMPLATE] 商品ランキング(5列)
-----------------------------------------------------------
----------------------------------------------------------- */
/*
.TPL-ranking02 .TPL-ranking-list .TPL-ranking-item {
    position: relative;
    display: flex;
    flex-direction: column;
    text-align: center;
    width: 17%;
    margin: 0 0 0 2%;
    margin-left: 2%;
    flex: 1 0 auto;
} */
.TPL-ranking02 {
  padding: 23px 18px 18px;
  background: #F8FAFC;
  border-radius: 8px;
}

.TPL-ranking02 .TPL-ranking-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0;
  list-style: none;
  margin: 0;
}

.TPL-ranking02 .TPL-ranking-title {
  text-align: center;
  font-size: 24px;
  border-left: none;
  border-right: none;
  line-height: 1.3;
  margin-bottom: 8px;
  position: relative;
}

.TPL-ranking02 .TPL-ranking-title::before {
  content: '';
  position: absolute;
  z-index: 0;
  width: 100%;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 2px;
  background: #ff5b5b;
}

.TPL-ranking02 .TPL-ranking-title span {
  background: #F8FAFC;
  position: relative;
  z-index: 10;
  padding: 0 20px;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-item {
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: center;
  width: calc((100% - 49px) / 5);
  margin: 0 0 0 12px;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-item:nth-of-type(5n+1) {
  margin-left: 0;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-item:nth-of-type(n+6) {}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-item-num {
  display: block;
  font-weight: bold;
  text-align: center;
  font-size: 14px;
  z-index: 1;
  position: relative;
  color: #fff;
  line-height: 1.2;
  padding: 24px 0 0;
  margin-bottom: 5px;
  min-height: 48px;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-rank02 .TPL-ranking-item-num,
.TPL-ranking02 .TPL-ranking-list .TPL-ranking-rank03 .TPL-ranking-item-num {
  padding-top: 27px;
  font-size: 13px;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-item-num:before {
  content: "";
  background-repeat: no-repeat;
  background-position: center bottom;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 58px;
  height: 45px;
  z-index: -1;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-rank01 .TPL-ranking-item-num:before {
  background-image: url(/img/template/ranking_gold.svg);
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-rank02 .TPL-ranking-item-num:before {
  background-image: url(/img/template/ranking_silver.svg);
  background-size: 90%;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-rank03 .TPL-ranking-item-num:before {
  background-image: url(/img/template/ranking_bronze.svg);
  background-size: 80%;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-item:nth-child(n+4) .TPL-ranking-item-num {
  display: block;
  background: none;
  color: #333;
  padding: 29px 0 0;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-item-img {
  display: block;
  margin-bottom: 4px;
  background: #ffffff;
  border: 1px solid #dcdcdc;
  padding: 5px;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-item-name {
  display: block;
  font-size: 13px;
  font-weight: normal;
  word-break: break-all;
  line-height: 1.3;
}

.TPL-ranking02 .TPL-ranking-list .TPL-ranking-item-name span {
  display: inline-block;
  text-align: left;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-common-center 中央寄せ
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-common-center {
  text-align: center;
}


/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-column02 2列コンテンツ
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-column02 {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 30px 0;
}

.TPL-column02 .TPL-column02-item {
  width: calc((100% - 35px) /2);
  margin: 0;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-column03 3列コンテンツ
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-column03 {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 25px 0;
}

.TPL-column03 .TPL-column03-item {
  width: calc((100% - 50px) /3);
  margin: 0;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 ボタンリスト
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-btn-list {
  list-style: none;
  padding: 0;
}

.TPL-btn-list .TPL-btn-list-btn-sub {
  /* @mixin:PC-btn-sub */
  font-family: "Noto Sans JP", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #555 !important;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px 0;
  display: inline-block;
  font-weight: bold;
  text-decoration: none !important;
  background: none;
  text-align: center;
  padding: 12px 25px;
  border-radius: 4px;
  font-size: 17px;
  line-height: 1.3;
  border: 1px solid;
  display: block;
  transition: all 0.2s;
}

.TPL-btn-list .TPL-btn-list-btn-sub:hover {
  color: #FFF !important;
  background: #ff5b5b;
  opacity: 1;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-link-text-wrap
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-link-text-wrap {
  margin-top: 20px;
  text-align: right;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-link-text
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-link-text {
  /* @mixin:PC-link-text */
  color: #ff5b5b !important;
  font-family: "Noto Sans JP", Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bold;
  font-size: 18px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 YouTube
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-youtube {
  display: block;
  width: 100%;
  position: relative;
  height: 0;
  padding-bottom: 56%;
}

.TPL-youtube iframe {
  max-width: 100%;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-item-list01
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-item-list01 .TPL-item-list01-ul,
.TPL-item-list01 .TPL-item-list01-btn-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.TPL-item-list01 .TPL-item-list01-ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 30px 0;
}

.TPL-item-list01 .TPL-item-list01-ul .TPL-item-list01-item {
  width: calc((100% - 15px) / 2);
  margin: 0;
}

.TPL-item-list01 .TPL-item-list01-item .TPL-title02 {
  font-size: 115%;
}

.TPL-item-list01 .TPL-item-list01-item .TPL-item-list01-body {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
  padding: 0 8px;
}

.TPL-item-list01 .TPL-item-list01-item .TPL-item-list01-body-left {
  text-align: center;
  width: 105px;
  margin-right: 12px;
}

.TPL-item-list01 .TPL-item-list01-item .TPL-item-list01-body-right {
  flex: 1;
}

.TPL-item-list01 .TPL-item-list01-item .TPL-item-list01-btn {
  color: #ff5b5b;
  position: relative;
  display: block;
  text-align: left;
  font-weight: bold;
  text-decoration: none;
  background: none;
  border: 1px solid;
  border-radius: 4px;
  font-size: 17px;
  line-height: 1.3;
  padding: 7px 18px 7px 10px;
  transition: all 0.2s;
}

.TPL-item-list01 .TPL-item-list01-item .TPL-item-list01-btn::before {
  content: '';
  position: absolute;
  color: #ff5b5b;
  border-top: 2px solid;
  border-right: 2px solid;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 9px;
  height: 9px;
  right: 11px;
  transform: rotate(45deg);
}

.TPL-item-list01 .TPL-item-list01-item .TPL-item-list01-btn:hover {
  color: #FFF !important;
  background: #ff5b5b;
  opacity: 1;
}

.TPL-item-list01 .TPL-item-list01-item .TPL-item-list01-btn:hover::before {
  color: #FFF !important;
}

.TPL-item-list01 .TPL-item-list01-ul,
.TPL-item-list01 .TPL-item-list01-btn-list>li+li {
  margin-top: 7px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-item-list02
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-item-list02 .TPL-item-list02-ul,
.TPL-item-list02 .TPL-item-list02-btn-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.TPL-item-list02 .TPL-item-list02-ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}

.TPL-item-list02 .TPL-item-list02-ul .TPL-item-list02-item {
  border: 1px solid #eaeaea;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  padding: 5px 10px;
  background: #FFF;
  margin: 0 0 -1px -1px;
  align-items: stretch;
}

.TPL-item-list02.TPL-item-list02-column05 .TPL-item-list02-ul .TPL-item-list02-item {
  width: calc((100% + 4px) / 5);
}

.TPL-item-list02.TPL-item-list02-column04 .TPL-item-list02-ul .TPL-item-list02-item {
  width: calc((100% + 3px) / 4);
}

.TPL-item-list02.TPL-item-list02-column03 .TPL-item-list02-ul .TPL-item-list02-item {
  width: calc((100% + 2px) / 3);
}

.TPL-item-list02.TPL-item-list02-column02 .TPL-item-list02-ul .TPL-item-list02-item {
  width: calc((100% + 1px) / 2);
}

.TPL-item-list02 .TPL-item-list02-item .TPL-item-list02-image-wrap {
  width: 57px;
  margin-right: 7px;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
  align-content: center;
  justify-content: center;
  min-height: 67px;
}

.TPL-item-list02 .TPL-item-list02-item .TPL-item-list02-image {
  height: 0;
  padding-bottom: 100%;
  position: relative;
  background: no-repeat center center;
  background-size: cover;
}

.TPL-item-list02 .TPL-item-list02-item .TPL-item-list02-image.TPL-item-list02-image-border::before {
  border: 1px solid #dcdcdc;
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  z-index: 10;
}

.TPL-item-list02 .TPL-item-list02-item .TPL-item-list02-text-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: center;
  align-items: stretch;
}

.TPL-item-list02 .TPL-item-list02-item .TPL-item-list02-item-title {
  letter-spacing: 0;
  line-height: 1.25;
  font-size: 14px;
  margin: 0 0 5px;
  font-weight: bold;
}

.TPL-item-list02 .TPL-item-list02-item .TPL-item-list02-btn-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 5px;
}

.TPL-item-list02 .TPL-item-list02-item .TPL-item-list02-btn-list>li {
  margin: 0;
  font-size: 92%;
  min-width: calc((100% - 5px) / 2);
  flex: 1;
}

.TPL-item-list02 .TPL-item-list02-item .TPL-item-list02-btn-list>li a {
  display: block;
  text-align: left;
  text-decoration: none;
  border: 1px solid;
  border-radius: 3px;
  font-size: 12px;
  line-height: 1.3;
  padding: 2px 10px 3px 4px;
  position: relative;
  border-color: #ccc;
  background: #FFF;
  opacity: 1;
  transition: background-color 0.2s;
}

.TPL-item-list02 .TPL-item-list02-item .TPL-item-list02-btn-list>li a::before {
  content: '';
  position: absolute;
  border-top: 1px solid;
  border-right: 1px solid;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  right: 6px;
  transform: rotate(45deg);
}

.TPL-item-list02 .TPL-item-list02-item .TPL-item-list02-btn-list>li a:hover {
  background-color: #f5f5f5;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TPL-item-list03
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-item-list03 .TPL-item-list03-ul,
.TPL-item-list03 .TPL-item-list03-btn-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.TPL-item-list03 .TPL-item-list03-ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}

.TPL-item-list03 .TPL-item-list03-ul .TPL-item-list03-item {
  border: 1px solid #eaeaea;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  padding: 12px;
  background: #FFF;
  margin: 0 0 -1px -1px;
  align-items: stretch;
}

.TPL-item-list03.TPL-item-list03-column05 .TPL-item-list03-ul .TPL-item-list03-item {
  width: calc((100% + 4px) / 5);
}

.TPL-item-list03.TPL-item-list03-column04 .TPL-item-list03-ul .TPL-item-list03-item {
  width: calc((100% + 3px) / 4);
}

.TPL-item-list03.TPL-item-list03-column03 .TPL-item-list03-ul .TPL-item-list03-item {
  width: calc((100% + 2px) / 3);
}

.TPL-item-list03.TPL-item-list03-column02 .TPL-item-list03-ul .TPL-item-list03-item {
  width: calc((100% + 1px) / 2);
}

.TPL-item-list03 .TPL-item-list03-item .TPL-item-list03-text-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-content: flex-start;
  justify-content: center;
  align-items: stretch;
}

.TPL-item-list03 .TPL-item-list03-item .TPL-item-list03-item-title {
  letter-spacing: 0;
  line-height: 1.25;
  font-size: 15px;
  margin: 0 0 7px;
  font-weight: bold;
  position: relative;
  padding-left: 14px;
}

.TPL-item-list03 .TPL-item-list03-item .TPL-item-list03-item-title::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 6px;
  border-color: transparent transparent transparent #ff5b5b;
  display: block;
  top: 0px;
  left: 3px;
  bottom: 0;
  margin: auto;
  z-index: 10;
}

.TPL-item-list03 .TPL-item-list03-item .TPL-item-list03-btn-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  gap: 5px;
}

.TPL-item-list03 .TPL-item-list03-item .TPL-item-list03-btn-list>li {
  margin: 0;
  font-size: 92%;
  min-width: calc((100% - 5px) / 2);
  flex: 1;
}

.TPL-item-list03 .TPL-item-list03-item .TPL-item-list03-btn-list>li a {
  display: block;
  text-align: left;
  text-decoration: none;
  border: 1px solid;
  border-radius: 3px;
  font-size: 14px;
  line-height: 1.3;
  padding: 4px 10px 5px 6px;
  position: relative;
  border-color: #ccc;
  background: #FFF;
  opacity: 1;
  transition: background-color 0.2s;
}

.TPL-item-list03 .TPL-item-list03-item .TPL-item-list03-btn-list>li a::before {
  content: '';
  position: absolute;
  border-top: 1px solid;
  border-right: 1px solid;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  right: 6px;
  transform: rotate(45deg);
}

.TPL-item-list03 .TPL-item-list03-item .TPL-item-list03-btn-list>li a:hover {
  background-color: #f5f5f5;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TEMPLATE - TPL-bg-content-box
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-bg-content-box {
  padding: 25px 28px;
  background: #f4f4f4;
  border-radius: 12px;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TEMPLATE - TPL-box-title-wrap
 margin: 2→1em 0;　20241028
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-box-title-wrap {
  position: relative;
  margin: 1em 0;
  padding: 1em;
  border: solid 3px #95ccff;
  border-radius: 8px;
  text-align: left;
}

.TPL-box-title-wrap.color01 {
  border: solid 3px #95ccff;
}

.TPL-box-title-wrap.color02 {
  border: solid 3px #90ee90;
}

.TPL-box-title-wrap.color03 {
  border: solid 3px #fa8072;
}

.TPL-box-title-wrap.color04 {
  border: solid 3px #a9a9a9;
}

.TPL-box-title-wrap span.TPL-box-title {
  position: absolute;
  display: inline-block;
  top: -13px;
  left: 10px;
  padding: 0 9px;
  line-height: 1;
  font-size: 19px;
  background: #FFF;
  font-weight: bold;
}

.TPL-box-title-wrap.color01 span.TPL-box-title {
  color: #95ccff;
}

.TPL-box-title-wrap.color02 span.TPL-box-title {
  color: #90ee90;
}

.TPL-box-title-wrap.color03 span.TPL-box-title {
  color: #fa8072;
}

.TPL-box-title-wrap.color04 span.TPL-box-title {
  color: #a9a9a9;
}

.TPL-box-title-wrap p {
  margin: 0;
  padding: 0;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TEMPLATE - TPL-dot-line-box
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-dot-line-box {
  padding: 1em;
  margin: 2em 0;
  text-align: left;
}

.TPL-dot-line-box.color01 {
  background: #f0f7ff;
  border: dashed 2px #5b8bd0;
}

.TPL-dot-line-box.color02 {
  background: #e6ffe6;
  border: dashed 2px #90ee90;
}

.TPL-dot-line-box.color03 {
  background: #fff0ee;
  border: dashed 2px #fa8072;
}

.TPL-dot-line-box.color04 {
  background: #f5f5f5;
  border: dashed 2px #a9a9a9;
}

.TPL-dot-line-box.color05 {
  border: solid 1px #a9a9a9;
  margin: 20px 0 !important;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TEMPLATE - TPL-dot-line-box　20240705追加
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-dot-line-box2 {
  padding: 1em;
  margin: 10px 0;
  text-align: left;
}

.TPL-dot-line-box2.color01 {
  background: #f0f7ff;
  border: dashed 2px #5b8bd0;
}

.TPL-dot-line-box2.color02 {
  background: #e6ffe6;
  border: dashed 2px #90ee90;
}

.TPL-dot-line-box2.color03 {
  background: #fff0ee;
  border: dashed 2px #fa8072;
}

.TPL-dot-line-box2.color04 {
  background: #f5f5f5;
  border: dashed 2px #a9a9a9;
}

.TPL-dot-line-box2.color05 {
  border: solid 1px #a9a9a9;
}

/* --------------------------------------------------------
-----------------------------------------------------------
 TEMPLATE - TPL-item-explanation-wrap
-----------------------------------------------------------
----------------------------------------------------------- */
.TPL-item-explanation-wrap {
  padding: 50px;
  border: 1px solid #CCC;
  text-align: center;
}

.TPL-item-explanation-wrap p {
  margin: 0;
}

.TPL-item-explanation-wrap .TPL-item-explanation-img {
  margin-bottom: 20px;
}

.TPL-item-explanation-wrap .TPL-item-name {
  font-size: 24px;
  padding-bottom: 20px;
}

.TPL-item-explanation-wrap .TPL-item-explanation-btn {
  width: 300px;
  margin: 0 auto;
}

.TPL-item-explanation-wrap .TPL-item-explanation-btn a {
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 7px;
  margin-top: 4px;
  color: #fff !important;
  text-decoration: none !important;
  text-align: center;
  font-size: 16px;
  line-height: 1.8;
  background-color: #ff5b5b;
  border-bottom: 5px solid #cb2e2e;
  border-radius: 8px;
  opacity: 1;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.TPL-item-explanation-wrap .TPL-item-explanation-btn a:hover {
  border-bottom: 1px solid #cb2e2e;
  margin-top: 8px;
  opacity: 0.7;
}

.TPL-item-explanation-wrap .TPL-item-explanation-text {
  padding: 30px 0;
  width: 650px;
  margin: 0 auto;
}

.TPL-item-explanation-wrap .TPL-similar-products-wrap {
  margin-top: 50px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 10px 10px 25px;
  border: 1px solid #ccc;
}

.TPL-item-explanation-wrap .TPL-similar-products-wrap .TPL-similar-products-title {
  width: 100%;
  text-align: center;
  font-size: 20px;
  margin-bottom: 15px;
}

.TPL-item-explanation-wrap .TPL-similar-products-wrap .TPL-similar-products {
  width: 48%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}

.TPL-item-explanation-wrap .TPL-similar-products-wrap .TPL-similar-products:nth-of-type(2n) {
  margin-left: 4%;
}

.TPL-item-explanation-wrap .TPL-similar-products-wrap .TPL-similar-products .left-wrap {
  width: 42%;
}

.TPL-item-explanation-wrap .TPL-similar-products-wrap .TPL-similar-products .right-wrap {
  width: 50%;
  margin-left: 8%;
  text-align: left;
  font-size: 16px;
}