@charset "utf-8";
/* ===========================================================
 *
 * K-selec01 スタイルシート
 * Last UpDate : 2026/01/29
 *
=========================================================== */

/* ----------------------------------------------------------
	style.css
---------------------------------------------------------- */
/* eb-garamond-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  src: url('./eb-garamond-v32-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* noto-sans-jp-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('./noto-sans-jp-v56-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('./noto-sans-jp-v56-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  src: url('./noto-sans-jp-v56-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-old-mincho-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Zen Old Mincho';
  font-style: normal;
  font-weight: 400;
  src: url('./zen-old-mincho-v13-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ----------------------------------------------------------
 common
---------------------------------------------------------- */
html{ scroll-behavior: smooth; scroll-padding-top: 100px; }

body {
color: #333;
background-color: #fff;
font-family: 'EB Garamond','Noto Sans JP',"Helvetica Neue", "Helvetica","source-han-sans-japanese","Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
font-weight: 400;
font-style: normal;
letter-spacing: 1px;
}
/*
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .h2Wrap{ line-height: 1.7 !important; }

}
*/

.s08{ font-size: 1.4rem; }
.mb0{ margin-bottom: 0; }


a.anker{ display: block; padding-top: 110px; margin-top: -100px; }

.sbi_photo img{ height: 100% !important; object-fit: cover; }


:root{
	--main-color: #ba5128;
}



/* ----------------------------------------------------------
 link
---------------------------------------------------------- */
/*a:link		{ color: #fff; text-decoration: none; }
a:visited	{ color: #333; text-decoration: none; }
a:hover		{ color: #425a9f; text-decoration: none; }
a:active	{ color: #425a9f; text-decoration: none; }*/



/* ----------------------------------------------------------
 header
---------------------------------------------------------- */

header{ position: fixed; top: 0; left: 0; width: 100%; z-index: 100; transition: .3s; background-color: rgba(255, 255, 255, 1); height: 80px; }
.header{ display: flex; justify-content: space-between; align-items: center; font-family: 'Zen Old Mincho'; max-width: 1920px; width: 100%; }

.header_logo{ margin-left: 15px; margin-top: 10px; }
.header_logo a{}
.header_logo a:hover{ opacity: .6; }

.header_sec{display: flex;  align-items: center;}
.header_sec nav{ margin-right: 220px; }
.header_sec02 ul{display: flex;}
.header_sec02 a{padding: 45px 15px; display: block; height: 30px; transition: 0.5s;}
.header_sec02 a:hover{opacity: 0.7; transition: 0.5s;}
.header_sec02 i{color: #fff; font-size: 3rem;}
.gnav{ }
.gnav ul{ display: flex; align-items: center; gap: 30px;}
.gnav ul a{text-align: center; display: block; font-size: 1.8rem;  color: #222; letter-spacing: 2px; line-height: 80px; white-space: nowrap;}
.gnav a:hover{   transition: 0.5s}
.gnavi_reserve{text-align: center;}
.gnavi_reserve a{font-family: heisei-mincho-std, serif; font-weight: 300; font-style: normal; padding: 10px 30px; background-color: #C4494D; border-radius: 24px;}


.gnavi_item a{
	position: relative;
	display: inline-block;
	text-decoration: none;
  }
  
  .gnavi_item a::after{
	position: absolute;
	bottom: 35px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	opacity: 0;
	visibility: hidden;
	transition: .4s;
	background-color: #fff;
  }
  .gnavi_item a:hover::after {
	bottom: 40px;
	opacity: 1;
	visibility: visible;
  }



.header_contact{ position: absolute; right: 0; top: 0; width: 200px; text-align: center;}
.header_contact a{color: #222; font-size: 1.6rem; background-color: #f5f5f5; padding: 28px 0 27px; display: block; transition: .5s;}
.header_contact a:hover{ background-color: #ddd;}



  .footer_sec_list a{position: relative; display: inline-block;}
  .footer_sec_list a::after{content: ""; background-color: #fff; position: absolute; bottom: -10px; left: 0; width: 100%; height: 2px; opacity: 0; visibility: hidden; transition: 0.4s;}
  .footer_sec_list a:hover::after{bottom: -5px; opacity: 1; visibility: visible;}






/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
footer{background-color: #f5f5f5; padding: 40px 0 0; color: #fff; text-align: center; font-family: 'Noto Sans JP', sans-serif; font-weight: 300;}
.footer_logo{margin-bottom: 30px;}
.footer_logo a:hover{ opacity: .6; }
.footer_sns{}
.footer_sns_list{ display: flex; justify-content: center; }
.footer_sns_item{}
.footer_sns_item a{ display: block; font-size: 2rem; color: #222; }
.footer_sns_item a:hover{ opacity: .6; }

.footer_copyright{ font-size: 1.2rem; padding: 30px 0; opacity: 0.7; color: #999; }




/* ぱんくず */
.breadcrumbs{ position: relative; z-index: 1;   color: #fff; padding: 4px 0; margin-bottom: 100px;}  
.breadcrumbs > ol{max-width: 1200px; margin: 0 auto;} 
.breadcrumbs > ol > li{ display: inline-block; position: relative; color: #fff; }
.breadcrumbs > ol > li:before{ content: "/"; display: block; position: absolute; top: 0; left: 6px;  font-size: 1.9rem; }
.breadcrumbs > ol > li:first-child:before{ content: ""; }
.breadcrumbs > ol > li a{ font-size: 1.3rem; margin: 0 0 0 20px; }
.breadcrumbs > ol > li:first-child a{ margin: 0 0 0 0; }
.breadcrumbs > ol > li a:hover{ opacity: 0.6; }
.breadcrumbs ol span a{margin: 0 8px 0 8px;}
.breadcrumbs ol span:first-child a{margin: 0 8px 0 0;}

/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.wrapper{ position: relative; padding-top: 80px; }


.txt01{ font-size: 1.7rem; line-height: 2.3; letter-spacing: 2px; }
.co_white{ color: #fff; }


/* トップページ */
.top_first_wrapper{position: relative; margin-bottom: 40px; }
.top_first_img{width: 100%; position: relative; z-index: 0;}
.top_first_img::after{content: ""; position: absolute; width: 100%; height: 100%; left: 0; top: 0; background-color: #333; z-index: -1;}
.top_first_img img{ width: 100%; height: auto; }
.top_first_topic{position: absolute; top: 10%; left: 5%; color: #fff; font-family: 'Zen Old Mincho'; }
.top_first_topic01{font-size: 2.5rem; display: block;}
.top_first_topic02{font-size: 4rem; line-height: 5rem; display: block;}

.top_contents_wrapper{width: 100%; background-color: #fff;}
.top_contents_sec{ max-width: 1200px; margin: 0 auto 40px;}


h2{ font-size: 5rem; color: var(--main-color); font-family: 'EB Garamond'; font-weight: 400; margin-bottom: 20px; text-align: left; line-height: 1; }
h2:after{ display: none; }
.h2_after{ position: relative; font-size: 1.5rem; font-family: 'Zen Old Mincho'; padding-left: 40px; margin-bottom: 40px; }
.h2_after:before{ content: ""; display: block; position: absolute; left: 0; top: 10px; width: 20px; height: 3px; background-color: var(--main-color); }


.top_about{ display: flex; justify-content: center; }
.top_about_tit{ flex-basis: 35%; margin-right: 2%; }

.top_about_txt{ flex-basis: 61%; margin-left: 2%; font-size: 1.4rem; line-height: 2; }


.top_item{ background-color: #ecebeb; padding: 40px 0; margin-bottom: 40px; }

.top_item_list{ display: flex; }
.top_item_item{ flex-basis: 32%; margin-right: 30px; }
.top_item_img01{ margin-bottom: 10px; }
.top_item_img01 img{ width: 100%; height: auto; }
.top_item_tit01{ font-size: 1.6rem; font-family: 'Zen Old Mincho'; min-height: 48px; }
.top_item_price01{ display: flex; justify-content: space-between; align-items: center; }
.top_item_price01_tit01{ position: relative; font-size: 2rem; font-family: 'Zen Old Mincho'; padding-left: 25px; }
.top_item_price01_tit01:before{ display: block; content: ""; position: absolute; left: 0; top: 8px; width: 15px; height: 15px; border: 4px solid black; border-radius: 50%; }
.top_item_price01_txt01{ font-size: 2rem; font-family: 'Zen Old Mincho'; }
.top_item_price01_txt01 span{ font-size: 3.5rem; font-weight: 700; font-family: 'Noto Sans JP'; }




.top_contact_att{ text-align: center; font-size: 1.8rem; line-height: 2; margin-bottom: 20px; font-family: 'Zen Old Mincho'; }


/* お問合せ */

/* CF7 */
.form__table {
  width: 100%;
  max-width: 96rem;
  margin: 0 auto;
}

.form__table input, 
.form__table button, 
.form__table textarea {
  border: .1rem solid #ccc;
  border-radius: .5rem;
  padding: 1rem;
	font-size: 16px;
}

input.your-company {
  width: 64%;
}

input.your-name-last,
input.your-name-first,
input.your-name-kana-last,
input.your-name-kana-first,
input.your-post{
  width: 48%;
  margin: 0 5px;
}

input.your-prefecture,
input.your-municipalities,
input.your-block,
input.your-others{
  width: 100%;
}

input.your-tell,
input.your-email,
input.your-email_confirm{
  width: 42%;
}

textarea {
  width: 85%;
  height: 10.6em;
  line-height: 1.3;
}

.form__table dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: .1rem solid #ccc;
  padding: 2.5rem 3rem 2.7rem;
  width: 100%;
}

.form__table .form-head {
  width: 20%;
  min-width: 18rem;
}

.form__table .form-head p{ font-weight: 700; }

.form__table dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 3rem;
  font-size: 1.5rem;
  font-size: 1.5rem;
  letter-spacing: 0.001em;
}

.textarea .form-head {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.form__table dd {
  width: 100%;
}

.form__table .post {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.form__table .address {
  display: block;
}

.address-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.address-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.address-items .address-item {
  margin-top: 1.8rem;
}

.address-item dt {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.form-sub {
  color: #666;
  white-space: nowrap;
  padding-left: 1em;
}

.must {
	display: inline-block;
	margin-right: 10px;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  color: #fff;
  padding: .6rem 0 1rem 0;
  background: #bd2e2e;
  width: 7rem;
  height: 3.5rem;
  text-align: center;
}

input.wpcf7-submit,
input[type=reset],
input[type=Reset],
input[type=rEset],
input[type=REset],
input[type=reSet],
input[type=ReSet],
input[type=rESet],
input[type=RESet],
input[type=resEt],
input[type=ResEt],
input[type=rEsEt],
input[type=REsEt],
input[type=reSEt],
input[type=ReSEt],
input[type=rESEt],
input[type=RESEt],
input[type=reseT],
input[type=ReseT],
input[type=rEseT],
input[type=REseT],
input[type=reSeT],
input[type=ReSeT],
input[type=rESeT],
input[type=RESeT],
input[type=resET],
input[type=ResET],
input[type=rEsET],
input[type=REsET],
input[type=reSET],
input[type=ReSET],
input[type=rESET],
input[type=RESET] {
  background: -webkit-gradient(linear, left top, left bottom, from(white), to(#e0e0e0));
  background: linear-gradient(180deg, white 0%, #e0e0e0 100%);
  font-size: 2rem;
  font-size: 2rem;
  padding: .5rem 1.5rem;
  border: none;
  border-radius: .5rem;
  text-shadow: .2rem .2rem .2rem #fff;
  color: #000;
}

.form-btn {
  text-align: center;
}

input.wpcf7-submit {
  margin-right: 1rem;
  font-size: 2.5rem;
  font-size: 2.5rem;
	cursor: pointer;
}

input.wpcf7-submit:hover{ background-color: #999; }

input[type=reset],input[type=Reset],input[type=rEset],input[type=REset],input[type=reSet],input[type=ReSet],input[type=rESet],input[type=RESet],input[type=resEt],input[type=ResEt],input[type=rEsEt],input[type=REsEt],input[type=reSEt],input[type=ReSEt],input[type=rESEt],input[type=RESEt],input[type=reseT],input[type=ReseT],input[type=rEseT],input[type=REseT],input[type=reSeT],input[type=ReSeT],input[type=rESeT],input[type=RESeT],input[type=resET],input[type=ResET],input[type=rEsET],input[type=REsET],input[type=reSET],input[type=ReSET],input[type=rESET],input[type=RESET] {
  font-size: 2.5rem;
  font-size: 2.5rem;
  cursor: pointer;
}

.wpcf7-spinner {
  display: none;
}

::placeholder{ color: #aaa; }

.itemlist select,
.itemcount select{ padding: 10px; font-size: 1.6rem; }


/* dd.itemlist 側に display 指定があるテーマ対策 */
.wpcf7 dd.qty-grid{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto; /* 左:商品名 / 右:入力(固定幅) */
  column-gap: 12px;
  row-gap: 10px;
  align-items: center;
}

/* CF7が入れるpやbrがグリッドを壊すのを防ぐ */
.wpcf7 dd.qty-grid p{
  margin: 0;
  display: contents; /* p自体を“消して”中身だけグリッドに乗せる */
}
.wpcf7 dd.qty-grid br{
  display: none;
}

/* 商品名 */
.wpcf7 dd.qty-grid .qty-label{
  display: block;
}

/* 入力wrap（CF7が自動で入れるspan）も整える */
.wpcf7 dd.qty-grid .wpcf7-form-control-wrap{
  display: block;
}

/* 数量入力を短く */
.wpcf7 dd.qty-grid input.qty[type="number"]{
  width: 5.5em;
  padding: 6px 8px;
  box-sizing: border-box;
}

/* スピンボタン非表示（任意） */
.wpcf7 dd.qty-grid input.qty[type="number"]::-webkit-outer-spin-button,
.wpcf7 dd.qty-grid input.qty[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.wpcf7 dd.qty-grid input.qty[type="number"]{
  -moz-appearance: textfield;
}
/* 既存のgridはそのまま前提 */
.wpcf7 dd.qty-grid{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 12px;
  row-gap: 10px;
  align-items: center;
}

/* ヘッダー */
.wpcf7 dd.qty-grid .qty-colhead{
  font-weight: 700;
  font-size: 0.95em;
  line-height: 1.2;
  text-align: left;      /* 右列の先頭に合わせる */
  padding-bottom: 2px;
}

/* 左側の空ヘッダーは高さ調整だけ */
.wpcf7 dd.qty-grid .qty-head{
  display: block;
}

/* 入力欄短め */
.wpcf7 dd.qty-grid input.qty[type="number"]{
  width: 5.5em;
  padding: 6px 8px;
  box-sizing: border-box;
}






/*サンクスページ*/
.thanks_sec{padding-top: 80px;}
.thanks_sec h1{ font-size: 5rem; color: var(--main-color); max-width: 1000px; width: 90%; margin: 40px auto 0 auto; }
.thanks_sec p{max-width: 1000px; width: 90%; margin: 40px auto 80px auto; font-size: 1.8rem; line-height: 3rem;}

/*404*/
.notfound_sec{width: 90%; margin: 0 auto; max-width: 1000px; padding: 80px 0; font-size: 2.5rem; text-align: center;}




.top_info{  }
.top_info_table{ width: 960px; margin: 0 auto 80px auto; }
.top_info_table th{ width: 30%; font-size: 1.6rem; padding: 15px; text-align: left; border-bottom: 1px solid #ccc; font-family: 'Zen Old Mincho'; }
.top_info_table td{ font-size: 1.6rem; padding: 15px; border-bottom: 1px solid #ccc; font-family: 'Zen Old Mincho'; }








/* ----------------------------------------------------------
 SP CSS
---------------------------------------------------------- */
@media screen and (max-width:521px){
img,video {
  max-width: 100%;
  height: auto;
}

/* フォントサイズ10px=62.5% */
html{ font-size: 60%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem; height: auto !important; padding-top: 0; }

/* 非表示用 */
.noneSP	{ display: none !important; }


/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{position: fixed; height: 50px;}
.header{ background-color:  rgba(255, 255, 255, 1); height: 50px; }
.header_logo{ flex-basis: initial; margin-top: 5px; }
.header_logo01{padding: 10px 0 0 20px;}
.header_logo img{ max-width: 120px; height: auto; }

.header_sec{height: initial;}
.header_sec02{margin: 0 60px 0 auto;}
.header_sec02 a{padding: 19px 15px; height: initial;}
.header_sec03{display: flex; }




.is-animation{ background-color: rgba(255,255,255,0.9); }
.is-animation #header{ box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.26);}







/*toggle*/

.toggle{
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    margin: 0;
    padding: 0;
    width: 60px;
    height: 50px;
    border: none;
    background-color: transparent;
    transition: background-color 0.2s ease;
    cursor: pointer;}
	
	.toggle::before, .toggle::after {
    content: "";
    background-color: #000;
    transition: background-color 0.3s ease;
}
	
	.toggle > span, .toggle:before, .toggle:after{
	display: block;
        background-color: #666;
    position: absolute;
    top: 48%;
    left: 48%;
    width: 30px;
    height: 3px;
    margin: -2px 0 0 -15px;}
	.toggle:before{transform: translateY(-10px);}
	.toggle:after{transform: translateY(10px);}


.toggle {
  position: fixed;

}



.toggle[aria-expanded=true] > span {
  opacity: 0;
}
.toggle[aria-expanded=true]::before, .toggle[aria-expanded=true]::after {
  background-color: #fff;
}
.toggle[aria-expanded=true]::before {
  animation: 0.3s ease closeBar1 forwards;
}
.toggle[aria-expanded=true]::after {
  animation: 0.3s ease closeBar2 forwards;
}
.toggle.-close::before {
  animation: 0.3s ease closeBar1Rev forwards;
}
.toggle.-close::after {
  animation: 0.3s ease closeBar2Rev forwards;
}

@keyframes closeBar1 {
  0% {
    transform: translateY(-10px);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(45deg);
  }
}
	
@keyframes closeBar2 {
  0% {
    transform: translateY(10px);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(-45deg);
  }
}
@keyframes closeBar1Rev {
  0% {
    transform: translateY(0) rotate(45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(-10px);
  }
}
@keyframes closeBar2Rev {
  0% {
    transform: translateY(0) rotate(-45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(10px);
  }
}
  
.nav {	
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	padding: 80px 20px;
	justify-content: center;
	/* align-content: center; */
	align-items: center;
	overflow: scroll;
	background: rgba(0, 0, 0,0.6);
	color: #fff;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.nav[aria-hidden=true] {
  	visibility: hidden;
  	opacity: 0;
 	pointer-events: none;
}
.nav[aria-hidden=false] {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
    overflow: scroll;
}

.menu li {

}
.menu li a {
	color: #fff;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.5;
	border-bottom: 1px solid #fff;
	display: block;
	padding: 15px 0;
}

.menu li i {
  margin-right: 5px;
}


/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu {display: none; position: fixed; bottom: -50px; width: 100%; border-top: 1px solid #333; z-index: 99; }
.btm_menu li { float: left; width: 50%; }
.btm_menu li:first-child a { border-right: 1px solid #fff; }
.btm_menu li a { display: block; height: 30px; text-align: center; font-size: 1.6rem; padding: 15px 5px 5px; background-color: #333; color: #fff;}
.btm_menu li a i{ font-size: 1.8rem; margin-right: 10px; }
.btm_menu li a:hover { background-color: #666464; color: #fff; }
.btm_menu ul:after { content: ''; clear: both; display: block; }

.footer_btn_tit01{padding: 65px 0;}

footer{}
.footer_copyright{margin: 0 auto; text-align: center;}

	





/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_wrap{ position: absolute; left: 10%; bottom: 0; width: 90%; padding: 20px; background-color: rgba(255,255,255,0.9); z-index: 99; }
.h1_tit01{ font-size: 1.5rem; }
.h1_tit02{ font-size: 4rem; }





h3{ font-size: 2.2rem; font-weight: 700; letter-spacing: 2px; line-height: 1.8; margin-bottom: 20px; }

/* ぱんくず */
.breadcrumbs{ position: relative; z-index: 1;   color: #fff; padding: 4px 0; margin-bottom: 100px;}  
.breadcrumbs > ol{padding-left:  12px;} 
.breadcrumbs > ol > li{ display: inline-block; position: relative; color: #fff; }
.breadcrumbs > ol > li:before{ content: "/"; display: block; position: absolute; top: 0; left: 6px;  font-size: 1.9rem; }
.breadcrumbs > ol > li:first-child:before{ content: ""; }
.breadcrumbs > ol > li a{ font-size: 1.2rem; margin: 0 0 0 20px; }
.breadcrumbs > ol > li:first-child a{ margin: 0 0 0 0; }
.breadcrumbs > ol > li a:hover{ opacity: 0.6; }

/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.wrapper{ position: relative; padding-top: 50px;}
		

/*トップページ*/
.top_first_wrapper{margin-bottom: 50px;}
.top_first_topic01{font-size: 2rem;}
.top_first_topic02{ display: none; }
.top_contents_sec{ width: 90%; margin: 0 auto 50px; }

.concept_sec h2{font-size: 3rem; margin-bottom: 25px;}
.concept_txt{font-size: 1.5rem; line-height: 3.3rem; margin-right: 0; margin-bottom: 20px;}




h2{ font-size: 4rem; color: var(--main-color); font-family: 'EB Garamond'; font-weight: 400; margin-bottom: 5px; text-align: left; line-height: 1; }
h2:after{ display: none; }
.h2_after{ position: relative; font-size: 1.5rem; font-family: 'Zen Old Mincho'; padding-left: 40px; margin-bottom: 20px; }
.h2_after:before{ content: ""; display: block; position: absolute; left: 0; top: 10px; width: 20px; height: 3px; background-color: var(--main-color); }


.top_about{ display: flex; justify-content: center; flex-wrap: wrap; }
.top_about_tit{ flex-basis: 100%; margin-right: 0; margin-bottom: 0px; }

.top_about_txt{ flex-basis: 100%; margin-left: 0; font-size: 1.4rem; line-height: 2; }


.top_item{ background-color: #ecebeb; padding: 40px 0 0 0; margin-bottom: 40px; }

.top_item_list{ display: flex; flex-wrap: wrap; }
.top_item_item{ flex-basis: 100%; margin-right: 0; margin-bottom: 30px; }
.top_item_img01{ margin-bottom: 10px; }
.top_item_img01 img{ width: 100%; height: auto; }
.top_item_tit01{ font-size: 1.6rem; font-family: 'Zen Old Mincho'; }
.top_item_price01{ display: flex; justify-content: space-between; align-items: center; }
.top_item_price01_tit01{ position: relative; font-size: 2rem; font-family: 'Zen Old Mincho'; padding-left: 25px; }
.top_item_price01_tit01:before{ display: block; content: ""; position: absolute; left: 0; top: 8px; width: 15px; height: 15px; border: 4px solid black; border-radius: 50%; }
.top_item_price01_txt01{ font-size: 2rem; font-family: 'Zen Old Mincho'; }
.top_item_price01_txt01 span{ font-size: 3.5rem; font-weight: 700; font-family: 'Noto Sans JP'; }




.top_contact_att{ text-align: center; font-size: 1.5rem; line-height: 1.8; margin-bottom: 20px; font-family: 'Zen Old Mincho'; }	




.top_contents_sec iframe{height: 400px;}


/* CF7 */
.form__table {
  margin: 0 auto;
}

.form__table input, 
.form__table button, 
.form__table textarea {
  border: .1rem solid #ccc;
  border-radius: .5rem;
  padding: 1rem;
	font-size: 14px;
}

input.your-company {
  width: 90%;
}

input.your-name-last,
input.your-name-first,
input.your-name-kana-last,
input.your-name-kana-first,
input.your-post{
  width: 45%;
  margin: 0 5px;
}

input.your-prefecture,
input.your-municipalities,
input.your-block,
input.your-others{
  width: 100%;
}

input.your-tell,
input.your-email,
input.your-email_confirm,
input.attachedfile01,
input.attachedfile02,
input.attachedfile03{
  width: 100%;
}

textarea {
  width: 100%;
  height: 10.6em;
  line-height: 1.3;
}

.form__table dl {
  display: flex;
  border-top: .1rem solid #ccc;
  padding: 2.5rem 1rem 2.7rem;
  width: 100%;
	flex-wrap: wrap;
}

.form__table .form-head {
  width: 100%;
  min-width: 18rem;
	margin-bottom: 10px;
}

.form__table dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 0rem;
  font-size: 1.5rem;
  font-size: 1.5rem;
  letter-spacing: 0.001em;
}

.textarea .form-head {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.form__table dd {
  width: 100%;
}

.form__table .post {
          justify-content: flex-start;
}

.form__table .address {
  display: block;
}

.address-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
	flex-wrap: wrap;
}

.address-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	flex-wrap: wrap;
}

.address-items .address-item {
  margin-top: 1.8rem;
}

.address-item dt {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.form-sub {
  color: #666;
  white-space: nowrap;
  padding-left: 0em;
}

.must {
  font-size: 1.3rem;
  letter-spacing: 0.5em;
  color: #fff;
  background: #bd2e2e;
  text-align: center;
	margin-right: 10px;
}

input.wpcf7-submit,
input[type=reset],
input[type=Reset],
input[type=rEset],
input[type=REset],
input[type=reSet],
input[type=ReSet],
input[type=rESet],
input[type=RESet],
input[type=resEt],
input[type=ResEt],
input[type=rEsEt],
input[type=REsEt],
input[type=reSEt],
input[type=ReSEt],
input[type=rESEt],
input[type=RESEt],
input[type=reseT],
input[type=ReseT],
input[type=rEseT],
input[type=REseT],
input[type=reSeT],
input[type=ReSeT],
input[type=rESeT],
input[type=RESeT],
input[type=resET],
input[type=ResET],
input[type=rEsET],
input[type=REsET],
input[type=reSET],
input[type=ReSET],
input[type=rESET],
input[type=RESET] {
  background: -webkit-gradient(linear, left top, left bottom, from(white), to(#e0e0e0));
  background: linear-gradient(180deg, white 0%, #e0e0e0 100%);
  font-size: 2rem;
  font-size: 2rem;
  padding: .5rem 1.5rem;
  border: none;
  border-radius: .5rem;
  text-shadow: .2rem .2rem .2rem #fff;
  color: #000;
}

.form-btn {
  text-align: center;
}

input.wpcf7-submit {
  margin-right: 1rem;
  font-size: 2rem;
	cursor: pointer;
}

input.wpcf7-submit:hover{ background-color: #999; }

input[type=reset],input[type=Reset],input[type=rEset],input[type=REset],input[type=reSet],input[type=ReSet],input[type=rESet],input[type=RESet],input[type=resEt],input[type=ResEt],input[type=rEsEt],input[type=REsEt],input[type=reSEt],input[type=ReSEt],input[type=rESEt],input[type=RESEt],input[type=reseT],input[type=ReseT],input[type=rEseT],input[type=REseT],input[type=reSeT],input[type=ReSeT],input[type=rESeT],input[type=RESeT],input[type=resET],input[type=ResET],input[type=rEsET],input[type=REsET],input[type=reSET],input[type=ReSET],input[type=rESET],input[type=RESET] {
  font-size: 2rem;
  cursor: pointer;
}

.wpcf7-spinner {
  display: none;
}

::placeholder{ color: #aaa; }

.itemlist select,
.itemcount select{ padding: 10px; font-size: 1.6rem; width: 100%; }


}
/* ----------------------------------------------------------
 SP CSS END
---------------------------------------------------------- */
/* ----------------------------------------------------------
 TAB CSS
---------------------------------------------------------- */
@media screen and (min-width: 521px) and (max-width: 1200px){

img,video {
  max-width: 100%;
  height: auto;
}

/* フォントサイズ10px=62.5% */
html{ font-size: 50%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem; padding-top: 0; }

/* 非表示用 */
.noneTAB		{ display: none !important; }




/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{position: fixed; height: 50px;}
.header{ background-color:  rgba(255, 255, 255, 1); height: 50px; }
.header_logo{ flex-basis: initial; margin-top: 5px; }
.header_logo01{padding: 10px 0 0 20px;}
.header_logo img{ max-width: 120px; height: auto; }

.header_sec{height: initial;}
.header_sec02{margin: 0 60px 0 auto;}
.header_sec02 a{padding: 19px 15px; height: initial;}
.header_sec03{display: flex; }




.is-animation{ background-color: rgba(255,255,255,0.9); }
.is-animation #header{ box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.26);}







/*toggle*/

.toggle{
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    margin: 0;
    padding: 0;
    width: 60px;
    height: 50px;
    border: none;
    background-color: transparent;
    transition: background-color 0.2s ease;
    cursor: pointer;}
	
	.toggle::before, .toggle::after {
    content: "";
    background-color: #000;
    transition: background-color 0.3s ease;
}
	
	.toggle > span, .toggle:before, .toggle:after{
	display: block;
        background-color: #666;
    position: absolute;
    top: 48%;
    left: 48%;
    width: 30px;
    height: 3px;
    margin: -2px 0 0 -15px;}
	.toggle:before{transform: translateY(-10px);}
	.toggle:after{transform: translateY(10px);}


.toggle {
  position: fixed;

}



.toggle[aria-expanded=true] > span {
  opacity: 0;
}
.toggle[aria-expanded=true]::before, .toggle[aria-expanded=true]::after {
  background-color: #fff;
}
.toggle[aria-expanded=true]::before {
  animation: 0.3s ease closeBar1 forwards;
}
.toggle[aria-expanded=true]::after {
  animation: 0.3s ease closeBar2 forwards;
}
.toggle.-close::before {
  animation: 0.3s ease closeBar1Rev forwards;
}
.toggle.-close::after {
  animation: 0.3s ease closeBar2Rev forwards;
}

@keyframes closeBar1 {
  0% {
    transform: translateY(-10px);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(45deg);
  }
}
	
@keyframes closeBar2 {
  0% {
    transform: translateY(10px);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(-45deg);
  }
}
@keyframes closeBar1Rev {
  0% {
    transform: translateY(0) rotate(45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(-10px);
  }
}
@keyframes closeBar2Rev {
  0% {
    transform: translateY(0) rotate(-45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(10px);
  }
}
  
.nav {	
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	padding: 80px 20px;
	justify-content: center;
	/* align-content: center; */
	align-items: center;
	overflow: scroll;
	background: rgba(0, 0, 0,0.6);
	color: #fff;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.nav[aria-hidden=true] {
  	visibility: hidden;
  	opacity: 0;
 	pointer-events: none;
}
.nav[aria-hidden=false] {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
    overflow: scroll;
}

.menu li {

}
.menu li a {
	color: #fff;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.5;
	border-bottom: 1px solid #fff;
	display: block;
	padding: 15px 0;
}

.menu li i {
  margin-right: 5px;
}


/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu {display: none; position: fixed; bottom: -50px; width: 100%; border-top: 1px solid #333; z-index: 99; }
.btm_menu li { float: left; width: 50%; }
.btm_menu li:first-child a { border-right: 1px solid #fff; }
.btm_menu li a { display: block; height: 30px; text-align: center; font-size: 1.6rem; padding: 15px 5px 5px; background-color: #333; color: #fff;}
.btm_menu li a i{ font-size: 1.8rem; margin-right: 10px; }
.btm_menu li a:hover { background-color: #666464; color: #fff; }
.btm_menu ul:after { content: ''; clear: both; display: block; }

.footer_btn_tit01{padding: 65px 0;}

footer{}
.footer_copyright{margin: 0 auto; text-align: center;}

/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_wrap{ position: absolute; left: 10%; bottom: 0; width: 90%; padding: 20px; background-color: rgba(255,255,255,0.9); z-index: 99; }
.h1_tit01{ font-size: 1.5rem; }
.h1_tit02{ font-size: 4rem; }





h3{ font-size: 2.2rem; font-weight: 700; letter-spacing: 2px; line-height: 1.8; margin-bottom: 20px; }

/* ぱんくず */
.breadcrumbs{ position: relative; z-index: 1;   color: #fff; padding: 4px 0; margin-bottom: 100px;}  
.breadcrumbs > ol{padding-left:  12px;} 
.breadcrumbs > ol > li{ display: inline-block; position: relative; color: #fff; }
.breadcrumbs > ol > li:before{ content: "/"; display: block; position: absolute; top: 0; left: 6px;  font-size: 1.9rem; }
.breadcrumbs > ol > li:first-child:before{ content: ""; }
.breadcrumbs > ol > li a{ font-size: 1.2rem; margin: 0 0 0 20px; }
.breadcrumbs > ol > li:first-child a{ margin: 0 0 0 0; }
.breadcrumbs > ol > li a:hover{ opacity: 0.6; }
/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.wrapper{ position: relative; padding-top: 50px;}
		

/*トップページ*/
.top_first_wrapper{margin-bottom: 50px;}
.top_first_topic01{font-size: 2rem;}
.top_first_topic02{ display: none; }
.top_contents_sec{ width: 90%; margin: 0 auto 50px; }

.concept_sec h2{font-size: 3rem; margin-bottom: 25px;}
.concept_txt{font-size: 1.5rem; line-height: 3.3rem; margin-right: 0; margin-bottom: 20px;}




h2{ font-size: 4rem; color: var(--main-color); font-family: 'EB Garamond'; font-weight: 400; margin-bottom: 5px; text-align: left; line-height: 1; }
h2:after{ display: none; }
.h2_after{ position: relative; font-size: 1.5rem; font-family: 'Zen Old Mincho'; padding-left: 40px; margin-bottom: 20px; }
.h2_after:before{ content: ""; display: block; position: absolute; left: 0; top: 10px; width: 20px; height: 3px; background-color: var(--main-color); }


.top_about{ display: flex; justify-content: center; flex-wrap: wrap; }
.top_about_tit{ flex-basis: 100%; margin-right: 0; margin-bottom: 0px; }

.top_about_txt{ flex-basis: 100%; margin-left: 0; font-size: 1.4rem; line-height: 2; }


.top_item{ background-color: #ecebeb; padding: 40px 0 0 0; margin-bottom: 40px; }

.top_item_list{ display: flex; flex-wrap: wrap; }
.top_item_item{ flex-basis: 48%; margin-right: 2%; margin-bottom: 30px; }
.top_item_img01{ margin-bottom: 10px; }
.top_item_img01 img{ width: 100%; height: auto; }
.top_item_tit01{ font-size: 1.6rem; font-family: 'Zen Old Mincho'; }
.top_item_price01{ display: flex; justify-content: space-between; align-items: center; }
.top_item_price01_tit01{ position: relative; font-size: 2rem; font-family: 'Zen Old Mincho'; padding-left: 25px; }
.top_item_price01_tit01:before{ display: block; content: ""; position: absolute; left: 0; top: 8px; width: 15px; height: 15px; border: 4px solid black; border-radius: 50%; }
.top_item_price01_txt01{ font-size: 2rem; font-family: 'Zen Old Mincho'; }
.top_item_price01_txt01 span{ font-size: 3.5rem; font-weight: 700; font-family: 'Noto Sans JP'; }




.top_contact_att{ text-align: center; font-size: 1.5rem; line-height: 1.8; margin-bottom: 20px; font-family: 'Zen Old Mincho'; }	




.top_contents_sec iframe{height: 400px;}


/* CF7 */
.form__table {
  margin: 0 auto;
}

.form__table input, 
.form__table button, 
.form__table textarea {
  border: .1rem solid #ccc;
  border-radius: .5rem;
  padding: 1rem;
	font-size: 14px;
}

input.your-company {
  width: 90%;
}

input.your-name-last,
input.your-name-first,
input.your-name-kana-last,
input.your-name-kana-first,
input.your-post{
  width: 45%;
  margin: 0 5px;
}

input.your-prefecture,
input.your-municipalities,
input.your-block,
input.your-others{
  width: 100%;
}

input.your-tell,
input.your-email,
input.your-email_confirm,
input.attachedfile01,
input.attachedfile02,
input.attachedfile03{
  width: 100%;
}

textarea {
  width: 100%;
  height: 10.6em;
  line-height: 1.3;
}

.form__table dl {
  display: flex;
  border-top: .1rem solid #ccc;
  padding: 2.5rem 1rem 2.7rem;
  width: 100%;
	flex-wrap: wrap;
}

.form__table .form-head {
  width: 100%;
  min-width: 18rem;
	margin-bottom: 10px;
}

.form__table dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 0rem;
  font-size: 1.5rem;
  font-size: 1.5rem;
  letter-spacing: 0.001em;
}

.textarea .form-head {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.form__table dd {
  width: 100%;
}

.form__table .post {
          justify-content: flex-start;
}

.form__table .address {
  display: block;
}

.address-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
	flex-wrap: wrap;
}

.address-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	flex-wrap: wrap;
}

.address-items .address-item {
  margin-top: 1.8rem;
}

.address-item dt {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.form-sub {
  color: #666;
  white-space: nowrap;
  padding-left: 0em;
}

.must {
  font-size: 1.3rem;
  letter-spacing: 0.5em;
  color: #fff;
  background: #bd2e2e;
  text-align: center;
	margin-right: 10px;
}

input.wpcf7-submit,
input[type=reset],
input[type=Reset],
input[type=rEset],
input[type=REset],
input[type=reSet],
input[type=ReSet],
input[type=rESet],
input[type=RESet],
input[type=resEt],
input[type=ResEt],
input[type=rEsEt],
input[type=REsEt],
input[type=reSEt],
input[type=ReSEt],
input[type=rESEt],
input[type=RESEt],
input[type=reseT],
input[type=ReseT],
input[type=rEseT],
input[type=REseT],
input[type=reSeT],
input[type=ReSeT],
input[type=rESeT],
input[type=RESeT],
input[type=resET],
input[type=ResET],
input[type=rEsET],
input[type=REsET],
input[type=reSET],
input[type=ReSET],
input[type=rESET],
input[type=RESET] {
  background: -webkit-gradient(linear, left top, left bottom, from(white), to(#e0e0e0));
  background: linear-gradient(180deg, white 0%, #e0e0e0 100%);
  font-size: 2rem;
  font-size: 2rem;
  padding: .5rem 1.5rem;
  border: none;
  border-radius: .5rem;
  text-shadow: .2rem .2rem .2rem #fff;
  color: #000;
}

.form-btn {
  text-align: center;
}

input.wpcf7-submit {
  margin-right: 1rem;
  font-size: 2rem;
	cursor: pointer;
}

input.wpcf7-submit:hover{ background-color: #999; }

input[type=reset],input[type=Reset],input[type=rEset],input[type=REset],input[type=reSet],input[type=ReSet],input[type=rESet],input[type=RESet],input[type=resEt],input[type=ResEt],input[type=rEsEt],input[type=REsEt],input[type=reSEt],input[type=ReSEt],input[type=rESEt],input[type=RESEt],input[type=reseT],input[type=ReseT],input[type=rEseT],input[type=REseT],input[type=reSeT],input[type=ReSeT],input[type=rESeT],input[type=RESeT],input[type=resET],input[type=ResET],input[type=rEsET],input[type=REsET],input[type=reSET],input[type=ReSET],input[type=rESET],input[type=RESET] {
  font-size: 2rem;
  cursor: pointer;
}

.wpcf7-spinner {
  display: none;
}

::placeholder{ color: #aaa; }

.itemlist select,
.itemcount select{ padding: 10px; font-size: 1.6rem; width: 100%; }



}
/* ----------------------------------------------------------
TAB CSS END
---------------------------------------------------------- */

/* ----------------------------------------------------------
 PC CSS
---------------------------------------------------------- */
@media screen and (min-width:1201px){

/* フォントサイズ10px */
html{ font-size: 62.5%; }

/* 基本のフォントサイズ */
body{  font-size: 1.8rem; }

/* 非表示用 */
.nonePC		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */

/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu{ display: none; }




/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

.top_contents_sec{ max-width: 90%; margin: 0 auto 40px;}



}
/* ----------------------------------------------------------
 PC CSS END
---------------------------------------------------------- */