/* style_oboe_resp_online.css 追加CSS（PPCレター用） */
html {
  scroll-snap-type: y proximity;
	scroll-padding-top: 18vw;
}
main {
  padding-top: 18vw;
}
/* -------------------------------------- ヘッダー header  */
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 18vw;
  padding: .2em .5em;
  background-color: #fff;
  border-bottom: 3px solid #ccc;
  position: fixed;
  top: 0;
  z-index: 10;
}
header h1 {
  width: 40vw;
  height: 0;
  overflow: hidden;
}
header .logo p {
  margin-bottom: 0;
}
.subp header .wrapper.flexbox p:first-of-type {
  text-align: right;
}
header .logo img, 
.subp header .wrapper.flexbox p:first-of-type img {
  width: 60vw;
  height: auto;
}
/* ------------------------------------- スライドメニュー #slide_menu */
.fix_btn {
  width: 100px;
  position: fixed;
  right: 0;
  bottom: 5vw;
  z-index: 20;
}
.fix_btn p {
  margin: 0
}
.tel img {
  width: 180px
}
.bg {
  background-color: #888;
  color: #fff;
  font-size: .7em;
  padding: .1em;
  text-align: center;
  margin-bottom: .2em
}
#ord_open {
  position: fixed;
  top: 10px;
  left: 10px;
  display: flex;
  width: 23vw;
  height: 13vw;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: 1px solid #888;
  border-radius: 3px
}
#ord_open::before {
  content: "メニュー";
  display: block;
  width: 75px;
  color: #888;
  position: absolute;
  font-size: 3vw;
  bottom: 3px
}
.sen, .sen::before, .sen::after {
  content: "";
  display: block;
  width: 55px;
  height: 3px;
  border-radius: 3px;
  background-color: #888;
  position: absolute
}
.sen {
  top: 14px
}
.sen::before {
  top: 9px
}
.sen::after {
  bottom: 9px
}
.nav-tel {
  margin: 1em auto
}
.nav-bnr {
  margin-bottom: 4em
}
.pc_menu {
  display: none
}
#slide_menu a {
  display: block;
  height: 100%;
  padding: 2vh 0;
  color: #2e1800;
  text-decoration: none;
  white-space: nowrap
}
#slide_menu a:hover, #slide_menu a:active, #slide_menu a:focus {
  background-color: #fff
}
#slide_menu button, #slide_menu button:focus {
  width: 100%;
  padding: 2vh 0;
  color: #2e1800;
  font-weight: normal;
  border: none;
  background-color: transparent;
  outline: none
}
#slide_menu button:hover, #slide_menu button:active {
  opacity: .8;
  background-color: #ffecc0
}
#slide_menu nav {
  width: 100%;
  height: 0;
  background-color: #fff;
  text-align: center;
  overflow-x: hidden;
  overflow-y: scroll;
  position: fixed;
  top: 18vw;
  left: 0;
  transition: .5s;
  z-index: 999
}
#slide_menu nav li {
  border-bottom: 2px dotted #ffecc0
}
#slide_menu nav .nav-tel img {
  max-width: 90vw
}
#slide_menu nav .nav-tel {
  margin-bottom: 1em
}
#slide_menu nav.open-menu {
  height: calc(20vh + 13.2em);/* li上下余白4vh * li*6 + li*7em*1.6 + 追加2em */
}
#fadeLayer {
  position: fixed;
  top: 18vw;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .75);
  visibility: hidden;
  z-index: 10
}
#fadeLayer p {
  width: 100%;
  position: fixed;
  top: calc(20vh + 13.2em + 80px);
  color: #fff;
  text-shadow: none;
  text-align: center
}
/* ------------------------------------- 導入 .ppc-about */
.ppc-about {
  padding: 1em 0
}
.about_inner_block img {
  display: block;
  padding-bottom: 1em
}
.about_re img {
  padding: 0 4em 1em 3em
}
.ppc-about h2 {
  margin-bottom: 0;
  color: #9c0003;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  text-align: left
}
.ppc-about h3, .ppc-about .h3 {
  position: relative;
  display: inline-block;
  margin: 2em 0 2em 15px;
  padding: 4.5vw 17vw 4.5vw 10px;
  min-width: 93%;
  max-width: 93%;
  height: auto;
  font-size: 4.5vw;
  background-repeat: no-repeat;
  background-position: right bottom, left top;
  background-size: 17vw;
  overflow: visible;
  background-color: #fff;
  border: solid 3px #9a0000;
  box-sizing: border-box
}
.ppc-about h3::before, .ppc-about .h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #fff;
  z-index: 2
}
.ppc-about h3::after, .ppc-about .h3::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 14px solid #9a0000;
  z-index: 1
}
.ppc-about .notice_box {
  padding: .5em 0
}
.about_under .notice_box {
  padding: .5em 0
}
.ppc-about .about_img {
  margin: 0 auto 1em;
  padding: 0 2vw;
  width: 96vw;
  border: 2px solid #460000;
  border-rad1us: 1em
}
.ppc-about .about_img h4 {
  margin: .5em auto;
  width: 80%;
  line-height: 2em;
  color: #eede9d;
  text-align: center;
  background-color: #460000;
  border-rad1us: 1em
}
.ppc-about .about_img .flexbox {
  display: flex;
  justify-content: space-around
}
.ppc-about .gakufu_ttl {
  height: 0;
  margin: 0;
  padding-top: 31.2vw;
  background-image: url("../img/smp/oboe_smp_about-q_03_1.jpg");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  overflow: hidden
}
.about_re dt {
  margin-bottom: .5em;
  font-size: 5.5vw;
  background-size: 12vw 12vw;
  background-repeat: no-repeat;
  background-position: left top;
  padding-left: 15vw;
  color: #800e3f
}
.t1 {
  background-image: url("../ppc-img/oboe_about_no1.jpg");
  line-height: 1.2
}
.t2 {
  background-image: url("../ppc-img/oboe_about_no2.jpg");
  min-height: 12vw;
  line-height: 2
}
.t3 {
  background-image: url("../ppc-img/oboe_about_no3.jpg");
  min-height: 12vw;
  line-height: 2
}
.maru {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column wrap;
  vertical-dalign: top
}
.size_normal {
  width: 7em;
  height: 7em
}
.letter3 {
  font-weight: bold;
  font-size: 1em;
  line-height: 1.2em;
  text-align: center
}
.letter3s {
  font-weight: bold;
  font-size: .9em;
  line-height: 1.2em;
  text-align: center
}
.gray3 {
  color: #222;
  border: 2px solid #222
}
.fire3 {
  color: #b22222;
  border: 2px solid #b22222
}
.step_square {
  background: #c00;
  border-radius: .2em;
  padding: .2em .5em;
  color: #fff;
  vertical-align: middle
}
.step_title {
  color: #c00;
  font-size: 1.6em;
  padding-left: .5em;
  vertical-align: middle;
  font-weight: bold
}
.step_text {
  color: #222;
  vertical-align: middle;
  padding-left: 0;
  font-size: 1.2em;
  font-weight: bold
}
.step_arrow img {
  width: 20vw;
  margin: auto;
  padding-bottom: 0 !important
}
.arrow3::before {
  content: "";
  position: absolute;
  width: 207px;
  height: 207px;
  background: linear-gradient(135deg, #fff, #fff, #ffc61a);
  top: -50px;
  left: 20%;
  transform: scaleY(.5) rotate(45deg)
}
.arrow3_box {
  position: relative;
  padding: 0;
  height: 8em
}
.arrow3_box h2 {
  position: absolute
}
.nayami_box {
  position: relative;
  margin-top: 1em;
  padding: 1em 2em 0;
  border: 1px solid #000
}
.nayami_box {
  border-radius: 1em;
  border: 1px solid #969696;
  margin: 1em 0;
  text-align: center
}
.nayami_box .caption {
  position: absolute;
  top: -.5em
}
.nayami_box .caption span {
  border-radius: 1em;
  font-size: .8em;
  padding: .3em 1em;
  color: #fff;
  background-color: #1a1a1a
}
.nayami_item {
  display: inline-block;
  margin-right: .9em
}
.nayami_item:last-child {
  margin-right: 0
}
.nayami_item img {
  display: block;
  margin: 0 0 3px 0
}
.nayami_item figcaption {
  border-radius: 1em;
  font-size: .9em;
  text-align: center;
  color: #fff;
  background-color: #1a1a1a
}
.sato_box {
  display: inherit;
  background: #808080;
  color: #fff;
  font-weight: bold;
  align-items: center
}
.sato_box > img {
  width: 50%
}
.sato_box > p {
  padding: 1em;
  margin-bottom: 0
}
.sato_box > p > span {
  background: #fff;
  border-radius: 50%;
  color: #808080;
  margin: .5em;
  padding: .2em .5em
}
.reason picture:first-of-type {
  margin-bottom: 1em
}
/* -------------------------------------- e-shopsカート：オンライン対応コード .ord_eshops  */
input[type="submit"] {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
/* -------------------------------------- e-shopsカート .ord_eshops */
.ord_eshops, .ord_eshops * {
  margin: 0;
  padding: 0;
  text-align: center;
}
.ord_eshops {
  margin: 0 auto 1em;
}
.ord_eshops .ord-group {
  padding: 1em 0;
  color: #0A3500;
}
.ord_eshops .ord-group .btntop {
  width: 60%;
  margin: 0 auto .5em;
}
.btn_only .ord_eshops .ord-group {
  margin-bottom: 0;
}
.ord_eshops label.type-select {
  position: relative;
}
.ord_eshops label.type-select::before, .ord_eshops label.type-select::after {
  position: absolute;
  content: "";
  pointer-events: none;
}
.ord_eshops label.type-select::before {
  content: "";
  display: inline-block;
  width: 2.6em;
  height: 3.6em;
  background-color: #008539;
  border-radius: 0 1.8em 1.8em 0;
  right: 0;
}
.ord_eshops label.type-select::after {
  content: '';
  width: .8em;
  height: .8em;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-100%) rotate(45deg);
}
.ord_eshops label.type-select select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  min-width: 230px;
  height: 3em;
  padding: 0 3em 0 1em;
  margin-bottom: .5em;
  text-align: center;
  line-height: calc(3em - 4px);
  background-color: #FFFFFF;
  border: 2px solid #008539;
  border-radius: 1.5em;
  color: #333333;
  font-size: 1.2em;
  cursor: pointer;
}
.ord_eshops label.type-select select:focus {
  outline: 1px solid #008539;
}
/* 購入ボタン */
.ord_eshops .buybtn1 {
  display: block;
  width: 96vw;
  height: 0;
  margin: 0 auto;
  padding-top: 29.68vw;
  background-image: url("../img/smp/oboe_smp_buy-btn_1dan.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100vw auto;
}
.ord_eshops .buybtn3 {
  display: block;
  width: 96vw;
  height: 0;
  margin: 0 auto;
  padding-top: 29.68vw;
  background-image: url("../img/smp/oboe_smp_buy-btn.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100vw auto;
}
.ord_eshops .pay-type {
  font-size: .9em;
}
/* -------------------------------------- ショップインフォ .shopinfo */
#shopinfo .othershop {
  padding-right: 18vw;
  position: relative;
}
#shopinfo .othershop::after {
  content: "";
  width: 16vw;
  height: 20vw;
  background-image: url("/img/parts/othershop_bg.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: -4vw;
}
#shopinfo .othershop h4 {
  color: #880015;
  font-size: 1.1em;
  white-space: nowrap;
  border: none;
}
#shopinfo .othershop p {
  text-align: right;
  margin-bottom: .5em;
}

/* ----------------------------------------------------------------------------------------------------------------------------- */
/*　PCレイアウトここから　*/
/* ----------------------------------------------------------------------------------------------------------------------------- */
@media screen and (min-width:481px) {

/* -------------------------------------- ヘッダー header  */
header {
  display: block;
  height: auto;
  padding: 10px 0;
  position: static;
}
header h1 {
  width: 100%;
  height: auto;
  overflow: visible;
}
header .logo p {
  margin-bottom: 0;
}
header .logo img, 
.subp header .wrapper.flexbox p:first-of-type img {
  width: 320px;
}
/* ------------------------------------- スライドメニュー #slide_menu */
.tel {
  display: none
}
.fix_btn {
  right: calc(50% - 600px);
  bottom: 50px
}
#ord_open {
  position: fixed;
  top: inherit;
  left: inherit;
  padding: 0 9px 0 9px;
  bottom: 60px;
  right: calc(50% - 600px);
  display: block;
  margin: 0;
  width: 80px;
  height: 80px;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: 1px solid #888;
  border-radius: 3px;
  cursor: pointer
}
#ord_open::before {
  width: 65px;
  color: #888;
  position: absolute;
  font-size: 15px;
  bottom: 3px
}
.sen, .sen::before, .sen::after {
  width: 60px;
  height: 4px
}
.sen {
  top: 24px
}
.sen::before {
  top: 15px
}
.sen::after {
  bottom: 15px
}
#slide_menu a, #slide_menu button, #slide_menu button:focus {
  padding: .8em 0
}
#slide_menu nav {
  width: 500px;
  overflow-y: hidden;
  bottom: 0;
  right: calc(50% - 600px);
  top: inherit;
  left: inherit
}
#slide_menu nav .nav-tel img {
  width: 270px
}
#slide_menu nav .nav-tel {
  margin: 1em 0
}
#slide_menu nav.open-menu {
  height: 460px;
  border-radius: 10px 10px 0 0;
  box-shadow: 0 0 6px 3px rgba(191, 191, 191, .5)
}
#fadeLayer {
  background-color: transparent
}
#fadeLayer p {
  display: none
}
/* ------------------------------------- 導入 .ppc-about */
.about_inner_block img {
  display: block;
  padding: 0
}
.about_re img {
  float: right;
  padding: 0;
  margin-left: 3vw
}
.ppc-about h2 {
  margin-bottom: 0;
  text-align: center
}
.ppc-about h3, .ppc-about .h3 {
  display: block;
  margin: 0 0 1em 30px;
  padding: 0;
  width: 860px;
  min-width: 860px;
  max-width: 860px;
  font-size: 1em;
  height: 0;
  background-size: auto;
  overflow: hidden;
  background-position: left bottom, right top;
  border: none
}
.ppc-about h3::before, .ppc-about .h3::before {
  display: none
}
.ppc-about h3::after, .ppc-about .h3::after {
  display: none
}
.ppc-about .notice_box {
  padding: 1em 0;
  min-height: 140px;
  background-repeat: no-repeat;
  background-position: right center
}
.about_under h3, .about_under .h3 {
  display: block;
  margin: 0 0 1em 30px;
  padding: 0;
  width: 860px;
  min-width: 860px;
  max-width: 860px;
  height: 0;
  background-size: auto;
  overflow: hidden;
  background-position: left bottom, right top;
  border: none
}
.about_under h3::before, .about_under .h3::before {
  display: none
}
.about_under h3::after, .about_under .h3::after {
  display: none
}
.about_under h3:first-of-type {
  padding-top: 195px;
  background-image: url("../img/oboe_about_ttl-icon_06.jpg"), url("../img/oboe_about-q_06_ttl.jpg")
}
.about_under .notice_box {
  padding: 1em 0;
  min-height: 140px;
  background-repeat: no-repeat;
  background-position: right center
}
.ppc-about .about_img {
  padding: 0 1em;
  width: 800px;
  text-align: center
}
.ppc-about .about_img h4 {
  margin: 1em auto
}
.ppc-about .about_img .flexbox {
  display: flex;
  justify-content: space-around
}
.ppc-about .about_img img {
  width: 380px;
  height: auto
}
.about_inner {
  margin-top: 1em;
  display: flex;
  display: inline-flex
}
.about_inner_block {
  margin-top: 1em
}
.about_inner p {
  padding-left: 2em
}
.about_boxA, .about_boxC {
  display: flex;
  justify-content: space-between;
  gap: 10px
}
.about_boxB {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 10px
}
.about_re dt {
  margin-bottom: .5em;
  font-size: 1.5em;
  background-size: 51px 51px;
  background-repeat: no-repeat;
  background-position: left top;
  padding-left: 60px;
  color: #800e3f
}
.t1 {
  background-image: url("../ppc-img/oboe_about_no1.jpg");
  min-height: 51px;
  line-height: 2
}
.t2 {
  background-image: url("../ppc-img/oboe_about_no2.jpg");
  min-height: 51px;
  line-height: 2
}
.t3 {
  background-image: url("../ppc-img/oboe_about_no3.jpg");
  min-height: 51px;
  line-height: 2
}
.maru {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column wrap;
  vertical-align: top
}
.size_normal {
  width: 140px;
  height: 140px
}
.letter3 {
  font-weight: bold;
  font-size: 1em;
  line-height: 1.2em;
  text-align: center
}
.letter3s {
  font-weight: bold;
  font-size: .9em;
  line-height: 1.2em;
  text-align: center
}
.gray3 {
  color: #222;
  border: 2px solid #222;
  margin-right: .5em
}
.fire3 {
  color: #b22222;
  border: 2px solid #b22222;
  margin-right: .5em
}
.step_arrow {
  display: flex;
  justify-content: center;
  align-items: center
}
.step_arrow img {
  width: 85px
}
.step_text {
  padding-left: .5em
}
.nayami_box {
  position: relative;
  margin-top: 1em;
  padding: 1em 2em 0;
  border: 1px solid #000
}
.nayami_box {
  border-radius: 1em;
  border: 1px solid #969696;
  margin: 1em 0
}
.nayami_box .caption {
  position: absolute;
  top: -.5em
}
.nayami_box .caption span {
  border-radius: 1em;
  font-size: .8em;
  padding: .3em 1em;
  color: #fff;
  background-color: #1a1a1a
}
.nayami_item {
  display: inline-block;
  margin-right: .9em
}
.nayami_item:last-child {
  margin-right: 0
}
.nayami_item img {
  display: block;
  margin: 0 0 3px 0
}
.nayami_item figcaption {
  border-radius: 1em;
  font-size: .9em;
  text-align: center;
  color: #fff;
  background-color: #1a1a1a
}
.sato_box {
  display: flex;
  color: #fff;
  font-weight: bold;
  align-items: center
}
.sato_box > img {
  width: 221px
}
.sato_box > p {
  padding-left: 1em;
  margin-bottom: 0
}
/* -------------------------------------- e-shopsカート .ord_eshops */
.ord_eshops, .ord_eshops * {
  margin: 0;
  padding: 0;
  text-align: center;
}
.ord_eshops {
  margin: 0 auto 1em;
}
.ord_eshops .ord-group {
  padding: 30px 0;
}
.ord_eshops label.type-select::before {
  width: 3em;
}
.ord_eshops label.type-select::after {
  top: 33%;
  transform: translateY(-50%) rotate(45deg);
  right: 1.2em;
}
.ord_eshops label.type-select select {
  width: 600px;
  margin-bottom: 1em;
}
/* 購入ボタン */
.ord_eshops .buybtn1 {
  width: 798px;
  padding-top: 115px;
  background-image: url("../img/oboe16_n_cart_1dan.jpg");
  background-size: 798px auto;
  transition: .5s;
}
.ord_eshops .buybtn1:hover, .ord_eshops .buybtn1:active {
  opacity: .8;
}
.ord_eshops .buybtn3 {
  width: 798px;
  padding-top: 115px;
  background-image: url("../img/oboe16_n_cart.jpg");
  background-size: 798px auto;
  transition: .5s;
}
.ord_eshops .buybtn3:hover, .ord_eshops .buybtn3:active {
  opacity: .8;
}
/* -------------------------------------- ショップインフォ .shopinfo */
#shopinfo .othershop {
  margin-top: 20px;
  padding-right: 80px;
  position: relative;
}
#shopinfo .othershop::after {
  content: "";
  width: 70px;
  height: 90px;
  background-image: url("/img/parts/othershop_bg.png");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
  overflow: hidden;
  position: absolute;
  right: 0;
  bottom: -10px;
  z-index: 0;
}
#shopinfo .othershop h4 {
  color: #880015;
  white-space: nowrap;
  border: none;
}
#shopinfo .othershop p {
  text-align: right;
  margin-bottom: .5em;
}
}