@charset "utf-8";/* --------------------------------------------------- *//* レオゼータ *//* --------------------------------------------------- */#leozeta { font-size: 1.6rem; }#leozeta img { width: 100%; height: auto; }#leozeta .inblock {  margin-left: auto;  margin-right: auto;  padding-top: 80px;  padding-bottom: 80px;  width: 90%;  box-sizing: border-box;}#leozeta .note { font-size: 1.2rem; }#leozeta h2 {  color: #1838a0;  font-size: 3.2rem;  font-weight: 700;  line-height: 42px;  text-align:center;}#leozeta h2::after {  content:'';  display: block;  margin: 0.75em auto 0;  width: 72px;  height: 4px;  background-color: #ffe020;}#leozeta .int {  padding-left: 1.0em;  text-indent: -1.0em;}@media screen and (max-width: 767px) {  #leozeta .inblock {    padding-top: 64px;    padding-bottom: 64px;  }}@media screen and (max-width: 420px) {  #leozeta .inblock {    padding-top: 48px;    padding-bottom: 48px;  }}/* --------------------------------------------------- *//* Title *//* --------------------------------------------------- */#lptitle {  width: 100%;  height: auto;  background-image: url('../image/leozeta/title_bg.png');  background-repeat: no-repeat;  background-size: 100% auto;  background-position: 50% 100%;}#lptitle .inblock {  position: relative;  margin: 0 auto;  padding: 80px 0 80px;  width: 80%;  max-width: 592px;  box-sizing: border-box;}#lptitle h1 {  display: block;  width: 100%;}#lptitle h3 {  display: block;  margin: 1.0em auto 0 80%;  width: 5%;}#lptitle figure {  position: absolute;  right: 30%;  top: 30%;  width: 90%;}@media screen and (max-width: 767px) {  #lptitle .inblock {    padding: 48px 0 48px;    width: 84%;  }  #lptitle h3 {    display: block;    margin: 1.0em auto 0 85%;    width: 6%;  }  #lptitle figure {    position: absolute;    right: 20%;    top: 27%;    width: 100%;    max-width: 540px;  }}@media screen and (max-width: 420px) {  #lptitle .inblock {    padding: 32px 0 32px;    width: 90%;  }  #lptitle h3 {    display: block;    margin: 0.75em auto 0 88%;    width: 8%;  }  #lptitle figure {    position: absolute;    right: 10%;    top: 25%;    width: 115%;  }}/* --------------------------------------------------- *//* feature *//* --------------------------------------------------- */#feature {  margin-top: -2px;  background-color: #1838a0;}#feature h2 { color: #fff; }#feature .inblock { max-width: 800px; }#feature .note { color: #fff; }#feature .points {  display: flex;  justify-content: space-between;  margin: 3.0em 0 0;  font-size: 1.6rem;}#feature .points div[data-num] {  padding: 1.5em 1.0em;  width: 31.0%;  background-color: #fff9d2;  border-radius: 8px;  box-sizing: border-box;}#feature .points div[data-num]::before {  content: attr(data-num)'';  display: block;  width: 100%;  background-color: #1838a0;  border-radius: 320px;  color: #ffe020;  font-size: 1.8rem;  font-weight: 600;  line-height: 2.0;  text-align: center;}#feature .points h3 {  margin: 1.0em 0;  color: #1838a0;  font-size: 2.1rem;  font-weight: 600;  line-height: 1.5;  text-align: center;}#feature .points p { font-weight: 500; }#feature sup {  font-size: 66.66%;  vertical-align: top;}#feature ul.purpose {  display: flex;  justify-content: space-between;  margin: 1.25em 0 0.75em;  color: #1838a0;  font-size: 2.1rem;  line-height: 1.5;}#feature ul.purpose li {  padding: 0.75em 0.5em;  width: 23.5%;  background-color: #fff;  border-radius: 8px;  text-align: center;  box-sizing: border-box;}#feature ul.purpose li p { font-weight: 600; }@media screen and (max-width: 880px) {  #feature .points div[data-num] { width: 31.75%; }  #feature .points h3 { font-size: 1.8rem; }  #feature ul.purpose { font-size: 1.8rem; }}@media screen and (max-width: 700px) {  #feature .inblock { padding-bottom: 64px; }  #feature .points {    flex-direction: column;    margin: 3.0em 0 0;    gap: 1.0em 0;  }  #feature .points div[data-num] { width: 100%; }  #feature .points h3 { font-size: 2.1rem; }  #feature ul.purpose {    flex-wrap: wrap;    margin: 1.25em 0 0.75em;    gap: 1.0em 0;  }  #feature ul.purpose li {    padding: 0.75em 0.5em;    width: 48.5%;  }}@media screen and (max-width: 420px) {  #feature .inblock { padding-bottom: 42px; }  #feature ul.purpose {    flex-wrap: wrap;    margin: 1.0em 0 0.75em;    gap: 0.5em 0;  }}/* --------------------------------------------------- *//* verification *//* --------------------------------------------------- */#verification { padding-bottom: 80px; background-color: #e7ebf5; }#verification .inblock { max-width: 800px; }#verification .weed {  display: flex;  justify-content: space-between;  margin-top: 5.0em;}#verification .weed h3 {  width: 42px;  writing-mode: vertical-rl;  color: #1838a0;  font-size: 2.4rem;  font-weight: 600;  border-right: 2px solid #1838a0;}#verification .weed h3 + div {  width: calc(96% - 42px);}#verification .weed p { font-weight: 500; }#verification .consideration {  position: relative;  margin: 2.0em 0 1.0em;  padding: 1.25em 1.0em 1.25em 6.0em;  background-color: #fff9d2;  border-radius: 8px;}#verification .consideration::before {  content: '考察';  position: absolute;  top: 0;  left: 0;  display: flex;  flex-direction: column;  justify-content: center;  align-items: center;  width: 5.0em;  height: 100%;  background-color: #1838a0;  border-radius: 8px 0 0 8px;  color: #ffe020;  font-weight: 600;  text-align: center;  vertical-align: middle;}#verification .conditions { font-size: 1.4rem; }#verification .comparison {  display: flex;  flex-wrap: wrap;  gap: 2.0em 4%;}#verification .comparison > div {  display: flex;  flex-direction: column;  width: 48%;}#verification h4 {  position: relative;  width: 256px;  height: 48px;  font-size: 2.1rem;  font-weight: 600;  line-height: 1.6;  vertical-align: top;}#verification h4 .flb-2,#verification h4 .kg1-2 { fill: #000; }#verification .down { position: relative; margin-bottom: 3.33%; }#verification .down::after {  content: '';  position: absolute;  top: 100%;  left: 0;  right: 0;  display: block;  width: 100%;  height: 14%;  background-image: url('../image/leozeta/down.png');  background-repeat: no-repeat;  background-position: 50% 0;  background-size: contain;  z-index:2;}#verification .comparison > div figure[data-date] {  position: relative;}#verification .comparison > div figure[data-date]::before {  content: attr(data-date)'';  position: absolute;  top: 0;  left: 0;  display: block;  width: 72px;  background-color: #000;  color: #fff;  font-weight: 500;  text-align: center;}#verification .comparison > div:nth-child(odd) figure[data-date]::before { background-color: #1838a0; }@media screen and (max-width: 767px) {  #verification { padding-bottom: 64px;  }  #verification .weed {    flex-direction: column;    gap: 2.0em 0;    margin-top: 4.0em;  }  #verification .weed h3 {    width: 100%;    writing-mode: horizontal-tb;    border-right: 0;    border-bottom: 2px solid #1838a0;    text-align: center;  }  #verification .weed h3 + div { width: 100%; }  #verification h4 {    width: 240px;    height: 36px;  }}@media screen and (max-width: 560px) {  #verification .comparison {    flex-direction: column;    gap: 1.5em 0;  }  #verification .comparison > div { width: 100%; }}@media screen and (max-width: 420px) {  #verification { padding-bottom: 48px;  }  #verification .weed {    flex-direction: column;    gap: 1.5em 0;    margin-top: 3.0em;  }  #verification .consideration {    position: relative;    margin: 2.0em 0 1.0em;    padding: 3.0em 1.25em 1.0em;    background-color: #fff9d2;    border-radius: 8px;  }  #verification .consideration::before {    content: '考察';    position: absolute;    top: 0;    left: 0;    right: 0;    display: block;    padding: 0.25em 0;    width: 100%;    height: initial;    border-radius: 8px 8px 0 0;    vertical-align: middle;  }}#verification .advance {  margin: 0 auto;  padding: 3.0em;  width: 90%;  max-width: 800px;  box-sizing: border-box;  background-color: #fff;}#verification .advance h3 {  margin-bottom: 1.5em;  color: #1838a0;  font-size: 2.1rem;  font-weight: 600;  text-align: center;}@media screen and (max-width: 767px) {  #verification .advance {    padding: 2.5em 5%;    width: 100%;  }}@media screen and (max-width: 640px) {  #verification .advance .scr-horizontal {    width: 100%;    overflow-x: auto;  }  #verification .advance .scr-horizontal figure { width: 720px; }}@media screen and (max-width: 420px) {}/* --------------------------------------------------- *//* uservoice*//* --------------------------------------------------- */#uservoice .inblock { max-width: 800px; }#uservoice .data {  display: flex;  flex-wrap: wrap;  justify-content: space-between;  gap: 4.0em 0;  margin-top: 5.0em;}#uservoice .data > div {  position: relative;  padding-top: 1.25em;  width: 100%;  border-top: 2px solid #1838a0;}#uservoice .data > div:nth-child(-n+2) { width: 46.5%; }#uservoice .data h4 {  margin-bottom: 1.0em;  font-size: 2.1rem;  font-weight: 600;}#uservoice .data .data-detail {  display: flex;  flex-direction: column;  justify-content: space-between;  gap: 1.5em 0;  height: 100%;}#uservoice .data .data-split {  display: flex;  justify-content: space-between;}#uservoice .data .data-split > div:first-child { width: 51.0%; }#uservoice .data .data-split > div:last-child { width: 43.57%; }#uservoice .data .down { position: relative; margin-bottom: 3.33%; }#uservoice .data .down::after {  content: '';  position: absolute;  top: 100%;  left: 0;  right: 0;  display: block;  width: 100%;  height: 14%;  background-image: url('../image/leozeta/down.png');  background-repeat: no-repeat;  background-position: 50% 0;  background-size: contain;  z-index:2;}#uservoice .data figure[data-date] {  position: relative;}#uservoice .data figure[data-date]::before {  content: attr(data-date)'';  position: absolute;  top: 0;  left: 0;  display: block;  width: 72px;  background-color: #1838a0;  color: #fff;  font-weight: 500;  text-align: center;}#uservoice .data h5 + p,#uservoice .data .int,#uservoice .data figcaption { font-size: 1.4rem; }#uservoice .data h5,#uservoice .data p { font-weight: 500; }#uservoice .data h5 { margin-bottom: 1.0em; }@media screen and (max-width: 767px) {  #uservoice .data {    gap: 3.0em 0;    margin-top: 4.0em;  }}@media screen and (max-width: 560px) {  #uservoice .data > div:nth-child(-n+2) { width: 100%; }  #uservoice .data .data-split {    flex-direction: column;    gap: 1.5em 0;  }  #uservoice .data .data-split > div:first-child,  #uservoice .data .data-split > div:last-child { width: 100%; }  #uservoice .data figure.cake {    margin: 0 auto;    width: 100%;    max-width: 320px;  }}@media screen and (max-width: 420px) {}/* --------------------------------------------------- *//* シリーズ *//* --------------------------------------------------- */#series {  padding: 64px 0 24px;  background-color: #eaeaea;}#series .trademark {  display: block;  margin: 1.0em auto 0;  width: 92%;  max-width: 1200px;  text-align: right;  box-sizing: border-box;}#series .inblock {  margin: 0 auto;  padding-top: 0;  padding-bottom: 0;  max-width: 800px;}#series h3 { font-size: 2.1rem;  font-weight: 700;  line-height: 1.3;  text-align: center;}#series .btns {  display: flex;  flex-wrap: wrap;  gap: 1.20em 3%;  margin-top: 3.0em;}#series .btns a {  position: relative;  display: block;  padding: 1.35em 10% 0.45em 1.25em;  width: 48.5%;  background-color: #1838a0;  border-radius: 8px;  box-sizing: border-box;}#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);}@media screen and (max-width: 767px) {  #series { padding: 48px 0 24px; }  #series h3 { font-size: 1.8rem; }  #series .btns {    gap: 1.00em 3%;    margin-top: 2.5em;  }}@media screen and (max-width: 560px) {  #series .btns {    flex-direction: column;    gap: 0.75em 0;  }  #series .btns a {    width: 100%;    padding: 1.35em 30% 0.45em 1.25em;  }}@media screen and (max-width: 420px) {  #series { padding: 36px 0 24px; }  #series h3 { font-size: 1.6rem; }  #series .btns { margin-top: 2.0em; }  #series .btns a { padding: 1.35em 25% 0.45em 1.25em; }}