@charset "utf-8";
/*
 * "Fredericka" is lisenced under the SIL Open Font License 1.1
 * http://fonts.googleapis.com
 * https://www.google.com/fonts/attribution
 * http://scripts.sil.org/OFL
 */
/* *****共通設定***** */
a {
  text-decoration: none;
}
a:hover:not(.btn) {
  opacity: 0.8;
}
.inner a:hover {
  opacity: 1 !important;
}
.bg-primary, .btn-primary {
  background-color: #00008b !important;
}
.bg-primary {
  border-color: #00008b !important;
}
.bg-maincolor {
  background-color: #f0f8ff !important;
}
.bg-kelows {
  background-color: #509BE6;
}
.bg-cream {
  background-color: #FFFDE6;
}
 .bg-purple {
        background-color: #7557AC !important;
    }
.text-kelows {
  color: #509BE6 !important
}
.text-gray3 {
  color: #646464 !important
}
.btn-warning:hover {
  color: #212529;
  background-color: #ffa500;
  border-color: #ffa500;
}
.bg-yl-color {
  background-color: #fffaf0 !important;
}
.bg-gray2 {
  background-color: #9E9E9E !important;
}
.bg-gray3 {
  background-color: #646464 !important;
}
.bg-lgray {
  background-color: #EFEFEF !important;
}
p.title {
  padding: 0em 0.5em; /*上下 左右の余白*/
  color: #494949; /*文字色*/
  background: transparent; /*背景透明に*/
  border-left: solid 5px #56C540; /*左線*/
  font-size: 23px;
  font-weight: 700;
}
p.title2 {
  padding: 0.25em 0.5em; /*上下 左右の余白*/
  color: #494949; /*文字色*/
  background: transparent; /*背景透明に*/
  border-left: solid 5px #3E3E3E !important; /*左線*/
  font-size: 18px;
  font-weight: 700;
  border: 1px solid #ccc;
}
/*メニューバー*/
/*メニューブロック*/
#menubar_inner {
  height: auto;
  margin: 0;
}
#menubar {
  clear: both;
  height: 2em; /*メニューの高さ。下の「#menubar ul li a」の「height」と「padding-top」の数字を合計した数字に合わせる。*/
  text-align: center; /*文字を中央に*/
  background: none; /*背景色*/
  border-bottom: 0px solid #fff; /*下線の幅、線種、色*/
  margin: 0;
}
#menubar ul {
  padding-left: 0;
}
/*メニュー１個あたりの設定*/
#menubar li {
  float: left; /*左に回り込み*/
  /*width: 19.45%; /*メニュー幅（100÷6個=16.66%）　もし４個にするなら100÷4=25%になる。*/
  width: 20%;
  list-style: none;
}
#menubar li a, #menubar li span {
  font-size: 15px;
  text-decoration: none;
  display: block;
  line-height: auto; /*行間を少し狭く*/
  color: #000000; /*文字色*/
  height: 2em; /*高さ*/
  padding-top: 0.4em; /*上に追加する余白*/
  border-right: 1.5px solid #000; /*メニューの右側の線の幅、線種、色（古いブラウザ用）*/
  border-right: 1.5px solid rgba(0, 0, 0, 1.00); /*右の線の幅、線種、255,255,255は白の事で0.5は50%色がついた状態の事。*/
  border-bottom: 0px solid #fff; /*下線の幅、線種、色*/
}
/*１つ目のメニューへの追加設定*/
#menubar li:first-child a {
  border-left: 1px solid rgba(0, 0, 0, 1.00); /*右の線の幅、線種、255,255,255は白の事で0.5は50%色がついた状態の事。*/
}
/*マウスオン時と、現在表示中(current)のメニューの設定*/
#menubar li a:hover, #menubar li.current a {
  background: #FFF; /*背景色*/
  color: #9E9E9E; /*文字色*/
  border-bottom: 0px solid #fff; /*下線の幅、線種、色*/
}
#menubar li span:hover {
  background: #FFF; /*背景色*/
  color: #ccc; /*文字色*/
  border-bottom: 0px solid #fff; /*下線の幅、線種、色*/
}
/*カレンダー*/
.wrapper {
  margin: 10px auto;
  max-width: 700px;
}
.container-calendar {
  background: #ffffff;
  padding: 10px;
  width: 100%;
  margin: 0 auto;
  overflow: auto;
}
.button-container-calendar button {
  cursor: pointer;
  display: inline-block;
  zoom: 1;
  background: #646464;
  color: #fff;
  border: 0px;
  border-radius: 100%;
  padding: 2px 15px;
}
.table-calendar {
  border-collapse: collapse;
  width: 100%;
}
.table-calendar th, .table-calendar td {
  padding: 0 2px 2px 2px;
  border: 1px solid #e2e2e2;
  text-align: center;
  vertical-align: top;
}
.date-picker.selected {
  font-weight: bold;
  color: #fff;
  background: #cc0000;
}
.date-picker.selected span {
  border-bottom: 2px solid currentColor;
}
/* 日曜 */
.date-picker:nth-child(1) {
  color: red;
}
/* 土曜 */
.date-picker:nth-child(7) {
  color: blue;
}
#monthAndYear {
  text-align: center;
  padding-top: 0px;
}
.button-container-calendar {
  position: relative;
  margin-bottom: 1em;
  overflow: hidden;
  clear: both;
}
#previous {
  float: left;
}
#next {
  float: right;
}
.footer-container-calendar {
  margin-top: 1em;
  border-top: 1px solid #dadada;
  padding: 10px 0;
}
.footer-container-calendar select {
  cursor: pointer;
  display: inline-block;
  zoom: 1;
  background: #ffffff;
  color: #454545;
  border: 1px solid #bfc5c5;
  border-radius: 3px;
  padding: 5px 1em;
}
/*追加*/
.fw-400 {
  font-weight: 400;
  padding: 0
}
.fw-500 {
  font-weight: 500 !important;
  padding: 0
}
.fw-600 {
  font-weight: 600 !important;
  padding: 0
}
.fw-700 {
  font-weight: 700;
  padding: 0
}
hr .toiawase {
  border: 1.5px solid #56C540;
  opacity: 1.0;
}
.aspect-ratio-1x1 {
  width: 50%;
}
.aspect-ratio-1x1::before {
  width: 50%;
  content: '';
  display: block;
  padding-top: 50%;
}
p.item {
  font-size: 15px;
  height: 45px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
/*商品画像*/
/*==================================================
スライダーのためのcss
===================================*/
/*画像の横幅を100%にしてレスポンシブ化*/
ul .gallery {
  display: flex;
  list-style: none;
}
.gallery li > img {
  width: 100%;
  height: auto;
  vertical-align: bottom; /*画像の下にできる余白を削除*/
  padding: 20px;
}
/*メイン画像下に余白をつける*/
.gallery {
  margin: 0 0 5px 0;
}
/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev, .slick-next {
  position: absolute; /*絶対配置にする*/
  z-index: 3;
  top: 42%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid #ccc; /*矢印の色*/
  border-right: 2px solid #ccc; /*矢印の色*/
  height: 25px;
  width: 25px;
}
.slick-prev { /*戻る矢印の位置と形状*/
  left: 2.5%;
  transform: rotate(-135deg);
}
.slick-next { /*次へ矢印の位置と形状*/
  right: 2.5%;
  transform: rotate(45deg);
}
/*選択するサムネイル画像の設定*/
.choice-btn li {
  cursor: pointer;
  outline: none;
  background: none;
  width: 12.5% !important;
}
.choice-btn li img {
  opacity: 0.4; /*選択されていないものは透過40%*/
  width: 100%;
  height: auto;
  vertical-align: bottom; /*画像の下にできる余白を削除*/
}
.choice-btn li.slick-current img {
  opacity: 1; /*選択されているものは透過しない*/
}
.choice-btn .slick-track {
  transform: unset !important; /*画面幅サイズ変更に伴うサムネイル固定*/
}
/*2024.2_新スライダー用*/
.slide {
  opacity: 0;
  transition: opacity .3s linear;
}
.slide.slick-initialized {
  opacity: 1;
}
.slider {
  width: 100%;
  margin: 0 auto;
}
.slider img {
  width: 100%;
}
.slider .slick-arrow {
  z-index: 0 !important;
  display: none !important;
}
.slider .slick-next {
  right: 0 !important;
}
.slider .slick-prev {
  left: 0 !important;
}
.slider .slick-slide {
  max-width: 1000px;
  width: 100% !important;
  margin-right: 1vw !important;
  margin-left: 1vw !important;
}
.slider .slick-current {
  max-width: 1000px;
  width: 100% !important;
  margin: auto;
}
/*2024.2_カテゴリスライダー用*/
.slider_category {
  margin: 0px auto 0;
  max-width: 1200px;
  width: 100%;
}
.category_item img {
  height: auto;
  width: 100%;
}
.category_item{
	 margin: 0 5px;
}
/*2024.2_ランキングスライダー用*/
.slider_ranking {
  margin: 0px auto 0;
  /*max-width: 800px;*/
  width: 100%;
}
.slider_ranking > div.card {
  width: 100%;
}
/*ギャラリー用*/
*, *:before, *:after {
  list-style: none;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
#key {
  position: relative;
  width: 100%;
  overflow: hidden;
}
#key ul{
	padding-left:0;
}
#key li {
  list-style:none;
  display: block;
  text-align: center;
  width: 250px;
  height: auto;
  margin: 10px;
  line-height: 100vh;
}
#key img {
  width: 100%;
  margin: 0 auto;
}
#key .slick-slider ul {
  transition: none;
margin:0;
	padding:0;
}

@media screen and (max-width:768px) {
	#key li {
  list-style:none;
  display: block;
  text-align: center;
  width: 150px;
  height: auto;
  margin: 10px;
  line-height: 100vh;
}
}
/*========= レイアウトのためのCSS ===============*/
/*エリア全体を中央寄せ*/
.wrapper {
  width: 94%;
  max-width: 900px;
  margin: 0 auto;
}
.item_slide ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.item_slide a {
  color: #333;
}
.item_slide a:hover, .item_slide a:active {
  text-decoration: none;
}
.item_slide h1 {
  text-align: center;
  font-size: 6vw;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 30px 0;
}
.item_slide p {
  margin: 30px 0;
  word-wrap: break-word;
}
/*商品ページ
商品名＆改行スペースの確保*/
p.item_name {
  line-height: 24px;
  height: 50px;
  font-size: 22px;
}
p.item_cap {
  font-size: 15px;
  line-height: 25px;
  height: 100px;
}
.item_pr p {
  display: inline-block;
}
.item_pr span {
  padding: 4px 10px;
  margin: 0px 5px 0px 0px;
}
.item_co img {
  width: 100%;
  margin-bottom: 5px;
}
.item_co p {
  font-size: 12px;
  line-height: 15px;
}
.h-50p {
  height: 50px !important;
}
div.card:hover {
  opacity: 0.8;
}
.item_bt a, :hover {
  opacity: 1 !important;
}
.top-info {
  font-size: 12px;
}
/*フォントサイズ*/
@media screen and (min-width:768px) {
.h-md-20vh{
	height:20vh!important;}
}
.fs-r12 {
  font-size: clamp(12px, 1.5vw, 16px);
}
.fs-12 {
  font-size:12px;
}
.fs-14 {
  font-size: 14px;
}

/*ボタン装飾*/
.btn-maker {
  color: #fff;
  background-color: #1B457E;
}
.btn-maker:hover {
  color: #1B457E;
  background-color: #FFF;
  border-color: #1B457E;
}
.btn-k {
  color: #fff;
  background-color: #1D1D1D;
}
.btn-k:hover {
  opacity: 0.7 !important;
  color: #fff;
}
.btn-sky {
  color: #fff;
  background-color: #3083B7;
}
.btn-sky:hover {
  opacity: 0.7 !important;
  color: #fff;
}
.btn-line {
  color: #fff;
  background-color: #319800;
}
.btn-line:hover {
  color: #319800;
  background-color: #FFF;
  border-color: #319800;
}
.btn-line-gray {
  color: #5E5E5E;
  background-color: #fff;
  border-color: #5E5E5E;
}
.btn-line-gray:hover {
  color: #9F9F9F;
}
.btn-gray {
  color: #000000;
  background-color: #DFE4E9;
  box-shadow: 0 2px 0px 0 rgba(0, 0, 0, .3);
}
.btn-gray:hover {
  color: #000000;
  background-color: #FFF;
  border-color: #000000;
}
.btn-gray2 {
  color: #000000;
  background-color: #fff;
  border: 1px solid #000 !important;
  box-shadow: 0 2px 0px 0 rgba(0, 0, 0, .3);
}
.btn-gray2:hover {
  box-shadow: 0 2px 0px 0 rgba(255, 255, 255, 0.30);
  transform: translate(0px, 1px);
  color: #fff;
  background-color: #818588;
  border-color: #000000;
  border: 1px solid #000;
}
/*トップページ 背景*/
.top_back {
  height: auto;
  background-size: cover;
  /*background-image: url( "../img/banner/shop_top_back.jpg");    /* 背景画像指定 */
}
.top_back2 {
  height: auto;
  background-size: cover;
  background-image: url("../img/index/shop_top_back_2.jpg"); /* 背景画像指定 */
}
/*制作事例 リスト*/
.sj_list_top figure {
  position: relative;
  overflow: hidden;
  padding-top: 60%; /* 画像の高さを幅の56.25%に固定する */
}
.sj_list_top figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sj_list figure {
  position: relative;
  overflow: hidden;
  padding-top: 75%; /* 画像の高さを幅の56.25%に固定する */
}
.sj_list figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/*アイテム リスト*/
/*画像サイズ統一*/
.item_list img {
  width: 150px;
  height: 150px;
  border: 0px solid #ddd;
  object-fit: contain;
}
div.item_list > div.card:hover {
  opacity: 0.8 !important;
}
.box-child {
  height: auto;
  display: flex;
  flex-direction: column;
  box-sizing: border-box; /*余白を設定*/
}
.box-child-text {
  width: 100%;
  flex-grow: 1;
  box-sizing: border-box; /*余白を設定*/
}
.box-child-img {
  width: 100%;
  flex-grow: 1;
  box-sizing: border-box; /*余白を設定*/
}
.object-fit-cov-ie-w {
  position: absolute;
  width: auto;
  height: 100%;
  top: 50%;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.object-fit-cov-ie-h {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
/*トップreccomend point*/
.rec {
  /*background-image: linear-gradient(0deg, transparent calc(100% - 1px), #FFFFFF calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #FFFFFF calc(100% - 1px));*/
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  background-color: #FFFEF0;
}

/*書体の指定*/
.m-plus {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 800;
  font-style: normal;
}

/*Q&A*/
.qa-wrap {
  display: flex;
  align-items: baseline; /* ラベルとテキストを文字基準線でそろえる */
  gap: 12px;             /* ラベルとテキストの余白を統一 */
}

.q-label, .a-label {
  font-weight: bold;
  color: #000000;
  flex-shrink: 0; /* 狭くなっても縮まない */
}

.qa-text {
  margin: 0;
  display: inline-block;
}
