@charset "UTF-8";

/*reset.css inline*/
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box
}

:where([hidden]:not([hidden='until-found'])) {
  display: none !important
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light
}

@supports not (min-block-size:100dvb) {
  :where(html) {
    block-size: 100%
  }
}

@media (prefers-reduced-motion:no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth
  }
}

:where(body) {
  block-size: 100%;
  block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit
}

:where(textarea) {
  resize: vertical;
  resize: block
}

:where(button, label, select, summary, [role='button'], [role='option']) {
  cursor: pointer
}

:where(:disabled) {
  cursor: not-allowed
}

:where(label:has(>input:disabled), label:has(+input:disabled)) {
  cursor: not-allowed
}

:where(button) {
  border-style: solid
}

:where(a) {
  text-underline-offset: .2ex
}

:where(ul, ol) {
  list-style: none
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem)
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible
}

:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important
}

/*
 * init
 * -------------------------------------------------------------------
 */


@media screen and (min-width: 768px) {
  .SP {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .PC {
    display: none;
  }
}

:root {
  --main-black-color:#332727;
  --main-brown-color: #342626;
  --main-bg01-color: #F4EFE3;
  --main-red-color: #BA4141;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Roboto", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3",
    Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.7em;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--main-black-color);
  background: #F7F4ED;
}

a:hover {
  opacity: 0.8;
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
    line-height: 1.7;
  }

  a:hover {
    opacity: unset;
  }
}



/*
 * HTML
 * -------------------------------------------------------------------
 */


header {
  position: absolute;
  top: 0;
  width: 100%;
  min-width: 1000px;
  height: 68px;
  text-align: center;
  background-image: url(../img/header.png);
  background-repeat: repeat-x;
  z-index: 100;
}

.header_box {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}

.header_title {
  margin: 11px auto;
}

.header_btn {
  position: absolute;
  right: 10px;
  top: 0;
  width: 220px;
}

.section {
  text-align: center;
  position: relative;
  width: 1000px;
  margin: 0 auto;
  overflow-x: hidden;
}

.section_white {
  background: #fff;
}

.key {
  position: relative;
  z-index: -1;
  width: 1000px;
  height: 1343px;
  /*max-height: calc(100vh + 90px);*/
  margin: 0 auto;
  overflow-y: hidden;
}

.key_video {
  width: calc(100% + 1px);
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  background: #fff;
  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;

}

.key_title {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: 100px;
  z-index: 3;

}

.key_box {
  position: relative;
  height: 100vh;
  max-height: 1240px;
  min-height: 700px;
  width: 1000px;
  margin: 0 auto;

}

.key_sticker {
  position: absolute;
  right: 20px;
  top: 280px;
  z-index: 3;
}

.key_item {
  position: absolute;
  left: 30px;
  bottom: 20px;
  z-index: 3;
  width: 200px;
}

.key_txt {
  color: var(--main-brown-color);
  width: 380px;
  font-size: 17px;
  line-height: 1.8;
  position: absolute;
  right: 20px;
  bottom: 30px;
  z-index: 4;
}

.section01 {
  margin-top: -80px;
  z-index: 2;
}

.section02 {
  position: relative;
  margin-top: -80px;
  z-index: 20;
}

.section02_list {
  background: #F7F4ED;
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 10px 0 40px;
}

.divider {
  margin: 0 auto;
  height: 6px;
  min-width: 1000px;
}

.section05_01 {
  margin: 50px auto 0;
  transform: rotate(-3deg);
}

.section05_02 {
  margin-top: -152px;
  position: relative;

}

.video_dogs {
  margin-top: -145px;
  position: relative;
  z-index: -1;
}

video {
  width: 100%;
}

.section11_02 {
  margin: -300px auto 0;
  position: relative;
  z-index: 10;

}

.section11_box {
  background: #EAC9CF;
  text-align: center;
  padding: 200px 0 30px;
  margin-top: -160px;
  position: relative;
  z-index: -1;
}

.section11_03 {
  margin: 0 auto;
}

.section12 {
  position: relative;
  margin-top: -127px;
  z-index: -1;
}

.section13 {
  margin: 30px auto;
}

.section_cart {
  padding: 20px 50px 50px;
  margin: 0 auto 0;
  position: relative;
  background: #fff;
}

.section_cart01 {
  margin: 0 auto;
}

.form_kg {
  background: #fff;
  color: var(--main-brown-color);
  position: absolute;
  bottom: 106px;
  left: 230px;
  font-size: 34px;
  line-height: 1.4;
  border: solid 3px var(--main-brown-color);
  border-radius: 5px;
  width: 3em;
  text-align: center;
}

.form_age {
  background: #fff;
  color: var(--main-brown-color);
  position: absolute;
  bottom: 106px;
  left: 440px;
  font-size: 34px;
  line-height: 1.4;
  border: solid 3px var(--main-brown-color);
  border-radius: 5px;
  width: 3em;
  text-align: center;
}

.price_01,
.price_02,
.price_03 {
  border: none;
  background: none;
  position: absolute;
  bottom: 450px;
  left: 130px;
  font-size: 32px;
  line-height: 1.4;
  width: 8em;
  color: var(--main-red-color);
}

.price_01 span,
.price_02 span,
.price_03 span {
  font-size: 12px;
  margin-left: 0;
}

.price_02 {
  left: 390px;
}

.price_03 {
  left: 660px;
}

.form_calc {
  position: absolute;
  bottom: 160px;
  left: 280px;
}

.form_num {
  background: #fff;
  color: var(--main-brown-color);
  position: absolute;
  bottom: 234px;
  left: 210px;
  font-size: 42px;
  line-height: 1.4;
  border: solid 3px var(--main-brown-color);
  border-radius: 5px;
  width: 2.6em;
  height:1.3em;
  text-align: center;
}

.form_submit {
  position: absolute;
  bottom: 200px;
  right: 80px;
}

.section15_btn {
  display: block;
  position: absolute;
  bottom: 50px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.section15_01 {
  margin: 0 auto;
}

.btn_l {
  margin: 0 auto;
}

.section16 {
  background: #F4EFE3;
}

.section16_01 {
  margin: 40px auto 60px;
}

footer {
  width: 1000px;
  background: #ACA098;
  margin: 0 auto;
  padding: 120px 0;
  color: #fff;
  text-align: center;
}

.footer_logo {
  margin: 0 auto;
  width: 50%;
}

.footer_menu {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin: 50px auto;
  font-size: 14px;
}

.footer_menu a {
  color: #fff;
  text-decoration: none;
}

.footer_menu li {
  padding-left: 15px;
  line-height: 1;
}

.footer_menu li+li {
  border-left: 1px solid #fff;

}

.footer_menu li:first-child {
  padding-left: 0;
}

.footer_copy {
  font-size: 12px;
}

.insert_box {
  width: 1000px;
  margin: 0 auto;
  padding: 20px 0;
  background: var(--main-bg01-color);
}

.insert_box2 {
  background: #fff;
}

.insert_btn {
  display: block;
  margin: 0 auto;
  width: fit-content;
}

.floating_banner {
  width: 100%;
  height: 60px;
  position: fixed;
  bottom: -150px;
  z-index: 150;
  background: #BA4141;
}

.floating_banner img {
  margin: -29px auto 0;
}

.sns{
  margin-top:50px;
  display: flex;
  justify-content: center;
}

@media only screen
	and (min-device-width:768px) 
	and (max-device-width:1024px) 
	and (orientation:portrait){
    .form_num{
      text-align: left;
          font-size: 38px;
          width:2.8em;
    }
}
/*SP*/
@media screen and (max-width: 767px) {
  .header_box {
    width: 100%;
  }

  .section {
    width: 100%;

  }

  header {
    background-size: 18.1vw;
    height:18vw;
    min-width: unset;
  }

  .header_btn {
    max-width: 45%;
    right: 10px;
    top: -1px;
  }

  .header_title {
    margin: 14px auto;
    width: 80%;
  }

  .key {
    max-height: calc(100vh + 90px);
  }

  .key_title {
    width: 80%;
    top: 90px;
  }

  .key_item {
    left: 20px;
    bottom: 23px;
    width: 32%;
  }

  .key_box {
    max-height: unset;
    min-height: unset;
    width: 100%;
    height:90vh;
  }

  .key_video {
    top: 4vw;
    height: 100vh;
    width: auto;
  }

  .key_txt {
    font-size: 12px;
    left: 0;
    right: 0;
    bottom: 20px;
    margin: 0 auto;
  }
  .divider{
    min-width: unset;
  }

  /*
  .key_txt span {
    background: #fff;
    padding: 3px 1px;
  }
    */

    .section01{
      margin-top:-110px;
    }
  .section02_list a {
    width: calc(50% - 20px);
  }

  .section05_01 {
    margin-top: 30px;
  }

  .video_dogs {
    margin-top: -18vw;
  }

  .section05_02 {
    margin-top: -19vw;
  }

  .section11_box {
    margin-top: 0;
    padding: 30px 0 0;
  }

  .section11_02 {
    margin-top: 0;
  }

  .section12 {
    margin-top: -16vw;
  }

  .section13 {
    margin-top: 0;
  }

  .section_cart {
    padding: 0;
  }
  .form_kg {
    bottom: 9vw;
    left: 30vw;
    width: 2.3em;
    font-size:24px;
    border:solid 2px var(--main-brown-color);
  }
  .form_age {
    bottom: 9vw;
    left: 68vw;
    width: 2.3em;
    font-size:24px;
        border:solid 2px var(--main-brown-color);
  }
  .form_num {
    width: 3.0em;
    height:1.4em;
    bottom: 38vw;
    left: 8vw;
    font-size: 28px;
    line-height: 1;
    padding: 0;
    background: #fff;
    border:solid 2px var(--main-brown-color);
  }

  .form_submit.SP {
    width: 62%;
    left: unset;
    right: 1vw;
    bottom: 32vw;
  }

  .section15_btn {
    bottom: 10px;
    width: 90%;
  }

  .section16_01 {
    margin-top: 0;
  }

  footer {
    width: 100%;
    padding: 80px 0 80px;

  }

  .footer_copy {
    font-size: 8px;
  }

  .footer_menu li {
    font-size: 11px;
  }

  .footer_logo {
    width: 60%;
  }

  .insert_box {
    width: 100%;
    padding: 20px 0;
  }

  .floating_banner img {
    margin-top: -7vw;
  }

  .price_01,
  .price_02,
  .price_03 {
    left: 2vw;
    bottom: 95vw;
    font-size: 18px;
  }

  .price_02 {
    left: 34vw;
  }

  .price_03 {
    left: 65vw;
  }
    .price_01 span,
  .price_02 span,
  .price_03 span{
    font-size:9px;
  }
}




/*特商法*/
.legal_pagetitle {
  margin: 100px auto 50px;
  text-align: center;
  color: var(--main-brown-color);
  font-size: 24px;
}

.legal_table {
  border-top: 1px solid #d3d3d3;
  border-right: 1px solid #d3d3d3;
  background: #fff;
  margin: 0 auto 20px;
  border-collapse: collapse;
  max-width:calc(100% - 10vw);
}

.va-m {
  vertical-align: middle;
}

.legal_table tr {
  border: none;
  padding: 0;
}

.legal_table td {
  color:var(--main-black-color);
  text-align: left;
  margin: 0;
  padding: 8px 12px;
  font-size: 1.3rem;
  border: none;
  border-bottom: 1px solid #d3d3d3;
  border-left: 1px solid #d3d3d3;
  background: #f0f0f0;

}

.legal_table td+td {
  background: #fff;
}