@charset "utf-8";

@media screen and (max-width: 1259px) {
	.g-navi_pulldown .menus .primary {
		width: calc(100% - 23.5%);
	}
	
	.g-navi_pulldown .secondary {
		width: 23.5%;
	}
	
	.u-title_page .u-inner {
		padding-inline: 60px;
	}
	
	.u-title_page .name:before {
		white-space: pre;
	}
	
	.u-modal_campus {
		width: calc(100% - (40px * 2));
		max-height: calc(100vh - (40px * 2 + var(--header_h)));
		margin-inline: 40px;
	}
	
	.active_scroll .u-modal_campus {
		max-height: calc(100dvh - (40px * 2 + var(--header_h)));
	}
	
	.u-modal .close_icon {
		left: auto;
	}
	
	.p-side_menu .g-container {
		padding-inline: 60px;
	}
	
	.l-main_lead {
		padding-inline: 60px;
	}
	
	.l-entry_modal {
		width: calc(100% - (30px * 2));
	}
	
	
}

@media screen and (max-width: 999px) {
	:root {
	}
	
	.u-show_tablet {
		display: block !important;
	}
	
	.u-hide_tablet {
		display: none !important;
	}
	
	.u-inner {
		padding-inline: 30px;
	}
	
	.g-breadcrumb {
		padding-inline: 30px;
	}
	
	.p-side_menu .g-container {
		display: block;
	}
	
	.p-side_menu .g-side {
		width: 100%;
		padding-top: 0;
	}
	
	.p-side_menu .g-side .items {
		padding-top: 15px;
		position: relative;
		top: auto;
		left: auto;
	}
	
	.p-side_menu .g-side .items li {
		margin-top: 15px;
		margin-right: 24px;
		display: inline-block;
	}
	
	.p-side_menu .g-side .items li a {
		padding-right: 0;
	}
	
	.p-side_menu .g-side .items li a.active {
		color: var(--black);
		font-weight: 500;
	}
	
	.p-side_menu .g-main {
		width: 100%;
		padding-top: 100px;
	}
	
	.g-navi_pulldown .lists ul li {
		font-size: 1.5vw;
	}
	
	.g-navi_pulldown .lists ul li a:after {
		margin-bottom: .1em;
	}
	
	.g-header_logo {
		margin-left: 60px;
	}
	
	.g-footer .sns_button .title {
		width: 100%;
		margin-right: auto;
		margin-bottom: 15px;
	}
	
	.g-footer_copyright ul li {
		margin-right: 20px;
	}
	
	.no-touch .g-footer_copyright .copyright {
		font-size: 1.4vw;
	}
	
}

@media screen and (max-width: 767px) {
	:root {
		--header_h: 60px;
	}
	
	.u-show_mobile {
		display: block !important;
	}
	
	.u-show_mobile--small {
		display: none !important;
	}
	
	.u-hide_mobile {
		display: none !important;
	}
	
	.u-contents:not(:first-of-type) {
		margin-top: 100px;
	}
	
	.u-inner {
		padding-inline: 20px;
	}
	
	.u-button > * > * {
		font-size: 16rem;
	}
	
	.u-title_page .u-inner {
		padding-top: 8.25%;
		padding-inline: 20px;
		padding-bottom: 7.25%;
		height: auto;
	}
	
	.u-title_page .name {
		font-size: 5.25vw;
	}
	
	.u-title_page .name:before {
		font-size: 16vw;
	}
	
	.u-title_hi > * {
		font-size: 24rem;
	}
	
	.u-title_hi:after {
		margin-bottom: .725em;
	}
	
	.u-title_hi + * {
		margin-top: 32px !important;
	}
	
	.u-title_hi + .u-title_mid {
		margin-top: 56px !important;
	}
	
	.u-title_mid > * {
		font-size: 20rem;
	}
	
	.u-list_note li {
		margin-top: .25em;
	}
	
	.u-list_note li > * {
		font-size: 12rem;
	}
	
	.u-cta_entry {
		margin: 100px 0 0;
	}
	
	.u-cta_entry a {
		padding-top: 50px;
		padding-bottom: 90px;
	}
	
	.u-cta_entry .entry_button .title {
		font-size: 18.75vw;
	}
	
	.u-cta_entry .entry_button .u-button > * {
		width: 100%;
	}
	
	.l-main_lead {
		padding-inline: 20px;
	}
	
	
	
	.p-side_menu .g-container {
		padding-inline: 20px;
	}
	
	.l-entry_buttons {
		display: block;
	}
	
	.l-entry_buttons .u-button {
		padding-inline: 0;
	}
	
	.l-entry_buttons .u-button > * {
		width: 100%;
	}
	
	
	
	
	.g-header_logo {
		margin-left: 15px;
	}
	
	.g-header_logo .logo {
		width: calc(104px + 34px);
		padding-right: 15px;
	}
	
	.g-header_logo .name {
		font-size: 12rem;
		width: 5em;
		padding-left: 10px;
	}
	
	.g-header .g-navi_menu {
		display: none;
	}
	
	.g-navi .entry a {
		width: 94px;
		padding-bottom: .35em;
	}
	
	.g-menubuttons > * {
		width: 20px;
	}
	
	.g-menubuttons > *.top {
		margin-top: -8px;
	}
	
	.g-menubuttons > *.bottom {
		margin-top: 8px;
	}
	
	.g-navi .entry .name:before {
		font-size: 27rem;
	}
	
	.g-breadcrumb {
		margin: calc(var(--header_h) + 10px) 0 0;
		padding-inline: 20px;
	}
	
	.g-navi_pulldown {
		height: calc(100dvh - var(--header_h));
		overflow-y: auto;
		border-radius: 0;
	}
	
	.g-navi_pulldown .menus {
		flex-direction: column;
	}
	
	.g-navi_pulldown .menus .primary {
		width: 100%;
		height: auto;
		margin-top: 0;
		display: block;
	}
	
	.g-navi_pulldown .menus .primary_child {
		width: 100%;
	}
	
	.g-navi_pulldown .secondary {
		width: 100%;
		margin-top: 40px;
	}
	
	.g-navi_pulldown .lists {
		width: 100%;
		margin-top: 40px;
		padding: 0;
		display: flex;
		align-items: flex-start;
		justify-content: center;
		border-left: 0;
		position: relative;
	}
	
	.g-navi_pulldown .lists:after {
		content: '';
		width: 1px;
		height: 100%;
		display: block;
		background: var(--white);
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%,0);
	}
	
	.g-navi_pulldown .lists .title {
		text-align: right;
		width: calc(100% / 2);
		padding-right: 10px;
	}
	
	.g-navi_pulldown .lists .title b {
		font-size: 4.75vw;
	}
	
	.g-navi_pulldown .lists .title b:before {
		font-size: 3.75vw;
	}
	
	.g-navi_pulldown .lists .title b.no_name {
		position: relative;
	}
	
	.g-navi_pulldown .lists:first-child .title b:before {
		margin-top: .2em;
	}
	
	.g-navi_pulldown .lists ul {
		width: calc(100% / 2);
		margin-top: 0;
		padding-left: 10px;
	}
	
	.g-navi_pulldown .lists ul li {
		font-size: 3.5vw;
		white-space: nowrap;
	}
	
	.g-navi_pulldown .lists ul li:first-child {
		margin-top: 0;
	}
	
	.g-navi_pulldown .lists ul li a:after,
	.g-navi_pulldown .lists ul li a[target='_blank']:after {
		width: .9em;
		height: .9em;
		margin-bottom: .15em;
	}
	
	.g-navi_pulldown .banners {
		margin-top: 0;
	}
	
	.g-navi_pulldown .sns_button {
		justify-content: center;
	}
	
	.entry_button {
		margin-top: 30px;
	}
	
	.entry_button .title {
		text-align: center;
	}
	
	.entry_button .u-button {
		width: 276px;
		margin-inline: auto;
	}
	
	.menus_sub ul {
		margin-top: 40px;
		padding-top: 0;
		padding-bottom: 0;
		flex-direction: column;
	}
	
	.menus_sub ul li {
		margin: 15px 0 0;
	}
	
	.copyright_bar {
		margin-top: 25px;
		margin-inline: -20px;
		padding: 25px 20px;
		background: var(--black);
	}
	
	.copyright_bar ul {
		display: flex;
	}
	
	.copyright_bar ul li {
		margin-right: 24px;
	}
	
	.copyright_bar ul li a {
		font-size: 14rem;
	}
	
	.copyright_bar ul li a:after {
		display: none;
	}
	
	.copyright_bar .copyright {
		font-size: 12rem;
		margin-top: 15px;
		display: block;
	}
	
	.g-footer .g-navi_pulldown {
		height: auto;
	}
	
	.g-footer .g-navi_pulldown .menus .primary {
		display: none;
	}
	
	.g-footer .sns_button {
		margin-top: 30px;
	}
	
	.g-footer .sns_button .title {
		width: auto;
		margin-right: 24px;
		margin-bottom: 0;
	}
	
	.g-footer .menus_sub ul {
		margin-top: 15px;
	}
	
	.g-footer .head_copyright {
		display: none !important;
	}
	
	.g-footer_copyright .u-inner {
		margin: 0;
		padding: 0 20px;
		display: block;
	}
	
	.no-touch .g-footer_copyright .copyright {
		font-size: 3vw;
	}
	
	.g-pagetop {
		right: 10px;
	}
	
	.l-table {
		flex-direction: column;
	}
	
	.l-table > .head {
		line-height: 1.5;
		width: 100%;
		padding: 10px 20px 15px;
	}
	
	.l-table > .head + .cell {
		width: 100%;
		padding: 24px 20px;
	}
	
	.l-table > .head + .cell  .u-text {
		line-height: 1.6;
	}
	
	.l-location_box {
		padding: 40px 20px;
	}
	
	.l-location_box .u-text {
		letter-spacing: 0;
	}
	
	.l-location_voice .title {
		font-size: 16rem;
	}
	
	.l-location_voice .items > * {
		width: calc(100% - 50px);
		max-width: none;
		min-width: 0;
		padding: 15px 15px 30px 15px;
		display: block;
	}
	
	.l-location_voice .items > * figure {
		width: 70px;
		margin-inline: auto;
	}
	
	.l-location_voice .items > * p {
		font-size: 16rem;
		width: 100%;
		margin-top: 10px;
		padding-left: 0;
	}
	
	.l-location_voice .items > * p br {
		display: none;
	}
	
	.l-working .l-working_items {
		margin-inline: 0;
		flex-direction: column;
	}
	
	.l-working .l-working_items > * {
		width: 100%;
		margin-top: 50px;
		margin-inline: 0;
	}
	
	.l-working .l-working_items > *:nth-of-type(-n + 3) {
		margin-top: 60px;
	}
	
	.l-working .l-working_items > *:nth-of-type(-n + 1) {
		margin-top: 30px;
	}
	
	.l-working .l-working_items > *:nth-child(n + 4) {
		margin-top: 50px;
	}
	
	
	.u-acpanel_summary {
		min-height: 64px;
		padding: 10px 50px 15px 20px;
	}
	
	.u-acpanel_summary:before {
		font-size: 32rem;
		margin-top: 0;
		margin-left: 0;
		position: relative;
		top: auto;
		left: auto;
	}
	
	.u-acpanel_summary .u-text {
		font-size: 16rem;
		margin-top: 10px;
	}
	
	.u-acpanel_summary .statetus {
		right: 20px;
	}
	
	.u-acpanel_detail .inner {
		padding: 15px 20px 30px 20px;
	}
	
	.u-acpanel_detail .inner:before {
		font-size: 32rem;
		margin-top: 0;
		margin-left: 0;
		position: relative;
		top: auto;
		left: auto;
	}
	
	/*	modal*/
	.u-modal_campus {
		width: calc(100% - (20px * 2));
		max-height: calc(100vh - (20px * 2 + var(--header_h)));
		margin-inline: 20px;
	}
	
	.active_scroll .u-modal_campus {
		max-height: calc(100dvh - (20px * 2 + var(--header_h)));
	}
	
	.u-modal .close_icon {
		margin: 15px -15px 0 0;
	}
	
	.l-entry_modal {
		width: calc(100% - (20px * 2));
		padding-inline: 20px;
	}
	
	.l-entry_title {
		font-size: 20rem;
	}
	
	.u-width_100_mobile { width: 100%; }
	.u-width_95_mobile { width: 95%; }
	.u-width_90_mobile { width: 90%; }
	.u-width_85_mobile { width: 85%; }
	.u-width_80_mobile { width: 80%; }
	.u-width_75_mobile { width: 75%; }
	.u-width_70_mobile { width: 70%; }
	.u-width_65_mobile { width: 65%; }
	.u-width_60_mobile { width: 60%; }
	.u-width_55_mobile { width: 55%; }
	.u-width_50_mobile { width: 50%; }
	.u-width_45_mobile { width: 45%; }
	.u-width_40_mobile { width: 40%; }
	.u-width_35_mobile { width: 35%; }
	.u-width_40_mobile { width: 40%; }
	.u-width_30_mobile { width: 30%; }
	.u-width_25_mobile { width: 25%; }
	.u-width_20_mobile { width: 20%; }
	.u-width_15_mobile { width: 15%; }
	.u-width_10_mobile { width: 10%; }

	.u-mgt_125_mobile { margin-top: 125px !important; }
	.u-mgt_120_mobile { margin-top: 120px !important; }
	.u-mgt_115_mobile { margin-top: 110px !important; }
	.u-mgt_110_mobile { margin-top: 110px !important; }
	.u-mgt_105_mobile { margin-top: 100px !important; }
	.u-mgt_100_mobile { margin-top: 100px !important; }
	.u-mgt_95_mobile { margin-top: 95px !important; }
	.u-mgt_90_mobile { margin-top: 90px !important; }
	.u-mgt_85_mobile { margin-top: 85px !important; }
	.u-mgt_80_mobile { margin-top: 80px !important; }
	.u-mgt_75_mobile { margin-top: 75px !important; }
	.u-mgt_70_mobile { margin-top: 70px !important; }
	.u-mgt_65_mobile { margin-top: 65px !important; }
	.u-mgt_60_mobile { margin-top: 60px !important; }
	.u-mgt_55_mobile { margin-top: 55px !important; }
	.u-mgt_50_mobile { margin-top: 50px !important; }
	.u-mgt_45_mobile { margin-top: 45px !important; }
	.u-mgt_40_mobile { margin-top: 40px !important; }
	.u-mgt_35_mobile { margin-top: 35px !important; }
	.u-mgt_30_mobile { margin-top: 30px !important; }
	.u-mgt_25_mobile { margin-top: 25px !important; }
	.u-mgt_20_mobile { margin-top: 20px !important; }
	.u-mgt_15_mobile { margin-top: 15px !important; }
	.u-mgt_10_mobile { margin-top: 10px !important; }
	.u-mgt_5_mobile { margin-top: 5px !important; }
	.u-mgt_0_mobile { margin-top: 0 !important; }
	.u-mgt_-10_mobile { margin-top: -10px !important; }
	.u-mgt_-20_mobile { margin-top: -20px !important; }
	.u-mgt_-30_mobile { margin-top: -30px !important; }
	.u-mgt_-40_mobile { margin-top: -40px !important; }
	.u-mgt_-50_mobile { margin-top: -50px !important; }
	.u-mgt_-60_mobile { margin-top: -60px !important; }
	.u-mgt_-70_mobile { margin-top: -70px !important; }
	
}

@media screen and (max-width: 499px) {
	.g-navi_pulldown .lists ul li a:after,
	.g-navi_pulldown .lists ul li a[target='_blank']:after {
		width: 1.1em;
		height: 1.1em;
		margin-bottom: .1em;
	}
	
	.g-navi_pulldown .lists ul li a[target='_blank']:after {
		margin-bottom: -.1em;
	}
	
}

@media screen and (max-width: 389px) {
	.g-header_logo .logo {
		width: 35.5vw;
	}
	
}
