@charset "UTF-8";

/* CSS Document */

.cf{
    width: 100%;
	zoom: 0;
}
.cf:before,.cf:after{
	content:""; display: table;
}
.cf:after{
	clear: both;
}
#head_wrapper{
		height:45px;
}
body {
	word-break: break-all;
}
h1, h2, h3,h4,p {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box; /* 枠線やpaddingを含めて95%にする設定 */
}
h2{
	font-size: 1.12em;
    color: #333;
    line-height: 1.5em;
	border-left:solid 10px rgb(224, 85, 51);
	padding-left:10px;
	margin:1.5em auto;
}
h3{
    margin:1.5em auto;
    line-height: 1.5em;

}
p,ul{
	font-family:“メイリオ”,”Hiragino Kaku Gothic Pro”,Meiryo,”ヒラギノ角ゴ Pro W3″,”MS PGothic”,”MS UI Gothic”,Helvetica,Arial,sans-serif;
	padding:0;
	margin-bottom:1.1em;
	font-size:1em;
	line-height:160%;
	list-style:none;
	color:#363636;
}
img{
	max-width:100%;
	height:auto;
	display:block;
	margin:0 auto;
}
main{
	padding-top:60px;
}
h1{
	font-size: 1em;
	line-height: 1.2em;
	color:#333;
}
/* =====================
   common
   =================== */
   section{
	margin-bottom: 60px;
}
.btn{
 width: 80%;
 margin:1.5rem auto;
display: block;
  padding: 12px 24px;
  background: #ffffff;
  color: #333333;
  border: 2px solid #302929;
  border-radius: 30px; /* 角丸 */
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
}
.btn:hover {
  background: #f5f5f5;
  border-color: #cccccc;
}
.green{
	color: #19b114;
}
.red{
	color: #cf0404;
}
.b{
	font-weight: bold;
}
.check::before{
  content: "✔";
  color: #2e7d32;
  font-weight: bold;
  margin-right: 8px;
}
/* =====================
   目次
   =================== */
.toc{
	border:1px solid #acacac;
	border-radius:5px;
	width: 95%;
	margin:1.5rem auto;
	padding:4% 2%;
	background-color: #fdfdfd;
}
/* --- リストリセット --- */
.umou-guide .cotton-guide .nav-midashi{
	font-size: 1rem;
	border-bottom: 1px solid;
	border-left: 0;
	margin-top: 0;
}

.toc ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
  margin-bottom: 2rem;
}
.toc li {
  counter-increment: toc-number;
  margin-bottom: 8px;
  
}
.toc li a::before {
  content: counter(toc-number);
  display: inline-block;
  min-width: 24px; /* ←これが超重要 */
  height: 24px;
  line-height: 24px;
  text-align: center;
  border-radius: 50%;
  background: #333;
  color: #fff;
  margin-right: 8px;
  font-size: 12px;
}
/* --- 第一階層 --- */
.toc > ul > li {
	padding-left: 5px;
}
/* --- 第二階層 --- */
.toc ul ul {
  padding-left: 25px;
  border-left: 2px solid #eee;
}
/* --- リンク共通 --- */
.toc a {
  color: #333;
  display: inline-block;
  transition: 0.3s;
  margin-bottom: 10px;
}
.toc li a {
    display: grid;
  grid-template-columns: 32px 1fr; /* ←固定 */
}
.toc a:hover {
  opacity: 0.6;
}
.toc ul ul li {
  counter-increment: toc-sub;
}
.toc ul ul li a::before {
  content: counter(toc-number) "-" counter(toc-sub) " ";
}
.toc .cart_move{
	font-family:"ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;
	width:90%;
	padding:10px 5px;
	position: relative;
	display:block;
	margin:0 auto;
	border-radius:3px;
	border:3px solid #333;
	text-align:center;
	color:#EF6430;
	background-color:#fff;
	font-size:1em;
	font-weight:bold;
	line-height:130%;
	letter-spacing:3px;
	text-decoration:none;
}
.toc .cart_move::before{
	position: absolute;
     content: '';
     width: 6px;
     height: 6px;
     border-top: solid 3px #333;
     border-right: solid 3px #333;
     -webkit-transform: rotate(-225deg);
     transform: rotate(-225deg);
     top: 40%;
	 left:3%;
     margin-top: -3px;
}
/* ---  image/2カラム --- */
.image-grid {
  display: grid;
  grid-template-columns: 1fr; /* 基本は1列 */
  gap: 10px;
}
.gochui{
	border:2px dashed #333;
	border-radius:15px;
	padding:20px;
}
/* ---  merideme/1ラム --- */
  .meri-deme {
	margin-bottom: 1rem;
  }
   .card {
    background: #fff;
    border: 2px dashed;
    border-radius: 8px;
    padding: 24px;
	margin:5%;
  }
  .card--merit {
    border-color: #4caf50;
}
  .card--demerit {
    border-color: #f44336;
  }
  .card__title {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 16px;
  }
  .card--merit .card__title {
    color: #4caf50;
  }
  .card--demerit .card__title {
    color: #f44336;
  }
  .card__list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .card__list li {
    display: flex;
    gap: 8px;
    line-height: 1.6;
    font-size: 0.95rem;
    color: #333;
  }
  .icon {
    flex-shrink: 0;
    font-size: 1rem;
  }
#shopping{
	margin-bottom:20px;
}
#shopping p{
	line-height:150%;
}
#shopping img{
	display:block;
	margin:20px auto;
}
.order_size{
	margin-top:2em;
	margin-bottom:2em;
}
.order_size input{
	margin:0 auto;
}
.juchuseisan{
	border:2px solid #333;
	border-radius:15px;
	padding:5px;
	margin-bottom:10px;
	line-height:100%;
	background-color:#eee;
}
#nouki{
	padding:10px;
	background-color:#EEE;
	border:2px dashed #666;
	box-shadow:3px 3px 3px #ccc;
	border-radius:5px;
	margin:1em auto;
}
.nouki{
	max-width:800px;
}
/* 全体のスタイル */
details.faq {
  border: 1px solid #ddd;
  margin: 10px 0;
  padding: 10px;
  max-width: 800px;
  background: #fafafa;
}
details.faq p{
	padding-top: 1em;
}
/* summary部分 */
details.faq summary {
  cursor: pointer;
  font-weight: bold;
  list-style: none;
  position: relative;
  padding-left: 20px;
}
details.faq summary::-webkit-details-marker,
details.faq summary::marker {
  display: none;
}
.nouki{
	background-color:#EEE;
	border-radius:15px;
	padding:15px;
	margin:1em auto;
}
/* カスタムアイコン */
details.faq summary::before {
  content: "＋";
  position: absolute;
  left: 0;
  transition: transform 0.2s ease;
}
details.faq[open] summary::before {
  content: "－";
}
/* アニメーション用ラッパー */
details.faq .content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
/* open時に広がる */
details.faq[open] .content {
  max-height: 200px; /* 内容に合わせて大きめに指定 */
}
.marker{
    background: linear-gradient(transparent 80%, #c1e0ff 0%);
    font-weight: bold;
	display:inline-block;
}
figure {
  margin: 0;
  padding: 0;
  max-width: 100%;
}
.product-yt-wrap {
  position: relative;
  aspect-ratio: 16 / 9;  /* ← これだけ残す */
  background: #000;
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
  max-width: 100%;
  box-sizing: border-box;
}
.product-yt-wrap img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover;
}
.product-yt-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  width: 68px;
  height: 48px;
}
.product-yt-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.product-yt-wrap iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
}
.cart{
	padding-top:20px;
}
.cart h3{
	text-align: center;
	margin-bottom: 0;

}
.cart h5{
	font-size:1em;
	text-align:center;
	margin-bottom: 0;
	padding-bottom: 0;
}
.sd_d{
	font-size: 1em;
    text-align: center;
	margin-top:0.3rem;
}
.cart p{
	font-size:0.9em;
	width: 95%;
}
.cart table{
	padding:0;
	width:100%;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:1.5em;
}
.cart_tr{
	display: block;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	padding-bottom: 2em;
	margin-bottom: 0.5em;
}
.cart_tr em{
	font-size:1.8em;
	font-style:normal;
	font-weight:bold;
	color:#F00;
}
.cart td{
	width:100%;
	display:inline-block;
	text-align: center;
	padding-top:10px;
}
.cart_name{
	padding-bottom: 1.6rem;
}
.cart_size{
	font-weight: bold;
	font-size: 0.8rem;
}
	input#submit_button{
    letter-spacing:0;
    font-weight:bold;
    text-align:center;
    width: 220px;
    height: 30px;
	color:#fff;
	background-color:#FF6600;
	border-radius: 5px;
	border-style: none;
}
.cart select{
	margin-top: 3px;
	margin-bottom: 15px;
}
#shopping .no_border{
	border:none;
}
.allergy{
	margin-bottom:2em;
	padding-bottom:2em;
}
#other{
	margin-bottom:1em;
	background-color:#eee;
}
#other h6{
	color:#FFF;
	font-size:1rem;
	text-align:center;
	background-color:#DCAC77;
	margin-bottom:10px;
}
#other b{
	font-size:0.9rem;
}
#other ul{
	-js-display: flex;
	flex-wrap: wrap;
	display: block;
    display: flex;
}
#other li{
	font-size:0.8rem;
	float:left;
	display:inline-block;
	box-sizing:border-box;
	width:48%;
	margin:0.5%;
	padding-bottom:10px;
	background-color:#FFF;
}
#pickup{
	overflow:hidden;
	padding-top:1.5em;
	padding-bottom:1em;
}
#pickup h6{
	font-size:1.1rem;
	margin-left:1%;
	margin-bottom:10px;
}
#pickup ul{
	padding-top:0;
	display:flex;
    -js-display: flex;
	flex-wrap: wrap;
}
#pickup li{
	padding-top:10px;
	padding-bottom:10px;
	border-bottom:1px solid;
	width:100%;
}
#pickup img{
	width:100%;

}
#pickup p{
	padding:0 5px;
	margin-top:0;
}
em{
	font-size:1.6em;
	font-style:normal;
	font-weight:bold;
	color:#F00;
}
.center{
	display:block;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:1.2em;
}
.link_btn{
	font-family:"ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;
	color:#06C;
	width:90%;
	padding:10px;
	margin:0.5em auto;
	position:relative;
	display:block;
	border-radius:3px;
	border:2px solid #333;
	font-size:0.9rem;
	line-height:130%;
	letter-spacing:3px;
	text-decoration:none;
}
.link_btn::after{
	position: absolute;
     content: '';
     width: 6px;
     height: 6px;
     border-top: solid 2px #333;
     border-right: solid 2px #333;
     -webkit-transform: rotate(45deg);
     transform: rotate(45deg);
     top: 45%;
	 right:6px;
     margin-top: -3px;
}
.anker_btn{
	width:90%;
	padding:10px;
	margin:0.5em auto;
	position:relative;
	display:block;
	border-radius:3px;
	border:2px solid #333;
	font-size:0.9rem;
	line-height:130%;
	letter-spacing:3px;
	text-decoration:none;
	text-align: left;
}

@media only screen and (min-width:800px){
	#head_wrapper{
		height:50px;
}
header{
	height:50px;
}
.container{
	max-width: 1100px;
	margin:0 auto;
}
h1{
	font-size:1.1rem;
	text-align:center;
}
h3{
	font-size:1.3em;
	padding:10px auto;
}
.container{
	max-width: 1100px;
	margin:0 auto;
}
main .left{
	text-align: left;
}
/* =====================
   目次
   =================== */
.toc{
	 max-width: 700px;
	 margin-bottom: 3rem;
	 padding:1rem;
}
.btn {
    padding: 14px 0;
    font-size: 15px;
    max-width: 500px;
    text-align: center;
}
.button_mokuji{
	margin-top:40px;
	width:50%;
}
/* =====================
   image/2カラム・pc
   =================== */
.image-grid {
    grid-template-columns: 1fr 1fr; /* 600px以上で2列 */
  }

article img{
  max-width: 700px;
  height: auto;
}
/* =====================
   メリデメ/2カラム・pc
   =================== */
  .meri-deme {
   display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.card{
	margin:0;
}
#shopping{
	max-width:950px;
	margin-left:auto;
	margin-right:auto;
	overflow:hidden;
}
.order_size form{
	display:block;
	margin:0 auto;
}

#nouki{
	max-width:600px;
	margin:1.5em auto;
	margin-bottom:3em;
	padding:1em;
}
.cart{
	display:flex;
	display: inline-block;
	float:left;
	padding:20px 0px;
	width:45%;
	margin:0 2.5%;
	border-bottom:px #000 solid;
	margin-bottom: 1em;
}
#shopping .cart p{
	font-size:0.95em;
	padding:0;
}
.cart h5{
	text-align:left;
}
.cart_name{
	text-align:left;
	font-size:0.9em;
}
.cart_size{
	font-size: 0.9rem;
	line-height: 100%;
}
.cart p{
	margin-left:10px;
}
.cart table{
	padding-top: 30px;
	margin-bottom:20px;
	display:block;
	margin:0 auto;
	width:100%;
}
.cart_tr{
	width:100%;
	font-size:1em;
	border-bottom-style:none;
	text-align:right;
	padding-bottom:0px;
}
.cart td{
	margin:0px;
}
.cart form{
	padding-top:10px;
}
#main input{
	width:80%;
}
.allergy{
	border-top: 1px solid #000;
	max-width:800px;
	margin-left:auto;
	margin-right:auto;
}
#other h6{
	font-size:1.2rem;
	padding:10px 0 10px 10px;
}
#other ul{
	max-width:1300px;
	margin:1em auto;
}
#other li{
	width:30%;
	margin:10px 1.5%;
	box-sizing:border-box;
	float:left;
	padding:2px;
}h6{
	font-size:1.2rem;
}
#pickup{
	margin:0;
}
#pickup h6{
	margin-left:5%;
}
#pickup ul{
	max-width:1300px;
	margin:0 auto;
}
#pickup li{
	width:30%;
	margin:0 1%;
	border:none;
}
.link_btn{
	max-width:400px;
}
.order_size form{
    max-width: 400px;
}
}