
	section{padding:100px 0 120px 0;}
	h2{margin:20px auto 40px; color:rgba(50,50,50,1); text-align:center; font-size:2.2em; font-weight:500; font-family: "Kiwi Maru", serif;}
	h2:after {
		content: "";
		display: block;
		background-image: url('../image/line-5.png');
		background-position: center;
		background-size: cover;
		width: 100%;
		height: 5px;
		margin-top: 0.6em;
	}
	h3{text-align:center; font-size:2.0em; margin:40px auto 30px;}
	h4{margin:25px auto 10px;}
	.fade-in {opacity: 0; transition: opacity 0.85s ease-in;}
	.fade-in.active {opacity: 1;}
	p{line-height:220%;}	
	table{height: auto; max-height: 250px; overflow-y: auto;}
	th,td{height: 3.0em; padding:3px 10px 3px 5px; border-bottom:dotted 1px rgba(30,30,30,1);}
	th{width:25%;}
	nav{}
	.red{color:#DA382F;}
	.annotation {font-size: 0.8em;}
	#banner{position: relative; min-height:800px; background-image:url('../image/top_banner.jpg'); background-position:center; background-size: cover;}
	#banner .inner_wrapper{position:absolute; top:2.0em; right:2.5em; font-family: "Shippori Mincho", serif; text-shadow:0 0 10px rgba(150,150,150,0.75);}
	#banner .inner_wrapper p{width:100%; padding:10px 8px; font-size:2.4em; font-weight:300; color:#333; text-shadow:0 0 10em #fff;}
	.inner_wrapper{max-width:1200px; margin:auto;}
	/*#top_bar{position: fixed; z-index: 9999; width: 100%; height: 60px; background-color: rgb(255 255 255 / 50%);}*/
	#top_bar{width: 100%; height: 105px; background: #ffffff;}
	.logo{display: flex; z-index: 1; justify-content: center; align-items: center; position: fixed; width: 100%; height: 60px; background: rgb(255 255 255 / 70%);}
	#in_person_sales_logo{position:absolute; bottom:0; left:3.0em;max-width:424px;}
	#in_person_sales_logo img{}
	.container_fluid{width:100%;}
	.container{max-width:1920px;}
	#intro{ margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); min-height:430px; margin-top:30px; background-image:url('../image/intro_bg-1.png'); background-repeat:no-repeat; background-position: center;}/*section-1*/
	#intro .inner_wrapper{display: flex; justify-content: center; align-items: center;}
	#intro h2{margin:20px auto 20px;}
	#intro h2:after{background-image:none !important;}
	#intro p{max-width:900px;max-width:80%; margin:auto;}
	#features{background-color:;}/*section-2*/
	.features_item{
		text-align: center;
		flex: 1;
		max-width: calc(100%/3);
	}			
	.features_item img {
		width: auto;
		transition: transform 0.3s ease;
	}
	.features_item img:hover {
		transform: scale(1.05);
	}
	.features_item button{width:100%; }
	.toggle_features_item_details {
		margin-top: 10px;
		padding: 5px 10px;
		border: none;
		background-color: #fff;
		border-radius: 5px;
		transition: background-color 0.3s;
		position: relative;
		font-weight:bold;
	}
	.toggle_features_item_details img{
		text-align:center;
	}
	.toggle_features_item_details:hover {
		/*background-color: #F2938F;*/
	}
	.features_item_details {
		transition: height 0.5s ease, opacity 0.3s ease;
		position: absolute; /* 親要素（features_item）の内部に絶対配置 */
   		top: 100%;
		opacity: 0;
		height:0;
		background-color: #fff;
		border-radius: 5px;
    	position: relative;
		overflow: hidden;
		visibility: hidden;
	}
	.features_item_details.open {
		opacity: 1;
		display:flex;
		margin-top: 10px;
		padding: 50px;
		height:auto;
		visibility: visible;
		justify-content: center;
		align-items: center;
	}
	.features_inner{
		margin:auto;
		text-align:center;
		display: flex;
		justify-content: space-between;
		gap: 10px;
		position: relative;
	}
	.features_details_inner{
		margin:auto;
	}
	.features_item_details_inner{display: flex; justify-content: center; align-items: center;width:90%; margin:auto;}
	.features_item_details_inner div{
		justify-content: center; align-items: center;
	}
	.no_used_wrapper{margin:0 auto;}
	.no_used{position:relative; max-width:100px; min-width:80px; border:1px solid rgba(0,176,240,1); margin:0 10px; padding:5px 0; border-radius:5px; text-align:center;color:rgba(0,79,136,1);}
	.no_used img{position:absolute; top:-18%; right:18%; max-width:50px;}
	.features_inner-1{ display: flex; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); padding:50px 0; justify-content: center; align-items: center; background-color:rgba(255,255,255,1);}
	.features_inner-2{ display: flex; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); padding:50px 0; justify-content: center; align-items: center; background-color:rgba(255,255,255,1);}
	.features_inner-3{ display: flex; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); padding:50px 0; justify-content: center; align-items: center; background-image:url('../image/features-3-bg-4.png'); background-position:right bottom; background-repeat:no-repeat;}
	#fk-23{text-align:center;background-image:url('https://immuna.nichinichi-phar.co.jp/wp-content/uploads/2024/12/product_bg_1-1.png'); background-position:right bottom; background-repeat:no-repeat;background-size: auto 100%;}/*section-3*/
	#fk-23 p{font-size:1.25em; font-weight:bold; margin:20px auto; color:rgba(50,50,50,1);}/*section-3*/
	.fk-23_kanetsu_img{margin:20px auto; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); padding:50px 0; background-color:white; box-shadow:0 0 10px rgba(50,50,50,0.15);}
	.fk-23_kanetsu_img img{width:50%; max-width:600px;}
	.manufacturing_process{display:flex; max-width:900px; margin:auto;}
	.manufacturing_process div{flex:1; padding:10px;}
	#product{}/*section-4*/
	#product h3 img{max-height:40px;}
	#product table{font-size:0.85em;}
	#product table th{width:15%;}
	#product table th, #product table td {padding: 5px 0;}
	.product_description_wrapper{ display: flex; justify-content: center; align-items: center; width:100%;}
	.product_item_set_image{padding:50px;}
	#qa h4 {
		color: #DA382F;
		border-left: 8px solid #ffd9d9;
		padding: 6px 0px 6px 16px;
		margin: 50px 0 30px;
	}
	#qa p {line-height: normal; margin-bottom: 0.8rem;}
	#company{background-image:url('../image/corporate_bg.jpg'); background-position:center; background-repeat:no-repeat; display:flex;}/*section-5*/
	#company div{flex:1;}/*section-5*/
	#company h2{color:rgba(255,255,255,1); text-shadow:0px 0px 6px #000; }/*section-5*/
	#company h2:after {
		content: "";
		display: block;
		background-image: none;
		background-position: center;
		background-size: cover;
		width: 100%;
		height: 5px;
		margin-top: 0.6em;
	}
	#company div{color:rgba(255,255,255,1); text-shadow:0px 0px 6px #000; }/*section-5*/
	#company p{text-align:center; }/*section-5*/
	#contact{background-color:rgba(250,250,250,1.0); text-align:center;}/*section-6*/
	#contact h2{
		margin-bottom: 0px;
	}
	#contact h2:after {
		content: "";
		display: block;
		background-image: none;
		background-position: center;
		background-size: cover;
		width: 100%;
		height: 5px;
		margin-top: 0.6em;
	}
	.contact_links{display:flex; justify-content: center; width:100%; margin:auto; text-align:center;}
	.contact_button{display: flex; position: relative; justify-content: center; align-items: center; width:30%; height:60px; margin:20px; padding:10px 50px; border-radius:8px; background-color:rgba(45,106,174,1);}
	.contact_button:hover{background-color:rgba(40,90,150,1); box-shadow: 0px 0px 8px rgba(30,80,120, 0.75); transition: all 0.2s ease-out;}
	.contact_button a{display: flex; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-align:center; text-decoration:none; color:rgba(255,255,255,1); padding: 5px;}
	.contact_button a:hover{color:rgba(255,255,255,1);}
	
	#menu {
		position: fixed;
		z-index: 999;
		top: 60px;
		width: 100%;
		/*padding-bottom: 1px;*/
		border-bottom: solid 1px rgba(1,1,1,0.1);
		background-color: rgb(255 255 255 / 70%);
	}
	#menu > ul {
		max-width: 1200px;
		margin: 10px auto;
		text-align: right;
		color: #292929;
	}
	#menu > ul > li {
		display: inline-block;
	}
	#menu > ul > li a {
		padding: 0 20px;
		color:rgb(10 0 0 / 100%);
	}
	#menu > ul > li a:hover {
		color:rgb(120 20 0 / 100%);
	}
	/*▼ハンバーガーメニュー▼*/
	.sp-menu {
		position: relative;
		z-index: 9999;
    }
	#nav-drawer {
		position: fixed;
		height: 60px;
		top: 0;
		z-index: 100;
		background: #e52b36;
	}
	.menu-btn {
		display: none;
	}
	.menu-icon {
		display: inline-block;
		position: relative;
		cursor: pointer;
		padding: 28px 20px;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	}
	.navicon {
		background: #ffffff;
		display: block;
		height: 3px;
		width: 26px;
		position: relative;
		transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	}
	.navicon:before, .navicon:after {
		content: "";
		display: block;
		height: 100%;
		width: 100%;
		position: absolute;
		background: #ffffff;
		transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	}
	.navicon:before {
		top: 9px;
	}
	.navicon:after {
		bottom: 9px;
	}
	/*メニューの中身*/
	#nav-content {
		overflow: auto;
		position: fixed;
		left: 0;
		z-index: 9999;
		width: 90%;
		max-width: 330px;/*最大幅*/
		height: 100%;
		margin-top: 1px;
		background: #fff;
		transition: .3s ease-in-out;
		-webkit-transform: translateX(-105%);
		transform: translateX(-105%);
	}
	.menu {
		list-style: none;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		clear: both;
		background: #e52b36;
		transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
		transform-origin: top;
		padding: 50px 0 0 0;
		margin: 0;
	}
	.menu li {
		border-bottom: 1px solid rgb(180, 180, 180);
		padding: 15px 0;
		margin: 0 54px;
		transition: 0.5s;
	}
	.menu a {
		text-decoration: none;
		font-weight: 500;
		letter-spacing: 2px;
		font-size: 16px;
		text-transform: capitalize;
		color: #ddd;
		transition: 0.5s;
	}
	/*チェックがついたら「×」表示させる*/
	.menu-btn:checked ~ .menu-icon .navicon:before {
		transform: rotate(-45deg);
	}
	.menu-btn:checked ~ .menu-icon .navicon:after {
		transform: rotate(45deg);
	}
	.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
		top: 0;
	}
	.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
		bottom: 0;
	}
	.menu-btn:checked ~ .menu-icon .navicon {
		background: rgba(0, 0, 0, 0);
		transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	}

	#menu-btn:checked ~ #nav-content {
	  -webkit-transform: translateX(0%);
	  transform: translateX(0%);
	  box-shadow: 6px 0 25px rgba(0,0,0,.15);
	}
	/*▲ハンバーガーメニュー▲*/
	
	/*タブレット*/
	@media only screen and (max-width:960px) {
		section{padding:60px 0 60px 0;}
		h2{max-width:95%; font-size:1.8em;}
		p{line-height:1.4em; max-width:90%; margin:auto;}
		#banner{min-height:400px; background-position:calc(50% - 37px) center;}
		#top_bar {height: 60px;}
		#banner .inner_wrapper{top:1.0em; right:1.0em;}
		#banner .inner_wrapper p{width:100%; max-width:100%; font-size:1.4em;}
		#intro{display: flex; justify-content: center; align-items: center; background-size: cover;}
		#intro h2{font-size:1.85em; max-width:90%;}
		#fk-23{margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw);}
		#fk-23 p{font-weight:300; text-align:left;}/*section-3*/
		.fk-23_kanetsu_img{margin:20px auto; }
		#company{display:block;}
		#company {display:block; background-position:calc(50%) center;}
		#company div p{padding:20px; text-align:left; line-height:1.2em;}/*section-5*/
		.contact_links{display:block;}
		.contact_button{width:90%; height:60px; margin:20px auto;}
		.product_description_wrapper{flex-direction: column-reverse;}
		#product hr{margin:70px auto;}
		#product table th {width: 25%;}
		.features_item_details.open {
			display: block;
			padding: 0px;
		}		
		.features_item_details.open p {
			margin:20px auto;
		}		
		.features_item_details_inner {
			display: block;
			padding: 0px;
		}
		.features_item_details_inner img{
			width:70%;
		}
		#in_person_sales_logo{position:absolute; bottom:0; left: 0em; max-width:300px;}
		.fk-23_kanetsu_img img{
			width:90%;
			gap: 0px;
		}
		.toggle_features_item_details {
			margin-top: 0px;
			padding: 0px;
		}
		.features_item_details_inner div{margin:50px auto;}
		.features_item_details_inner .no_used{margin:0 auto;}
	}
	/*スマートフォン*/
	@media only screen and (max-width:768px) {
		#product table th {width: 150px; height: auto; padding: 15px 0 5px;}
		#product table td {height: auto;}
	}