@charset "UTF-8";
/* common
---------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 3.4666666667vw;
  line-height: 1.75;
  letter-spacing: 0.075em;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: none;
}

a {
  color: #39c;
  overflow: hidden;
  outline: none;
  transition: all  0.3s ease;
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}

img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

sup {
  font-size: 60%;
}

.btn01 a {
  display: block;
  width: 85.3333333333vw;
  line-height: 16vw;
  font-size: 5.44vw;
  font-weight: bold;
  color: #fff;
  text-align: center;
  letter-spacing: 0.075em;
  background: #ea3665;
  border-radius: 1.0666666667vw;
  margin: 0 auto;
  box-shadow: 0.2666666667vw 0.4vw 0px 0.2666666667vw rgba(38, 6, 6, 0.15);
}
.btn01 a span {
  display: inline-block;
  background: url(../img/arrow01.png) no-repeat 100% 50%;
  background-size: 2.9333333333vw auto;
  padding: 0 7.2vw 0 0;
}

.text-wrap {
  width: 82.6666666667vw;
  margin: 0 auto;
  padding: 4vw 0;
}

.line {
  background: linear-gradient(transparent 50%, #ede6da 50%);
}

.mini {
  font-size: 1.8666666667vw;
  margin: 2vw 0 0 0;
}

.js-accordion {
  position: relative;
}
.js-accordion::after {
  content: '';
  display: block;
  width: 76.5333333333vw;
  height: 11.7333333333vw;
  background: url(../img/accordion-open.png) no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: 5.7333333333vw;
  left: 50%;
  margin: 0 0 0 -38.2666666667vw;
  cursor: pointer;
  transition: all  0.3s ease;
}
.js-accordion:hover::after {
  opacity: 0.8;
}
.js-accordion.active::after {
  background: url(../img/accordion-close.png) no-repeat;
  background-size: 100%;
}

.js-accordion-contents {
  display: none;
}

.sarani {
  padding: 6.4vw 0;
  text-align: center;
}
.sarani img {
  width: 41.8666666667vw;
}

.mb {
  margin-bottom: 3.3333333333vw;
}

.red {
  color: #ea3665;
}

.floating-btn a {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 16vw;
  height: 16vw;
  background: #d12d24;
  color: #fff;
  font-size: 2.9333333333vw;
  text-align: center;
  line-height: 1.5;
}

/* fv
---------------------------------------------------- */
.fv {
  height: 142.4vw;
}
.fv .btn01 {
  margin-top: 1.8666666667vw;
}

/* voice
---------------------------------------------------- */
.voice {
  border-top: 0.5333333333vw solid #e1d5ba;
  background: #fffbef;
  padding: 8.4vw 0 0 0;
}
.voice ul {
  margin: -8.8vw 0 0 0;
}
.voice li:nth-child(2) {
  margin-top: 5.6vw;
}
.voice li:nth-child(3) {
  margin-top: 6.2666666667vw;
}

/* trouble
---------------------------------------------------- */
.trouble {
  background: #e8dcc9;
  padding: 4.6666666667vw 0 7.0666666667vw 0;
}
.trouble h2 {
  width: 90.5333333333vw;
  margin: 0 auto;
}
.trouble ul {
  margin: 3.7333333333vw 0 0 0;
}
.trouble li:nth-child(2) {
  margin-top: 1.3333333333vw;
}
.trouble li:nth-child(3) {
  margin-top: 2.9333333333vw;
}
.trouble .img01 {
  width: 88.6666666667vw;
  margin: 1.0666666667vw auto 0 auto;
}

/* damage
---------------------------------------------------- */
.damage {
  background: url(../img/damage-bg.png) no-repeat;
  background-size: 100% auto;
  padding: 14.9333333333vw 0 0 0;
}
.damage h2 {
  width: 63.3333333333vw;
  margin: 0 auto 9.0666666667vw auto;
}
.damage dd {
  padding: 8vw 0;
}

/* dont-return
---------------------------------------------------- */
.dont-return ol {
  width: 85.3333333333vw;
  margin: 11.4666666667vw auto 0 auto;
}
.dont-return li:not(:last-child) {
  margin-bottom: 6vw;
}
.dont-return .ba {
  padding: 11.0666666667vw 0 6.6666666667vw 0;
  background: linear-gradient(to bottom, #fff, #fffcf9 80%, #fff);
}

/* thermus-thermophilus
---------------------------------------------------- */
.thermus-thermophilus {
  margin: 0 0 10.6666666667vw 0;
}
.thermus-thermophilus dl {
  border-top: 0.6666666667vw solid #ede6da;
}

/* developer
---------------------------------------------------- */
.developer {
  margin: 0 0 8vw 0;
}
.developer dl {
  padding: 75.2vw 0 0 0;
  background: url(../img/developer-photo01.jpg) no-repeat 50% 8vw;
  background-size: 85.3333333333vw auto;
}
.developer .photo02 {
  padding: 67.0666666667vw 0 0 0;
  background: url(../img/developer-photo02.jpg) no-repeat 50% 0;
  background-size: 85.3333333333vw auto;
}

/* media
---------------------------------------------------- */
.media {
  margin: 0 0 9.8666666667vw 0;
}
.media .bg {
  background: url(../img/media-bg.png) no-repeat;
  background-size: 100% auto;
  padding: 6.6666666667vw 0 0 0;
}
.media .interview {
  width: 88vw;
  margin: 9.3333333333vw auto 0 auto;
}

/* diagnosis
---------------------------------------------------- */
.diagnosis {
  background: url(../img/diagnosis-bg.png);
  background-size: 7.6vw auto;
  padding: 6.6666666667vw 0 18.2666666667vw 0;
}
.diagnosis ul {
  padding: 6vw 6.6666666667vw 10.9333333333vw 6.6666666667vw;
  display: flex;
  justify-content: space-between;
  background: #fff;
  box-shadow: 0.1333333333vw 0.2666666667vw 1.0666666667vw 0px rgba(0, 0, 0, 0.9);
}
.diagnosis li {
  width: 41.3333333333vw;
}

/* step
---------------------------------------------------- */
.step {
  margin: -7.7333333333vw 0 14.5333333333vw 0;
}
.step li {
  margin: 8.4vw 0 0 0;
}

/* voice02
---------------------------------------------------- */
.voice02 {
  border-top: 0.5333333333vw solid #e1d5ba;
  background: #fffbef;
  padding: 0 0 0.4vw 0;
}
.voice02 h2 {
  width: 84vw;
  position: relative;
  top: -2.5333333333vw;
  left: 1.7333333333vw;
}
.voice02 li:nth-child(1) {
  position: relative;
  z-index: 5;
}
.voice02 li:nth-child(2) {
  position: relative;
  top: -5.3333333333vw;
  z-index: 4;
}
.voice02 li:nth-child(3) {
  position: relative;
  top: -10.6666666667vw;
  z-index: 3;
}

/* cv
---------------------------------------------------- */
.cv {
  padding: 7.3333333333vw 0 9.0666666667vw 0;
}
.cv p:nth-child(1) {
  width: 60.1333333333vw;
  margin: 0 auto 1.8666666667vw auto;
}

/* notes
---------------------------------------------------- */
.notes {
  background: #f0f0f0;
  font-size: 2.9333333333vw;
  letter-spacing: 0.025em;
  padding: 7.3333333333vw;
  margin: 0 0 10.1333333333vw 0;
}
.notes h2 {
  text-align: center;
  font-size: 4.8vw;
  letter-spacing: 0.05em;
  font-weight: normal;
  border-bottom: 1px solid #000;
  margin: 0 0 2vw 0;
}
.notes li {
  text-indent: -1em;
  padding-left: 1em;
}

/* qa
---------------------------------------------------- */
.qa {
  margin: 0 0 11.3333333333vw 0;
}
.qa h2 {
  margin: 0 0 6vw 0;
}
.qa dl {
  margin: 0 6.6666666667vw;
}
.qa dt {
  font-family: serif;
  font-size: 3.7333333333vw;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 0 0 0 9.6vw;
  background: url(../img/qa-q.png) no-repeat 0 1.3333333333vw;
  background-size: 7.7333333333vw auto;
  min-height: 9.7333333333vw;
  display: flex;
  align-items: center;
}
.qa dd {
  background: url(../img/qa-a.png) no-repeat 0 3.3333333333vw;
  background-size: 6.8vw auto;
  margin: 1.3333333333vw 0 8vw 0;
  padding: 2.6666666667vw 0 0 9.6vw;
  border-top: 1px dotted #c9b69a;
}

/* set
---------------------------------------------------- */
.set {
  background: #fbedf1;
  padding: 0 0 5.2vw 0;
}
.set .box {
  background: #fff;
  border-top: 2px solid #b8a07b;
  border-bottom: 2px solid #b8a07b;
  padding: 8.4vw 8vw 6.6666666667vw 6.4vw;
  margin: 0 0 5.3333333333vw 0;
}
.set ul {
  display: flex;
  justify-content: space-between;
  margin: 4.6666666667vw 0 4.4vw 0;
}
.set li {
  width: 41.6vw;
}
.set .btn a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 41.6vw;
  height: 15.7333333333vw;
  font-weight: bold;
  color: #fff;
  font-size: 3.7333333333vw;
  letter-spacing: 0.05em;
  line-height: 1;
  border-radius: 0.8vw;
  box-shadow: 0.2666666667vw 0.4vw 0px 0.2666666667vw rgba(38, 6, 6, 0.15);
  margin: 2vw 0 0 0;
  background-image: url(../img/arrow02.png);
  background-repeat: no-repeat;
  background-position: right 5.3333333333vw top 50%;
  background-size: 1.8666666667vw auto;
}
.set .btn a span span {
  display: block;
  text-align: center;
}
.set .btn a span span:nth-child(1) {
  font-size: 140%;
  margin: 0 0 1.0666666667vw 0;
}
.set .btn02 a {
  background-color: #00979c;
}
.set .btn03 a {
  background-color: #ea3665;
}

/* footer
---------------------------------------------------- */
footer {
  font-size: 2.1333333333vw;
  text-align: center;
  padding: 6.6666666667vw 0;
}
footer a {
  color: #333;
}
footer ul {
  font-size: 3.2vw;
  margin: 0 0 4vw 0;
}
footer li {
  margin: 0 0 1.7333333333vw 0;
}

/*# sourceMappingURL=main.css.map */
