@charset 'utf-8';
#contents.article.error>p {
  display: block
}

#contents.article>p {
  font-size: 14px;
  display: none
}

#contents.article section {
  -webkit-transition: opacity .45s cubic-bezier(.075, .82, .165, 1);
  -moz-transition: opacity .45s cubic-bezier(.075, .82, .165, 1);
  -ms-transition: opacity .45s cubic-bezier(.075, .82, .165, 1);
  -o-transition: opacity .45s cubic-bezier(.075, .82, .165, 1);
  transition: opacity .45s cubic-bezier(.075, .82, .165, 1)
}

#contents.article section.empty+div {
  display: none
}

#contents.article section>div addr {
  display: none
}

#contents.article section>div figure.rep {
  display: inline-block;
  width: 100%;
  vertical-align: top
}

#contents.article section>div figure.rep img {
  display: block;
  max-width: 100%
}

#contents.article section>div img {
  font-size: 10px;
  display: inline-block;
  width: auto;
  vertical-align: bottom
}

#contents.article section>div .bold, #contents.article section>div b, #contents.article section>div strong {
  font-weight: 700
}

#contents.article section>div a {
  display: inline;
  text-decoration: underline;
  color: #1c3a83
}

#contents.article section>div [class*=gray] {
  color: #787585
}

#contents.article section>div [class*=red] {
  color: #c80f0f
}

#contents.article section>div [class*='12px'] {
  font-size: 75%
}

#contents.article section>div [class*='13px'] {
  font-size: 81.25%
}

#contents.article section>div [class*='14px'] {
  font-size: 87.5%
}

#contents.article section>div [class*='15px'] {
  font-size: 93.75%
}

#contents.article section>div [class*='16px'] {
  font-size: 100%
}

#contents.article section>div [class*='17px'] {
  font-size: 106.25%
}

#contents.article section>div [class*='18px'] {
  font-size: 112.5%
}

#contents.article section>div [class*='19px'] {
  font-size: 118.75%
}

#contents.article section>div [class*='20px'] {
  font-size: 125%
}

#contents.article section>div .cap {
  font-size: 81.25%;
  display: block;
  color: #787585
}

#contents.article section>div .youtube {
  position: relative;
  width: 100%
}

#contents.article section>div .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

#contents.article section>div ruby>rt {
  font-size: 50%
}

#contents.article section>div .hr, #contents.article section>div .line, #contents.article section>div hr {
  border-bottom: 1px solid #d6d6d6
}

#contents.article section>div .mail, #contents.article section>div .quote {
  position: relative;
  display: block;
  margin: 10px 0;
  padding: 10px 10px 10px 30px;
  color: #787585;
  border-top: 1px solid #d6d6d6;
  border-bottom: 1px solid #d6d6d6
}

#contents.article section>div .mail:before, #contents.article section>div .quote:before {
  font-family: 'Material Design Icons';
  font-size: 30px;
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  white-space: nowrap;
  letter-spacing: normal;
  text-transform: none;
  word-wrap: normal;
  direction: ltr;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

#contents.article section>div .quote:before {
  content: '\F27E'
}

#contents.article section>div .mail:before {
  content: '\F1F0'
}

#contents.article section>div table {
  font-size: 10px;
  width: 100%;
  text-align: left
}

#contents.article section>div table thead th {
  font-size: 16px;
  font-weight: 700
}

#contents.article section>div table thead~* td, #contents.article section>div table thead~* th {
  font-size: 14px;
  vertical-align: top
}

#contents.article section>div table thead~* th:last-child:empty {
  display: none
}

#contents ul[data-title] {
  display: table
}

#contents ul[data-title]:before {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  display: table-cell;
  content: attr(data-title) '';
  vertical-align: middle
}

#contents ul[data-title] li {
  display: table-cell;
  vertical-align: middle
}

#contents ul[data-title] li a {
  position: relative;
  display: block;
  overflow: hidden;
  cursor: pointer
}

#contents ul[data-title] li a:before {
  font-size: 32px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #333
}

#contents ul[role=local] {
  zoom: 1
}

#contents ul[role=local]:after, #contents ul[role=local]:before {
  display: table;
  content: ''
}

#contents ul[role=local]:after {
  clear: both
}

#contents ul[role=local] li {
  -webkit-transition: opacity .3s;
  -moz-transition: opacity .3s;
  -ms-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s
}

#contents ul[role=local] li.disabled {
  opacity: 0
}

#contents ul[role=local] li.disabled a {
  cursor: default;
  pointer-events: none
}

#contents ul[role=local] li:nth-child(1) {
  float: left
}

#contents ul[role=local] li:nth-child(2) {
  float: right
}

#contents ul[role=local] li:nth-child(3) {
  margin: 0 auto
}

#contents ul[role=local] li a {
  position: relative;
  display: table;
  margin: 0 auto;
  cursor: pointer
}

#contents ul[role=local] li a:before {
  font-size: 22px;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%)
}

#contents ul[role=local] li a span {
  font-size: 14px;
  font-weight: 700;
  display: table-cell;
  vertical-align: middle
}

#contents a.btn-secondary:before {
  color: #ffd300
}

.no-touch .btn-secondary:not(.disabled):hover {
  border-color: #ffd300!important;
  background: #ffed99!important
}

/* 20230216 ボタンリンク変更 */
.device-pc section.oembtn {width:40%;margin:20px auto;}
.device-sp section.oembtn {width:80%;margin:20px auto;}
.oembtn p{padding-top: 10px; }
.oembtn a{padding: 10px 0; }

.device-pc #contents:not(.article) {
  padding: 0 0 50px
}

.device-pc #contents:not(.article) header {
  margin-bottom: 60px
}

.device-pc #contents:not(.article) header h2 {
  height: 0;
  margin-bottom: 38px;
  padding-bottom: 27.08%;
  text-indent: -9999px;
  background: url(/store/techo/ja/oem/2023/images/title_pc.svg), url(/store/techo/ja/oem/2023/images/title_pc.jpg);
  background-repeat: no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%
}

.device-pc #contents:not(.article) header>div {
  display: table;
  margin: 0 auto
}

.device-pc #contents:not(.article) header>div>p {
  font-size: 16px
}

.device-pc #contents:not(.article) header>div>p small {
  font-size: 12px;
  display: block;
  margin-top: 6px
}

.device-pc #contents:not(.article) header>div>p a {
  color: #2c8b00
}

.device-pc #contents:not(.article) header>div>a {
  width: auto;
  min-width: 240px;
  height: 56px;
  margin-top: 20px
}

.device-pc #contents:not(.article) header>div>a:before {
  font-size: 14px
}

.device-pc #contents:not(.article) header>div>a span {
  line-height: 1.71;
  text-align: left
}

.device-pc #contents:not(.article)>div:before {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  display: block;
  margin-bottom: 32px;
  content: '別注版 ニュース';
  letter-spacing: .075em
}

.device-pc #contents:not(.article)>div h3 {
  font-weight: 700;
  position: relative;
  letter-spacing: .025em
}

.device-pc #contents:not(.article)>div h3:before {
  position: absolute;
  top: 50%;
  right: 0;
  width: 100%;
  content: '';
  border-bottom: 3px #469ed1 solid;
  toransform: translate(0, -50%)
}

.device-pc #contents:not(.article)>div h3 span {
  position: relative;
  display: table;
  padding-right: 12px;
  background: #fff
}

.device-pc #contents:not(.article)>div h3 span * {
  display: table-cell;
  vertical-align: middle
}

.device-pc #contents:not(.article)>div h3 span strong {
  font-size: 14px;
  padding: 0 12px 0 6px
}

.device-pc #contents:not(.article)>div h3 span i {
  font-size: 18px;
  line-height: 1.17;
  position: relative;
  padding-bottom: 4px;
  color: #ff79a8
}

.device-pc #contents:not(.article)>div h3 span i:after {
  font-size: 10px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  content: '';
  border-bottom: #effa9f 4px solid
}

.device-pc #contents:not(.article)>div div {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  padding: 28px 0 70px;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.device-pc #contents:not(.article)>div div a {
  display: block;
  width: 204px;
  margin-right: 48px;
  border-bottom: 1px #d6d6d6 solid
}

.device-pc #contents:not(.article)>div div a:nth-child(4n) {
  margin-right: 0
}

.device-pc #contents:not(.article)>div div a:nth-child(4n)~a {
  margin-top: 48px
}

.device-pc #contents:not(.article)>div div a dl {
  position: relative;
  height: 100%
}

.device-pc #contents:not(.article)>div div a dl:before {
  font-size: 16px;
  position: absolute;
  right: 2px;
  bottom: 7px;
  color: #ffd300
}

.device-pc #contents:not(.article)>div div a dl dd:nth-child(1) {
  overflow: hidden;
  height: 204px;
  border-radius: 8px;
  background: url(/store/techo/2023/images/loading3.gif) no-repeat 50% 50%;
  -webkit-background-size: 32px 32px;
  -moz-background-size: 32px 32px;
  background-size: 32px 32px
}

.device-pc #contents:not(.article)>div div a dl dd:nth-child(1) img {
  width: 100%;
  -webkit-transition: opacity .3s cubic-bezier(.25, .25, .75, .75);
  -moz-transition: opacity .3s cubic-bezier(.25, .25, .75, .75);
  -ms-transition: opacity .3s cubic-bezier(.25, .25, .75, .75);
  -o-transition: opacity .3s cubic-bezier(.25, .25, .75, .75);
  transition: opacity .3s cubic-bezier(.25, .25, .75, .75)
}

.device-pc #contents:not(.article)>div div a dl dd:nth-child(1) img.state-ready {
  opacity: 0
}

.device-pc #contents:not(.article)>div div a dl dt {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  padding-top: 7px
}

.device-pc #contents:not(.article)>div div a dl dt+dd {
  font-size: 12px;
  line-height: 1.75;
  padding-bottom: 26px
}

.device-pc #contents:not(.article)>div div a dl dt+dd:after {
  font-weight: 700;
  position: absolute;
  bottom: 5px;
  left: 0;
  display: block;
  content: 'くわしくはこちら'
}

.device-pc #contents.article {
  padding: 18px 0 100px
}

.device-pc #contents.article h2 {
  width: 171px;
  margin-left: 8px
}

.device-pc #contents.article h2 img {
  width: 100%
}

.device-pc #contents.article>p {
  margin-top: 40px
}

.device-pc #contents.article section {
  width: 500px;
  margin: 96px auto 0
}

.device-pc #contents.article section header time {
  font-size: 12px;
  line-height: 1.2;
  display: inline-block;
  letter-spacing: .075em;
  color: #615e70;
  background: #f2d8ee
}

.device-pc #contents.article section header h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  padding: 46px 0 18px;
  letter-spacing: .075em;
  border-bottom: 5px #6bb1da solid
}

.device-pc #contents.article section header h3:empty {
  display: none
}

.device-pc #contents.article section>div {
  font-size: 16px;
  margin-top: 34px
}

.device-pc #contents.article section>div table {
  margin-top: 28px
}

.device-pc #contents.article section>div table thead th {
  padding-bottom: 7px;
  border-bottom: 3px solid #469ed1
}

.device-pc #contents.article section>div table thead~* td, .device-pc #contents.article section>div table thead~* th {
  padding: 14px 0 12px;
  border-bottom: 1px solid #d6d6d6
}

.device-pc #contents.article section>div table thead~* th {
  width: 24%
}

.device-pc #contents.article section:empty+div {
  display: none
}

.device-pc #contents.article>div {
  width: 500px;
  margin: 0 auto
}

.device-pc #contents ul[data-title] {
  margin: 52px auto 72px
}

.device-pc #contents ul[data-title] li {
  padding-left: 16px
}

.device-pc #contents ul[data-title] li a {
  width: 32px;
  height: 32px
}

.device-pc #contents ul[role=local] li {
  width: 150px
}

.device-pc #contents ul[role=local] li:nth-child(1) a {
  padding-left: 30px
}

.device-pc #contents ul[role=local] li:nth-child(1) a:before {
  left: 4px
}

.device-pc #contents ul[role=local] li:nth-child(2) a {
  padding-right: 30px
}

.device-pc #contents ul[role=local] li:nth-child(2) a:before {
  right: 4px
}

.device-pc #contents ul[role=local] li a {
  height: 34px
}

.device-pc.ua-desktop #contents.article section>div a {
  -webkit-transition: opacity .3s;
  -moz-transition: opacity .3s;
  -ms-transition: opacity .3s;
  -o-transition: opacity .3s;
  transition: opacity .3s
}

.device-pc.ua-desktop #contents.article section>div a:hover {
  opacity: .4
}

.device-sp #contents:not(.article) {
  padding-bottom: 20px
}

.device-sp #contents:not(.article) header {
  margin: 0 -16px;
  padding-bottom: 56px
}

.device-sp #contents:not(.article) header h2 {
  height: 0;
  padding-bottom: 46.88%;
  text-indent: -9999px;
  background: url(/store/techo/ja/oem/2023/images/title_sp.svg), url(/store/techo/ja/oem/2023/images/title_sp.jpg);
  background-repeat: no-repeat;
  -webkit-background-size: 100% 100%;
  -moz-background-size: 100% 100%;
  background-size: 100% 100%
}

.device-sp #contents:not(.article) header>div {
  padding: 20px 16px 0
}

.device-sp #contents:not(.article) header>div>p {
  font-size: 14px
}

.device-sp #contents:not(.article) header>div>p br {
  display: none
}

.device-sp #contents:not(.article) header>div>p small {
  font-size: 12px;
  display: block;
  margin-top: 6px
}

.device-sp #contents:not(.article) header>div>p a {
  color: #2c8b00
}

.device-sp #contents:not(.article) header>div>a {
  width: auto;
  min-width: 240px;
  height: 56px;
  margin-top: 50px
}

.device-sp #contents:not(.article) header>div>a:before {
  font-size: 14px
}

.device-sp #contents:not(.article) header>div>a span {
  line-height: 1.71;
  text-align: left
}

.device-sp #contents:not(.article)>div:before {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.17;
  display: block;
  margin-bottom: 24px;
  content: '別注版 ニュース';
  letter-spacing: .025em
}

.device-sp #contents:not(.article)>div h3 {
  font-weight: 700;
  position: relative;
  padding-bottom: 9px;
  letter-spacing: .025em;
  border-bottom: 3px #469ed1 solid
}

.device-sp #contents:not(.article)>div h3 span {
  position: relative;
  display: table
}

.device-sp #contents:not(.article)>div h3 span * {
  display: table-cell;
  vertical-align: middle
}

.device-sp #contents:not(.article)>div h3 span strong {
  font-size: 14px;
  padding-left: 6px
}

.device-sp #contents:not(.article)>div h3 span i {
  font-size: 18px;
  line-height: 1.17;
  position: relative;
  padding-bottom: 4px;
  color: #ff79a8
}

.device-sp #contents:not(.article)>div h3 span i:after {
  font-size: 10px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  content: '';
  border-bottom: #effa9f 4px solid
}

.device-sp #contents:not(.article)>div div {
  padding: 6px 0 46px
}

.device-sp #contents:not(.article)>div div a {
  display: block;
  padding: 10px 0;
  border-bottom: 1px #d6d6d6 solid
}

.device-sp #contents:not(.article)>div div a dl {
  position: relative;
  min-height: 120px
}

.device-sp #contents:not(.article)>div div a dl:before {
  font-size: 16px;
  position: absolute;
  right: 0;
  bottom: 0;
  color: #ffd300
}

.device-sp #contents:not(.article)>div div a dl dd:nth-child(1) {
  float: left;
  overflow: hidden;
  width: 120px;
  height: 120px;
  border-radius: 4px;
  background: url(/store/techo/2023/images/loading3.gif) no-repeat 50% 50%;
  -webkit-background-size: 32px 32px;
  -moz-background-size: 32px 32px;
  background-size: 32px 32px
}

.device-sp #contents:not(.article)>div div a dl dd:nth-child(1) img {
  -webkit-transition: opacity .3s cubic-bezier(.25, .25, .75, .75);
  -moz-transition: opacity .3s cubic-bezier(.25, .25, .75, .75);
  -ms-transition: opacity .3s cubic-bezier(.25, .25, .75, .75);
  -o-transition: opacity .3s cubic-bezier(.25, .25, .75, .75);
  transition: opacity .3s cubic-bezier(.25, .25, .75, .75)
}

.device-sp #contents:not(.article)>div div a dl dd:nth-child(1) img.state-ready {
  opacity: 0
}

.device-sp #contents:not(.article)>div div a dl dt {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 140px
}

.device-sp #contents:not(.article)>div div a dl dt+dd {
  font-size: 12px;
  line-height: 1.75;
  padding-left: 140px
}

.device-sp #contents:not(.article)>div div a dl dt+dd:after {
  font-weight: 700;
  display: block;
  content: 'くわしくはこちら'
}

.device-sp #contents.article {
  padding-top: 30px;
  padding-bottom: 48px
}

.device-sp #contents.article h2 {
  width: 53.44%;
  max-width: 221.23px;
  margin: 0 auto 44px
}

.device-sp #contents.article section header {
  max-width: 382px;
  margin: 0 auto
}

.device-sp #contents.article section header time {
  font-size: 12px;
  line-height: 1.2;
  display: inline-block;
  letter-spacing: .075em;
  color: #615e70;
  background: #f2d8ee
}

.device-sp #contents.article section header h3 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  padding: 14px 0;
  letter-spacing: .075em;
  border-bottom: 5px #6bb1da solid
}

.device-sp #contents.article section header h3 br {
  display: none
}

.device-sp #contents.article section header h3:empty {
  display: none
}

.device-sp #contents.article section>div {
  font-size: 14px;
  max-width: 382px;
  margin: 25px auto 0
}

.device-sp #contents.article section>div .mail, .device-sp #contents.article section>div .quote {
  width: auto;
  padding: 14px 0 14px 28px
}

.device-sp #contents.article section>div .mail:before, .device-sp #contents.article section>div .quote:before {
  font-size: 24px
}

.device-sp #contents.article section>div table {
  margin-top: 29px
}

.device-sp #contents.article section>div table thead th {
  padding-bottom: 9px;
  border-bottom: 3px solid #469ed1
}

.device-sp #contents.article section>div table thead~* td, .device-sp #contents.article section>div table thead~* th {
  padding: 13px 0 11px;
  border-bottom: 1px solid #d6d6d6
}

.device-sp #contents.article section>div table thead~* th {
  width: 100px
}

.device-sp #contents.article section:empty+div {
  display: none
}

.device-sp #contents ul[data-title] {
  margin: 40px auto
}

.device-sp #contents ul[data-title] li {
  padding-left: 16px
}

.device-sp #contents ul[data-title] li a {
  width: 32px;
  height: 32px
}

.device-sp #contents ul[role=local] {
  width: 260px;
  margin: 0 auto
}

.device-sp #contents ul[role=local] li {
  width: 110px
}

.device-sp #contents ul[role=local] li:nth-child(1) a {
  padding-left: 30px
}

.device-sp #contents ul[role=local] li:nth-child(1) a:before {
  left: 4px
}

.device-sp #contents ul[role=local] li:nth-child(2) a {
  padding-right: 30px
}

.device-sp #contents ul[role=local] li:nth-child(2) a:before {
  right: 4px
}

.device-sp #contents ul[role=local] li:nth-child(3) {
  clear: both;
  padding-top: 10px
}

.device-sp #contents ul[role=local] li a {
  height: 34px
}