@charset "utf-8";

/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/
@media screen and (max-width: 1280px) {
	/* layout */
	html{
		width: 1280px;
	}
	body {
		width: 1280px;
	}
}

/*--------------------------------------------------------
★レスポンシブ■スマホ表示切替ボタン
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	a#btnSP{
		display: none;
	}
	a#btnPC{
		position: fixed;
		display: block;
		width: auto;
		height: auto;
		font-size: 1.2rem;
		padding: 10px 20px;
		box-sizing: border-box;
		border: 2px solid #ff859a;
		background-color: #FFF;
		color: #ff859a;
		font-weight: 600;
		text-decoration: none;
		line-height: 1em;
		margin-top: 4px;
		left: 5%;
		bottom: 70px;
		z-index: 2;
	}
}
@media screen and (min-width: 481px) {
	.switch_btn{
		display: none;
		height: 0;
	}
	a#btnSP{
		display: none;
	}
	a#btnPC{
		display: none;
	}
}

@media screen and (min-width:1021px) {
	.switch_btn{
		display: block;
		height: auto;
	}
	a#btnPC{
		display: none;
	}
	a#btnSP{
		position: fixed;
		display: block!important;
		width: 300px;
		height: auto;
		z-index: 100;
		font-size: 2.4rem;
		padding: 8px;
		text-align: center;
		border-radius: 20px;
		background-color: #ff859a;
		box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
		color: #FFF;
		text-decoration: none;
		bottom: 40px;
		left: 15px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 1023px) {
	.switch_btn{
		display: none;
		height: 0;
	}
	a#btnSP{
		display: none;
	}
	a#btnPC{
		display: none;
	}
}
/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 481px) {
	.pc_none{
		display: none!important;
	}
}
@media screen and (max-width: 480px) {
	.sp_none{
		display: none!important;
	}
	html #wpadminbar {
		display: none;
	}

}

@media screen and (min-width: 1001px) {
	.sp_header {
		display: none;
	}
}

@media screen and (max-width: 1000px) {
	.header_pc {
		display: none;
	}
	/* スマホ用メニュー */
	.sp_header {
		display: flex;
		width: 100%;
		height: 50px;
		position: fixed;
		top: 0;
		z-index: 300;
		background: #fff;
		box-shadow: 0 0 4px rgb(0 0 0 / 50%);
	}
	.sp_header_logo a {
		font-size: 0;
		position: relative;
		display: block;
		width: 237px;
		height: 37px;
		margin-top: 8px;
		margin-left: 5px;
		background: url(../images/common/logo.svg) no-repeat center center / contain;
	}
	.sp_header_contact {
		position: fixed;
		right: 50px;
		top: 0;
	}
	.sp_header_contact a {
		position: relative;
		font-size: 1rem;
		line-height: 1.7;
		font-weight: 600;
		letter-spacing: -.1em;
		display: block;
		width: 55px;
		height: 50px;
		color: #034899;
		background: #F5F5F5;
		text-align: center;
		padding-top: 29px;
	}
	.sp_header_contact a::before {
		position: absolute;
		content: "";
		width: 21px;
		height: 14px;
		left: 50%;
		top: 10px;
		transform: translateX(-50%);
		background: url(../images/common/icon_mailB.svg) no-repeat center center / contain;
	}
	/* スマホ用メニュー */
	.index .sp_hamburger {
		overflow: hidden;
		height: auto;
		padding: 0;
	}
	.drawer .contents {
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
	}
	.drawer #navTgl:checked~.contents {
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.index #navTgl {
		display: none;
		overflow: hidden;
	}
	.drawer label.open,
	.drawer label.close {
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
	}
	/* .drawer label.pc_none {
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
	} */
	.drawer .open{
		display: block;
		z-index: 101;
		width: 50px;
		height: 50px;
		color: #fff;
		background-color: #034899;
		font-size: 1.6em;
		line-height: 33px;
		text-align: center;
		-webkit-transition: background-color 0.6s,-webkit-transform 0.6s;
		transition: background-color 0.6s,transform 0.6s;
	}
	.index #navTgl:checked+.open {
		color: #034899;
		background-color: #fff;
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.drawer .open span{
		position: relative;
		display: block;
		font-size: 1rem;
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0;
	}
	.drawer .close {
		pointer-events: none;
		z-index: 1;
		width: 100%;
		height: 100%;
		transition: background-color 0.6s;
	}
	.drawer #navTgl:checked~.close {
		pointer-events: auto;
		background-color: rgba(0,0,0,.3);
		z-index: 2;
	}
	.fixed_btn{
		position: fixed;
		display: block;
		width: 55px;
		height: 50px;
		color: #034899;
		font-size: 1.0rem;
		font-weight: 600;
		text-align: center;
		line-height: 1;
		letter-spacing: -.03em;
		top: 0;
		right: 50px;
		z-index: 30;
		padding: 35px 0 5px;
		box-sizing: border-box;
	}
	.menu{
		z-index: 3;
		position: fixed;
		overflow: auto;
		top: 0;
		right: 0;
		width: 250px;
		height: 100%;
		padding: 50px 10px 10px;
		background-color: #fff;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
		box-sizing: border-box;
		z-index: 200;
	}
	.index #navTgl:checked~.menu {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.menu li a{
		position: relative;
		color: #3C3C3C;
	}
	.menu li a .dropdown_link_arrow {
		display: inline-block;
		position: absolute;
		right: 10px;
		transform: rotate(90deg);
		font-size: 1.4rem;
	}
	.dropdown .sub {
		display: none;
	}
	.dropdown_link_sub {
		position: relative;
		display: block;
		cursor: pointer;
	}
	.menu ul{
		padding: 0;
	}
	.menu li{
		position: relative;
		border-bottom: 1px solid #034899;
		font-size: 0.9em;
		line-height: 1.4;
	}
	.dropdown_link_sub {
		position: relative;
	}
	.dropdown_link_sub::after{
		position: absolute;
		content: "";
		top: 18px;
		right: 15px;
		width: 10px;
		height: 10px;
		border-top: 2px solid #034899;
		border-right: 2px solid #034899;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		transition: .3s;
	}
	.is_active::after {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		transition: .3s;
	}
	.menu li a{
		display: block;
		padding: 1em 2em .9em;
		text-decoration: none;
		transition: background-color 0.6s;
	}
	.menu ul li ul{
		background: rgba(3,72,153,.8);
	}
	.menu ul li ul li{
		border-bottom-color: #fff;
	}
	.menu ul li ul li:last-child{
		border-bottom: 0;
	}
	.menu ul li ul li a{
		color: #FFF;
	}
	header.clone-nav {
		height: 50px;
	}
}

@media screen and (max-width: 360px) {
	.sp_header_logo a {
		width: 200px;
		height: 33px;
	}
}
/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	html{
		max-width: 480px;
		width: 100%;
		overflow-x: hidden;
		-webkit-text-size-adjust: 100%!important;
	}
	body {
		max-width: 480px;
		min-width: 320px;
		width: 100%;
		overflow-x: hidden!important;
		line-height: 1.7;
		letter-spacing: .05em;
		-webkit-text-size-adjust: 100%!important;
		top: 0!important;
	}
	/* layout
	------------------------------ */
	.wrapper{
		max-width: 480px;
		width: 100%;
		padding: 0 5%;
	}
	.layout_flex{
		display: block;
	}
	/* Common
	------------------------------ */
	.caution{
		font-size: 1.4rem;
		line-height: 1.7;
	}
	.tel_title {
		margin-top: 8px;
	}
	.tel{
		font-size: 2.6rem;
	}
	a[href*="tel:"] {
		pointer-events: auto;
		cursor: pointer;
	}
	h2 {
		font-size: 2.2rem;
	}
	#splash_logo {
		width: 100%;
		top: 30%;
		transform: translate(-50%, -30%);
	}
	#splash_logo img {
		width: 100%;
	}
	.btn_unit_arrow {
		margin-left: 5px;
	}
	.btn_unit_arrow::before {
		width: 50px;
		height: 50px;
	}
	/* Header
	------------------------------ */
	header{
		position: relative;
		display: block;
		width: 100%;
		height: auto;
	}
	header::after{
		display: none
	}
	header::before {
		content: none;
	}
	header div.wrapper{
		padding-top: 0;
	}
	header .flex,#gnav,
	header.is-show{
		display: none;
	}
	/* index
	------------------------------ */
	/* top_catch */
	.top_message_content {
		width: 100%;
	}
	.top_message_wrapper {
		height: 400px;
	}
	.top_message_wrapper::before {
		width: 80%;
	}
	.top_message_title {
		font-size: 3rem;
		line-height: 1.2em;
	}
	.top_message_title span {
		font-size: 2.4rem;
	}
	.top_message_title_en {
		font-size: 1.2rem;
	}
	.top_catch .top_slider {
		height: 400px;
	}
	.top_slider.slider01 {
		background-image: url(../images/top/sp_slider01.jpg);
	}
	.top_slider.slider02 {
		background-image: url(../images/top/sp_slider02.jpg);
	}
	.top_slider.slider03 {
		background-image: url(../images/top/sp_slider03.jpg);
	}
	.top_slider.slider04 {
		background-image: url(../images/top/sp_slider04.jpg);
	}
	/* //top_catch */

	/* index_create */
	.index_create_wrapper {
		padding: 0 5%;
	}
	.index_create_content {
		width: 100%;
		padding: 50px 0;
	}
	.index_create_content::after {
		right: 30px;
		bottom: 47px;
	}
	#index_create h2 {
		font-size: 2.4rem;
		text-shadow: 1px 1px 2px #FFF, -1px -1px 2px #FFF,
					-1px 1px 2px #FFF, 1px -1px 2px #FFF,
					0px 1px 2px #FFF,  0 -1px 2px #FFF,
					-1px 0 2px #FFF, 1px 0 2px #FFF;
	}
	.index_create_text {
		text-shadow: 1px 1px 2px #FFF, -1px -1px 2px #FFF,
					-1px 1px 2px #FFF, 1px -1px 2px #FFF,
					0px 1px 2px #FFF,  0 -1px 2px #FFF,
					-1px 0 2px #FFF, 1px 0 2px #FFF;
	}
	.index_create_btn {
		margin-top: 20px;
	}
	.index_create_btn .btn_unit {
		margin-left: auto;
	}
	/* //index_create */

	/* index_products */
	.index_products_group.index_products_group_1 {
		margin-top: 30px;
	}
	.index_products_group_3.index_products_group::after {
		display: none;
	}
	.index_products_group_pict {
		position: relative;
		width: 100%;
		top: auto;
	}
	.index_products_group_pict img {
		height: auto;
	}
	.index_products_content {
		width: 100%;
	}
	.index_products_pict_left .index_products_inner {
		padding: 30px 5%;
	}
	.index_products_pict_right .index_products_inner {
		padding: 30px 5%;
	}
	.index_products_group_head {
		font-size: 4rem;
		width: 100%;
		padding: 0 5%;
	}
	.index_products_pict_left .index_products_group_head {
		width: 100%;
		padding: 0 5%;
		margin: 8px auto 0;
	}
	.index_products_pict_right .index_products_group_head {
		text-align: left;
		width: 100%;
		padding: 0 5%;
		margin: 8px auto 0;
	}
	.index_products_num {
		font-size: 3.4rem;
		right: auto;
		left: 5%;
		top: 19px;
	}
	.index_products_pict_right .index_products_num {
		right: 10px;
	}
	.index_products_title {
		font-size: 2.2rem;
		padding-left: 8%;
	}
	.index_product_en {
		font-size: 4rem;
		line-height: 1.1em;
		color: #fff;
		text-align: right;
	}
	/* //index_products */

	/* index_news */
	.index_news_bg {
		background: url(../images/top/index_news_bg.jpg) no-repeat left 15% center / cover;
	}
	.index_news_bg::before {
		width: 100%;
		top: -50px;
		clip-path: polygon(0% 100%, 75% 0%, 100% 0%, 100% 100%);
	}
	.index_news_bg::after {
		width: 100%;
		bottom: -50px;
		clip-path: polygon(0% 100%, 0% 0%, 100% 0%, 25% 100%);
	}
	.index_news_wrapper {
		padding: 50px 5%;
		margin-top: 50px;
	}
	.index_news_group {
		margin-top: 30px;
	}
	.index_news_card {
		display: flex;
	}
	.index_news_card_detail {
		width: calc(100% - 110px);
		padding-right: 0;
	}
	.index_news_btn {
		margin-top: 20px;
	}
	.index_news_btn .btn_unit {
		margin-left: auto;
	}
	/* //index_news */

	/* index_menu */
	.index_menu_group {
		margin-top: 50px;
	}
	.index_menu_link {
		width: 100%;
		padding: 20% 0 10px;
    	aspect-ratio: 10 / 8;
	}
	.index_menu_link_about::before {
		background: url(../images/top/index_menu_about_sp.jpg) no-repeat center center / cover;
	}
	.index_menu_link_product::before {
		background: url(../images/top/index_menu_product_sp.jpg) no-repeat center center / cover;
	}
	.index_menu_link_company::before {
		background: url(../images/top/index_menu_company_sp.jpg) no-repeat center center / cover;
	}
	.index_menu_link_recruit::before {
		background: url(../images/top/index_menu_recruit_sp.jpg) no-repeat top center / cover;
	}
	.index_menu_link h3 {
		font-size: 2.4rem;
		text-align: left;
		padding-left: 5%;
	}
	.index_menu_link .h2_en {
		text-align: left;
		padding-left: 5%;
	}
	.index_menu_link .btn_unit {
		width: 140px;
		margin-top: 30px;
	}
	.index_menu_link_about .btn_unit {
		width: 185px;
	}
	/* //index_menu */

	/* index_locations */
	.index_locations_wrapper {
		padding: 50px 0;
	}
	.index_locations_group {
		margin-top: 0;
	}
	.index_locations_card:first-of-type {
		margin-top: 110px;
	}
	.index_locations_card {
		width: 100%;
		padding: 10px 5% 10px;
		margin-top: 150px;
	}
	.index_locations_card_detail h3 {
		font-size: 1.8rem;
		margin-top: 10px;
	}
	.index_locations_card_map iframe {
		width: 100%;
	}

	/* footer
	------------------------------ */
	footer {
		padding: 50px 0 70px;
		margin-top: 50px;
	}
	footer::before {
		width: 19%;
		top: -30px;
		bottom: 0;
	}
	.footer_content {
		padding: 0 5%;
	}
	.footer_foot {
		padding-top: 0;
		margin-top: 0;
		border-top: none;
	}
	.footer_logo {
		width: 250px;
		height: 41px;
		margin: auto;
	}
	.copy_right small {
		text-align: center;
	}
	/* sub
	------------------------------ */
	.main_title {
		height: 200px;
		margin-top: 50px;
	}
	.main_title::before {
		width: 30%;
		bottom: -40px;
	}
	.sub_h1 {
		left: 25%;
		top: 56%;
		transform: translateY(-50%);
	}
	.main_ja {
		font-size: 2.6rem;
		line-height: 1.2em;
	}
	.main_en {
		font-size: 1.2rem;
		margin-top: 4px;
	}
	table tr td,table tr th {
		box-sizing: border-box;
	}
	.sub_section {
		margin-top: 50px;
	}
	.sub_section h2 {
		font-size: 2.4rem;
		line-height: 1.4em;
	}
	.sub_section h2.border {
		border-image: linear-gradient(to right, #034899 0 40px, #D9D9D9 40px 100%);
		border-image-slice: 1;
		padding-bottom: 10px;
	}

	/* about
	------------------------------ */
	.about_solution_text {
		text-align: left;
		margin-top: 15px;
	}
	#about_development.sub_section {
		margin-top: 50px;
	}
	#about_support.sub_section {
		margin-top: 50px;
	}
	#about_suggestion.sub_section {
		margin-top: 50px;
	}
	.about_bg::before {
		width: 95%;
	}
	#about_support .about_bg::before {
		bottom: 130px;
	}
	.about_heading {
		padding-top: 30px;
	}
	.about_heading .about_subtitle_en {
		font-size: 1.8rem;
	}
	.about_heading .about_subtitle_ja {
		font-size: 3rem;
	}
	.about_group {
		margin-top: 30px;
	}
	.about_unit {
		margin-top: 50px;
	}
	.about_pic {
		position: relative;
		width: 100%;
		top: 0;
		padding: 0 5%;
	}
	.about_pic img {
		height: 200px;
	}
	.about_content_wrapper {
		padding: 0 5%;
	}
	.about_content {
		width: 100%;
		padding: 10px 15px;
		min-height: auto;
	}
	.about_content.about_content_large {
		padding: 10px 15px;
	}
	.about_content_inner {
		width: 100%;
	}
	.about_content_inner.about_content_inner_wide {
		width: 100%;
	}
	.about_content_title {
		font-size: 2.4rem;
	}
	.about_content_text {
		font-size: 1.8rem;
		margin-top: 10px;
	}
	.about_btn {
		margin-top: 20px;
	}
	#about footer {
		margin-top: 100px;
	}

	/* products
	------------------------------ */
	/* products共通 */
	.products_content {
		margin-top: 20px;
	}
	.products_content_pic {
		width: 100%;
	}
	.products_content_detail {
		width: 100%;
		margin-top: 0;
	}
	.products_content_detail_text {
		margin-top: 15px;
	}
	.products_content_detail_btn .btn_unit {
		margin-top: 20px;
	}
	.products_group {
		display: flex;
	}
	.products_link {
		width: 48%;
		margin-top: 35px;
	}
	.products_link h3 {
		font-size: 1.8rem;
		line-height: 1.2;
		padding-right: 24px;
		margin-top: 10px;
	}
	.products_link h3::before {
		width: 20px;
		height: 20px;
		top: 1px;
	}
	.products_link h3::after {
		width: 13px;
		height: 5px;
		right: 3px;
	}
	#products footer {
		margin-top: 100px;
	}
	/* // products共通 */
	.products_message_text {
		margin-top: 15px;
	}
	.products_head_text {
		margin-top: 20px;
	}

	/* products single
	------------------------------ */
	/* products single共通 */
	.products_content_detail_pdf .pdf_link {
		margin: 30px auto 0;
	}
	.lineup_item {
		margin: auto;
		margin-top: 40px;
	}
	.lineup_item:nth-child(-n + 3) {
		margin: auto;
		margin-top: 40px;
	}
	.lineup_item_pic img {
		height: auto;
	}
	.lineup_item_title {
		font-size: 1.8rem;
		margin-top: 10px;
	}
	.lineup_item .pdf_link {
		margin: 10px auto 0;
	}
	.feature_item {
		justify-content: space-between;
		margin-top: 30px;
	}
	.feature_item_num {
		width: 70px;
		border-top: 6px solid #990000;
		padding-top: 10px;
	}
	.feature_item_num_numeral {
		font-size: 4.4rem;
		margin-top: 0;
	}
	.feature_item_text {
		width: calc(100% - 70px);
		padding: 20px 10px 20px;
		min-height: auto;
	}
	.products_contact_head {
		padding: 30px 20px 80px;
		margin-bottom: -60px;
	}
	.products_contact_text {
		margin-top: 15px;
	}
	.products_contact_foot {
		padding: 0 15px;
	}
	.products_contact_info {
		padding: 15px;
	}
	.products_contact_info_heading_logo {
		width: 225px;
		height: 37px;
	}
	.products_contact_info_heading_address {
		padding-top: 15px;
		margin-top: 15px;
	}
	.products_contact_tel_unit {
		display: block;
	}
	.products_contact_tel_unit:nth-of-type(n + 2) {
		margin-top: 10px;
	}
	.products_contact_tel_unit_link {
		font-size: 2rem;
		padding: 5px 10px 5px 40px;
	}
	.products_contact_tel_unit_link span::before {
		top: 5px;
	}
	.products_contact_mail {
		font-size: 1.8rem;
		height: 130px;
		padding-top: 50px;
		margin-top: 25px;
	}
	.products_contact_mail span::before {
		width: 30px;
		height: 20px;
		top: -36px;
	}
	.products footer {
		margin-top: 100px;
	}
	/* // products single共通 */
	.products_single_foot_text {
		font-size: 1.8rem;
		margin-top: 30px;
	}
	.past_buttons {
		margin-top: 50px;
	}
	.past_button {
		margin-top: 20px;
		margin-right: 0;
	}
	.past_button:nth-child(-n + 3) {
		margin-top: 20px;
	}
	.past_button:nth-child(3n) {
		margin-right: 0;
	}
	.past_lineup_item {
		margin-top: 10px;
		margin-right: 0;
	}
	.past_lineup_item:nth-child(-n + 3) {
		margin-top: 10px;
	}
	/* ツールス */
	.tools_lineup_item {
		margin: auto;
		margin-top: 40px;
	}
	.tools_lineup_item:nth-child(-n + 2) {
		margin: auto;
		margin-top: 40px;
	}
	.tools_lineup_item_pic img {
		height: auto;
	}
	
	/* company
	------------------------------ */
	.company_greeting_content {
		margin-top: 20px;
	}
	.company_greeting_content_pic {
		width: 100%;
	}
	.company_greeting_content_pic figcaption {
		font-size: 1.6rem;
		margin-top: 5px;
	}
	.company_greeting_content_pic figcaption span {
		font-size: 2.6rem;
	}
	.company_greeting_content_detail {
		width: 100%;
		margin-top: 10px;
	}
	.company_greeting_content_detail_text:nth-of-type(n + 2) {
		margin-top: 10px;
	}
	.company_greeting__btn {
		display: flex;
		flex-wrap: wrap;
	}
	.company_greeting__btn {
		margin-top: 30px;
	}
	.company_greeting__btn .btn_unit {
		margin-right: 0;
		width: 50%;
	}
	.company_greeting__btn .btn_unit_arrow {
		width: 50px;
		height: 50px;
	}
	.company_greeting__btn .btn_unit_arrow::before {
		width: 40px;
		height: 40px;
	}
	.company_greeting__btn .off_arrow::before, .on_arrow::before {
		width: 20px;
		height: 6px;
	}
	.company_idea_lists {
		margin-top: 20px;
	}
	.company_idea_list + li {
		margin-top: 15px;
	}
	.company_idea_list_title_wrapper {
		gap: 0 10px;
	}
	.company_idea_list_title_ja {
		font-size: 2.2rem;
        white-space: nowrap;
		padding-right: 30px;
	}
	.company_idea_list_title_ja::after {
		width: 18px;
	}
	.company_idea_list_title_en {
		font-size: 2.4rem;
	}
	#company_business_line h3 {
		font-size: 2rem;
		margin-top: 20px;
	}
	.company_business_line_link .btn_unit .btn_unit_title {
		font-size: 1.8rem;
	}
	.company_business_line_link {
		padding: 50px 0;
	}
	#company_business_line h3:nth-of-type(2) {
		margin-top: 50px;
	}
	.company_business_line_service_item {
		margin-top: 20px;
	}
	.company_business_line_service_item h4 {
		font-size: 1.8rem;
		padding: 15px 0 15px;
	}
	.company_locations_group {
		margin-top: 10px;
	}
	.company_locations_item {
		padding: 20px 15px;
	}
	.company_locations_item_pic img {
		width: 100%;
		margin-right: 0;
	}
	.company_locations_item_unit h4 {
		font-size: 1.8rem;
		width: 100%;
		margin-top: 5px;
	}
	.company_locations_item_tel {
		margin-top: 10px;
	}
	.company_locations_item_btn {
		width: 153px;
		margin-left: auto;
	}
	#company footer {
		margin-top: 100px;
	}

	/* outline
	------------------------------ */
	#outline_about table {
		margin-top: 20px;
	}
	#outline_about table tr th {
		display: block;
		width: 100%;
		padding: 10px 15px;
	}
	#outline_about table tr td {
		display: block;
		width: 100%;
		padding: 10px 15px;
	}
	.outline_history_flex {
		margin-top: 20px;
	}
	#outline_history table tr th {
		display: block;
		width: 100%;
		padding: 10px 15px;
		border-bottom: none;
	}
	#outline_history table tr td {
		display: block;
		width: 100%;
		padding: 10px 15px;
	}
	.outline_history_pics {
		margin-top: 30px;
	}
	.outline_qualifications_lists {
		margin-top: 20px;
	}
	#outline footer {
		margin-top: 100px;
	}

	/* takino
	------------------------------ */
	/* 各工場共通 */
	.location_flex {
		margin-top: 20px;
	}
	.location_content_title {
		font-size: 1.8rem;
		margin-top: 5px;
	}
	.location_content_introduction {
		padding: 10px 15px;
		margin-top: 15px;
	}
	.access_flex {
		margin-top: 20px;
	}
	.access_title {
		font-size: 1.8rem;
	}
	.access_description {
		padding-top: 10px;
		margin-top: 10px;
	}
	#takino footer, #chiba footer, #kyushu footer {
		margin-top: 100px;
	}
	.equipment_content {
		padding: 30px 0;
	}
	.equipment_container {
		margin-top: 30px;
	}
	.equipment_content {
		padding: 30px 0;
	}
	.equipment_detail {
		padding: 0 ;
	}
	.equipment_detail_title {
		font-size: 2.4rem;
		margin-top: 0;
	}
	.equipment_detail_text {
		margin-top: 10px;
	}
	.equipment_flex {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 0;
		margin-top: 20px;
	}
	.equipment_pic {
		width: 48%;
		margin-top: 5%;
	}
	.equipment_pic:nth-of-type(odd) {
		margin-right: 4%;
	}
	.equipment_pic_title {
		font-size: 1.6rem;
		margin-top: 3px;
	}
	.facilities_flex {
		display: flex;
		margin-top: 20px;
	}
	.facilities_pic {
		width: 48%;
	}
	.facilities_pic:nth-of-type(n+3) {
		margin-top: 20px;
	}
	.facilities_pic_title {
		font-size: 1.6rem;
		margin-top: 3px;
	}
	.appearance_flex {
		display: flex;
		margin-top: 20px;
	}
	.appearance_pic {
		width: 48%;
	}
	.appearance_pic:nth-of-type(n + 3) {
		margin-top: 20px;
	}
	.appearance_pic_title {
		font-size: 1.6rem;
	}
	/* //各工場共通 */
	.takino_products h3 {
		font-size: 1.8rem;
		margin-top: 20px;
	}
	.takino_products table {
		margin-top: 3px;
		width: 530px;
	}
	.takino_products_pic {
		margin-top: 30px;
	}

	/* effort
	------------------------------ */
	.effort_plan_subtitle {
		font-size: 1.8rem;
		margin-top: 20px;
	}
	.effort_plan_box {
		margin-top: 20px;
	}

	.effort_plan_laborer {
		width: 100%;
	}
	.modal_wrapper .effort_plan_laborer tr:first-of-type th:first-of-type {
		width: auto;
		min-width: 50px
	}
	.modal_wrapper .effort_plan_laborer tr:nth-of-type(2) th {
		width: auto;
		min-width: 90px
	}
	.modal_wrapper table tr th {
		padding: 5px 10px;
	}
	.modal_wrapper table tr td {
		padding: 5px 10px;
	}






	.effort_plan_overtime_wrapper{
		overflow: auto;
		width: 100%;
		height: 400px;
	}
	.effort_plan_overtime{
		margin: 0;
		border-spacing: 0;
	}
	.effort_plan_overtime td{
		white-space: nowrap;
	}
	.effort_plan_overtime th{
		white-space: nowrap;
		position: sticky;
		top: 0;
		left: 0;
	}
	.effort_plan_overtime tr:first-child th:first-child{
		z-index: 1;
	}
	.modal_wrapper .effort_plan_overtime tr:first-of-type th {
		background: linear-gradient(0deg, #034899 0%, #034899 1px, #D4E3F4 1px, #D4E3F4 100%);
	}
	.modal_wrapper .effort_plan_overtime tr:nth-of-type(n+2) th {
		background: #D4E3F4;
	}
	#effort_plan .effort_plan_table tr th {
		display: block;
		width: 100%;
		padding: 10px 15px;
	}
	#effort_plan .effort_plan_table tr td {
		display: block;
		width: 100%;
		padding: 10px 15px;
	}
	.modal_open a::before {
		top: 17px;
	}
	.modal_open a::after {
		top: 26px;
	}
	.modal_window {
		height: 80%;
		padding: 20px 15px;
	}
	.effort_plan_table_title {
		font-size: 1.8rem;
		margin-top: 40px;
	}
	.effort_plan_table_title span {
		font-size: 1.5rem;
	}
	.modal_wrapper table {
		margin-top: 10px;
	}
	.square_bout {
		margin-top: 10px;
	}
	.effort_plan_box:nth-of-type(2) {
		margin-top: 30px;
	}
	.effort_scholarship_flex {
		margin-top: 20px;
	}
	.effort_scholarship_content_title {
		font-size: 1.8rem;
		margin-top: 10px;
	}
	.effort_scholarship_check {
		padding: 10px 15px;
		margin-top: 20px;
	}
	.effort_scholarship_check_list::before{
		top: 7px;
	}
	.effort_sdgs_subtitle {
		font-size: 1.8rem;
		text-align: left;
		margin-top: 20px;
	}
	.effort_sdgs_item_logo {
		width: 80%;
		margin: 20px auto 0;
	}
	.effort_sdgs_item {
		padding: 10px 15px;
	}
	.effort_sdgs_item_title {
		font-size: 1.8rem;
	}
	.effort_sdgs_item_flex {
		margin-top: 10px;
	}
	.effort_sdgs_item_pic {
		margin: auto;
	}
	.effort_sdgs_item_content {
		margin-top: 10px;
	}
	.effort_sdgs_item_subtitle:nth-of-type(n + 2) {
		margin-top: 10px;
	}
	#effort footer {
		margin-top: 100px;
	}

	/* news
	------------------------------ */
	.news_pic {
		width: 100%;
	}
	.news_content {
		width: 100%;
		margin-top: 10px;
	}
	.news_title {
		font-size: 1.8rem;
	}
	.news_text {
		margin-top: 10px;
	}
	.news_aside {
		width: 100%;
	}
	.news_aside h3 {
		font-size: 1.8rem;
		padding: 10px 10px 9px;
	}
	.news_aside h3:first-of-type {
		margin-top: 50px;
	}
	.news_side_lists_new .news_side_list a {
		padding: 10px 20px;
	}
	#news footer {
		margin-top: 100px;
	}

	/* news - single
	------------------------------ */
	.news_article .news_article_title {
		font-size: 1.8rem;
	}
	.news_article_init {
		display: flex;
	}
	.news_article_content {
		padding-top: 15px;
	}
	.single_btn_unit {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 50px;
	}
	.single_btn_previous {
		order: 1;
	}
	.single_btn_next {
		order: 2;
	}
	.news_article_btn {
		order: 3;
		margin-top: 30px;
	}
	.single_btn .previous {
		width: 100%;
	}
	.single_btn .next {
		width: 100%;
		text-align: right;
	}
	/* recruit
	------------------------------ */
	.products_content_detail_title {
		font-size: 1.8rem;
		margin-top: 10px;
		margin-bottom: 0;
	}
	.forte_content {
		margin-top: 50px;
	}
	.forte_pic_wrapper {
		width: 100%;
	}
	.forte_detail_wrapper {
		width: 100%;
		padding: 20px 5%;
		margin-top: 0;
	}
	.forte_detail_title {
		font-size: 2.4rem;
	}
	.forte_detail_subtitle {
		font-size: 1.8rem;
		margin-top: 10px;
	}
	.recruit_business_head {
		margin-top: 20px;
	}
	.recruit_business_content {
		padding: 30px 0;
	}
	.recruit_business_detail {
		padding: 0;
	}
	.recruit_business_detail_title {
		font-size: 2.4rem;
		margin-top: 10px;
	}
	.recruit_business_detail_text {
		margin-top: 10px;
	}
	.recruit_business_detail_btn {
		margin-top: 10px;
	}
	.recruit_voice_bg {
		padding: 50px 0;
	}
	.recruit_voice_content {
		margin-top: 40px;
	}
	.recruit_voice_pics {
		position: relative;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.recruit_voice_pic {
		width: 50%;
	}
	.recruit_voice_pics_title {
		color: #fff;
		background: rgba(3,72,153,.85);
		text-align: center;
		width: 100%;
		font-weight: 700;
	}
	.recruit_voice_pics_title span {
		font-size: 1.4rem;
		font-weight: 400;
	}
	.recruit_voice_detail {
		width: 100%;
		transform: translateX(0);
		padding: 20px;
		margin-top: 0;
	}
	.recruit_voice_detail_list_title {
		font-size: 1.8rem;
		padding-left: 25px;
	}
	.recruit_voice_detail_list_title::before {
		width: 15px;
		height: 15px;
		left: 5px;
		top: 9px;
	}
	.recruit_voice_detail_list_text {
		padding-left: 25px;
	}
	.recruit_welfare_head {
		margin-top: 20px;
	}
	#recruit_figure .bg_blue {
		padding: 50px 0;
	}
	.recruit_figure_head {
		margin-top: 20px;
	}
	.count_content {
		min-height: 360px;
		padding: 30px 0 0;
	}
	.count_figure {
		font-size: 2.4rem;
		margin-top: 20px;
	}
	.count_title {
		font-size: 2rem;
	}
	.count_title span {
		font-size: 1.4rem;
	}
	.count_up {
		font-size: 4rem;
	}
	.count_content_configuration .count_content_pic {
		padding: 0 14px 30px 20px;
		margin-top: 50px;
	}
	.count_content_ratio .count_content_pic {
		padding: 0 15px 30px;
		margin-top: 30px;
	}
	.count_content_holiday_foot {
		font-size: 1.8rem;
		margin-top: 0px;
		margin-bottom: 10px;
	}
	.count_content_unit {
		margin-top: 55px;
	}
	.count_content_proportion_figure:nth-of-type(2) {
		margin-top: 23px;
	}
	.recruit_recruiting_card_pic {
		width: 100%;
	}
	.recruit_recruiting_card_detail {
		width: 100%;
	}
	.recruit_recruiting_btn .btn_unit {
		margin: 30px auto 0;
	}
	.recruit_entry_head {
		margin-top: 20px;
	}
	#mailformpro table tr th {
		display: block;
		width: 100%;
		border-bottom: 2px solid #fff;
		padding: 10px 15px;
	}
	#mailformpro table .input_menu th {
		padding: 10px 15px;
	}
	#mailformpro table tr td {
		display: block;
		padding: 10px 15px;
	}
	#mailformpro table .input_menu td {
		padding: 10px 15px;
	}
	#mailformpro table .textarea_menu td {
		padding: 10px 15px;
	}
	#mailformpro table tr td input[type="text"], #mailformpro table tr td input[type="tel"], 
	#mailformpro table tr td input[type="email"] {
		width: 100%;
	}
	#mailformpro table tr td input[type="text"].post_code {
		width: 180px;
	}
	#mailformpro table tr td textarea {
		width: 100% !important;
		height: 150px !important;
	}
	#privacy_policy {
		height: 250px;
		margin: 30px auto 0;
		padding: 20px;
	}
	.contact_btn button {
		margin: 30px auto 0;
	}
	#recruit footer {
		margin-top: 100px;
	}

	/* recruitment
	------------------------------ */
	.recruitment_points_pic {
		width: 100%;
	}
	.recruitment_points_item {
		padding: 20px;
		margin-top: 30px;
	}
	.recruitment_points_unit_title {
		font-size: 1.8rem;
	}
	.recruitment_points_unit_text {
		margin-top: 10px;
	}
	.recruitment_points_unit_btn .btn_unit {
		margin-top: 20px;
		margin-right: 0;
	}
	.recruitment_side_lists {
		display: flex;
	}
	.recruitment_aside {
		margin: 50px auto 0;
	}
	.recruitment_aside h3 {
		font-size: 1.8rem;
		padding: 10px 10px 10px;
		margin-top: 20px;
	}
	#recruitment footer {
		margin-top: 100px;
	}

	/* recruitment - single
	------------------------------ */
	.recruitment_table {
		margin-top: 30px;
	}
	.recruitment_table tr th {
		display: block;
		width: 100%;
		padding: 10px 15px;
	}
	.recruitment_table tr td {
		display: block;
		width: 100%;
		padding: 10px 15px;
	}
	.recruitment_single_btn .btn_unit {
		margin: 30px auto 0;
	}
	.single_btn {
		margin-top: 15px;
	}

	/* contact
	------------------------------ */
	.contact_tel_group {
		margin-top: 0;
	}
	.contact_tel_item {
		width: 100%;
		padding: 14px 10px 12px;
		margin-top: 20px;
	}
	.contact_tel_item h3 {
		margin-bottom: 0;
	}
	#contact_mail.sub_section {
		margin-top: 50px;
	}
	.contact_mail_head {
		margin-top: 20px;
	}
	#contact footer {
		margin-top: 100px;
	}

	/* contact - thanks
	------------------------------ */
	#thanks_content {
		margin-bottom: 0;
	}
	#thanks footer {
		margin-top: 100px;
	}

	/* wp-pagenavi
	------------------------------ */
	.pagenavi {
		width: 100%;
	}
	.wp-pagenavi {
		width: 100%;
	}

	/* yonmaruyon
	------------------------------ */
	#yonmaruyon01 .tel {
		margin-top: 20px;
	}
	#yonmaruyon01 .btn {
		margin-top: 30px;
	}

	/* Breadcrumb
	------------------------------ */
	.breadcrumbs {
		height: 40px;
	}
	.breadcrumbs_menu {
		left: 12.1%;
		top: 16px;
	}
	.breadcrumbs a {
		margin: 0 5px;
	}

	/* Page Navi
	------------------------------ */
	.pagenavi,.wp-pagenavi,.page-nav{
		margin-top: 30px;
	}
	.page-nav li{
		margin-bottom: 10px;
	}

	/* Page Top
	------------------------------ */
	.pagetop{
		position: fixed;
		-webkit-transition: all .4s;
		-moz-transition: all .4s;
		-ms-transition: all .4s;
		-o-transition: all .4s;
		transition: all .4s;
		opacity: 0;
		z-index: 10;
		box-sizing: border-box;
	}
	.pagetop.show{
		opacity: 1;
		bottom: 10px;
		right: 5%;
		width: 54px;
		height: 54px;
	}
	.pagetop span{
		position: relative;
		display: block;
		font-size: 0;
		line-height: 0;
	}
	.pagetop::before{
		content: "";
		position: absolute;
		width: 20px;
		height: 20px;
		transform: rotate(45deg);
		background: none;
		left: 0;
		right: 0;
		margin: 0 auto;
		top: 21px;
		transition: .25s;
	}
	.pagetop:hover::before{
		width: 20px;
	}
}

