@charset "utf-8";

@media print,
screen and (min-width:480px) {

	/*pc・タブレットcss*/
	.motto-copy {
		padding-left: 18px;
		font-size: 1.6em;
		font-weight: 700;
		text-align: left;
		letter-spacing: 0.1em;
	}

	.company-data-table {
		border-collapse: collapse;
	}

	.company-data-table th,
	.company-data-table td {
		padding: 1.4vw;
		border-bottom: solid 1px #EBEBEB;
		vertical-align: top;
	}

	.company-data-table th {
		width: 15%;
		font-weight: 700;
	}

	.company-data-table td {
		width: 85%;
	}

	.company-data-table tr:first-child th,
	.company-data-table tr:first-child td {
		padding-top: 0;
	}

	.company-data-table tr:last-child th,
	.company-data-table tr:last-child td {
		border-bottom: none;
	}

	.company-data-ttl {
		font-weight: 700;
	}

	.officer-list li {
		-js-display: flex;
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.officer-list .jobtitle {
		display: block;
		min-width: 16vw;
	}

	.service-list li {
		margin-bottom: 2vw;
	}

	.tableStyle01 {
		margin-top: 20px;
		margin-bottom: 20px;
		border: 1px solid #D5D5D5;
		border-collapse: collapse;
		border-spacing: 0;
		empty-cells: show;
		font-size: 16px;
		font-size: 1.6rem;
		width: 100%;
	}

	.tableStyle01 th {
		width: 30%;
		border: 1px solid #D5D5D5;
		padding: 8px 15px 6px;
		background: #f2eeed;
		text-align: left;
	}

	.tableStyle01 td {
		border: 1px solid #D5D5D5;
		padding: 8px 15px 6px;
		text-align: left;
	}

	.tableStyle01 td img {
		max-width: 100%;
		width: auto;
	}

	/* 	.orange {
		color: #fa3428 !important;
	}

	.purple {
		color: #934eba !important;
	}

	.yellow {
		color: #db8937 !important;
	}

	.green {
		color: #5cad00 !important;
	}
 */
	.h04::before {
		content: "";
		display: inline-block;
		margin-right: 5px;
		width: 14px;
		height: 14px;
		border-radius: 50%;
		vertical-align: baseline;
	}

	.orange::before {
		background-color: #fa3428;
	}

	.purple::before {
		background-color: #934eba;
	}

	.yellow::before {
		background-color: #db8937;
	}

	.green::before {
		background-color: #5cad00;
	}

	.company_products {
		padding: 10px;
		background-color: #FFFFF0;
		filter: drop-shadow(3px 3px 3px lightgray);
		transform: translateZ(0)
	}

	.company_products+.company_products {
		margin-top: 40px;
	}

	.company_products_inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		padding: 20px;
	}

	.company_products_section {
		width: 100%;
		display: block;
	}

	.company_products_section p {
		-webkit-font-smoothing: antialiased;
	}

	.company_products_section .component {
		margin-bottom: 30px;
		font-size: 1.2em;
	}

	.company_products_desc {
		flex-grow: 1;
	}

	.company_products_banner {
		flex-shrink: 0;
		margin-top: 20px;
	}

	.company_products_banner_text {
		margin-top: 10px;
	}

	.company_products_banner_sp {
		display: none;
	}

	.company_products_img {
		-ms-flex-negative: 0;
		flex-shrink: 0;
		/*
		margin-left: min(5vw, 100px);
		*/
		margin-left: min(5vw, 35px);
		text-align: center;
	}

	.company_products_img img {
		width: auto;
		max-width: 100%;
		border: 1px solid #d3d3d3;
	}

	#acc01+.company_product_content .company_products_img img {
		border-radius: 50%;
	}

	#acc04+.company_product_content .company_products_img img {
		border: none;
	}

	.company_products_info {
		border-radius: 20px;
		border: 1px solid #ee5944;
		padding: 20px 20px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin: 20px;
		background-color: #FFFFFC;
	}

	.company_products_info span {
		width: 100px;
		-ms-flex-negative: 0;
		flex-shrink: 0;
		font-size: 2rem;
		font-weight: bold;
	}

	.company_hidden_checkbox {
		display: none;
	}

	.company_product_category {
		display: flex;
		border-left: solid 8px #EE5944;
		border-top: solid 1px #DDDDDD;
		border-right: solid 1px #DDDDDD;
		border-bottom: solid 1px #DDDDDD;
		border-radius: 5px;
		font-size: 1.4em;
		font-weight: 700;
		width: auto;
		padding-left: 12px;
		padding-top: 6px;
		padding-bottom: 6px;
		position: relative;
	}

	.company_product_category::before {
		content: "";
		width: 6px;
		height: 6px;
		border-top: 2px solid #EE5944;
		border-right: 2px solid #EE5944;
		-webkit-transform: rotate(45deg);
		position: absolute;
		top: calc(50% - 5px);
		right: 20px;
		transform: rotate(135deg);
	}

	/* .company_product_category,
	.company_product_content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	} */

	.company_product_content {
		/* height: 0;
		margin-bottom: 10px;
		padding: 0 20px;
		overflow: hidden; */
		display: none;
	}
	.company_product_category_outer {
		padding: 10px 0;
		margin: -5px 0;
	}
	

	.company_product_content.open {
		height: auto;
		padding: 20px;
		transition: all .3s;
	}

	.company_product_category.open::before {
		transform: rotate(-45deg) !important;
	}

	.product_label {
		width: min(100%, 430px);
		-ms-flex-negative: 0;
		flex-shrink: 0;
		font-size: min(2.3vw, 2.4rem);
		font-weight: bold;
		border-radius: 100px;
		border: 1px solid #ee5944;
		padding: 12px min(2vw, 40px);
		margin-bottom: 20px;
		background-color: #FFFFF9;
	}

	.contactWrapper {
		margin-top: 30px;
	}

	.contactWrapper {
		margin-top: 30px;
	}

	.contact {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		background: rgba(238, 89, 67, 0.15);
		padding: 40px;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		font-size: 2.4rem;
		font-weight: bold;
	}

	.contact_ttl {
		width: max(calc(260 / 964 * 100%), 270px);
		text-align: center;
		padding: 40px 30px;
		margin-right: min(3vw, 60px);
		background-color: #fff;
		border: 1px solid #707070;
		border-radius: 20px;
		-ms-flex-negative: 0;
		flex-shrink: 0;
	}

	.contact_address {
		font-size: 2rem;
		font-weight: bold;
		margin-right: 20px;
	}

	.contact_number {
		font-family: "Poppins", "Noto Sans JP", sans-serif;
		font-size: 3.6rem;
		font-weight: bold;
		margin-left: auto;
		margin-top: 20px;
	}

	.contact_number p span {
		display: inline-block;
		width: 80px;
	}

	.contact_number p+p {
		margin-top: 10px;
	}

	.location_map {
		margin-bottom: 20px;
	}

}

@media not all and (min-width: 1080px) {
	.company_products_section_col {
		flex-direction: column;
	}
}

@media not all and (min-width: 768px) {

	.company_products_inner {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.company_products_section {
		display: contents;
		margin-top: 20px;
	}

	.company_products_section .common_link_external {
		-webkit-box-ordinal-group: 5;
		-ms-flex-order: 4;
		order: 4;
	}

	.company_products_section .common-ttl04 {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
	}

	.company_products_section p {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
	}

	.company_products_section .component {
		margin-bottom: 15px;
	}

	.company_products_section .el_btn {
		margin-left: auto;
		margin-right: auto;
		-webkit-box-ordinal-group: 5;
		-ms-flex-order: 4;
		order: 4;
	}

	.company_products_section .company_products_info,
	.company_products_section .bl_table {
		-webkit-box-ordinal-group: 5;
		-ms-flex-order: 4;
		order: 4;
	}

	.company_products_section .product_label {
		order: 0;
		font-size: 16px;
		padding: 5px 20px;
	}

	.company_products_banner {
		display: none;
	}

	.company_products_banner_sp {
		display: block;
		margin-top: 10px;
		margin-bottom: 20px;
		text-align: center;
	}

	.company_products_banner_text_sp {
		margin-top: 5px;
	}

	.company_products_img {
		-webkit-box-ordinal-group: 2;
		margin-left: 0;
		text-align: center;
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.company_products_info {
		padding: 15px;
		display: block;
	}

	.company_products_info span {
		width: 100%;
		display: block;
		font-size: 16px;
		margin-bottom: 5px;
	}

	.contact {
		padding: 20px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.contact_ttl {
		font-size: 18px;
		padding: 5px;
		width: 250px;
		margin-right: 0;
	}

	.contact_address {
		margin-top: 10px;
		font-size: 16px;
	}

	.contact_number {
		margin-left: 0;
		font-size: 24px;
		margin-top: 10px;
	}

	.contact_number p+p {
		margin-top: 0;
	}

	.contact_number p span {
		width: 60px;
	}

	.location_map {
		margin-bottom: 20px;
	}

}

@media (max-width: 480px) {
	/*　SP基本　++++++++ */

	.motto-copy {
		padding: 2.8vw 0;
		font-size: 1.4em;
		font-weight: 700;
		text-align: center;
	}

	.company-data-table {
		border-collapse: collapse;
		border-top: solid 1px #EBEBEB;
	}

	.company-data-table th,
	.company-data-table td {
		display: block;
		width: 100%;
		padding: 2vw;
		border-bottom: solid 1px #EBEBEB;
	}

	.company-data-table th {
		font-size: 1.2em;
		font-weight: 700;
		background-color: #f5f5f5;
	}

	.company-data-table td {
		font-size: 1.1em;
	}

	/*.company-data-table tr:first-child th,.company-data-table tr:first-child td {}*/
	.company-data-table tr:last-child th,
	.company-data-table tr:last-child td {
		border-bottom: none;
	}

	.company-data-ttl {
		font-weight: 700;
	}

	.officer-list li {
		-js-display: flex;
		display: -webkit-box;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.officer-list .jobtitle {
		display: block;
		width: 9em;
	}

	/*.service-list{}*/
	.service-list li {
		margin-bottom: 2vw;
	}

	.wid35p {
		width: 35%;
		font-weight: 700;
	}

	.h04::before {
		content: "";
		display: inline-block;
		margin-right: 5px;
		width: 12px;
		height: 12px;
		border-radius: 50%;
		vertical-align: baseline;
	}

	.orange::before {
		background-color: #fa3428;
	}

	.purple::before {
		background-color: #934eba;
	}

	.yellow::before {
		background-color: #db8937;
	}

	.green::before {
		background-color: #5cad00;
	}


	.company_products {
		padding: 10px;
		background-color: #FFFFF0;
		filter: drop-shadow(3px 3px 3px lightgray);
	}

	.company_products+.company_products {
		margin-top: 40px;
	}

	.company_products_inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		padding: 10px;
	}

	.company_products_section {
		width: 100%;
		display: contents;
		margin-top: 20px;
	}

	.company_products_section .common-ttl04 {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
	}

	.company_products_section p {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
	}


	.company_products_section .component {
		margin-bottom: 15px;
		font-size: 1.2em;
	}

	.company_products_img {
		-webkit-box-ordinal-group: 2;
		margin-left: 0;
		text-align: center;
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.company_products_img img {
		width: auto;
		max-width: 100%;
	}

	.company_products_info {
		border-radius: 20px;
		border: 1px solid #ee5944;
		padding: 15px;
		display: block;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin: 20px;
		background-color: #FFFFFC;
	}

	.company_products_info span {
		width: 100%;
		display: block;
		font-size: 16px;
		margin-bottom: 5px;
	}

	.company_hidden_checkbox {
		display: none;
	}

	.company_product_category {
		display: flex;
		border-left: solid 8px #EE5944;
		border-top: solid 1px #DDDDDD;
		border-right: solid 1px #DDDDDD;
		border-bottom: solid 1px #DDDDDD;
		border-radius: 5px;
		font-size: 1.2em;
		font-weight: 700;
		width: auto;
		padding-left: 12px;
		padding-top: 6px;
		padding-bottom: 6px;
		position: relative;
	}

	.company_product_category::before {
		content: "";
		width: 6px;
		height: 6px;
		border-top: 2px solid #EE5944;
		border-right: 2px solid #EE5944;
		-webkit-transform: rotate(45deg);
		position: absolute;
		top: calc(50% - 5px);
		right: 20px;
		transform: rotate(135deg);
	}
	.company_product_category_outer {
		padding: 10px 0;
		margin: -5px 0;
	}

	/* 
	.company_product_category,
	.company_product_content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	} */

	.company_product_content {
		/* height: 0;
		margin-bottom: 10px;
		padding: 0 20px;
		overflow: hidden; */
		display: none;
	}

	.company_hidden_checkbox:checked+.company_product_category+.company_product_content {
		height: auto;
		padding: 0px 20px 20px 20px;
		transition: all .3s;
	}

	.company_hidden_checkbox:checked+.company_product_category::before {
		transform: rotate(-45deg) !important;
	}

	.company_products_section .product_label {
		order: 0;
		width: min(100%, 430px);
		font-size: 16px;
		font-weight: bold;
		border-radius: 100px;
		border: 1px solid #ee5944;
		padding: 5px 20px;
		margin-bottom: 20px;
		background-color: #FFFFF9;
	}

	.contactWrapper {
		margin-top: 30px;
	}

	.contact {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		background: rgba(238, 89, 67, 0.15);
		padding: 20px;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		font-size: 2.4rem;
		font-weight: bold;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}

	.contact_ttl {
		width: max(calc(260 / 964 * 100%), 270px);
		text-align: center;
		padding: 5px;
		background-color: #fff;
		border: 1px solid #707070;
		border-radius: 20px;
		-ms-flex-negative: 0;
		flex-shrink: 0;
		width: 250px;
		font-size: 18px;
	}

	.contact_address {
		font-size: 16px;
		font-weight: bold;
		margin-top: 10px;
	}

	.contact_number {
		font-family: "Poppins", "Noto Sans JP", sans-serif;
		font-size: 24px;
		font-weight: bold;
		margin-top: 10px;
	}

	.contact_number p span {
		display: inline-block;
		width: 60px;
	}

	.contact_number p {
		line-height: 1.1;
	}

	.tableStyle01 {
		margin-top: 10px;
		margin-bottom: 10px;
		border-collapse: collapse;
		display: block;
		font-size: 14px;
		width: 100%;
		border: 1px solid #D5D5D5;
	}

	.tableStyle01 tbody {
		display: block;
		width: 100%;
	}

	.tableStyle01 tr {
		display: block;
		width: 100%;
	}

	.tableStyle01 th {
		display: block;
		width: 100%;
		border-bottom: 1px solid #D5D5D5;
		padding: 10px;
		background: #f2eeed;
		text-align: left;
	}

	.tableStyle01 td {
		display: block;
		padding: 8px 15px 6px;
		text-align: left;
	}

	.tableStyle01 tr+tr {
		border-top: 1px solid #D5D5D5;
		;
	}

	.tableStyle01 td img {
		max-width: 100%;
		width: auto;
	}

	.company_product_content.open {
		height: auto;
		padding: 20px;
		transition: all .3s;
	}

	.company_product_category.open::before {
		transform: rotate(-45deg) !important;
	}


}

@media print {
	.company_product_content {
		display: block !important;
	}

	.company-data-table th {
		width: 120px;
		font-weight: 700;
	}

	.company-data-table td {
		width: calc(100% - 120px);
	}

	.h04::before {
		background-color: #000;
	}

	.tableStyle01 td a img {
		display: none;
	}
}
