@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

html {
	height: 100%;
	font-size: 62.5%;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-font-smoothing: antialiased;
	height: 100%;
	line-height: 2em;
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
	font-weight: 500;
	color: #000000;
}

h1, h2, h3, h4 {
	margin: 0;
	transform: rotate(0.05deg);
}

ul {
	display: block;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

figure {
	margin: 0;
}

p {
	line-height: 2em;
	transform: rotate(0.05deg);
}

a {
	transform: rotate(0.05deg);
}

a:focus,
*:focus {
	outline: none;
}

.wrap {
	max-width: 1250px;
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}

.page_contents {
	padding: 120px 0 20px 0;
}

a[target="_blank"]::after {
	font-family: "Font Awesome 5 Free";
	content: "\f08e";
	margin: 0 0 0 0.2em;
	font-weight: 900;
	color: #05AEE5;
}

a.map_link[target="_blank"]::after,
a.content_link[target="_blank"]::after {
	content: "";
}

i.fa-arrow-up-right-from-square {
	color: #05AEE5;
}

.split_outer {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

ul.list_disc {
	list-style-type: disc;
	padding: 0 0 0 1.5em;
}

.page_text {
	margin: 10px auto 0 auto;
}

span.cr {
	display: block;
}

/* --------------------------------
   HEADER
-------------------------------- */
.header {
	width: 100%;
	background: #ffffff;
	position: fixed;
	right: 0;
	left: 0;
	z-index: 9999;
	box-shadow: 0 1px 15px 3px rgba(0, 0, 0, 0.3);
}

#inner-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 0 0 10px;
	margin: 0 auto;
}

a.header_logo {
	display: block;
	min-width: 316px;
}

/* --------------------------------
   NAVIGATION
-------------------------------- */
#nav_outer {
	width: 100%;
}

ul.main_nav {
	display: flex;
	justify-content: flex-end;
	column-gap: 7%;
	margin: 0 auto;
}

ul.main_nav li {
	position: relative;
	text-align: center;
}

ul.main_nav li a,
ul.main_nav li a:hover,
ul.main_nav li a:focus {
	display: flex;
	justify-content: center;
		align-items: center;
	height: 70px;
}

ul.main_nav > li:last-child a {
	min-width: 214px;
	justify-content: center;
	background: linear-gradient(to right, #003895, #06AEE5);
	color: #ffffff;
}

ul.main_nav li:last-child a i {
	margin: 2px 5px 0 0;
	font-size: 2.2rem;
}


ul.main_nav li ul {
	position: absolute;
	top: 100%;
	left: 0;
	margin: 0;
	padding: 0;
	transform: translateX(-38%);
}

ul.main_nav li ul li {
	overflow: hidden;
	width: 260px;
	height: 0;
	color: #3E3E3E;
	transition: .2s;
	text-align: center;
}

ul.main_nav li ul li a,
ul.main_nav li ul li a:hover,
ul.main_nav li ul li a:focus {
	padding: 14px 20px;
	background: rgba(255, 255, 255, 0.9);
	color: #3E3E3E;
}

ul.main_nav li ul li a:hover,
ul.main_nav li ul li a:focus {
	background: rgba(6, 174, 229, 0.8);
	color: #ffffff;
}

ul.main_nav li ul li:hover > a {
	padding: 14px 20px;
}

ul.main_nav li:hover ul li {
	overflow: visible;
	height: 70px;
	border-top: none;
}

button#rmp_menu_trigger-373 {
	background: url("../images/mobile_menu_back.svg") center center / cover no-repeat !important;
}

/* --------------------------------
   SLIDER
-------------------------------- */
section#slider {
	padding: 0 !important;
}

/* --------------------------------
   FOOTER
-------------------------------- */
section#contact {
	margin: 100px auto 0 auto;
	padding: 160px 0;
	background: url("../images/footer_contact_back.jpg") center center / cover no-repeat;
}

section#contact .wrap {
	max-width: 1140px;
}

div.contact_outer {
	padding: 50px 20px;
	justify-content: center;
	background: #003892;
	color: #ffffff;
}

div.contact_outer div.split_left {
	width: calc(345 / 1060 * 100%);
	padding: 0 8% 0 0;
}

div.contact_outer div.split_right {
	display: flex;
	flex-wrap: wrap;
	row-gap: 20px;
	width: calc(520 / 1060 * 100%);
}

p.footer_contact_text {
	margin: 30px auto 0 auto;
}


a.contact_link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 20px;
	border: 1px solid #ffffff;
	font-size: 2.2rem;
	font-weight: 700;
	color: #ffffff;
	transition: .5s;
}

a.contact_link:hover,
a.contact_link:focus {
	border: 1px solid #ffffff;
	background: #ffffff;
	color: #003892;
}

a.contact_link i {
	margin: 0 10px 0 0;
}

a.contact_phone {
	font-family: 'Poppins', sans-serif;
	font-style: italic;
}

footer.footer {
	border-top: 10px solid #003892;
}

footer.footer .wrap {
	max-width: 1340px;
}


div.footer_link_outer {
	display: flex;
	justify-content: space-between;
	padding: 100px 0 0 0;
}

div.footer_address_outer {
	max-width: 283px;
	min-width: 283px;
}

p.footer_address {
	margin: 10px auto 0 auto;
	padding: 0 0 0 50px;
	font-size: 1.4rem;
}

div.footer_menu_outer {
	display: flex;
	justify-content: right;
	column-gap: 8%;
	width: 100%;
}

ul.footer_menu li.footer_menu_head {
	margin: 0 0 15px 0;
	font-weight: 700;
}

ul.footer_menu li.footer_menu_sub {
	margin: 0 0 5px 0;
	font-size: 1.4rem;
}

ul.footer_menu li.footer_menu_mini {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 400;
}

div.footer_copyright {
	padding: 200px 0 50px 0;
	font-size: 1rem;
}

/* --------------------------------
   SIDEBAR
-------------------------------- */


/* --------------------------------
   WIDGETS
-------------------------------- */


/* --------------------------------
   BLOG
-------------------------------- */
main.blog_content .wrap {
	padding: 100px 20px 0 20px;
}

article.blog_single {
	margin: 0 auto 100px auto;
	padding: 50px 50px 100px 50px;
	border: 1px solid #000000;
}

p.blog_date {
	font-family: 'Poppins', sans-serif;
	font-size: 1.4rem;
}

h3.blog_title,
h3.blog_title a,
h3.blog_title a:hover,
h3.blog_title a:focus {
	line-height: 1.8em;
	margin: 10px auto 0 auto;
	font-size: 2.6rem;
	color: #003892;
}

section.blog_data {
	margin: 50px auto 0 auto;
}

main.blog_content a,
main.blog_content a:hover,
main.blog_content a:focus {
	font-weight: 700;
	color: #05AEE5;
}

/* --------------------------------
   PAGE NAVI
-------------------------------- */
div.pagination_outer {
	margin: 80px auto 0 auto;
}

div.wp-pagenavi {
	display: flex;
	justify-content: center;
	align-items: center;
}

div.wp-pagenavi span.current {
	display: block;
	width: 50px;
	height: 50px;
	margin: 0 1%;
	padding: 7px 5px 5px 5px;
	background: #003892;
	color: #ffffff;
	font-size: 20pt;
	text-align: center;
}

div.wp-pagenavi a {
	display: block;
	width: 50px;
	height: 50px;
	margin: 0 1%;
	padding: 7px 5px 5px 5px;
	font-size: 20pt;
	text-align: center;
}

div.wp-pagenavi a:hover {
	background: #003892;
	color: #ffffff;
}

div.work_list_single_pager {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin: 100px auto 0 auto;
}

div.work_list_single_pager div.prev a,
div.work_list_single_pager div.next a {
	display: block;
	min-width: 110px;
	width: 100%;
	padding: 10px;
	text-align: center;
	background: #003892;
	color: #ffffff;
	border-radius: 5px;
}

div.work_list_single_pager_title {
	padding: 0 20px;
}


/* --------------------------------
   TOP
-------------------------------- */
h1.content_title {
	line-height: 1em;
	font-size: 4.8rem;
	font-family: 'Poppins', sans-serif;
	font-style: italic;
	font-weight: 700;
	color: #003892;
}

h1.content_title::first-letter {
	color: #05AEE5;
}

h1.content_title span.content_title_caption {
	display: block;
	line-height: 1em;
	margin: 20px 0 0 0;
	font-size: 1.8rem;
	font-style: normal;
	font-weight: 700;
	color: #000000;
}

h1.content_title_reverse {
	color: #ffffff;
}

h1.content_title_reverse span.content_title_caption {
	color: #ffffff;
}

a.content_link {
	position: relative;
	display: block;
	max-width: 180px;
	width: 100%;
	margin: 20px 0 0 0;
	padding: 5px 10px;
	border: 1px solid #003892;
	color: #003892;
	text-align: center;
	transition: .5s;
}

a.content_link:hover,
a.content_link:focus {
	background: #003892;
	color: #ffffff;
}

a.content_link::after {
	position: absolute;
	right: 0;
	top: 50%;
	content: '';
	width: 23px;
	border-bottom: 1px solid #003892;
	transition: .5s;
}

a.content_link:hover::after,
a.content_link:focus::after {
	border-bottom: 1px solid #ffffff;
}

a.content_link_transparent {
	background: transparent;
	border: 1px solid #ffffff;
	color: #ffffff;
}

a.content_link_transparent:hover,
a.content_link_transparent:focus {
	background: #ffffff;
	color: #003892;
}

a.content_link_transparent::after,
a.content_link_reverse::after {
	border-bottom: 1px solid #ffffff;
}

a.content_link_transparent:hover::after,
a.content_link_reverse:hover::after {
	border-bottom: 1px solid #003892;
}

a.content_link_reverse {
	background: #003892;
	border: 1px solid #003892;
	color: #ffffff;
}

a.content_link_reverse:hover,
a.content_link_reverse:focus {
	background: #ffffff;
	border: 1px solid #ffffff;
	color: #003892;
}

p.top_content_text {
	margin: 20px auto 0 auto;
}

main.top_page section {
	padding: 100px 0;
}

section#news .wrap,
section#about_us .wrap,
section#recruit .wrap {
	max-width: 1140px;
}

div.top_news_outer {
	flex-wrap: nowrap;
}

div.top_news_outer div.split_left {
	width: calc(200 / 1100 * 100%);
	min-width: 200px;
	padding: 0 20px 0 0;
}

div.top_news_outer div.split_right {
	width: calc(810 / 1100 * 100%);
}

a.news_list_inner {
	flex-wrap: nowrap;
}

div.news_list_date {
	font-family: 'Poppins', sans-serif;
	display: flex;
	align-items: center;
	min-width: 108px;
	margin: 0 15px 0 0;
	padding: 20px 10px;
	border-bottom: 1px solid #000000;
	font-size: 1.4rem;
}

div.news_list_title {
	width: 100%;
	padding: 20px;
	border-bottom: 1px solid #000000;
}

div.top_news_outer a.news_list_inner:first-child div {
	border-top: 1px solid #000000;
}

section#about_us {
	background: url("../images/top/top_about_back.svg") center center / cover no-repeat;
}

div.about_us_outer {
	align-items: center;
	color: #ffffff;
}

div.about_us_outer div.split_left {
	width: calc(415 / 1100 * 100%);
	padding: 0 20px 0 0;
}

div.about_us_outer div.split_left a.content_link {
	margin: 40px 0 0 0;
}

div.about_us_outer div.split_right {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: calc(635 / 1100 * 100%);
}

div.about_image_left {
	width: calc(345 / 635 * 100%);
}

div.about_image_right {
	width: calc(230 / 635 * 100%);
}

figure.top_about_p02 {
	margin: 40px 0 0 0;
	text-align: right;
}

div.horizontal_title_outer {
	flex-wrap: nowrap;
	align-items: center;
	max-width: 865px;
}

div.horizontal_title_outer h1.content_title {
	min-width: 240px;
	padding: 0 20px 0 0;
}

div.horizontal_title_outer p.content_text {
	max-width: 520px;
	width: 100%;
	margin: 0;
}

div.carousel_slider_outer {
	width: 100%;
	margin: 50px auto 0 auto;
	overflow: hidden;
}

div.carousel_slider_inner {
	display: flex;
	max-width: 405px;
	width: 100%;
	margin: 0 50px;
	padding: 200px 20px;
	aspect-ratio: 405 / 560;
	text-align: center;
	color: #ffffff;
}

div.domain_electrical {
	background: url("../images/top/top_service_p01.jpg") center center / cover no-repeat rgba(0, 56, 146, 0.5);
	background-blend-mode: darken;
}

div.domain_telecommunications {
	background: url("../images/top/top_service_p02.jpg") center center / cover no-repeat rgba(0, 56, 146, 0.5);
	background-blend-mode: darken;
}

div.domain_air_conditioning {
	background: url("../images/top/top_service_p03.jpg") center center / cover no-repeat rgba(0, 56, 146, 0.5);
	background-blend-mode: darken;
}

div.domain_solar_power {
	background: url("../images/top/top_service_p04.jpg") center center / cover no-repeat rgba(0, 56, 146, 0.5);
	background-blend-mode: darken;
}

figure.icon_lightning img {
	margin: 0 auto;
}

h3.domain_link_title {
	margin: 20px auto 0 auto;
	font-size: 2.6rem;
}

div.carousel_slider_inner a.content_link {
	margin: 85px auto 0 auto;
}

section#recruit {
	background: url("../images/top/top_recruit_back.jpg") center center / cover no-repeat;
}

div.recruit_outer {
	max-width: 750px;
}

div.recruit_outer div.split_left {
	min-width: 235px;
	width: calc(393 / 750 * 100%);
	padding: 0 20px 0 0;
}

div.recruit_outer div.split_right {
	width: calc(286 / 750 * 100%);
}

div.recruit_outer div.split_right a {
	max-width: unset;
	padding: 15px;
	font-size: 1.8rem;
}

div.group_widget_outer {
	justify-content: flex-start;
	gap: 50px calc(106 / 1100 * 100%);
	max-width: 1100px;
	margin: 50px auto 0 auto;
}

div.group_widget {
	width: calc(296 / 1100 * 100%);
}

div.group_widget a::after {
	content: "";
}

/* --------------------------------
   PAGE
-------------------------------- */
article.page_contents .wrap {
	max-width: 1140px;
	margin: 0 auto;
}

article.page_contents h1.content_title {
	font-size: 6rem;
}

article.page_contents h1.content_title span.content_title_caption {
	font-size: 2rem;
}

header.page_header {
	background: url("../images/page_header_back.svg") center center / cover no-repeat;
}

div.page_header_wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 90px 20px;
}

/* company */
section#profile {
	padding: 0 0 100px 0;
}

div.company_profile_outer {
	margin: 100px auto 0 auto;
}

div.company_profile_inner {
	flex-wrap: nowrap;
	justify-content: flex-start;
	column-gap: 30px;
}

div.company_profile_inner div.split_left {
	min-width: 150px;
}

div.company_profile_inner div.split_right {

	width: 100%;
}

div.company_profile_inner div.split_left,
div.company_profile_inner div.split_right {
	padding: 10px;
	border-bottom: 1px solid #000000;
}

div.company_profile_outer > div.company_profile_inner:first-child div.split_left,
div.company_profile_outer > div.company_profile_inner:first-child div.split_right {
	border-top: 1px solid #000000;
}

a.map_link,
a.map_link:hover,
a.map_link:focus {
	color: #05AEE5;
}

section#greeting {
	padding: 100px 0;
	background: url("../images/company/company_greeting_back.svg") center center / cover no-repeat;
}

div.greeting_outer {
	flex-wrap: nowrap;
	color: #ffffff;
}

div.greeting_outer div.split_left,
div.greeting_outer div.split_right {
	width: calc(520 / 1100 * 100%);
}

div.greeting_outer div.split_left h1.content_title {
	margin: 0 auto 40px auto;
}

p.greeting_sign {
	margin: 1em auto 0 auto;
	text-align: right;
}

section#qualification {
	padding: 100px 0 0 0;
}

div.company_qualification_outer {
	margin: 100px auto 0 auto;
}

div.company_qualification_inner {
	width: calc(520 / 1100 * 100%);
	border-top: 1px solid #000000;
}

div.company_qualification_list {
	flex-wrap: nowrap;
	align-items: center;
	padding: 10px;
	border-bottom: 1px solid #000000;
}

div.company_qualification_list div.split_right {
	min-width: 60px;
	padding: 0 0 0 10px;
	text-align: right;
}

div.qualification_belt {
	height: 360px;
	margin: 100px auto 0 auto;
	background: url("../images/company/qualification_belt_back.jpg") center center / cover no-repeat;
}

section#philosophy {
	padding: 100px 0 0 0;
}

div.company_philosophy,
div.company_quality {
	margin: 50px auto 0 auto;
	padding: 70px 20px;
	background: #F4F4F4;
}

div.company_philosophy_inner,
div.company_quality_inner {
	max-width: 860px;
	margin: 0 auto;
}

div.company_philosophy_inner {
	line-height: 1.8em;
	font-size: 4.4rem;
}

section#quality {
	padding: 100px 0 0 0;
}

h2.quality_title {
	font-family: Poppins, sans-serif;
	font-size: 6rem;
	font-weight: 600;
}

h3.quality_sub_title {
	margin: 50px auto 0 auto;
	font-size: 2.6rem;
	color: #003892;
}

div.quality_belt {
	height: 360px;
	margin: 100px auto 0 auto;
	background: url("../images/company/quality_belt_back.jpg") center center / cover no-repeat;
}

section#history {
	padding: 100px 0 0 0;
}

div.company_history_outer {
	margin: 100px auto 0 auto;
	border-top: 1px solid #000000;
}

div.company_history_inner {
	flex-wrap: nowrap;
	justify-content: flex-start;
	border-bottom: 1px solid #000000;
	padding: 10px;
}

div.company_history_inner div.split_left {
	min-width: 170px;
	padding: 0 20px 0 0;
}

div.company_history_inner div.split_right {
	width: 100%;
}

/* financial */
div.financial_data_outer {
	margin: 100px auto 0 auto;
	border-top: 1px solid #000000;
}

div.financial_data_inner {
	flex-wrap: nowrap;
	align-items: center;
	padding: 40px 50px;
	border-bottom: 1px solid #000000;
}

div.financial_data_inner div.split_right {
	min-width: 200px;
	padding: 0 0 0 20px;
}

div.financial_data_inner div.split_right a.content_link {
	margin: 0;
}

/* strength */
div.strength_wrap {
	margin: 100px auto 0 auto;
	padding: 0 0 150px 0;
	position: relative;
}

div.strength_outer {
	max-width: 1920px;
	margin: 0 auto;
}

div.strength_inner {
	position: relative;
	flex-wrap: nowrap;
	max-width: 1500px;
	margin: 0 0 0 auto;
}

div.strength_02 div.strength_inner {
	margin: 0 auto 0 0;
}

div.strength_text {
	width: calc(540 / 1500 * 100%);
}

h2.strength_title {
	line-height: 1.5em;
	font-size: 5.4rem;
	font-weight: 700;
	color: #003892;
}

h2.strength_title::first-letter {
	color: #05AEE5;
}

div.strength_text p.page_text {
	max-width: 520px;
	margin: 20px 0 0 0;
	font-size: 1.8rem;
}

div.strength_image {
	width: calc(873 / 1500 * 100%);
}

div.strength_01::before,
div.strength_03::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: 100px;
	left: 0;
	width: 39.5%;
	height: 82%;
	background: url("../images/business/business_num_01.svg") bottom 20px right 40px no-repeat #D9F3FB;
}

div.strength_02::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: 100px;
	right: 0;
	width: 39.5%;
	height: 82%;
	background: url("../images/business/business_num_02.svg") bottom 20px left 40px no-repeat #D9F3FB;
}

div.strength_03::before {
	background: url("../images/business/business_num_03.svg") bottom 20px right 40px no-repeat #D9F3FB;
}

/* domain */
div.domain_outer {
	padding: 100px 0 0 0;
}

h2.domain_title,
h2.job_type_title {
	margin: 50px auto 0 auto;
	font-size: 5rem;
	color: #003892;
}

h2.domain_title::first-letter,
h2.job_type_title::first-letter {
	color: #05AEE5;
}

p.domain_title_caption,
p.job_type_title_en {
	margin: 20px auto 0 auto;
	font-family: Poppins, sans-serif;
	font-style: italic;
	font-size: 1.8rem;
	font-weight: 700;
}

div.domain_list_outer {
	margin: 50px auto 0 auto;
}

div.domain_list_inner {
	flex-wrap: nowrap;
	justify-content: flex-start;
	column-gap: 20px;
	font-size: 1.8rem;
}

div.domain_list_outer div.domain_list_inner:nth-child(odd) div {
	background: #D9F3FB;
}

div.domain_list_outer > div.domain_list_inner:first-child div {
	border-top: 1px solid #000000;
}


div.domain_list_inner div.domain_list_title {
	min-width: 330px;
	padding: 10px;
	border-bottom: 1px solid #000000;
}

div.domain_list_inner div.domain_list_text {
	width: calc(750 / 1100 * 100%);
	padding: 10px;
	border-bottom: 1px solid #000000;
}

div.domain_outer a.content_link {
	margin: 30px 0 0 auto;
}

div.domain_description_telecommunications,
div.domain_description_solar_power {
	position: relative;
	padding: 200px 0 0 0;
}

div.domain_description_telecommunications::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: 100px;
	right: 0;
	width: 60%;
	height: 465px;
	background: #D9F3FB;
}

div.domain_description_solar_power::before {
	position: absolute;
	z-index: -1;
	content: "";
	top: 100px;
	left: 0;
	width: 60%;
	height: 465px;
	background: #D9F3FB;
}

div.view_solar_power_list {
	padding: 0 !important;
}

div.solar_power_list_inner {
	padding: 10px;
	border-top: 1px dotted #000000;
}

div.view_solar_power_list div.solar_power_list_inner:first-child{
	border: unset;
}

/* achievement */
div.achievement_slider_outer {
	margin: 100px auto 0 auto;
	padding: 100px 0;
	background: #D9F3FB;
}

div.achievement_anchor_outer {
	flex-wrap: wrap;
	max-width: 1050px;
	margin: 50px auto 0 auto;
}

div.achievement_anchor_outer a.content_link {
	max-width: 520px;
	width: calc(520 / 1050 * 100%);
	padding: 15px;
	background: #ffffff;
	font-size: 2.2rem;
	color: #003892;
}

div.achievement_anchor_outer a.content_link:hover,
div.achievement_anchor_outer a.content_link:focus {
	background: #003892;
	color: #ffffff;
}

h2.achievement_list_title {
	margin: 0 auto 0 auto;
	padding: 100px 0 0 0;
	font-size: 2.6rem;
}

div.achievement_list_wrap {
	margin: 30px auto 0 auto;
}

div.achievement_list_outer {
	flex-wrap: nowrap;
	justify-content: flex-start;
	column-gap: 20px;
}

div.achievement_list_outer div.split_left {
	width: 100%;
	padding: 10px;
	border-bottom: 1px solid #000000;
}

div.achievement_list_outer div.split_right {
	min-width: 275px;
	padding: 10px;
	border-bottom: 1px solid #000000;
	text-align: center;
}

div.achievement_list_title div {
	border-top: 1px solid #000000;
}

div.achievement_list_wrap div.achievement_list_outer:nth-child(even) div {
	background: #D9F3FB;
}

/* recruit */
div.job_type_content {
	margin: 100px auto 0 auto;
}

div.job_type_outer {
	padding: 100px 0;
	background: #F4F4F4;
}

div.job_type_content div.job_type_outer:nth-child(odd) {
	background: #D9F4FB;
}

h2.job_type_title {
	margin: 0 auto;
}

p.job_type_name {
	margin: 20px auto 0 auto;
	font-size: 3.6rem;
	font-weight: 700;
}

div.job_type_label_data {
	justify-content: flex-start;
	gap: 20px;
	margin: 20px auto 0 auto;
}

span.job_type_label {
	display: inline-block;
	line-height: 1em;
	padding: 10px 30px;
	border-radius: 50px;
	background: #003892;
	color: #ffffff;
}

p.job_type_qualifications {
	margin: 20px auto 0 auto;
	font-size: 1.8rem;
}

div.job_type_faq_inner {
	margin: 50px auto 0 auto;
}


div.job_type_faq_q {
	justify-content: flex-start;
	border: 1px solid #05AEE5;
	background: #ffffff;
}

p.job_type_faq_q_icon,
p.job_type_faq_a_icon {
	font-family: Poppins, sans-serif;
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 60px;
	line-height: 1em;
	padding: 10px 15px;
	background: #05AEE5;
	font-size: 2.6rem;
	font-weight: 700;
	color: #ffffff;
}

p.job_type_faq_q_text {
	display: flex;
	align-items: center;
	padding: 10px 20px;
	font-size: 1.8rem;
}

div.job_type_faq_a {
	flex-wrap: nowrap;
	margin: 20px auto 0 auto;
}

p.job_type_faq_a_icon {
	align-items: flex-start;
	background: transparent;
	color: #000000;
}

p.job_type_faq_a_text {
	width: 100%;
	padding: 0 20px;
	font-size: 1.8rem;
}

div.job_type_flow_outer {
	margin: 100px auto 0 auto;
	padding: 100px 20px;
	background: #ffffff;
}

div.job_type_flow_inner {
	max-width: 860px;
	margin: 0 auto;
}

h3.job_type_flow_title {
	font-size: 2.6rem;
}

div.job_type_flow_description_outer {
	margin: 50px auto 0 auto;
}

div.job_type_flow_description {
	flex-wrap: nowrap;
	justify-content: flex-start;
	column-gap: 70px;
}

div.job_type_flow_description_outer > div.job_type_flow_description:first-child div {
	border-top: 1px solid #000000;
}

div.job_type_flow_description div.split_left {
	min-width: 200px;
	padding: 20px 10px;
	border-bottom: 1px solid #000000;
	font-size: 1.8rem;
}

p.job_type_flow_time {
	font-size: 1.8rem;
}

p.job_type_flow_time::before {
	font-family: "Font Awesome 5 Free";
	content: "\f017";
	margin: 0 0.2em 0 0;
	font-weight: 500;
	color: #05AEE5;
}


div.job_type_flow_description div.split_right {
	width: 100%;
	padding: 20px 10px;
	border-bottom: 1px solid #000000;
}

h3.job_type_flow_text_title {
	font-size: 2rem;
}

div.job_type_flow_description p.page_text {
	font-size: 1.8rem;
}

/* faq */
div.faq_outer {
	margin: 100px auto 0 auto;
}

div.faq_list_accordion {
	margin: 0 auto 30px auto;
	border: 1px solid #003892;
}

div.detail_option {
	border-radius: 20px;
	background: #ffffff;
}

input.detail_toggle {
	display: none;
}

label.detail_title,
div.detail_content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

label.detail_title {
	display: flex;
	align-items: center;
	column-gap: 30px;
	line-height: 1.5em;
	font-weight: 500;
	cursor: pointer;
}

label.detail_title::before {
	font-family: 'FontAwesome', serif;
	content: '\f055';
	position: absolute;
	right: 40px;
	top: 50%;
	line-height: 1em;
	font-size: 3.6rem;
	color: #003892;
	transform: translateY(-50%);
	transition: all 0.3s;
}

p.faq_q,
p.faq_a {
	font-family: Poppins, serif;
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 80px;
	height: 80px;
	line-height: 1em;
	background: #003892;
	font-size: 4.8rem;
	font-weight: 700;
	color: #ffffff;
}

p.faq_a {
	height: auto;
	background: transparent;
	color: #05AEE5;
}

p.faq_title {
	font-size: 1.8rem;
}

div.detail_content {
	display: flex;
	max-height: 0;
	margin: 0 auto;
	border-radius: 0 0 20px 20px;
	overflow: hidden;
}

hr.detail_content_line {
	max-width: 800px;
	width: calc(800 / 920 * 100%);
	margin: 0 auto 0 auto;
}

div.detail_content_inner {
	width: 100%;
	padding: 30px 120px 30px 30px;
	font-size: 1.8rem;
}

.detail_toggle:checked + label.detail_title + div.detail_content {
	max-height: 5000px;
	transition: all 1.5s;
}

.detail_toggle:checked + .detail_title::before {
	font-family: 'FontAwesome', serif;
	content: '\f00d';
}

div.detail_content_text {
	width: 100%;
}

div.faq_photo_outer {
	justify-content: flex-start;
	gap: 50px;
}

/* application */
main.page_application article.page_contents {
	padding: 0 0 20px 0;
}

div.application_title_outer {
	padding: 100px 0 200px 0;
	background: url("../images/application/application_title_back.jpg") center center / cover no-repeat;
}

div.application_message_outer {
	margin: 100px auto 0 auto;
	max-width: 865px;
	padding: 60px;
	background: rgba(256, 256, 256, 0.8);
}

h2.application_message_title,
h2.application_data_title {
	font-family: 'Poppins', sans-serif;
	font-style: italic;
	font-size: 3.6rem;
	font-weight: 700;
	text-align: center;
	color: #003892;
}

h2.application_message_title::first-letter,
h2.application_data_title::first-letter {
	color: #05AEE5;
}


p.application_message_text {
	margin: 40px auto 0 auto;
	font-size: 1.8rem;
}

div.application_data_wrap {
	padding: 100px 0 0 0;
}

h2.application_data_title {
	font-style: normal;
	margin: 0 auto 100px auto;
}

div.application_data_outer {
	margin: 50px auto 0 auto;
	padding: 60px;
	border: 1px solid #003892;
	font-size: 1.8rem;
}

h3.application_data_type {
	font-size: 2.6rem;
	color: #003892;
}

p.application_data_num {
	margin: 20px auto 0 auto;
}

div.application_data_inner {
	gap: 20px;
	margin: 20px auto 0 auto;
}

div.application_data_inner div.split_right {
	min-width: 180px;
}

div.application_data_inner div.split_right a.content_link {
	min-width: 180px;
	margin: 0;
}

div.application_data_not_found {
	padding: 100px 60px;
}

div.application_data_not_found div.application_data_inner {
	align-items: center;
}

/* contact */
div.contact_header {
	max-width: 865px;
	margin: 0 auto;
	font-size: 1.8rem;
}

div.contact_tel_outer {
	justify-content: center;
	align-items: center;
	gap: 30px 15px;
	max-width: 690px;
	margin: 100px auto 0 auto;
	padding: 30px 20px;
	border: 1px solid #003892;
}

a.tel_link,
a.tel_link:hover,
a.tel_link:focus {
	font-family: Poppins, sans-serif;
	display: block;
	font-size: 3.6rem;
	font-weight: 700;
	color: #003892;
}

div.contact_form_outer {
	margin: 70px auto 0 auto;
	padding: 80px 20px;
	background: #D9F4FB;
}

div.contact_form_inner {
	max-width: 780px;
	margin: 0 auto;
}

div.contact_input_outer {
	margin: 0 auto 35px auto;
}


h3.contact_input_title {
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	margin: 0 auto 10px auto;
	font-size: 1.8rem;
	font-weight: 500;
}

h3.contact_input_title span.required {
	display: inline-block;
	line-height: 1em;
	margin: 0 0 0 10px;
	padding: 5px 8px;
	border-radius: 3px;
	background: #003892;
	font-size: 1.2rem;
	color: #ffffff;
}

div.contact_form_inner input::placeholder,
div.contact_form_inner textarea::placeholder {
	opacity: 0.2;
}

div.contact_form_inner input[type="text"],
div.contact_form_inner input[type="email"],
div.contact_form_inner textarea {
	border-radius: unset;
	border: 1px solid #000000;
	background: #ffffff;
}

div.contact_form_inner textarea {
	min-height: 20em;
	padding: 12px;
}

div.contact_form_inner input[type="radio"] {
/*
	transform: scale(1.5);
 */
}

div.contact_form_inner input[type="checkbox"] {
/*
	transform: scale(2.5);
 */
}

.mw_wp_form input[type="file"] {
	width: 60%;
}

.mwform-file-delete {
	cursor: pointer;
	visibility: hidden;
}

.mw_wp_form input::file-selector-button {
	max-width: 280px;
	width: 100%;
	margin: 0 20px 0 0;
	padding: 10px;
	border-radius: 3px;
	border: 1px solid #000000;
}

p.contact_check_text {
	font-size: 1.8rem;
	text-align: center;
}

div.contact_check_outer {
	margin: 20px auto 0 auto;
	text-align: center;
}

.mwform-checkbox-field-text {
	margin: 0 0 0 10px;
	font-size: 1.8rem;
	font-weight: 500;
}

div.contact_submit_outer {
	margin: 50px auto 0 auto;
	text-align: center;
	font-size: 1.8rem;
}

div.contact_submit_wrapper,
div.contact_return_wrapper {
	position: relative;
	max-width: 286px;
	width: 100%;
	margin: 50px auto 0 auto;
}

div.contact_submit_wrapper::before,
div.contact_return_wrapper::before {
	position: absolute;
	z-index: 20;
	content: "";
	top: 50%;
	right: 40px;
	width: 20px;
	height: 1px;
	border-color: #003892;
	transition: .5s;
}

div.contact_submit_wrapper::after,
div.contact_return_wrapper::after {
	position: absolute;
	z-index: 20;
	right: 0;
	top: 50%;
	content: '';
	width: 23px;
	border-bottom: 1px solid #003892;
	transition: .5s;
}

.mw_wp_form_input div.contact_return_wrapper::after {
	visibility: hidden;
}

div.contact_submit_wrapper:hover::after,
div.contact_return_wrapper:hover::after {
	border-bottom: 1px solid #ffffff;
}

input.contact_submit,
input.contact_return {
	position: relative;
	z-index: 10;
	width: 100%;
	padding: 20px 10px;
	border: 1px solid #003892;
	background: #ffffff;
	font-weight: 700;
	text-align: center;
	color: #003892;
	cursor: pointer;
	transition: .5s;
}


input.contact_submit:hover,
input.contact_submit:focus,
input.contact_return:hover,
input.contact_return:focus {
	background: #003892;
	color: #ffffff;
}

.mw_wp_form_preview p.contact_attachment_text,
.mw_wp_form_preview p.contact_check_text,
.mw_wp_form_preview h3.contact_input_title span.required,
.mw_wp_form_preview div.contact_header,
.mw_wp_form_input h3.contact_input_hidden {
	display: none;
	visibility: hidden;
}

.mw_wp_form_preview h3.contact_input_hidden {
	display: block;
	visibility: visible;
}

.mw_wp_form_preview div.contact_check_outer {
	margin: 0;
	text-align: left;
}

.mw_wp_form_preview h3.contact_input_title {
	padding: 0 0 10px 0;
	border-bottom: 1px solid #003892;
}

p.contact_complete_title {
	margin: 40px auto 0 auto;
	font-size: 2.6rem;
	font-weight: 700;
	text-align: center;
}

p.contact_complete_text {
	max-width: 600px;
	margin: 40px auto 0 auto;
	font-size: 1.8rem;
	text-align: center;
}

div.contact_complete_outer div.contact_tel_outer {
	max-width: 635px;
}

div.contact_complete_caution {
	max-width: 635px;
	margin: 50px auto 0 auto;
	padding: 30px 55px;
	font-size: 1.8rem;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
}

div.contact_complete_outer a.content_link {
	margin: 100px auto 0 auto;
}

/* privacy */
div.privacy_outer p.privacy_text:first-child {
	margin: 0 auto 40px auto;
}

h3.privacy_title {
	margin: 40px auto 0 auto;
	font-size: 2.2rem;
}

p.privacy_text,
ol.privacy_num_list {
	margin: 1em auto 0 auto;
	font-size: 1.8rem;
}

/* 404 */
figure.not_found {
	text-align: center;
}


/* --------------------------------
   MEDIA QUERY
-------------------------------- */

@media (max-width: 767px) {
	span.cr {
		display: inline;
	}

	a.header_logo {
		min-width: unset;
		width: 70%;
		padding: 11px 0;
	}

	div.top_news_outer {
		flex-wrap: wrap;
		gap: 30px;
	}

	div.top_news_outer div.split_left {
		width: 100%;
		min-width: unset;
		padding: 0;
	}

	div.top_news_outer div.split_left a.content_link {
		margin: 20px auto 0 auto;
	}

	div.top_news_outer div.split_right {
		width: 100%;
	}

		a.news_list_inner {
		flex-wrap: wrap;
	}

	div.news_list_date {
		min-width: unset;
		width: 100%;
		margin: 0;
		padding: 10px 0 0 0;
		border-bottom: unset;
	}

	div.news_list_title {
		width: 100%;
		padding: 0 0 15px 0;
	}

	div.top_news_outer a.news_list_inner:first-child div.news_list_title {
		border-top: unset;
	}

	div.about_us_outer {
		gap: 50px;
	}

	div.about_us_outer div.split_left {
		width: 100%;
		padding: 0;
	}

	div.about_us_outer div.split_right {
		width: 100%;
	}

	div.about_us_outer div.split_left a.content_link {
		margin: 40px auto 0 auto;
	}

	div.horizontal_title_outer {
		flex-wrap: wrap;
		gap: 40px;
	}

	div.carousel_slider_outer {
		padding: 0 20px;
	}

	div.carousel_slider_inner {
		display: block;
		max-width: unset;
		width: 100%;
		margin: 0 0 50px 0;
		padding: 70px 20px;
		aspect-ratio: unset;
		text-align: center;
		color: #ffffff;
	}

	div.recruit_outer div.split_left {
		min-width: unset;
		width: 100%;
		padding: 0;
	}

	div.recruit_outer div.split_right {
		width: 100%;
	}

	div.group_widget {
		width: 100%;
		text-align: center;
	}

	div.contact_outer {
		gap: 40px;
	}

	div.contact_outer div.split_left {
		width: 100%;
		padding: 0;
	}


	div.contact_outer div.split_right {
		width: 100%;
	}

	div.footer_link_outer {
		display: flex;
		flex-wrap: wrap;
		padding: 50px 0 0 0;
	}

	div.footer_address_outer {
		max-width: unset;
		min-width: unset;
		width: 100%;
	}

	div.footer_menu_outer {
		display: none;
		visibility: hidden;
	}

	div.footer_copyright {
		padding: 50px 0;
		text-align: center;
	}

	div.company_profile_inner {
		flex-wrap: wrap;
		column-gap: 30px;
	}

	div.company_profile_outer > div.company_profile_inner:first-child div.split_right {
		border-top: unset;
	}

	div.company_profile_inner div.split_left {
		min-width: unset;
		width: 100%;
		border-bottom: unset;
		padding: 10px 10px 0 10px;
		font-weight: 700;
	}

	div.greeting_outer {
		flex-wrap: wrap-reverse;
		gap: 40px;
	}

	div.greeting_outer div.split_left, div.greeting_outer div.split_right {
		width: 100%;
	}

	article.page_contents h1.content_title {
		font-size: 4.6rem;
	}

	div.company_qualification_inner {
		width: 100%;
		border-top: unset;
	}

	div.company_qualification_outer div.company_qualification_inner:first-child {
		border-top: 1px solid #000000;
	}

	div.company_philosophy, div.company_quality {
		padding: 20px;
	}

	div.company_philosophy_inner {
		line-height: 1.8em;
		font-size: 1.6rem;
	}

	h2.quality_title {
		font-size: 3.5rem;
	}

	div.company_history_inner {
		flex-wrap: wrap;
		justify-content: flex-start;
		border-bottom: 1px solid #000000;
		padding: 10px;
	}

	div.company_history_inner div.split_left {
		min-width: unset;
		width: 100%;
		padding: 0;
	}

	div.financial_data_inner {
		flex-wrap: wrap;
		padding: 20px;
		gap: 30px;
	}

	div.financial_data_inner div.split_right {
		min-width: unset;
		width: 100%;
		padding: 0;
	}

	div.financial_data_inner div.split_left {
		width: 100%;
	}

	div.financial_data_inner div.split_right a.content_link {
		margin: 0 auto;
	}

	div.strength_outer {
		padding: 0 20px;
	}

	div.strength_01 div.strength_inner,
	div.strength_03 div.strength_inner {
		flex-wrap: wrap-reverse;
		gap: 40px;
	}

	div.strength_02 div.strength_inner {
		flex-wrap: wrap;
		gap: 40px;
	}

	div.strength_text,
	div.strength_image {
		width: 100%;
	}

	div.strength_01::before,
	div.strength_02::before,
	div.strength_03::before {
		width: 90%;
		height: 90%;
	}

	div.strength_text p.page_text {
		max-width: unset;
	}

	div.strength_wrap {
		padding: 0 0 250px 0;
	}

	h2.strength_title {
		font-size: 3rem;
	}

	div.achievement_anchor_outer a.content_link {
		max-width: unset;
		width: 100%;
	}

	div.achievement_list_wrap {
		font-size: 1rem;
		line-height: 1.5em;
	}

	div.achievement_list_outer div.split_left {
		padding: 10px 5px;
	}

	div.achievement_list_outer div.split_right {
		min-width: 100px;
		padding: 10px 5px;
	}

	h2.domain_title, h2.job_type_title {
		margin: 50px auto 0 auto;
		font-size: 3rem;
		color: #003892;
	}

	p.domain_title_caption, p.job_type_title_en {
		margin: 10px auto 0 auto;
		font-size: 1.2rem;
	}

	p.job_type_name {
		font-size: 2.2rem;
	}

	p.job_type_faq_q_icon,
	p.job_type_faq_a_icon {
		min-width: 40px;
	}

	div.job_type_faq_q {
		flex-wrap: nowrap;
	}

	div.job_type_flow_description {
		flex-wrap: wrap;
	}

	div.job_type_flow_description_outer > div.job_type_flow_description:first-child div.split_right {
		border-top: unset;
	}

	div.job_type_flow_description div.split_left {
		width: 100%;
		padding: 10px 10px 0 10px;
		border-bottom: unset;
	}

	div.job_type_flow_description div.split_right {
		padding: 0 10px 10px 10px;
	}

	div.domain_list_inner {
		flex-wrap: wrap;
		justify-content: flex-start;
		column-gap: 20px;
		width: 100%;
		font-size: 1.8rem;
	}

	div.domain_list_inner div.domain_list_text {
		width: 100%;
		padding: 0 10px 10px 10px;
		border-bottom: 1px solid #000000;
		font-size: 1.6rem;
	}

	div.domain_list_outer > div.domain_list_inner:first-child div.domain_list_text {
		border-top: unset;
	}

	div.domain_list_inner div.domain_list_title {
		width: 100%;
		padding: 10px 10px 0 10px;
		border-bottom: unset;
		font-weight: 700;
	}

	p.faq_title {
		line-height: 1.5em;
		font-size: 1.4rem;
	}

	label.detail_title {
		align-items: center;
		column-gap: 10px;
		padding: 0 40px 0 0;
	}

	p.faq_q, p.faq_a {
		justify-content: center;
		align-items: center;
		min-width: 50px;
		height: 60px;
		font-size: 2.8rem;
	}

	label.detail_title::before {
		right: 10px;
		font-size: 2rem;
	}

	div.detail_content_inner {
		width: 100%;
		padding: 10px 30px 10px 10px;
		font-size: 1.4rem;
	}

	div.application_message_outer {
		padding: 60px 20px;
	}

	div.application_data_outer {
		padding: 60px 20px;
	}

	div.application_data_inner div {
		width: 100%;
	}

	div.contact_tel_outer {
		gap: 0;
	}

	a.tel_link, a.tel_link:hover, a.tel_link:focus {
		width: 100%;
		font-size: 3rem;
		text-align: center;
	}

	p.contact_tel_time {
		width: 100%;
		text-align: center;
	}

	h3.contact_input_title span.required {
		min-width: 32px;
	}

	h3.contact_input_title {
		flex-wrap: wrap;
		font-size: 1.6rem;
	}

	p.contact_check_text {
		font-size: 1.6rem;
		text-align: left;
	}

	p.contact_complete_title {
		font-size: 1.8rem;
	}

	div.contact_complete_caution {
		max-width: unset;
		padding: 30px 0;
		font-size: 1.6rem;
	}

	article.blog_single {
		padding: 50px 20px;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	body {
		font-size: 1.3rem;
	}

	a.header_logo {
		min-width: unset;
	}

	ul.main_nav {
		column-gap: 2%;
		margin: 0 auto;
	}

	ul.main_nav li:last-child a {
		padding: 0 20px;
		min-width: unset;
	}

	div.footer_address_outer {
		max-width: 230px;
		min-width: 230px;
	}

	div.footer_menu_outer {
		column-gap: 20px;
	}

	div.contact_outer div.split_left {
		width: calc(400 / 1060 * 100%);
		padding: 0 8% 0 0;
	}

	div.company_philosophy_inner {
		font-size: 3.8rem;
	}

	div.strength_outer {
		padding: 0 20px;
	}

	div.strength_01 div.strength_inner,
	div.strength_03 div.strength_inner {
		flex-wrap: wrap-reverse;
		gap: 40px;
	}

	div.strength_02 div.strength_inner {
		flex-wrap: wrap;
		gap: 40px;
	}

	div.strength_text,
	div.strength_image {
		width: 100%;
	}

	div.strength_01::before,
	div.strength_02::before,
	div.strength_03::before {
		width: 90%;
		height: 90%;
	}

	div.strength_text p.page_text {
		max-width: unset;
	}

	div.strength_wrap {
		padding: 0 0 250px 0;
	}
}

@media (min-width: 1024px) {

}

@media (min-width: 1921px) {

}