.jp {font-family:"Butler", serif;font-weight: normal}
.title-h2 {font-size:30px}
.title-block {font-size: 24px;}
.title-block2 {font-size: 21px;}
.fs11{font-size:11px}
.fs12{font-size:12px}
.fs13{font-size:13px}
.fs14{font-size:14px}
.fs16{font-size:16px}
.fs18{font-size:18px}
.fs21{font-size:21px}
.fs24{font-size:24px}
.fs27{font-size:27px}
.fs30{font-size:30px}
br.sp-only {display: none}
br.spc{display:inline}
.let1{letter-spacing:1px}
.let2{letter-spacing:2px}
.let3{letter-spacing:3px}
.dsn-accordion .accordion__answer {max-width: 95%;}
.table-bordered {border: 1px solid #ddd;}
.table {width: 100%;max-width: 100%;}
table {background-color: transparent;border-spacing: 0;border-collapse: collapse;width:100%;}
td,th{border: 1px solid #ddd;padding:8px;text-align:center}
.danger {background-color: #f2dede;}
.red{color:#A5082D!important;}
.blue{color:#11179f!important;}
.black{color:#000!important;}
.white{color:#fff!important;}
.main-brand img, .dsnload__img img {width: 240px;}
.breadcrumb li {float:left;}
.dsn-ajax-loader h6.title,.dsn-ajax-loader h6.title .square-before {font-family:"Butler", serif;font-weight: normal}
.komoji{text-transform: none;}
.order .number {width: 30px;height: 30px;line-height: 30px;border-radius: 50%;text-align: center;margin-right: 15px;font-size: 14px;}
.ls0{letter-spacing:0px;margin-right:5px;}
.space-left30{margin-left:30px;}
.space-left45{margin-left:45px;}
.title-h3{font-size: var(--font-size-h5);}
.pl-10{padding-left:10px}

.dsn-background-inherit .background-main .dsn-bg, .dsn-background-inherit .background-main .dsn-bg-after:after, .dsn-background-inherit .background-main .dsn-bg-before:before, .dsn-background-inherit.background-main .dsn-bg, .dsn-background-inherit.background-main .dsn-bg-after:after, .dsn-background-inherit.background-main .dsn-bg-before:before, .dsn-def-btn .background-main .dsn-bg, .dsn-def-btn .background-main .dsn-bg-after:after, .dsn-def-btn .background-main .dsn-bg-before:before, .dsn-def-btn.background-main .dsn-bg, .dsn-def-btn.background-main .dsn-bg-after:after, .dsn-def-btn.background-main .dsn-bg-before:before {
    background-color: #aaaaaa;
}
.navbar-toggle .toggle-line {
    background: currentColor; /* 色切り替えに対応 */
    filter: drop-shadow(0 2px 2px rgba(256,256,256,0.8));
}
.navbar-toggle .toggle-text {
    text-shadow: 0 0 2px rgba(256,256,256,0.8),0 1px 2px rgba(256,256,256,0.8);
	font-weight:bold;
}
@media screen and (max-width:480px ){
.pc-only{display:none}
br.pc-only{display:none!important}
br.sp-only {display:inline !important}
.w100{width:100%}
.float-right{float:right}
.box-left{margin-bottom:20px}
.spfs11{font-size:11px}
.spfs12{font-size:12px}
.spfs13{font-size:13px}
.spfs14{font-size:14px}
.spfs16{font-size:16px}
.spfs18{font-size:18px}
.spfs21{font-size:21px}
.spfs24{font-size:24px}
.spfs27{font-size:27px}
.spfs30{font-size:30px}
.spmt-20{margin-top:20px}
.grid-2 {grid-template-columns: repeat(1, 1fr);}
.nav-item{height:35px}
.nav-item a{font-size:21px!important}
.site-header.dsn-hamburger ul.primary-nav, .site-header.dsn-hamburger ul.primary-nav ul {padding-bottom: 150px!important}
.main-slider .control-nav {margin-bottom:150px;}
.main-slider .dsn-paginate-arrow .next-arrow svg, .main-slider .dsn-paginate-arrow .prev-arrow svg {
    transition: 0.5s;
    stroke: #fff;
	stroke-width:3px!important;
}
}

@media only screen and (min-width: 1400px) {:root {--title-heading: 75px}}
@media only screen and (max-width: 1399px) {:root {--title-heading: 64px}}
@media only screen and (max-width: 1200px) {:root {--title-heading: 54px}}
@media only screen and (max-width: 991px) {:root {--title-heading: 48px}}
@media only screen and (max-width: 575px) {:root {--title-heading: 36px}}
@media only screen and (max-width: 767px) {
    .about-2 .box-img {display: block!important;}
	.box-img.mb-50 {margin-bottom: 10px!important;}
	.box-info .mt-section {margin-top: 10px!important;}
}

.sp-fixed-menu {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #fff;
  border-top: 1px solid #ddd;
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* 横3つ */
  grid-template-rows: repeat(1, 1fr);     /* 縦2行 */
  z-index: 9999;
  padding: 6px 0;
 opacity:0.9;
 padding-top:20px;
 padding-bottom:20px;
}
.sp-fixed-menu .item {
  text-align: center;
  font-size: 11px;
  color: #333;
}
.sp-fixed-menu .item i {
  font-size: 22px;
  display: block;
  margin-bottom: 3px;
}
@media (min-width: 768px) {
  .sp-fixed-menu {
    display: none; /* PC非表示 */
  }
}

/* コンテンツが隠れないよう余白を確保 */
body {
  padding-bottom: 90px;
}