@charset "utf-8";/* --------------------------------------------------- *//* メチオット *//* --------------------------------------------------- */.inblock {  margin-left: auto;  margin-right: auto;  padding-left: 5%;  padding-right: 5%;  width: 100%;  box-sizing: border-box;}.bgc01 { background-color: #e9f7f3;  }h2.caphead {  font-size: 2.8rem;  font-weight: 600;  text-align:center;}h2.caphead span {  padding: 0 0.25em;  color: inherit;  border-bottom: 3px solid;}h2.bxcap span + span { margin-left: 6px; }h2.bxcap + p {  margin-top: 0.75em;  font-size: 1.6rem;  font-weight: 500;  text-align: center;}.btn-box {  margin: 3.0em auto 0;  max-width: 480px;}.btn-box a {  display: block;  width: 100%;  background-color: #29b28d;  text-align: center;  transition: all .3s;}.btn-box a:hover { opacity: 0.5; }.btn-box a span {  position: relative;  padding-right: 1.0em;  color: #fff;  font-size: 2.0rem;  font-weight: 500;  line-height: 2.4;}.btn-box a span::after {  content: '';  position: absolute;  top: 50%;  right: 0;  display: block;  width: 10px;  height: 10px;  border-top: 2px solid #fff;  border-right: 2px solid #fff;  transform: rotate(45deg) translateY(-50%);}.tabbox {  display: flex;  margin-top: 1.0em;  width: 100%;}.tabbox dt {  box-sizing: border-box;  display: flex;  flex-direction: column;  align-item: center;  justify-content: center;  padding: 1.5em;  width: 256px;  border-radius: 12px 0 0 12px;  text-align: center;}.tabbox dd {  box-sizing: border-box;  padding: 1.5em;  width: calc(100% - 256px);  border-radius:  0 12px 12px 0;}.tabbox h3 {  font-size: 2.4rem;  font-weight: 600;  line-height: 1.4;}.tabbox h3::before {  content: attr(data-label)'';  display: block;  font-size: 75%;}.tabbox dd p {  padding-left: 1.0em;  text-indent: -1.0em;  font-size: 1.6rem;  line-height: 1.5;}.tabbox dd p + p { margin-top: 0.5em; }@media screen and (max-width: 767px) {  .tabbox { flex-direction: column; }  .tabbox dt {    padding: 1.25em;    width: 100%;    border-radius: 12px 12px 0 0;  }  .tabbox dd {    padding: 1.25em;    width: 100%;    border-radius:  0 0 12px 12px;  }  .tabbox h3 { font-size: 2.1rem; }}@media screen and (max-width: 420px) {  .inblock {    padding-left: 4%;    padding-right: 4%;  }  h2.caphead { font-size: 2.4rem; }  .btn-box { margin: 2.0em auto 0; }  .btn-box a span {  font-size: 1.8rem; }}/* --------------------------------------------------- *//* LP Title *//* --------------------------------------------------- */#lptitle {  background-image: url('../image/masterpiece/title_bg.webp');  background-size: cover;  background-position: 50% 50%;}#lptitle .inblock {  position: relative;  padding-top: 176px;  padding-bottom: 144px;}#lptitle h4 {  color: #fff;  font-size: 2.8rem;  font-weight: 600;  text-align: center;}#lptitle h1 {  margin: 0 auto;  width: 80%;  max-width: 560px;}#lptitle .inblock h1 img { width: 100%; height: auto; }@media screen and (max-width: 960px) {  #lptitle .inblock {    padding-top: 15%;    padding-bottom: 13%;  }}@media screen and (max-width: 767px) {  #lptitle .inblock {    padding-top: 25%;    padding-bottom: 20%;  }  #lptitle h4 { font-size: 2.1rem; }}@media screen and (max-width: 420px) {  #lptitle .inblock {    padding-top: 30%;    padding-bottom: 25%;  }  #lptitle h1 { width: 90%; }  #lptitle h4 { font-size: 1.8rem; }}/* --------------------------------------------------- *//* Concept *//* --------------------------------------------------- */#concept { padding: 5.0em 0; }#concept .inblock { max-width: 1080px; }#concept h3 {  margin-bottom: 1.0em;  color: #3e6ab6;  font-size: 3.6rem;  font-weight: 600;  text-align: center;  line-height: 1.4;}#concept h3 + p {  font-size: 1.8rem;  text-align: center;}#concept .cause {  display: flex;  margin-top: 3.0em;  justify-content: space-between;}#concept .cause dl {  display: flex;  flex-direction: column;  width: 47.5%;  background-color: #ebf0f8;  border-radius: 20px 20px 16px 16px;}#concept .cause dl dt {  background-color: #3e6ab6;  border-radius: 16px 16px 0 0;  text-align: center;}#concept .cause dl dd {  padding: 1.5em;  flex: 0 1;}#concept .cause h4 {  color: #fff;  font-size: 2.1rem;  font-weight: 600;  line-height: 2.5;}#concept .cause dl dd figure {  position: relative;  margin-bottom: 1.0em;  background-size: auto 100%;  background-repeat: no-repeat;  background-position: 50% 50%;}#concept .cause dl dd figure::before {  content: '';  display: block;  padding-top: 52%;  width: 100%;}#concept .cause dl dd p {  position: relative;  padding-left: 1.25em;  font-size: 1.6rem;}#concept .cause dl dd p::before {  content: '●';  position: absolute;  left: 0;  color: #3e6ab6;}@media screen and (max-width: 767px) {  #concept { padding: 4.0em 0; }  #concept h3 { font-size: 3.2rem; }  #concept h3 + p {    font-size: 1.6rem;    text-align: left;  }  #concept h3 + p span { display: inline; }  #concept h3 + p br { display: none; }}@media screen and (max-width: 640px) {  #concept .cause {    flex-direction: column;    margin-top: 2.0em;    gap: 1.5em 0;  }  #concept .cause dl { width: 100%; }  #concept .cause h4 { font-size: 1.8rem; }}@media screen and (max-width: 420px) {  #concept { padding: 3.0em 0; }  #concept h3 { font-size: 2.4rem; }#concept .cause dl:first-child dd figure::before {  padding-top: 75%;  width: 100%;}}/* --------------------------------------------------- *//* Sick *//* --------------------------------------------------- */#sick {  position: relative;  padding: 64px 0 96px;}#sick::before {  content: '';  position: absolute;  top: 0;  bottom: 0;  left: 0;  right: 0;  display: block;  background-color: #f1eaea;   clip-path: polygon(  0 64px, 100% 64px, 100% calc(100% - 96px), 50%  100%, 0  calc(100% - 96px));}#sick::after {  content: '';  position: absolute;  top: 34px;  left: 0;  right: 0;  display: block;  width: 100%;  height: 32px;  background-image: url('../image/masterpiece/wave.png');  background-repeat: repeat-x;  background-position: 50% 100%;}#sick .inblock {  position: relative;  padding-top: 2.0em;  padding-bottom: 2.0em;  max-width: 1080px;  z-index: 2;}#sick h2 { color: #6f2d29; }#sick h2 + p {  display: block;  margin-top: 2.0em;  margin-left: auto;  margin-right: auto;  width: 100%;  max-width: 720px;  font-size: 1.6rem;}#sick .pics {  display: flex;  margin: 2.0em auto 3.0em;}#sick .pics figure { width: 50%; }#sick .pics figure img { width: 100%; height: auto; }#sick .tabbox dt { background-color: #6f2d29; color: #fff; }#sick .tabbox dd { background-color: #fff; }#sick .tabbox em { color: #6f2d29; }@media screen and (max-width: 767px) {  #sick {    padding: 64px 0 48px;  }  #sick::before {    clip-path: polygon(  0 64px, 100% 64px, 100% calc(100% - 48px), 50%  100%, 0  calc(100% - 48px));  }}@media screen and (max-width: 560px) {  #sick .pics {    flex-direction: column;    margin: 1.5em auto 2.5em;    max-width: 360px;  }  #sick .pics figure { width: 100%; }}@media screen and (max-width: 420px) {}/* --------------------------------------------------- *//* Points *//* --------------------------------------------------- */#points { padding: 80px 0; }#points .inblock { max-width: 1080px; }#points h2 { color: #3e6ab6; }#points figure {  margin: 2.0em auto 0;  width: 80%;  max-width: 412px;}#points figure .cls-2 { fill: #3e6ab6; }#points .merit {  display: flex;  flex-wrap: wrap;  justify-content: center;  gap: 3.0em 3.5%;  margin-top: 4.0em;}#points .merit dl {  position: relative;  box-sizing: border-box;  padding: 5.0em 1.5em 1.5em;  width: 31%;  border-radius: 12px;  background-color: #ebf0f8;}#points .merit dl dt {  position: absolute;  top: -1.5em;  left: 50%;  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  width: 80px;  height: 80px;  background-color: #3e6ab6;  border-radius: 50%;  transform: translateX(-50%);}#points .merit h3 {  color: #fff000;  font-size: 3.6rem;  font-weight: 600;  line-height: 1.0;  text-align: center;}#points .merit h3::before {  content: '特長';  display: block;  color: #fff;  font-size: 40%;}#points .merit p {  color: #3e6ab6;  font-size: 2.1rem;  font-weight: 600;  line-height: 1.6;  text-align: center;}#points .merit p span { display: block; }@media screen and (max-width: 840px) {  #points .merit {    gap: 2.5em 4.0%;    margin-top: 4.0em;  }  #points .merit dl {    padding: 4.0em 1.5em 1.5em;    width: 48%;  }}@media screen and (max-width: 767px) {  #points { padding: 64px 0; }  #points .merit dl dt {    width: 72px;    height: 72px;  }  #points .merit h3 { font-size: 3.2rem; }  #points .merit p { font-size: 1.8rem; }}@media screen and (max-width: 420px) {  #points { padding: 48px 0; }  #points .merit {    flex-direction: column;    align-items: flex-end;    gap: 1.0em 4.0%;    margin-top: 2.0em;  }  #points .merit dl {    padding: 1.5em 1.5em 1.5em 4.5em;    width: 92%;  }  #points .merit dl dt {    left: 0;    top: 50%;    transform: translateX(-40%) translateY(-50%);  }#points .merit p {  font-size: 1.8rem;  text-align: left;}}/* --------------------------------------------------- *//* comparison / aftercare *//* --------------------------------------------------- */#comparison,#aftercare { padding: 0 0 80px; }#comparison .inblock,#aftercare .inblock { max-width: 1080px; }#comparison h2,#aftercare h2 { color: #3e6ab6; }#comparison .inblock { position: relative; }.scrtbl {  position: relative;  display: block;  margin-top: 3.0em;}.scrmark {  content: '';  position: absolute;  top: 60%;  left: 50%;  visibility: hidden;  opacity: 0.0;  background-color: rgba(0, 0, 0, 0.5);  border-radius: 12px;  width: 160px;  transform: translate(-50%, -50%);  transition: all .3s;}.scrmark img { width: 100%; height: auto; }.scrtbl table {  width: 100%;  border-top: 1px solid #999;}.scrtbl table th,.scrtbl table td {    border-right: 1px solid #999;  border-bottom: 1px solid #999;  text-align: center;  vertical-align: middle;}.scrtbl table th { padding: 1.0em 0.5em; background-color: #ddd; }.scrtbl table td { padding: 1.5em 0.5em; }.scrtbl table td:nth-child(2) { text-align: left; }.scrtbl table th:last-child,.scrtbl table td:last-child { border-right: 0; }.scrtbl table td:nth-child(2) p {  padding-left: 1.0em;  text-indent: -1.0em;}.scrtbl table td p.note { font-size: 1.2rem; }.scrtbl table .selected th,.scrtbl table .selected td {  background-color: #ebf0f8;  color: #3e6ab6;}.scrtbl table .selected p { font-weight: 600; }.scrtbl table thead th:first-child { width: 14%; }.scrtbl table thead th:nth-child(2) { width: 21%; }.scrtbl table thead th:nth-child(3) { width: 22%; }.scrtbl table thead th:nth-child(4),.scrtbl table thead th:nth-child(5),.scrtbl table thead th:last-child { width: 11%; }#aftercare .tabbox { margin-top: 3.0em; }#aftercare .tabbox dt { background-color: #3e6ab6; color: #fff; }#aftercare .tabbox dd { background-color: #e2e9f4; }#aftercare .tabbox em { color: #3e6ab6; }@media screen and (max-width: 920px) {  .scrtbl { overflow-x: scroll; }  .scrtbl table { width: 1080px; }  .scrolling + .scrmark  {    visibility: visible;    opacity: 1.0;    display: block;  }}@media screen and (max-width: 767px) {  #comparison,  #aftercare { padding: 0 0 64px; }}@media screen and (max-width: 420px) {  #comparison,  #aftercare { padding: 0 0 48px; }  .scrtbl table th { padding: 0.5em; }  .scrtbl table td { padding: 0.75em 0.5em; }  .scrmark { width: 128px; }}/* --------------------------------------------------- *//* usage *//* --------------------------------------------------- */#exam {  padding: 80px 0;  background-color: #e2e9f4;}#exam .inblock { max-width: 1080px; }#exam h2 { color: #3e6ab6; }#exam .notebox {  margin-top: 3.0em;  padding: 3.0em;  background-color: #fff;  border-radius: 12px;}#exam h3 {  font-size: 2.4rem;  font-weight: 600;  text-align: center;}#exam h3 + div {  display: flex;  margin-top: 2.0em;}#exam .data {  display: flex;  flex-direction: column;  gap: 1.5em 0;}#exam .single { justify-content: center; }#exam .twin { justify-content: space-between; }#exam .single .data {  width: 100%;  max-width: 640px;}#exam .twin .data {  width: 48%;}#exam .data figure { margin: 0 auto; width: 100%; }#exam .data figure img { width: 100%; height: auto; }#exam .single figure { max-width: 540px; }#exam .data .detail {  flex: 1 1;  padding: 1.5em;  background-color: #e2e9f4;}#exam h4 {  font-size: 1.6rem;  font-weight: 600;}#exam .detail ul {  display: flex;  flex-wrap: wrap;  margin-top: 0.5em;  gap: 0.15em 0;  font-size: 1.6rem;}#exam .detail ul li {  position: relative;  box-sizing: border-box;  padding-left: 4.0em;  width: 100%;}#exam .detail ul li::before {  content: attr(data-label)'';  position: absolute;  left: 0;  top: 0.3em;  display: block;  width: 4.0em;  background-color: #fff;  border-radius: 4px;  color: #3e6ab6;  font-size: 1.3rem;  font-weight: 500;  text-align: center;}@media screen and (min-width: 768px) {  #exam .single .detail ul li:nth-child(2n+1) { width: calc(100% - 224px); }  #exam .single .detail ul li:nth-child(2n+2) { width: 224px; }}@media screen and (max-width: 767px) {  #exam { padding: 64px 0; }  #exam h3 { font-size: 2.1rem; }  #exam .twin { flex-direction: column; gap: 3.0em 0; }  #exam .twin .data { width: 100%; }  #exam .twin figure { max-width: 480px; }}@media screen and (max-width: 640px) {  #exam .notebox {    margin-top: 2.5em;    padding: 2.5em 5%;  }  #exam .data .detail { padding: 1.25em; }}@media screen and (max-width: 420px) {  #exam { padding: 48px 0; }  #exam h3 { font-size: 1.8rem; }  #exam .notebox {    margin-top: 2.0em;    padding: 2.0em 5%;  }  #exam .data .detail { padding: 1.25em 1.0em; }}/* --------------------------------------------------- *//* product *//* --------------------------------------------------- */#gallery { padding: 0 0 80px; background-color: #e2e9f4; }#gallery .inblock { max-width: 1080px; }#gallery h2 {  margin-bottom: 2.0em;  font-size: 2.4rem;  font-weight: 600;  text-align: center;}#gallery .album {  display: flex;  flex-wrap: wrap;  gap: 1.5em 3.5%;}#gallery .album + .album {  margin-top: 1.5em; }#gallery .album .snap {  width: 31%;  text-align: center;}#gallery .album .snap figure {  position: relative;  width: 100%;}#gallery .album .snap figure img { width: 100%; height: auto; }#gallery .album .snap figcaption { margin-top: 0.5em; line-height: 1.5;}#gallery .album .snap figcaption span { padding: 0 0.5em; font-size: 1.6rem; }#gallery .album .snap.selected figure::before {  content: '';  position: absolute;  top: 0;  bottom: 0;  left: 0;  right: 0;  box-sizing: border-box;  display: block;  width: 100%;  height: 100%;  border: 3px solid #3e6ab6;}#gallery .album .snap.selected figcaption {  color: #3e6ab6;  font-weight: 600;}@media screen and (max-width: 767px) {  #gallery { padding: 0 0 64px; }  #gallery h2 {    margin-bottom: 1.5em;    font-size: 2.1rem;  }  #gallery .album { gap: 1.5em 4%; }  #gallery .album .snap { width: 48%; }}@media screen and (max-width: 420px) {  #gallery { padding: 0 0 48px; }  #gallery h2 { margin-bottom: 1.0em; }  #gallery .album .snap { width: 48%; }  #gallery .album:nth-child(2){    justify-content: center;    gap: 1.5em 4%;  }  #gallery .album:nth-child(2) .snap:first-child{ width: 100%; }  #gallery .album:last-child { gap: 1.5em 0; }  #gallery .album:last-child .snap { width: 100%; }}/* --------------------------------------------------- *//* シリーズ *//* --------------------------------------------------- */#series {  margin-top: ;  padding: 48px 0 24px;  background-color: #eaeaea;}#series .inblock {  margin: 0 auto;  padding-top: 0;  padding-bottom: 0;  max-width: 800px;}#series .trademark {  display: block;  margin: 1.0em auto 0;  width: 92%;  max-width: 1200px;  font-size: 1.2rem;  text-align: right;  box-sizing: border-box;}#series h3 { font-size: 2.1rem;  font-weight: 700;  line-height: 1.3;  text-align: center;}#series .btns {  display: flex;  align-items: center;  justify-content: center;  margin-top: 2.0em;}#series .btns a {  position: relative;  display: block;  padding: 0.70em 12% 1.0em 1.0em;  width: 100%;  max-width: 360px;  background-color: #3e6ab6;  border-radius: 8px;  box-sizing: border-box;  line-height: 1.0;}#series .btns a::before {  content: '';  position: absolute;  top: 50%;  right: 18px;  display: block;  width: 11px;  height: 11px;  border-top: 1px solid #fff;  border-right: 1px solid #fff;  transform:  translateY(-50%) rotate(45deg);}#series .btns a img { width: 100%; height: auto; }@media screen and (max-width: 767px) {  #series h3 { font-size: 1.8rem; }}@media screen and (max-width: 420px) {  #series { padding: 36px 0; }  #series h3 { font-size: 1.6rem; }}