@charset "UTF-8";

/*------------------------------------------------------
 RESET
------------------------------------------------------*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
body, div, p, ul, ol, li, dl, dt, dd, table, th, td, img, figure, h1, h2, h3, h4, h5, h6, form, select { margin: 0; padding: 0; }
main, article, aside, figcaption, figure, picture, source, footer, header, nav, section, details, summary { display: block; }
h1, h2, h3, h4, h5, h6, th, em, strong { font-weight: normal; }
ul, ol { list-style: none; }
img { border: 0; vertical-align: middle; }
a { color: #000000; text-decoration: underline; }
a:link, a:visited, a:hover, a:active { color: #000; }
a:hover { opacity: 0.7; }

body { color: #000000; }

/* [IE8-] New Tag from HTML5 */
main, article, aside, figcaption, figure, footer, header, nav, section, details, summary { display: block; }
address { font-style: normal; }
@media all and (orientation: landscape) { body, html {width: 100%; } }


/*------------------------------------------------------
 COMMON
------------------------------------------------------*/
/* font-family */
html { 
  font-family: Helvetica, Arial, 'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", 'Yu Gothic', "メイリオ", "Meiryo", "Avenir Next", "Avenir", sans-serif;
  line-height: 1.5;
  font-size: 12px;
  -webkit-text-size-adjust: 100%;
}

.cf:after {
  content: '';
  display: block;
  clear: both;
  height: 0;
}

/*
img {
  width: 100%;
  height: auto;
}
*/

header {
  margin: 0 auto;
  padding: 0;
  border-bottom: 8px solid #7f7f7f;
}

footer {
  margin: 30px auto;
  padding: 0;
  text-align: center;
}

footer a {
  text-decoration: none;
}

h1 {
  margin: 0;
  padding: 30px 0 10px 0;
  text-align: left;
}

h1 img {
  max-width: 100px;
}

h2 {
  padding-bottom: 0.6em;
  color: #000000;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

h3 {
  margin-bottom: 15px;
  padding-bottom: 0.6em;
  border-bottom: 1px dotted #7f7f7f;
  font-size: 2rem;
  line-height: 1;
}

h3 img {
  padding: 15px 0 10px 0;
  max-width: 200px;
  text-align: center;
  display: block;
  margin: 0 auto;
}

h4:before {
  content: "●";
  color: #f00;
  margin-right: 5px;
}

h4 + p {
  margin-top: 0;
}

section {
  margin: 50px 0 0 0;
  padding: 0;
  text-align: left;
}

section#warranty {
  border-bottom: 1px solid #000000;
  padding-bottom: 1.5em;
}

section#warranty a.link {
  text-decoration: underline;
}

dl {
  width: 100%;
  margin-bottom: 15px;
  padding-bottom: 0.6em;
  border-bottom: 1px dotted #7f7f7f;
  display: table;
}

dt {
  width: 25%;
  padding: 15px 0;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
}

dd {
  padding: 15px 0;
  display: table-cell;
  vertical-align: middle;
  font-size: 1.15rem;
  line-height: 1.8rem;
}

dd p {
  padding: 0;
}

dd p.icon {
  padding: 0 0 10px 0;
}

dd p.figure {
  padding: 10px 0 0 0;
  text-align: center;
}

dd p.caption {
  font-size: 1rem;
}

dd.outline {
}

dd.image {
  padding: 0 0 15px 15px;
  text-align: right;
}

dd p.figure {
  padding: 10px 0 0 0;
  text-align: center;
}

.figure02, .figure04 {
  padding: 0 0 0 15px;
  float: right;
  vertical-align: top;
}

#wrapper {
  margin: 0 auto;
  padding: 0;
  width: 70%;
}

#contents {
  margin: 0 auto;
  padding: 0;
  width: 70%;
  text-align: center;
}

/*ボタン*/
.main-content .inner {
  padding: 55px 10px 58px;
}

.main-content + .main-content .inner {
  position: relative;
}

.main-content + .main-content .inner::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 10px;
  width: 98%;
  height: 1px;
  background: #666;
}

/*grid-col*/
.grid-col {
  font-size: 0;
  letter-spacing: 0;
  word-spacing: 0;
}

.grid-col li {
  display: inline-block;
  font-size: 12px;
  letter-spacing: normal;
  word-spacing: normal;
  vertical-align: top;
}

.btn-list li a {
  text-decoration: none;
  display: block;
  height: 50px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  border-radius: 5px;
  font-size: 20px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.btn-list li a em {
  text-decoration: none;
  display: block;
  line-height: 1.2;
  font-style: normal;
  font-size: 0.8em;
}

.btn-list .arrow::after {
  right: 20px;
}

.btn-col-2 {
  margin: 0 -2.04081626%;
}

.btn-col-2 li {
  width: 46.078431372%;
  margin: 0 1.960784313%;
  line-height: 1.7;
  text-align: center;
}

/*ボタン背景色・文字色*/
.btn-list li a {
  background: #000;
  color: #fff;
}
.main-content .btn-col-2 li {
  margin-bottom: 1.5em;
}
.main-content .btn-col-2 li a {
  background-color: #91969b;
}
.main-content + .main-content .inner:before {
  display: none;
}
.main-content .btn-col-2 li {
  margin-bottom: 1.5em;
}
.main-content .btn-col-2 li a {
  text-decoration: none;
  background-color: #91969b;
}

/*矢印 PARTS*/
.arrow {
  position: relative;
}
.arrow::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* section_common
--------------------------------------------------------------------*/
.btn-col-3 {
  margin: 0 -2.04081626%;
}

.btn-col-3 li {
  width: 46.078431372%;
  margin: 0 1.960784313%;
  line-height: 1.7;
  text-align: center;
}
.main-content .btn-col-3 li {
  margin-bottom: 1.5em;
}
.main-content .btn-col-3 li a {
  background-color: #000000;
}
.main-content + .main-content .inner:before {
  display: none;
}
.main-content .btn-col-3 li {
  margin-bottom: 1.5em;
}
.main-content .btn-col-3 li a {
  text-decoration: none;
  background-color: #000000;
}

/* warranty
--------------------------------------------------------------------*/
#warranty h1,p {
    font-family: Noto Sans JP, sans-serif;
}
#warranty a {
    text-decoration: none;
}
#warranty a:hover {
    opacity: .7;
}
#warranty a:hover p {
    text-decoration: underline;
}
#warranty #kv {
    padding: min(8.5rem, 85px) 0 0;
    text-align: center;
}
#warranty #kv h1 {
    margin-bottom: min(8.5rem, 85px);
    text-align: center;
    font-size: min(3.0rem, 30px);
    font-weight: 700;
    line-height: 1.13;
}
#warranty #kv .kv-message {
    font-size: min(1.6rem, 16px);
    line-height: 2.43;
}
#warranty #kv .kv-message p {
    font-weight: 500;
}
#warranty #kv .kv-caution {
    margin-top: min(4.0rem, 40px);
    font-size: min(1.2rem, 12px);
    line-height: 1.66;
}
#warranty #howto {
    padding: min(10.0rem, 100px) 0 0;
}
#warranty #howto .howto-flex {
    display: flex;
    justify-content: center;
}
#warranty #howto .howto-box {
    display: flex;
    align-items: center;
    position: relative;
    width: min(45.0rem, 450px);
    padding: min(4.0rem, 40px) min(1.0rem, 10px);
    border: 8px solid #ADADAD;
}
#warranty #howto .howto-box + .howto-box {
    margin-left: min(3.0rem, 30px);
}
#warranty #howto .howto-icon {
    width: min(7.6rem, 76px);
}
#warranty #howto .howto-text {
    margin-left: min(2.0rem, 20px);
    font-size: min(1.4rem, 14px);
    line-height: 1.35;
}
#warranty #howto .howto-ttl {
    margin-bottom: min(1.0rem, 10px);
    font-size: min(1.8rem, 18px);
    font-weight: 700;
    line-height: 1.33;
}
#warranty #howto .howto-caution {
    margin-top: min(1.5rem, 15px);
    color: #FF0000;
}
#warranty #howto .howto-arrow {
    position: absolute;
    bottom: min(1.0rem, 10px);
    left: 50%;
    transform: translateX(-50%);
    width: min(1.4rem, 14px);
}
#warranty #flow {
    padding: min(14.0rem, 140px) 0 0;
}
#warranty #flow .flow-head {
    text-align: center;
    font-size: min(1.8rem, 18px);
    font-weight: 700;
}
#warranty #flow .flow-caution {
    margin-top: min(2.0rem, 20px);
    text-align: center;
    font-size: min(1.4rem, 14px);
    line-height: 1.57;
    color: #FF0000;
}
#warranty #flow .flow-inner {
    width: min(100.0rem, 770px);
    margin: min(7.0rem, 70px) auto 0;
    padding: min(8.5rem, 85px) min(9.0rem, 90px);
    background: #F0F0F0;
    border-radius: min(4.9rem, 49px);
}
#warranty #flow .flow-row {
    display: flex;
    align-items: center;
    text-align: left;
}
#warranty #flow .flow-row + .flow-row {
    margin-top: min(5.0rem, 50px);
}
#warranty #flow .flow-num {
    flex-shrink: 0;
    margin: auto 0;
    font-size: min(3.1rem, 31px);
}
#warranty #flow .flow-num p {
    font-weight: 700;
}
#warranty #flow .flow-icon {
    flex-shrink: 0;
    width: min(8.7rem, 87px);
    margin: 0 min(6.0rem, 60px) 0 min(4.0rem, 40px);
    text-align: center;
    font-size: min(1.2rem, 12px);
    line-height: 1.33;
}
#warranty #flow .flow-icon img {
    display: block;
    width: min(6.7rem, 67px);
    margin: 0 auto;
}
#warranty #flow .flow-icon p {
    margin-top: min(1.0rem, 10px);
    font-weight: 700;
}
#warranty #flow .flow-text {
    font-size: min(1.4rem, 14px);
    line-height: 1.35;
}
#warranty #flow .flow-ttl {
    margin-bottom: min(1.0rem, 10px);
    font-size: min(1.8rem, 18px);
    font-weight: 700;
    line-height: 1.33;
}
#warranty #flow .flow-small {
    font-size: min(1.2rem, 12px);
}
#warranty #shop {
    padding: min(11.5rem, 115px) 0 0;
    text-align: center;
}
#warranty #shop .shop-ttl {
    margin-bottom: min(6.0rem, 60px);
    font-size: min(1.8rem, 18px);
    font-weight: 700;
    line-height: 1.35;
}
#warranty #shop .shop-text {
    display: inline-block;
    margin-bottom: min(9.5rem, 95px);
    text-align: left;
    font-size: min(1.4rem, 14px);
    line-height: 1.42;
}
#warranty #shop .shop-small {
    font-size: min(1.2rem, 12px);
}
#warranty #caution {
    width: min(107.5rem, 1075px);
    margin: 0 auto;
    padding: min(16.0rem, 160px) 0 0;
}
#warranty #caution h1 {
    margin-bottom: min(3.5rem, 35px);
    text-align: center;
    font-size: min(1.8rem, 18px);
    font-weight: 700;
    line-height: 1.35;
}
#warranty #caution .caution-text {
    font-size: min(1.4rem, 14px);
    line-height: 1.35;
}
#warranty #contact {
    width: min(107.5rem, 1075px);
    margin: 0 auto;
    padding: min(11.0rem, 110px) 0 min(13.0rem, 130px);
    font-size: min(1.4rem, 14px);
    line-height: 1.42;
}
#warranty #contact .contact-border {
    margin-top: min(2.5rem, 25px);
    padding: min(2.0rem, 20px);
    line-height: 1;
    border: 1px solid #707070;
}
#warranty #contact .contact-border p {
    font-weight: 700;
}
#warranty .container {
    position: relative;
    width: min(95.0rem, 950px);
    margin: 0 auto;
}
#warranty .repair .repair-ttl {
    margin-bottom: min(8.0rem, 80px);
    text-align: center;
    font-size: min(2.2rem, 22px);
    line-height: 1.36;
}
#warranty .repair .repair-ttl span {
    position: relative;
    font-weight: 700;
}
#warranty .repair .repair-ttl span::before {
    content: '';
    position: absolute;
    bottom: max(-1.5rem, -15px);
    left: 0;
    width: 100%;
    height: 3px;
    background: #DEDEDE;
}
#warranty .repair .repair-ttl span::after {
    content: '';
    position: absolute;
    bottom: max(-1.5rem, -15px);
    left: 0;
    width: min(3.6rem, 36px);
    height: 3px;
    background: #707070;
}
#warranty .repair .repair-btn {
    width: min(40.0rem, 400px);
    margin: min(5.0rem, 50px) auto 0;
}
#warranty .repair .repair-btn a {
    display: block;
    padding: min(2.5rem, 25px) 0;
    text-align: center;
    font-size: min(1.6rem, 16px);
    font-weight: 700;
    color: #FFFFFF;
    background: #000000;
}
#warranty img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/*------------------------------------------------------
 PC
------------------------------------------------------*/
@media screen and (min-width:769px) {

/*WARRANTY PARTS*/
#warranty h1,p {
    font-size: calc((var(--width) / 1300) * 10px);
}
#warranty .sp {
    display: none !important;
}
}
/*------------------------------------------------------
 SP
------------------------------------------------------*/
@media screen and (max-width:768px) {

h1 {
  margin: 0;
  padding: 15px 0 15px 0;
  text-align: left;
}

h1 img {
  max-width: 90px;
}

h2 {
  padding-bottom: 0.4em;
  color: #000000;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

h3 {
  margin-bottom: 1opx;
  padding-bottom: 0.6em;
  border-bottom: 1px dotted #7f7f7f;
  font-size: 1.8rem;
  line-height: 1;
}

h3 img {
  padding: 10px 0 5px 0;
  max-width: 170px;
  text-align: center;
  display: block;
  margin: 0 auto;
}

section {
  margin: 3rem 0 0 0;
  padding: 0;
  text-align: left;
}

dl {
  width: 100%;
  margin-bottom: 15px;
  padding-bottom: 0.6em;
  border-bottom: 1px dotted #7f7f7f;
  display: block;
}

dt {
  width: 100%;
  padding: 10px 0 5px 0;
  text-align: center;
  display: block;
  vertical-align: middle;
}

dd {
  padding: 10px 0;
  display: block;
  vertical-align: middle;
  font-size: 1.15rem;
  line-height: 1.8rem;
}

dd p {
  padding: 0;
}


dd p.icon {
  padding: 0 0 10px 0;
  text-align: center;
}

dd p.figure {
  padding: 10px 0 0 0;
  text-align: center;
}

dd p.caption {
  font-size: 1rem;
}

dd.outline {
}

dd.image {
  padding: 0 0 15px 0;
  text-align: center;
}

.figure02 {
  padding: 0 0 15px 20%;
  float: none;
  display: block;
}

.figure03 {
  padding: 15px 0;
  text-align: center;
}

.figure04 {
  padding: 0 0 15px 32%;
  float: none;
  display: block;
}

#wrapper {
  margin: 0 auto;
  padding: 0;
  width: 90%;
}

#contents {
  margin: 0 auto 30px auto;
  padding: 0;
  width: 90%;
  text-align: center;
}

/*ボタン*/
.main-content .inner {
  padding: 35px 20px;
}
.main-content-inner + .main-content-inner {
  margin-top: 6px;
}
.main-content + .main-content .inner::before {
  left: 20px;
  width: calc(100% - 40px);
}
.btn-list li a {
  height: 60px;
  background: #666;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  border-radius: 5px;
  color: #fff;
  font-size: 25px;
  text-align: center;
}
.btn-list .arrow::after {
  right: 10px; }
.btn-col-2, .btn-col-3 {
  margin: 0 0;
}
.btn-col-2 li, .btn-col-3 li {
  display: block;
  width: 100%;
  margin: 0 0 20px;
}

/*矢印 PARTS*/
.arrow::after {
  width: 8px;
  height: 8px;
}

/*WARRANTY PARTS*/
#warranty a:hover {
    opacity: 1;
}
#warranty a:hover p {
    text-decoration: none;
}
#warranty #kv {
    padding: min(9.5rem, 95px) min(2.0rem, 20px) 0;
}
#warranty #kv .kv-caution {
    margin-top: min(8.0rem, 80px);
    font-weight: 500;
}
#warranty #howto {
    padding: min(8.5rem, 85px) min(2.0rem, 20px) 0;
}
#warranty #howto .howto-flex {
    display: block;
}
#warranty #howto .howto-box {
    display: block;
    width: 90%;
    padding: min(2.0rem, 20px) min(1.0rem, 10px);
    text-align: center;
}
#warranty #howto .howto-box + .howto-box {
    margin: min(4.5rem, 45px) auto 0;
}
#warranty #howto .howto-icon {
    margin: 0 auto min(2.0rem, 20px);
}
#warranty #howto .howto-text {
    margin: 0 auto;
}
#warranty #howto .howto-small {
    font-size: min(1.2rem, 12px);
}
#warranty #howto .howto-arrow {
    position: relative;
    left: 0;
    bottom: 0;
    fransform: none;
    margin: min(2.0rem, 20px) auto 0;
}
#warranty #flow {
    padding: min(7.0rem, 70px) min(2.0rem, 20px) 0;
}
#warranty #flow .flow-caution {
    margin-top: min(4.5rem, 45px);
    font-size: min(1.2rem, 12px);
    line-height: 1.66;
}
#warranty #flow .flow-inner {
    width: 90%;
    margin-top: min(6.5rem, 65px);
    padding: min(4.5rem, 45px) min(2.0rem, 20px);
}
#warranty #flow .flow-row {
    display: block;
    text-align: center;
}
#warranty #flow .flow-row + .flow-row {
    margin-top: min(4.5rem, 45px);
}
#warranty #flow .flow-icon {
    margin: min(2.0rem, 20px) auto;
}
#warranty #flow .flow-text {
    text-align: left;
}
#warranty #shop {
    padding: min(8.0rem, 80px) min(2.0rem, 20px) 0;
}
#warranty #caution {
    width: 90%;
    padding: min(4.5rem, 45px) min(2.0rem, 20px) 0;
}
#warranty #contact {
    width: 90%;
    padding: min(4.5rem, 45px) min(2.0rem, 20px) min(5.0rem, 50px);
}
#warranty .container {
    width: 90%;
}
#warranty .repair .repair-ttl {
    margin-bottom: min(7.5rem, 75px);
}
#warranty .repair .repair-ttl span {
    font-size: 90%;
}
#warranty .repair .repair-btn {
    width: 100%;
    margin: min(4.0rem, 40px) auto 0;
}
#warranty .pc {
    display: none !important;
}
}
