@charset "utf-8";

.mb0 {
  margin-bottom: 0;
}

.floatR {
  float: right;
}

.floatL {
  float: left;
}

.img-floatR {
  float: right;
  margin: 0px 0px 10px 15px;
}

.img-floatL {
  float: left;
  margin: 0px 15px 10px 0px;
}

.d-b {
  display: block;
}

.d-f {
  display: flex;
}

.jcc {
  justify-content: center;
}

.aic {
  align-items: center;
}

.z-2 {
  position: relative;
  z-index: 2;
}

.z-1 {
  position: relative;
  z-index: 1;
}

.w100per {
  width: 100%;
}

.w100img_770 img {
  width: 100%;
  max-width: 770px;
}

.w100img img,
.w100img-pc img {
  width: 100%;
  height: auto;
}

.w50img img,
.w50img-pc img {
  width: 50%;
  margin: auto;
  display: table;
}

.w900img-pc img {
  width: 80%;
}

.clear {
  clear: both;
}

.jisage {
  padding-left: 1em;
  text-indent: -1em;
}

.txtLeft {
  text-align: left !important;
}

.txtRight {
  text-align: right;
}

.txtCenter {
  text-align: center !important;
}

.border {
  border-bottom: 1px dotted #505050;
  padding-bottom: 20px;
}

.borderRed {
  border-bottom: 1px solid #E60013;
  padding-bottom: 0 !important;
}

.marginLeft__table {
  display: table;
  margin-left: auto;
}

/* 枠 -------------------------------------- */
body {
  margin: 0;
  padding: 0;
  color: #505050;
  font-size: 14px;
  line-height: 1.5em;
  letter-spacing: 0.5px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    "ＭＳ Ｐゴシック", sans-serif;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

.wrap {
  max-width: 1040px;
  margin: 0 auto;
}

main {
  width: 100%;
  /* display:inline;*/
  position: relative;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
}

section {
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  background: #fff;
  width: 1040px;
}

.block {
  margin: 0px 20px;
  padding: 0px 0px 65px 0px;
  width: 1000px;
}

.block.w700px {
  margin: 0px 170px;
  width: 700px;
}

.block.w860px {
  margin: 0px 90px;
  width: 860px;
}

.block.w900px {
  margin: 0px 70px;
  width: 900px;
}

/* list -------------------------------------- */
ul.list_square,
ul.list_cicle,
ul.list_disc {
  margin-bottom: -5px;
}

ul.list_square li,
ul.list_cicle li,
ul.list_disc li {
  margin-left: 18px;
  margin-bottom: 5px;
  letter-spacing: 0px;
}

ul.list_cicle li {
  list-style-type: circle;
}

ul.list_disc li {
  list-style-type: disc;
}

ul.list_square li {
  list-style-type: square;
}

.list_disc_topText {
  font-size: 18px;
  margin-bottom: 5px;
  line-height: 1.5em;
  letter-spacing: 0.5px;
  font-weight: 700;
}

/* ナンバリング */
ol.list_number {}

ol.list_number li {
  list-style-type: none;
  list-style-position: inside;
  counter-increment: cnt;
  position: relative;
  margin: 0 0 3px 2em;
}

ol.list_number li:before {
  content: "(" counter(cnt) ") ";
  position: absolute;
  padding-top: 2px;
  top: -2px;
  left: -2em;
  width: 2em;
  text-align: center;
}

/* 3から */
ol.list_number.from3 {
  counter-reset: item 2;
}

ol.list_number.from3 li:before {
  content: "(" counter(item) ") ";
  counter-increment: item;
}

/* table -------------------------------------- */
table {
  width: 100%;
  border: 1px solid #b4b4b4;
}

table th,
table td {
  border: 1px solid #b4b4b4;
  padding: 15px 20px;
}

table.w2-8 td {
  width: 20%;
}

table.w2-8 td:last-child {
  width: 80%;
}

table.w3-7 td {
  width: 30%;
}

table.w3-7 td:last-child {
  width: 70%;
}

table.w4-6 td {
  width: 40%;
}

table.w4-6 td:last-child {
  width: 60%;
}

/* txt -------------------------------------- */
h1 {}

h2 {
  font-size: 28px;
  line-height: 1.4em;
  text-align: center;
  font-weight: 700;
  margin-bottom: 50px;
}

h2.h2-left {
  border-left: none;
  text-align: left;
}

h3 {
  font-size: 26px;
  line-height: 1.4em;
  font-weight: 700;
  margin-bottom: 30px;
  border-left: 4px solid #505050;
  padding-left: 12px;
}

h3 span {
  font-size: 18px;
}

h3.h3-center {
  border-left: none;
  padding-left: 0;
  text-align: center;
}

h3.h3-left {
  border-left: none;
  padding-left: 0;
  text-align: left;
}

h3.h3-img {
  border-left: none;
  padding-left: 0;
}

h4 {
  font-size: 18px;
  line-height: 1.4em;
  font-weight: 700;
  margin-bottom: 20px;
}

p,
li,
dt,
dl {
  font-size: 14px;
  line-height: 1.7em;
  letter-spacing: 0px;
  color: #505050;
  margin-bottom: 1em;
}

.px22 {
  font-size: 21px;
  line-height: 1.6em;
  letter-spacing: 0.5px;
}

.px30 {
  font-size: 33px;
  line-height: 1.6em;
  letter-spacing: 0.5px;
}

.px18 {
  font-size: 18px;
  line-height: 1.6em;
  letter-spacing: 0.5px;
}

.px16 {
  font-size: 16px;
  line-height: 1.6em;
  letter-spacing: 0.5px;
}

.px14 {
  font-size: 14px;
  line-height: 1.6em;
  letter-spacing: 0.5px;
}

p.read {
  font-size: 18px;
  line-height: 1.6em;
  letter-spacing: 1px;
}

p.read2 {
  font-size: 18px;
  line-height: 1.6em;
  letter-spacing: 1px;
  text-align: center;
}

strong {
  font-weight: 700;
}

/*  */
.bold {
  font-weight: bold;
}

.red {
  color: #e50012;
}

.pink {
  color: #e3007f;
}

.green {
  color: #5bb550;
}

.orange {
  color: #f39800;
}

/* link ------------------------------------------------------------------------------------ */
main a {
  color: #e50012;
  text-decoration: underline;
}

main a:hover {
  color: #e50012;
  text-decoration: underline;
}

main a img {
  transition: 0.15s linear;
  -webkit-transition: 0.15s linear;
  -moz-transition: 0.15s linear;
  -o-transition: 0.15s linear;
  -ms-transition: 0.15s linear;
}

main a img:hover {
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
}

a.link_tel,
a.link_tel:hover {
  color: #505050;
  text-decoration: none;
}

/* ボタン ------------------------------------------------------------------------------------ */
main a.redBtn {
  font-size: 18px;
  padding: 15px 0;
  border: 1px solid #e50012;
  text-decoration: none;
  width: 300px;
  display: block;
  text-align: center;
  background: url("../img/btn-red.png") no-repeat 97% 50%;
}

main a.redBtn:hover {
  background-color: rgba(299, 0, 18, 0.1);
}

/* センタリング */
main .txtCenter a.redBtn {
  margin: 0 auto;
}

/* メニュー用 */
ul.btnBox {}

main .btnArea {
  width: 770px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

main .btnArea ul.btnBox {
  position: relative;
  text-align: center;
  left: 50%;
  float: left;
}

main .btnArea ul.btnBox li {
  float: left;
  position: relative;
  left: -50%;
  float: left;
  margin: 0 auto 30px auto;
}

main .btnArea ul.btnBox li.mgn-l {
  margin-left: 105px;
}

main .btnArea ul.btnBox li a.redBtn {
  width: 300px;
  text-align: left;
  padding: 15px;
  height: 3em;
  display: table-cell;
  vertical-align: middle;
  margin: 0 50px;
  line-height: 1.5em;
}

/* 分割 ------------------------------------------------------------------------------------ */
/* 2分割 */
main .column2 {
  width: 100%;
  margin: 0;
  padding: 0;
}

main .column2 .column,
main .column2.float-sp .column {
  width: 48.5%;
  float: left;
  margin: 0;
  padding: 0;
  margin-left: 3%;
}

.w56 {
  width: 56% !important;
}

main .column2 .column:first-child,
main .column2.float-sp .column:first-child {
  margin-left: 0;
}

/* 2分割 左300px */
main .column2.left300px .column {
  width: 67%;
  margin-left: 3%;
}

main .column2.left300px .column:first-child {
  width: 30%;
  margin-left: 0;
}

/* 2分割 右300px */
main .column2.right350px .column {
  width: 35%;
  margin-left: 3%;
}

main .column2.right350px .column:first-child {
  width: 62%;
  margin-left: 0;
}

/* 2分割 右250px */
main .column2.right250px .column {
  width: 25%;
  margin-left: 3%;
}

main .column2.right250px .column:first-child {
  width: 72%;
  margin-left: 0;
}

/* 3分割 */
main .column3 {
  width: 100%;
  margin: 0;
  padding: 0;
}

main .column3 .column {
  width: 30%;
  float: left;
  margin: 0;
  padding: 0;
  margin-left: 5%;
}

main .column3 .column:first-child {
  margin-left: 0%;
}

/* リスト センタリング ------------------------------------------------------------------------------------ */
main .box-listCenter {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

/* btn */
main .box-listCenter ul {
  position: relative;
  text-align: center;
  left: 50%;
  float: left;
}

main .box-listCenter ul li {
  position: relative;
  left: -50%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

/* visual ------------------------------------------------------------------------------------ */
section#visual {
  margin: 70px 0 30px 0;
  padding: 0 0 0 0;
}

section#visual p.customer_title {
  font-size: 1.48rem;
  margin: 0 auto 20px;
  padding: 0 0 0 0;
  text-align: center;
}

/* パンくず ------------------------------------------------------------------------------------ */
section#bread {
  margin: 0px 0 50px 0;
  padding: 0 0 0 0;
}

section#bread .block {
  padding-bottom: 0;
}

ul.bread_list {
  display: flex;
}

.bread_list li {}

.bread_list li:not(:last-child):after {
  content: "　>　";
}

/* link */
.bread_list li a {
  color: #b4b4b4;
  text-decoration: none;
}

.bread_list li a:hover {
  color: #e50012;
  text-decoration: underline;
}

/* aside footer -----------------------------------------------------------------------------
aside footer {
  width: 1040px;
  background: #fff;
  margin: 0;
  padding-top: 50px;
}

.footer-wrap {
  display: flex;
}

/* 分割 
.footer-logo {
  width: 235px;
  margin: 0 0 0 30px;
  padding: 0;
}

.footer-menu {
  width: 485px;
  margin: 0 10px;
  padding: 0;
}

.footer-bnr {
  width: 240px;
  margin: 0 30px 0 0;
  padding: 0;
}

.footer-sns {
  padding-bottom: 30px;
  margin-left: 30px;
}

.footer-sns-list {
  display: flex;
  flex-wrap: wrap;
}

.footer-sns-item {
  margin-right: 30px;
}

.footer-sns-item:last-child {
  margin-right: 0;
}

.footer-sns-link {
  display: block;
  width: 30px;
  transition: opacity 0.3s;
}

.footer-sns-link:hover {
  opacity: 0.8;
}

.footer-sns-link img {
  width: 100%;
}

@media screen and (max-width: 500px) {
  .footer-sns {
    padding: 24px 0;
    margin: 0 24px;
  }

  .footer-sns-item {
    margin-right: 24px;
  }

  .footer-sns-link {
    width: 24px;
  }
}

/* logo 
.footer-logo p {
  margin-bottom: 10px;
}

/* menu 
.footer-menu ul {
  float: left;
  margin: 0 8px;
}

.footer-menu li {
  margin-bottom: 10px;
}

.footer-menu li a {
  font-weight: 700;
  color: #e50012;
  text-decoration: none;
  letter-spacing: 0;
}

.footer-menu li a:hover {
  text-decoration: underline;
}

/* bnr 
.footer-bnr img {
  width: 100%;
}

/* コピーライト 
.footer-copy {
  clear: both;
  width: 1040px;
  margin: 0;
  padding: 0;
  background: #e50012;
  letter-spacing: 0;
  color: #fff;
}

.footer-copy .copy-l {
  float: left;
  padding: 10px 25px 5px 25px;
}

.footer-copy .copy-r {
  float: right;
  padding: 10px 25px 5px 25px;
}

.footer-copy .copy-l a {
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0;
}

.footer-copy .copy-l a:hover {
  text-decoration: underline;
}

------- */

/* 中ページ -------------------------------------------------------------------------------------------------------------------------------------------- */
/* brand ---------------------------- */
section#brand {
  position: relative;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

/* title */
section#brand h2 {
  color: #505050;
  font-size: 14px;
  line-height: 2.1em;
  font-weight: normal;
  letter-spacing: 1px;
  text-align: left;
  text-align: center;
  margin-bottom: 30px;
}

section#brand h2 span {
  color: #000;
  font-size: 28px;
  line-height: 1.4em;
  font-weight: normal;
  letter-spacing: 1px;
}

/* 企業情報 -------------------------------------- */
/* table */
table.table_profile th {
  width: 15%;
  background-color: #f0f0f0;
  vertical-align: top;
}

table.table_profile td {
  width: 85%;
}

table.table_history th {
  width: 15%;
  background-color: #f0f0f0;
  vertical-align: top;
}

table.table_history td {
  width: 85%;
}

/* 役員 */
table.table_profile td.officer dl {
  line-height: 1.4em;
  clear: both;
  margin-bottom: 0px;
}

table.table_profile td.officer dt {
  width: 8em;
  float: left;
  margin-bottom: 3px;
  text-align: right;
}

table.table_profile td.officer dd {
  margin-left: 9em;
  margin-bottom: 3px;
  padding-top: 2px;
}

/* 開発ヒストリー */
main #d_history .column p {
  padding: 0;
  margin: 0;
  line-height: 1.6em;
  margin-bottom: 20px;
}

main #d_history .column p.year {
  font-size: 46px;
  line-height: 1em;
  color: #a48b78;
  font-weight: bold;
  border-bottom: 1px solid #a48b78;
  padding-bottom: 10px;
}

/* policy ---------------------------- */

/* contact ---------------------------- */
#contact p.txt-tell {
  font-size: 28px;
  line-height: 1.4em;
  font-weight: 700;
}

#contact p.hissu {
  font-size: 18px;
  font-weight: 700;
  color: #e50012;
}

#contact p.txt_thx {
  text-align: center;
  font-size: 18px;
  line-height: 1.8em;
  margin-bottom: 50px;
}

/* form部分 */
#contact #form dl {
  line-height: 1.4em;
  border-top: solid 1px #cdcdcd;
  padding-top: 25px;
}

#contact #form dt {
  width: 12em;
  float: left;
  margin-bottom: 25px;
  margin-left: 20px;
}

#contact #form dd {
  margin-left: 14em;
  margin-bottom: 25px;
}

#contact #form dt span {
  color: #e50012;
  padding-left: 3px;
  font-size: 12px;
}

/* btn部分 */
#contact .btnArea {
  border-top: solid 1px #cdcdcd;
  margin-top: 25px;
  padding-top: 50px;
  width: 100%;
  position: relative;
  overflow: hidden;
}

#contact .btnArea ul {
  position: relative;
  text-align: center;
  left: 50%;
  float: left;
}

#contact .btnArea ul li {
  float: left;
  position: relative;
  left: -50%;
  float: left;
}

/* news ---------------------------- */
/* dt dl dd */
dl.news {
  clear: both;
  color: #505050;
  padding-bottom: 40px;
  letter-spacing: 0;
}

dl.news dt {
  float: left;
  width: 165px;
}

dl.news dd {
  margin-left: 165px;
}

dl.news dd a {
  color: #505050;
  text-decoration: none;
}

dl.news dd a:hover {
  color: #e50012;
}

dl.news dt .press-release,
dl.news dt .prodt,
dl.news dt .media,
dl.news dt .campgn,
dl.news dt .compy,
dl.news dt .recrt {
  width: 120px;
  padding: 4px;
  margin-top: 6px;
  color: #fff;
  background: #000;
  text-align: center;
}

dl.news dt .press-release {
  background: #00b8c1;
}

dl.news dt .prodt {
  background: #48af48;
}

dl.news dt .media {
  background: #e78c00;
}

dl.news dt .campgn {
  background: #eccc00;
}

dl.news dt .compy {
  background: #ff9aa2;
}

dl.news dt .recrt {
  background: #986ae1;
}

/* product ---------------------------- */
/* title */
#t_brush h2 {}

#t_brush h2 img {
  width: 580px;
}

#t_brush h2.sizeReset img {
  height: auto;
}

/* i_brush オレンジボタン */
#i_brush .h2area {
  float: left;
  width: 770px;
}

#i_brush .btnOrange {
  float: left;
  width: 230px;
}

#i_brush .btnOrange img {
  width: 100%;
}

p.catch {
  font-size: 28px;
  line-height: 1.4em;
  letter-spacing: 0px;
  font-weight: 700;
}

p.catch span {
  font-size: 14px;
  line-height: 1.4em;
  display: block;
}

p.catch ruby {
  font-weight: 700;
}

p.catch ruby rt {
  font-size: 12px;
}

/* i_brush パンくずリスト */
.breadcrumbs {
  margin-top: 100px !important;
}

.soft_rubberpick01 {
  width: 360px;
  height: auto;
  margin-left: -60px;
}

.soft_rubberpick02 {
  /* transform: rotate(-45deg); */
  width: 250px;
  height: auto;
  margin-left: -60px;
}

@media screen and (max-width: 640px) {
  .soft_rubberpick02 {
    margin-left: -30px;
  }
}

/* new */
#t_brush .box_new {
  background: url(../img/product/bg-new.gif) repeat-x left top;
  color: #e50012;
}

/* seles Point */
h3.h3red {
  border-left: none;
  padding-left: 0;
  margin-bottom: 20px;
  font-size: 28px;
  line-height: 1.3em;

  background: url(../img/product/bg-h3red.gif) repeat-x left bottom;
  color: #e50012;
  padding-bottom: 8px;
}

h3.h3blue {
  border-left: none;
  padding-left: 0;
  margin-bottom: 20px;
  font-size: 28px;
  line-height: 1.3em;

  background: url(../img/product/bg-h3blue.gif) repeat-x left bottom;
  color: #192d79;
  padding-bottom: 8px;
}

h3.h3purple {
  border-left: none;
  margin-bottom: 0;
  padding: 20px 0 0 15px;
  padding-bottom: 0;
  overflow: hidden;
}

.h3purple__title {
  width: 140%;
  max-width: 660px;

}

#t_brush ul.list_sales li,
#i_brush ul.list_sales li {
  font-size: 18px;
  line-height: 1.5em;
  letter-spacing: 0.5px;
  font-weight: 700;
}

#t_brush h4.h4red,
#i_brush h4.h4red {
  font-size: 22px;
  line-height: 1.6em;
  color: #505050;
  font-weight: normal;
  padding: 0;
  margin-bottom: 20px;
  letter-spacing: 0px;
}

#t_brush h4.h4red span,
#i_brush h4.h4red span {
  font-size: 27px;
  color: #e50012;
  font-weight: 700;
}

#i_brush h5.h5-tj {
  font-size: 27px;
  line-height: 1.3em;
  color: #505050;
  font-weight: bold;
  padding: 0;
  margin-bottom: 20px;
  letter-spacing: 0px;
}

#i_brush h5.h5-tj span {
  font-size: 18px;
  font-weight: normal;
  padding-left: 40px;
  line-height: 1em;
}

/* カラーbox */
h5.h5red,
h5.h5gray,
h5.h5blue,
h5.h5green {
  font-size: 28px;
  color: #fff;
  text-align: center;
  font-weihgt: 700;
  padding: 15px 10px;
  margin-bottom: 15px;
  letter-spacing: 0;
}

h5.h5red {
  background: #d60050;
}

h5.h5gray {
  background: #595757;
}

h5.h5blue {
  background: #006fbb;
}

h5.h5green {
  background: #009844;
}

#i_brush main .meritTxt h5 {
  font-size: 28px;
  line-height: 1.4em;
  font-weight: 700;
  margin-bottom: 10px;
}

/* i_bursh 特長 */
#i_brush .widthWhole {
  width: 100%;
}

.meritCycle,
.meritCycle2 {
  width: 15%;
  float: left;
  margin: 0;
  padding: 0;
  margin-right: 3%;
}

.meritTxt,
.meritTxt2 {
  float: left;
}

.meritCycle {
  width: 15%;
}

.meritTxt {
  width: 82%;
}

.meritCycle2 {
  width: 15%;
}

.meritTxt2 {
  width: 82%;
}

.meritCycle img,
.meritCycle2 img {
  width: 100%;
}

/* i_bursh fres_s用 */

.widthWhole .meritCycle {
  width: 10%;
  margin-right: 2.5%;
}

.widthWhole .meritTxt {
  width: 87.5%;
}

/* i_bursh 特長の画像カスタマイズ */
img.w200px {
  width: 200px;
}

.imgCos01 img {
  width: 100%;
}

.w108 img {
  width: 108px;
}

.w152 img {
  width: 152px;
}

.img-fresh_s img {
  width: 100%;
}

.tn_brush-Com1 {
  margin-right: 60px;
}

/* 歯科医療関係者の方へ ---------------------------- */
.block-check {
  margin: 0px 220px;
  padding: 0px 0px 65px 0px;
  width: 600px;
}

.block-check h3 {
  border: none;
  margin: 0px;
  padding: 10px;
  color: #fff;
  background: #e50012;
  text-align: center;
}

.box-check {
  border: 1px solid #b4b4b4;
}

main .box-check {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

/* btn */
main .box-check ul {
  position: relative;
  text-align: center;
  left: 50%;
  float: left;
}

main .box-check ul li {
  float: left;
  position: relative;
  left: -50%;
  float: left;
  margin: 30px auto;
  margin-left: 30px;
}

main .box-check ul li:first-child {
  margin-left: 0;
}

main .box-check ul li a {
  width: 140px;
  text-align: left;
  padding: 15px;
  display: table-cell;
  vertical-align: middle;
  margin: 0 0px;
  line-height: 1em;
  font-size: 20px;
  font-weight: bold;
  text-decoration: none;
}

main .box-check ul li a.btnYes {
  border: 1px solid #e50012;
  color: #e50012;
  background: url("../img/btn-red.png") no-repeat 97% 50%;
}

main .box-check ul li a.btnNo {
  border: 1px solid #505050;
  color: #505050;
  background: url("../img/btn-gray2.png") no-repeat 97% 50%;
}

main .box-check ul li a.btnYes:hover {
  background-color: rgba(299, 0, 18, 0.1);
}

main .box-check ul li a.btnNo:hover {
  background-color: rgba(80, 80, 80, 0.1);
}

/* デンタルクリニック ---------------------------- */
main .column2.float-ohc_m01 .column {
  width: 78%;
  margin-left: 0;
}

main .column2.float-ohc_m01 .column:first-child {
  width: 22%;
  margin-left: 0;
}

main .column2.float-ohc_i01 .column {
  width: 90%;
  margin-left: 3%;
}

main .column2.float-ohc_i01 .column:first-child {
  width: 7%;
  margin-left: 0;
}

main .column2.float-ohc_i01 .column {
  margin-bottom: 20px;
}

main .column2.float-ohc_i01 .column h3 {
  margin: 0;
  padding: 0;
  padding-top: 15px;
}

/* table */
table.table_dc01 th {
  background-color: #c8c8c8;
  text-align: center;
  font-weight: 700;
  padding: 8px 3px;
}

table.table_dc01 td {
  text-align: center;
  padding: 8px 5px;
}

table.table_dc01 td:first-child {
  background-color: #f0f0f0;
}

table.table_dc02 th {
  background-color: #c8c8c8;
  text-align: center;
  font-weight: 700;
  padding: 8px 3px;
}

table.table_dc02 td {
  text-align: center;
  padding: 8px 5px;
}

table.table_dc02 td img {
  width: 80%;
}

span.ohc_t-green,
span.ohc_t-blue {
  font-size: 14px;
  line-height: 1em;
  font-weight: normal;
  color: #fff;
  padding: 3px 10px;
}

span.ohc_t-green {
  background-color: #339900;
}

span.ohc_t-blue {
  background-color: #0066ff;
}

/* ミント歯ブラシ */

/* ミント歯ブラシ */
.box-greek_m h3 {
  background: url(../img/dentalclinic/bg-greek_m01.gif) repeat-x left 55%;
}

.box-greek_m h4 {
  margin-left: 15%;
  font-size: 22px;
}

.box-greek_m p {
  margin-left: 15%;
}

.box-greenLINE {
  border: 1px solid #5bb550;
  padding: 40px;
}

/* CSR ---------------------------- */
/* 分割 */
main .column2.env-pdf .column {
  width: 118px;
  float: left;
  margin: 0;
  padding: 0;
  margin-left: 42px;
}

main .column2.env-pdf .column:first-child {
  margin-left: 0;
  width: 840px;
}

main .column2.env-point1 .column {
  width: 660px;
  float: left;
  margin: 0;
  padding: 0;
  margin-left: 40px;
  margin-right: 42px;
}

main .column2.env-point1 .column:first-child {
  margin-left: 0;
  margin-right: 0;
  width: 140px;
}

main .column2.env-point1 .column:last-child {
  margin-left: 0;
  margin-right: 0;
  width: 118px;
}

main .column2.env-point2 .column {
  width: 820px;
  float: left;
  margin: 0;
  padding: 0;
  margin-left: 0px;
  margin-right: 0px;
}

main .column2.env-point2 .column:first-child {
  margin-left: 0;
  margin-right: 40px;
  width: 140px;
}

/* table */
table.table_env th {
  background-color: #c8c8c8;
  font-weight: 700;
  text-align: center;
}

table.table_env td.cell01 {
  width: 18%;
  background-color: #f0f0f0;
}

table.table_env td.cell02 {
  width: 30%;
}

table.table_env td.cell03 {
  width: 52%;
}

#environment .boxYellow {
  padding: 20px;
  background-color: #fdebd1;
}

  .w640 {
    width: 48%;
    margin: 30px auto;
    font-size: 18px;
    line-height: 1.4;
    font-weight: bold;
  }

/* =======================================================================================================================================
for SP max-width: 640px
======================================================================================================================================= */
@media screen and (max-width: 640px) {
  body {
    background: none;
  }

  .w640 {
    width: 100%;
    margin: auto;
    font-size: 0.96rem;
  }

  .w850 {
    width: 92%;
  }

  .w100per {
    width: 92%;
    margin: auto;
  }

  .w100img img {
    width: 100% !important;
  }

  .w100img-sp img {
    width: 100% !important;
  }

  .w45img-sp {
    text-align: center !important;
  }

  .textCenter-sp {
    text-align: center !important;
  }

  .w45img-sp img {
    width: 45% !important;
  }

  .w45img-sp__img {
    width: 45% !important;
  }

  .w35img-sp__img {
    width: 35% !important;
  }

  .w66img-sp {
    text-align: center !important;
  }

  .w66img-sp img {
    width: 66% !important;
  }

  .w75img-sp {
    text-align: center !important;
  }

  .w75img-sp img {
    width: 75% !important;
  }

  .mb00-sp {
    margin-bottom: 0 !important;
  }

  .ml00-sp {
    margin-left: 0 !important;
  }

  .txtLeft-sp {
    text-align: left !important;
  }

  .txtCenter-sp {
    text-align: center !important;
  }

  .img-floatR,
  .img-floatL {
    width: 45%;
  }

  .img-floatR img,
  .img-floatL img {
    width: 100%;
  }

  /* 枠 ---------------------------------------------------------------- */
  .wrap {
    max-width: 100%;
    overflow: hidden;
  }

  main {
    width: 100%;
    top: 46px;
  }

  section {
    width: 100%;
  }

  .block,
  .block.w700px,
  .block.w860px,
  .block.w900px {
    width: 90%;
    margin: 0px 5%;
    padding-bottom: 45px;
  }

  /* txt ---------------------------------------------------------------- */
  h2,
  h2.h2-left {
    font-size: 1.15rem;
    margin-bottom: 20px;
  }

  h3 {
    font-size: 1.1rem;
    margin-bottom: 20px;
  }

  p,
  li,
  dt,
  dd,
  th,
  td {
    font-size: 0.73rem;
    line-height: 1.6em;
  }

  .px22 {
    font-size: 0.85rem;
    line-height: 1.6em;
  }

  .px30 {
    font-size: 1.6rem;
    line-height: 1.6em;
  }

  .px18,
  .px16 {
    font-size: 0.73rem;
    line-height: 1.6em;
  }

  .px14 {
    font-size: 0.63rem;
    line-height: 1.6em;
  }

  .mt80 {
    margin-top: 30px !important;
  }

  p.read {
    font-size: 1rem;
  }

  p.read2 {
    font-size: 1rem;
    text-align: left;
  }

  /* スマホのみリスト センタリング ------------------------------------------------------------------------------------ */
  main .box-listCenter-sp {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
  }

  /* btn */
  main .box-listCenter-sp ul {
    position: relative;
    text-align: center;
    left: 50%;
    float: left;
  }

  main .box-listCenter-sp ul li {
    position: relative;
    left: -50%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  /* table -------------------------------------- */
  table {}

  table th,
  table td {
    border: 1px solid #b4b4b4;
    padding: 6px;
  }

  /* ボタン ------------------------------------------------------------------------------------ */

  /* メニュー用 */
  main .btnArea {
    width: 91%;
    margin: 0px 4.5%;
  }

  main .btnArea ul.btnBox {
    position: relative;
    text-align: center;
    left: 50%;
    float: left;
    width: 98%;
  }

  main .btnArea ul.btnBox li {
    float: left;
    position: relative;
    left: -50%;
    float: left;
    margin: 0 auto 30px auto;
    width: 48%;
  }

  main .btnArea ul.btnBox li.mgn-l {
    margin-left: 4%;
  }

  main .btnArea ul.btnBox li a.redBtn {
    width: 94%;
    text-align: left;
    padding: 10px 3%;
    height: 3em;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    /* 縦方向中央揃え（Safari用） */
    align-items: center;
    /* 縦方向中央揃え */
    margin: 0;
    font-size: 14px;
    line-height: 1.4em;
  }

  /* 分割 ------------------------------------------------------------------------------------ */
  main .column2 {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  main .column2 .column {
    width: 100%;
    float: none;
    margin-left: 0;
    margin-bottom: 25px;
  }

  main .column2 .column:last-child {
    margin-bottom: 0;
  }

  /* 2分割 左300px */
  main .column2.left300px .column {
    width: 100%;
    margin-left: 0;
    margin-bottom: 10px;
  }

  main .column2.left300px .column:first-child {
    width: 100%;
    margin-left: 0;
  }

  /* 2分割 右300px */
  main .column2.right350px .column {
    width: 100%;
    margin-left: 0;
    margin-bottom: 10px;
  }

  main .column2.right350px .column:first-child {
    width: 100%;
    margin-left: 0;
  }

  /* 2分割 右250px */
  main .column2.right250px .column {
    width: 100%;
    margin-left: 0;
    margin-bottom: 10px;
  }

  main .column2.right250px .column:first-child {
    width: 100%;
    margin-left: 0;
  }

  /* 3分割 */
  main .column3 {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  main .column3 .column {
    width: 48%;
    float: left;
    margin: 0;
    padding: 0;
    margin-left: 4%;
    margin-bottom: 15px;
  }

  main .column3 .column:first-child {
    margin-left: 0%;
  }

  /* visual ---------------------------- */
  section#visual {
    margin-top: 10px !important;
  }

  /* パンくず ------------------------------------------------------------------------------------ */
  section#bread {
    display: none;
  }

  /* aside footer -------------------------
    width: 100%;
  }

  .footer-logo {
    width: 100%;
  }

  .footer-menu {
    width: 100%;
    border-top: 1px solid #a9a9aa;
    margin: 15px 0;
  }

  .footer-bnr {
    width: 100%;
  }

  .footer-copy {
    width: 100%;
    padding: 10px;
  }

  /* bnr 
  .footer-bnr {
    text-align: center;
  }

  .footer-bnr img {
    width: 65.5%;
  }

  /* menu 
  .footer-menu ul {
    float: none;
    border-bottom: 1px solid #a9a9aa;
    margin: 0;
    cler: both;
  }

  .footer-menu li {
    float: left;
    margin-bottom: 10px;
    margin: 0;
    padding: 2%;
  }

  .footer-menu li.menu-l {
    width: 51%;
  }

  .footer-menu li.menu-r {
    width: 41%;
  }

  .footer-menu li a {
    display: block;
    width: 100%;
    font-weight: 700;
    color: #e50012;
    text-decoration: none;
    letter-spacing: 0;
    background: url("../img/btn-aside footer.png") no-repeat 97% 50%;
  }

  /* logo 
  .footer-logo {
    text-align: center;
    margin: 0;
    padding: 0;
  }

  .footer-logo p {
    margin-bottom: 5px;
  }

  /* コピーライト 
  .footer-copy {
    width: 100%;
  }

  .footer-copy .copy-l,
  .footer-copy .copy-r {
    float: none;
    padding: 0;
    margin: 0;
    text-align: center;
  }

  .footer-copy .copy-l {
    font-size: 95%;
  }

  .footer-copy .copy-r {
    font-size: 60%;
  }

  .footer-copy .copy-l a {
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    letter-spacing: 0;
  }
*/
  /* 中ページ -------------------------------------------------------------------------------------------------------------------------------------------- */
  /* brand ---------------------------- */
  section#brand {
    position: relative;
    margin: 10px 0 0 0;
    padding: 0 0 0 0;
  }

  /* 企業情報 -------------------------------------- */
  /* table */
  table.table_profile th {
    width: 4.5em;
    background-color: #f0f0f0;
  }

  table.table_profile td {
    width: auto;
  }

  table.table_history th {
    width: 4.5em;
    background-color: #f0f0f0;
    text-align: center;
  }

  table.table_history td {
    width: auto;
  }

  /* 関連会社 */
  main .column2.left300px .column h3 {
    text-align: center;
    font-size: 145%;
  }

  main .column2.left300px .column h3 span {
    font-size: 85%;
  }

  main .column2.left300px .column h4 {
    text-align: center;
    font-size: 110%;
  }

  main .column2.left300px .column p {
    font-size: 0.7rem;
  }

  /* 開発ヒストリー */
  main #d_history .column p {
    font-size: 0.73rem;
    line-height: 1.6em;
  }

  main #d_history .column p.year {
    font-size: 1.3rem;
  }

  main #d_history .column2 .column {
    float: left;
    width: 48%;
    margin-left: 2%;
  }

  /* policy ---------------------------- */

  /* news ---------------------------- */
  /* dt dl dd */
  dl.news {
    clear: both;
    margin: 0 3%;
    padding-bottom: 40px;
    letter-spacing: 0;
  }

  dl.news dt {
    float: none;
    width: 100%;
  }

  dl.news dd {
    margin-left: 0;
    clear: both;
    margin-top: 15px;
  }

  dl.news dt .press-release,
  dl.news dt .campgn,
  dl.news dt .prodt,
  dl.news dt .media,
  dl.news dt .compy {
    float: left;
    margin-top: -5px;
    margin-right: 1em;
  }

  /* contact ---------------------------- */
  #contact p.txt-tell {
    font-size: 20px;
  }

  #contact p.hissu {
    font-size: 14px;
  }

  #contact h2.h2_thx {
    font-size: 100%;
  }

  #contact p.txt_thx {
    font-size: 80%;
  }

  /* btn部分 */
  #contact #form dt {
    width: 25%;
    margin-left: 0;
  }

  #contact #form dd {
    margin-left: 25%;
    width: 75%;
  }

  /* products ---------------------------- */
  /* title */
  #t_brush h2 {}

  #t_brush h2 img,
  #i_brush h2 img {
    width: 100%;
  }

  #t_brush h2.sizeReset img,
  #i_brush h2.sizeReset img {
    height: auto;
  }

  /* i_brush オレンジボタン */
  #i_brush .h2area {
    float: none;
    width: 100%;
  }

  #i_brush .btnOrange {
    float: none;
    width: 100%;
    text-align: center;
  }

  #i_brush .btnOrange img {
    width: 50%;
  }

  p.catch {
    font-size: 1.3rem;
    letter-spacing: 0;
  }

  /* new */
  #t_brush .box_new img {
    width: 20%;
  }

  /* seles Point */
  h3.h3red {
    font-size: 1.15rem;
  }

  #t_brush h3.h3red img {
    width: 28%;
  }

  #i_brush h3.h3red.i_brushTitle img {
    width: 65%;
  }

  #t_brush ul.list_sales li {
    font-size: 0.85rem;
    letter-spacing: 0;
  }

  #i_brush ul.list_sales li {
    font-size: 0.85rem;
    letter-spacing: 0;
  }

  #t_brush h4.h4red,
  #i_brush h4.h4red {
    font-size: 1rem;
    letter-spacing: 0;
  }

  #t_brush h4.h4red span,
  #i_brush h4.h4red span {
    font-size: 1.15rem;
  }

  #i_brush h5.h5-tj {
    font-size: 1.15rem;
    margin-bottom: 15px;
  }

  #i_brush h5.h5-tj span {
    font-size: 0.85rem;
    padding-left: 0;
  }

  h5.h5red,
  h5.h5gray,
  h5.h5blue,
  h5.h5green {
    font-size: 1.3rem;
    padding: 8px;
  }

  #i_brush main .meritTxt h5 {
    font-size: 1.15rem;
  }

  #i_brush h5.h5-fresh_y img {
    width: 35%;
  }

  /* i_bursh 特長 */
  .meritCycle,
  .widthWhole .meritCycle {
    width: 15%;
    margin-right: 2.5%;
  }

  .meritTxt,
  .widthWhole .meritTxt {
    width: 82.5%;
  }

  .meritCycle2 {
    width: 22%;
  }

  .meritTxt2 {
    width: 75%;
  }

  /* i_bursh 特長の画像カスタマイズ */
  img.w200px {
    width: 40%;
  }

  .imgCos01 img {
    width: 65%;
  }

  .w108,
  .w152 {
    text-align: center;
  }

  .w108 img {
    width: 23%;
  }

  .w152 img {
    width: 32%;
  }

  .img-fresh_s img {
    width: 100%;
  }

  #i_brush .tn_brush-Com1 {
    width: 28% !important;
    margin-right: 0;
  }

  #i_brush .tn_brush-Com1 img {
    width: 100%;
  }

  /* 歯科医療関係者の方へ ---------------------------- */
  .block-check {
    width: 90%;
    margin: 0px 5%;
  }

  .block-check h3 {}

  .box-check {}

  main .box-check {}

  /* btn */
  main .box-check ul {
    position: relative;
    text-align: center;
    left: 50%;
    float: left;
  }

  main .box-check ul li {
    float: left;
    position: relative;
    left: -50%;
    float: left;
    margin: 30px auto;
    margin-left: 20px;
  }

  main .box-check ul li:first-child {
    margin-left: 0;
  }

  main .box-check ul li a {
    width: 100px;
    text-align: left;
    padding: 25px 15px;
  }

  /* デンタルクリニック ---------------------------- */
  main .column2.float-ohc_m01 .column {
    width: 78%;
    float: left;
  }

  main .column2.float-ohc_m01 .column:first-child {
    width: 22%;
  }

  main .column2.float-ohc_i01 .column {
    width: 82%;
    float: left;
    margin-left: 3%;
  }

  main .column2.float-ohc_i01 .column:first-child {
    width: 15%;
    margin-left: 0%;
  }

  main .column2.float-ohc_i01 .column {
    margin-bottom: 15px;
  }

  main .column2.float-ohc_i01 .column h3 {
    padding: 0;
  }

  /* table */
  table.table_dc01 th {
    font-size: 0.45rem;
    padding-left: 1%;
    padding-right: 1%;
  }

  table.table_dc01 td {
    font-size: 0.45rem;
    padding-left: 1%;
    padding-right: 1%;
  }

  table.table_dc01 td .px16 {
    font-size: 0.6rem;
  }

  table.table_dc02 th {
    font-size: 0.45rem;
    padding-left: 1%;
    padding-right: 1%;
  }

  table.table_dc02 td {
    font-size: 0.45rem;
    padding-left: 1%;
    padding-right: 1%;
  }

  table.table_dc02 td .px16 {
    font-size: 0.6rem;
  }

  table.table_dc02 td img {
    width: 80%;
  }

  /* ミント歯ブラシ */
  .box-greek_m h3 img {
    width: 65%;
  }

  .box-greek_m h3 {}

  .box-greek_m h4 {
    margin-left: 0;
    font-size: 1.15rem;
    margin-top: 15px;
  }

  .box-greek_m p {
    margin-left: 0;
  }

  .box-greenLINE {
    padding: 3%;
  }

  /* CSR ---------------------------- */

  /* ems */
  main .column2.ems .column {
    width: 100%;
    margin-left: 0;
  }

  main .column2.ems .column:first-child {
    width: 100%;
    margin-left: 0;
  }

  main .column2.ems .column:last-child img {
    float: left;
    width: 45%;
  }

  main .column2.ems .column:last-child p {
    float: left;
    margin-left: 15px;
  }

  /* 2分割 */
  main .column2.env-pdf .column {
    width: 100%;
    float: left;
    margin-left: 0;
  }

  main .column2.env-pdf .column:first-child {
    width: 100%;
  }

  main .column2.env-pdf .column:last-child {
    width: 100%;
    text-align: center;
  }

  main .column2.env-pdf .column:last-child img {
    width: 18%;
  }

  main .column2.env-point1 .column,
  main .column2.env-point2 .column {
    width: 100%;
    float: none;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 15px;
  }

  main .column2.env-point1 .column:first-child,
  main .column2.env-point1 .column:last-child,
  main .column2.env-point2 .column:first-child {
    width: 100%;
    text-align: center;
  }

  main .column2.env-point1 .column:first-child img,
  main .column2.env-point2 .column:first-child img {
    width: 25%;
  }

  main .column2.env-point1 .column:last-child img {
    width: 18%;
  }

  main .column2.env-point2 .column .img-floatR {
    width: 38%;
  }
}

.suisen .catch {
  width: 500px;
  float: left;
}

.suisen .bnr_suisen {
  width: 500px;
  float: left;
  text-align: right;
}

.suisen .bnr_suisen img {
  width: 300px;
  margin-top: 20px;
}

@media screen and (max-width: 640px) {
  .suisen .bnr_suisen {
    text-align: center;
  }

  .suisen .catch,
  .suisen .bnr_suisen {
    width: 100%;
  }

  .suisen .bnr_suisen img {
    width: 60%;
    margin: 0 auto 20px;
  }
}

/* add 201907 */
.sTtlred {
  font-size: 18px;
  font-weight: 700;
  color: #e50012;
}

.text_box {
  margin-top: 40px;
}

.text_box .lavel {
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: bold;
}

.text_box .lavel span {
  display: inline-block;
  padding: 0.3em 0.5em;
  border: solid 2px #505050;
}

.text_box .catch {
  font-size: 24px;
}

.text_box .align_right {
  text-align-last: right;
}

.text_box .text {
  font-size: 18px;
  font-weight: bold;
}

.txt {
  font-size: 18px;
}

.number_lists {
  margin: 15px 0 30px;
}

.number_lists .n_list {
  font-size: 18px;
  margin-bottom: 10px;
  padding-left: 1.3em;
  line-height: 1.3;
  position: relative;
}

.number_lists .n_list:nth-child(1)::before {
  content: "①";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.number_lists .n_list:nth-child(2)::before {
  content: "②";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.number_lists .n_list:nth-child(3)::before {
  content: "③";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.number_lists .n_list:nth-child(4)::before {
  content: "④";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.number_lists .n_list:nth-child(5)::before {
  content: "⑤";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.flex img {
  width: 200px;
  margin: 0 10px 5px 0;
  float: left;
}

.flex p {
  font-size: 18px;
}

.flex::after {
  content: "";
  display: block;
  clear: both;
  margin-bottom: 10px;
}

@media screen and (max-width: 640px) {

  .text_box .lavel,
  .flex p,
  .txt,
  .number_lists .n_list {
    font-size: 16px;
  }

  .text_box .catch {
    font-size: 18px;
  }

  .text_box .text {
    font-size: 14px;
  }

  .flex img {
    width: 150px;
  }
}

/* add 20191106 */
.video_banner {
  width: 100%;
  height: auto;
  margin: 20px 0;
}

.video_banner img {
  width: 100%;
  height: auto;
}

.spec {
  margin: 20px;
}

@media screen and (max-width: 640px) {
  .spec {
    margin: 20px 0;
    text-align: center;
  }
}

.spec_table {
  font-size: 1rem;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: solid 2px #999;
}

@media screen and (max-width: 640px) {
  .spec_table {
    display: block;
    font-size: 1.8rem;
  }
}

.spec_table li {
  margin-bottom: 0;
}

.spec_table li:not(:last-child) {
  border-right: solid 1px #999;
}

@media screen and (max-width: 640px) {
  .spec_table li:not(:last-child) {
    border-right: none;
  }
}

.spec_table .table_head {
  padding: 10px 20px;
  text-align: center;
  font-size: 1rem;
}

@media screen and (max-width: 640px) {
  .spec_table .table_head {
    font-size: 0.8rem;
    border-bottom: solid 1px #999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    padding: 10px;
  }
}

.spec_table .table_heads {
  padding: 10px 20px;
  text-align: center;
  font-size: 1rem;
}

@media screen and (max-width: 640px) {
  .spec_table .table_heads {
    border-bottom: solid 2px #999;
  }
}

.spec_table .table_list {
  padding: 10px;
  flex: 1;
  text-align: center;
  font-size: 1rem;
}

@media screen and (max-width: 640px) {
  .spec_table .table_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    border-bottom: solid 1px #666;
    font-size: 0.8rem;
  }

  .spec_table .table_list:last-child {
    border-style: none;
  }
}

.spec_table .table_head .list_item:not(:last-child),
.spec_table .table_list .list_item:not(:last-child) {
  border-bottom: solid 1px #999;
  padding-bottom: 5px;
  margin-bottom: 5px;
}

@media screen and (max-width: 640px) {

  .spec_table .table_head .list_item,
  .spec_table .table_list .list_item {
    width: 33%;
  }

  .spec_table .table_head .list_item:not(:last-child),
  .spec_table .table_list .list_item:not(:last-child) {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
  }
}

.tab {
  margin: 40px 20px 0;
}

@media screen and (max-width: 640px) {
  .tab {
    margin: 40px 0 0;
  }
}

.tab .tab_head {
  border-bottom: solid 1px #999;
}

.tab .tab_head .tab_item {
  display: inline-block;
  font-size: 1rem;
  padding: 10px 20px;
  cursor: pointer;
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  .tab .tab_head .tab_item {
    font-size: 0.8rem;
  }
}

.tab .tab_head .tab_item.is_active {
  border-top: solid 1px #999;
  border-left: solid 1px #999;
  border-right: solid 1px #999;
}

.tab .tab_body {
  padding: 20px;
  border-bottom: solid 1px #999;
  border-left: solid 1px #999;
  border-right: solid 1px #999;
}

.tab .tab_body .tab_content {
  margin-bottom: 0;
  display: none;
}

.tab .tab_body .tab_content.is_show {
  display: block;
}

.tab .tab_body .tab_content .txt {
  font-size: 0.8rem;
  margin-bottom: 10px;
}

.tab .tab_body .tab_content .txt .note {
  color: red;
}

.tab .tab_body .tab_content .table {
  width: 50%;
  font-size: 0.8rem;
  margin: 10px 0;
}

@media screen and (max-width: 640px) {
  .tab .tab_body .tab_content .table {
    width: initial;
  }
}

.tab .tab_body .tab_content .table th,
.tab .tab_body .tab_content .table td {
  padding: 1em;
}

.use_visual {
  padding: 40px 40px 40px 430px;
  background: url(../img/product/visual-use.jpg) no-repeat left center, #f9f4f0;
}

@media screen and (max-width: 640px) {
  .use_visual_wrapper {
    background: url(../img/product/visual-use.jpg) no-repeat left center;
    padding: 1px 0;
  }

  .use_visual_wrapper .use_visual {
    margin: 20px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.8);
  }
}

.use_visual .u_hl {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 5px;
}

@media screen and (max-width: 640px) {
  .use_visual .u_hl {
    font-size: 1.2rem;
  }
}

.use_visual .u_txt {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 5px;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  .use_visual .u_txt {
    font-size: 0.8rem;
  }
}

.txtlink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 640px) {
  .txtlink {
    display: block;
    margin-top: 40px;
  }
}

.txtlink .link {
  width: 48.5%;
}

@media screen and (max-width: 640px) {
  .txtlink .link {
    width: initial;
    margin-bottom: 20px;
  }
}

.txtlink .link .link_hl {
  font-size: 20px;
  line-height: 1.4;
  margin-bottom: 10px;
  background: #fcdcdb;
}

@media screen and (max-width: 640px) {
  .txtlink .link .link_hl {
    font-size: 16px;
  }
}

.txtlink .link .link_txt {
  font-size: 16px;
  line-height: 1.6;
}

.txtlink .link .link_hl a {
  text-decoration: none;
  position: relative;
  padding: 0.5em 1em;
  display: block;
  position: relative;
}

.txtlink .link .link_hl a::after {
  content: "›";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(-1.2em, -50%);
}

.w90 {
  width: 90%;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .w90 {
    width: 100%;
    margin: 0 auto;
  }
}

.w90 .block {
  width: auto;
}

.w80 {
  width: 80%;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .w80 {
    width: 90%;
    margin: 0 auto;
  }
}

.w80 .block {
  width: auto;
}

.w60 {
  width: 60%;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .w60 {
    width: 90%;
    margin: 0 auto;
  }
}

.w60 .block {
  width: auto;
}

.bb {
  text-decoration: underline;
  color: #505050;
}

.sm {
  display: block;
  font-size: 0.9em;
  line-height: 1.4;
}

/* movie ---------------------------- */
.movie_frame {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 20px;
}

.movie_frame iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

/* widebanner */
.widebanner {
  padding: 0 50px;
  margin-bottom: 40px;
}

.widebanner img {
  width: 100%;
  height: auto;
}

.widebanner a {
  display: block;
  margin: 0 20px;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .widebanner {
    width: 86%;
    padding: 0;
    margin: 0 auto 40px;
  }

  .widebanner a {
    margin: 0;
  }

  .widebanner img {
    width: 100%;
    height: auto;
  }
}

/* 追加ページ product/t_brush/y_tape */

.titleBg__pink {
  background-color: #fbdceb;
  padding: 20px 100px 20px 0;
}

.titleBg__purple {
  background-color: #f1eff4;
  padding: 140px 0 5px 10px;
}

.titleBg__purple__min {
  background-color: #f1eff4;
}

@media screen and (max-width: 640px) {
  .titleBg__pink {
    padding: 4px;
  }

  .titleBg__purple {
    padding: 4px 0;
  }
}

.y_tapeW12 {
  width: 12%;
}

.y_tapeW50 {
  /* width: 50%; */
  height: 517px;
}

@media screen and (max-width: 640px) {
  .y_tapeW50 {
    height: 223px;
  }
}

.inline-block {
  display: inline-block;
}


/* 追加ページ product/t_brush/black_dc */

.dc_w30 {
  width: 30%;
}

.dc_w5 {
  width: 5%;
  margin-right: 100px;
}



@media screen and (max-width: 640px) {
  .sp_h50 {
    height: 50%;
  }
}

.pdfButton {
  margin: 30px auto 50px;
  display: table;
  padding: 20px 50px;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
  background-color: #e50012;
  text-decoration: none;
  transition: opacity 0.3s;
}

.pdfButton:hover {
  color: #fff;
  opacity: 0.6;
  text-decoration: none;
}

@media screen and (max-width: 640px) {
  .pdfButton {
    margin: 30px auto;
    padding: 15px 30px;
  }
}

.w66img-sp img {
  width: 100%;
}

.columnDf {
  display: flex !important;
  align-items: center;
}

.sfh3red img {
  width: 50%;
}

.wf {
  width: fit-content !important;
}

.sfpImg img {
  max-width: 80px;
  width: 100%;
}

.h2Title_w80 {
  width: 80%;
}

.h2Title_w60 {
  width: 60%;
}

.spBlock {
  display: none;
}

@media screen and (max-width: 640px) {
  .columnDf {
    display: block !important;
  }

  .h2Title_w60 {
    width: 100%;
  }

  .sfh3red img {
    width: 100%;
  }

  .sfpImg {
    margin: 30px auto 0;
    display: table;
    text-align: center;
    width: 15%;
    transform: translateX(25px);
  }

  .spNone {
    display: none;
  }

  .spBlock {
    display: block;
  }

  .spFlex {
    display: flex;
    align-content: ;
  }
}


/* 2025.06.25 新フッター */

body aside {
    position: relative;
    width: calc(100vw -(100vw - 100%));
    min-width: 300px;
    -webkit-text-size-adjust: 100%;
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1.77;
    color: #231815;
    overflow-x: hidden;
    letter-spacing: 0;
    font-size: 16px;
}


aside,
section {
    display: block
}

aside div {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

aside a {
    text-decoration: none;
    color: #231815;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

body aside p, aside li, aside dt, aside dl {
    font-size: 100%;
    line-height: 1.77;
    letter-spacing: 0px;
    color: #231815;
    margin-bottom: 0;
}

aside img {
    border: 0;
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}

aside img[src$=".svg"] {
    width: 100%;
}

aside .pc {
        display: block;
    }

aside .sp {
    display: none !important
}
@media(max-width:768px) {
   aside .sp {
        display: flex !important
    }
}
@media(max-width:768px) {
    aside .pc {
        display: none !important
    }
}


aside footer {
    position: relative;
    z-index: 1;
    width: 100%;
    background: #fff;
    margin: 0;
    padding-top: 40px;
    font-size: 100%;
}
aside footer .footer-wrap {
    display: flex;
    justify-content: space-between;
    width: 90vw;
    max-width: 1300px;
    margin: 0 auto
}
@media(max-width:768px) {
    aside footer .footer-wrap {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        width: 100vw
    }
}
aside footer .footer-logo {
    max-width: 235px;
    width: 20%;
    padding: 0px 0 20px
}
@media(max-width:768px) {
    aside footer .footer-logo {
        width: auto;
        text-align: center
    }
    aside footer .footer-logo img {
        display: block;
        margin: 0 auto
    }
}
aside footer .footer-logo p {
    margin-bottom: 10px
}
aside footer .footer-menu {
    width: 50%;
    padding: 0;
    display: flex;
    justify-content: space-between
}
@media(max-width:768px) {
  aside footer .footer-logo p {
    margin-bottom: 10px;
    font-size: 88%;
}
    aside footer .footer-menu {
        flex-direction: column;
        width: 100%;
        margin-bottom: 20px;
    }
}
@media(max-width:768px) {
    aside footer .footer-menu ul {
        display: flex;
        border-bottom: 1px solid #ddd;
    }
    aside footer .footer-menu ul li {
        width: 50%;
        line-height: 2.0;
    }
    aside footer .footer-menu ul li a {
        padding: 2% 2% 2% 12%;
        background: url('../img/btn-footer.png') no-repeat 5% 50%
    }
}
@media(max-width:768px) {
    aside footer .footer-menu ul:first-of-type {
        border-top: 1px solid #ddd
    }
}
@media(min-width:769px) {
    aside footer .footer-menu li {
        margin-bottom: 10px
    }
}
aside footer .footer-menu li a {
    color: #222;
    text-decoration: none;
    letter-spacing: 0;
    display: block;
    font-size: min(2.6vw, 13.5px);
    font-weight: 500;
}
@media(max-width:768px) {
    aside footer .footer-menu li a {
        font-size: min(3vw, 14px);
        font-weight: 500;
    }
}
aside footer .footer-menu li a:hover {
    text-decoration: underline;
}
aside footer .footer-bnr {
    max-width: 240px;
    width: 23%;
    padding: 0;
}
@media(max-width:768px) {
    aside footer .footer-bnr {
        width: auto;
        margin: 30px auto 20px;
    }
}
aside footer .footer-sns {
    width: 90vw;
    max-width: 1300px;
    margin: 0 auto
}
aside footer .footer-sns-list {
    margin-left: 120px;
    display: flex;
    flex-wrap: wrap
}
@media(max-width:768px) {
    aside footer .footer-sns-list {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
}
aside footer .footer-sns-item {
    margin-right: 20px
}
aside footer .footer-sns-item:last-child {
    margin-right: 0
}
aside footer .footer-sns-link {
    display: block;
    width: 30px;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s
}
aside footer .footer-sns-link:hover {
    opacity: 0.8
}
aside footer .footer-sns-link img {
    width: 100%
}
aside footer .footer-copy {
    width: 100%;
    margin: 24px auto 0;
    padding: 15px;
    background: #e50012;
    letter-spacing: 0;
    color: #fff
}
aside footer .footer-copy .inn {
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center
}
@media(max-width:768px) {
    aside footer .footer-copy .inn {
        flex-direction: column;
        justify-content: center;
        text-align: center
    }
}
aside footer .footer-copy .inn .copy-r {
    font-size: 60%;
    font-weight: 600;
    margin-left: -30px;
    letter-spacing: 0;
}
@media(max-width:768px) {
    aside footer .footer-copy .inn .copy-r {
    font-size: 52%;
    font-weight: 600;
    margin-left: -30px;
    letter-spacing: 0;
}
}
aside footer .footer-copy a {
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    letter-spacing: 0;
}
aside footer .footer-copy a:hover {
    text-decoration: underline
}


