@media (max-width: 1840px) {
	.site-map .copy {
		left: 20px;
	}
}

@media (max-width: 1760px) {
	.w1720,
	.w1600,
	header,
	footer {
		padding: 0 20px;
	}
	.sub-contents .overview .contents {
		margin-top: 0
	}

	.sub-contents .overview .contents .motion-box .imgbox .img {
		position: relative;
		max-width: 100%;
		width: calc(100% - 40px);
		transition: all 0.8s 0.1s
	}

	.sub-contents .overview .contents .motion-box .cont.off .imgbox .img {
		max-width: 1560px;
	}

	.sub-contents .overview .contents .motion-box .cont.on .imgbox .img {
		width: 100%;
	}
}

@media (max-width: 1600px) {
	:root {
		--left-width: 400px;
	}

	header nav {
		width: 70%;
	}

	main .company .title {
		margin-bottom: 60px;
	}

	main .company .item p {
		font-size: 1.8rem;
	}

	main .sustainability .box,
	main .inquiry .box {
		padding: calc(var(--header-height) + 40px) 0 100px;
	}

	main .sustainability .point-text,
	main .inquiry .point-text {
		font-size: 10rem;
	}

	main .sustainability .item {
		height: 100px;
	}

	main .sustainability .item a {
		padding: 0 30px;
	}

	main .sustainability .item:hover a {
		padding: 0 45px;
	}

	.sub-visual .text h2 {
		font-size: 10rem;
	}

	.sub-contents .tpm .activities .build dl dt {
		font-size: 1.5rem;
	}

	.sub-contents .purpose .item p {
		padding: 30px;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .txtbox strong {
		font-size: 12.0rem;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .txtbox span {
		font-size: 5.6rem;
	}

	.sub-contents .ci .top .info-box dt br {
		display: none
	}

	.sub-contents .overview .contents {
		margin-top: 0
	}

	.sub-contents .overview .contents .motion-box .cont.off .imgbox .img {
		width: calc(100% - 40px);
	}
}

@media (max-width: 1400px) {
	:root {
		--left-width: 300px;
	}

	header .depth1>li>a {
		font-size: 1.8rem;
	}

	header .depth2 {
		padding: calc(var(--header-height) + 20px) 0 20px;
	}

	header .depth2>li>a {
		font-size: 1.6rem;
		padding: 5px 0;
	}

	.site-map .depth1>li {
		row-gap: 40px;
		padding: 40px 0;
	}

	main .company .item {
		font-size: 3.4rem;
	}

	main .company .item .hover {
		row-gap: 20px;
	}

	main .company .item p {
		font-size: 1.6rem;
	}

	main .company .item p br {
		display: none;
	}

	main .business .gap20 {
		row-gap: 10px;
	}

	main .news .slide-box {
		margin: 20px 0 40px;
	}

	main .news .item h5 {
		font-size: 2.1rem;
		margin: 20px 0 10px;
	}

	main .inquiry .item a {
		padding: 40px;
	}

	.sub-contents .sub-page .page-tab button {
		font-size: 2rem;
	}

	.sub-contents .sub-page .depth3-tab li {
		width: 360px;
		height: 75px;
	}

	.sub-contents .secondary .description .features .item-box {
		column-gap: 20px;
	}

	.sub-contents .certificate .item-box {
		row-gap: 60px;
		column-gap: 20px;
	}

	.sub-contents .certificate .item p {
		font-size: 1.8rem;
		margin-top: 20px;
	}

	.sub-contents .tpm .propulsion .center ul li {
		padding: 0 15px;
	}

	.sub-contents .purpose .item {
		grid-template-columns: 200px 60px auto;
	}

	.sub-contents .ethics .list-box .item {
		grid-template-columns: 80px 40px auto;
	}

	.sub-contents .ethics .list-box .item dl {
		grid-template-columns: 200px auto;
	}

	.sub-contents .ethics .list-box .item dl * {
		font-size: 1.8rem;
	}

	.sub-contents .ethics .list-box .item dl dd {
		padding: 30px;
	}

	.sub-contents .code .txtbox {
		width: 400px;
		top: 80px;
	}

	.sub-contents .code .txtbox h4 {
		font-size: 5.0rem;
	}

	.sub-contents .code .img-list {
		width: calc(100% - 400px);
	}

	.sub-contents .code .img-list ul {
		gap: 120px 60px;
	}

	.sub-contents .code .img-list ul li {
		width: calc((100% - 60px) / 2);
	}

	.sub-contents .code .img-list ul li .imgbox {
		position: relative;
	}
	.sub-contents .code .img-list ul li:nth-child(2) {
		margin-top: 250px;
	}

	.sub-contents .code .img-list ul li:nth-child(3),
	.sub-contents .code .img-list ul li:nth-child(5) {
		margin-top: -250px;
	}

	.sub-contents .code .img-list ul li .over .txt {
		font-size: 2.2rem;
	}

	.sub-contents .human .item {
		padding: 0 30px;
	}

	.sub-contents .human .item p {
		padding: 40px;
		margin-bottom: 30px;
	}

	.sub-contents .gallery-box {
		column-gap: 30px;
	}

	.sub-contents .view-box .top h4 {
		font-size: 3.8rem;
	}

	.register-box .file>input {
		width: calc(100% - 180px - 10px);
	}

	.register-box .file label {
		width: 180px;
	}

	.sub-contents .environmental .bottom .box,
	.sub-contents .environmental .bottom .box .w50,
	.sub-contents .environmental .bottom .box .i-box {
		gap: 10px 40px;
	}

	.sub-contents .ci .list dt {
		width: 350px;
	}

	.sub-contents .ci .list dd {
		width: calc(100% - 350px);
	}

	.sub-contents .vision .contents>dl>dt {
		width: 300px;
	}

	.sub-contents .vision .contents>dl>dd {
		width: calc(100% - 300px);
	}

	.sub-contents .vision .contents>dl>dt .sbox {
		width: 220px;
		height: 65px;
	}

	.sub-contents .vision .contents>dl>dd .box-1 {
		height: 65px;
	}

	.sub-contents .vision .contents>dl>dd .box-2 li .circle {
		width: 280px;
		height: 280px;
	}

	.sub-contents .vision .contents>dl>dd .box-3 li {
		height: 65px;
	}

	.sub-contents .vision .contents>dl>dd .box-4>ul>li {
		padding: 30px;
	}

	.sub-contents .history .contents h4 {
		font-size: 6.0rem;
	}

	.sub-contents .history .history-box>dl>dt {
		width: 400px;
	}

	.sub-contents .history .history-box>dl>dd {
		width: calc(100% - 400px);
	}

	.sub-contents .founder .contents .top .info-box dt strong {
		font-size: 4.0rem;
	}

	.sub-contents .founder .contents.director .top .info-box dt strong {
		font-size: 3.6rem;
	}

	.sub-contents .founder .contents .top .info-box dt br,
	.sub-contents .founder .contents .listbox dl dd li br {
		display: none
	}

	.sub-contents .founder .contents .listbox {
		gap: 40px;
	}

	.sub-contents .founder .contents .listbox dl {
		width: calc((100% - 80px) / 3);
	}

	.sub-contents .founder .contents .listbox .box {
		width: calc((100% - 40px) / 2);
	}

	.sub-contents .overview .contents .img-box .text p {
		font-size: 3.8rem;
	}

	.sub-contents .overview .contents .img-box .text .stxt {
		margin-top: 20px;
		font-size: 1.9rem;
	}

	.sub-contents .overview .contents .img-list {
		margin-top: 120px;
		gap: 120px 0;
	}

	footer .information {
		max-width: 710px;
		column-gap: 20px;
	}

	footer .information dl {
		column-gap: 15px;
	}
}

@media (max-width: 1200px) {
	:root {
		--header-height: 80px;
	}

	header nav {
		display: none;
	}

	header .language {
		margin-left: auto;
	}

	.site-map .depth1>li>a,
	.site-map .depth2>li>a {
		padding: 15px 20px;
	}

	.site-map .depth1 {
		grid-template-columns: repeat(1, 1fr);
		text-align: left;
	}

	.site-map .depth1::before {
		background-size: calc((100% - 1px) / 4) 100%;
	}

	.site-map .depth1>li {
		width: 25%;
		row-gap: 0;
		padding: 0;
	}

	.site-map .depth1>li>a {
		font-size: 2.3rem;
	}

	.site-map .depth2 {
		width: 25%;
		display: block;
		padding: 5px 0;
		position: absolute;
		top: 0;
		left: 25%;
		overflow: hidden;
		pointer-events: none;
	}

	.site-map .depth2>li {
		transform: translateX(-100%);
		transition: all 0.6s var(--slow);
	}

	.site-map .depth2.on {
		pointer-events: inherit;
	}

	.site-map .depth2.on>li {
		transform: translateX(0);
	}

	.site-map .depth2.on>li:nth-child(1) {
		transition-delay: 0.1s;
	}

	.site-map .depth2.on>li:nth-child(2) {
		transition-delay: 0.2s;
	}

	.site-map .depth2.on>li:nth-child(3) {
		transition-delay: 0.3s;
	}

	.site-map .depth2.on>li:nth-child(4) {
		transition-delay: 0.4s;
	}

	.site-map .depth2.on>li:nth-child(5) {
		transition-delay: 0.5s;
	}

	.site-map .depth2.on>li:nth-child(6) {
		transition-delay: 0.6s;
	}

	.site-map .depth2.on>li:nth-child(7) {
		transition-delay: 0.7s;
	}

	.site-map .depth2.on>li:nth-child(8) {
		transition-delay: 0.8s;
	}

	.fullpage-nav {
		display: none;
	}

	main .title p {
		font-size: 1.9rem;
	}

	main .section .box {
		padding: var(--gap150) 0;
		overflow: hidden;
	}

	main .visual .box {
		padding: 0;
	}

	main .company .item-box,
	main .sustainability .item-box,
	main .inquiry .item-box {
		column-gap: 10px;
	}

	main .company .item {
		font-size: 2.8rem;
	}

	main .company .item .hover {
		padding: 0 10px;
	}

	main .company .item b {
		font-size: 1.6rem;
	}

	main .business .box,
	main .business .content {
		background: transparent;
	}

	main .business .box span,
	main .business .box b {
		line-height: 1.5;
	}

	main .business .scroller {
		display: none;
	}

	main .business .gap20,
	main .business .gap10 {
		row-gap: 0;
	}

	main .business .content {
		opacity: 1;
	}

	main .business .bg {
		z-index: -1;
		clip-path: circle(100% at 50% 50%);
	}

	main .business .text-box {
		margin: 40px 0 0;
	}

	main .business .text-box h3 {
		color: var(--color-white);
	}

	main .business .text-box a {
		margin: 60px 0 0;
		position: relative;
		top: auto;
		left: auto;
		transform: translateX(0);
	}

	main .news .row {
		column-gap: 20px;
	}

	main .news .row>div {
		width: calc(50% - 10px);
	}

	main .sustainability .title,
	main .inquiry .title {
		margin-bottom: 60px;
	}

	main .sustainability .point-text,
	main .inquiry .point-text {
		font-size: 8rem;
	}

	main .sustainability .item {
		height: 90px;
	}

	main .sustainability .item a {
		padding: 0 20px;
	}

	main .sustainability .item h5 {
		font-size: 2rem;
	}

	main .sustainability .item h5 img {
		width: 40px;
	}

	main .sustainability .item:hover a {
		padding: 0 30px;
	}

	main .inquiry .item a {
		padding: 30px;
	}

	main .inquiry .item dl dt {
		margin-bottom: 30px;
	}

	main .inquiry .item dl b {
		font-size: 1.6rem;
		margin-top: 10px;
	}

	main .inquiry .item dl dd {
		font-size: 1.8rem;
	}

	main .inquiry .item:hover {
		transform: translateY(-20px);
	}

	.sub-visual .text h2 {
		font-size: 7.4rem;
	}

	.sub-visual .path-box .path {
		max-width: 200px;
	}

	.sub-contents .sub-page .page-tab {
		display: none;
	}

	.sub-contents .sub-page .depth3-tab li {
		width: 280px;
		height: 65px;
	}

	.sub-contents .sub-page .depth3-tab li a {
		font-size: 1.9rem;
	}

	.sub-contents .sub-page .depth4-tab li:not(:last-child)::after {
		margin: 0 40px;
	}

	.sub-contents .sub-page .depth4-tab li a {
		font-size: 2rem;
	}

	.sub-contents .affiliate .map-box {
		padding: 50px 30px;
	}

	.sub-contents .affiliate .text h4 {
		font-size: 3.5rem;
		margin-bottom: 40px;
	}

	.sub-contents .affiliate .text p {
		font-size: 1.9rem;
	}

	.sub-contents .workplace .top h4 {
		font-size: 2.7rem;
	}

	.sub-contents .workplace .top ul {
		column-gap: 30px;
	}

	.sub-contents .workplace .top ul li {
		font-size: 1.9rem;
	}

	.sub-contents .workplace .map-box {
		height: 440px;
	}

	.sub-contents .workplace .img-box {
		column-gap: 20px;
		margin-top: 20px;
	}

	.sub-contents .secondary .sub-flex {
		flex-direction: column;
		row-gap: 60px;
	}

	.sub-contents .secondary .page-title {
		position: relative;
	}

	.sub-contents .secondary .description .info {
		row-gap: 40px;
	}

	.sub-contents .secondary .description .info h4 {
		font-size: 2.8rem;
	}

	.sub-contents .secondary .description .info p {
		font-size: 1.9rem;
	}

	.sub-contents .secondary .plan::before {
		left: 50%;
	}

	.sub-contents .certificate .item-box {
		grid-template-columns: repeat(4, 1fr);
	}

	.sub-contents .tpm .content>div>p {
		font-size: 1.9rem;
	}

	.sub-contents .purpose .item-box {
		row-gap: 60px;
	}

	.sub-contents .purpose .item {
		display: flex;
		flex-direction: column;
	}

	.sub-contents .purpose .item h6 {
		height: 65px;
	}

	.sub-contents .purpose .item>h6 {
		width: 100%;
	}

	.sub-contents .purpose .item .dot-line {
		width: 100%;
		height: 40px;
		flex-direction: column;
		margin: -7px 0;
	}

	.sub-contents .purpose .item .dot-line::before {
		width: 1px;
		height: 100%;
		border-top: none;
		border-right: 2px dashed var(--color-border);
	}

	.sub-contents .purpose .text {
		width: 100%;
	}

	.sub-contents .ethics .list-box .item dl dd {
		padding: 30px 20px;
	}

	.sub-contents .ethics .list-box .item dl p {
		font-size: 1.7rem;
	}

	.sub-contents .code .txtbox {
		width: 300px;
		top: 60px;
	}

	.sub-contents .code .txtbox h4 {
		font-size: 3.8rem;
	}

	.sub-contents .code .img-list {
		width: calc(100% - 300px);
	}

	.sub-contents .code .img-list ul {
		gap: 100px 50px;
	}

	.sub-contents .code .img-list ul li {
		width: calc((100% - 50px) / 2);
	}

	.sub-contents .code .img-list ul li:nth-child(2) {
		margin-top: 220px;
	}

	.sub-contents .code .img-list ul li:nth-child(3),
	.sub-contents .code .img-list ul li:nth-child(5) {
		margin-top: -220px;
	}

	.sub-contents .code .img-list ul li .over {
		padding: 0 10px;
	}

	.sub-contents .code .img-list ul li .over .txt {
		font-size: 2.0rem;
	}

	.sub-contents .human .item {
		padding: 0 30px;
	}

	.sub-contents .human .item em,
	.sub-contents .human .item h6 {
		font-size: 2.3rem;
	}

	.sub-contents .human .item button {
		padding: 40px 20px;
	}

	.sub-contents .welfare .item-box {
		row-gap: 30px;
		column-gap: 30px;
	}

	.sub-contents .welfare .item .text dl dt {
		font-size: 3.2rem;
		margin-bottom: 20px;
	}

	.sub-contents .gallery-box {
		row-gap: 60px;
		column-gap: 20px;
	}

	.sub-contents .gallery-box .text {
		margin-top: 20px;
	}

	.sub-contents .gallery-box .text h5 {
		font-size: 2rem;
		margin-bottom: 10px;
	}

	:root {
		--form-height: 55px;
	}

	.register-box .reBox>ul {
		gap: 60px 40px;
	}

	.register-box .reBox>ul>li.w50 {
		width: calc((100% - 40px) / 2);
	}

	.register-box .reBox>ul>li>label {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}

	.register-box .reBox>ul>li input[type="text"],
	.register-box .reBox>ul>li input[type="password"] {
		padding: 0 20px;
		font-size: 1.7rem;
	}

	.register-box .reBox>ul>li select {
		padding: 0 50px 0 20px;
		font-size: 1.7rem;
	}

	.register-box .reBox>ul>li textarea {
		height: 180px;
		padding: 20px;
	}

	.register-box .reBox>ul>li input[type="text"]:hover,
	.register-box .reBox>ul>li input[type="password"]:hover {
		padding: 0 19px;
	}

	.register-box .reBox>ul>li select:hover {
		padding: 0 49px 0 19px;
	}

	.register-box .reBox>ul>li .code-box .img {
		width: 175px;
		border-radius: 60px;
	}

	.register-box .reBox>ul>li .code-box input {
		width: calc(100% - 175px - var(--form-height) - 10px);
	}

	.register-box .reBox>ul>li .code-box .btn_refresh {
		width: var(--form-height);
	}

	.register-box .file {
		display: flex;
		gap: 0 10px;
		width: 100%;
	}

	.register-box .file>input {
		width: calc(100% - 180px - 10px);
	}

	.register-box .file label {
		width: 180px;
		font-size: 1.7rem;
	}

	.register-box .privacy-box {
		margin-top: 60px;
	}

	.register-box .privacy-box>p {
		font-size: 1.9rem;
	}

	.register-box .privacy-box .scroll-box {
		margin-top: 10px;
		height: 200px;
		padding: 20px;
	}

	.register-box .rd input[type="radio"]+span,
	.register-box .privacy-box .ch input[type="checkbox"]+span {
		font-size: 1.7rem;
	}

	.register-box .btnCont {
		margin-top: 60px;
	}
	
	.sub-contents .btn-box a,
	.register-box .btnCont a,
	.register-box .btnCont button {
		width: 360px;
		height: 75px;
		font-size: 1.9rem;
	}

	.sub-contents .btn-box {
		margin-top: 100px;
	}

	.sub-contents .support .contents .txtbox {
		width: 420px;
	}

	.sub-contents .support .contents .txtbox p {
		font-size: 3.4rem;
	}

	.sub-contents .support .contents .txtbox ul {
		margin-top: 100px;
		gap: 20px;
	}

	.sub-contents .support .contents .txtbox li i {
		width: 25px;
	}

	.sub-contents .support .contents .txtbox li strong {
		width: 120px;
		font-size: 1.7rem;
	}

	.sub-contents .support .contents .txtbox li span {
		width: calc(100% - 120px);
		font-size: 1.7rem;
	}

	.sub-contents .support .contents .support-ip {
		width: calc(100% - 420px);
	}

	.sub-contents .recruit-list .txtbox {
		padding: 30px;
		min-height: 217px;
	}

	.sub-contents .recruit-list .txtbox .type {
		font-size: 1.5rem;
		margin-bottom: 20px;
		padding: 10px 20px;
	}

	.sub-contents .recruit-list {
		row-gap: 10px;
		column-gap: 30px;
	}

	.sub-contents .recruit-list .txtbox {
		margin-top: 20px;
	}

	.sub-contents .recruit-list .txtbox h5 {
		font-size: 2rem;
		margin-bottom: 10px;
	}

	.sub-contents .recruit-list .txtbox span {
		font-size: 1.6rem;
	}

	.sub-contents .recruit-list .txtbox span strong {
		margin-right: 10px;
		padding-right: 10px;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .txtbox strong {
		font-size: 9.5rem;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .txtbox span {
		font-size: 5.0rem;
	}

	.sub-contents .talent .value-box .txtbox {
		width: 380px;
	}

	.sub-contents .talent .value-box .txtbox h4 {
		font-size: 4.6rem;
	}

	.sub-contents .talent .value-box .txtbox h4 strong {
		margin-left: 35px;
	}

	.sub-contents .talent .value-box .listbox {
		width: calc(100% - 380px);
	}

	.sub-contents .talent .value-box .listbox li {
		gap: 20px 60px;
		padding: 60px 30px;
	}

	.sub-contents .talent .value-box .listbox li dt {
		font-size: 1.7rem;
	}

	.sub-contents .talent .value-box .listbox li dt strong {
		font-size: 2.4rem;
	}

	.sub-contents .talent .value-box .listbox li dd {
		font-size: 1.9rem;
	}

	.sub-contents .environmental .contents .top {
		padding-top: 120px;
		max-width: 920px;
	}

	.sub-contents .environmental .contents .top .circle-box {
		width: 260px;
		height: 260px;
	}

	.sub-contents .environmental .contents .top .circle-box dt {
		font-size: 1.5rem;
		padding: 10px 30px;
	}

	.sub-contents .environmental .contents .top .circle-box dd {
		margin-top: 20px;
		font-size: 1.7rem;
	}

	.sub-contents .environmental .contents .top .circle-box::after {
		left: -100px;
		width: 95px;
	}

	.sub-contents .environmental .contents .top .circle-box:nth-child(1)::after {
		right: -100px;
	}

	.sub-contents .environmental .contents .top .center {
		top: 120px;
	}

	.sub-contents .environmental .contents .top .center .cbox {
		width: 260px;
		height: 260px;
		border-width: 30px;
	}

	.sub-contents .environmental .contents .top .center .cbox h4 {
		font-size: 2.4rem;
	}

	.sub-contents .environmental .contents .top .center .line {
		width: 350px;
		height: 350px;
	}

	.sub-contents .environmental .contents .top .center .line::before {
		width: 500px;
		height: 500px;
	}

	.sub-contents .environmental .contents .box {
		margin: 220px auto 0;
		gap: 10px 20px;
	}

	.sub-contents .environmental .contents .box::after {
		top: -250px;
		left: 50%;
		height: 190px;
	}

	.sub-contents .environmental .contents .box::before {
		width: calc((100% + 16px) / 2);
	}

	.sub-contents .environmental .contents .box dl {
		width: calc((100% - 20px) / 2);
	}

	.sub-contents .environmental .bottom {
		margin-top: 120px;
		padding: 120px 0 150px;
	}

	.sub-contents .environmental .bottom .box,
	.sub-contents .environmental .bottom .box .w50,
	.sub-contents .environmental .bottom .box .i-box {
		gap: 10px 20px;
	}

	.sub-contents .environmental .bottom .box .txtbox {
		margin-top: 30px;
		font-size: 2.1rem;
	}

	.sub-contents .ci h4 {
		font-size: 3.6rem;
	}

	.sub-contents .ci .top .txt_b {
		font-size: 2.2rem;
	}

	.sub-contents .ci .list dt {
		width: 280px;
	}

	.sub-contents .ci .list dd {
		width: calc(100% - 280px);
	}

	.sub-contents .vision .contents>dl>dt {
		width: 200px;
	}

	.sub-contents .vision .contents>dl>dd {
		width: calc(100% - 200px);
	}

	.sub-contents .vision .contents>dl>dt .sbox {
		width: 160px;
		height: 60px;
	}

	.sub-contents .vision .contents>dl>dt h4 {
		font-size: 1.9rem;
	}

	.sub-contents .vision .contents>dl>dd .box-1 {
		font-size: 1.9rem;
		height: 60px;
	}

	.sub-contents .vision .contents>dl>dd .box-2 li .circle {
		width: 220px;
		height: 220px;
	}

	.sub-contents .vision .contents>dl>dd .box-2 li .circle .text {
		margin-top: 20px;
		font-size: 2.4rem;
	}

	.sub-contents .vision .contents>dl>dd .box-3 ul {
		gap: 10px;
	}

	.sub-contents .vision .contents>dl>dd .box-3 li {
		font-size: 1.9rem;
		width: calc((100% - 20px) / 3);
		height: 60px;
	}

	.sub-contents .vision .contents>dl>dd .box-4>ul {
		gap: 10px;
	}

	.sub-contents .vision .contents>dl>dd .box-4>ul>li {
		width: calc((100% - 20px) / 3);
		padding: 20px;
	}

	.sub-contents .vision .contents>dl>dd .box-4>ul>li li {
		font-size: 1.7rem;
	}

	.sub-contents .vision .contents>dl>dd .box-4>ul>li li:not(:last-child) {
		margin-bottom: 8px;
	}

	.sub-contents .history .contents h4 {
		font-size: 4.8rem;
	}

	.sub-contents .history .contents .top .text-box {
		margin-top: 20px;
	}

	.sub-contents .history .contents .top .text-box .text {
		font-size: 2.2rem;
	}

	.sub-contents .history .contents .top .text-box .list p {
		font-size: 1.7rem;
	}

	.sub-contents .history .history-box>dl {
		margin-top: 120px;
	}

	.sub-contents .history .history-box>dl>dt {
		width: 300px;
	}

	.sub-contents .history .history-box>dl>dd {
		width: calc(100% - 300px);
	}

	.sub-contents .history .history-box>dl>dd .list-box dl {
		padding: 40px 20px;
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dt {
		width: 150px;
		font-size: 3.6rem;
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dd {
		width: calc(100% - 150px);
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dd li {
		padding-left: 60px;
		font-size: 1.9rem;
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dd li:not(:last-child) {
		margin-bottom: 15px;
	}

	.sub-contents .founder .contents .top {
		height: 450px;
	}

	.sub-contents .founder .contents .top .imgbox img {
		height: 90%
	}

	.sub-contents .founder .contents .top .info-box dt {
		font-size: 2.1rem;
	}

	.sub-contents .founder .contents .top .info-box dt strong {
		font-size: 3.4rem;
	}

	.sub-contents .founder .contents.director .top .info-box dt strong {
		font-size: 3.0rem;
	}

	.sub-contents .founder .contents .top .info-box dd {
		margin-top: 40px;
	}

	.sub-contents .founder .contents .top .info-box dd li {
		font-size: 1.7rem;
	}

	.sub-contents .founder .contents .text-box p {
		font-size: 1.9rem;
	}

	.sub-contents .founder .contents .text-box p:not(:last-child) {
		margin-bottom: 30px;
	}

	.sub-contents .founder .contents .listbox {
		gap: 20px;
	}

	.sub-contents .founder .contents .listbox dl {
		width: calc((100% - 40px) / 3);
	}

	.sub-contents .founder .contents .listbox .box {
		width: calc((100% - 20px) / 2);
	}

	.sub-contents .founder .contents .listbox dl {
		margin-top: 65px;
	}

	.sub-contents .founder .contents .listbox dl dt {
		top: -65px;
		height: 45px;
		font-size: 1.7rem;
	}

	.sub-contents .founder .contents .listbox dl dd {
		padding: 20px;
	}

	.sub-contents .founder .contents .listbox dl dd li:not(:last-child) {
		margin-bottom: 20px;
	}

	.sub-contents .founder .contents .listbox dl dd li {
		font-size: 1.6rem;
	}

	.sub-contents .founder .contents .listbox dl dd li strong {
		margin-bottom: 5px;
		font-size: 1.7rem;
	}

	.sub-contents .overview .contents .img-box .text p {
		font-size: 3.0rem;
	}

	.sub-contents .overview .contents .img-box .text .stxt {
		margin-top: 20px;
		font-size: 1.7rem;
	}

	.sub-contents .overview .contents .img-list {
		margin-top: 100px;
		gap: 100px 0;
	}

	footer .footer-box,
	footer .info {
		align-items: flex-start;
	}

	footer .footer-box {
		flex-direction: column;
		justify-content: flex-start;
		row-gap: 50px;
		padding: 60px 0;
	}

	footer .text {
		row-gap: 40px;
	}

	footer .information {
		max-width: inherit;
	}
}

@media (max-width: 1024px) {
	main .title p {
		font-size: 1.8rem;
	}

	main .title p br {
		display: none;
	}

	main .visual .text-box .p-box {
		font-size: 2.1rem;
	}

	main .company .item-box {
		display: flex;
		flex-wrap: wrap;
		row-gap: 20px;
		column-gap: 20px;
		justify-content: center;
	}

	main .company .item {
		width: calc((100% - 40px) / 3);
	}

	main .company .item .hover::before {
		opacity: 0.4;
		filter: brightness(0.4);
	}

	main .news .row {
		flex-direction: column;
		row-gap: 60px;
		column-gap: 0;
	}

	main .news .row>div {
		width: 100%;
	}

	main .news .top {
		align-items: center;
	}

	main .sustainability .item {
		height: auto;
	}

	main .sustainability .item::before {
		opacity: 0.9;
		filter: brightness(0.8);
	}

	main .sustainability .item a {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 40px;
		padding: 20px;
		opacity: 1;
	}

	main .sustainability .item h5 {
		column-gap: 15px;
		font-size: 1.9rem;
	}

	main .sustainability .item h5 img {
		width: 30px;
	}

	main .sustainability .item .arrow-w {
		margin-left: auto;
	}

	main .sustainability .item:hover a {
		row-gap: 20px;
		padding: 30px;
	}

	main .inquiry .item a {
		flex-direction: column;
		padding: 30px 25px;
	}

	main .inquiry .item dl dd {
		font-size: 1.7rem;
	}

	main .inquiry .item dl dd br {
		display: none;
	}

	.sub-contents .sub-page .depth3-tab li {
		width: 200px;
		height: 60px;
	}

	.sub-contents .affiliate .map-box {
		padding: 30px 0;
	}

	.sub-contents .affiliate .text h4 {
		font-size: 2.7rem;
	}

	.sub-contents .workplace .top {
		flex-direction: column;
		row-gap: 20px;
		align-items: flex-start;
	}
	
	.sub-contents .workplace .top ul {
		justify-content: flex-start;
	}

	.sub-contents .workplace .map-box {
		height: 360px;
	}

	.sub-contents .secondary .description h6 {
		font-size: 1.9rem;
	}

	.sub-contents .secondary .description .features .item {
		height: 200px;
		padding: 30px 20px;
	}

	.sub-contents .secondary .description .features .text h6 {
		margin-top: 15px;
	}

	.sub-contents .secondary .description .areas .item span {
		font-size: 2.4rem;
	}

	.sub-contents .secondary .plan .table-box table th,
	.sub-contents .secondary .plan .table-box table td {
		font-size: 1.7rem;
	}

	.sub-contents .certificate .item-box {
		grid-template-columns: repeat(3, 1fr);
	}

	.sub-contents .certificate .popup {
		width: 420px;
		padding: 20px;
	}

	.sub-contents .certificate .popup .column {
		padding: 20px;
	}

	.sub-contents .certificate .popup p {
		font-size: 2rem;
	}

	.sub-contents .tpm .system ul li {
		padding: 20px;
	}

	.sub-contents .tpm .system ul p {
		font-size: 1.7rem;
	}

	.sub-contents .tpm .activities .top {
		grid-template-columns: 1fr 150px 1fr;
	}

	.sub-contents .tpm .activities .top h6 {
		font-size: 1.7rem;
	}

	.sub-contents .tpm .activities .top .center h6 {
		width: calc(100% - 10px);
		height: calc(100% - 10px);
	}

	.sub-contents .tpm .activities .lists {
		column-gap: 10px;
	}

	.sub-contents .tpm .activities .lists::after {
		width: calc(75% + 10px);
	}

	.sub-contents .tpm .activities .lists dl dd {
		padding: 15px 10px;
	}

	.sub-contents .tpm .activities .build {
		grid-template-columns: repeat(5, 1fr);
		row-gap: 10px;
	}

	.sub-contents .tpm .activities .build p {
		height: 55px;
		grid-area: 1/1/2/6;
	}

	.sub-contents .tpm .activities .build p br {
		display: none;
	}

	.sub-contents .tpm .activities .build dl dd {
		font-size: 1.5rem;
		padding: 15px 10px;
	}

	.sub-contents .tpm .propulsion .grid {
		column-gap: 10px;
	}

	.sub-contents .tpm .propulsion .workflow,
	.sub-contents .tpm .propulsion .center {
		row-gap: 10px;
	}

	.sub-contents .tpm .propulsion .workflow span:first-child {
		top: -20px;
	}

	.sub-contents .tpm .propulsion .center .bg {
		padding: 15px;
	}

	.sub-contents .tpm .propulsion .center ul {
		column-gap: 5px;
	}

	.sub-contents .purpose .item h6 {
		height: 60px;
		font-size: 1.9rem;
	}

	.sub-contents .purpose .item p {
		font-size: 1.6rem;
		padding: 20px;
	}

	.sub-contents .purpose .bg {
		column-gap: 10px;
		padding: 10px;
	}

	.sub-contents .ethics .banner dl dd {
		font-size: 2.1rem;
	}

	.sub-contents .ethics .banner dl dd br {
		display: none;
	}

	.sub-contents .ethics .list-box>h6 {
		height: 65px;
		font-size: 1.9rem;
	}

	.sub-contents .integrity .txt-list dl {
		padding:0;
	}

	.sub-contents .integrity .txt-list .box {
		padding: 20px;
	}

	.sub-contents .ethics .list-box .item {
		display: flex;
		flex-direction: column;
	}

	.sub-contents .ethics .list-box .item em {
		width: 200px;
		padding: 15px;
	}

	.sub-contents .ethics .list-box .dot-line {
		width: 200px;
		height: 40px;
		flex-direction: column;
		margin: -7px 0;
	}

	.sub-contents .ethics .list-box .dot-line::before {
		width: 1px;
		height: 100%;
		border-top: none;
		border-right: 2px dashed var(--color-border);
	}

	.sub-contents .code .txtbox {
		width: 100%;
		position: relative;
		top: 0;
	}

	.sub-contents .code .txtbox h4 {
		font-size: 3.0rem;
	}

	.sub-contents .code .txtbox h4 strong {
		margin-left: 0;
	}

	.sub-contents .code .txtbox h4 br {
		display: none;
	}

	.sub-contents .code .img-list {
		width: 100%;
		margin-top: 40px;
	}

	.sub-contents .code .img-list ul {
		gap: 50px 30px;
	}

	.sub-contents .code .img-list ul li {
		width: calc((100% - 30px) / 2);
	}

	.sub-contents .code .img-list ul li:nth-child(2) {
		margin-top: 0;
	}

	.sub-contents .code .img-list ul li:nth-child(3),
	.sub-contents .code .img-list ul li:nth-child(5) {
		margin-top: 0;
	}

	.sub-contents .human .item {
		padding: 0 20px;
	}

	.sub-contents .human .item em,
	.sub-contents .human .item h6 {
		font-size: 1.6rem;
	}

	.sub-contents .human .item button {
		padding: 30px 20px;
	}

	.sub-contents .human .item p {
		font-size: 1.7rem;
		padding: 30px;
		margin-bottom: 20px;
	}

	.sub-contents .standards .download-button {
		height: 65px;
		padding: 0 30px;
	}

	.sub-contents .guidance .contents .process {
		gap: 60px;
	}

	.sub-contents .guidance .contents .process li {
		width: calc((100% - 180px) / 4);
	}

	.sub-contents .guidance .contents .process li::after {
		width: 60px;
		left: -60px;
	}

	.sub-contents .welfare .item-box {
		row-gap: 10px;
		column-gap: 10px;
	}

	.sub-contents .welfare .item .text {
		row-gap: 20px;
	}

	.sub-contents .welfare .item .text dl dt {
		font-size: 2.7rem;
		margin-bottom: 10px;
	}

	.sub-contents .welfare .item .text dl dd {
		font-size: 1.8rem;
	}

	.sub-contents .gallery-box {
		column-gap: 10px;
	}

	.sub-contents .gallery-box .text h5 {
		font-size: 1.8rem;
	}

	.sub-contents .gallery-box .text span {
		font-size: 1.6rem;
	}

	.sub-contents .view-box .top h4 {
		font-size: 3rem;
	}

	.sub-contents .view-box .file a {
		padding: 0 20px;
	}

	.sub-contents .view-box .post-box {
		padding: 40px 20px;
	}

	.sub-contents .view-box .post-box .post {
		flex-direction: column;
		row-gap: 10px;
		column-gap: 0;
	}

	.sub-contents .view-box .post-box .post dl {
		order: 2;
	}

	.sub-contents .view-box .post-box .post dl * {
		font-size: 1.7rem;
	}

	.sub-contents .view-box .post-box .post dl dt {
		margin-bottom: 5px;
	}

	.sub-contents .view-box .post-box .post span {
		order: 1;
	}

	.sub-contents .view-box .post-box .prev {
		align-items: flex-start;
	}

	.sub-contents .view-box .post-box .next {
		align-items: flex-end;
	}

	.sub-contents .view-box .list-button {
		width: 50px;
		height: 50px;
	}

	:root {
		--form-height: 50px;
	}

	.register-box .reBox>ul {
		gap: 30px;
	}

	.register-box .reBox>ul>li.w50 {
		width: 100%;
	}

	.register-box .reBox>ul>li>label {
		font-size: 1.6rem;
	}


	.register-box .reBox>ul>li input[type="text"],
	.register-box .reBox>ul>li input[type="password"] {
		font-size: 1.5rem;
	}

	.register-box .reBox>ul>li select {
		font-size: 1.5rem;
	}

	.register-box .reBox>ul>li .code-box .img {
		width: 125px;
	}

	.register-box .reBox>ul>li .code-box input {
		width: calc(100% - 125px - var(--form-height) - 10px);
	}

	.register-box .file {
		gap: 0 5px;
	}

	.register-box .file>input {
		width: calc(100% - 130px - 5px);
	}

	.register-box .file label {
		width: 130px;
		font-size: 1.5rem;
	}

	.register-box .privacy-box {
		margin-top: 40px;
	}

	.register-box .privacy-box>p {
		font-size: 1.7rem;
	}
	
	.register-box .rd input[type="radio"]+span,
	.register-box .privacy-box .ch input[type="checkbox"]+span {
		font-size: 1.6rem;
	}

	.sub-contents .btn-box a,
	.register-box .btnCont a,
	.register-box .btnCont button {
		width: 280px;
		height: 60px;
		font-size: 1.7rem;
	}

	.sub-contents .btn-down a {
		width: 200px;
		font-size: 1.7rem;
	}

	.register-box .ch-list {
		gap: 10px 40px;
		margin-top: 5px;
	}

	.sub-contents .support .contents .txtbox {
		position: relative;
		top: 0;
		width: 100%;
	}

	.sub-contents .support .contents .support-ip {
		width: 100%;
		margin-top: 40px;
	}

	.sub-contents .support .contents .txtbox p {
		font-size: 2.6rem;
	}

	.sub-contents .support .contents .txtbox p br {
		display: none;
	}

	.sub-contents .support .contents .txtbox ul {
		margin-top: 20px;
		gap: 20px;
	}

	.sub-contents .support .contents .txtbox li {
		width: calc((100% - 20px) / 2);
	}

	.sub-contents .support .contents .txtbox li i {
		width: 25px;
	}

	.sub-contents .support .contents .txtbox li strong {
		width: 110px;
	}

	.sub-contents .support .contents .txtbox li span {
		width: calc(100% - 110px);
	}

	.sub-contents .recruit-list .txtbox .type {
		font-size: 1.4rem;
		margin-bottom: 15px;
	}

	.sub-contents .recruit-list .txtbox h5 {
		font-size: 1.8rem;
	}

	.sub-contents .recruit-list .txtbox span {
		font-size: 1.5rem;
	}

	.sub-contents .recruit-list .txtbox span strong {
		display: block;
		margin-right: 0;
		padding-right: 0;
	}

	.sub-contents .recruit-list .txtbox span strong::before {
		display: none;
	}

	.sub-contents .recruit-reg {
		margin-top: 50px;
		padding: 80px 20px;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .imgbox {
		position: relative;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .imgbox::after {
		content: "";
		display: block;
		padding-bottom: 55%;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .imgbox img {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .txtbox strong {
		font-size: 6.2rem;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .txtbox span {
		font-size: 3.4rem;
	}

	.sub-contents .talent .value-box .txtbox {
		width: 100%;
		position: relative;
		top: 0;
	}

	.sub-contents .talent .value-box .txtbox h4 {
		font-size: 3.8rem;
	}

	.sub-contents .talent .value-box .txtbox h4 strong {
		margin-left: 5px;
		display: inline-block
	}

	.sub-contents .talent .value-box .listbox {
		width: 100%;
		margin-top: 20px;
	}

	.sub-contents .talent .value-box .listbox li {
		gap: 10px 40px;
		padding: 40px 20px;
	}

	.sub-contents .talent .value-box .listbox li dt {
		font-size: 1.6rem;
	}

	.sub-contents .talent .value-box .listbox li dt strong {
		margin-right: 10px;
		font-size: 2.1rem;
	}

	.sub-contents .talent .value-box .listbox li dd {
		margin-top: 15px;
		font-size: 1.7rem;
	}

	.sub-contents .environmental .contents .top {
		padding-top: 90px;
		max-width: 720px;
	}

	.sub-contents .environmental .contents .top .circle-box {
		width: 210px;
		height: 210px;
	}

	.sub-contents .environmental .contents .top .circle-box dt {
		font-size: 1.4rem;
		padding: 8px 20px;
	}

	.sub-contents .environmental .contents .top .circle-box dd {
		margin-top: 10px;
		font-size: 1.6rem;
	}

	.sub-contents .environmental .contents .top .circle-box::after {
		left: -70px;
		width: 60px;
	}

	.sub-contents .environmental .contents .top .circle-box:nth-child(1)::after {
		right: -70px;
	}

	.sub-contents .environmental .contents .top .center {
		top: 90px;
	}

	.sub-contents .environmental .contents .top .center .cbox {
		width: 210px;
		height: 210px;
		border-width: 25px;
	}

	.sub-contents .environmental .contents .top .center .cbox h4 {
		font-size: 2.2rem;
	}

	.sub-contents .environmental .contents .top .center .line {
		width: 280px;
		height: 280px;
	}

	.sub-contents .environmental .contents .top .center .line::before {
		width: 380px;
		height: 380px;
	}

	.sub-contents .environmental .contents .box {
		margin: 220px auto 0;
		gap: 10px 20px;
	}

	.sub-contents .environmental .contents .box::after {
		top: -250px;
		left: 50%;
		height: 190px;
	}

	.sub-contents .environmental .contents .box::before {
		width: calc((100% + 16px) / 2);
	}

	.sub-contents .environmental .contents .box dl {
		width: calc((100% - 20px) / 2);
	}

	.sub-contents .environmental .contents .box dt {
		height: 60px;
		font-size: 1.9rem;
	}

	.sub-contents .environmental .contents .box dd {
		margin-top: 10px;
		padding: 20px;
	}

	.sub-contents .environmental .contents .box dd .sbox {
		padding: 0 20px;
	}

	.sub-contents .environmental .contents .box dd .sbox.bg {
		padding: 20px;
		margin-top: 20px;
	}

	.sub-contents .environmental .contents .box dd .sbox li {
		font-size: 1.7rem;
	}

	.sub-contents .environmental .contents .box dd .sbox li:not(:last-child) {
		margin-bottom: 10px;
	}

	.sub-contents .environmental .bottom {
		margin-top: 90px;
		padding: 90px 0 120px;
	}

	.sub-contents .environmental .bottom .box {
		gap: 30px 10px;
		flex-wrap: wrap;
	}

	.sub-contents .environmental .bottom .box,
	.sub-contents .environmental .bottom .box .w50 {
		gap: 10px;
		width: 100%;
		justify-content: center;
	}

	.sub-contents .environmental .bottom .box .i-box {
		gap: 10px;
	}

	.sub-contents .environmental .bottom .box .txtbox {
		margin-top: 15px;
		font-size: 1.7rem;
	}

	.sub-contents .ci h4 {
		font-size: 3.0rem;
	}

	.sub-contents .ci .top .info-box dl,
	.sub-contents .ci .list dt,
	.sub-contents .ci .list dd {
		width: 100%;
	}

	.sub-contents .ci .list dd {
		margin-top: 20px;
	}

	.sub-contents .ci .top .logo-box {
		margin-top: 30px;
		padding: 100px 20px;
	}

	.sub-contents .ci .top .info-box {
		margin-top: 40px;
		gap: 30px;
	}

	.sub-contents .ci .top .info-box dt {
		font-size: 1.9rem;
	}

	.sub-contents .ci .top .info-box dd {
		margin-top: 10px;
	}

	.sub-contents .ci .top .info-box dd li:not(:last-child) {
		margin-bottom: 10px;
	}

	.sub-contents .ci .top .info-box dd li {
		font-size: 1.7rem;
	}

	.sub-contents .ci .top .txt_b {
		font-size: 2.0rem;
	}

	.sub-contents .ci .list dd>ul>li .box {
		height: 180px;
		font-size: 2.6rem;
	}

	.sub-contents .ci .list dd>ul>li .text {
		margin-top: 10px;
		font-size: 1.9rem;
	}

	.sub-contents .ci .list dd .btn {
		margin-top: 40px;
	}

	.sub-contents .ci .list dd .btn a {
		padding: 13px 40px;
		font-size: 1.5rem;
	}

	.sub-contents .ci .list dd .btn a img {
		margin-left: 12px;
	}

	.sub-contents .vision .contents>dl>dt {
		width: 100%;
	}

	.sub-contents .vision .contents>dl>dd {
		width: 100%;
		margin-top: 20px;
	}

	.sub-contents .vision .contents>dl>dt .sbox {
		width: 160px;
		height: 50px;
		margin: 0 auto
	}

	.sub-contents .vision .contents>dl>dt h4 {
		font-size: 1.7rem;
	}

	.sub-contents .vision .contents>dl>dd .box-1 {
		font-size: 1.7rem;
		height: auto;
		background: none;
		color: #111;
	}

	.sub-contents .vision .contents>dl>dd .box-2 li .circle .text {
		font-size: 2.2rem;
	}

	.sub-contents .vision .contents>dl>dd .box-3 ul {
		gap: 10px;
	}

	.sub-contents .vision .contents>dl>dd .box-3 li {
		font-size: 1.7rem;
		height: 50px;
	}

	.sub-contents .vision .contents>dl>dd .box-4>ul>li li {
		font-size: 1.5rem;
	}

	.sub-contents .history .contents h4 {
		font-size: 3.6rem;
	}

	.sub-contents .history .contents .top .text-box {
		flex-wrap: wrap;
	}

	.sub-contents .history .contents .top .text-box>div {
		width: 100%;
	}

	.sub-contents .history .contents .top .text-box .text {
		font-size: 2.2rem;
	}

	.sub-contents .history .contents .top .text-box .list {
		text-align: left;
		margin-top: 10px;
	}

	.sub-contents .history .contents .top .text-box .list p {
		font-size: 1.7rem;
		margin: 0 6px 0 0;
	}

	.sub-contents .history .contents .top .text-box .list .item {
		margin: 0 6px 0 0;
	}

	.sub-contents .history .history-box>dl {
		margin-top: 90px;
	}

	.sub-contents .history .history-box>dl>dt {
		width: 200px;
	}

	.sub-contents .history .history-box>dl>dd {
		width: calc(100% - 200px);
	}

	.sub-contents .history .history-box>dl>dd .list-box dl {
		padding: 30px 20px;
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dt {
		width: 120px;
		font-size: 3.0rem;
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dd {
		width: calc(100% - 120px);
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dd li {
		padding-left: 40px;
		font-size: 1.7rem;
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dd li:not(:last-child) {
		margin-bottom: 10px;
	}

	.sub-contents .founder .contents .top {
		height: 350px;
	}

	.sub-contents .founder .contents .top .imgbox img {
		height: 90%
	}

	.sub-contents .founder .contents .top .info-box dt {
		font-size: 1.8rem;
	}

	.sub-contents .founder .contents .top .info-box dt strong {
		font-size: 2.6rem;
	}

	.sub-contents .founder .contents.director .top .info-box dt strong {
		font-size: 2.4rem;
		margin-right: 4px;
	}

	.sub-contents .founder .contents .top .info-box dd {
		margin-top: 20px;
	}

	.sub-contents .founder .contents .top .info-box dd li {
		font-size: 1.7rem;
	}

	.sub-contents .founder .contents .text-box p {
		font-size: 1.7rem;
	}

	.sub-contents .founder .contents .text-box p br {
		display: none
	}

	.sub-contents .founder .contents .text-box p:not(:last-child) {
		margin-bottom: 20px;
	}

	.sub-contents .founder .contents .listbox {
		gap: 20px;
	}

	.sub-contents .founder .contents .listbox dl,
	.sub-contents .founder .contents .listbox .box {
		width: 100%;
	}

	.sub-contents .founder .contents .listbox dl dd {
		padding: 20px;
	}

	.sub-contents .founder .contents .listbox dl dd li:not(:last-child) {
		margin-bottom: 15px;
	}

	.sub-contents .founder .contents .listbox dl {
		margin-top: 60px;
	}

	.sub-contents .founder .contents .listbox dl dt {
		top: -60px;
	}

	.sub-contents .overview .contents .txt,
	.sub-contents .overview .contents .img-box .text {
		padding: 0 20px;
	}

	.sub-contents .overview .contents .img-box .text p {
		font-size: 2.3rem;
	}

	.sub-contents .overview .contents .img-box .text p br {
		display: none
	}

	.sub-contents .overview .contents .img-box .text .stxt {
		margin-top: 20px;
		font-size: 1.5rem;
	}

	.sub-contents .overview .contents .img-list {
		margin-top: 60px;
		gap: 60px 0;
	}

	.sub-contents .overview .contents .img-list .img-box {
		position: relative;
		width: 100%;
	}

	.sub-contents .overview .contents .img-list .img-box::before {
		content: '';
		display: block;
		margin-bottom: 40%;
	}

	.sub-contents .overview .contents .img-list .img-box img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.sub-contents .overview .contents .motion-box .imgbox .img::before {
		margin-bottom: 60%;
	}

	.sub-contents .overview .contents .motion-box .cont.off .imgbox .img::before {
		margin-bottom: 40%;
	}

	.sub-contents .overview .contents .motion-box .cont.on .imgbox .img::before {
		margin-bottom: var(--margin-bottom, 100vh);
	}

	.sub-contents .overview .contents .motion-box .cont.on .imgbox .img {
		width: 100%;
	}
	.sub-contents .affiliate .text a.link {
		padding: 0 25px;
		height: 55px;
		gap: 12px;
		font-size: 1.7rem;
	}
}

@media (max-width: 768px) {
	header .logo {
		width: 160px;
		height: 32px;
	}

	.site-map .depth1::before {
		background-size: calc((100% - 1px) / 2) 100%;
	}

	.site-map .depth1>li {
		width: 50%;
	}

	.site-map .depth2 {
		width: 50%;
		left: 50%;
	}

	main .title {
		row-gap: 20px;
	}

	main .title p {
		font-size: 1.7rem;
	}

	main .visual .text-box .p-box {
		font-size: 1.7rem;
	}

	main .company .item-box {
		width: 100%;
		max-width: 560px;
		margin: 0 auto;
	}

	main .company .item {
		width: calc(50% - 10px);
	}

	main .company .item .hover {
		padding: 0 20px;
	}

	main .business .text-box {
		margin: 30px 0 0;
	}

	main .business .text-box a {
		margin: 40px 0 0;
	}

	main .news .item h5 {
		font-size: 1.9rem;
	}

	main .news .item .date {
		font-size: 1.6rem;
	}

	main .sustainability .point-text,
	main .inquiry .point-text {
		font-size: 6rem;
	}

	main .sustainability .item a {
		row-gap: 20px;
	}

	main .sustainability .item h5 {
		flex-direction: column;
		align-items: flex-start;
		row-gap: 10px;
		column-gap: 0;
	}

	main .sustainability .item:hover a {
		padding: 20px;
	}

	main .inquiry .item-box {
		grid-template-columns: repeat(1, 1fr);
		row-gap: 10px;
		column-gap: 0;
	}

	main .inquiry .item a {
		flex-direction: row;
		align-items: flex-start;
		padding: 30px;
	}

	main .inquiry .item:hover {
		transform: translateY(0);
	}

	.sub-visual .text h2 {
		font-size: 5.6rem;
	}

	.sub-visual .path-box {
		column-gap: 10px;
	}

	.sub-visual .path-box .home {
		width: 40px;
		height: 40px;
	}

	.sub-visual .path-box .path {
		height: 50px;
	}

	.sub-visual .path-box .path button {
		font-size: 1.7rem;
		padding: 0 15px;
	}

	.sub-visual .path-box .path ul {
		padding: 10px 15px;
	}

	.sub-visual .path-box .path ul>li>a {
		font-size: 1.6rem;
	}

	.sub-contents .sub-page .page-title span {
		font-size: 1.7rem;
	}

	.sub-contents .sub-page .depth3-tab li a {
		font-size: 1.8rem;
	}

	.sub-contents .sub-page .depth4-tab li:not(:last-child)::after {
		margin: 0 25px;
	}

	.sub-contents .sub-page .depth4-tab li a {
		font-size: 1.9rem;
	}

	.sub-contents .affiliate .text h4 {
		font-size: 2.4rem;
		margin-bottom: 30px;
	}

	.sub-contents .affiliate .text p {
		font-size: 1.7rem;
	}

	.sub-contents .affiliate .text a.link {
		position: relative;
		left: 50%;
		transform: translate(-50%, 0);
		margin-top: 35px;
		padding: 0 35px;
		gap: 15px;
	}

	.sub-contents .workplace .top h4 {
		font-size: 2.4rem;
	}

	.sub-contents .workplace .top ul {
		flex-wrap: wrap;
		row-gap: 10px;
	}

	.sub-contents .workplace .top ul li {
		column-gap: 10px;
		font-size: 1.8rem;
	}

	.sub-contents .workplace .top ul li:first-child {
		width: 100%;
	}

	.sub-contents .workplace .img-box {
		column-gap: 10px;
		margin-top: 10px;
	}

	.sub-contents .secondary .description h5 {
		font-size: 2.3rem;
	}

	.sub-contents .secondary .description .info h4 {
		font-size: 2.5rem;
	}

	.sub-contents .secondary .description .info p {
		font-size: 1.7rem;
	}

	.sub-contents .secondary .description .features .item-box,
	.sub-contents .secondary .description .areas .item-box,
	.sub-contents .secondary .description .shape .item-box {
		row-gap: 10px;
		column-gap: 10px;
	}

	.sub-contents .secondary .description .features .item {
		padding: 20px;
	}

	.sub-contents .secondary .description .features .text em {
		font-size: 1.7rem;
	}

	.sub-contents .secondary .description .areas .item span {
		font-size: 2.1rem;
	}

	.sub-contents .secondary .description .shape .item {
		padding: 20px;
	}

	.sub-contents .secondary .plan>p {
		font-size: 1.8rem;
	}

	.sub-contents .secondary .plan .table-box {
		width: calc(100% + 10px);
	}

	.sub-contents .secondary .plan .table-box table {
		border-spacing: 5px;
	}

	.sub-contents .secondary .plan .table-box table thead th {
		height: 65px;
		font-size: 1.9rem;
	}

	.sub-contents .secondary .plan .table-box table th,
	.sub-contents .secondary .plan .table-box table td {
		height: 55px;
		font-size: 1.6rem;
	}

	.sub-contents .certificate .item p {
		font-size: 1.7rem;
	}

	.sub-contents .tpm .content>div>p {
		font-size: 1.7rem;
	}

	.sub-contents .tpm .system ul li:last-child {
		grid-area: 3/1/3/3;
	}

	.sub-contents .tpm .activities .lists {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 25px;
	}

	.sub-contents .tpm .activities .lists::after {
		width: calc(50% + 5px);
	}

	.sub-contents .tpm .activities .build {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.sub-contents .tpm .activities .build p {
		width: 100%;
	}

	.sub-contents .tpm .activities .build dl {
		width: calc((100% - 20px) / 3);
	}

	.sub-contents .tpm .activities h6.bottom {
		height: 65px;
		font-size: 1.8rem;
	}

	.sub-contents .tpm .propulsion .grid {
		grid-template-columns: 0.4fr 2fr 0.4fr;
	}

	.sub-contents .tpm .propulsion .workflow,
	.sub-contents .tpm .propulsion .center {
		grid-template-rows: 55px auto 145px;
	}

	.sub-contents .tpm .propulsion .workflow p {
		padding: 0 5px;
	}

	.sub-contents .tpm .propulsion .center h6 {
		font-size: 1.7rem;
	}

	.sub-contents .tpm .propulsion .center ul {
		flex-direction: column;
		row-gap: 5px;
	}

	.sub-contents .tpm .propulsion .center .bg:has(p) ul {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.sub-contents .tpm .propulsion .center .bg:has(p) ul li {
		width: calc((100% - 15px) / 4);
		height: auto;
		padding: 15px;
	}

	.sub-contents .tpm .propulsion .center .bg p {
		font-size: 1.7rem;
		margin-top: 10px;
	}

	.sub-contents .tpm .propulsion .dot-line.box {
		width: calc(100% - 80px);
	}

	.sub-contents .tpm .propulsion .item-box>h6 {
		height: 65px;
		font-size: 1.8rem;
	}

	.sub-contents .purpose .item h6 {
		font-size: 1.8rem;
	}

	.sub-contents .purpose .bg {
		grid-template-columns: repeat(1, 1fr);
		row-gap: 20px;
		column-gap: 0;
	}

	.sub-contents .ethics .banner dl dd {
		font-size: 1.8rem;
	}

	.sub-contents .ethics .list-box .item em {
		width: auto;
		padding: 0;
		margin-right: 15px;
	}

	.sub-contents .ethics .list-box .item em::after {
		display: none !important;
	}

	.sub-contents .ethics .list-box .item dl {
		display: flex;
		flex-direction: column;
		row-gap: 10px;
	}

	.sub-contents .ethics .list-box .item dl dt {
		justify-content: flex-start;
		padding: 20px;
	}

	.sub-contents .ethics .list-box .item dl dt br {
		display: none;
	}

	.sub-contents .ethics .list-box .dot-line {
		display: none;
	}


	.sub-contents .code .txtbox h4 {
		font-size: 2.6rem;
	}

	.sub-contents .code .img-list {
		margin-top: 20px;
	}

	.sub-contents .code .img-list ul {
		gap: 10px;
	}

	.sub-contents .code .img-list ul li {
		width: calc((100% - 10px) / 2);
	}

    .sub-contents .code .img-list ul li .over .txt {
        font-size: 1.6rem;
    }

	.sub-contents .standards .download-button {
		height: 60px;
		padding: 0 20px;
	}

	.sub-contents .standards .download-button span {
		font-size: 1.7rem;
	}

	.sub-contents .fairness .contents dt h4 {
		font-size: 2.0rem;
	}

	.sub-contents .fairness .contents dd {
		margin-top: 20px;
	}

	.sub-contents .fairness .contents dd .box {
		padding: 20px;
		font-size: 1.6rem;
	}

	.sub-contents .fairness .contents dd .download-button span {
		font-size: 1.5rem;
	}

	.sub-contents .guidance .contents .tit strong {
		font-size: 3.0rem;
	}

	.sub-contents .guidance .contents .box li {
		font-size: 1.5rem;
	}

	.sub-contents .guidance .contents .process {
		gap: 20px 40px;
	}

	.sub-contents .guidance .contents .process li {
		width: calc((100% - 40px) / 2);
		font-size: 1.5rem;
	}

	.sub-contents .guidance .contents .process li::after {
		width: 20px;
		left: -30px;
		background-size:30px auto;
		background-position:center right;
	}
	.sub-contents .welfare .item-box {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 20px;
		column-gap: 20px;
	}

	.sub-contents .welfare .item .text dl dt {
		font-size: 2.4rem;
	}

	.sub-contents .paging ul {
		column-gap: 10px;
	}

	.sub-contents .paging ul li a {
		width: 30px;
		height: 30px;
		font-size: 1.6rem;
	}

	.sub-contents .gallery-box {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 20px;
		row-gap: 50px;
	}

	.sub-contents .view-box .top span {
		font-size: 1.7rem;
	}

	.sub-contents .view-box .top h4 {
		font-size: 2.5rem;
	}

	.sub-contents .view-box .top p {
		font-size: 1.6rem;
	}

	.sub-contents .view-box .file h6 {
		font-size: 1.8rem;
	}

	.sub-contents .view-box .post-box {
		flex-wrap: wrap;
		row-gap: 20px;
		column-gap: 20px;
		padding: 30px 10px;
	}

	.sub-contents .view-box .post-box .post {
		width: calc(50% - 10px);
	}

	.sub-contents .view-box .list-button {
		margin: 40px auto 0;
	}

	.sub-contents .recruit-list {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 20px;
		row-gap: 0;
	}


	.sub-contents .recruit-list .txtbox {
		padding: 20px;
		min-height: 217px;
	}

	.sub-contents .btn-down a {
		width: 160px;
	}

	.sub-contents .environmental .contents .top {
		padding-top: 0;
		max-width: 400px;
		flex-wrap: wrap;
	}

	.sub-contents .environmental .contents .top .circle-box {
		width: 190px;
		height: 190px;
	}

	.sub-contents .environmental .contents .top .circle-box dt {
		font-size: 1.4rem;
		padding: 8px 20px;
	}

	.sub-contents .environmental .contents .top .circle-box dd {
		margin-top: 10px;
		font-size: 1.6rem;
	}

	.sub-contents .environmental .contents .top .circle-box::after {
		display: none
	}

	.sub-contents .environmental .contents .top .center {
		position: relative;
		top: 0
	}

	.sub-contents .environmental .contents .top .center .cbox {
		width: 190px;
		height: 190px;
		border-width: 18px;
	}

	.sub-contents .environmental .contents .top .center .cbox h4 {
		font-size: 2.2rem;
	}

	.sub-contents .environmental .contents .top .center .line {
		width: 220px;
		height: 220px;
	}

	.sub-contents .environmental .contents .top .center .line::before {
		width: 260px;
		height: 260px;
	}

	.sub-contents .environmental .contents .box {
		margin: 60px auto 0;
		gap: 20px;
		flex-wrap: wrap;
	}

	.sub-contents .environmental .contents .box::after {
		top: -123px;
		left: 50%;
		height: 120px;
	}

	.sub-contents .environmental .contents .box::before {
		display: none
	}

	.sub-contents .environmental .contents .box dl {
		width: 100%;
	}

	.sub-contents .environmental .contents .box dl::after {
		content: '';
		display: block;
		position: absolute;
		top: -20px;
		left: 50%;
		transform: translateX(calc(-50% + 2px));
		height: 12px;
		width: 2px;
		border-left: 2px dashed var(--color-primary);
	}

	.sub-contents .environmental .contents .box dt {
		height: 50px;
		font-size: 1.7rem;
	}

	.sub-contents .environmental .contents .box dd {
		margin-top: 10px;
		padding: 20px;
	}

	.sub-contents .environmental .contents .box dd .sbox {
		padding: 0 10px;
	}

	.sub-contents .environmental .contents .box dd .sbox.bg {
		padding: 10px;
		margin-top: 10px;
	}

	.sub-contents .environmental .contents .box dd .sbox li {
		font-size: 1.5rem;
	}

	.sub-contents .environmental .contents .box dd .sbox li:not(:last-child) {
		margin-bottom: 10px;
	}

	.sub-contents .vision .contents>dl>dd .box-2 ul {
		gap: 10px;
	}

	.sub-contents .vision .contents>dl>dd .box-2 li {
		width: calc((100% - 20px) / 3);
		position: relative;
	}

	.sub-contents .vision .contents>dl>dd .box-2 li::before {
		content: '';
		display: block;
		padding-bottom: 100%;
	}

	.sub-contents .vision .contents>dl>dd .box-2 li .circle {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.sub-contents .history .history-box .imgbox {
		position: relative;
	}

	.sub-contents .history .history-box .imgbox::before {
		content: "";
		display: block;
		padding-bottom: 40%;
	}

	.sub-contents .history .history-box .imgbox img {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.sub-contents .history .history-box>dl>dt,
	.sub-contents .history .history-box>dl>dd {
		width: 100%;
	}

	.sub-contents .history .history-box>dl>dt h4 {
		position: relative;
		top: 0;
	}

	.sub-contents .history .history-box>dl>dd {
		margin-top: 20px;
	}

	.sub-contents .overview .contents .img-box .text p {
		font-size: 2.0rem;
	}

	.sub-contents .overview .contents .img-box .text .stxt {
		margin-top: 20px;
		font-size: 1.5rem;
	}

	footer .footer-box {
		row-gap: 40px;
	}

	footer .footer-box * {
		font-size: 1.6rem;
	}

	footer .logo {
		width: 200px;
		height: 40px;
	}

	footer .links {
		column-gap: 25px;
	}

	footer .information {
		row-gap: 10px;
	}

	footer .copy {
		font-size: 1.4rem;
	}
}

@media (max-width: 600px) {
	header .header-box {
		column-gap: 20px;
	}

	footer .information .tit ul {
		flex-wrap: wrap;
		gap: 5px 20px;
	}
	.site-map .inner {
		align-items: flex-start;
		padding-top: var(--header-height);
	}

	.site-map .depth2 {
		padding: 10px 0;
	}

	.site-map .depth2>li>a {
		padding: 10px 20px;
	}

	.site-map .copy {
		font-size: 1.45rem;
	}

	#wrap main .visual .text-box h2 {
		font-size: 2.2em;
	}

	#wrap main .visual .text-box .p-box {
		width: 100%;
		height: 2.6em;
		font-size: 1.8rem;
		position: relative;
		overflow: inherit;
	}

	#wrap main .visual .text-box p {
		width: 100%;
		opacity: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	#wrap main .visual .text-box p br {
		display: block;
	}

	#wrap main .visual .text-box p.on {
		opacity: 1;
	}

	#wrap.on main .visual .text-box h2 {
		font-size: 1.8em;
	}

	main .section .title {
		margin-bottom: 40px;
	}

	main .company .item-box {
		row-gap: 10px;
		column-gap: 10px;
	}

	main .company .item {
		width: calc(50% - 5px);
		font-size: 2.5rem;
	}

	main .company .item .hover {
		padding: 0 10px;
	}

	main .company .item b {
		font-size: 1.45rem;
	}

	main .company .item .small {
		font-size: 0.85em;
	}

	main .company .item p {
		font-size: 1.5rem;
	}

	main .business .title h2 {
		font-size: calc(var(--font74) - 0.4rem);
	}

	main .business .text-box {
		margin: 0;
	}

	main .business .text-box h3 {
		font-size: calc(var(--font64) - 0.5rem);
	}

	main .business .more-button em {
		font-size: 1.8rem;
	}

	main .sustainability .point-text,
	main .inquiry .point-text {
		font-size: 4.8rem;
	}

	main .sustainability .item-box {
		grid-template-columns: repeat(1, 1fr);
		row-gap: 10px;
		column-gap: 0;
	}

	main .sustainability .item h5 {
		flex-direction: row;
		align-items: center;
		row-gap: 0;
		column-gap: 10px;
	}

	main .inquiry .item a {
		align-items: flex-end;
	}

	main .inquiry .item dl dd br {
		display: block;
	}

	.sub-visual .path-box {
		flex-wrap: wrap;
		justify-content: flex-end;
	}

	.sub-visual .path-box .path {
		width: calc(100% - 50px - 20px);
		height: 50px;
		max-width: 100%;
		margin-left: 20px;
	}

	.sub-contents .sub-page .depth3-tab li {
		width: 160px;
		height: 50px;
	}

	.sub-contents .sub-page .depth3-tab li a {
		font-size: 1.6rem;
	}

	.sub-contents .sub-page .depth4-tab li:not(:last-child)::after {
		margin: 0 15px;
	}

	.sub-contents .sub-page .depth4-tab li a {
		font-size: 1.6rem;
	}

	.sub-contents .affiliate .text h4 {
		font-size: 2.1rem;
	}

	.sub-contents .workplace .top h4 {
		font-size: 2.1rem;
	}

	.sub-contents .workplace .top ul li {
		font-size: 1.7rem;
		align-items: flex-start;
	}

	.sub-contents .workplace .top ul li img {
		transform: translateY(0.15em);
	}

	.sub-contents .workplace .top ul li br {
		display: block;
	}

	.sub-contents .workplace .map-box {
		height: 320px;
	}

	.sub-contents .workplace .img-box {
		flex-direction: column;
		row-gap: 10px;
		column-gap: 0;
	}

	.sub-contents .secondary .description .info h4 {
		font-size: 2.2rem;
	}

	.sub-contents .secondary .description .features .item-box,
	.sub-contents .secondary .description .areas .item-box,
	.sub-contents .secondary .description .shape .item-box {
		grid-template-columns: repeat(1, 1fr);
	}

	.sub-contents .secondary .description .features .item {
		height: auto;
	}

	.sub-contents .secondary .plan .table-box table {
		table-layout: inherit;
	}

	.sub-contents .secondary .plan .table-box table th,
	.sub-contents .secondary .plan .table-box table td {
		font-size: 1.5rem;
	}

	.sub-contents .secondary .plan .table-box table th {
		padding: 0 5px;
	}

	.sub-contents .certificate .item-box {
		grid-template-columns: repeat(2, 1fr);
	}

	.sub-contents .certificate .popup {
		width: 340px;
	}

	.sub-contents .certificate .popup .column {
		row-gap: 15px;
		padding: 20px 0;
	}

	.sub-contents .certificate .popup p {
		font-size: 1.8rem;
	}

	.sub-contents .tpm .system ul li {
		padding: 15px;
	}

	.sub-contents .tpm .system ul p {
		font-size: 1.6rem;
	}

	.sub-contents .tpm .total .circle-list {
		grid-template-columns: repeat(3, minmax(auto, 90px));
		row-gap: 140px;
	}

	.sub-contents .tpm .total .circle-list .circle h5 {
		font-size: 1.9rem;
	}

	.sub-contents .tpm .total .center::after {
		width: 75%;
		height: 75%;
	}

	.sub-contents .tpm .total .center .inner {
		width: 55%;
		height: 55%;
	}

	.sub-contents .tpm .total .center .inner h5 {
		font-size: 2.1rem;
	}

	.sub-contents .tpm .total .center .inner span {
		font-size: 1.6rem;
	}

	.sub-contents .tpm .total .text-box {
		row-gap: 120px;
		column-gap: 165px;
		bottom: -10px;
	}

	.sub-contents .tpm .total .text-box p {
		font-size: 1.6rem;
	}

	.sub-contents .tpm .total .text-box .row {
		column-gap: 10px;
	}

	.sub-contents .tpm .total .text-box .column {
		row-gap: 10px;
	}

	.sub-contents .tpm .activities .bg {
		padding: 15px;
	}

	.sub-contents .tpm .activities .bg.gap20 {
		row-gap: 10px;
	}

	.sub-contents .tpm .activities .top .left {
		grid-area: 1/4/1/1;
	}

	.sub-contents .tpm .activities .top .center {
		grid-area: 2/2;
	}

	.sub-contents .tpm .activities .top .right {
		grid-area: 3/4/3/1;
	}

	.sub-contents .tpm .activities .build {
		row-gap: 5px;
		column-gap: 5px;
	}

	.sub-contents .tpm .activities .build dl {
		width: calc((100% - 10px) / 3);
		row-gap: 5px;
	}

	.sub-contents .tpm .activities .build dl.half {
		width: calc(50% - 2.5px);
	}

	.sub-contents .tpm .propulsion .workflow,
	.sub-contents .tpm .propulsion .center {
		grid-template-rows: 60px auto 135px;
	}

	.sub-contents .tpm .propulsion .workflow p {
		font-size: 1.5rem;
	}

	.sub-contents .tpm .propulsion .center .bg {
		padding: 10px;
	}

	.sub-contents .tpm .propulsion .center ul li {
		font-size: 1.5rem;
	}

	.sub-contents .ethics .banner dl dt {
		font-size: var(--font74);
		margin-bottom: 20px;
	}

	.sub-contents .ethics .banner dl dd {
		font-size: 1.7rem;
	}

	.sub-contents .ethics .list-box .item em {
		margin-right: 10px;
	}

	.sub-contents .ethics .list-box .item dl * {
		font-size: 1.7rem;
	}

	.sub-contents .ethics .list-box .item dl dd {
		padding: 20px;
	}

	.sub-contents .ethics .list-box .item dl p {
		font-size: 1.6rem;
	}

	.sub-contents .code .img-list ul li .over .txt {
		padding: 0 5px;
	}

	.sub-contents .code .img-list ul li .over .txt br {
		display: none;
	}

	.sub-contents .human .item-box {
		row-gap: 10px;
	}

	.sub-contents .human .item {
		padding: 0 10px;
	}

	.sub-contents .human .item em,
	.sub-contents .human .item h6 {
		font-size: 1.8rem;
	}

	.sub-contents .human .item button {
		column-gap: 15px;
		padding: 20px 10px;
	}

	.sub-contents .human .item .plus {
		width: 16px;
		height: 16px;
	}

	.sub-contents .human .item p {
		font-size: 1.5rem;
		padding: 15px;
		margin-bottom: 10px;
	}

	.sub-contents .standards .download-button {
		height: 55px;
		column-gap: 15px;
	}

	.sub-contents .guidance .contents .tit strong {
		font-size: 2.4rem;
	}

	.sub-contents .welfare .item-box {
		row-gap: 10px;
		column-gap: 10px;
	}

	.sub-contents .welfare .item .text dl dt {
		font-size: 2.0rem;
	}

	.sub-contents .welfare .item .text dl dd {
		font-size: 1.6rem;
	}

	.sub-contents .gallery-box {
		grid-template-columns: repeat(1, 1fr);
		column-gap: 0;
		row-gap: 30px;
	}

	.sub-contents .view-box .top {
		row-gap: 15px;
		padding-bottom: 20px;
	}

	.sub-contents .view-box .top h4 {
		font-size: 2.1rem;
	}

	.sub-contents .view-box .file a {
		height: 60px;
		padding: 0 15px;
	}

	.sub-contents .view-box .post-box {
		padding: 20px 0;
		position: relative;
	}

	.sub-contents .view-box .post-box::after {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		top: 50%;
		background: #f1f1f1;
	}

	.sub-contents .view-box .post-box {
		padding: 10px 0; 
	}

	.sub-contents .view-box .post-box .post { 
		display: flex; 
		gap: 0 10px; 
		justify-content: center;
	}

	.sub-contents .view-box .post-box .post span {
		display: none
	}

	.sub-contents .view-box .post-box .post,
	.sub-contents .view-box .post-box .post dl {
		width: 100%;
		display: flex; 
		gap: 5px 10px;
		margin: 5px 0;
	}

	.sub-contents .view-box .post-box .post dt {
		width: 60px;
		text-align: center;
	}

	.sub-contents .view-box .post-box .post dd {
		width: calc(100% - 60px - 10px);
	}

	.sub-contents .view-box .post-box .post.next {
		text-align: left;
		margin: 0;
	}


	.sub-contents .support .contents .txtbox p {
		font-size: 2.1rem;
	}
	.sub-contents .support .contents .txtbox li {
		width: 100%;
	}

	.register-box .reBox>ul>li .ipbox {
		gap: 5px;
		flex-wrap: wrap;
	}

	.register-box .reBox>ul>li .calendar {
		width: 100%
	}

	.register-box .reBox>ul>li select.sel01 {
		width: calc((100% - 5px) / 2);
	}

	.sub-contents .recruit-list {
		grid-template-columns: repeat(1, 1fr);
		column-gap: 0;
		row-gap: 10px;
	}
	.sub-contents .recruit-list .txtbox {
		min-height: auto;
	}

	.sub-contents .btn-down,
	.sub-contents .btn-down a {
		width: 100%;
	}

	.sub-contents .recruit-reg {
		margin-top: 30px;
		padding: 40px 20px;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .imgbox::after {
		padding-bottom: 60%;
	}

	.sub-contents .talent .slide-wrap .swiper-slide {
		width: 85%
	}

	.sub-contents .talent .slide-wrap .swiper-slide .txtbox strong {
		font-size: 4.5rem;
	}

	.sub-contents .talent .slide-wrap .swiper-slide .txtbox span {
		font-size: 3.0rem;
	}

	.sub-contents .talent .value-box .txtbox h4 {
		font-size: 3.2rem;
	}

	.sub-contents .ci .top .logo-box {
		margin-top: 20px;
		padding: 60px 20px;
	}

	.sub-contents .ci .top .logo-box img {
		width: 160px;
	}

	.sub-contents .ci .list dd>ul>li {
		width: 100%;
	}

	.sub-contents .ci .list dd>ul>li .box {
		height: 160px;
		font-size: 2.2rem;
	}

	.sub-contents .vision .contents>dl>dd .box-2 li .circle img {
		height: 30px;
	}

	.sub-contents .vision .contents>dl>dd .box-2 li .circle .text {
		margin-top: 10px;
		font-size: 1.9rem;
	}

	.sub-contents .vision .contents>dl>dd .box-4>ul>li {
		width: 100%;
		padding: 20px;
	}

	.sub-contents .history .contents h4 {
		font-size: 2.6rem;
	}

	.sub-contents .history .contents .top .text-box {
		margin-top: 10px;
	}

	.sub-contents .history .contents .top .text-box .text {
		font-size: 1.9rem;
	}

	.sub-contents .history .history-box .imgbox::before {
		padding-bottom: 50%;
	}

	.sub-contents .history .history-box>dl {
		margin-top: 40px;
	}

	.sub-contents .history .history-box>dl>dd .list-box dl {
		padding: 20px 10px;
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dt {
		width: 90px;
		font-size: 2.3rem;
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dd {
		width: calc(100% - 90px);
	}

	.sub-contents .history .history-box>dl>dd .list-box dl>dd li {
		padding-left: 35px;
	}

	.sub-contents .founder .contents .top {
		height: 300px;
	}

	.sub-contents .founder .contents .top .imgbox {
		width: 40%;
	}

	.sub-contents .founder .contents .top .imgbox img {
		height: 85%
	}

	.sub-contents .founder .contents .top .info-box {
		width: 60%;
		padding: 0 10px 0 20px;
	}

	.sub-contents .founder .contents .top .info-box dt {
		line-height: 1.3;
		font-size: 1.5rem;
	}

	.sub-contents .founder .contents .top .info-box dt strong {
		font-size: 1.9rem;
	}

	.sub-contents .founder .contents.director .top .info-box dt strong {
		font-size: 1.9rem;
	}

	.sub-contents .founder .contents .top .info-box dd {
		margin-top: 20px;
	}

	.sub-contents .founder .contents .top .info-box dd li {
		font-size: 1.5rem;
	}

	.sub-contents .founder .contents .top .info-box dd li.square::before {
		margin-top: 4px;
	}

	.sub-contents .founder .contents .top .info-box dd li:not(:last-child) {
		margin-bottom: 5px;
	}

	.sub-contents .founder .contents .listbox dl {
		margin-top: 55px;
	}

	.sub-contents .founder .contents .listbox dl dt {
		top: -55px;
	}

	.sub-contents .founder .contents .listbox dl dd li:not(:last-child) {
		margin-bottom: 10px;
	}

	.sub-contents .overview .contents .img-box .text p {
		font-size: 1.8rem;
	}

	.sub-contents .overview .contents .img-box .text .stxt {
		margin-top: 20px;
		font-size: 1.4rem;
	}

	.sub-contents .overview .contents .img-list {
		margin-top: 40px;
		gap: 40px 0;
	}

	.sub-contents .overview .contents .motion-box .imgbox .img::before {
		margin-bottom: 110%;
	}

	.sub-contents .overview .contents .img-list .img-box::before,
	.sub-contents .overview .contents .motion-box .cont.off .imgbox .img::before {
		margin-bottom: 80%;
	}

	.sub-contents .overview .contents .motion-box .cont.on .imgbox .img::before {
		margin-bottom: var(--margin-bottom, 100vh);
	}
}