@charset "utf-8";

@font-face {
  font-family: 'SuzukiPROHeadline';
  src: url('../font/SuzukiPROHeadline.eot');
}
@font-face {
  font-family: 'SuzukiPROBold';
  src: url('../font/SuzukiPROBold.eot');
}
@font-face {
  font-family: 'SuzukiPRORegular';
  src: url('../font/SuzukiPRORegular.eot');
}
@font-face {
  font-family: 'SuzukiPROHeadline';
  src: url('../font/SuzukiPROHeadline.ttf') format('truetype'),
    url('../font/SuzukiPROHeadline.woff') format('woff'),
    url('../font/SuzukiPROHeadline.otf') format('opentype');
}
@font-face {
  font-family: 'SuzukiPRORegular';
  src: url('../font/SuzukiPRORegular.ttf') format('truetype'),
    url('../font/SuzukiPRORegular.woff') format('woff'),
    url('../font/SuzukiPRORegular.otf') format('opentype');
}
@font-face {
  font-family: 'SuzukiPROBold';
  src: url('../font/SuzukiPROBold.ttf') format('truetype'),
    url('../font/SuzukiPROBold.woff') format('woff'),
    url('../font/SuzukiPROBold.otf') format('opentype');
}

html,
body,
div,
span,
applet,
object,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
figure,
nav,
header {
  padding: 0;
  margin: 0;
  border: 0;
  vertical-align: baseline;
  background: transparent;
  outline: 0;
  box-sizing: border-box;
}
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
  display: block;
  box-sizing: border-box;
}
input,
select,
textarea {
  box-sizing: border-box;
}
main {
  display: block;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}
ol,
ul,
li {
  list-style: none;
}
th {
  font-weight: normal;
}
html {
  height: 100%;
  font-size: 62.5%;
}
body {
  width: 100%;
  height: 100%;
  font-family: 'SuzukiPRORegular';
  font-size-adjust: none;
  font-size: 16px;
  line-height: 1.8em;
  color: #191919;
  text-align: left;
}
svg {
  vertical-align: bottom;
}
a,
a:link {
  color: #191919;
  text-decoration: none;
}
a:visited {
  color: #191919;
}
a:hover {
  color: #191919;
}
a:active {
  color: #191919;
}

/* +++++++++++++++++++++++++　Margin */

.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt1 {
  margin-top: 10px !important;
}
.mt2 {
  margin-top: 20px !important;
}
.mt3 {
  margin-top: 30px !important;
}
.mt4 {
  margin-top: 40px !important;
}
.mt5 {
  margin-top: 50px !important;
}
.mt6 {
  margin-top: 60px !important;
}
.mt7 {
  margin-top: 70px !important;
}
.mt8 {
  margin-top: 80px !important;
}
.mt9 {
  margin-top: 90px !important;
}
.mt10 {
  margin-top: 100px !important;
}

.mb05 {
  margin-bottom: 5px !important;
}
.mb1 {
  margin-bottom: 10px !important;
}
.mb2 {
  margin-bottom: 20px !important;
}
.mb3 {
  margin-bottom: 30px !important;
}
.mb4 {
  margin-bottom: 40px !important;
}
.mb5 {
  margin-bottom: 50px !important;
}
.mb6 {
  margin-bottom: 60px !important;
}
.mb7 {
  margin-bottom: 70px !important;
}
.mb8 {
  margin-bottom: 80px !important;
}
.mb9 {
  margin-bottom: 90px !important;
}
.mb10 {
  margin-bottom: 100px !important;
}
.mb15 {
  margin-bottom: 150px !important;
}
.mb20 {
  margin-bottom: 200px !important;
}

.mr05 {
  margin-right: 5px !important;
}
.mr1 {
  margin-right: 10px !important;
}
.mr2 {
  margin-right: 20px !important;
}
.mr3 {
  margin-right: 30px !important;
}
.mr4 {
  margin-right: 40px !important;
}
.mr5 {
  margin-right: 50px !important;
}
.mr6 {
  margin-right: 60px !important;
}
.mr7 {
  margin-right: 70px !important;
}
.mr8 {
  margin-right: 80px !important;
}
.mr9 {
  margin-right: 90px !important;
}
.mr10 {
  margin-right: 100px !important;
}

/* +++++++++++++++++++++++++　Padding */

.pt05 {
  padding-top: 5px !important;
}
.pt1 {
  padding-top: 10px !important;
}
.pt2 {
  padding-top: 20px !important;
}
.pt3 {
  padding-top: 30px !important;
}
.pt4 {
  padding-top: 40px !important;
}
.pt5 {
  padding-top: 50px !important;
}
.pt6 {
  padding-top: 60px !important;
}
.pt7 {
  padding-top: 70px !important;
}
.pt8 {
  padding-top: 80px !important;
}
.pt9 {
  padding-top: 90px !important;
}
.pt10 {
  padding-top: 100px !important;
}

.pb05 {
  padding-bottom: 5px !important;
}
.pb1 {
  padding-bottom: 10px !important;
}
.pb2 {
  padding-bottom: 20px !important;
}
.pb3 {
  padding-bottom: 30px !important;
}
.pb4 {
  padding-bottom: 40px !important;
}
.pb5 {
  padding-bottom: 50px !important;
}
.pb6 {
  padding-bottom: 60px !important;
}
.pb7 {
  padding-bottom: 70px !important;
}
.pb8 {
  padding-bottom: 80px !important;
}
.pb9 {
  padding-bottom: 90px !important;
}
.pb10 {
  padding-bottom: 100px !important;
}

/* +++++++++++++++++++++++++　Flexbox */

/*
.flex 通常のflex
.flex-ce 中央揃え
.flex-cc　縦横中央揃え
*/

.flex {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-ce {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-cc {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-ace {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-ac {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-c {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-justify-content: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-order {
  -webkit-box-ordinal-group: -1;
  -moz-box-ordinal-group: -1;
  -webkit-flex-order: -1;
  -moz-flex-order: -1;
  -webkit-order: -1;
  -moz-order: -1;
  order: -1;
}

/* +++++++++++++++++++++++++　Text Alignment */

.tal {
  text-align: left !important;
}
.tac {
  text-align: center !important;
}
.tar {
  text-align: right !important;
}

/* +++++++++++++++++++++++++　Roll over */

a {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
a:hover {
  opacity: 0.5;
}

/* +++++++++++++++++++++++++　Image */

img {
  width: 100%;
  height: auto;
  border: none;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}
img.img-auto-width {
  width: auto;
  max-width: 100%;
}

/* +++++++++++++++++++++++++　Clearfix */

.clearfix:after {
  content: '.';
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
  overflow: hidden;
}

/* ++++++　Regular list */

.base-list {
  padding-left: 25px;
}
.base-list > li {
  list-style-type: disc;
  margin-bottom: 10px;
}

/* ++++++　Regular list with numbers */

.base-list-no {
  padding-left: 25px;
}
.base-list-no > li {
  list-style-type: decimal;
}

/* ++++++ */

.base-list-no2 {
  counter-reset: listno2;
  padding-left: 25px;
}
.base-list-no2 > li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.base-list-no2 > li:before {
  counter-increment: listno2;
  content: '(' counter(listno2) ') ';
}

/* ++++++ Normal list with enclosed numbers */

.base-list-no3 {
  counter-reset: listno3;
}
.base-list-no3 > li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 15px;
}
.base-list-no3 > li:last-child {
  margin-bottom: 0;
}
.base-list-no3 > li:before {
  display: block;
  position: absolute;
  left: 0;
  top: 3px;
  counter-increment: listno3;
  content: counter(listno3);
  background-color: #1f1f1f;
  color: #11ce87;
  font-size: 18px;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  border-radius: 1000%;
  text-align: center;
  width: 24px;
  height: 24px;
  line-height: 24px;
}

/* ++++++　Single character indent */

.indent-txt {
  text-indent: -1em;
  padding-left: 1em;
}
.indent-txt1_5 {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.indent-txt2 {
  text-indent: -2em;
  padding-left: 2em;
}

/* +++++++++++++++++++++++++ Text adjustment related */

.font-en-bold {
  font-weight: 400;
  font-family: 'Teko', sans-serif;
}

.bold-txt {
  font-weight: bold;
}
.small-txt {
  font-size: 14px;
  line-height: 1.5;
}
.micro-txt {
  font-size: 12px !important;
  line-height: 1.5;
}
.txt-color01 {
  color: #bf1140;
}
.font-size01 {
  font-size: 18px;
}
.font-lineheight01 {
  line-height: 1.3;
}

/* +++++++++++++++++++++++++ Common to pop-ups */

.mfp-close {
  opacity: 1;
  font-size: 60px;
}

@media (min-width: 768px) {
  .pc-font-size12 {
    font-size: 12px;
    line-height: 2;
  }
  .pc-font-size14 {
    font-size: 14px;
    line-height: 2;
  }
  .pc-font-size16 {
    font-size: 16px;
  }
  .pc-font-size18 {
    font-size: 18px;
  }
  .pc-font-size20 {
    font-size: 20px;
  }
  .pc-font-size22 {
    font-size: 22px;
  }
  .pc-font-size24 {
    font-size: 24px;
  }
  .pc-font-size26 {
    font-size: 26px;
  }
  .pc-font-size28 {
    font-size: 28px;
  }
  .pc-font-size30 {
    font-size: 30px;
  }
  .pc-font-size32 {
    font-size: 32px;
  }
  .pc-font-size34 {
    font-size: 34px;
  }
  .pc-font-size36 {
    font-size: 36px;
  }
  .pc-font-size38 {
    font-size: 38px;
  }
  .pc-font-size40 {
    font-size: 40px;
  }
}
@media (max-width: 768px) {
  .sp-font-size12 {
    font-size: 12px;
    line-height: 1.5;
  }
  .sp-font-size14 {
    font-size: 14px;
    line-height: 1.5;
  }
  .sp-font-size16 {
    font-size: 16px;
    line-height: 1.5;
  }
  .sp-font-size18 {
    font-size: 18px;
    line-height: 1.5;
  }
  .sp-font-size20 {
    font-size: 20px;
    line-height: 1.5;
  }
  .sp-font-size22 {
    font-size: 22px;
    line-height: 1.5;
  }
  .sp-font-size24 {
    font-size: 24px;
    line-height: 1.5;
  }
  .sp-font-size26 {
    font-size: 26px;
    line-height: 1.5;
  }
  .sp-font-size28 {
    font-size: 28px;
    line-height: 1.5;
  }
  .sp-font-size30 {
    font-size: 30px;
    line-height: 1.5;
  }
  .sp-font-size32 {
    font-size: 32px;
    line-height: 1.5;
  }
  .sp-font-size34 {
    font-size: 34px;
    line-height: 1.5;
  }
  .sp-font-size36 {
    font-size: 36px;
    line-height: 1.5;
  }
  .sp-font-size38 {
    font-size: 38px;
    line-height: 1.5;
  }
  .sp-font-size40 {
    font-size: 40px;
    line-height: 1.5;
  }
}
@media (min-width: 768px) {
  .display-sp {
    display: none !important;
  }
  .display-pc {
    display: block !important;
  }
}
@media (max-width: 768px) {
  .display-sp {
    display: block !important;
  }
  .display-pc {
    display: none !important;
  }
}

/* +++++++++++++++++++++++++ */
/*
/* -SP-
/*
/* +++++++++++++++++++++++++ */

@media (max-width: 768px) {
  /* +++++++++++++++++++++++++　common */

  body {
    font-size: 14px;
    line-height: 1.8;
    -webkit-text-size-adjust: 100%;
    min-width: inherit;
    font-family: 'SuzukiPRORegular';
  }
  body,
  html {
    overflow: visible;
  }

  img,
  svg {
    width: 100%;
  }

  .tel-link a {
    text-decoration: none;
  }

  .sp-tal {
    text-align: left !important;
  }
  .sp-tac {
    text-align: center !important;
  }
  .sp-tar {
    text-align: right !important;
  }

  .mt05 {
    margin-top: 0.5vw !important;
  }
  .mt1 {
    margin-top: 1vw !important;
  }
  .mt2 {
    margin-top: 2vw !important;
  }
  .mt3 {
    margin-top: 3vw !important;
  }
  .mt4 {
    margin-top: 4vw !important;
  }
  .mt5 {
    margin-top: 5vw !important;
  }
  .mt6 {
    margin-top: 6vw !important;
  }
  .mt7 {
    margin-top: 7vw !important;
  }
  .mt8 {
    margin-top: 8vw !important;
  }
  .mt9 {
    margin-top: 9vw !important;
  }
  .mt10 {
    margin-top: 10vw !important;
  }

  .mb05 {
    margin-bottom: 0.5vw !important;
  }
  .mb1 {
    margin-bottom: 1vw !important;
  }
  .mb2 {
    margin-bottom: 2vw !important;
  }
  .mb3 {
    margin-bottom: 3vw !important;
  }
  .mb4 {
    margin-bottom: 4vw !important;
  }
  .mb5 {
    margin-bottom: 5vw !important;
  }
  .mb6 {
    margin-bottom: 6vw !important;
  }
  .mb7 {
    margin-bottom: 7vw !important;
  }
  .mb8 {
    margin-bottom: 8vw !important;
  }
  .mb9 {
    margin-bottom: 9vw !important;
  }
  .mb10 {
    margin-bottom: 10vw !important;
  }
  .mb15 {
    margin-bottom: 15vw !important;
  }
  .mb20 {
    margin-bottom: 20vw !important;
  }

  a,
  input,
  button {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: (0, 0, 0, 0);
    cursor: pointer;
  }

  .small-txt {
    font-size: 12px;
    line-height: 1.5;
  }
  .micro-txt {
    font-size: 12px;
    line-height: 1.5;
  }
}
