@charset "UTF-8";

/*****************************************************************************************/
/*****************************************************************************************/
/* ########### hoverが効かないスマホ等用 ########### */
/*****************************************************************************************/
/*****************************************************************************************/
@media (any-hover: none) or (max-width: 768px) {

	/***　共通タグ設定　***/
	body{
		width: 100%;
		min-width: 100%;
		line-height: 1.6;
	}
	.pc_hidden{
		display: block;
	}
	.phone_hidden{
		display: none;
	}
	*, *::before, *::after {
		animation: none !important;
		animation-play-state: paused !important;
	}



	/*** header ***/
	#phone_header{
		padding: 10px 15px 10px 25px;
		position: sticky;
		top: 0;
		left: 0;
		z-index: 1000;
		background-color: white;
		width: 100%;
		height: 50px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#phone_header img{
		height: 30px;
	}
	#phone_header div {
		margin-right: 48px;
	}
	#phone_header div a{
		padding: 3px 13px;
		font-size: 14px;
		background-color: #6E71AB;
		color: #fff;
		border-radius: 20px;
	}
	
	
	
	/***　ハンバーガーナビメニュー ***/
	header.index_header{
		display: none;
	}
	#top_header_phone {
		width: 100%;
		height: 100%;
		transition: all 0.6s;
		display: block;
		position: fixed;
		top: 50px;
		left: 100%;
		background-color: white;
		z-index: 1098;
	}
	#top_header_phone.active{
		left: 0;
	}
	nav#header_menu_block_phone{
		display: block;
		width: 94%;
		margin: 0 auto;
	}
	nav#header_menu_block_phone >div{
		width: 100%;
	}
	nav#header_menu_block_phone >div a.menu_title{
		justify-content: flex-start;
		padding: 12px;
		padding-left: 2%;
		margin-top: 6px;
		border-bottom: solid 1px white;
	}
	.header_menu_item{
		width: 100%;
		display: block;
		border-bottom: solid 1px #AAAFBE;
	}
	.header_menu_item:last-child{
		border: none;
	}
	.header_menu_item > a, .menu_sub_Label >a{
		color: #4A5966;
		font-size: 20px;
		font-weight: 700;
		display: block;
		width: 100%;
		height: auto;
		padding: 15px;
	}
	.menu_sub_toggle{
		display: none;
	}
	div.header_submenu {
		position: relative;
		display: block;

		width: 95% !important;
		max-height: 100%;
	}
	div.header_submenu a{
		display: block;
		width: 100%;
		padding: 6px;
		padding-left: 12px;
		font-size: 16px;
		color: #4A5966;
	}
	div.header_submenu a::before{
		content: "―";
		margin-right: 6px;
	}
	div.header_submenu >a:last-child{
		padding-bottom: 24px;
	}
	.menu_sub_Label a{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	a.header_contact{
		margin-top: 51px;
		padding: 34px;
		color: white;
		text-align: center;
		border-radius: 0;
	}
	/***　アコーディオンメニュー ***/

	.material-symbols-outlined{
		display: inline-block !important;
	}
	.menu_sub_Label a{
		pointer-events: none;
	}
	.header_submenu {
		max-height: 0 !important;
		overflow: hidden;
		transition: all 0.6s !important;
	}
	.menu_sub_toggle:checked + .menu_sub_Label + .header_submenu {	/*開閉時*/
		max-height: 100vh !important;
	}
	.menu_sub_toggle:checked + .menu_sub_Label span {	/*開閉時*/
		display: none !important;
	}

	/*ハンバーガーメニュー*/
	
	.navToggle {
		display: block;
		position: fixed;
		top: 13px;
		right: 16px;
		cursor: pointer;
		text-align: center;
		width: 27px;
		height: 27px;
		z-index: 1001;
		background-color: rgba(255, 255, 255, 0.6);
	}
	.navToggle span {
		display: block;
		position: absolute;
		/* .navToggleに対して */
		width: 19px;
		border-bottom: solid 2px #777E90;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		left: 4px;
	}
	.navToggle span:nth-child(1) {
		top: 5px;
	}
	.navToggle span:nth-child(2) {
		top: 12px;
	}
	.navToggle span:nth-child(3) {
		top: 19px;
	}

	/***　メニュータップ後のアクション　***/
	/* 最初のspanをマイナス45度に */
	.navToggle.active span:nth-child(1) {
		top: 12px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	/* 2番目と3番目のspanを45度に */
	.navToggle.active span:nth-child(2),
	.navToggle.active span:nth-child(3) {
		top: 12px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}


	/***　アコーディオンメニュー ***/

	.material-symbols-outlined{
		display: inline-block !important;
	}
	.menu_sub_Label a{
		pointer-events: none;
		color: #4A5966;
	}
	.header_submenu {
		max-height: 0 !important;
		overflow: hidden;
		transition: all 0.6s !important;
	}
	.menu_sub_toggle:checked + .menu_sub_Label + .header_submenu {	/*開閉時*/
		max-height: 100vh !important;
	}

	
	

	.footer_contact_block {
		padding: 3%;
		padding-top: 56px;
	}
	.footer_contact_notice{
		margin-bottom: 0;
	}
	.footer_contact_method {
		display: block;
		justify-content: center;
		align-items: stretch;
	}
	
	.footer_contact_method > div {
		width: 100%;
		padding: 42px 0;
	}

	.footer_contact_tel {
		border-left: none;
		border-right: none;
		border-top: solid 1px white;
		border-bottom: solid 1px white;
	}
	.footer_form_button {
		width: 100%;
		margin-top: 30px;
	}
	.footer_form_button a {
		display: block;
		width: 100%;
		height: 100%;
		color: #6E71AB;
		font-size: 18px;
		font-weight: 700;
		padding: 12px;
	}
	
	.footer_sitemap_block {
		flex-wrap: wrap;
		max-width: 100%;
		padding: 3%;
	}
	.footer_sitemap_block div{
		margin: 24px 0;
	}
	.footer_sitemap_block >div:first-child{
		text-align: center;
		width: 100%;
	}
	.footer_sitemap_block >div:last-child{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
	}
	.footer_sitemap_block >div:last-child p{
		width: 50%;
	}
	
	.Copyright{
		text-align: center;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	.carousel {
		aspect-ratio: auto;
		margin-top: 50px;
	}
	#carouselFade.is-static .dot { display: none !important; }
	
	.slides{
		height: 590px;
		outline: solid 1px red;
	}

	#carouselFade.zoom-intro .slide.is-active img {
		transform: scale(1); /* 拡大状態から */
		animation: none; /* 元サイズへ */
	}
	
	.slide_word_area{
		opacity: 1;
	}
	.slide img{
		filter: brightness(130%);
	}
	.slide_title{
		font-size: 30px;
		padding: 12px 0 12px 25px;
		margin-top: 80px;
	}
	.title-band{
		opacity: 1;
		transform: none;
		top: 276px;
		height: 58px;
	}
	.slide_text {
		padding-left: 20px;
		font-size: 16px;
		line-height: 180%;
		margin-top: 50px;
	}
	
	
	
/* index ************************************************************/
	.index_product_link_block{
		margin-top: 0px;
		padding-top: 65px;
		background-color: #C4C6EC;
	}
	
	.index_product_back{
		min-width: 100%;
		height: auto;
		z-index: 0;
	}
	.index_product_back >div img{
		position: static;
		width: 100%;
		height: 100%;
		transform: none;
		filter: brightness(60%);
	}

	.index_product_title {
		font-size: 35px;
		top: -82px;
		left: 3%;
	}
	.product_text {
		display: block;
		margin-top: 20px;
		font-size: 16px;
	}
	.product_text h3{
		font-size: 16px;
		margin-left: 3%;
		margin-bottom: 64px;
	}
	.product_text div{
		width: 94%;
		margin: 0 auto;
		font-size: 16px;
	}

	.index_product_grid_block {
		width: 100%;
	}
	.index_product_grid{
		margin-top: 20px;
	}
	.index_product_grid ul{
		justify-content: space-around;
		align-items: stretch;
	}
	.index_product_grid ul li{
		width: 45.5%;
	}
	.index_product_grid ul li img{
		width: 100%;
	}
	.product_detail_button a{
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
	}
	

	.index_strength_block { width: 100%; margin: 0 auto; text-align: center; }
	
	
	
	.index_processing_area{
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.index_processing_block{
		width: 100%;
		padding: 3%;
		box-sizing: border-box;
	}
	.processing_text {
		color: #777E90;
		display: block;
		justify-content: space-between;
		align-items: flex-start;
		margin-bottom: 12px;
	}
	.processing_text h3{
		font-size: 22px;
		text-align: center;
		margin-bottom: 24px;
	}
	.processing_text div {
		width: 100%;
		font-size: 16px;
		margin-bottom: 24px;
	}
	
	
	
	.index_processing_grid {
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	.index_processing_grid >div{
		width: 48%;
		margin-bottom: 24px;
	}
	.index_processing_grid div img{
		width: 100%;
	}

	.processing_detail_button{
		margin: 0 auto;
		margin-top: 45px;
	}


	.index_strength_area{
		padding-top: 80px;
		padding-bottom: 0px;
		background-color: #C4C6EC;
	}
	.strength_back{
		display: none;
	}
	.index_strength_block{
		padding: 3%;
		padding-top: 80px;
		padding-bottom: 100px;
		background-color: white;
	}
	.index_strength_title{
		font-size: 28px;
		margin: 0;
		margin-bottom: 72px;
	}
	.index_strengh_text{
		text-align: left;
	}
	.index_strength_link_block {
		display: block;
		justify-content: space-between;
		align-items: flex-start;
		margin-top: 50px;
	}
	.index_strength_link_block img{
		width: 100%;
	}
	.strength_link_button{
		font-size: 18px;
	}
	.index_strength_link_02{
		padding-top: 37px;
	}
	
	
	
	.index_link_line_area{
		background-color: #C4C6EC;
		padding: 3%;
		padding-top: 78px;
		padding-bottom: 69px;
	}
	
	.index_link_line {
		width: 100%;
		margin: 0 auto;
		display: block;
		justify-content: center;
		align-items: center;
	}
	.index_link_line div{
		width: 100%;
		margin-bottom: 9px;
	}
	.index_link_line a{
		font-size: 14px;
		padding: 18px 0;
	}
	.index_link_line a h2{
		font-size: 24px;
		margin-bottom: 6px;
	}
	
	

	.index_news_block { width: 100%; margin: 0 auto; padding: 3%;}
	

	.index_news_block li a{
		display: block;
		font-size: 16px;
	}
	
	
/* 社長メッセージmessage ***********************************************/
	.top_message_block{
		width: 94%;
		margin-left: 3%;
		padding-top: 59px;
	}
	h1.top_message_title{
		font-size: 24px;
		margin: 0;
		box-sizing: border-box;
	}
	.top_message_block div{
		font-size: 16px;
	}
	
	#top_message_area img{
		width: 100%;
	}
	
	.message_text_block{
		width: 94%;
		margin: 0 auto;
		margin-top: 36px;
	}
	.top_message{
		font-size: 20px;
	}
	.top_message_text{
		font-size: 16px;
		margin-bottom: 54px;
	}
	.top_name_block div{
		font-size: 28px;
	}
	#corporate_philosophy_area{
		width: 100%;
		margin-top: 90px;
		padding-top: 79px;
		padding-bottom: 79px;
		background: linear-gradient(90deg, #FFFFFF 0%, rgba(196, 198, 236, 0.3) 15%, rgba(196, 198, 236, 0.3) 85%, #FFFFFF 100%);
	}
	.corporate_philosophy_block{
		width: 100%;
	}
	.corporate_philosophy_block h2, .action_guideline_block h2{
		transform: none;
		font-size: 24px;
	}
	.corporate_philosophy_block, .action_guideline_block{
		font-size: 16px;
	}
	.corporate_philosophy_block, .action_guideline_block{
		width: 96%;
		margin: 0 auto;
	}
	.action_guideline_block ol{
		width: 100%;
	}

	/* 会社概要overview ***********************************************/
	#overview_top_area{
		padding: 3%;
	}
	.overview_top_block{
		width: 60%;
		height: auto;
		padding: 16px;
		font-size: 16px;
		bottom: -42px;
	}
	.overview_top_block h1{
		font-size: 24px;
	}
	.overview_company_block{
		width: 94%;
		margin: 0 auto;
	}
	.overview_company_block li.item_name{
		width: 85px;
	}
	
	.overview_address_block{
		display: block;
	}
	.overview_img_block{
		display: block;
	}
	ul.address_block{
		display: block;
	}
	.products_list_block ul.address_block li.item_name::after{
		content: none;
	}
	.products_list_block li{
		padding: 12px 0;
	}
	.overview_map{
		width: 100%;
	}
	.overview_map iframe{
		width: 100%;
	}

	ul.overview_maker_list{
		display: block;
	}
	
	.timeline{
		padding-left: 28px;
		margin-bottom: 78px;
	}

	/* ドット */
	.date::before{
		left:-26px;
	}
	/* 左の縦ガイド */
	.timeline::before{
		left:4px;
	}
	.event{
		display:block;
	}

	/* 下の薄い水平線 */
	.event::after{
		left:0;
	}
	.event:last-child::after{
		left: 0;
	}
	.date{
		font-size: 24px;
		margin-bottom: 10px;
	}
	.desc{
		word-break: normal;
	}
	

/*稲垣3本の矢 ***********************************************************/
	#top_strength_area{
		background-size: contain;
		background-repeat: no-repeat;
	}
	.strength_title_block{
		margin-bottom: 96px;
	}
	.strength_title_block div{
		color: #959090;
	}

	.strength_block{
		display: block;
		width: 94%;
		margin: 0 auto;
	}
	.strength_block div{
		text-align: center;
		margin-bottom: 40px;
	}
	.strength_block img{
		width: 100%;
	}
	.strength_block h2{
		font-size: 20px;
	}
	.strength_02{
		padding-left: 0;
		margin-top: 0;
	}
	

/*課題解決 ***********************************************************/
	#top_solution_area{
		margin: 0 auto;
		margin-top: 120px;
		margin-bottom: 80px;
		width: 94%;
		display: block;
	}
	#top_solution_area img{
		width: 100%;
	}
	.solution_text{
		display: block;
		margin-bottom: 20px;
	}
	.solution_text img{
		width: 72%;
	}
	.solution_text span{
		font-size: 20px;
	}
	
	.solution_block{
		width: 94%;
		flex-direction: column;
	}
	.solution_block img:first-child{
		width: 75%;
	}
	.answer_block{
		width: 98%;
		height: auto;
		font-size: 16px;
		padding: 60px 20px;
		text-align: center;
	}
	.answer_block span{
		display: block;
		font-size: 18px;
	}
	span.solution_note{
		text-align: left;
		margin-top: 8px;
		font-size: 14px;
	}
	.solution_3arrow{
		margin: 12px 0;
		transform: rotateZ(90deg);
	}
	
	.solution_delivery_area {
		background: rgba(196, 198, 236, 0.3);
	}
	.solution_delivery_block{
		width: 94%;
	}
	.delivery_text{
		font-size: 16px;
	}
	.flow_chart{
		flex-direction: column;
	}
	.flow_chart img{
		margin-top: -25px;
		margin-bottom: 25px;
		transform: rotateZ(90deg);
	}
	.flow_chart_block{
		width: 100%;
		height: auto;
		padding: 18px;
	}
	
	

/*オンラインポリシー ***********************************************************/
	#content_block{
		width: 94%;
	}
	
	#top_title_area h1{
		font-size: 24px;
		margin-bottom: 0;
	}
	#top_title_area div{
		transform: translateY(70px);
		font-size: 16px;
	}
	.policy_title_block h2{
		font-size: 24px;
		text-align: center;
	}
	

/*採用情報 ***********************************************************/
	.recruit_list_block{
		width: 94%;
	}
	
	.products_list_block li.item_name{
		font-size: 18px;
		flex: 0 0 30%; /* shrinkせず必ず30%確保 */
		margin-right: 8px;
	}
	
	.recruit_contact_block{
		width: 100%;
		padding: 28px 3%;
	}
	

/*採用情報 ***********************************************************/
	#overview_company_area{
		width: 94%;
		margin: 0 auto;
	}
	
	
	
	
	

/*鋳造品 ***********************************************************/
	#processing_area{
		width: 100%;
	}
	#processing_area >div:not([class]) {
		width: 94%;
		margin-left: 3%;
	}
	.processing_top_block div:last-child{
		width: 94%;
		margin-left: 3%;
	}
	.processing_top_block div:first-child{
		width: 50%;
		height: 200px;
		margin-bottom: 58px;
		justify-content: flex-start;
		padding-left: 3%;
	}
	.processing_top_block{
		display: block;
	}
	.processing_top_block h1{
		font-size: 24px;
	}
	.casting_weight{
		margin-left: 3%;
		margin-right: 3%;
	}
	.casting_weight img{
		position: static;
		margin-top: 24px;
		width: 100%;
	}
	.table_block{
		width: 97%;
		margin-left: 3%;
		overflow-x: auto;
	}
	
	.casting_contact_block{
		width: 100%;
		padding: 20px 3%;
	}
	
	.processing_section_title{
		margin-left: 3%;
		margin-right: 3%;
	}
	
	
	
/*鍛造品 ***********************************************************/
	.forging_img_block{
		flex-wrap: wrap;
		width: 94%;
		margin: 0 auto;
		margin-top: 24px;
	}
	.forging_img_block >div{
		width: 45%;
	}
	.forging_img_block img{
		width: 100%;
	}
	
	.notes{
		width: 94%;
		margin-left: 3%;
	}
	
	.processing_item{
		display: block;
		width: 94%;
		margin-left: 3%;
	}
	
	.processing_item div{
		padding: 8px 16px;
	}

/*シムライナー ***********************************************************/
	.shimliner_page{
		margin-left: 3%;
	}
	
	.forging_section_end img{
		width: 100%;
	}
	
	

/*製品インデックス*********************************************************/
	#products_top_area{
		margin-top: 90px;
		height: 200px;
	}
	#products_top_area img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	#products_about_area{
		width: 94%;
		margin-left: 3%;
	}
	
	.products_about_block, .products_list_block, .processing_list_block{
		width: 100%;
	}
	.products_about_block h2{
		font-size: 24px;
	}
	

	.products_list_item_menu ul {
		flex-wrap: wrap;
	}
	.products_list_item_menu ul li {
		flex: 1 1 calc(50% - 10px); /* 基本は2列 */
		padding: 10px;
	}
	.products_list_item_menu ul li::before{
		content: "―";
		margin-right: 14px;
	}
	.products_list_item_menu ul li:first-child {
		flex: 1 1 100%;   /* 最初だけ1列分（全幅） */
	}

	.products_list_item_menu ul::after {
		content: none;
	}

	.products_list_item_menu ul li:first-child::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		/* 線の“中心”をボトムから0.5pxの位置に置く（中央揃えの基準） */
		top: calc(100% - 0.5px);
		height: 1px;
		transform: translateY(-50%);
		background: #AAAFBE;
	}

	.products_list_item_menu li.item_name::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		width: 80px;
		/* ベース線と同じ中心位置に合わせてから、高さで太さ表現 */
		top: calc(100% - 0.5px);
		height: 3px;          /* ← 太さを変えるだけ */
		transform: translateY(-50%);
		background: #AAAFBE;
	}
	
	.hidden_line{
		display: none;
	}
	
	#products_intro_area{
		width: 100%;
		padding: 40px 0;
	}
	.products_block{
		width: 100%;
		overflow: hidden;
		padding-bottom: 32px;
	}
	.products_block img{
		height: 210px;
		margin-top: 20px;
		transform: translateX(-36%);
	}

	.products_item_block{
		position: static;
		width: 94%;
		margin-left: 3%;
		transform: translateY(-40px);
	}
	.products_item_block ul{
		flex-wrap: wrap;
	}

	.grid_2{
		grid-template-columns: repeat(1, 1fr);
	}
	.grid_4{
		grid-template-columns: repeat(2, 1fr);
	}
	.grid_5{
		grid-template-columns: repeat(2, 1fr);
	}
	.products_area{
		margin-bottom: 25px;
	}

	.left_area img{
		margin-left: 0;
	}
	.products_item_block h3{
		display: block;
		font-size: 30px;
		margin-bottom: 0;
	}
	.products_item_block >span{
		display: block;
		font-size: 20px;
		border-left: solid 8px #6E71AB;
		margin-top: -2px;
		padding-top: 15px;
		padding-left: 24px;
		margin-bottom: 16px;
	}
	.products_item_block li{
		width: auto;
	}
	.lead_block{
		margin-top: 0;
	}
	.lead_block .products_item_block{
		width: 94%;
	}
	
	#products_processing_area{
		padding: 30px 0;
	}
	p.products_processing_text{
		font-size: 16px;
	}
	.products_processing_item_block{
		display: block;
	}
	.products_processing_block{
		width: 94%;
	}
	.products_processing_block img{
		width: 50%;
	}
	.products_processing_item_block a{
		flex-direction: row-reverse;
		width: 100%;
		text-align: left;
		font-size: 22px;
		margin-bottom: 26px;
		border-right: none;
		border-left: solid 8px #6E71AB;
		height: 120px;
		padding-left: 14px;
	}
	
	
	/*各製品詳細ページ ***********************************************************/
	#product_top_area{
		margin-top: 90px;
	}
	.product_intro_block{
		width: 94%;
		margin: 0 auto;
		margin-bottom: 64px;
		position: relative;
	}
	
	.product_intro_block img{
		position: static;
		width: 100%;
	}
	.product_intro_block ul{
		width: calc(100% - 1em);
	}
	#product_sheet_block{
		width: 97%;
		overflow-x: auto;
		margin-left: 3%;
	}
	.pdf_button a{
		width: 94%;
		font-size: 16px;
		margin-top: 100px;
	}
	

	.printing{
		width: 94%;
		text-align: left;
	}
	
	
	.margin_A5052{
		margin-top: 74px;
	}
	
	.margin_storehouse{
		margin-top: 48px;
	}
	
	
	.row { 
		display: block;
	}
	
	
	

	.form_result{
		width: 100%;
	}
	
	
	
	
	
	
	
	
	
	
}