@charset "UTF-8";

@media only screen and (max-width: 1220px) {

	body {
		font: 300 1.6rem/1.8 var(--font_ja);
		letter-spacing: 1px;
	}

	header .gnav li {
		padding: 0 15px;
	}

	header .gnav .contact {
		min-width: 220px;
	}

		header .gnav .contact a {
			background-size: 30px;
		}

		header .gnav .contact a:hover {
			background-size: 30px;
		}

	#top_image .main_copy h2 {
		font: 300 5.7rem/1 var(--font_en);
	}

		#top_image .main_copy h2 span {
			font-size: 2.8rem;
		}

	#top_image .main_copy p {
		font: 200 2.4rem/1.5 var(--font_ja);
		letter-spacing: 1px;
		margin-top: 2px;
	}

.page_ttl {
	font: 400 3.6rem/1.2 var(--font_ja);
	font-feature-settings: "palt";
}

	.page_ttl span {
		font-size: 2.4rem;
	}


.page_lead {
	padding: 30px 5% 35px 5%;
	font: 300 1.6rem/1.5 var(--font_ja);
}

.cat_jump {
	display: none;
}

	.wrap {
		width: 90%;
		max-width: auto;
	}

	.con_wrap {
		width: 100%;
	}

	#contact .wrap,
	#contact_b .wrap {
		width: 90%;
		max-width: auto;
	}

	#footer .wrap {
		width: 90%;
		max-width: auto;
	}

	.con_ttl,
	.con_ttl_w {
		font: 400 3.2rem/1.2 var(--font_ja);
	}

	.con_sub_ttl,
	.con_sub_ttl_w {
		font: 400 2.4rem/1.2 var(--font_ja);
	}

	.inner {
		width: 90%;
		max-width: auto;
		margin: 0 auto;
		padding: 60px 0 70px 0;
	}

	.inner_w {
		width: 90%;
		margin: 0 auto;
		padding: 60px 0 70px 0;
	}

		.con_box_txt .con_box_header {
			font: 400 2.4rem/1.5 var(--font_ja);
			letter-spacing: 1px;
			white-space: normal;
			font-feature-settings: "palt";
		}

	.service_list dt {
		font: 300 2.4rem/1 var(--font_ja);
		margin-bottom: 5px;
	}

		.service_list dt img {
			width: 38px;
		}

	.service_list dd {
		margin-left: 56px;
	}

	.other_movies_inner {
		width: 90%;
		max-width: auto;
	}

		.other_movies_inner h2 {
			font: 400 3rem/1.2 var(--font_ja);
		}

	summary {
		font: 300 2rem/1.5 var(--font_ja);
	}

		summary:before {
			top: -1px;
		}

	.accordion-content p {
		padding-left: 1.8em;
		padding-right: 1.8em;
	}

		.accordion-content p:before {
			top: 4px;
		}

	.box_3part li ul {
		min-height: 10.2em;
	}

	#ttl_image_w {
		padding: 80px 0 50px 0;
	}

	.archievement li {
		flex-direction: column;
		justify-content: flex-start;
	}

		.archievement li .ach_l {
			width: 100%;
			margin-right: 0;
			margin-bottom: 20px;
		}



@media only screen and (max-width: 1024px) {

	header .site_title {
		width: 20%;
	}

	#nav_toggle {
		display: block;
		width: 40px;
		height: 80px;
		position: absolute;
		top: 0;
		right: 40px;
		z-index: 150;
	}

	#nav_toggle div {
		position: relative;
	}

	#nav_toggle span {
		display: block;
		height: 2px;
		background: var(--main_color);
		position:absolute;
		width: 100%;
		right: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;
	}

	#nav_toggle span:nth-child(1){
		top: 26px;
	}

	#nav_toggle span:nth-child(2){
		top: 39px;
	}

	#nav_toggle span:nth-child(3){
		top: 52px;
	}
	
	.open #nav_toggle span:nth-child(1) {
		top: 39px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
		background: #FFF;
	}

	.open #nav_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}

	.open #nav_toggle span:nth-child(3) {
		top: 39px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
		background: #FFF;
	}

	header .gnav {
		display: none;
		width: 100%;
		height: 100svh;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
		background: rgba(17,55,107,0.90);
		color: #FFF;
	}

		header .gnav .gnav_wrap {
			width: 100%;
			height: 100%;
			position: absolute;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
		}

		header .gnav ul {
			flex-direction: column;
			align-items: flex-start;
			text-align: center;
			margin-bottom: 40px;
			
		}

			header .gnav li {
				display: inline-block;
				padding: 0 0 30px 0;
				
			}

				header .gnav li a {
					color: #FFF;
					height: auto;
				}

		header .gnav .contact {
			width: 18%;
			height: 60px;
		}

			header .gnav .contact a {
				background-size: 30px;
				border-radius: 30px;
			}

			header .gnav .contact a:hover {
				background-size: 30px;
			}

	main {
		padding: 174px 0 0 0;
	}

	#top_image .main_copy {
		flex-direction: column;
		justify-content: flex-start;
	}

		#top_image .main_copy h2 {
			font: 300 5.2rem/1 var(--font_en);
			letter-spacing: 0;
		}

			#top_image .main_copy h2 span {
				font-size: 2.8rem;
				margin-top: 8px;
			}

		#top_image .main_copy p {
			font-size: 2.4rem;
			text-align: left;
			margin: 15px 0 0 0;
		}

	#mission {
		margin: 25px 0 0 0;
	}

	#mission .mission_inner .container {
		flex-direction: column;
	}

		#mission .mission_inner h3 {
			width: 100%;
		}

		#mission .mission_inner .mission_box {
			width: 100%;
		}

			#mission .mission_inner .mission_box p {
				text-align: center;
				margin: 20px 0 30px 0;
			}

	.link_btn,
	.link_btn_d {
		justify-content: center;
	}

	.con_wrap {
		margin: 0 0 50px 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}

	#contact .wrap,
	#contact_b .wrap {
		flex-direction: column;
	}

	#contact .wrap .contact_header,
	#contact_b .wrap .contact_header {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}

	#contact .wrap .contact_box,
	#contact_b .wrap .contact_box {
		width: 100%;
		text-align: center;
	}

	#footer {
		border-radius: 50px 50px 0 0;
	}

		#footer .wrap {
			padding: 80px 0 65px 0;
			flex-direction: column;
		}

			#footer .cr_wrap {
				width: 100%;
				text-align: center;
			}

			#footer .f_logo {
				width: 30%;
				min-width: 220px;
				margin: 0 auto 15px auto;
			}

			#footer .f_nav {
				display: none;
			}


			#footer .cr {
				text-align: center;
			}

	.page_ttl {
		width: 90%;
		font: 400 3.4rem/1.3 var(--font_ja);
		font-feature-settings: "palt";
	}

		.page_ttl span {
			font-size: 2.8rem;
		}

	.page_lead {
		padding: 30px 5% 40px 5%;
		color: #000;
		letter-spacing: 1px;
		background: #e4f4fd;
	}

		.page_lead .page_lead_inner {
			width: 100%;
		}

			.page_lead .page_lead_inner p,
			.page_lead .page_lead_inner ul {
				margin-bottom: 10px;
			}

				.page_lead .page_lead_inner li {
					padding-left: 1em;
					text-indent: -1em;
					color: var(--main_color);
					font-weight: bold;
				}

				.page_lead .page_lead_inner li:before {
					content: '\f058';
					font-family: 'Font Awesome 6 Free';
					font-weight: 900;
					padding: 0 7px 0 0;
					color: var(--sub_color);
				}

	.cat_img {
		position: inherit;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0 5%;
		background: linear-gradient(#FFF 50%, #e4f4fd 50%);
	}

	#ttl_image_w .cat_img {
		background: none;
	}


	.solution_comment {
		margin-bottom: 40px;
		flex-wrap: wrap;
		justify-content: center;
	}

		.solution_comment li {
			width: 38%;
			min-height: auto;
			margin: 0 2% 30px 2%;
			padding: 50px 0;
		}

		.solution_comment li:last-child {
			margin: 0 2%;
		}

	.con_sub_ttl,
	.con_sub_ttl_w {
		margin: 0 0 20px 0;
	}

	.con_box {
		flex-direction: column;
	}

	.reverse {
		flex-direction: column-reverse;
	}

		.con_box_img {
			margin: 0 0 20px 0;
			min-width: auto;
			width: 50%;
		}

			.con_box_txt .con_box_header {
				margin-bottom: 20px;
				font: 400 2.4rem/1.5 var(--font_ja);
				font-feature-settings: "palt";
				text-align: center;
			}

	.other_movies_inner ul {
		flex-direction: column;
		align-items: center;
	}

		.other_movies_inner ul li {
			width: 100%;
			margin: 0 0 30px 0;
		}

		.other_movies_inner ul li:last-child {
			margin: 0;
		}



	.box_3part {
		flex-direction: column;
	}

		.box_3part li {
			width: auto;
			align-items: center;
		}

			.box_3part li .na_ill {
				max-width: 320px;
			}

			.box_3part li h3 {
				font: 600 2.4rem/1.5 var(--font_ja);
				min-height: auto;
			}

			.box_3part li ul {
				min-height: auto;
				width: auto;
				min-width: 320px;
			}

			.box_3part li p {
				width: auto;
			}

	.inner_p {
		width: 90%;
		max-width: auto;
		padding: 0 0 80px 0;
	}

	.profile_box {
		flex-direction: column-reverse;
	}

		.profile_box_l {
			width: 100%;
		}

		.profile_box_r {
			width: 100%;
			margin-bottom: 40px;
			display: flex;
			flex-direction: column;
		}

		.profile_box_r .profile_ph {
			width: 80%;
			margin: 0 auto 10px auto;
			max-width: 320px;
		}

	.sp_btn {
		display: inherit;
	}

	.pc_btn {
		display: none;
	}

	.profile_box_l p {
		margin: 20px 0 0 0;
		padding: 20px 0 10px 0;
		border-top: 1px dotted #CCC;
		text-align: center;
	}

	#ttl_image_w {
		padding: 0 0 50px 0;
	}

	.c_ph {
		width: 70%;
		margin: 0 auto 20px auto;
		max-width: 320px;
	}

	.c_txt {
		width: 70%;
		margin: 0 auto;
	}

	.message_bg:before {
		width: 50%;
		height: 75%;
	}

	.message_bg .inner {
		padding-bottom: 40px;
	}

	#ttl_image_w .page_ttl_en {
		width: 100%;
	}

	#contact_box .form_container .form_radio {
		flex-direction: column;
	}

		#contact_box .form_container .form_radio span {
			width: 100%;
		}

























	.img_half {
		width: 100%;
		margin: 0 0 30px 0
	}

	.txt_half {
		width: 106%;
	}


	.mp_tab_p {
		text-align: center;
	}

	.pc_only {
		display: none;
	}

	.tab_only {
		display: inline;
	}

	.sp_only {
		display: none;
	}

	.pc_tab_only {
		display: inherit;
	}

	.sp_tab_only {
		display: inherit;
	}















































}

}