@charset "utf-8";

/* ==================================================

  ベストバランスの特長CSS PC

================================================== */
@media screen and (min-width:768px) {

 /* --------------------------------------------------
  #vi
-------------------------------------------------- */
 #main #vi {
  text-align: center;
  height: 500px;
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/character//bak_vi.jpg) no-repeat top center;
  background-size: cover;
  position: relative;
 }

 #main #vi .vi-inner {
  width: 1200px;
  margin: 0 auto;
 }

 #main #vi .vi-inner>h1 {
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/common/tit_back_white.png) no-repeat center 70px;
  padding-bottom: 27px;
  font-size: 45px;
  letter-spacing: 4px;
  color: #ffffff;
  line-height: 1.4;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
 }

 #main #vi .vi-inner>h1.black {
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/common/tit_back_black_shadow.png) no-repeat center 70px;
  padding-bottom: 27px;
  color: #2b0000;
  font-size: 45px;
  line-height: 1.4;
  letter-spacing: 4px;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  -moz-text-shadow: 2px 2px 1px #ffffff;
  -webkit-text-shadow: 2px 2px 1px #ffffff;
  text-shadow: 2px 2px 1px #ffffff;
 }

 /* --------------------------------------------------
  section
-------------------------------------------------- */
 #main section {
  margin-top: 120px;
 }

 #main section>h2 {
  width: 1200px;
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/common/tit_back_black.png) no-repeat center 51px;
  color: #2b0000;
  text-align: center;
  font-size: 30px;
  margin: 0 auto;
  padding-bottom: 70px;
  letter-spacing: 4px;
  line-height: 1.4;
 }

 /* --------------------------------------------------
  .about
-------------------------------------------------- */
 #main .about {
  height: auto;
  padding: 0;
  display: block;
 }

 #main .about .about-inner {
  width: 800px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  justify-content: space-between;
 }

 #main .about .about-inner p:last-child {
  font-size: 18px;
  color: #2b0000;
  width: 530px;
  line-height: 1.8;
 }

 /* --------------------------------------------------
  .reason
-------------------------------------------------- */
 #main .reason {
  background: #f9f0e1;
  padding: 0 0 90px 0;
  text-align: center;
  margin-top: 0
 }

 #main .reason p {
  text-align: left
 }

 #main .reason .reason-inner {
  width: 960px;
  margin: 0 auto;
  padding-top: 50px
 }

 #main .reason section {
  margin-top: 40px;
  background: #ffffff;
  padding: 40px 60px 60px;
  border-radius: 5px;
  box-shadow: 0 0 10px #cccccc;
 }

 #main .reason section:first-child {
  margin-top: 0;
 }

 #main .reason section h3 {
  font-size: 24px;
  text-align: center;
  color: #c58552;
 }

 #main .reason section .section-inner {
  margin-top: 20px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
 }

 #main .reason section .section-inner > p:has(img) > img {
  width: 400px;
  height: 240px;
 }

 #main .reason section .section-inner.reason01 > p:has(img) > img {
  width: auto;
  height: auto;
 }

 #main .reason section:first-child .section-inner p:first-child {
  margin-left: 80px;
 }

 #main .reason section:first-child .section-inner p:last-child {
  font-size: 18px;
  color: #2b0000;
  width: 480px;
  line-height: 1.8;
 }

 #main .reason section:nth-child(2) .section-inner p:first-child {
  font-size: 18px;
  color: #2b0000;
  width: 400px;
  line-height: 1.8;
 }

 #main .reason section:last-child .section-inner p:last-child {
  font-size: 18px;
  color: #2b0000;
  width: 400px;
  line-height: 1.8;
 }

 /* --------------------------------------------------
  .banner
-------------------------------------------------- */
 #main .banner {
  text-align: center;
  margin: 100px 0;
 }

 #main .banner .btn>a {
  font-size: 20px;
  padding: 35px 212px;
 }

 /* --------------------------------------------------
  .support
-------------------------------------------------- */

 #main .support {
  margin: 120px auto 0;
  background: #f9f0e1;
  text-align: center;
  padding: 90px 0
 }

 #main section.support>h2 {
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/common/tit_back_black.png) no-repeat center 100px;
 }

 #main .support-inner-dog {
  width: 960px;
  margin: 0 auto
 }

 #main .support-inner-dog ul {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
 }

 #main .support-inner-dog ul li {
  width: 33%;
  margin-bottom: 70px
 }

 /*ラベル*/
 .reason label {
  display: inline-block;
  margin: 20px auto;
  padding: 35px;
  color: #fff;
  letter-spacing: 2px;
  border-radius: 4px;
  background: #c58752;
  cursor: pointer;
  transition: all 0.5s;
  font-size: 20px;
  box-shadow: 2px 2px 5px #bdbdbd;
  margin: 0 auto;
  text-align: center
 }

 /*アイコンを表示*/
 .reason label:before {
  content: '';
  display: inline-block;
  border-top: 4px solid #fff;
  border-left: 4px solid #fff;
  transform: rotate(135deg);
  width: 14px;
  height: 14px;
  margin-right: 15px;
 }

 /*アイコンを入れ替える*/
 .reason input:checked+label:before {
  -ms-transform: rotate(225deg) translateY(4px);
  -webkit-transform: rotate(225deg) translateY(4px);
  transform: rotate(225deg) translateY(4px);
 }

 /*ラベルホバー時*/
 .reason label:hover {
  transition: opacity 0.3s;
  opacity: 0.8;
 }

 /*チェックは隠す*/
 .reason input {
  display: none;
 }

 /*中身を非表示にしておく*/
 .reason .reason-inner {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
 }

 /*クリックで中身表示*/
 .reason input:checked+label+.reason-inner {
  height: auto;
  padding: 5px;
  opacity: 1;
 }

 /* --------------------------------------------------
  .feature
-------------------------------------------------- */

 #main .features {
  width: 960px;
  margin: 0 auto;
  color: #333;
  padding: 90px 0 0 0;
 }

 #main .features.features h2 {
  width: 100%;
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/common/tit_back_black.png) no-repeat center 71px;
  position: relative
 }

 #main .features.features h2:after {
  content: "※カリカリ仕立ての場合";
  font-size: 14px;
  position: absolute;
  vertical-align: middle;
  top: 50%;
  margin-top: -45px;
 }

 #main .features h3 {
  color: #6a3906;
  font-size: 32px;
  font-weight: 700;
  line-height: normal;
  position: relative;
  padding-left: 111px;
  margin-bottom: 30px;
  text-align: left;
 }

 #main .features h3:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0px;
  width: 101px;
  height: 57px;
  overflow: hidden;
  transform: translateY(-50%);
 }

 #main .features .point-01,
 #main .features .point-02,
 #main .features .point-03 {
  margin-bottom: 110px
 }

 #main .features .point-01 h3:before {
  background: url("/content/dam/sites/jp_unicharmpet_com/bestbalance/character/point-01.png") top left no-repeat;
 }

 #main .features .point-02 h3:before {
  background: url("/content/dam/sites/jp_unicharmpet_com/bestbalance/character/point-02.png") top left no-repeat;
 }

 #main .features .point-03 h3:before {
  background: url("/content/dam/sites/jp_unicharmpet_com/bestbalance/character/point-03.png") top left no-repeat;
 }

 #main .features .point-02 h3:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 26px;
  width: 170px;
  height: 181px;
  overflow: hidden;
  transform: translateY(-50%);
  margin-top: 30px;
  background: url("/content/dam/sites/jp_unicharmpet_com/bestbalance/character/point-02-food.png") top right no-repeat;
 }

 #main .features .point-03 h3:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 66px;
  width: 405px;
  height: 203px;
  overflow: hidden;
  transform: translateY(-50%);
  background: url("/content/dam/sites/jp_unicharmpet_com/bestbalance/character/point-03-food.png") top right no-repeat;
 }


 #main .features h4 {
  background-color: #6a3906;
  color: #fff;
  display: block;
  text-align: center;
  padding: 10px;
  font-size: 24px;
  border-radius: 50px;
  width: 50%;
  margin: 0 auto;
 }

 #main .features .point-01 div {
  padding-top: 30px
 }


 #main .features p.features-explanation {
  font-size: 24px;
  letter-spacing: 0.1rem;
  margin-bottom: 60px;
  line-height: normal
 }

 #main .features p.features-annotation {
  text-align: center;
  font-size: 13.5px;
  margin-bottom: 30px
 }

 #main .features .point-02 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
 }

 #main .features .point-02 ul li {
  width: 50%;
  display: flex;
  font-size: 24px;
  margin-bottom: 36px;
  line-height: normal;
 }

 #main .features .point-02 ul li div {
  margin-right: 15px
 }

 /* --------------------------------------------------
  .type
-------------------------------------------------- */
 #main .type {
  background: #faf0e1;
  padding: 90px 0;
  color: #444
 }

 #main .type p.features-annotation {
  font-size: 10px;
  line-height: normal;
  margin-top: 10px
 }

 #main .type .type-inner {
  width: 850px;
  margin: 0 auto;
 }

 #main .type .type-inner>.txt {
  font-size: 26px;
  color: #c58853;
  line-height: 1.6;
  letter-spacing: 4px;
  padding: 0 26px 0 43px;
 }

 #main .type .type-inner .type-box {
  margin-top: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
 }

 #main .type .type-inner .type-box .type-wrapper {
  width: 50%;
  margin-top: 55px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
 }#main .type .type-inner .type-box .type-wrapper>.img

 #main .type .type-inner .type-box .type-wrapper:nth-child(odd) {
  padding-right: 18px;
 }

 #main .type .type-inner .type-box .type-wrapper:nth-child(even) {
  padding-left: 18px;
 }

 #main .type .type-inner .type-box .type-wrapper>.img {
  padding-right: 28px;
  min-width: 174px;
 }

 #main .type .type-inner .type-box .type-wrapper .type-area>h4 {
  color: #444;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
  text-align: left;
 }

 #main .type .type-inner .type-box .type-wrapper .type-area>.txt {
  display: block;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.5;
  margin-top: 9px;
 }

 #main .type .type-inner .type-box .type-wrapper .type-area>.btn {
  margin-top: 25px;
 }

 #main .type .type-inner .type-box .type-wrapper .type-area>.btn>a {
  padding: 8px 23px;
  letter-spacing: 0;
  background: #eab07d;
 }

 .type p.Supplement {
  text-align: right;
 }

}

/* ==================================================

  ベストバランスの特長CSS SP

================================================== */
@media screen and (max-width:767px) {

 /* --------------------------------------------------
  #vi
-------------------------------------------------- */
 #main #vi {
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/character//bak_vi_sp.jpg) no-repeat top center;
  background-size: cover;
  height: 250px;
  text-align: center;
  position: relative;
 }

 #main #vi .vi-inner {
  padding: 0 20px;
 }

 #main #vi .vi-inner>h1 {
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/common/tit_back_white_shadow.png) no-repeat center 38px;
  padding-bottom: 19px;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.6;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  -moz-text-shadow: 2px 2px 1px #4a311c;
  -webkit-text-shadow: 2px 2px 1px #4a311c;
  text-shadow: 2px 2px 1px #4a311c;
  font-weight: 700
 }

 /* --------------------------------------------------
  section
-------------------------------------------------- */
 #main section>h2 {
  text-align: center;
  color: #2b0000;
  font-size: 19px;
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/common/tit_back_black.png) no-repeat center bottom;
  margin-bottom: 20px;
  padding: 0 20px 40px;
  letter-spacing: 3px;
  line-height: 1.5;
 }

 /* --------------------------------------------------
  .about
-------------------------------------------------- */
 #main .about {
  margin-top: 30px;
  padding: 0;
 }

 #main .about .about-inner p:first-child {
  width: 35%;
  margin: 0 auto;
 }

 #main .about .about-inner p:last-child {
  font-size: 14px;
  color: #2b0000;
  margin: 20px 20px 0;
 }

 /* --------------------------------------------------
  .support
-------------------------------------------------- */

 #main .support {
  margin: 30px auto 0;
  background: #f9f0e1;
  text-align: center;
  padding: 30px 0 0
 }

 #main section.support>h2 {
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/common/tit_back_black.png) no-repeat center 70px;
  letter-spacing: 1px;
  white-space: nowrap;
 }

 #main .support-inner-dog {
  width: 90%;
  margin: 0 auto
 }

 #main .support-inner-dog ul {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-between
 }

 #main .support-inner-dog ul li {
  width: 48%;
  margin-bottom: 30px
 }

 /*ラベル*/
 .reason label {
  display: inline-block;
  padding: 13px 15px;
  color: #fff;
  letter-spacing: 2px;
  border-radius: 4px;
  background: #c58752;
  cursor: pointer;
  transition: all 0.5s;
  font-size: 16px;
  box-shadow: 2px 2px 5px #bdbdbd;
  margin: 0 20px;
  text-align: center
 }

 /*アイコンを表示*/
 .reason label:before {
  content: '';
  display: inline-block;
  border-top: 3px solid #fff;
  border-left: 3px solid #fff;
  transform: rotate(135deg);
  width: 10px;
  height: 10px;
  margin-right: 15px;
 }

 /*アイコンを入れ替える*/
 .reason input:checked+label:before {
  -ms-transform: rotate(225deg) translateY(4px);
  -webkit-transform: rotate(225deg) translateY(4px);
  transform: rotate(225deg) translateY(4px);
 }

 /*ラベルホバー時*/
 .reason label:hover {
  transition: opacity 0.3s;
  opacity: 0.8;
 }

 /*チェックは隠す*/
 .reason input {
  display: none;
 }

 /*中身を非表示にしておく*/
 .reason .reason-inner {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
 }

 /*クリックで中身表示*/
 .reason input:checked+label+.reason-inner {
  height: auto;
  padding: 5px;
  opacity: 1;
  margin-top: 30px
 }

 /* --------------------------------------------------
  .reason
-------------------------------------------------- */
 #main .reason {
  background: #faf0e1;
  padding: 30px 0;
  text-align: center
 }

 #main .reason section {
  margin: 20px 20px 0;
  background: #ffffff;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px #cccccc;
 }

 #main .reason section:first-child {
  margin-top: 0;
 }

 #main .reason section h3 {
  text-align: center;
  font-size: 19px;
  color: #c58752;
  line-height: 1.4;
  letter-spacing: 3px;
 }

 #main .reason section .section-inner {
  margin-top: 10px;
 }

 #main .reason section:first-child .section-inner p:first-child {
  width: 35%;
  margin: 0 auto;
 }

 #main .reason section:first-child .section-inner p:last-child {
  font-size: 14px;
  color: #2b0000;
  margin-top: 10px;
  text-align: left
 }

 #main .reason section:nth-child(2) .section-inner p:first-child {
  font-size: 14px;
  color: #2b0000;
  text-align: left
 }

 #main .reason section:nth-child(2) .section-inner p:last-child {
  margin-top: 10px;
 }

 #main .reason section:last-child .section-inner p:last-child {
  font-size: 14px;
  color: #2b0000;
  margin-top: 10px;
  text-align: left
 }

 /* --------------------------------------------------
  .banner
-------------------------------------------------- */
 #main .banner {
  margin: 40px 20px;
 }

 /* --------------------------------------------------
  .feature
-------------------------------------------------- */

 #main .features {
  width: 90%;
  margin: 0 auto;
  color: #333;
  padding: 30px 0 0 0;
 }

 #main .features.features h2 {
  width: 100%;
  background: url(/content/dam/sites/jp_unicharmpet_com/bestbalance/common/tit_back_black.png) no-repeat center 61px;
  position: relative;
  padding: 0 20px 50px
 }

 #main .features.features h2:after {
  content: "※カリカリ仕立ての場合";
  font-size: 12px;
  position: absolute;
  top: 50%;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
 }

 #main .features h3 {
  color: #6a3906;
  font-size: 18px;
  font-weight: 700;
  line-height: normal;
  position: relative;
  text-align: center;
  padding-top: 50px;
  margin-bottom: 20px
 }

 #main .features h3:before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 40px;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  vertical-align: middle
 }

 #main .features .point-01,
 #main .features .point-02,
 #main .features .point-03 {
  margin-bottom: 50px
 }

 #main .features .point-01 h3:before {
  background: url("/content/dam/sites/jp_unicharmpet_com/bestbalance/character/point-01.png") top no-repeat;
  background-size: contain;
 }

 #main .features .point-02 h3:before {
  background: url("/content/dam/sites/jp_unicharmpet_com/bestbalance/character/point-02.png") top no-repeat;
  background-size: contain;
 }

 #main .features .point-03 h3:before {
  background: url("/content/dam/sites/jp_unicharmpet_com/bestbalance/character/point-03.png") top no-repeat;
  background-size: contain;
 }

 #main .features .point-02 h3:after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 100%;
  height: 160px;
  overflow: hidden;
  margin-top: 50px;
  right: 0;
  left: 0;
  background: url("/content/dam/sites/jp_unicharmpet_com/bestbalance/character/point-02-food.png") top no-repeat;
  background-size: contain;
 }

 #main .features .point-03 h3:after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 100%;
  height: 120px;
  overflow: hidden;
  margin-top: 50px;
  right: 0;
  left: 0;
  background: url("/content/dam/sites/jp_unicharmpet_com/bestbalance/character/point-03-food.png") top no-repeat;
  background-size: contain;
 }


 #main .features h4 {
  background-color: #6a3906;
  color: #fff;
  display: block;
  text-align: center;
  padding: 10px;
  font-size: 14px;
  border-radius: 50px;
  width: 80%;
  margin: 0 auto;
 }

 #main .features .point-01 div {
  padding-top: 30px;
 }

 #main .features p.features-explanation {
  font-size: 16px;
  letter-spacing: 0.1rem;
  margin-bottom: 30px;
  line-height: normal
 }

 #main .features p.features-annotation {
  text-align: center;
  font-size: 13.5px;
  margin-bottom: 30px
 }

 #main .features .point-02 p.features-explanation {
  margin-top: 200px
 }

 #main .features .point-02 ul {
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
 }

 #main .features .point-02 ul li {
  width: 48%;
  font-size: 14px;
  margin-bottom: 36px;
  line-height: normal;
 }

 #main .features .point-02 ul li img {
  width: 80px;
  margin: 0 auto
 }

 #main .features .point-02 ul li div {
  margin-bottom: 15px
 }

 /* --------------------------------------------------
  .type
-------------------------------------------------- */
 #main .type {
  background: #faf0e1;
  padding: 30px 0;
  margin-top: 160px
 }

 #main .type p.features-annotation {
  font-size: 10px;
  line-height: normal;
  text-align: left;
  margin-top: 10px
 }


 #main .type .type-inner {
  padding: 0 20px;
 }

 #main .type .type-inner>.txt {
  font-size: 19px;
  color: #c58853;
  line-height: 1.4;
  letter-spacing: 3px;
 }

 #main .type .type-inner .type-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
 }

 #main .type .type-inner .type-box .type-wrapper {
  width: 50%;
  margin-top: 30px;
  text-align: center;
 }

 #main .type .type-inner .type-box .type-wrapper:nth-child(odd) {
  padding-right: 15px;
 }

 #main .type .type-inner .type-box .type-wrapper:nth-child(even) {
  padding-left: 15px;
 }

 #main .type .type-inner .type-box .type-wrapper>.img {
  width: 85%;
  margin: 0 auto 12px;
 }

 #main .type .type-inner .type-box .type-wrapper .type-area>h4 {
  color: #707070;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.4;
 }

 #main .type .type-inner .type-box .type-wrapper .type-area>.txt {
  display: block;
  font-size: 11px;
  font-weight: normal;
  line-height: 1.5;
  margin-top: 21px;
  text-align: left;
 }

 #main .type .type-inner .type-box .type-wrapper .type-area>.btn {
  margin-top: 20px;
 }

 #main .type .type-inner .type-box .type-wrapper .type-area>.btn>a {
  font-size: 14px;
  padding: 11px 0;
  letter-spacing: 0;
  line-height: 1.3;
  background: #eab07d;
 }

 .pc {
  display: none !important
 }

 .type p.Supplement {
  font-size: 1.2rem;
  text-align: right;
  margin-top: 10px;
 }

}
