@charset "shift_jis";

/* �t�H���g�ݒ�
*************************************/
/* noto-serif-jp-regular - japanese */
@font-face {
  font-family: 'MY Noto Serif JP';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/noto-serif-jp-v19-japanese-regular.woff2') format('woff');
}
/* noto-serif-jp-700 - japanese */
@font-face {
  font-family: 'MY Noto Serif JP';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/noto-serif-jp-v19-japanese-700.woff2') format('woff');
}

/* �����N�ݒ�
*************************************/
a{
	text-underline-offset:3px;
}


/* �^�O�w��
*************************************/
body{
	position:relative;
    min-width:1040px;
	margin:0;
	font-family: '�q���M�m�p�S Pro W3', 'Hiragino Kaku Gothic Pro','���C���I', 'Meiryo', '���S�V�b�N', 'Yu Gothic', '�l�r �o�S�V�b�N', 'MS PGothic', sans-serif;
	
}
body div{
	position:relative;
	font-size:18px;
}
.main h1, h2, h3, h4, h5, p, img, dl, dt, dd, ul, li {
	margin:0;
	padding:0;
}
.main img {
	border:0;
}
.main img a {
	border:0;
}


/* class�w��
*************************************/

/* �w�i
*************************************/
.main{
	color:#231714;
	background-image:url("../images/bg.jpg");
	background-position:top center;
}

.white_bg{
  	position:relative;
	width:950px;
	margin:0 auto 0;
	background:#ffffff;
	padding:60px;
	box-sizing:border-box;
}

.beige_bg{
  	position:relative;
	width:830px;
	margin:0 auto 0;
	background:#f9f8f2;
	padding:30px;
	box-sizing:border-box;
}



/* �t�H���g
*************************************/
.mincho{
	font-family: 'MY Noto Serif JP', serif;
	font-weight:normal;
}

.white{
	text-shadow:0px 3px 1px #ffffff,0px 2px 1px #ffffff,1px 2px 1px #ffffff,2px 2px 1px #ffffff,2px 1px 1px #ffffff,2px 0px 1px #ffffff,3px 0px 1px #ffffff,2px -1px 1px #ffffff,2px -2px 1px #ffffff,2px -3px 1px #ffffff,1px -3px 1px #ffffff,0px -3px 1px #ffffff,-1px -3px 1px #ffffff,-2px -3px 1px #ffffff,-3px -3px 1px #ffffff,-3px -2px 1px #ffffff,-3px -1px 1px #ffffff,-3px 0px 1px #ffffff,-3px 1px 1px #ffffff,-3px 2px 1px #ffffff,-2px 2px 1px #ffffff,-1px 2px 1px #ffffff;
}



/* ���C���^�C�g��
*************************************/
.title_set{
	position:relative;
    min-width:1040px;
	padding-top:50px;
	padding-bottom:50px;
	background-image:url("../images/main_bg.jpg");
	background-position:top center;
	z-index:2;
	text-align:center;
}

.long{
	padding-top:25px;
	padding-bottom:25px;
}


.midashisitatext{
	font-size:27px;
}

.head_photo {
    position: absolute;
    bottom: -12px;
    left: 50%;
    margin-left: 320px;
}

.title_set h1{
	position:relative;
	font-size:52px;
	display:inline-block;
}

.underline {
	position:relative;
	display:inline-block;
	overflow:visible;
}

.main_title_text{
	position:relative;
	z-index:1;
	display:inline-block;
}

.main_title_line{
	position:absolute;
	width:100%;
	height:20px;
	background:#f3e827;
	bottom:0;
	z-index:-1;
	display:block;
}

.title_set_sub{
	position:relative;
	font-size:24px;
	margin-top:15px;
}


/* �R���e���c�G���A
*************************************/
.contents_area{
	width:950px;
	margin:auto;
	margin-top:20px;
	margin-bottom:60px;
}



/* ���C��
*************************************/
.grayline{
	width:100%;
	height:1px;
	background:#d3d1d0;
	margin:60px auto;
}
.grayline02{
	width:100%;
	height:1px;
	background:#d3d1d0;
	margin:40px auto;
}
.grayline03{
	width:100%;
	height:1px;
	background:#d3d1d0;
	margin:30px auto;
}



/* �}�[�W�������p
*************************************/
.pt10{
	padding-top:10px;
}

.pt20{
	padding-top:20px;
}

.pt25{
	padding-top:25px;
}

.pt30{
	padding-top:30px;
}

.pt40{
	padding-top:40px;
}

.pt50{
	padding-top:50px;
}

.pb25{
	padding-bottom:25px;
}

.pb40{
	padding-bottom:40px;
}

.sub_menu_margintop {
    margin-top: 20px;
}


/* �摜�I�[�o�[
*************************************/
.over_img{
	position:absolute;
	opacity:0;
}



/* �{�^��
*************************************/
.btn_box{
	position:relative;
	width:100%;
	text-align:center;
}

.btn{
	position:relative;
	margin-top:40px;
	font-size:24px;
	line-height:1;
	display: inline-block;
	cursor: pointer;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	color: #ffffff;
	border-radius: 4px;
	background: linear-gradient(0deg, #f08300 50%, #f2901a 50%);
	box-shadow:2px 2px 3px 0px rgba(0, 0, 0, 0.2);
	padding:20px 80px;
	margin:40px auto 0;
}

.btn img{
	position:absolute;
	right:20px;
	vertical-align:-2px;
}

.btn:hover{
	background: linear-gradient(0deg, #ff6600 50%, #ff761a 50%);
}

.faqbtn{
	bottom: 27px;
}


/* ���o��
*************************************/
.number{
	width:100px;
	height:100px;
	background:#231714;
	border-radius:100px;
	text-align:center;
	line-height:95px;
	color:#f3e827;
	font-size:69px;
	float:left;
}

.caption{
	font-size:44px;
	font-weight:bold;
	margin-bottom:40px;
}

.caption_text_set{
	width:710px;
	display:block;
	float:right;
	margin-top:20px;
}

.caption_text_set02{
	width:650px;
	display:block;
	float:right;
	margin-top:-15px;
}

.double{
	margin-top:-15px;
}

.q_box{
	width:100%;
	padding:0 30px;
	margin-bottom:-20px;
}

.q{
	font-family: 'Arial';
	font-weight:normal;
	line-height:100px;
}

.a{
	font-family: 'Arial';
	font-weight:normal;
	line-height:100px;
	color:#231714;
	background:#ede127;
}







/* �{���e�L�X�g
*************************************/
.bold{
	font-size:24px;
	font-weight:bold;
}

.text{
	font-size:20px;
	line-height:1.8;
	margin-top:-9px;
}

.text_left{
	width:440px;
	float:left;
}

.text_right{
	width:440px;
	float:right;
}

.text_center{
	width:100%;
	clear:both;
}

.red{
	color:#d71616;
}

.img_right{
	float:right;
}

.img_left{
	float:left;
}

.img_center{
	margin:0 auto;
	display:block;
}

.indent_set01{
	padding-left:1em;
}

.indent_set02{
	padding-left:2em;
}

.indent01{
	padding-left:1.2em;
	text-indent:-1.2em;
}

.indent02{
	padding-left:2.7em;
	text-indent:-2.7em;
}

.indent03{
	padding-left:1em;
	text-indent:-1em;
}


/* �~�j�{�b�N�X
*************************************/
.mini_box{
	margin-top:40px;
	clear:both;
	background:#f9f8f2;
	padding:30px;
}

.mini_box_margin10{
	margin-top:10px;
}

.mini_box_margin20{
	margin-top:20px;
}

.mini_box_margin50{
	margin-top:50px;
}

.mini_box_caption{
	font-size:24px;
	font-weight:bold;
	color:#9f8a28;
	margin-bottom:15px;
	line-height:1.5;
	display:inline-block;
}

.black{
	font-size:20px;
	color:#231714;
	display:block;
	margin-bottom:20px;
}

.mini_box_caption_big{
	font-size:48px;
	font-weight:bold;
	color:#9f8a28;
	margin-bottom:15px;
}

.mini_box_img_box{
	width:100%;
	height:158px;
	display:table;
}

.mini_box_photo{
	float:left;
	margin-right:30px;
}

.mini_box_photo_text{
	display: table-cell;
	vertical-align: middle;
}



/* �e�[�u��
*************************************/
.table,.table td,.table th{
	border-collapse: collapse;
	border:1px solid #231714;
	padding:20px;
	line-height:1.4;
	margin:30px auto 30px;
}





/* �w�b�_
*************************************/
.page_top{
    position:fixed;
    bottom:30px;
    right:30px;
    cursor:pointer;
	z-index:997;
    display:none;
	transition:0s;
}

.over:hover{
	opacity:0.8;
	transition:0.2s;
}

.header{
	position:relative;
    width:950px;
	margin:auto;
}

.logo_h1{
	height:85px;
	padding:0;
	margin:0;
}

.logo{
	margin-top:25px;
}

.buybtn{
	position:absolute;
	top:0;
	right:0;
	margin-top:54px;
	font-size:16px;
	line-height:1;
	display: inline-block;
	padding:5px 16px;
	cursor: pointer;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	color: #ffffff;
	border-radius: 4px;
	background: linear-gradient(0deg, #f08300 50%, #f2901a 50%);
	box-shadow:2px 2px 3px 0px rgba(0, 0, 0, 0.2);
}

.buybtn:hover{
	background: linear-gradient(0deg, #ff6600 50%, #ff761a 50%);
}


/* �i�r
*************************************/
.nav{
	position:relative;
    width:950px;
	margin:20px auto 5px;
}

.menu_line{
	width:1px;
	height:70px;
	display:table;
	float:left;
}

.menu_line p{
	width:1px;
	display:table-cell;
	vertical-align: middle;
}

.menu_text{
	width:107px;
	height:54px;
	display:table;
	text-align:center;
	float:left;
	padding:5px;
}

.menu_text:nth-of-type(odd){
	width:108px;
}

.menu_text a{
	width:107px;
	font-size:16px;
	line-height:1.4;
	font-weight:bold;
	color:#000000;
	text-decoration:none;
	display:inline-block;
	display:table-cell;
	vertical-align: middle;
	transition:0s;
}

.menu_text a:hover{
	color:#fff100;
	background:#221815;
	border-radius:4px;
	transition:0.2s;
}

.menu_text .menu_text_on{
	color:#fff100;
	background:#221815;
	border-radius:4px;
}



/*�@�t�������N
*************************************/
.jinkyo_link_set{
	width:100%;
	text-align:center;
}

.jinkyo_link_set02{
	width:100%;
	text-align:center;
	padding-bottom:60px;
}


.jinkyo_link_caption{
	font-size:36px;
	line-height:1;
}




/* �A�g���u���R�����ւ̃����N
*************************************/
.jinkyo_link_set02_top{
	width:100%;
	text-align:center;
	padding-bottom:60px;
	margin-top:-50px;
}

.sub_menu_box_top{
	position:relative;
	width:825px;
	text-align:left;
	margin:38px auto 0;
}

.sub_menu_box_top a{
	color:#ffffff;
}

.sub_menu_detail_top{
	float:left;
	margin-right:20px;
	display:block;
}

.sub_menu_detail_top:nth-of-type(2),
.sub_menu_detail_top:nth-of-type(4),
.sub_menu_detail_top:nth-of-type(6){
	margin-right:0px;
}

.sub_menu_detail_top:nth-of-type(3),
.sub_menu_detail_top:nth-of-type(4),
.sub_menu_detail_top:nth-of-type(5),
.sub_menu_detail_top:nth-of-type(6)
{
	margin-top:20px;
}

.sub_menu_box_top img{
	display:block;
}

.sub_menu_detail_top{
	background:#ffffff;
	border:solid 2px #aa9429;
	box-shadow:2px 2px 3px 0px rgba(0, 0, 0, 0.2);
	text-decoration:none;
}

.sub_menu_box_caption_top{
	position:relative;
	width:396px;
	text-align:left;
	margin-top:0;
	margin-left:0;
	padding:15px 30px;
	font-size:28px;
	line-height:1;
	z-index:1;
	background:#231714;
	box-sizing:border-box;
	color:#ffffff;
}

.sub_menu_box_text_top{
	position:relative;
	width:396px;
	text-align:left;
	margin-top:0;
	margin-left:0;
	padding:15px 30px;
	font-size:20px;
	line-height:1.6;
	z-index:1;
	background:#ffffff;
	color:#231714;
	box-sizing:border-box;
}

a.sub_menu_detail_top .sub_menu_box_text_top{
	background-image:url("../images/column_link_icon_pc.gif");
	background-position:bottom right ;
	background-repeat:no-repeat;
}

.sub_menu_box_top p span{
	font-size:24px;
}

.sub_menu_box_top .small{
	font-size:18px;
	margin-top:120px;
}


a.sub_menu_detail_top:hover{
	border:solid 2px #ffffff;
	transition:0.2s;
}

a.sub_menu_detail_top:hover .sub_menu_box_text_top{
	background:#aa9429;
	background-image:url("../images/column_link_icon_on_pc.gif");
	background-position:bottom right;
	background-repeat:no-repeat;
	color:#ffffff;
	transition:0.2s;
}




/* �R�����{�^��
*************************************/
.sub_menu_detail_top_column{
	padding-bottom:5px;
}


.sub_menu_detail_top_btn_box{
	position:relative;
	width:355px;
	text-align:center;
	margin:0 auto 0;
}

.sub_menu_detail_top_btn{
	position:relative;
	width:100%;
	margin-top:40px;
	font-size:20px;
	line-height:1;
	display: inline-block;
	cursor: pointer;
	text-align:left;
	vertical-align: middle;
	text-decoration: none;
	color: #ffffff;
	border-radius: 4px;
	background: linear-gradient(0deg, #f08300 50%, #f2901a 50%);
	box-shadow:2px 2px 3px 0px rgba(0, 0, 0, 0.2);
	padding:20px 20px;
	margin:0 auto 15px;
	box-sizing:border-box;
}

.sub_menu_detail_top_column_first{
	margin-bottom:0;
}

.sub_menu_detail_top_btn img{
	position:absolute;
	right:20px;
	vertical-align:-2px;
	display:inline-block;
}

.sub_menu_detail_top_btn:hover{
	background: linear-gradient(0deg, #ff6600 50%, #ff761a 50%);
}



.faqbackbtn{
	width: 50%;
	margin: 0 auto;
	display: block;
	text-align: center;
}





/* �T�u���j���[
*************************************/
.sub_menu{
	position:relative;
	background-image:url("../images/sub_menu_bg.jpg");
	background-position:top center;
	z-index:1;
	text-align:center;
	padding-top:96px;
	padding-bottom:50px;
}

.sub_menu_title{
	font-size:36px;
	line-height:1;
	font-weight:normal;
}

.sub_menu_box{
	position:relative;
	width:915px;
	text-align:left;
	margin:38px auto 0;
}

.three_box{
	width:678px;
}

.two_box{
	width:825px;
}

.sub_menu_box a{
	color:#231714;
}

.sub_menu_detail{
	float:left;
	margin-right:15px;
}

.sub_menu_detail:nth-of-type(4){
	margin-right:0;
}

.three_box .sub_menu_detail:nth-of-type(3){
	margin-right:0px;
}

.three_box .sub_menu_detail:nth-of-type(4){
	margin-left:117px;
	margin-right:30px;
}

.two_box .sub_menu_detail:nth-of-type(1){
	margin-right:15px;
}

.two_box .sub_menu_detail:nth-of-type(2){
	margin-right:0px;
}

.sub_menu_box p{
	position:absolute;
	width:205px;
	text-align:center;
	margin-top:115px;
	margin-left:-3px;
	font-size:28px;
	line-height:1;
	z-index:1;
}

.two_box p{
	position:absolute;
	width:404px;
	text-align:left;
	margin-top:153px;
	margin-left:30px;
	font-size:28px;
	line-height:1;
	z-index:1;
}

.sub_menu_box p span{
	font-size:24px;
}

.sub_menu_box .small{
	font-size:18px;
	margin-top:120px;
}

.sub_menu_detail:hover .over_img{
	opacity:1;
	transition:0.2s;
}

.sub_menu_detail:hover p{
	color:#ffffff;
	transition:0.2s;
}




/*�@���i�����N
*************************************/
.product_link{
	position:relative;
	width:100%;
	background:#ffffff;
	padding-top:60px;
	padding-bottom:60px;
	text-align:center;
}

.product_link_title{
	position:relative;
	display:inline-block;
	padding-bottom:40px;
}

.product_link_title img{
	position:relative;
	display:inline-block;
	vertical-align:middle;
	margin-right:10px;
}

.product_link_text{
	font-size:36px;
	display:inline-block;
	vertical-align:-10px;
}

.product_link_box{
	position:relative;
	width:834px;
	margin:auto;
}

.product_link_photo{
	float:left;
}

.tenpo_box{
	position:relative;
	width:535px;
	height:238px;
	background-image:url("../images/product_bg_pc.jpg");
	float:right;
	border:solid 2px #d71616;
	box-sizing:border-box;
	margin-right:5px;
}


.tenpo_box_text{
	position:relative;
	margin-top:70px;
	margin-bottom:15px;
	font-size:40px;
	color:#d71616;
	line-height:1;
	display:inline-block;
}


.tenpo_box_text span{
	position:relative;
	font-size:52px;
	line-height:1;
	display:inline-block;
	vertical-align:-2px;
}

.amazon_link{
	position:relative;
	margin-top:20px;
	float:right;
}

.amazon_link_text{
	position:absolute;
	width:535px;
	font-size:28px;
	line-height:1;
	text-align:center;
	margin-top:23px;
	color:#231815;
	z-index:1;
}

.amazon_link:hover .over_img{
	opacity:1;
	transition:0.2s;
}

.amazon_link:hover p{
	color:#ffffff;
	transition:0.2s;
}




/*�@�p���������X�g
*************************************/
.breadcrumbs{
  	position:relative;
	width:950px;
	margin:20px auto 0;
	box-sizing:border-box;
	text-align:left;
}

.breadcrumbs ol{
	display:inline;
	list-style: none;
	margin:0;
	padding:0;
	font-size:14px;
	color:#8e8350;
}

.breadcrumbs li{
	display:inline;
	margin:0;
	padding:0;
	color:#221815;
}

.breadcrumbs li a{
	color:#221815;
	text-decoration:underline;
}

.breadcrumbs li a:hover{
	text-decoration:none;
}

.breadcrumbs li::after{
  content: '>';
  display: inline-block;
  padding: 0 10px;
}

.breadcrumbs li:last-child::after{
  display: none;
}



/*�@���S
*************************************/
body{
	text-align:left;
}

h1{
	display:inline;
}


/*�@�e�L�X�g�����N
*************************************/
.text_link{
	color:#f08300;
	text-decoration: none;
	border-bottom:solid 1px;
}

.text_link:hover{
	color:#ff6600;
}


/*�@�o�T
*************************************/
.source{
	position:relative;
	color:#666666;
	display:block;
	font-size:12px;
	line-height:1.6;
	margin-top:15px;
}


/*�@�t���ɂ��Čn�y�[�W�����@�u�����n����A�v�ɂ���
*************************************/
.jinkyo_hachimi_box{
  	position:relative;
	width:950px;
	margin:0 auto 60px;
	background:#ffffff;
	padding:30px 60px;
	box-sizing:border-box;
	border:solid 2px #ab952a;
	text-align:center;
}

.jinkyo_hachimi_caption{
  	position:relative;
	font-size:36px;
	margin-top:-10px;
}

.jinkyo_hachimi_text{
	font-size:20px;
	line-height:1.8;
	margin-top:20px;
	margin-bottom:-10px;
	text-align:left;
}

/*�@�C���f���g
*************************************/
.indent{
	padding-left:1em;
	text-indent:-1em;
	display:inline-block;
}



/*�@���X�g�ݒ�
*************************************/
ul{
	list-style-type: none;
}





/* ��������e���v���[�g�G���A */
.rps_visible{
    display:none;
}

.rps_del{
    display:block;
}

/*�@���i�\�̃X�^�C���ǉ��@20240830
*************************************/

.pricing-table {
  border-collapse: collapse;
  width: 100%;
  font-size: 20px;
  border: 1px solid #000; /* �e�[�u���S�̘̂g�� */
  margin: 0 auto;
}

.pricing-table th,
.pricing-table td {
  border: 1px solid #000; /* �e�Z���̘g�� */
  padding: 5px;
  text-align: center;
  color: #000;
  font-weight: 100;
}


.pricing-table th{
    background-color: rgb(207, 198, 162);
    font-weight: 100;
}

.pricing-table td {
    background-color: #fff;
}
/* PC�p�̃X�^�C�� */
@media screen and (min-width: 769px) {
.pricing-table{
	width:50%;
	}
   .faq-midasi{
	margin:110px 0 30px 0;
        text-align: center; 
  }

   .faqanswer{
	margin-top: 10px;
	}
}

/* �X�}�z�p�̃X�^�C�� */
@media screen and (max-width: 768px) {
  .pricing-table {
    font-size: 4.3vw;
  }
    .product_text {
        font-size: 5vw;
        color: #9f8a28;
        margin-bottom: 2%;
        font-weight: bold;
    }
   .faqtxt{	
	font-size:18px!important;
   }
   .faqtxt2{	
	font-size:18px!important;
   }

   .faq-midasi{
	margin:50px 0 30px 0;
        text-align: center; 
}
  .faq-title{
	        font-size: 5vw;

	}
}


.faqtxt{
   text-align:left;
   font-size: 1.5em;
   font-family: 'MY Noto Serif JP', serif;
   font-weight: normal;
}

.faqtxt{
   text-align:left;
   font-family: 'MY Noto Serif JP', serif;
   font-weight: normal;
}



/*�R�����y�[�W�㕔�u�v��v����*/
.chat-container {
    max-width: 800px;
    margin: 20px auto;
}

.chat-bubble {
    display: flex;
    align-items: center;
    margin: 0px 0;
}

.avatar {
    width: 140px;
    height: 140px;
    border-radius: 50%;
}

.chatfaqmidasi{
    font-size: 36px;
    width:70%;
    text-align: center;
    display: block !important;
    margin: 0 auto 30px;
}

@media (max-width: 768px) { 
    .avatar {
        width: 70px;
        height: 70px;
	}

.midashisitatext{
	font-size:17px;
}

	.chatfaqmidasi{
	margin: 0 auto 50px;
	font-size: 7vw;
	}
}

.question img {
    order: 1;
    margin-right: 10px;
}

.question .bubble-content {
    order: 2;
    position: relative;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    background-color: #ededed;
}


.answer img {
    order: 2;
    margin-left: 10px;
}

.answer .bubble-content {
    order: 1;
    position: relative;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    background-color: #fbf3c1;
    margin: 10px 0 30px;
}

@media (max-width: 768px) { 
.answer .bubble-content {
    margin: 30px 0 30px;
}
}

.leftavatar:after {
content: '';
    position: absolute;
    bottom: 30%;
    left: 0%;
    width: 0;
    height: 0;
    border: 21px solid transparent;
    border-top-color: #ededed;
    border-bottom: 0;
    margin-left: -14px;
    margin-bottom: 0px;
}

.rightavatar:after {
content: '';
    position: absolute;
    bottom:30%;
    right: 0%;
    width: 0;
    height: 0;
    border: 21px solid transparent;
    border-top-color: #fbf3c1;
    border-bottom: 0;
    margin-right: -16px;
    margin-bottom: 0px;
}



/* 伊藤追加 */
/*錠剤・顆粒　タブメニュー*/
.product_box{
	padding-bottom: 35px;
}
.tabs {
    display: flex;
    max-width: 950px;
    margin: 0 auto;
    flex-direction: row;
    flex-wrap: wrap;
	gap: 10px;
	padding-top: 25px;
}
.tab-button {
	padding: 10px 40px;
	cursor: pointer;
	font-size: 1.235em;
    font-weight: bold;
	color: #F3E827;
	background-color: #000;
	border: none;
  }
.tab-button.active{
	background-color: white;
	color: #000;
}
.tab-button:hover {
	background-color: #9c9c9c;
}
.addition_caption{
	display: flex;
	align-items: center;
	gap: 13px;
}
.addition_area{
	margin-top: 0;
}
.addition_link {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
	align-items: center;
	max-width: 535px;
}
.addition_linkbox{
	display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
}
@media screen and (min-width:768px){
	.addition_linkbox{
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 23px;
		justify-content: space-around;
		align-items: center;
	}
	.addition_photo{
		width: 100%!important;
		height: auto;
	}
}
@media screen and (max-width:767px){
	.tabs{
		justify-content: center;
	}
	.addition_linkbox{
		display: flex;
		align-items: center;
		flex-direction: column;
		flex-wrap: nowrap;
	}
	.addition_photo{
		width: 65%!important;
		height: auto;
		padding-bottom: 30px;
	}
	.contents_area{
		margin-top: 0!important;
	}
}
@media screen and (max-width:640px){
	.product_box{
		padding-bottom: 20px;
	}
}

/* 目次ベース */
.toc {
  margin: 24px auto !important;
  padding: 16px 18px;
  border: 1px solid #e6d9a8;
  background: #fffef6;        /* 和紙風の背景と相性の良い淡い色 */
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,.05);
  font-size: 26px;
}
.toc__title {
  margin: 0 0 8px;
  font-size: 26px;
  letter-spacing: .02em;
  text-align: center;
  font-weight:bold;
}
.toc__list {
  list-style: decimal;
  padding-left: 1.2em;
  margin: 0;
}
.toc__list a {
  display: inline-block;
  padding: 6px 0;
  text-decoration: none;
  color: #333;
  border-bottom: 1px dashed transparent;
}
.toc__list a:hover,
.toc__list a:focus {
  border-bottom-color: #b99d3a; /* キーカラーに合わせて調整 */
}

/* 現在位置をハイライト */
.toc__list a.is-active {
  font-weight: 700;
  color: #8a6d00;
}

/* トグル（スマホ用） */
.toc__toggle {
  display: none;
  margin-bottom: 8px;
  padding: 10px 12px;
  width: 100%;
  border: 1px solid #e6d9a8;
  background: #fff;
  border-radius: 8px;
  font-size: 26px;
}

/* レイアウト：PCはサイド配置を想定（記事幅に合わせて必要なら調整） */
@media (min-width: 980px) {
  .toc {
    width: 100%;         /* 右カラム想定 */
    margin: 0 0 24px 24px;
  }
}

/* スマホ：開閉式に */
@media (max-width: 979px) {
  .toc__toggle { display: block; }
  .toc[aria-expanded="false"] .toc__list { display: none; }
}
html { scroll-behavior: smooth; } /* スムーススクロール */



/* ===== TOCԍہ~ ===== */
.toc__list{
  list-style: none;          /* decimal͊O */
  counter-reset: toc;
  padding-left: 0;
}
.toc__list li{
  counter-increment: toc;
  position: relative;
  margin: 8px 0;
  padding-left: 35px;        /* obW̗] */
}
.toc__list li::before{
  content: counter(toc);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;

  /* obW̌ځiہ~j */
  min-width: 20px;           /* 2ׂȂ悤ɉϕ */
  height: 30px;
  padding: 0 .25em;          /* 2̍E] */
  border-radius: 999px;
  background: #1a1613;       /*  */
  color: #f0d44a;            /* io͋̕Cɍ킹Ēj */
  font-weight: 700;
  line-height: 1;
  font-size: 16px;

  pointer-events: none;      /* obWł̃NNbN\ */
}

/* TOCN{́iD݂Łj */
.toc__list a{
  display: inline-block;
  text-decoration: none;
  color: #333;
  font-weight: bold;
  padding: 6px 0;
}
.toc__list a:hover,
.toc__list a:focus{
  border-bottom: 1px dashed #b99d3a;
}

/* ݈ʒunCCgi .is-active ɍ킹āj */
.toc__list a.is-active{
  font-weight: 700;
  color: #8a6d00;
}



@media screen and (max-width: 640px) {
.toc {
  font-size: 5vw;
}
.toc__title {
  font-size: 5vw;
}
}