@media (max-width: 1800px) {

	.w1760,
	.w1640 {
		padding: 0 20px;
	}
}

@media (max-width: 1600px) {
	header .depth1>li>a {
		font-size: 1.8rem;
		padding: 0 50px;
	}

	.site-map .depth1 {
		justify-content: space-around;
	}

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

	main .business .content {
		column-gap: 80px;
	}

	main .business .text {
		flex-direction: column;
		row-gap: 10px;
		align-items: flex-start;
	}

	main .business .text .hover-button {
		margin-left: auto;
	}

	.sub-contents .overview .ratio .text-box {
		height: 100%;
	}

	.sub-contents .areas .information p br {
		display: none;
	}

	.sub-contents .process .steps .item-box {
		grid-template-columns: repeat(4, 1fr 10px) 1fr;
		column-gap: 20px;
	}

	.sub-contents .process .details .item {
		column-gap: 60px;
		padding: 40px;
	}

	.sub-contents .process .details .item span {
		font-size: 10rem;
	}

	.sub-contents .process .details .item .icon {
		width: 90px;
	}

	.sub-contents .welfare .perks .item {
		column-gap: 60px;
	}

	.sub-contents .welfare .perks .img {
		max-width: 40%;
	}

	.sub-contents .welfare .perks .text .icon {
		width: 100px;
		height: 100px;
	}

	.sub-contents .welfare .perks .text p br {
		display: none;
	}

	.sub-contents .welfare .information {
		padding: var(--gap90) 0;
	}

	.sub-contents .welfare .information .img {
		max-width: 12%;
		right: 40px;
	}

	.sub-contents .welfare .program {
		padding: 40px 30px;
	}

	.sub-contents .welfare .program .item p {
		column-gap: 5px;
		font-size: 1.8rem;
	}

	footer .about {
		column-gap: 40px;
	}
}

@media (max-width: 1200px) {
	header .header-box {
		column-gap: 0;
		justify-content: space-between;
	}

	header nav {
		display: none;
	}

	.site-map .top {
		height: 105px;
		top: 0;
	}

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

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

	.site-map .depth2>li>a {
		font-size: 2rem;
	}

	main .visual .scroll-box {
		row-gap: 10px;
		right: 20px;
	}

	main .visual .scroll-box span {
		width: 50px;
		height: 50px;
	}

	main .business .img-box span {
		font-size: 3.4rem;
		top: 40px;
		left: 40px;
	}

	main .business .buttons button {
		width: 70px;
		height: 70px;
		margin-right: -35px;
	}

	main .news .text {
		padding: 30px;
	}

	main .news .buttons button {
		width: 60px;
		height: 60px;
	}

	main .inquiries {
		height: 300px;
	}

	main .inquiries .link-box {
		column-gap: 20px;
	}

	.sub-visual {
		height: 380px;
	}

	.sub-visual .path-box {
		left: 40px;
	}

	.sub-contents .depth1 {
		margin: 20px auto 0;
	}

	.sub-contents .depth1>li {
		row-gap: 10px;
	}

	.sub-contents .depth1>li>a {
		font-size: 2rem;
	}

	.sub-contents .sub-page {
		padding: var(--gap130) 0;
	}

	.sub-contents .overview .information .item {
		padding: 40px 0;
	}

	.sub-contents .overview .information .item .text p {
		font-size: 2.8rem;
	}

	.sub-contents .overview .ratio .item-box {
		width: 100%;
	}

	.sub-contents .overview .ratio .text span {
		font-size: 2.8rem;
	}

	.sub-contents .greeting .img {
		padding: 15% 0;
	}

	.sub-contents .directions .content {
		column-gap: 20px;
	}

	.sub-contents .directions .top {
		column-gap: 10px;
		font-size: 2rem;
		padding: 10px 20px;
	}

	.sub-contents .directions .info dl {
		flex-direction: column;
		row-gap: 10px;
		column-gap: 0;
		align-items: flex-start;
	}

	.sub-contents .areas .information .text {
		padding-left: 40px;
	}

	.sub-contents .areas .lists .item {
		padding: 30px;
	}

	.sub-contents .areas .lists .text {
		padding-left: 0;
	}

	.sub-contents .areas .lists span {
		font-size: 8.4rem;
	}

	.sub-contents .process .steps .text p {
		font-size: 1.8rem;
	}

	.sub-contents .process .details .item dl dt {
		font-size: 2.2rem;
		margin-bottom: 20px;
	}

	.sub-contents .faq .q,
	.sub-contents .faq .a {
		padding: 20px 30px;
	}

	.sub-contents .welfare .perks .item {
		width: 100%;
		max-width: 770px;
		flex-direction: column;
		row-gap: 60px;
		column-gap: 0;
		margin: 0 auto;
	}

	.sub-contents .welfare .perks .img {
		max-width: inherit;
		order: 2;
	}

	.sub-contents .welfare .perks .text {
		order: 1;
	}

	.sub-contents .welfare .program .item-box {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 20px;
	}

	.sub-contents .welfare .program .item:last-child {
		grid-area: 2/1/2/3;
	}

	footer .about {
		display: flex;
		flex-wrap: wrap;
	}

	footer .about li:nth-child(-n+5) b {
		width: auto;
	}

	footer .about li:nth-child(3) {
		width: 100%;
	}
}

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

	header .logo {
		width: 160px;
		height: 38px;
	}

	.site-map .inner {
		flex-direction: column;
		row-gap: 40px;
	}

	.site-map .top {
		height: 80px;
		position: relative;
		top: auto;
		left: auto;
		transform: translateX(0);
	}

	.site-map .logo {
		width: 190px;
		height: 50px;
	}

	.site-map .close-button {
		width: 20px;
	}

	.site-map .depth1 {
		grid-template-columns: repeat(1, 1fr);
		justify-content: center;
		row-gap: 40px;
		margin: 0;
	}

	.site-map .depth1>li>a {
		display: block;
		width: 100%;
		font-size: 3rem;
	}

	.site-map .depth2 {
		padding: 20px 0 0;
		display: none;
	}

	main .visual {
		height: auto;
	}

	main .visual .swiper-slide {
		padding: 40% 0;
	}

	main .visual .text {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
	}

	main .business .heart {
		width: 40%;
		left: auto;
		right: 0;
		transform: rotateY(180deg);
	}

	main .business .content {
		display: flex;
		flex-direction: column;
		row-gap: 60px;
		column-gap: 0;
	}

	main .business .left {
		width: 100%;
	}

	main .business .pagination {
		flex-direction: row;
		column-gap: 60px;
	}

	main .business .pagination .swiper-pagination-bullet-active {
		font-size: 1em;
	}

	main .business .slide-wrap {
		width: 150%;
	}

	main .news .text * {
		font-size: 1.7rem;
	}

	main .news .text h6 {
		font-size: 2rem;
	}

	main .inquiries {
		height: auto;
	}

	main .inquiries .box {
		background-position: 80% center;
		padding: 60px 0;
	}

	main .inquiries .row {
		flex-direction: column;
		row-gap: 30px;
		align-items: flex-start;
		justify-content: center;
	}

	.sub-visual {
		height: 280px;
	}

	.sub-visual .title em {
		font-size: 2.1rem;
	}

	.sub-visual .title h2 {
		font-size: calc(var(--font92) - 0.4rem);
	}

	.sub-visual .path-box {
		left: 30px;
		bottom: 30px;
	}

	.sub-contents .rolling span {
		padding: 0 5px;
		font-size: 7.5vw;
	}

	.sub-contents .company .information p {
		font-size: 2rem;
	}

	.sub-contents .overview .information .item-box {
		column-gap: 20px;
	}

	.sub-contents .overview .information .item .icon {
		width: 70px;
		height: 70px;
	}

	.sub-contents .overview .information .item .text p {
		font-size: 2.4rem;
	}

	.sub-contents .overview .information .item .text b {
		font-size: 1.8rem;
	}

	.sub-contents .overview .ratio .item-box {
		grid-template-columns: calc(25% - 20px) 45% calc(25% - 20px);
	}

	.sub-contents .greeting h3 {
		margin-top: -3em;
	}

	.sub-contents .history .content {
		grid-template-columns: 25px calc(100% - 75px);
		column-gap: 50px;
	}

	.sub-contents .history .img-box {
		display: none;
	}

	.sub-contents .history .img {
		margin: 0 0 40px;
	}

	.sub-contents .history .bar {
		left: 12.5px;
	}

	.sub-contents .history .list-box dl dt {
		font-size: 4.2rem;
	}

	.sub-contents .directions .content {
		flex-direction: column;
		row-gap: 60px;
		column-gap: 0;
	}

	.sub-contents .directions .map {
		margin: 20px 0 30px;
	}

	.sub-contents .areas h3,
	.sub-contents .areas h4 {
		margin: 15px 0 20px;
	}

	.sub-contents .areas .information,
	.sub-contents .areas .lists {
		padding: var(--gap130) 0;
	}

	.sub-contents .areas .information,
	.sub-contents .areas .lists .item {
		flex-direction: column;
		row-gap: 40px;
	}

	.sub-contents .areas .information>*,
	.sub-contents .areas .lists .item>* {
		width: 100%;
		max-width: 800px;
	}

	.sub-contents .areas .information .text,
	.sub-contents .areas .lists .item .text {
		order: 1;
	}

	.sub-contents .areas .information .img,
	.sub-contents .areas .lists .item .img {
		order: 2;
	}

	.sub-contents .areas .information .text {
		padding-left: 0;
	}

	.sub-contents .areas .information p {
		font-size: 1.9rem;
	}

	.sub-contents .areas .lists {
		display: flex;
		flex-direction: column;
		row-gap: 60px;
	}

	.sub-contents .areas .lists .item {
		position: relative;
		top: auto;
	}

	.sub-contents .areas .lists span {
		font-size: 5rem;
	}

	.sub-contents .areas .lists p {
		font-size: 1.8rem;
	}

	.sub-contents .process .steps {
		padding: 30px;
	}

	.sub-contents .process .steps .item-box {
		display: flex;
		flex-direction: column;
		row-gap: 20px;
		column-gap: 0;
	}

	.sub-contents .process .steps .item-box span {
		width: 200px;
		justify-content: center;
	}

	.sub-contents .process .steps .item-box span img {
		transform: rotate(90deg);
	}

	.sub-contents .process .steps .item {
		display: grid;
		grid-template-columns: 200px auto;
		align-items: center;
		column-gap: 40px;
	}

	.sub-contents .process .steps .text {
		text-align: left;
		margin-top: 0;
	}

	.sub-contents .process .details .item {
		flex-direction: column;
		align-items: flex-start;
		padding: 30px;
	}

	.sub-contents .process .details .item span {
		font-size: 7.4rem;
	}

	.sub-contents .process .details .item dl p {
		font-size: 1.8rem;
	}

	.sub-contents .process .details .item .icon {
		margin: 20px 0 0 auto;
	}

	.sub-contents .faq .q {
		min-height: inherit;
		align-items: inherit;
	}

	.sub-contents .faq .q .plus {
		transform: translateY(0.7em);
	}

	.sub-contents .faq .item em {
		font-size: 2.7rem;
	}

	.sub-contents .faq .item p {
		font-size: 1.8rem;
		padding-bottom: 0.3em;
		transform: translateY(0.3em);
	}

	.sub-contents .welfare .perks .item {
		padding: var(--gap130) 0;
	}

	.sub-contents .welfare .information>.top h3 {
		font-size: var(--font42);
		margin-bottom: 30px;
	}

	.sub-contents .welfare .program {
		padding: 30px 20px;
	}

	.sub-contents .welfare .program>.top h6 {
		font-size: 2.3rem;
	}

	.sub-contents .welfare .program>.top p {
		font-size: 1.9rem;
	}

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

	.sub-contents .welfare .program .item {
		padding: 25px 0;
	}

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

	.sub-contents .welfare .program .item span {
		font-size: 1.6rem;
	}

	footer .top {
		padding: 60px 0 40px;
	}

	footer .logo {
		width: 160px;
	}

	footer .top-button {
		width: 70px;
		height: 70px;
		row-gap: 5px;
	}
}

@media (max-width: 768px) {
	:root {
		--h2-point: 10px;
	}

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

	.site-map .depth2>li>a {
		font-size: 1.8rem;
	}

	main .visual .option-box,
	main .visual .scroll-box {
		bottom: 40px;
	}

	main .visual .option-box {
		flex-direction: column-reverse;
		row-gap: 10px;
	}

	main .business .pagination {
		column-gap: 40px;
	}

	main .business .img-box span {
		font-size: 2.8rem;
	}

	main .business .text {
		padding: 20px 0 0;
	}

	main .business .text h6 {
		font-size: 1.9rem;
	}

	main .business .text h6 br {
		display: none;
	}

	.sub-visual .path-box {
		left: 20px;
		bottom: 20px;
	}

	.sub-contents .scroll-tab {
		width: calc(100% - 80px);
		top: 20px;
	}

	.sub-contents .scroll-tab>li {
		width: 100%;
	}

	.sub-contents .scroll-tab>li>a {
		font-size: 1.8rem;
		padding: 20px 0;
	}

	.sub-contents .rolling span {
		font-size: 10vw;
	}

	.sub-contents .sub-page h3 {
		font-size: calc(var(--font60) - 0.6rem);
	}

	.sub-contents .company .symbol {
		width: 30%;
		margin: 0 auto;
	}

	.sub-contents .company .information p {
		font-size: 1.8rem;
	}

	.sub-contents .company .information p br {
		display: none;
	}

	.sub-contents .overview .information .item-box {
		grid-template-columns: repeat(1, 1fr);
		row-gap: 20px;
		column-gap: 0;
	}

	.sub-contents .overview .ratio .item-box {
		width: 100%;
		max-width: 420px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		row-gap: 40px;
		column-gap: 10px;
	}

	.sub-contents .overview .ratio .circle-box {
		order: 1;
	}

	.sub-contents .overview .ratio .text-box {
		order: 2;
		width: calc(50% - 5px);
		height: 300px;
	}

	.sub-contents .overview .ratio .text-box .line {
		display: none;
	}

	.sub-contents .overview .ratio .text span {
		font-size: 2.3rem;
	}

	.sub-contents .overview .ratio .text h6 {
		font-size: 1.7rem;
	}

	.sub-contents .overview .ratio .left-box.on .text,
	.sub-contents .overview .ratio .right-box.on .text {
		transition-delay: 1s;
	}

	.sub-contents .greeting .img {
		padding: 20% 0;
	}

	.sub-contents .history .content {
		grid-template-columns: 25px calc(100% - 55px);
		column-gap: 30px;
	}

	.sub-contents .history .list-box dl dt {
		font-size: 3.2rem;
	}

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

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

	.sub-contents .process .details .item span {
		font-size: 5.2rem;
	}

	.sub-contents .process .details .item .icon {
		width: 65px;
	}

	.sub-contents .faq .q,
	.sub-contents .faq .a {
		padding: 20px;
	}

	.sub-contents .welfare .title p {
		font-size: 1.9rem;
	}

	.sub-contents .welfare .perks .text ul {
		grid-template-columns: repeat(1, 1fr);
		margin-top: 30px;
	}

	.sub-contents .welfare .perks .text p br {
		display: block;
	}

	.sub-contents .welfare .information .column * {
		font-size: 1.9rem;
	}

	.sub-contents .welfare .program .item-box {
		grid-template-columns: repeat(1, 1fr);
		column-gap: 0;
	}

	.sub-contents .welfare .program .item:last-child {
		grid-area: inherit;
	}

	footer .footer-box {
		padding: 60px 0 0;
	}

	footer .top {
		flex-direction: column;
		padding: 0 0 40px;
		position: relative;
	}

	footer .about {
		margin-top: 40px;
	}

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

	footer .top-button {
		position: absolute;
		top: 0;
		right: 0;
	}
}

@media (max-width: 600px) {
	main .visual .text {
		padding-top: 0;
	}

	main .visual .buttons button {
		width: 40px;
		height: 40px;
	}

	main .visual .progress-bar {
		width: 180px;
	}

	main .visual .fraction {
		font-size: 1.8rem;
	}

	main .visual .scroll-box {
		display: none;
	}

	main .business .heart {
		width: 80%;
		bottom: 0;
	}

	main .business .content {
		row-gap: 40px;
	}

	main .business .slide-wrap {
		width: calc(100% - 30px);
	}

	main .business .img-box span {
		font-size: 2.3rem;
		top: 30px;
		left: 30px;
	}

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

	main .business .buttons button {
		width: 60px;
		height: 60px;
		margin-right: -30px;
	}

	.sub-visual {
		height: 240px;
	}

	.sub-visual .title {
		padding-bottom: 20px;
	}

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

	.sub-visual .path-box .path::before {
		margin: 0 10px;
	}

	.sub-visual .path-box .path a {
		font-size: 1.5rem;
	}

	.sub-contents .depth1>li>a {
		font-size: 1.7rem;
		padding: 0 20px;
	}

	.sub-contents .scroll-tab>li>a {
		padding: 20px;
	}

	.sub-contents .greeting .symbol {
		width: 40%;
	}

	.sub-contents .greeting .img {
		padding: 30% 0;
	}

	.sub-contents .greeting p {
		font-size: 1.6rem;
	}

	.sub-contents .history .content {
		grid-template-columns: 25px calc(100% - 45px);
		column-gap: 20px;
	}

	.sub-contents .history .list-box dl dt {
		font-size: 2.6rem;
	}

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

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

	.sub-contents .history .list-box dl dd>div {
		flex-direction: column;
		column-gap: 0;
	}

	.sub-contents .directions .info dl * {
		font-size: 1.8rem;
	}

	.sub-contents .process .steps {
		padding: 30px 20px;
	}

	.sub-contents .process .steps .item-box span {
		width: 120px;
	}

	.sub-contents .process .steps .item {
		grid-template-columns: 120px auto;
	}

	.sub-contents .process .steps .icon img {
		max-height: 55px;
	}

	.sub-contents .process .steps .text b {
		font-size: 2rem;
	}

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

	.sub-contents .process .details .item {
		padding: 30px 20px;
	}

	.sub-contents .process .details .item dl dt {
		font-size: 2rem;
	}

	.sub-contents .process .details .item dl p {
		font-size: 1.7rem;
	}

	.sub-contents .process .details a {
		padding: 20px 30px;
	}

	.sub-contents .process .details a span {
		font-size: 1.8rem;
	}

	.sub-contents .faq .q,
	.sub-contents .faq .a {
		padding: 15px 10px;
	}

	.sub-contents .faq .q,
	.sub-contents .faq .a .row {
		column-gap: 10px;
	}

	.sub-contents .faq .q .plus {
		transform: translateY(0.5em);
	}

	.sub-contents .faq .item em {
		font-size: 2.3rem;
	}

	.sub-contents .faq .item p {
		font-size: 1.7rem;
		padding-bottom: 0.2em;
		transform: translateY(0.2em);
	}

	.sub-contents .welfare .title p {
		font-size: 1.8rem;
	}

	.sub-contents .welfare .perks .text .icon {
		width: 80px;
		height: 80px;
	}

	.sub-contents .welfare .perks .text .icon img {
		transform: scale(0.8);
	}

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

	.sub-contents .welfare .perks .text span {
		font-size: 1.7rem;
	}

	.sub-contents .welfare .counsel {
		padding: 20px;
		margin-bottom: var(--gap90);
	}

	.sub-contents .welfare .information .column * {
		font-size: 1.7rem;
	}

	.sub-contents .welfare .program>.top h6 {
		font-size: 2.1rem;
	}

	.sub-contents .welfare .program>.top p {
		font-size: 1.7rem;
	}

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

	footer .top-button {
		width: 60px;
		height: 60px;
	}

	footer .top-button span {
		font-size: 1.6rem;
	}

	footer .family button,
	footer .family ul>li>a {
		height: 55px;
		padding: 0 20px;
	}

	footer .family button span,
	footer .family ul>li>a {
		font-size: 1.7rem;
	}

	footer .bottom {
		flex-direction: column-reverse;
		row-gap: 10px;
		align-items: flex-start;
	}
}