body {
  color: #2C2C2C;
  background: white;
   margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",
  "Yu Gothic Medium", "Yu Gothic", "游ゴシック体",
  "Meiryo", "メイリオ", "MS PGothic", "ＭＳ Ｐゴシック",
  "Noto Sans JP",
  "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;;
}


*,::before, ::after { box-sizing: border-box; border-style: solid; border-width: 0; }
  p,dl,h1,h2, li,dl ,dt,dd { margin: 0; }
  ul,ol { margin: 0; padding: 0; list-style: none; }
  html { font-size: 16px; line-height: 1.15; }
  img { height: auto; width: 100%; }
  @media screen and (max-width: 561px) { html { font-size: 15px; }}
  div,p,a { box-sizing: border-box; }
  p { line-height: 160%; }
a { text-decoration: none; color: #2C2C2C; } a:hover img { opacity: 0.8; }

.visually-hidden { position: absolute ; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.sp-none { display: inline; }
.pc-none { display: none; }
@media (max-width: 670px){ .sp-none { display: none; } .pc-none { display: inline; } }
.fieldset { margin: 0; padding: 0; border: 0;}

ul li,ol li { list-style: none; }

:root{
  --color-base: #CF0505; --color-base-on: red;
  --color-shuccho: #EFE12C; --color-shuccho-on: #F0EF0A;
  --color-takuhai: #F2292A; --color-takuhai-on: #FF462E;
  --color-adult: #FF558F; --color-adult-on: #F47DA6;
  --color-cutl: #C0C31F; --color-cutl-on: #DFE225;
  --color-mili: #5F7A3E; --color-mili-on: #6C9C31;
  --color-maga: #C99901; --color-maga-on: #DEAD10;
  --color-music: #B50303; --color-music-on: red;
  --color-movie: #1991C6; --color-movie-on: #20AEED;
  --color-toys: #B6B65B; --color-toys-on: #DDDD35;
  --color-stem: #C66C1C; --color-stem-on: #F1811E;
  --color-wire: #50864A; --color-wire-on: #4BAA41;
  --color-line: #1DB419; --color-line-on: #21DC1C;
  --color-mail: #E68E08; --color-mail-on: #FF9900;
  --color-tel:  #F90000; --color-tel-on:  #FB6B28;
}

.c-base    {--c-main: #CF0505; --c-main-on: red;}
.c-shuccho {--c-main: #EFE12C; --c-main-on: #F0EF0A;}
.c-takuhai {--c-main: #F2292A; --c-main-on: #FF462E;}
.c-adult   {--c-main: #FF558F; --c-main-on: #F47DA6;}
.c-adult-book { --c-main: #FF7282; --c-main-on: #F62A41;}
.c-adult-dvd  { --c-main: #FF72C2; --c-main-on: #FA1C9A;}
.c-adult-game { --c-main: #F47F54; --c-main-on: #F8581D;}
.c-cutl ,.c-cutlery {--c-main: #C0C31F; --c-main-on: #DFE225;}
.c-mili ,.c-military {--c-main: #5F7A3E; --c-main-on: #6C9C31;}
.c-maga    {--c-main: #C99901; --c-main-on: #DEAD10;}
.c-music   {--c-main: #B50303; --c-main-on: red;}
.c-movie   {--c-main: #1991C6; --c-main-on: #20AEED;}
.c-toys    {--c-main: #B6B65B; --c-main-on: #DDDD35;}
.c-wire, .c-wireless {--c-main: #50864A; --c-main-on: #4BAA41;}
.c-stem    {--c-main: #C66C1C; --c-main-on: #F1811E;}
.c-line    {--c-main: #1DB419; --c-main-on: #21DC1C;}
.c-mail    {--c-main: #E68E08; --c-main-on: #FF9900;}
.c-tel     {--c-main:  #F90000; --c-main-on:  #FB6B28;}



.arwIcn01:after { content: ""; position: absolute; right: 2.5%; width: 1.0em; height: 1.0em; -webkit-mask: url("../img/cmn/arwIcn01.svg") no-repeat center / contain; mask: url("../img/cmn/arwIcn01.svg") no-repeat center / contain; color: #E00B0B; background-color: currentColor; }
.arwIcn02:after { content: ""; position: absolute; right: 2.5%; width: 1.0em; height: 1.0em; -webkit-mask: url("../img/cmn/arwIcn02.svg") no-repeat center / contain; mask: url("../img/cmn/arwIcn02.svg") no-repeat center / contain; color: var(--c-main,#CF0505); background-color: currentColor; }
.arwIcn03:after { content: ""; position: absolute; right: 2.5%; bottom: 2.5%; width: 3.0em; height: 1.0em; -webkit-mask: url("../img/cmn/arwIcn03.svg") no-repeat center / contain; mask: url("../img/cmn/arwIcn03.svg") no-repeat center / contain; color: #E00B0B; background-color: currentColor; }
.arwIcn04:after { content: ""; position: absolute; right: 2.5%; bottom: 2.5%; width: 1.0em; height: 1.0em; -webkit-mask: url("../img/cmn/arwIcn04.svg") no-repeat center / contain; mask: url("../img/cmn/arwIcn04.svg") no-repeat center / contain; color: var(--c-main,#E00B0B); background-color: currentColor; }
.arwIcn05:after { content: ""; position: absolute; right: 1.5%; top: 50%; transform: translateY(-50%); width: 1.0em; height: 3.0em; -webkit-mask: url("../img/cmn/arwIcn05.svg") no-repeat center / contain; mask: url("../img/cmn/arwIcn05.svg") no-repeat center / contain; color: #E00B0B; background-color: currentColor; }
.arwIcn07:after { content: ""; position: absolute; right: 2.5%; bottom: 2.5%; width: 1.0em; height: 3.0em; -webkit-mask: url("../img/cmn/arwIcn07.svg") no-repeat center / contain; mask: url("../img/cmn/arwIcn07.svg") no-repeat center / contain; color: var(--color-base); background-color: currentColor; }



.two-oneBlock { display: flex; justify-content: space-between; flex-flow: wrap; align-items: stretch; }
.two-oneBlock li { width: 48%; overflow: hidden; margin-bottom: 2.5%; }
.three-twoBlock { display: flex; justify-content: space-around; flex-wrap: wrap; }
.three-twoBlock li { width: 32%; margin-bottom: 2.5%; }

@media (max-width: 670px){
  .arwIcn03:after { width: 2.4em; height: .8em; }
  .arwIcn07:after { width: .8em; height: 2.4em; bottom: 1.5%; }
.two-oneBlock li { width: 100%; }
.three-twoBlock { justify-content: space-around; }
.three-twoBlock li { width: 48%;}
}


#headWrap { width: 100%; }
#head { max-width: 1000px; width: 100%; padding: 10px 10px 15px; margin: 0 auto; position: relative; display: flex; justify-content: space-between; }

main { width: 100%; margin: 0 auto; }
section { width: 100%; max-width: 1000px; padding: 0 2.5%; margin: 0 auto; }

.panBx { max-width: 1000px; margin: 2% auto; padding: 0 2.5%; }
.breadcrumbs { display:flex; align-items:center; padding:.5em 1em; background:#EFEFEF; border-radius:5px; }
.breadcrumbs li { position:relative; display:flex; align-items:center; }
.breadcrumbs li img { display:block; height:1em; width:auto; vertical-align:middle; }
.breadcrumbs li + li { padding-left: 1.5em; }
.breadcrumbs li + li::before { content:"›"; position:absolute; left:.35em; top:50%; transform:translateY(-50%); font-size:160%; line-height:1; opacity:.8; padding-bottom: .2em; display: inline; }
.breadcrumbs li a, .breadcrumbs li:last-child{ display:inline-flex; align-items:center; line-height:1; }

.hLogo { max-width: 160px; margin-top: 10px; }
.hLogo img { margin-bottom: 2px; }
.hLogo p { font-size: 80%; line-height: 100%; margin: 0; text-align: center; }

.gNav { width: 100%; max-width: 500px; float: right; height: auto; padding-right: 70px; box-sizing: content-box; }
  .gNav ul { display: flex; justify-content: space-around; align-items: center; margin: 0; padding: 0; height: 100%; }
  .gNav li { float: left; font-size: 120%; }
  .gNav li:last-child a { background: #E6B232; color: white; display: block; border-radius: 10px; padding: 10px 20px; }
@media (max-width: 670px) { .gNav {display: none; } }


/* details 自体はヘッダー右上に置く */
.hamburger-menu{ position:absolute; top:0; right:0; }

.menu-btn{ position:absolute; top:10px; right:10px; width:60px; height:60px; display:flex; justify-content:center; align-items:center; background:#F2F2F2; border-radius:10px; cursor:pointer; z-index:1000; -webkit-tap-highlight-color:transparent; }
.menu-btn::-webkit-details-marker{ display:none; }
.menu-btn::marker{ content:""; } /* Firefox */

/* 三本線 */
.menu-btn span, .menu-btn span::before, .menu-btn span::after{
  content:""; position:absolute; width:25px; height:3px; border-radius:3px; background:var(--color-base);
  transition: transform .2s ease, background-color .2s ease, opacity .2s ease;
}
.menu-btn span::before{ bottom:8px; }
.menu-btn span::after { top:8px;  }

/* 開いたら × へ、ボタンは画面右上に固定＆前面 */
.hamburger-menu[open] .menu-btn{ position:fixed; top:10px; right:30px; background:var(--color-base); z-index:1200; }
.hamburger-menu[open] .menu-btn:hover{ background: var(--color-base-on); }
.hamburger-menu[open] .menu-btn span{ background:transparent; }
.hamburger-menu[open] .menu-btn span::before{ bottom:0; transform:rotate(45deg); background:#fff; }
.hamburger-menu[open] .menu-btn span::after { top:0;  transform:rotate(-45deg); background:#fff; }

.menu-scrim{ display:none; }
.hamburger-menu[open] .menu-scrim{ display:block; position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:1000; pointer-events:none; }
.menu-contentWrap{ position:fixed; top:0; right:0; bottom:0; padding-top: 70px; width: clamp(320px, 90vw, 400px); transform:translateX(100%); transition:transform .25s ease; background:#fff; z-index:1100; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.hamburger-menu[open] .menu-contentWrap{ transform:translateX(0); }

.wBg01 { background: #F2F2F2; margin: 0; display: block; overflow: hidden; }
.secBx { width: 95%; margin: 0 auto 2.5em; }

.hmenuLst { width: 100%; padding: 0 2.5%; margin-bottom: 5%;} .hmenuLst li { border-bottom: 1px dotted #AAAAAA; }
.hmenuLst li a { display: block; position: relative; padding: 1em 10px 1em 1.6em; font-size: 120%; font-weight: bold; }
.hmenuLst li a:after{ content:""; position:absolute; left:.5em; top:50%; transform:translateY(-50%); width: 0.5em; height: 0.5em; color: var(--color-base); background-color: currentColor; -webkit-mask: url("../img/cmn/arwIcn02.svg") no-repeat center / contain; mask: url("../img/cmn/arwIcn02.svg") no-repeat center / contain; }
.hmenuBx01 { background: #F2F2F2; padding: 5% 2.5%; overflow: hidden; }
.hmenuBx01 a { border: 1px solid #CCCCCC; background: white; display: flex; border-radius: 5px; margin-bottom: 2%; }
.hmenuBx01 a p { padding: 0; color: #000000; text-align: left; }
.hmenuBx01 a.hmenuTel ,.fCntBx a.fCntTel ,.fCntBx02 a.fCntTel { background: white url(../img/cmn/contactImg01.png) no-repeat right top / 20%; padding: 1.5% 0; align-items: center; justify-content: center; width: 100%; }

.hmenuBx01 a.hmenuTel:hover ,.fCntBx a.fCntTel:hover ,.fCntBx02 a.fCntTel:hover { background: white url(../img/cmn/contactImg01on.png) no-repeat right top / 20%; }

.fCntBx02 a.fCntTel { background-size: 15%; }
.fCntBx02 a.fCntTel:hover { background-size: 15%; }

.hmenuTel p,.fCntTel p,.fixTel p { line-height: 180%; }

.hmenuTel p strong,.fCntTel p strong, .fixTel p strong { font-size: 200%; position: relative; font-family: arial; font-weight: normal; padding-left: 1.5em; }
.hmenuTel p strong:before,.fCntTel p strong:before { position: absolute; content: ""; left: 0; top: 50%; transform: translateY(-50%); width: 1.5em; height: .86em; background: url(../img/cmn/freeTel.png) no-repeat left center / 1.5em; }


.fixTel { display: inline-block; width: max-content; }
.fixTel p { font-size: 80%; text-align: left; }
.fixTel p strong { font-size: 260%; }
.fixTel strong:before { position: absolute; content: ""; left: 0; top: 50%; transform: translateY(-50%); height: .86em; width: 1.5em;; background: url(../img/cmn/freeTel.png) no-repeat right center / 1.5em;; }

.hmenuMail,.hmenuLine { position: relative; width: 49%; padding: 2.5%; font-size: 120%; float: left; }
.hmenuLine { left: 2%; }
.hmenuMail:after,.hmenuLine:after { right: 5px; bottom: 5px; width: 2.4em; height: 0.8em;}

.hmenuMail:after { color: var(--color-mail); } .hmenuMail:hover:after { color: var(--color-mail-on); }.hmenuLine:after { color: var(--color-line); } .hmenuLine:hover:after { color: var(--color-line-on); }
.topSwiper { max-width: 1000px; margin: 2.5% auto 0; --swiper-pagination-color: #E00B0B; --swiper-theme-color: #E00B0B; }
.topSwiper .swiper-slide { } .topSwiper .swiper-slide a { position: relative; display: block; width: 100%; margin: 0; padding: 0; } .topSwiper .swiper-slide img { width: 100%; height: auto; object-fit: cover; display: block; position: relative; } .topSwiper .swiper-slide a:hover img { opacity: 1; }
.topSwiper .swiper-slide p { text-align: left; position: absolute; width: auto; bottom: 5%; right: 5%; font-size: 120%; border-radius: 10px; padding: 1.5% 10% 1.5% 2%; color: white; } .topSwiper .swiper-slide02 p { border: 2px solid white; } .topSwiper .swiper-slide03 p { left: 5%; right: auto; } .topSwiper .swiper-slide01 p { background: var(--color-music) url(./../img/cmn/arwIcn04.svg) no-repeat 93% center / 10%; } .topSwiper .swiper-slide01:hover p { background: var(--color-music-on) url(./../img/cmn/arwIcn04.svg) no-repeat 93% center / 10%; } .topSwiper .swiper-slide02 p { background: var(--color-mili) url(./../img/cmn/arwIcn04.svg) no-repeat 93% center / 10%; } .topSwiper .swiper-slide02:hover p { background: var(--color-mili-on) url(./../img/cmn/arwIcn04.svg) no-repeat 93% center / 10%; } .topSwiper .swiper-slide03 p { background: var(--color-adult) url(./../img/cmn/arwIcn04.svg) no-repeat 93% center / 10%; } .topSwiper .swiper-slide03:hover p { background: var(--color-adult-on) url(./../img/cmn/arwIcn04.svg) no-repeat 93% center / 10%; } .topSwiper .swiper-button-prev,.topSwiper .swiper-button-next { color: #E00B0B;}

@media (max-width: 670px) { .topSwiper .swiper-slide p { font-size: 100%; } }


.newsBx { border: 1px solid #BCBCBC; padding: 0% 2.5% 2.5% 2.5%; font-size: 80%; height: 250px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; } .newsLst li a { color: #2C2C2C; display: block; border-bottom: dotted 1px #666666; font-size: 140%; position: relative; padding: 1.5% 1.5% 1.5% 30px; } .newsLst li a:before { content: "■"; position: absolute; left: 5px; font-size: 60%; color: #E00B0B; top: 50%; transform: translateY(-50%); line-height: 100%; }
.newsLst li a time { color: #999999; font-size: 80%; } .newsLst li a:hover b { text-decoration: underline; }

.cmnTtl01 { margin: 10% 0 5%; text-align: center; font-size: 1.6em; font-weight: normal; }
.cmnTtl01 span { color: var(--c-main,#CF0505); font-size: 0.8em; }
.cmnTtl01-w { color: white; } .cmnTtl01-w span { color: white; }

.cmnTtl02,.blogBx h2 { position: relative; z-index: 2; padding: 5px 0 0 5px; font-size: 140%; font-weight: bold; margin: 0 0 2% 0; }
.cmnTtl02::before,.blogBx h2::before { position: absolute; content: ""; width: 15px; height: 15px; left: 0; top: 0; z-index: -1; background: var(--c-main,#CF0505); }

.blogBx h2 { margin-top: 2em; }

.cmnTtl03 { position: relative; display: inline-block; margin: 10% 0; text-align: center; font-size: 1.6em; width: 100%;}
.cmnTtl03:after { content: ''; position: absolute; left: 50%; bottom: -25px; display: inline-block; width: 60px; height: 4px; -webkit-transform: translateX(-50%); transform: translateX(-50%); background-color: black; border-radius: 2px; background-color: var(--c-main,#CF0505);}
.cmnTtl03-tel:after { background-color: var(--color-tel) }
.cmnTtl03-line:after { background-color: #2CD927; }
.cmnTtl03-mail:after { background-color: var(--color-mail); }

.cmnTtl05, .blogBx h3 { position: relative; padding-left: 20px; font-weight: normal; font-size: 1em; margin: 0 0 .5em; }
.cmnTtl05:before, .blogBx h3:before { content: "■"; position: absolute; left: 5px; font-size: 60%; color: var(--c-main,#CF0505); top: 50%; transform: translateY(-50%); line-height: 100%; }
.blogBx h3 { margin-top: 2em; font-size: 120%; }


.topBx01 { margin: 5% auto; } .topBx01Ttl { font-size: 160%; font-weight: normal; line-height: 100%; margin:5% 0 2% ; } .topBx01 p { margin: 0; }
.topBx01 li a { display: block; position: relative;  padding: 2.5% 2.5% 15% 2.5%; background: white; border-radius: 10px; overflow: hidden; height: 100%; } .topBx01 li a:after { color: var(--c-main,#CF0505); } .topBx01 li a:hover:after { color: var(--c-main-on,red); }

@media (max-width: 670px) {
.topBx01 { display: block;} .topBx01 li { width: 100%; overflow: hidden; margin-bottom: 2.5%;} .topBx01 li img { width: 48%; float: left; }.topBx01 li div { width: 48%; float: right;}
.topBx01 li a { padding: 2.5%; border-radius: 5px; } .topBx01 li a:after { right: .5%; bottom: 2.5%; }
}

.fCntBg01 { background: url(./../img/cmn/footContactBg01.jpg) center center / cover; overflow: hidden; }
.fCntTxt { color: white; text-align: center; }
.fCntBx { margin: 0 auto 10%; max-width: 500px; width: 80%; }
.fCntBx02 { margin: 0 auto 10%; width: 100%; }
.fCntBx a,.fCntBx02 a { display: block; background: white; border: 2px solid #CCCCCC; min-height: 60px; margin-bottom: 2.5%; color: black; text-decoration: none; }
.fCntTel { text-align: center; }
.fCntTel p strong { font-size: 220%; }
.fCntBx-01 { display: flex; justify-content: space-between; }
.fCntBx-01 a { display: flex; position: relative; width: 48%; align-items: center; font-size: 120%; padding: 2.5%; border-radius: 5px; text-align: center; justify-content: center; }
.fCntBx-01 a:after { height: 80%; color: var(--c-main,#CF0505); } .fCntBx-01 a:hover:after { height: 80%; color: var(--c-main-on,red); }
.fCntBx-01 a::before{ content:""; position:absolute; left: 0; top:50%; transform: translateY(-50%); width:5px; height:30px; background: var(--c-main,#CF0505); } .fCntBx-01 a:hover::before{ background: var(--c-main-on,red); }

@media (max-width: 670px) { .fCntBx p { font-size: 80%; } .fCntTel p strong { font-size: 200%; } }
.riyuBg01 { background: url(./../img/cmn/riyuBg01.jpg) center center / cover; overflow: hidden; } .riyuBg01 img { margin-bottom: 1em; }
.riyuSwiper,.kakakuSwiper { display: block; max-width: 1000px; --swiper-pagination-color: var(--color-base); --swiper-theme-color: var(--color-base); --swiper-pagination-bullet-inactive-color: #fff; --swiper-pagination-bullet-inactive-opacity: 1; margin: 0 auto 10%; }
.riyuSwiper .swiper-wrapper { display: flex; align-items: stretch; }
.riyuSwiper .swiper-wrapper div { background: white; padding: 1.5% 1.5% 5% 1.5%; max-width: 670px; border-radius: 10px; height: auto; }
.riyu-pagination,.kakaku-pagination { margin: 1.5% auto 0; width: 100%; text-align: center; }

.riyuTtl { font-size: 160%; }
.riyuTtl::before{ background: var(--color-base); width: 20px; height: 20px; }
.checkLst {margin: 0; }
.checkLst li a, .stepLst li div { background: white; border: 2px solid #DFDFDF; padding: 2.5%; display: block; border-radius: 10px; position: relative; overflow: hidden; }
.checkLst li a { padding-bottom: 10%; }
.checkLst-var02 li a { padding-bottom: 2.5%; }
.checkLst li a img,.stepLst li a img { margin-bottom: 5%; }
.checkLst li p ,.stepLst li p { text-align: center; font-size: 120%; margin-bottom: 5%; }
.checkLst li a:after { color: var(--c-main,#CF0505); } .checkLst li a:hover:after { color: var(--c-main-on,red); }

.check-fuki{ margin-top: 5%; position: relative; padding:2.5%; background: #F2F2F2; text-align: center; }
.check-fuki::before{ content: ''; position: absolute; left: 50%; top: -10px; display: block; width: 0; height: 0; border-right: 10px solid transparent; border-bottom: 10px solid #F2F2F2; border-left: 10px solid transparent; }
.check-fuki span { background: #27C523; color: white; margin-right: 10px; font-size: 80%; padding: 2px;}

.wBg01 .check-fuki::before { border-bottom-color: white; }
.wBg01 .check-fuki { background: white; }

.kakakuBg01 { width: 100%; background: linear-gradient(to bottom, white 50%, #F2F2F2 50%); overflow: hidden; }
.kakakuSwiper { max-width: 1000px; margin: 2.5% auto 5%; --swiper-pagination-color: var(--color-base); --swiper-theme-color: var(--color-base); display: block; width: 100%; }
.kakakuSwiper .swiper-wrapper { display: flex; align-items: stretch; }
.kakakuSwiper .swiper-wrapper div { background: white; border: 1px solid #D0D0D0; height: auto; }
.kakakuSwiper .kakaku-prev,.kakakuSwiper .kakaku-next { color: var(--color-base); }
.kakakuWrap { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; column-gap: 12px; max-width: 1000px; margin: 0 auto; }
.kakakuWrap .kakaku-prev, .kakakuWrap .kakaku-next{ position: static; margin: 0; width: 44px; height: 44px; color: var(--color-base); }

@media (max-width: 670px){
  .checkLst li a, .stepLst li div { border-width: 1px; border-radius: 5px; }
  .kakakuWrap{ position: relative; grid-template-columns: 1fr; row-gap: 8px; } .kakakuWrap .swiper{ overflow: hidden; }
  .kakakuWrap .kakaku-prev, .kakakuWrap .kakaku-next{ position: absolute; top: 50%; transform: translateY(-50%); margin: 0; width: 40px; height: 40px; justify-self: center; }
  .kakakuWrap .kakaku-prev{ left: 6px; } .kakakuWrap .kakaku-next{ right: 6px; }
}

.kakakuTtl { position: relative; text-align: center; font-size: 100%; font-weight: normal; }
.kakakuTtl::before { content: "-"; padding-right: 5px; } .kakakuTtl::after { content: "-"; padding-left: 5px; }
.kakakuTxt { text-align: center; margin-bottom: 10%; } .kakakuTxt b { font-weight: bold; font-size: 80%; }

.jireiBtn01 a { border: 1px solid #DADADA; border-radius: 10px; padding: 20px 10px; text-align: center; position: relative; max-width: 300px; width: 50%; margin: 0 auto; display: block; background: white; }
.jireiBtn01 a:after { right: 0.3em; bottom: 0.3em; color: var(--c-main,#CF0505); }
.jireiBtn01 a:hover:after { color: var(--c-main-on, red); }

.itemLst01,.itemLst02,.itemLst03 { display: flex; gap: 2%; flex-wrap: wrap; align-items: stretch; }
.itemLst01 li,.itemLst02 li,.itemLst03 li { margin-bottom: 2%; display: flex; overflow: hidden; }
  .itemLst01 li,.itemLst03 li { flex: 0 0 calc(49%); }
  .itemLst02 li { flex: 0 0 calc(32%); }
.itemLst01 li a ,.itemLst02 li a,.itemLst03 li a { display: flex; border: 2px solid #DADADA; overflow: hidden; height: 100%; border-radius: 10px; position: relative; width: 100%; justify-content: space-between; }
.itemLst01 li a:after ,.itemLst02 li a:after ,.itemLst03 li a:after {content: ""; position: absolute; right: 0.5em; bottom: 0.5em; width: 1.0em; height: 1.0em; -webkit-mask: url("../img/cmn/arwIcn01.svg") no-repeat center / contain; mask: url("../img/cmn/arwIcn01.svg") no-repeat center / contain; color: var(--c-main,#CF0505); background-color: currentColor; transform: rotate(-90deg); display: inline-block; }
@media (max-width: 670px){ .itemLst01 li a:after ,.itemLst02 li a:after ,.itemLst03 li a:after { width: 0.8em; height: 0.8em; right: .3em; bottom: .3em;} }
.itemLst01 li a:hover:after,.itemLst02 li a:hover:after ,.itemLst03 li a:hover:after { color: var(--c-main-on,red); }



.itemLst01Bx { width: 65%; padding: 0 2.5% 0% 0; }
.itemLst01 li a img , .itemLst02 li a img { width: 35%; display: block; object-fit: cover; object-position: right center; }
.itemLst03 li a img { width: 25%; display: block; object-fit: cover; object-position: right center; }
.itemLst01 li a .itemLst01Ttl ,.itemLst02 li a .itemLst02Ttl ,.itemLst03 li a .itemLst03Ttl { font-weight: bold; margin: 5% 0 5%; padding-bottom: 2%; font-size: 1em;}


a .itemLst01Ttl span, a .itemLst02Ttl span, a .itemLst03Ttl span { color: var(--c-main,#CF0505);}
a:hover .itemLst01Ttl span, a:hover .itemLst02Ttl span, a:hover .itemLst03Ttl span { color: var(--c-main-on,red);}

.itemLst02Ttl { width: 60%; line-height: 100%; padding: 0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.itemLst03Ttl { width: 70%; line-height: 100%; padding: 0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.itemLst01 li a .itemLst01Ttl { border-bottom: 1px solid #DADADA; }
.itemLst01 li a .itemLst01Ttl span { font-size: 80%; margin-left: 2%; }


@media (max-width: 670px){
  .itemLst01 li a ,.itemLst02 li a,.itemLst03 li a { border-width: 1px; }
  .itemLst01Ttl ,.itemLst02Ttl,.itemLst03Ttl { font-size: 100%; }
  .itemLst01 li a img { width: 30%; }
  .itemLst03 li a img { width: 35%; }
  .itemLst01Bx { width: 70%; padding-bottom: 10%; }
  .itemLst01 p { font-size: 80%; line-height: 120%; }
  .itemLst02 li { flex: 0 0 calc(49%); }
  .itemLst01 li a .itemLst01Ttl span,.itemLst02 li a .itemLst02Ttl span ,.itemLst03 li a .itemLst03Ttl span { font-size: 80%; }
}
@media (max-width: 480px){
.itemLst01 li { flex: 0 0 calc(100%); }
}

.itemLst02Ttl {}
.itemLst02Ttl span { color: #E00B0B; }
.sFlowLst01 li { width: 49%; }
@media (max-width: 670px){ .sFlowLst01 li { width: 100%; } }

.sFlowLst01 li a { display: block; background: white; overflow: hidden; height: 100%; display: flex; align-items: center; border: 2px solid #DFDFDF; position: relative; }
.sFlowLst01 li a img { width: 16%; float: left; }
.sFlowLst01 li a p { margin: 0 5%; }
.sFlowLst01 li a.arwIcn03:after { bottom: 5%; right: .5%; }
.sFlowLst01 li a:after { color: var(--c-main,#CF0505); } .sFlowLst01 li a:hover:after { color: var(--c-main-on,red); }


.areaLst01 { display: block; overflow: hidden; }
.areaLst01 li { background: #F3F3F3; display: flex; align-items: center; justify-content: space-between; max-width: 600px; width: 100%; border-radius: 10px; padding: 2.5%; margin-bottom: 2.5%; }
.areaLst01 li:nth-child(1) { float: left; }
.areaLst01 li:nth-child(2){ float: right; }

.areaLst01 li img { width: 36%; float: left; }
.areaLst01 li .areaLst01Bx { width: 60%; float: right; }
.areaLst01 li h3 { font-size: 120%; }
.areaLst01 li strong { font-weight: bold; padding: 0 3px; background:linear-gradient(transparent 80%, var(--c-main,#CF0505 ) 80%);}




footer { background: #F5F5F5; overflow: hidden; }
footer nav { width: 100%; max-width: 1000px; padding: 2em; margin: 0 auto; overflow: hidden; }
.fBx01 { float: left; padding-right: 2em; margin-bottom: 2em; display: block; }
.fTtl { font-weight: bold; font-size: 100%; margin-bottom: 1em; }
.fTtl span { font-weight: normal; font-size: 80%; color: var(--color-base); }
.fLst01,.fLst02 { width: 100%; display: flex; flex-wrap: wrap; list-style: none; font-size: 100%; }
.fLst01 { margin-bottom: 0.5em; }
.fLst02 { margin-bottom: 2em; }
.fLst03 { width: 100%; list-style: none; font-size: 100%; display: block; }
.fLst01 li,.fLst02 li, .fLst03 li { margin: 0 1em 0.5em 0; }
.fLst01 li a,.fLst03 li a { white-space: normal; display: inline-block; }

.fLst01 li a::before, .fLst03 li a::before { content: "›"; margin-right: .2em; color: var(--color-base); }
.fLst01 li a:hover::before,.fLst03 li a:hover::before { color: var(--color-base-on); margin-right:  .1em; padding-left: .1em; }
.fLst02 li { position: relative; padding-left: .75em; }
.fLst02 li::before { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width:.35em; height:.35em; background:#E00B0B; content: ""; margin-right: .2em; color: var(--color-base); }

.fWrap { background: black; }
.fWrap a { color: #9B9B9B; }
.fBrand { display: flex; justify-content: space-between; padding: 2em; }
.fBrandBx { width: 30%; padding-top: 1em; text-align: center; margin: 0; }
.fLogoBx img { max-width: 160px; width: 100%; margin: 0 auto; }
.fBrandBx p { color: #9B9B9B; text-align: center; }
address { width: 65%; font-style: normal; }
@media (max-width: 670px){ .fBrand { display: block; } .fBrandBx { margin-bottom: 2em; width: 100%; } .fBrand img,.fBrand address { width: 100%; } }

.fbTtl{ position: relative; padding-bottom: .5em; color:#fff; font-size: 120%; font-weight: normal; margin: 0 0 1em ; }
.fbTtl::before, .fbTtl::after{ content:""; position:absolute; left:0; bottom:0; }
.fbTtl::before{ width:100%; height:1px; background:currentColor; opacity:.35; }
.fbTtl::after{  width:clamp(72px,12vw,180px); height:1px; background:var(--color-base); }

address p { color: #9B9B9B; }
.kobuTxt { background: #4A4A4A; color: #CECECE; text-align: center; padding: 0.25em; }

.copyTxt { text-align: center; padding: .5em 0; }

.fixBx { position: sticky; bottom: 0; width: 100%; z-index: 900; }

.toTop { position: absolute; display: block; left:0; right:2.5%; overflow: hidden; bottom: calc(100%); }
  .toTop a { background: var(--color-base); color: white; float: right; text-align: center; padding: .5em 2em .5em; border-top-left-radius: 5px; border-top-right-radius: 5px; }
  .toTop span { position: relative; padding-left: 1.2em; }
  .toTop a span:after { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1em; height: 1em; -webkit-mask: url("../img/cmn/arwIcn06.svg") no-repeat center / contain; mask: url("../img/cmn/arwIcn06.svg") no-repeat center / contain; color: white; background-color: currentColor; }
  .toTop a:hover { padding-bottom: 1em; background: red; margin-top: 0; }
  .toTop a:hover:after { top: 20%; transform: translateY(0%); }

@media (max-width: 670px){ .toTop a { font-size: 80%; padding: .3em 1em .3em; }}

.fixCntWrap { background-color: rgba(0, 0, 0, 0.2); padding: 5px; }

.fixCntLst { max-width: 600px; width: 100%; display: grid; margin: 0 auto; grid-template-columns: 2fr 1fr 1fr; gap: .5em; overflow: hidden; height: 100%; }
.fixCntLst li { }
.fixCntLst li a { background: white; border: 2px solid white; display: grid; grid-template-rows: 1fr auto; align-items: center; justify-items: center; height: 100%; text-align: center; }
.fixCntLst li div { width: 100%; text-align: center; }
.fixCntLst .fixTel { width: 100%; }
.fixCntLst .fixTel div { display: flex; flex-direction: column; justify-content: space-between; align-items: center; gap: 0; }
.fixCntLst img { width: 3em; }

.fixCntLst li a span { display: block; width: 100%; color: #fff; line-height: 1; padding: 2px 0; text-align: center; background: var(--c-main,#CF0505); }
 .fixCntLst a:hover span { background: var(--c-main-on,red); }


.areaBx { display: block; position: relative; overflow: hidden; }
.areaBx img { position: relative; width: 50%; display: block; }
.areaBxBlok { position: absolute; max-width: 620px; width: 60%; top: 50%; transform: translate(0,-50%); }
.areaBx .areaBx-lst { background-color: rgba(239, 236, 228, 0.5); border-radius: 10px; padding: 1em; overflow: hidden; }
.areaBx-lst li { float: left; font-size: 80%; margin-bottom: .5em; }
.areaBx-lst li:after { content: "/"; margin-right: 5px; margin-left:  5px; }
.areaBx-lst-nagoya { width: 100%; font-weight: bold; }
.areaBx-lst li.areaBx-lst-nagoya:after { content: ""; }
@media (max-width: 670px){
  .areaBx .areaBxBlok { width: 100%; } .areaBx img { width: 80%; margin: 0 auto; }
.fixCntLst {  grid-template-columns: 4fr 1fr 1fr; }
   .fixCntLst img { width: 60%; }
   .fixTel p strong { font-size: 200%;}
   .fixTel strong:before { background-size: 1.5em;}
   .fixCntLst a span { font-size: 80%; }
}

.MTtl01 { position: relative;  max-width: 1200px; z-index: 0; margin: 0 auto; overflow: hidden;}
.MTtl01::before{ content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #F1F1ED; z-index: -1; }
.MTtl01 h1,.MTtl01 p { font-weight: bold; font-size: 2em; color: white; text-align: center; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); line-height: 100%; }
.MTtl01 h1 span,.MTtl01 p span { font-size: 60%; font-weight: normal; }.MTtl01 h1 span::before , .MTtl01 h1 span::after,.MTtl01 p span::before , .MTtl01 p span::after { content: "-"; }
.MTtl01 h1 span::before,.MTtl01 p span::before { padding-right: 5px } .MTtl01 h1 span::after, .MTtl01 p span::after { padding-left: 5px } .MTtl01 h1 img,.MTtl01 p img { position: relative; }
.MTtl01 img { display: block; }
@media (max-width: 670px){ .MTtl01 img { width: 160%; max-width: none; object-fit:cover; } .MTtl01 h1,.MTtl01 p {font-size: 1.4em;} }

.cmnTbl01 { width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; margin-bottom: 10%; }
.cmnTbl01 dt { border-bottom: 1px solid #E00B0B; font-size: 80%; font-weight: normal; padding: 2.5%; width: 30%; }
.cmnTbl01 dd { border-bottom: 1px solid #DDDDDD; padding: 2.5%; width: 70%; }
.cmnTbl01 dd img { width: 160px;}

.cmnTxt01 { background: #F2F2F2; border-radius: 5px; padding: 1em; }
.cmnTxt02 { background: white; padding: 1em; }
.cmnTxt03 { background: #F7F6F3; border-radius: 10px; padding: 1em; }
.cmnTxt04 { border: 2px dotted #666666; padding: 1em; }

.btn01 { text-align: right; }
.btn01 a { text-decoration: underline; padding-right: 2em; position: relative; }
.btn01 a:hover { text-decoration: none; }

/*--company---*/
.gMap{ position: relative; left: 50%; margin-left: -50svw; width: 100svw; aspect-ratio: 10 / 4; padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
@supports not (width: 100svw){ .gMap{ margin-left: -50vw; width: 100vw; } }
.gMap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }

/*--contact---*/
.cntBx01 { display: grid; grid-template-columns: clamp(60px, 30vw, 180px) minmax(0,1fr); align-items: center; gap: clamp(20px, 4vw, 48px); }
.cntBx01-01 { align-items: center; }
.cntBx01-01 h4 { font-size: 160%; margin: 0 0 .5em 0; }

.wpcf7-form { margin-bottom: 10%; }
.formBx { width: 100%; display: grid; grid-template-columns: clamp(140px, 24vw, 240px) minmax(0,1fr); align-items:stretch; margin-bottom: 10%; gap:0; }
.formBx dt, .formBx dd { margin:0; border-bottom:1px dotted #BABABA; padding:.75em 0; min-width:0; font-weight: normal;}
.formBx dt.fromBx-center { display: flex; align-items: center; }
.formBx dt span { background: var(--color-mail); color: white; border-radius: 5px; padding: 1px 5px; margin-right: 5px; font-size: 80%; }
.formBx dd label{ display: block;float: left; padding: 0 10px 0 10px;  }
.formBx textarea, .formBx input[type="text"] , .formBx input[type="tel"], .formBx input[type="email"] { width: 100%; padding: .5em; border: 2px solid #C4C4C4; }
.formBx input[type="text"]#zip { width: 30%; margin: 0 10px; }

.wpcf7-form input[type="submit"] { border-radius: 10px; width: 50%; max-width: 300px; padding: 1em 0; margin: 0 auto; text-align: center; font-size: 120%; }
.wpcf7 form .wpcf7-spinner{ display:none; }
.wpcf7 form.submitting .wpcf7-spinner{ display:block; margin: .5em auto 0; }

.wpcf7 .wpcf7-submit { background: #E00B0B url(./../img/cmn/arwIcn04.svg) no-repeat 95% center / 20px;}
.wpcf7 .wpcf7-submit:hover { background-color: red;}


@media (max-width: 670px){ .formBx{ grid-template-columns: 1fr; } }

.policyBx { background: white; border: 1px solid #B2B2B2; padding: 2.5%; color: #3F3F3F; height: 200px; overflow-y: scroll;}
.policyBx ul li { margin-bottom: 5px; }.policyBx ul li:before { content: "・"; }

.tocWrap { position: relative; padding-top: 1em; margin-bottom: 5em; }
.tocBx { background: #F2F2F2; padding: .5em; position: relative; }
.tocTtl { position: absolute; top: 0; left: .5em; z-index: 2; font-weight: 900; }
.tocTtl span { color: var(--c-main,#CF0505);}
.tocLst ,.tocLst01 { display:grid; grid-template-columns: 1fr 1fr; background: white; padding: 1em; gap:0 1em; }
.tocLst li,.tocLst01 li { width: 100%; }
.tocLst li a { border-bottom:2px solid #e9e9e9; position: relative; display: block; font-size: 120%; padding: 1em; }
@media (max-width: 670px){ .tocLst li a { font-size: 100%; padding: .5em; } .tocLst li a:after { width: 0.8em; height: 0.8em; } }
.tocLst li a:before { position: absolute; content:""; display:block; width:20%; height: 2px; bottom: -2px; left: 0; background: var(--c-main,#CF0505); }
.tocLst li a:after { color: var(--c-main,#CF0505);  top: 50%; right: 0.5em; transform: translateY(-50%);}
.tocLst li a:hover:after { color: var(--c-main-on,red);}
.tocLst01 {}
.tocLst01 li { margin-bottom: .5em; }
.tocLst01 li a { background: #F2F2F2; position: relative; display: block; padding: 1em 1em; border-radius: 5px; }
.tocLst01 li a:after { color: var(--color-base); height: 80%; top: 50%; right: 0.5em; transform: translateY(-50%); }
.tocLst01 li a:hover:after { color: var(--color-base-on);}

.fstepLst01 { width: 100%; margin-top: 5em; }
.fstepLst01 > li { width: 100%; margin-bottom: 5%; }
.fstepLst01Ttl,.cmnTtl04 { position: relative; border-bottom: 3px solid #E0E0E0; font-size: 160%; padding: 0em .5em .5em .5em; font-weight: normal; width: 100%;  }
.wBg01 .fstepLst01Ttl { border-bottom-color: white; }
.cmnTtl04 { font-size: 120%; }
.fstepLst01Ttl span { font-size: 200%; margin: 0 .2em; }
.fstepLst01Ttl:after,.cmnTtl04:after { position: absolute; content: ""; width: 50px; height: 3px; bottom: -3px; left: 0; background: var(--c-main,#CF0505); }
.fstepBx01 { display: grid; grid-template-columns: clamp(140px, 24vw, 240px) minmax(0,1fr); gap: 14px clamp(1em, 2vw, 40px); }
.fstepBx01 img { max-width: 360px; margin: 0 auto; }
@media (max-width: 530px){ .fstepBx01 { grid-template-columns: 1fr; } }
.fstepBx01-01 { margin-bottom: 5%; }
.fstepBx01Lst li { margin-bottom: .5em; }
.fstepBx01Lst li a { position: relative; text-decoration: underline; padding-right: 1.5em; }
.fstepBx01Lst li a:hover { text-decoration: none; }
.fstepBx01Lst li a:after { content: ""; position: absolute; right: 2.5%; bottom: 0; width: 1.0em; height: 1.0em; -webkit-mask: url("../img/takuhai/downIcn01.svg") no-repeat center / contain; mask: url("../img/takuhai/downIcn01.svg") no-repeat center / contain; color: var(--c-main,#CF0505); background-color: currentColor; }

.kitBx { position: relative; padding-top: 1em; display: block; }
.kitBxTtl { position: absolute; top: 0; left: 1em; font-weight: normal; background: #C30909; color: white; padding: 2px 5px; z-index: 2; font-size: 100%; }
.kitBx p { display: block; position: relative; }

.pntLst { width: 100%; margin-bottom: 10%; }
.pntLst li { width: 80%; position: relative; padding-top: 1.2em; margin-bottom: 2.5em; }
.pntLst li:nth-child(1){ margin-left:0; margin-right:auto; } .pntLst li:nth-child(2){ margin-left:auto; margin-right:auto; } .pntLst li:nth-child(3){ margin-left:auto; margin-right:0;}
.pntLst-ttl { position: absolute; top: 0; left: 1em; z-index: 2; font-weight: bold; font-size: 1.2em; }
.pntLst-ttl span { font-size: 160%; color: var(--c-main,#CF0505);}
.pntLst-txt { position: relative; padding: 1em; background: white; border-radius: 10px; }
@media (max-width: 670px){ .pntLst li { width: 100%; } }

.link01 { color: #001476; text-decoration: underline; } .link01:hover { text-decoration: none; }

.faqLst { width: 100%; overflow: hidden; }
.faqLst li { width: 100%; margin-bottom: 2%; border-bottom: 2px solid #E6E6E6; }
.faqLst li input,.tabCate input { display: none; }
.faqLst li label,.tabCate label { text-decoration: none; color: black; display: flex; align-items: center; position: relative; padding: 1em 3em 1em 3em; cursor: pointer }
.tabCate label { border: 1px solid #DDDDDD; }
.tabCate label::after { content:""; position:absolute; left: .8rem; top:50%; transform:translateY(-50%); width: 24px; height: 24px; color: white; --h: 60%; --v: 60%; background: linear-gradient(currentColor 0 0) center/var(--h) 3px no-repeat, linear-gradient(currentColor 0 0) center/3px var(--v) no-repeat; transition: color .25s ease, transform .25s ease; background-color: var(--c-main,#CF0505); border-radius:50%; }
.faqLst li label:before { content: ""; width: 2em; height: 2em; left: 0.5em; position: absolute; -webkit-mask: url("../img/cmn/faqIcn01.svg") no-repeat center / contain; mask: url("../img/cmn/faqIcn01.svg") no-repeat center / contain; color: var(--c-main,#CF0505); background-color: currentColor; }

#line .faqLst li { margin-bottom: 0; }


.faqABx { padding: 0 2%; margin: 0; background: #F2F2F2; width: 100%; visibility: hidden; transition: .5s; }
.faqABx p { visibility: hidden; transition: .5s; overflow: hidden; height: 0; }
.faqABx a { color: #D53752; text-decoration: underline; }.faqABx a:hover {text-decoration: none; }


.faqCK:checked + label + .faqABx { transition: .5s; overflow: hidden; width: 100%; padding: 2%; visibility: visible; }
.faqCK:checked + label + .faqABx p { visibility: visible; transition: .5s; height: auto; display: block; }
.faqCK:checked + label + .faqABx img { visibility: visible; transition: .5s; height: auto; display: block; }
.faqLst li label::after { content:""; position:absolute; right: .8rem; top:50%; transform:translateY(-50%); width: 24px; height: 24px; color: var(--c-main,#CF0505); --h: 60%; --v: 60%; background: linear-gradient(currentColor 0 0) center/var(--h) 3px no-repeat, linear-gradient(currentColor 0 0) center/3px var(--v) no-repeat; transition: color .25s ease, transform .25s ease; }
.faqLst li input:checked + label::after{ --v: 0%; color: var(--c-main,#CF0505); transform: translateY(-50%) scale(1.05); }

.genreTtlWrap { position: relative; margin: 2%; overflow: hidden; max-width: 1200px; }
.genreTtl { background-color: rgba(255, 255, 255, 0.9); max-width: 310px; width: 50%; padding: 1em .5em; position: absolute; text-align: center; top: 50%; transform: translateY(-50%); right: 5%; line-height: 100%; }
.genreTtl img { position: relative; width: 100%; }
.genreTtl span { color: var(--c-main,#CF0505); font-size: 60%; }
@media (max-width: 670px){ .genreTtl { top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 160%; } }

.genreTtl-lp { font-size: 120%; min-height: 5em; display: flex; justify-content: center; flex-direction: column; align-items: center; }
.genreTtl-lp span { font-size: 80%; }

.caseTtlWrap { position: relative; margin: 0 auto; overflow: hidden; max-width: 1200px; }

.caseTtl { background-color: rgba(255, 255, 255, 0.9); max-width: 310px; width: 50%; padding: 1em .5em; position: absolute; text-align: center; top: 50%; left: 50%; transform: translate(-50%, -50%); line-height: 100%; }
.caseTtl img { position: relative; width: 100%; }
.caseTtl span { color: var(--c-main,#CF0505); font-size: 60%; }

#adult .genreTtl {padding: .5em .5em;}

.genreBx01Wrap { position: relative; padding-top: 20px; }
.rbn{ --tip: 14px; position: absolute; left: 0px; top: 0px; font-size: 120%; display: inline-block; padding: .45em calc( var(--tip)) .45em .5em; background: var(--c-main,#CF0505); color: #fff; font-weight: 700; line-height: 1; }
.rbn::after{ content:""; position:absolute; top:0; right:calc(-1 * var(--tip)); width:var(--tip); height:100%; background: var(--c-main,#CF0505); clip-path: polygon(0 0, 100% 0, 0 100%); }

.genreBx01,.genreBx02 { background: #F2F2F2; padding: 3% 2.5% 0% 2.5%; }
.genreBx03 { padding: 3% 2.5% 0% 2.5%; align-items: center; max-width: 800px; margin: 0 auto; display: grid; grid-template-columns: 30% 1fr; gap: 5%; }
.genreBx03 img { border-radius: 5px; }
.genreBx01Lst,.genreBx02Lst { display: flex; max-width: 800px; margin: 0 auto; flex-wrap: wrap; }
.genreBx01Lst li { width: 30%; margin-bottom: 2em; margin-right: 5%; }
.genreBx01Lst li:nth-child(3n){ margin-right: 0; }
.genreBx02Lst li { width: 22%; margin-right: 4%; margin-bottom: 2.5%; }
.genreBx02Lst li:nth-child(4n){ margin-right: 0; }
.genreBx01Lst img,.genreBx02Lst img { border-radius: 5px; margin-bottom: 5%; }
.genreBx01Lst p,.genreBx02Lst p { text-align: center; line-height: 100%; }

.genreBx01Lst li a { text-decoration: underline; position: relative; float: right; }
.genreBx01Lst li a:after { right: auto; left: 0; transform: rotate(-90deg); color: var(--c-main,#CF0505); }
.genreBx01Lst li a:hover { text-decoration: none; }


.genreBx01Lst li p a { padding-left: 1.5em; }

@media (max-width: 670px){
  .genreBx01Lst { justify-content: space-around; }
  .genreBx01Lst li { width: 45%; margin-right: 0; }
  .genreBx02Lst li { width: 32%; margin-right: 2%; }
  .genreBx02Lst li:nth-child(4n){ margin-right: auto; }
  .genreBx02Lst li:nth-child(3n){ margin-right: 0; }
}


.genreTtl02 { font-weight: bold; font-size: 160%; }
.genreTtl02 span { font-size: 80%; }
.genreTtl02 strong { color: #FF558F; }
.genreLst01 { background: #F2F2F2; padding: 1em; overflow: hidden; }
.wBg01 .genreLst01 { background: white; }

.genreLst01 li { margin-right: 5px; float: left; margin-bottom: 5px; }
.genreLst01 li a { border-radius: 5px; color: white; padding: 1px 5px; font-size: 80%; background: var(--c-main,#CF0505); }
.genreLst01 li a:hover { background: var(--c-main-on,red)}
.genreLst01 span { border-radius: 5px; color: white; padding: 1px 5px; font-size: 80%; background: var(--c-main,#CF0505); }

.lineBx01 { display: grid; grid-template-columns: 1fr 1fr; gap: 1em; margin-left: 0; }
.lineBx01 li { border: 2px solid #DFDFDF; padding: 2em; }
.lineBx01-01 { width: 100%; aspect-ratio: 1 / 0.5; display: flex; align-items: center; justify-content: center; margin: 5% 0 10% 0 ; }
.lineBx01-01 a { width: 60%; max-width: 200px; margin: 0 auto; display: inline; }
.lineBx01-01 a img { width: 100%; }
.lineBx01-01 img { width: 80%; max-width: 200px; }
@media (max-width: 670px){ .lineBx01 { grid-template-columns: 1fr; } .lineBx01-01 { aspect-ratio: auto; } }

.lineLst01 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1em; margin: 0;}
.lineLst01 li { position: relative; }
.lineLst01 li input { position: absolute; inset: 0; width: 0; height: 0; opacity: 0; }
.lineLst01 li label { border: 2px solid #DFDFDF; display: block; width: 100%; position: relative; height: 3em; padding: 2em; display: flex; align-items: center; cursor:pointer; }
.lineLst01 li label:after { top: 50%; transform: translateY(-50%); }
.lineLst01Pnl { position: relative; display: inline-block; margin-top: 2em; margin-left: 0; background: #F2F2F2; padding: 1em; display:  none; grid-template-columns: 1fr 1fr 1fr; gap: 1em; }


li:has(#t1:checked) .lineLst01Pnl[data-for="t1"], li:has(#t2:checked) .lineLst01Pnl[data-for="t2"], li:has(#t3:checked) .lineLst01Pnl[data-for="t3"] { display: grid; }
#line .lineLst01 #t1:checked + label, .lineLst01 #t2:checked + label, .lineLst01 #t3:checked + label { border-color: #BBB; background: #fAfAfA; }
.lineLst01Pnl::after { content: ""; position: absolute; top: 0; border-style: solid; border-color: transparent transparent #F2F2F2; border-width: 0 1em 1.5em 1em; }
.pnl-book::after { left: 20%; translate: -80% -100%; }
.pnl-knife::after { left: 50%; translate: -50% -100%; }
.pnl-toy::after { left: 80%; translate: -20% -100%; }

.lineLst01Pnl li { display:flex; flex-direction:column; }
.lineLst01Pnl img { border: 1px solid white; margin-bottom: .5em; }
.lineLst01Pnl p { background: white; padding: 1em; flex:1; }





@media (max-width: 670px){
.lineLst01 { gap: .5em; }
.lineLst01 li label { font-size: 80%; }
.lineLst01Pnl { grid-template-columns: 1fr 1fr; gap: .5em; padding: .5em; }
.lineLst01Pnl p { padding: .5em;}
}

.cmnBx01 { border: 2px solid #DFDFDF; padding: 1em; margin: 0;}


.moreBx01 { display: grid; grid-template-columns: 1fr minmax(200px, 250px); gap: 1em; }
.moreBx01-01 { width: 100%; display: block; overflow: hidden;}
.moreBx01-time time { padding: 5px .5em; background: #F2F2F2; font-size: 80%; float: right; margin-bottom: 2%; }
.moreBx01-time { width: 100%; overflow: hidden; }


.moreLst01 li { margin-bottom: 1em; }
.moreLst01 li a { border: 2px solid #CCCCCC; position:relative; display: grid; border-radius: 5px; padding: .5em; grid-template-columns: 40% 1fr; gap: 1em;  }
.moreLst01 li a:before { position: absolute; content:""; position:absolute; top:-2px; left:50%; transform:translateX(-50%); width: 160px; height: 6px; background: var(--c-main,#CF0505); }
.moreLst01 li a:after { color: var(--c-main,#CF0505);}
.moreLst01-bx { display: flex; flex-wrap: wrap; flex-direction:column; justify-content:center; align-items:flex-start; font-size: 80%; }
.moreLst01-ttl { font-weight: normal; display: inline-block; padding: 2px 5px; margin: 0 0 .5em 0; border-bottom: 2px dotted #CCCCCC; font-size: 1.6em; }
@media (max-width: 670px){ .moreLst01 li a { padding-bottom: 1.5em; } }


.moreLst02 {}
  .moreLst02 li a { border-bottom: 1px solid #CCCCCC; padding: 1em 0; display: grid; grid-template-columns: 30% 1fr; gap: 1em; align-items:center; }
  .moreLst02 li a p { text-decoration: underline; }
  .moreLst02 li a img { border: 1px solid #CCC;}
  .moreLst02 li a:hover p { text-decoration: none; }
@media (max-width: 670px){
  .moreBx01 { grid-template-columns: 1fr; }
  .moreLst01 { display: grid; grid-template-columns: 1fr 1fr; gap: 1em; }
  .moreLst01 li a { grid-template-columns: 30% 1fr; }
  .moreLst01 li a:after { right: 1%; bottom: 2.5%; }
  .moreLst02 li a { grid-template-columns: 20% 1fr; }
  }
@media (max-width: 480px){ .moreLst01 { grid-template-columns: 1fr; } }
.moreBx02 { display: grid; grid-template-columns: 200px 1fr; gap: 2em; margin-bottom: 2.5em; align-items: center; }


.blogEye { margin-bottom: 5%; }
.blogBx { padding: 1em 0.5em 2em; }
.blogMTtl { font-size: 160%; }
.blogBx a { color: #3856AD; text-decoration: underline; }
.blogBx a:hover { text-decoration: none; }
.lineBtn { width: 100%; position: relative; }

.blogBx p { margin-bottom: 1em; }
.blogLst { width: 100%; grid-template-columns: repeat(4, 1fr); column-gap: 2.5%; row-gap: 7.5%; display: grid; }
.blogLst li img { border-radius: 5px; border: 1px solid #CCC; }
@media (max-width: 670px){ .blogLst { grid-template-columns: repeat(3, 1fr); }}

.lineBtn a { border: 2px solid #DFDFDF; text-decoration: none; width: 100%; display: flex; align-items: center; justify-content: center; color: black; font-size: 160%; padding: 1.5em 0 1.5em; }
.lineBtn a:after { bottom: .4em; right: .1em; height: .6em; width: 2em; color: var(--c-main,#CF0505); }
.lineBtn a:hover:after { color: var(--c-main-on,red); }
.lineBtn span { font-size: 60%; background: black; color: white; padding: 2px 5px; margin-right: 5px; }
.lineBtn b { color: #1DB419; }
.blogPreNex li { width: 100%; margin-bottom: .5em; display: block; }
.blogPreNex li a { background: #F2F2F2; position: relative; display: block; padding: .5em; text-decoration: underline; }
.blogPreNex li a:hover { text-decoration: none; }
.blogPreNex li a:after { color: var(--color-base); }
.blogPreNex .blogPre a { text-align: left; padding-left: 6.5%; }
.blogPreNex .blogPre a.arwIcn02:after { transform: translateY(-50%) rotate(180deg); right: auto; left: 2.5%; transform-origin: center; top: 50%;}
.blogPreNex .blogNex a { text-align: right; padding-right: 6.5%; }
.blogPreNex .blogNex a.arwIcn02:after { transform: translateY(-50%); top: 50%; }
.tabBx { display: flex; flex-wrap: wrap; margin:20px 0; }
.tabLb { color: #333333; background: white; border: 1px solid #DDDDDD; white-space: nowrap; padding: 1% 2% 1% 2% ; order: -1; position: relative; cursor: pointer; flex: 1; box-sizing: border-box; text-align: center; display: block; font-size: 1em; border-top-left-radius: 5px; border-top-right-radius: 5px; max-width: 200px; margin-right: 5px; }
@media (max-width: 670px){
  .tabLb { font-size: 80%;}
  .blogPreNex .blogPre a { padding-left: 2em; }
  .blogPreNex .blogNex a { padding-right: 2em; }
}

.tabCont { width: 100%; height: 0; overflow: hidden; opacity: 0; background: #F3F3F3; }
.tabSw:checked+.tabLb { background-color: var(--c-main,#CF0505); color: white; margin-bottom: -4px; border: 0; }
.tabSw:checked+.tabLb+.tabCont { height: auto; overflow: auto; padding: 1em; opacity: 1; transition: .5s opacity; border-top: 4px solid var(--c-main,#CF0505); }
.tabSw { display: none; }

.stepTab .tabBx { justify-content:center; align-items: center; }
.stepTab .tabLb[for="TabTakuhai"]:after,.stepTab .tabLb[for="TabShuccho"]:before { content: ""; position: absolute; width: .8em; height: .8em; -webkit-mask: url("../img/cmn/arwIcn02.svg") no-repeat center / contain; mask: url("../img/cmn/arwIcn02.svg") no-repeat center / contain; color: var(--c-main,#CF0505); background-color: currentColor; top: 50%; transform: translateY(-50%); }
.stepTab .tabLb[for="TabShuccho"] { padding-right: 1em; }
.stepTab .tabLb[for="TabShuccho"]:before { transform: translateY(-50%) rotate(180deg); transform-origin: center; margin-left: -1.2em; }
.stepTab .tabLb[for="TabTakuhai"] { padding-right: 1.2em; }
.stepTab .tabLb[for="TabTakuhai"]:after { margin-left: .8em; }
.stepTab .tabSw:checked+.tabLb[for="TabTakuhai"]:after,.stepTab .tabSw:checked+.tabLb[for="TabShuccho"]:before { color: white; }


.stepTab .tabSw:checked+.tabLb { font-weight: bold; }

.CateStepBx { background: white; border-radius: 5px; padding: 1em 1em 1em 1em; }

.listTab .tabSw:checked+.tabLb+.tabCont { max-height: 60vh; overflow-y: auto; -webkit-overflow-scrolling: touch; }

.cmnBx02 { position: relative; padding-top: .5em; }
.cmnBx02 h4 { position: absolute; top: 0; left: 1em; z-index: 1; font-weight: bold; }
.cmnBx02 p { background: white; padding: 1em; position: relative; }

.cateMTtl { position: relative; width: 100%; max-width: 1200px; margin-right: auto; margin-left: auto; overflow: hidden;}
.cateMTtl::before{ content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #F1F1ED; z-index: -1; }
.cateMTtl h1 { position: absolute; background-color: rgba(255, 255, 255, 0.9); top: 50%; left: 50%; transform: translate(-50%, -50%); color: var(--c-main,#CF0505); padding: 1em 1em; width: 80%; max-width: 600px; text-align: center; font-size: 300%; font-weight: 900; line-height: 80%; }
.cateMTtl h1 span { font-size: .4em; color: #333333; }
.cateMTtl img { display: block; }
.cateMTtl h1.cateLstTtl { color: black; font-size: 160%; font-weight: normal; line-height: 100%; }
@media (max-width: 670px){ .cateMTtl img { width: 120% ; height: auto; max-width: none; object-fit:cover; } .cateMTtl h1 { font-size: 160%; width: 70%; max-width: auto; } .cateMTtl h1.cateLstTtl { font-size: 120%; padding: .5em; width: auto; min-width: 200px; } }
.cateTtl01 { font-weight: bold; font-size: 200%; }
.cateTtl01 span { font-size: 60%; }
.cateTtl01 b { color:var(--c-main,#CF0505); }
.cateTtl01 b.fl { font-size: 140%; }

.cateBx01 {}
.cateBx01 li { position: relative; display: grid; grid-template-columns: 30% 1fr; gap: 1em; align-items: center; padding: .5em 1em; border-radius: 5px; border: 1px solid #CCCCCC; }
.cateBx01 li:before { content:""; position:absolute; left: 0; top:50%; transform: translateY(-50%); width:5px; height:40%; background: var(--c-main,#CF0505); }
 .cateBx01Ttl { font-size: 160%;  margin: 0; font-weight: normal; }
@media (max-width: 670px){ .cateBx01 li { grid-template-columns: 100px 1fr; } }


 .adultBx01 { display: block; position: relative; width: 100%; overflow: hidden; }
 .adultBx01 img { max-width: 300px; width: 50%; float: left; position: relative; }
 .adultBx01fuki { position: absolute; right: 0; top:50%; transform: translateY(-50%); width: 75%; }
 .adultBx01 p { background-color: rgba(255, 255, 255, 0.9); padding: 1em; border-radius: 5px; position: relative; }
 .adultBx01 p::after{ content:""; position:absolute; left: 70%; bottom:-12px; width:60px; height:30px; background: url("./../img/adult/fuki.svg") no-repeat 50% 50% / 100% auto; pointer-events:none; }

.cataConWrap { position: relative; overflow: hidden; }
.cataConTtl{ position: absolute; left: 0; top:50%; transform: translateY(-50%); color:#fff; font-weight:700; text-decoration:none; line-height:1; background: linear-gradient(to bottom, #F01313 0 50%, #D61616 0 100%); display: inline-block; height: 4em; padding: 1em .5em; font-weight: bold; font-size: 1.2em; display: inline-flex; align-items: center; z-index: 2; }
.cataConTtl::after { content:""; position:absolute; top:0; right:-1.5em; width: 1.5em; height: 100%; background: url("./../img/cmn/arrow01.png") right center / 100% 100% no-repeat; }
@media (max-width: 860px){ .cataConTtl{ top: 1em; transform: translateY(0%); height: 3em; } }
@media (max-width: 670px){ .cataConWrap { padding-top: 8%; } .cataConTtl{ top: 1em; transform: translateY(0%); height: 2em; } .cataConTtl::after {right:-1em; width: 1em;} }

.nav-links { border: 2px solid #E8E8E8; background: #F2F2F2; border-radius: 10px; display: flex; width: max-content; gap: 1em; margin: 5% auto 10%; padding: .2em 1.5em; }
.nav-links .page-numbers{ display:inline-flex; align-items:center; justify-content:center; width: 2em; height: 2em; border-radius:5px; text-decoration:none; color:#333; }
.nav-links .page-numbers.current, .nav-links .page-numbers[aria-current="page"]{ background: #E00B0B; color:#fff; }
.nav-links .next, .nav-links .prev { padding-bottom: 2px; }
.nav-links a.page-numbers:hover { background: #D6D6D6; }


.otherTtl01 {
  background: #F1F1ED;
}
.otherTtl01 h1 {
  width: 100%;
  max-width: 1000px;
  padding: 2em 0;
  margin: 0 auto;
  text-align: center;
  font-size: 1.4em;
}

.serchLst {
  width: 100%;
  margin-top: 5%;

}

.serchLst li {
  border-bottom: 1px dotted #CCC;
  overflow: hidden;
}

.serchLst li a {
  width: 100%;
  padding: 1em;
  display: grid;
  grid-template-columns: clamp(60px, 30% ,180px) 1fr;
  gap: 1em;
  align-items: start;
}

.serchLst li h2 {
  font-size: 1.4em;
}

.serchLst li a time { color: #999999; font-size: 80%; }

.mT0pct { margin-top: 0; }

.mB0pct  { margin-bottom: 0; }
.mB5  { margin-bottom: 5px ; }
.mB2pct  { margin-bottom: 2%; }
.mB5pct  { margin-bottom: 5%; }
.mB10pct { margin-bottom: 10%; }
.mB20pct { margin-bottom: 20%; }


.centerTxt { text-align: center; }
.rightTxt  { text-align: right; }

.mT0pct { margin-top: 0; }
.mT5pct { margin-top: 5%; }
.mT10pct { margin-top: 10%; }

.yLine { background:linear-gradient(transparent 60%, #ff6 60%); font-weight: normal; }

.cLine { background:linear-gradient(transparent 90%, var(--c-main,#CF0505) 90%); font-weight: normal; }

.posiLeft { left: 0; }
.posiRight { right: 0; }
.mLeft-auto { margin-left: auto;}
.mRight-auto { margin-right: auto;}

.fwBold { font-weight: bold; }
