/* mainVisual area */
.mainVisuals {
	position: relative;
}

.mainVisuals img {
	height: 100vh;
	width: 100vw;
}

video {
	min-height: 100vh;
	min-width: 100vw;
	position: relative;
	z-index: -1;
}

@media (aspect-ratio: 16/9),
(min-aspect-ratio: 16/9) {
	video {
		top: 50%;
		transform: translateY(-50%);
		width: 100%;
	}
}

@media (max-aspect-ratio: 16/9) {
	video {
		height: 100%;
		left: 50%;
		transform: translateX(-50%);
	}
}

.videowrap {
	height: 100vh;
	overflow: hidden;
	overflow: hidden;

/* width: 100vw; */
	padding-top: 70px
;
	position: relative;
	position: relative;
	;
}

.videowrap::after {
	background-color: rgba(0, 0, 0, 0.2);
	background-image: radial-gradient(#333333 20%, transparent 0), radial-gradient(#333333 20%, transparent 0);
	background-position: 0 0, 5px 5px;
	background-size: 3px 3px;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.copy_area {
	box-sizing: border-box;
	left: 0;
	overflow: hidden;
	padding-left: 30px;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	width: 100%;
}

.copy_area p {
	font-weight: 200 !important;
	margin-top: -5px;
}

@media(max-width:1366px) {
	.copy_area p {
		margin-top: -6px;
	}
}

.copy_squere_top {
	align-items: center;
	color: white;
	display: flex;
}

.copy_squere_top li {
	align-items: center;
	border: 1px solid #ffffff;
	color: white;
	display: flex;
	font-size: 4.114583333vw;
	height: 5.677083333vw;
	justify-content: center;
	width: 5.677083333vw;
}

.copy_squere_top li.copy_squere_top_text_bg {
	background: white;
	color: #2B2B2B;
}


.copy_squere_middle {
	align-items: center;
	color: white;
	display: flex;
	margin-left: 5.677083333vw;
}

.copy_squere_middle li {
	align-items: center;
	border: 1px solid #ffffff;
	color: white;
	display: flex;
	font-size: 4.114583333vw;
	height: 5.677083333vw;
	justify-content: center;
	margin-top: -1px;
	width: 5.677083333vw;
}

.copy_squere_middle li.copy_squere_top_text_bg {
	background: white;
	color: #2B2B2B;
}

.copy_squere_bottom {
	align-items: center;
	color: white;
	display: flex;
	margin-left: 11.35416666vw;
}

.copy_squere_bottom li {
	align-items: center;
	border: 1px solid #ffffff;
	color: white;
	display: flex;
	font-size: 4.114583333vw;
	height: 5.677083333vw;
	justify-content: center;
	margin-top: -0.5px;
	width: 5.677083333vw;
}

.copy_squere_bottom li.copy_squere_top_text_bg {
	background: white;
	color: #2B2B2B;
}

.caption {
	font-size: 1.354166666vw;
	font-weight: 200;
	margin-left: 45px;
}

.txt_no2 {
	margin-left: -1px;
}

.txt_no3 {
	margin-left: -1px;
}

.txt_no4 {
	margin-left: -1px;
}

/* Contents Area */

.contents_all {
	margin: 60px auto;
}

.features_wrap {
	display: flex;
	justify-content: space-between;
	width: 100%;
}

.only_width_area {
	margin-left: 211px;
	margin-right: 30px;
}

.features_wrap .inner {
	position: relative;
}



.features h4 {
	margin: 30px auto;
}

.left_image {
	justify-content: left;
	margin-right: auto;
	margin-top: 60px;
}

.left_image img {
	display: block;
	width: 44.89583333vw;
}

.right_image img {
	display: block;
	width: 33.95833333vw;
}

.business {
	background-image: url(../img/top/top_05.png);
	background-position: center left;
	background-repeat: no-repeat;
	background-size: contain;
	display: flex;
	height: 708px;
	justify-content: space-between;
	margin-right: auto;
}

.business img {
	border: 0;
	font-size: 0;
	height: 100vh;
	height: 100%;
	justify-content: space-between;
	max-width: 57.29166666vw;
}

.business_visual_slide_image {
	height: 100%;
	width: 100%;
}

.business_panel {
	align-items: center;
	background: #004EA2;
	color: white;
	display: flex;
	justify-content: center;
	max-width: 820px;

/* width: 41.82291666vw; */
	text-align: center;
	width: 100vw;
}

.panel_business_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 30px 0 30px 0;
}

.panel_business_list li {
	border: 1px solid white;
	margin-bottom: 30px;
	margin-right: 30px;
	width: 45%;
}

.panel_business_list li a {
	color: white;
	display: block;
	padding: 13px 0;
	transition: 0.45s;
}

.panel_business_list li a:hover {
	background: white;
	color: #004EA2;
}

.panel_business_list li:nth-child(2n) {
	margin-right: 0;
}

.panel_business_list li:nth-child(4n) {
	margin-right: 0;
}

.panel_inner {
	padding: 20px;
	z-index: 1;
}

.work_lists {
	display: flex;
	justify-content: center;
	margin-left: auto;
	width: 100%;
}

.work_lists li {
	margin: 0 0;
}

.works {
	text-align: center;
}

.works span {
	background: #2B2B2B;
	border-radius: 19px;
	color: white;
	display: block;
	font-size: 14px;
	margin: 0 auto;
	margin-bottom: 60px;
	margin-top: 10px;
	padding: 4px 0;
	width: 87px;
}

.movie_wrap {
	margin: 0 auto;
	max-width: 1120px;
	text-align: center;
	width: 100%;
}

.movie {
	margin: 60px 0 30px 0;
	position: relative;
	text-align: center;
}

.playback {
	display: block;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.playback:hover {
	opacity: 0.8;
	transition: 0.5s;
}


.recruit {
	display: flex;
	margin: 0 auto;
	max-width: 1120px;
}

.recruit_right {
	display: flex;
	margin-left: auto;
}

.news_heading_wrap {
	margin: 0 auto;
	max-width: 1120px;
}

.news_wrap {
	margin: 0 auto;
	margin-top: 30px;
	max-width: 1120px;
}

.news_inner {
	display: flex;
}

.tabmenu {
	background: #004EA2;
	color: #FFFFFF;
	cursor: pointer;
	display: block;
	list-style: none;
	max-width: 211px;
	padding: 10px 0 10px;
	text-align: center;
	width: 100%;
}

.active ,
.hover {
	background: #eeeeee;
	color: #000000;
	font-weight: bold;
}

.tabmenu img:hover {
	-ms-filter: "alpha( opacity=70 )";
	filter: alpha(opacity=70);
	opacity: 0.7;
}

.mr01 {
	margin-right: 1px;
}

.tabcontent {
	height: 100%;
	left: 0;
	margin-top: 5%;
	position: absolute;
	width: 100%;
}

.tabcontent dl {
	border-bottom: dotted 1px #e2e2e2;
	display: flex;
	margin: 0 auto;
	margin-bottom: 15px;
	max-width: 1120px;
}

.tabcontent dl dd {
	margin-right: 30px;
	padding-bottom: 10px;
}

.tab_title {
	font-weight: bold;
	margin-top: 10px;
	padding: 5px 20px 5px;
}




/* ここからフッター共通 */

.infomation_wrap {
	background: #F2F8FE;
	padding: 60px 0;
}

.infomation_list {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1120px;
}

.infomation_list a {
	color: black;
	height: auto;
	width: 100%;
}

.infomation_list a:hover {
	opacity: 0.8;
	transition: 0.45s;
}

.infomation_list li p {
	align-items: center;
	display: flex;
}

.infomation_list li p img {
	margin-right: 10px;
}

.googlemap {
	font-size: 0;
	width: 100%;
}

.googlemap iframe {
	height: 350px;
	width: 100%;
}

footer {
	background: #004EA2;
	color: white;
	font-weight: 300;
	margin-top: -60px;
	padding: 60px 0;
}

footer a {
	color: white;
	text-decoration: none;
}

.footer_inner {
	display: flex;
	margin: 0 auto;
	max-width: 1120px;
}

.footer_left {
	max-width: 350px;
}

.infomation {
	margin-top: 0;
}

.infomation a {
	display: inline-block;
	margin-right: 0;
}

.footer_right {
	display: flex;
	flex-direction: row;
	margin-left: auto;
}

.footer_right ul {
	margin-right: 60px;
}

.footer_right ul:last-child {
	margin-right: 0;
}

.footer_right ul li {
	margin-bottom: 20px;
}

.footer_right a {
	font-weight: 200;
	line-height: 1;
}

.news_text_area {
	margin: 0 auto;
	margin-bottom: 60px;
	max-width: 1120px;
}

.news_container {
	border: 1px solid #dddddd;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	max-width: 1120px;
}

.tab_label {
	background: #cccccc;
	color: black;
	cursor: pointer;
	order: -1;

/* margin-right: 5px; */
	padding: 3px 12px;
}

.tab_label:hover {
	opacity: 0.8;
	transition: 0.5s;
}

.tab_content {
	box-sizing: border-box;
	display: none;
	font-size: 1.6rem;
	padding: 32px 30px;
	width: 100%;
}

.tab_content dl {
	border-bottom: 1px dotted #dddddd;
	display: flex;
	margin-bottom: 25px;
}

.tab_content dl:last-child {
	margin-bottom: 0;
}

.tab_content dd {
	margin-bottom: 0;
	margin-right: 30px;
	padding-bottom: 8px;
}

.tab_content dt a {
	color: #2B2B2B;
	font-weight: 400;
}
.tab_content dt a:hover {
	color: #004EA2;
}

.tab_label {
	font-size: 1.8rem;
	font-weight: 400;
	padding: 13px 0;
	text-align: center;
	width: 210px;
}

.tab_switch:checked + .tab_label {
	background: #004EA2;
	color: white;
}

.tab_switch:checked + .tab_label + .tab_content {
	display: block;
}

.tab_switch {
	display: none;
}

.news_btn a {
	color: black;
	display: block;
	font-weight: 400;
	margin: 0 auto;
	margin-top: 5px;
	max-width: 1120px;
	text-align: right;
	text-decoration: underline;
}

.staff_intetview_list {
	border: 0;
	font-size: 0;
	margin: 0 auto;
	margin-bottom: 60px;
	max-width: 1120px;
	position: relative;
}

.staff_intetview_list:last-child {
	margin-bottom: 0;
}

.desc {
	background: #004EA2;
	box-sizing: border-box;
	color: white;
	font-size: 16px;
	padding: 20px;
	position: absolute;
}

.desc_left {
	bottom: 10px;
	left: 10px;
}

.desc_right {
	bottom: 10px;
	right: 10px;
}

.desc p {
	background: white;
	color: black;
	line-height: 1;
	max-width: 115px;
	padding: 4px 0;
	text-align: center;
}

.desc h2 {
	font-size: 2.6rem;
	margin: 10px 0;
}

/* CORPORATE */

.identity {
	margin: 0 auto;
	max-width: 1120px;
}

.identity img {
	display: block;
	margin: 0 auto;
	margin-bottom: 30px;
	text-align: center;
}

.identity h2 {
	margin-bottom: 30px;
	text-align: center;
}

.ceo_Message_wrap {
	background: #f5f5f5;
	padding: 60px 0;
}

.ceo_Message_wrap h2 {
	margin-bottom: 30px;
	text-align: center;
}

.ceo_Message_inner {
	align-items: center;
	display: flex;
	margin: 0 auto;
	max-width: 1120px;
	position: relative;
}

.ceo_txt {
	margin-right: 50px;
	max-width: 560px;
	text-align: justify;
}

.ceo_image {
	height: auto;
	width: 100%;
}

.ceo_image img {
	align-items: flex-start;
	border: 0;
	flex-shrink: 0;
	font-size: 0;
	height: auto;
	width: 100%;
}

.ceo_image span {
	display: block;
	font-size: 2rem;
	font-weight: 500;
	text-align: right;
}

.company_wrap {
	margin: 0 auto;
	margin-bottom: 60px;
	margin-top: 60px;
	max-width: 1120px;
}

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

.company_left {
	margin-right: 50px;
	max-width: auto;
	width: 100%;
}

.company_left dl {
	border-bottom: 1px solid #dddddd;
	display: table;
	margin-bottom: 20px;
	width: 100%;
}

.company_left dl:last-child {
	margin-bottom: 0;
}

.company_left dl dd:nth-child(1) {
	width: 200px;
	display:table-cell;
	font-weight:500;
}

.company_left dl dd:nth-child(2) {
	padding: 0 0 20px 0;
	text-align: left;
}

.panphlet_wrap {
	align-items: flex-start;
	display: flex;
	height: 100%;
	max-height: 400px;
	max-width: 567px;
}

.panthlet_dl {
	background: #f4f4f4;
	border: 1px solid #eeeeee;
	box-sizing: border-box;
	height: 100%;
	max-height: 400px;
	padding: 15px;
	width: 242px;
}

.panthleft_dl_txt {
	align-items: center;
	display: flex;
	height: 100%;
	width: 100%;
}

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

.panthleft_dl_txt a {
	align-items: center;
	background: #2B2B2B;
	color: white;
	display: block;
	margin: 0 auto;
	margin-top: 30px;
	padding: 8px 0;
	text-align: center;
}

.panthleft_dl_txt a img {
	margin-right: 12px;
}

.panthlet_dl_image img {
	align-self: center;
	backface-visibility: hidden;
	border: 1px solid #eeeeee;
	box-sizing: border-box;
	max-width: 282px;
}

.history_wrap {
	margin: 0 auto;
	margin-top: 60px;
	max-width: 1120px;
	width: 100%;
}

.history_wrap dl {
	border-bottom: 2px dotted #dddddd;
	display: table;
	margin-top: 40px;
	padding-bottom: 7px;
	width: 100%;
}

.history_wrap dl dd {
	padding: 0 0 0 0;
	display:table-cell;
	width:200px;

}

.history_wrap dl dt{
	text-align:left;
}

/* STRENGTGH */

.strength_features {
	position: relative;
	width: 100%;
}

.strength_inner {
	display: flex;
}

.st_txt {
	background: #f9f9f9;
	box-sizing: border-box;
	margin: 0 auto;
	margin: 0 30px;
	padding: 60px 70px;
	width: 45.41666666vw;
	z-index: 1;
}

.st_txt h2 {
	margin-bottom: 30px;
}

/* STRENGTGH */

.strength_features_reverse {
	position: relative;
	width: 100%;
}

.strength_inner_reverse {
	display: flex;
}

.st_txt__reverse {
	background: #f9f9f9;
	box-sizing: border-box;
	margin: 0 auto;
	margin: 0 30px;
	padding: 60px 70px;
	width: 45.41666666vw;
	z-index: 1;
}

.bgnone {
	background: white !important;
}

.st_txt__reverse h2 {
	margin-bottom: 30px;
}

.technology {
	background-image: url(../img/strength/strength_04.png);
	background-position: center center;
	background-repeat: no-repeat;
	box-sizing: border-box;
	padding: 200px 30px;
}

.technology_inner {
	background: #2B2B2B;
	color: white;
	margin: 0 auto;
	max-width: 1120px;
	padding: 55px 30px;
}

.technology_inner h2 {
	margin-bottom: 30px;
}

.proof_wrap {
	color: #004EA2;
	margin: 0 auto;
	margin-bottom: 30px;
	max-width: 1120px;
}

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

.proof {
	border: 1px solid #dddddd;
	box-sizing: border-box;
	margin: 0 auto;
	margin-bottom: 20px;
	max-width: 1120px;
	padding: 10px;
	position: relative;
}

.proof .proof_lavel{
	position:absolute;
	right:10px;
	top:10px;
}

.proof .proof_lavel img{
	width:100px;
	margin:0 auto;
}

@media(max-width:968px){
	.proof .proof_lavel img{
	width:75px;
	margin:0 auto;
}
}

.proof img {
	max-width: 200px;
}

.proof:last-child {
	margin-bottom: 0;
}

.proof_list {
	align-items: center;
	display: flex;
}

.proof_txt {
	margin-left: 40px;
}

.proof_txt h4 {
	font-size: 2rem;
}

.proof_txt p {
	line-height: 3rem;
	margin-top: 10px;
}

.iso {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1120px;
}

.iso li {
	margin-bottom: 50px;
	width: 31%;
}

.iso li h4 {
	font-size: 1.8rem;
	margin-top: 10px;
}

.iso li p {
	font-size: 1.6rem;
	line-height: 3rem;
}

.attempt_bg {
	background: #D0E1F3;
	box-sizing: border-box;
	padding: 60px 0;
	width: 100%;
}

.attempt {
	margin: 0 auto;
	max-width: 1120px;
}

.attempt h2 {
	color: #004EA2;
	font-size: 2.6rem;
	/* margin-top: 30px; */
}

.attempt h3 {
	font-size: 1.8rem;
	margin-top: 30px;
}

.attempt ul li {
	background: white;
	box-sizing: border-box;
	margin-top: 20px;
	padding: 16px;
}

.future {
	margin: 0 auto;
	max-width: 1120px;
}

.future h2 {
	font-size: 4rem;
	margin-bottom: 30px;
	text-align: center;
}

.future p {
	margin-bottom: 30px;
}

.future img {
	width: 100%;
}

.interview_inner {
	align-items: center;
	background: #ECF5FF;
	border: 0;
	display: flex;
	font-size: 0;
	height: auto;
	margin: 0 auto;
	max-width: 1120px;
}

.interview_inner div {
	height: 100%;
	max-width: 50%;
}

.interview_left {
	box-sizing: border-box;
	height: 100%;
	padding: 0 100px;
}

.interview_left p {
	color: #000000;
	font-size: 1.65rem;
}

.interview_left h2 {
	margin-bottom: 30px;
}

.interview_indivi_content h2 {
	text-align: center;
}

.interview_cta {
	text-align: center;
}

.interview_cta h2 {
	color: #004EA2;
}

.interview_btn_wrap {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	max-width: 546px;
	text-align: center;
	/* justify-content: flex-start; */
}

.interview_only_style {
	margin-right: 30px;
}

.btn_long a {
	background: white;
	border: 1px solid #dddddd;
	color: #004EA2;
	font-size: 1.6rem;
	margin: 0 auto;
	margin-top: 20px;
	max-width: 546px;
	padding: 15px 0;
	text-align: center;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

/* ARCHITECTURE */

.architecture_inner {
	margin: 0 auto;
	margin-top: 60px;
	max-width: 1120px;
}

.architecture_inner h2 {
	margin-bottom: 30px;
	text-align: center;
}

.architecture_inner p {
	margin: 0 auto;
	max-width: 800px;
}

.architecture_inner img {
	margin-top: 60px;
}

.circle_list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 30px auto;
	max-width: 709px;
	position: relative;
	text-align: center;
	width: 100%;
}

.circle h3 {
	border-radius: 50%;
	color: white;
	font-size: 22px;
	height: 202px;
	position: relative;
	width: 202px;
}

.circle h3 span {
	display: block;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.color_blue {
	background: #2895D3;
}

.color_black {
	background: #2B2B2B;
}

.color_pink {
	background: #B11B5A;
}

.image_bottom {
	margin: 0 !important;
	margin-bottom: 30px !important;
}

.architecture_left {
	text-align: left !important;
}

.architecture_left_txt {
	margin-bottom: 60px !important;
	max-width: 1120px !important;
}

.tech_bg {
	background: #004EA2;
	color: white;
}

.tech_inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1120px;
	position: relative;
}

.tech_inner_left {
	margin-right: 30px;
}

.tech_inner_left h2 {
	margin-bottom: 30px;
}

.tech_inner_right img {
	display: flex;
	max-width: 560px;
}

.public_future {
	display: flex;
	margin: 0 auto;
	max-width: 1120px;
	position: relative;
}

.public_future img {
	display: block;
	margin: 0 auto;
	max-width: 1010px;
}

.public_future_left {
	background: white;
	box-sizing: border-box;
	max-width: 700px;
	padding: 20px;
	position: absolute;
	top: 70px;
}

.public_future_left h2 {
	margin-bottom: 30px;
}

.public_future_right {
	margin-left: auto;
}

.recruiit_image {
	border: 0;
	display: flex;
	font-size: 0;
}

.recruit_description {
	margin: 0 auto;
	max-width: 1120px;
}

.recruit_description h2 {
	margin-bottom: 30px;
	text-align: center;
}



.recruit_description_list_row dt {
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 10px;
	margin-top: 20px;
}

.recruit_description_list_row dd {
	background: #f4f4f4;
	border: 1px solid #dddddd;
	box-sizing: border-box;
	font-size: 1.6rem;
	font-weight: 400;
	padding: 15px;
	text-align: justify;
}

.recruit_description_list_cell_wrap h2 {
	font-size: 2rem;
	margin: 20px 0 10px 0;
	text-align: left;
}

.recruit_description_list_cell {
	display: flex;
	justify-content: center;
}

.recruit_description_list_cell li {
	width: 25%;
}

.recruit_description_list_cell li h3 {
	background-color: #004EA2;
	color: white;
	font-size: 1.8rem;
	font-weight: 300;
	padding: 19px 0;
	text-align: center;
}

.recruit_description_list_cell li div {
	align-items: center;
	border: 1px solid #dddddd;
	display: flex;
	margin-left: -0.5px;
	min-height: 160px;
	padding: 25px 0;
}

.recruit_description_list_cell li p {
	box-sizing: border-box;
	justify-content: center;
	margin: 0 auto;
}

.serch_msg {
	color: #575555;
	display: block;
	margin-bottom: 5px;
	text-align: center;
}


.serch_box {
	display: flex;
	margin: 0 auto;
	max-width: 1120px;
	/* justify-content: space-between; */
	/* flex-wrap: wrap; */
}

.serch_box .check_el {
	border: 1px solid #dddddd;
	box-sizing: border-box;
	font-size: 2rem;
	font-weight: normal;
	margin-left: -1px;
	margin-top: -1px;
	padding: 32px;
	text-align: center;

/* width: 19.42708333vw; */
	width: 33.3%;
}

.serch_box .check_el label {
	margin-left: 10px;
}

label span {
	margin-left: 5px;
}

input:checked + label::after {
	opacity: 1;
}

.checkbox {
	border: 1px solid #cccccc;
	cursor: pointer;
	padding: 5px;
}

.works_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1120px;
}

.works_list:last-child {
	margin-bottom: 0;
}

.works_list .works_item {
	box-sizing: border-box;
	margin-bottom: 50px;
	overflow: hidden;
	width: 24%;
}

.works_list .works_item.spacer {
	margin-bottom: 0px;
}

.works_item a p {
	color: #000000;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.9rem;
	margin-top: 10px;
}

.works_item a img {
/* 	background: #000000; */
	transform: scale(1);
	transition: all 0.3s;
	width: 100%;
}

.works_item a img:hover {
	opacity: 0.8;
	transform: scale(1.06);
}

.pager {
	display: flex;
	justify-content: right;
	margin: 0 auto;
	margin-bottom: 5px;
	margin-left: auto;
	max-width: 1120px;
}

.pager_name {
	align-items: center;
	background: white;
	border: 1px solid #004EA2;
	border-radius: 50%;
	color: #004EA2;
	display: flex;
	font-weight: normal;
	height: 40px;
	justify-content: center;
	margin-left: 10px;
	width: 40px;
}

.pager_active {
	background: #004EA2;
	color: white;
}

.pager_name span {
	display: blcok;
}

.works_detail_wrapper {
	background: rgb(21, 21, 21, 0.8);
	bottom: 0;
	height: 100%;
	left: 0;
	display: none;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 9999;
}

.works_detail_wrapper .works_close {
	position: absolute;
	top: 0;left: 0;right: 0;bottom: 0;
}

.works_detail_panel_wrapper {
	box-sizing: border-box;
	height: 100vh;
	overflow: auto;
	margin: 60px;
}

.works_detail_panel_inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1120px;
	height: 100vh;
	overflow-x: scroll;
}

.works_detail_panel {
	background: white;
}

.panel_bg {
	background: #004EA2;
	box-sizing: border-box;
	padding: 20px 20px;
}

.bars {
	align-items: center;
	display: flex;
}

.bars span {
	background: white;
	margin-right: 10px;
	padding: 4px 16px;
}

.bars h3 {
	color: white;
	font-size: 2rem;
}

.bars a {
	color: white;
	display: block;
	margin-left: auto;
}

.panel_close a {
	color: white;
	font-size: 30px;
	font-weight: bold;
	position: absolute;
	right: 10px;
	top: 10px;
}

.panel_main {
	background: white;
	box-sizing: border-box;
	display: flex;
	padding: 25px 30px;
	position: relative;
}

.works_details {
	height: 100%;
	position: relative;
}

.works_details .works_prev {
	align-items: center;
	background: white;
	border-radius: 50%;
	color: #004EA2;
	display: flex;
	font-size: 26px;
	font-weight: bold;
	height: 80px;
	justify-content: center;
	left: 0px;
	transform: translate(10px, -50%);
	width: 80px;
}

.works_details .works_next {
	align-items: center;
	background: white;
	border-radius: 50%;
	color: #004EA2;
	display: flex;
	font-size: 26px;
	font-weight: bold;
	height: 80px;
	justify-content: center;
	position: fixed;
	right: 0px;
	text-align: center;
	transform: translate(-10px, -50%);
	width: 80px;
}

.panel_left {
	margin-right: 15px;
	width: 687px;
}

.panel_left .panel_main_subimage {
	border: 0;
	display: flex;
	flex-wrap: wrap;
	font-size: 0;
	justify-content: left;
	width: 687px;
}

.panel_left .panel_main_subimage::after {
	content: "";
	display: block;
}

.panel_left .panel_main_image {
	border: 0;
	font-size: 0;
}

.panel_left .panel_main_image img {
	border: 0;
	font-size: 0;
	margin-bottom: 11px;
}

.panel_left .panel_main_subimage img {
	width: 105px;
}

.panel_left .panel_main_subimage li {
	margin-right: 11px;
	margin-bottom:11px;
}

.panel_left .panel_main_subimage li:nth-child(6) {
	margin-right: 0;
}

.panel_right {
	width: 100%;
}

.panel_detail {
	margin-bottom: 15px;
}

.panel_detail dt {
	font-weight: 600;
	margin-bottom: 5px;
}

.panel_detail dd {
	border: 1px solid #dddddd;
	box-sizing: border-box;
	font-weight: normal;
	max-width: 368px;
	padding: 20px;
	width: 100%;
}

.sub_navigation {
	cursor: pointer;
	font-weight: 500;
	position: relative;
	z-index: 9999;
}

.sub_navi_image {
	border: 0;
	font-size: 0;
	margin: 0 30px;
}

.sub_menu_item {
	display: none;
	left: 50%;
	overflow: hidden;
	position: absolute;
	top: 48px;
	transform: translate(-50%, 0);
	width: 55vw;
}

.sub_menu_item {
	align-items: center;
	background: #f9f9f9;
	box-sizing: border-box;
	color: white;
	display: flex;
	flex-wrap: wrap;
	height: 0;

/* width: 300px; */
	margin: 0 auto;
	min-height: 0;
	opacity: 0;
	text-align: left;
	transition: all 0.5s;
	transition: min-height 0.5s;
	z-index: 3;
}

.sub_menu_item h3 {
	box-sizing: border-box;

/* border-bottom: 1px dotted #fff; */
	color: white;
	color: #2B2B2B;
	font-size: 16px;
	padding-bottom: 5px;
	text-align: left;
	width: 100%;
}

.sub_menu_item li {
	margin-bottom: 10px;
	text-align: left;
	width: 100%;
}

.sub_menu_item li:last-child {
	margin-bottom: 0;
}

.sub_menu_item li:nth-child(4) {
	padding-bottom: 0;
}


.sub_menu_item li a {
	color: #2B2B2B;
	display: block;
	display: block;
	font-size: 1.6rem;
}

.sub_menu_item li a:hover {
	color: #004EA2;
	text-decoration: underline;
}

.sub_navigation a {
	padding: 0 0;
}

.sub_menu_item a {
	padding: 0 0;
}

.sub_menu_item li a:after {
	content: none !important;
}


.sub_menu_item > li > a {
	font-size: 14px;
}

.sub_menu_item > li > a:hover {
	opacity: 1;
	transition: all 0.5s;
}

.sub_menu_item.active {
	box-sizing: border-box;

/* height: 220px; */
	min-height: 210px;
	opacity: 1;
	padding: 20px 0;
	transition: all 0.5s;
}


/* ::::::::::::::::::::::::::: */
/* SDGs */
/* ::::::::::::::::::::::::::: */

h2.sec_ttl_large {
    text-align: center;
}
#sdgs .mv{
	margin-top:30px;
}

.declaration .sec_ttl_large {
    margin-bottom: 35px;
}

p.text {
    text-align: center;
    font-size: 20px;
}

p.text_right {
    text-align: right;
}
.declaration {
    width: 1013px;
    margin: 80px auto;
}

h2.sec_ttl_large {
    text-align: center;
    font-weight: 600;
}
.effort .sec_ttl_large {
    margin-bottom: 30px;
}

p.text {
    text-align: center;
    font-size: 20px;
}

p.text_right {
    text-align: right;
    margin-top: 30px;
}

ul.effort_items {
    display: flex;
    flex-wrap: wrap;
    /* justify-content: space-around; */
    row-gap: 30px;
    column-gap: 30px;
}
.wrapper {
    width: 1120px;
    margin-right: auto;
    margin-left: auto;
}

li.item {
    width: 545px;
    border: solid 1px #333;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
    align-items: flex-end;
}

h3.ttl_middle {
    font-size: 23px;
    margin-left: 10px;
}

h4.ttl_small {
    font-size: 20px;
}
p.item_text_up {
    text-align: center;
    line-height: 1.375;
    margin-top: 44px;
}

.head {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}
h4.ttl_small {
    font-size: 20px;
    background: #dedede;
    display: inline-block;
    padding: 5px 10px;
}
.effort_items .item .container {
    display: flex;
    justify-content: center;
    margin-top: 44px;
}
.sdgs_icon {
    display: flex;
    justify-content: center;
    column-gap: 5px;
}
.about_sdgs {
    margin-top: 60px;
    margin-bottom: 60px;
}
.about_sdgs .inner {
    display: flex;
    align-items: center;
}
.about_text {
    font-size: 16px;
}
.about_sdgs .right_box {
    width: 560px;
    margin-left: 92px;
}
.pdf_download_btn {
    text-align: center;
}
.pdf_download_btn .btn {
    display: inline-block;
    background: #004EA2;
    color: #fff;
    border-radius: 17px;
    font-weight: normal;
}
.pdf_download_btn .inner .icon {
    margin-left: 15px;
}
.pdf_download_btn .inner {
    padding: 6px 33px;
}
.item_inner_large {
    padding: 40px 71px;
}
.item_inner_small {
    padding: 40px 20px;
}
.wh {
    white-space: nowrap;
}
.construction {
    margin-bottom: 74px;
}
.Coexistence {
    margin-bottom: 52px;
}
.environment {
    margin-bottom: 31px;
}
.community_environment {
    margin-bottom: 21px;
}
.effort_items .item_inner_large .container .box {
    text-align: center;
    margin-bottom: 20px;
}
.effort_items .item_inner_small .container .box {
    text-align: center;
    margin-bottom: 20px;
}

.effort_desc li {
    list-style: disc;
}
h2.sdgs_sec_ttl_large {
    font-weight: 600;
    font-size: 24px;
}

/* ::::::::::::::::::::::::::: */
/* SDGs　end 　　　　　　*/
/* ::::::::::::::::::::::::::: */







/* -------------------------------
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

スマートフォンスタイル

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
--------------------------------*/



@media(max-width:968px) {
	/* mainVisual area */
	.mainVisuals {
		position: relative;
	}

	.mainVisuals img {
		height: 100vh;
		width: 100vw;
	}

	video {
		min-height: 100vh;
		min-width: 100vw;
		position: relative;
		z-index: -1;
	}

	@media (aspect-ratio: 16/9),
	(min-aspect-ratio: 16/9) {
		video {
			top: 50%;
			transform: translateY(-50%);
			width: 100%;
		}
	}

	@media (max-aspect-ratio: 16/9) {
		video {
			height: 100%;
			left: 50%;
			transform: translateX(-50%);
		}
	}

	.videowrap {
		height: 100vh;
		overflow: hidden;
		overflow: hidden;

/* width: 100vw; */
		padding-top: 0;
		position: relative;
		position: relative;
	}

	.videowrap::after {
		/* background-color: rgba(0, 0, 0, 0.2); */
		/* background-image: radial-gradient(#333333 20%, transparent 0), radial-gradient(#333333 20%, transparent 0); */
		background-position: 0 0, 5px 5px;
		background-size: 3px 3px;
		content: "";
		display: block;
		height: 100%;
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}

	.copy_area {
		box-sizing: border-box;
		left: 50%;
		overflow: hidden;
		padding-left: 10px;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
	}

	.copy_area p {
		font-weight: 400;
		margin-top: -5px;
	}

	@media(max-width:1366px) {
		.copy_area p {
			margin-top: 8px;
		}
	}

	@media(max-width:968px) {
		.copy_area p {
			margin-top: 0;
		}
	}

	.copy_squere_top {
		align-items: center;
		color: white;
		display: flex;
		margin-bottom: 5px;
	}

	.copy_squere_top li {
		align-items: center;
		border: 1px solid #ffffff;
		color: white;
		display: flex;
		font-size: 8.114583333vw;
		height: 12.677083333vw;
		justify-content: center;
		width: 12.677083333vw;
	}

	.copy_squere_top li.copy_squere_top_text_bg {
		background: white;
		color: #2B2B2B;
	}


	.copy_squere_middle {
		align-items: center;
		color: white;
		display: flex;
		margin-bottom: 5px;
		margin-left: 13.077083333vw;
	}

	.copy_squere_middle li {
		align-items: center;
		border: 1px solid #ffffff;
		color: white;
		display: flex;
		font-size: 8.114583333vw;
		height: 12.677083333vw;
		justify-content: center;
		margin-top: -1px;
		width: 12.677083333vw;
	}

	.copy_squere_middle li.copy_squere_top_text_bg {
		background: white;
		color: #2B2B2B;
	}

	.copy_squere_bottom {
		align-items: center;
		color: white;
		display: flex;
		margin-left: 25.877083333vw;
	}

	.copy_squere_bottom li {
		align-items: center;
		border: 1px solid #ffffff;
		color: white;
		display: flex;
		font-size: 8.114583333vw;
		height: 12.677083333vw;
		justify-content: center;
		margin-top: -0.5px;
		width: 12.677083333vw;
	}

	.copy_squere_bottom li.copy_squere_top_text_bg {
		background: white;
		color: #2B2B2B;
	}

	.caption {
		font-size: 1.354166666vw;
		margin-left: 10px;
	}

	.txt_no2 {
		margin-left: -1px;
	}

	.txt_no3 {
		margin-left: -1px;
	}

	.txt_no4 {
		margin-left: -1px;
	}

	/* Contents Area */

	.contents_all {
		margin: 30px auto;
	}

	.features_wrap {
		box-sizing: border-box;
		display: flex;
		justify-content: space-between;
		padding: 0 10px;
		width: 100%;
	}

	.only_width_area {
		margin-left: 0;
		margin-right: 0;
	}

	.features_wrap .inner {
		position: relative;
	}

	.features h2 {
	}

	.features h4 {
		margin: 15px auto;
	}

	.left_image {
		justify-content: left;
		margin: 20px auto;
		margin-right: auto;
		margin-top: 0;
	}

	.left_image img {
		display: block;
		width: 100%;
	}

	.right_image img {
		display: block;
		display: none;
		width: 90.95833333vw;
	}

	.business {
		background-image: url(../img/top/top_05.png);
		background-position: center left;
		background-repeat: no-repeat;
		background-size: 100% auto;
		display: block;
		height: auto;
		justify-content: space-between;
		margin-right: auto;
	}

	.business img {
		border: 0;
		font-size: 0;
		height: 100vh;
		height: 100%;
		justify-content: space-between;
		max-width: 57.29166666vw;
	}

	.business_visual_slide_image {
		height: 100%;
		width: 100%;
	}

	.business_panel {
		align-items: center;
		background: #004EA2;
		color: white;
		display: flex;
		justify-content: center;
		max-width: 100%;

/* width: 41.82291666vw; */
		text-align: center;
		width: 100vw;
	}

	.panel_business_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 30px 0 30px 0;
	}

	.panel_business_list li {
		border: 1px solid white;
		margin-bottom: 30px;
		margin-right: 0;
		width: 100%;
	}

	.panel_business_list li a {
		color: white;
		display: block;
		padding: 13px 0;
		transition: 0.45s;
	}

	.panel_business_list li a:hover {
		background: white;
		color: #004EA2;
	}

	.panel_business_list li:nth-child(2n) {
		margin-right: 0;
	}

	.panel_business_list li:nth-child(4n) {
		margin-bottom: 0;
		margin-right: 0;
	}

	.panel_inner {
		padding: 60px 10px;
		z-index: 1;
	}

	.work_lists {
		display: flex;
		justify-content: center;
		margin-left: auto;
		width: 100%;
	}

	.work_lists li {
		margin: 0 0;
	}

	.works {
		text-align: center;
	}

	.works span {
		background: #2B2B2B;
		border-radius: 19px;
		color: white;
		display: block;
		font-size: 14px;
		margin: 0 auto;
		margin-bottom: 15px;
		margin-top: 10px;
		padding: 4px 0;
		width: 87px;
	}

	.movie_wrap {
		margin: 0 auto;
		max-width: 1120px;
		text-align: center;
		width: 100%;
	}

	.movie {
		margin: 20px 0 30px 0;
		padding: 0 10px;
		position: relative;
		text-align: center;
	}

	.playback {
		display: block;
		left: 50%;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.playback img {
		width: 70px;
	}

	.playback:hover {
		opacity: 0.8;
		transition: 0.5s;
	}


	.recruit {
		display: block;
		margin: 0 auto;
		max-width: 1120px;
		padding: 0 10px;
	}

	.recruit_right {
		display: flex;
		margin-left: auto;
		margin-top: 30px;
	}

	.news_heading_wrap {
		margin: 0 auto;
		max-width: 1120px;
	}

	.news_container {
	}

	.news_wrap {
		margin: 0 auto;
		margin-top: 30px;
		max-width: 1120px;
	}

	.news_inner {
		display: flex;
	}

	.tabmenu {
		background: #004EA2;
		color: #FFFFFF;
		cursor: pointer;
		display: block;
		list-style: none;
		max-width: 211px;
		padding: 10px 0 10px;
		text-align: center;
		width: 100%;
	}

	.active ,
	.hover {
		background: #eeeeee;
		color: #000000;
		font-weight: bold;
	}

	.tabmenu img:hover {
		-ms-filter: "alpha( opacity=70 )";
		filter: alpha(opacity=70);
		opacity: 0.7;
	}

	.mr01 {
		margin-right: 1px;
	}

	.tabcontent {
		height: 100%;
		left: 0;
		margin-top: 5%;
		position: absolute;
		width: 100%;
	}

	.tabcontent dl {
		border-bottom: dotted 1px #e2e2e2;
		display: flex;
		margin: 0 auto;
		margin-bottom: 15px;
		max-width: 1120px;
	}

	.tabcontent dl dd {
		margin-right: 30px;
		padding-bottom: 10px;
	}

	.tab_title {
		font-weight: bold;
		margin-top: 10px;
		padding: 5px 20px 5px;
	}




	/* ここからフッター共通 */

	.infomation_wrap {
		background: #F2F8FE;
		margin: 0 auto;
		margin-bottom: -30px;
		padding: 60px 0;
	}

	.infomation_list {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		max-width: 95%;
	}

	.infomation_list li {
		margin: 0 auto;
		margin-right: 5px;
		width: 100%;
	}

	.infomation_list li:last-child {
		margin-right: 0;
	}

	.infomation_list a {
		color: black;
		height: auto;
		width: 100%;
	}

	.infomation_list a:hover {
		opacity: 0.8;
		transition: 0.45s;
	}

	.infomation_list li p {
		align-items: center;
		display: flex;
		display: inline-block;
		font-size: 1.2rem;
		line-height: 1.55;
		margin-bottom: 15px;
		vertical-align: middle;
	}

	.infomation_list li p img {
		display: inline-block;
		margin-right: 5px;
		vertical-align: middle;
		width: 15px;
	}

	.googlemap {
		font-size: 0;
		margin-bottom: -30px;
		width: 100%;
	}

	.googlemap iframe {
		box-sizing: border-box;
		display: block;
		height: 350px;
		margin: 0 auto;
		padding: 0 0;
		text-align: center;
		width: 100%;
	}

	footer {
		background: #004EA2;
		color: white;
		margin-top: 0;
		padding: 0 0;
	}

	footer a {
		color: white;
		display: block;
		text-decoration: none;
	}

	.footer_inner {
		display: block;
		margin: 0 auto;
		max-width: 100%;
	}

	.footer_left {
		box-sizing: border-box;
		color: white;
		max-width: 350px;
		padding: 15px;
	}

	.footer_left img {
		display: block;
		max-width: 200px;
		text-align: left;
	}

	.infomation {
		font-size: 1.4rem;
		margin-top: 15px;
	}

	.infomation a {
		display: inline-block;
		font-weight: 200;
		margin-right: 0;
	}

	.footer_right {
		background: #eeeeee;
		display: flex;
		flex-direction: row;
		justify-content: center;
		margin-left: auto;
		padding: 10px 15px;
	}

	.footer_right a {
		color: #2B2B2B;
		font-weight: 400;
		line-height: 1;
	}

	.footer_right ul {
		box-sizing: border-box;
		font-size: 1.2rem;
		margin-right: 0;
		margin-top: 0;
		padding: 15px 0 15px 0;
		text-align: left;
		width: 100%;
	}

	.footer_right ul:last-child {
		margin-right: 0;
	}

	.footer_right ul li {
		display: inline-block;
		margin-bottom: 10px;
		vertical-align: middle;
		width: 50%;
	}

	.footer_right ul li a span {
		display: inline-block;
		font-weight: 100 !important;
		vertical-align: middle;
	}

	.footer_right ul li:last-child {
		display: inline-block;
		margin-bottom: 0;
	}

	.news_text_area {
		margin: 0 auto;
		margin-bottom: 20px;
		max-width: 1120px;
		padding: 0 10px;
	}

	.news_container {
		border: 1px solid #dddddd;
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto;
		margin: 0 10px;
		max-width: 1120px;
	}

	.tab_label {
		background: #cccccc;
		color: black;
		cursor: pointer;
		order: -1;

/* margin-right: 5px; */
		padding: 3px 12px;
	}

	.tab_label:hover {
		opacity: 0.8;
		transition: 0.5s;
	}

	.tab_content {
		box-sizing: border-box;
		display: none;
		font-size: 1.4rem;
		padding: 20px 20px;
		width: 100%;
	}

	.tab_content dl {
		border-bottom: 1px dotted #dddddd;
		display: block;
		margin-bottom: 25px;
	}

	.tab_content dl:last-child {
		margin-bottom: 0;
	}

	.tab_content dd {
		margin-bottom: 0;
		margin-right: 30px;
		padding-bottom: 8px;
	}

	.tab_label {
		font-size: 1.4rem;
		font-weight: 400;
		padding: 8px 0;
		text-align: center;
		width: 100px;
	}

	.tab_switch:checked + .tab_label {
		background: #004EA2;
		color: white;
	}

	.tab_switch:checked + .tab_label + .tab_content {
		display: block;
	}

	.tab_switch {
		display: none;
	}

	.news_btn a {
		color: black;
		display: block;
		font-size: 1.2rem;
		font-weight: 400;
		margin: 0 auto;
		margin-top: 5px;
		max-width: 95%;
		padding: 0 10px;
		text-align: right;
		text-decoration: underline;
	}

	.staff_intetview_list {
		border: 0;
		border: 0;
		font-size: 0;
		font-size: 0;
		margin: 0 auto;
		margin-bottom: 0;
		max-width: 100%;
		padding: 30px;
		position: relative;
	}

	.staff_intetview_list img {
		border: 0;
		font-size: 0;
	}

	.staff_intetview_list:last-child {
		margin-bottom: 0;
	}

	.desc {
		background: #004EA2;
		box-sizing: border-box;
		color: white;
		font-size: 1.4rem;
		position: static;
	}

	.desc_left {
		bottom: 0;
		left: 0;
		/* padding: 30px; */
	}

	.desc_right {
		bottom: 0;
		right: 0;
		/* padding: 30px; */
	}

	.desc p {
		background: white;
		color: black;
		line-height: 1;
		max-width: 115px;
		padding: 4px 0;
		text-align: center;
	}

	.desc h2 {
		display: inline-block;
		font-size: 2rem;
		margin: 5px 0;
		margin-right: 15px;
	}

	/* CORPORATE */

	.identity {
		margin: 0 auto;
		max-width: 1120px;
	}

	.identity img {
		display: block;
		margin: 0 auto;
		margin-bottom: 30px;
		text-align: center;
	}

	.identity h2 {
		margin-bottom: 30px;
		text-align: center;
	}

	.identity p {
		margin: 0 auto;
		text-align: justify;
		width: 90%;
	}

	.ceo_Message_wrap {
		background: #f5f5f5;
		padding: 60px 0;
	}

	.ceo_Message_wrap h2 {
		margin-bottom: 30px;
		text-align: center;
	}

	.ceo_Message_inner {
		align-items: center;
		display: block;
		margin: 0 auto;
		max-width: 90%;
		position: relative;
	}

	.ceo_txt {
		margin-bottom: 15px;
		margin-right: 0;
		max-width: 100%;
		text-align: justify;
	}

	.ceo_image {
		height: auto;
		width: 100%;
	}

	.ceo_image img {
		align-items: flex-start;
		border: 0;
		flex-shrink: 0;
		font-size: 0;
		height: auto;
		width: 100%;
	}

	.ceo_image span {
		display: block;
		font-size: 2rem;
		font-weight: 500;
		text-align: right;
	}

	.company_wrap {
		margin: 0 auto;
		margin-bottom: 30px;
		margin-top: 30px;
		max-width: 90%;
	}

	.company_inner {
		display: block;
		justify-content: space-between;
	}

	.company_left {
		margin-right: 0;
		max-width: auto;
		width: 100%;
	}

	.company_left dl {
		border-bottom: 1px solid #dddddd;
		display: table;
		margin-bottom: 20px;
		width: 100%;
		padding-right:10px;
	}

	.company_left dl:last-child {
		margin-bottom: 0;
	}

	.company_left dl dd:nth-child(1) {
		width: 120px;
		display:table-cell;
	}

	.company_left dl dd:nth-child(2) {
		padding: 0 0 20px 0;
		text-align: left;
	}

	.panphlet_wrap {
		align-items: flex-start;
		display: block;
		height: 100%;
		max-height: 400px;
		max-width: auto;
	}

	.panthlet_dl {
		background: #f4f4f4;
		border: 1px solid #eeeeee;
		box-sizing: border-box;
		height: 100%;
		margin-top: 15px;
		max-height: auto;
		padding: 15px;
		width: 100%;
	}

	.panthleft_dl_txt {
		align-items: center;
		display: flex;
		height: 100%;
		justify-content: center;
		width: 100%;
	}

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

	.panthleft_dl_txt a {
		align-items: center;
		background: #2B2B2B;
		color: white;
		display: block;
		margin: 0 auto;
		margin-top: 30px;
		padding: 8px 0;
		text-align: center;
	}

	.panthleft_dl_txt a img {
		margin-right: 12px;
	}

	.panthlet_dl_image img {
		align-self: center;
		backface-visibility: hidden;
		border: 1px solid #eeeeee;
		box-sizing: border-box;
		display: none;
		margin: 0 auto;
		max-width: 100%;
		text-align: center;
	}

	.history_wrap {
		margin: 0 auto;
		margin-top: 30px;
		max-width: 90%;
		width: 100%;
	}

	.history_wrap dl {
		border-bottom: 2px dotted #dddddd;
		display: table;
		margin-top: 40px;
		padding-bottom: 7px;
		width: 100%;
	}

	.history_wrap dl dd {
		padding: 0 0 0 0;
		display:table-row;
	}

	/* STRENGTGH */
	.strength_features {
		border: 0;
		box-sizing: border-box;
		font-size: 0;
		padding: 10px;
		position: relative;
		width: 100%;
	}

	.strength_inner {
		display: block;
	}

	.st_txt {
		background: #f4f4f4;
		box-sizing: border-box;
		font-size: 1.6rem;
		margin: 0 auto;
		margin: 0 0;
		padding: 30px 30px;
		text-align: justify;
		width: 100%;
		z-index: 1;
	}

	.st_txt h2 {
		margin-bottom: 15px;
	}

	/* STRENGTGH */

	.strength_features_reverse {
		border: 0;
		box-sizing: border-box;
		box-sizing: border-box;
		font-size: 0;
		padding: 10px;
		position: relative;
		width: 100%;
	}

	.strength_inner_reverse {
		display: block;
	}

	.st_txt__reverse {
		background: #f4f4f4;
		box-sizing: border-box;
		font-size: 1.6rem;
		margin: 0 auto;
		margin: 0 0;
		padding: 30px 30px;
		width: 100%;
		z-index: 1;
	}

	.bgnone {
		background: white !important;
	}

	.st_txt__reverse h2 {
		margin-bottom: 15px;
	}

	.technology {
		background-image: url(../img/strength/strength_04.png);
		background-position: center auto;
		background-repeat: no-repeat;
		background-size: cover;
		box-sizing: border-box;
		padding: 30px 15px;
	}

	.technology_inner {
		background: #2B2B2B;
		color: white;
		margin: 0 auto;
		max-width: 100%;
		padding: 15px;
	}

	.technology_inner h2 {
		margin-bottom: 15px;
	}

	.proof_wrap {
		box-sizing: border-box;
		color: #004EA2;
		margin: 0 auto;
		margin-bottom: 15px;
		max-width: 100%;
		padding: 0 10px;
	}

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

	.proof {
		border: 1px solid #dddddd;
		box-sizing: border-box;
		margin: 0 auto;
		margin-bottom: 20px;
		max-width: 95%;
		padding: 10px;
	}

	.proof img {
		display: block;
		margin: 0 auto;
		max-width: 150px;
		text-align: center;
	}

	.proof:last-child {
		margin-bottom: 0;
	}

	.proof_list {
		align-items: center;
		display: block;
		margin: 0 auto;
	}

	.proof_txt {
		margin-left: 0;
		margin-top: 15px
	}

	.proof_txt h4 {
		font-size: 1.8rem;
		margin-top: 0;
	}

	.proof_txt p {
		font-size: 1.4rem;
		line-height: 2.8rem;
		margin-top: 10px;
	}

	.iso {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 auto;
		max-width: 95%;
	}

	.iso li {
		margin-bottom: 30px;
		width: 46%;
	}

	.iso li h4 {
		font-size: 1.6rem;
		margin-top: 0;
	}

	.iso li p {
		font-size: 1.3rem;
		line-height: 1.8rem;
		margin-top: 0;
		text-align: justify;
	}

	.attempt_bg {
		background: #D0E1F3;
		box-sizing: border-box;
		padding: 30px 0;
		width: 100%;
	}

	.attempt {
		margin: 0 auto;
		max-width: 95%;
		padding: 0 10px;
	}

	.attempt h2 {
		color: #004EA2;
		font-size: 2rem;
		/* margin-top: 30px; */
	}

	.attempt h3 {
		font-size: 1.6rem;
		margin-top: 15px;
	}

	.attempt ul li {
		background: white;
		box-sizing: border-box;
		font-size: 1.4rem;
		margin-top: 15px;
		padding: 10px;
	}

	.future {
		margin: 0 auto;
		max-width: 95%;
	}

	.future h2 {
		font-size: 2rem;
		margin-bottom: 15px;
		text-align: center;
	}

	.future p {
		margin-bottom: 15px;
	}

	.future img {
		width: 100%;
	}

	.interview_inner {
		align-items: center;
		background: #ECF5FF;
		border: 0;
		display: block;
		font-size: 0;
		height: auto;
		margin: 0 auto;
		max-width: 100%;
	}

	.interview_inner div {
		height: 100%;
		max-width: 100%;
	}

	.interview_left {
		box-sizing: border-box;
		height: 100%;
		padding: 30px 30px;
	}

	.interview_left p {
		color: #000000;
		font-size: 1.65rem;
	}

	.interview_left h2 {
		margin-bottom: 15px;
	}

	.interview_right img {
		border: 0;
		display: block;
		font-size: 0;
		margin: 0 auto;
		padding-bottom: 30px;
		width: 90%;
	}

	.interview_indivi_content h2 {
		font-size: 2rem;
		padding: 0 10px;
		text-align: center;
	}

	.interview_cta {
		text-align: center;
	}

	.interview_cta h2 {
		color: #004EA2;
	}

	.interview_btn_wrap {
		display: block;
		justify-content: center;
		margin: 0 auto;
		max-width: 100%;
		text-align: center;
		/* justify-content: flex-start; */
	}

	.interview_only_style {
		margin-right: 0;
	}

	.btn_long a {
		background: white;
		border: 1px solid #dddddd;
		color: #004EA2;
		font-size: 1.6rem;
		margin: 0 auto;
		margin-top: 20px;
		max-width: 80%;
		padding: 15px 0;
		text-align: center;
		text-align: center;
		text-decoration: none;
		width: 100%;
	}

	/* ARCHITECTURE */

	.architecture_inner {
		margin: 0 auto;
		margin-top: 60px;
		max-width: 95%;
	}

	.architecture_inner h2 {
		margin-bottom: 15px;
		text-align: center;
	}

	.architecture_inner p {
		margin: 0 auto;
		max-width: 800px;
	}

	.architecture_inner img {
		margin-top: 30px;
	}

	.circle {
		margin-bottom: 30px;
	}

	.circle:last-child {
		margin-bottom: 0;
	}

	.circle_list {
		align-items: center;
		display: block;
		flex-wrap: wrap;
		justify-content: center;
		margin: 30px auto;
		max-width: 709px;
		position: relative;
		text-align: center;
		width: 100%;
	}

	.circle h3 {
		border-radius: 50%;
		color: white;
		font-size: 1.8rem;
		height: 180px;
		margin: 0 auto;
		position: relative;
		width: 180px;
	}

	.circle h3 span {
		display: block;
		left: 50%;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.color_blue {
		background: #2895D3;
	}

	.color_black {
		background: #2B2B2B;
	}

	.color_pink {
		background: #B11B5A;
	}

	.image_bottom {
		margin: 0 !important;
		margin-bottom: 30px !important;
	}

	.architecture_left {
		text-align: left !important;
	}

	.architecture_left_txt {
		margin-bottom: 60px !important;
		max-width: 1120px !important;
	}

	.tech_bg {
		background: #004EA2;
		color: white;
	}

	.tech_inner {
		align-items: center;
		display: block;
		justify-content: space-between;
		margin: 0 auto;
		max-width: 90%;
		padding: 30px 0;
		position: relative;
	}

	.tech_inner_left {
		margin-right: 0;
	}

	.tech_inner_left h2 {
		margin-bottom: 15px;
	}

	.tech_inner_right img {
		display: flex;
		margin-top: 15px;
		max-width: 100%;
	}

	.public_future {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		margin: 0 auto;
		max-width: 100%;
		position: relative;
	}

	.public_future img {
		display: block;
		margin-left: auto;
		max-width: 100%;
	}

	.public_future_left {
		background: white;
		box-sizing: border-box;
		max-width: 100%;
		order: 2;
		padding: 20px;
		position: static;
		text-align: justify;
		top: 70px;
	}

	.public_future_left h2 {
		margin-bottom: 15px;
	}

	.public_future_right {
		margin-left: auto;
		order: 1;
	}

	.recruiit_image {
		border: 0;
		display: flex;
		font-size: 0;
	}

	.recruit_description {
		margin: 0 auto;
		max-width: 95%;
	}

	.recruit_description h2 {
		margin-bottom: 30px;
		text-align: center;
	}

	.recruit_description_list_row {
	}

	.recruit_description_list_row dt {
		font-size: 1.6rem;
		font-weight: 600;
		margin-bottom: 10px;
		margin-top: 20px;
	}

	.recruit_description_list_row dd {
		background: #f4f4f4;
		border: 1px solid #dddddd;
		box-sizing: border-box;
		font-size: 1.4rem;
		font-weight: 400;
		padding: 10px;
		text-align: justify;
	}

	.recruit_description_list_cell_wrap h2 {
		font-size: 1.6rem;
		font-weight: 600;
		margin: 20px 0 10px 0;
		text-align: left;
	}

	.recruit_description_list_cell {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.recruit_description_list_cell li {
		margin-bottom: 10px;
		width: 100%;
	}

	.recruit_description_list_cell li:last-child {
		margin-bottom: 0;
	}

	.recruit_description_list_cell li h3 {
		background-color: #004EA2;
		color: white;
		font-size: 1.8rem;
		font-weight: 300;
		padding: 10px 0;
		text-align: center;
	}

	.recruit_description_list_cell li div {
		align-items: center;
		border: 1px solid #dddddd;
		display: flex;
		margin-left: -0.5px;
		min-height: 0;
		padding: 25px 0;
	}

	.recruit_description_list_cell li p {
		box-sizing: border-box;
		justify-content: center;
		margin: 0 auto;
	}

	.serch_msg {
		color: #575555;
		display: block;
		font-size: 1.2rem;
		margin-bottom: 5px;
		padding: 0 10px;
		text-align: left;
	}


	.serch_box {
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto;
		max-width: 95%;
		/* justify-content: space-between; */
		/* flex-wrap: wrap; */
	}

	.serch_box .check_el {
		border: 1px solid #dddddd;
		box-sizing: border-box;
		font-size: 1.2rem;
		font-weight: normal;
		margin-left: -1px;
		margin-top: -1px;
		padding: 5px;
		text-align: center;
		text-align: left;

/* width: 19.42708333vw; */
		width: 33.3%;
	}

	.serch_box .check_el label {
		margin-left: 0;
		margin-top: 3px;
	}

	label span {
		margin-left: 0;
	}

	input:checked + label::after {
		opacity: 1;
	}

	.checkbox {
		border: 1px solid #cccccc;
		cursor: pointer;
		padding: 0;
		vertical-align:-0.24em;
	}

	.works_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 auto;
		margin-bottom: 0;
		max-width: 95%;
	}

	.works_list:last-child {
		margin-bottom: 0;
	}

	.works_list .works_item {
		box-sizing: border-box;
		margin-bottom: 25px;
		overflow: hidden;
		width: 49%;
	}

	.works_item a p {
		color: #000000;
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 1.9rem;
		margin-top: 0;
	}

	.works_item a img {
		background: #000000;
		transform: scale(1);
		transition: all 0.3s;
		width: 100%;
	}

	.works_item a img:hover {
		opacity: 0.8;
		transform: scale(1.06);
	}

	.pager {
		display: flex;
		justify-content: right;
		margin: 0 auto;
		margin-bottom: 5px;
		margin-left: auto;
		max-width: 95%;
	}

	.pager_name {
		align-items: center;
		background: white;
		border: 1px solid #004EA2;
		border-radius: 50%;
		color: #004EA2;
		display: flex;
		font-weight: normal;
		height: 25px;
		justify-content: center;
		margin-left: 10px;
		width: 25px;
	}

	.pager_active {
		background: #004EA2;
		color: white;
	}

	.pager_name span {
		display: blcok;
		font-size: 1.2rem;
	}

	.works_detail_wrap {
		align-items: center;
		background: rgb(21, 21, 21, 0.8);
		box-sizing: border-box;
		display: block;
		height: 100%;
		justify-content: center;
		overflow-x: scroll;
		padding: 7%;
		position: fixed;
		width: 100vw;
		z-index: 9999;
	}

	.panel_left {
		width: 100%;
	}

	.works_details .works_prev {
		display: none !important;
	}

	.works_details .works_next {
		display: none !important;
	}

	.works_detail_wrapper {
		overflow: auto;
	}

	.works_detail_panel_wrapper {
		box-sizing: border-box;
		height: auto;
		overflow: visible;
		margin: 20px;
		padding: 0px;
	}

	.works_detail_panel_inner {
		height: auto;
	}

	.works_detail_panel {
		background: white;
		margin: 0 auto;
		width: 100%;
	}

	.panel_bg {
		background: #004EA2;
		box-sizing: border-box;
		padding: 10px 20px;
	}

	.bars {
		align-items: center;
		display: block;
		position:relative;
	}

	.bars span {
		background: white;
		font-size: 1.4rem;
		margin-right: 10px;
		padding: 4px 10px;
	}

	.bars h3 {
		color: white;
		font-size: 1.4rem;
		margin:10px 0;
	}

	.bars a {
		color: white;
		display: block;
		font-size: 1.2rem;
		margin-left: auto;
		text-align:right;
		position:absolute;
		top:5px;
		right:5px;
	}

	.panel_close a {
		color: white;
		font-size: 30px;
		font-weight: bold;
		position: absolute;
		right: 10px;
		top: 10px;
	}

	.panel_main {
		background: white;
		box-sizing: border-box;
		display: block;
		padding: 10px 10px;
		position: relative;
	}

	.panel_main .works_prev a {
		align-items: center;
		background: #eeeeee;
		border-radius: 50%;
		color: #004EA2;
		display: flex;
		font-size: 2rem;
		font-weight: bold;
		height: 30px;
		justify-content: center;
		left: -25px;
		position: absolute;
		text-align: center;
		top: 50%;
		transform: translate(0, -50%);
		width: 30px;
	}

	.panel_main .works_next a {
		align-items: center;
		background: #eeeeee;
		border-radius: 50%;
		color: #004EA2;
		display: flex;
		font-size: 2rem;
		font-weight: bold;
		height: 30px;
		justify-content: center;
		position: absolute;
		right: -25px;
		text-align: center;
		top: 50%;
		transform: translate(0, -50%);
		width: 30px;
	}

	.panel_left {
		margin-right: 0;
	}

	.panel_left .panel_main_subimage {
		flex-wrap: nowrap;
		width: auto;
	}

	.panel_left .panel_main_subimage li:nth-child(6) {
		margin-right: 11px;
	}

	.panel_left .panel_main_subimage li:last-child {
		margin-right: 0px;
	}

	.panel_slide_scroll {
		overflow-x: scroll;
	}

	.panel_main_subimage {
		border: 0;
		display: flex;
		flex-wrap: nowrap;
		font-size: 0;
		width: 800px;
	}

	.panel_main_subimage::after {
		content: "";
		display: block;
	}

	.panel_main_image {
		border: 0;
		font-size: 0;
	}

	.panel_main_image img {
		border: 0;
		border: 0;
		font-size: 0;
		font-size: 0;
		margin-bottom: 11px;
		max-width: 100%;
		width: 100%;
	}

	.panel_main_subimage img {
		width: 70px;
		/* max-width: 60px; */
	}

	.panel_main_subimage li {
		margin-bottom: 10px;
		margin-right: 10px;
	}

	.panel_main_subimage li:nth-child(6) {
		margin-right: 0;
	}

	.panel_main_subimage li:last-child {
		margin-right: 0;
	}

	.panel_right {
		margin-top: 15px;
		width: 100%;
	}

	.panel_detail {
		margin-bottom: 15px;
	}

	.panel_detail dt {
		color: #004EA2;
		font-size: 1.6rem;
		font-weight: 500;
		margin-bottom: 5px;
	}

	.panel_detail dd {
		border: 1px solid #dddddd;
		box-sizing: border-box;
		font-weight: normal;
		max-width: 100%;
		padding: 5px;
		width: 100%;
		font-size:1.4rem;
	}

	.sub_navigation {
		cursor: pointer;
		font-weight: 400;
		position: relative;
		z-index: 9999;
	}

	.sub_menu_item {
		left: 50%;
		overflow: hidden;
		position: absolute;
		top: 48px;
		transform: translate(-50%, 0);
	}

	.sub_menu_item {
		align-items: center;
		background: #2B2B2B;
		box-sizing: border-box;
		color: white;
		display: flex;
		flex-wrap: wrap;
		height: 0;
		margin: 0 auto;
		min-height: 0;
		opacity: 0;
		padding: 20px;
		text-align: left;
		transition: all 0.5s;
		transition: min-height 0.5s;
		width: 300px;
		z-index: 3;
	}

	.sub_menu_item h3 {
		border-bottom: 1px dotted rgb(237, 100, 123);
		box-sizing: border-box;
		color: white;
		font-size: 16px;
		padding-bottom: 5px;
		text-align: left;
		width: 100%;
	}

	.sub_menu_item li {
		padding-left: 15px;
		padding-top: 15px;
		text-align: left;
		width: 100%;
	}

	.sub_menu_item li:nth-child(4) {
		padding-bottom: 0;
	}


	.sub_menu_item li a {
		color: white !important;
		display: block;
		display: block;
		font-size: 1.6rem;
	}

	.sub_menu_item li a:after {
		content: none !important;
	}


	.sub_menu_item > li > a {
		font-size: 14px;
	}

	.sub_menu_item > li > a:hover {
		opacity: 1;
	}

	.sub_menu_item.active {
		box-sizing: border-box;
  		/* height: 220px; */
		min-height: 210px;
		opacity: 1;
		padding: 20px;
	}

  /* ::::::::::::::::::::::::::: */
/* SDGs */
/* ::::::::::::::::::::::::::: */

h2.sec_ttl_large {
  text-align: center;
}

.declaration .sec_ttl_large {
  margin-bottom: 35px;
}

p.text {
  text-align: center;
  font-size: 20px;
}

p.text_right {
  text-align: right;
}
.declaration {
  width: 95%;
  margin: 40px auto;
}

h2.sec_ttl_large {
  text-align: center;
}
.effort .sec_ttl_large {
  margin-bottom: 30px;
}

p.text {
  text-align: center;
  font-size: 16px;
}

p.text_right {
  text-align: right;
  margin-top: 15px;
  font-size: 14px;
}

ul.effort_items {
  display: block;
  /* flex-wrap: wrap; */
  /* justify-content: space-around; */
  /* row-gap: 30px; */
  /* column-gap: 30px; */
  /* width: 100%; */
}
.wrapper {
  width: 95%;
  margin-right: auto;
  margin-left: auto;
}

li.item {
  width: 100%;
  border: solid 1px #333;
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  /* align-items: flex-end; */
  margin-bottom: 10px;
  /* row-gap: 10px; */
}

h3.ttl_middle {
  font-size: 16px;
  margin-left: 10px;
}

h4.ttl_small {
  font-size: 20px;
}
p.item_text_up {
  text-align: center;
  line-height: 1.375;
  margin-top: 44px;
  font-size: 14px;
}

.head {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}
h4.ttl_small {
  font-size: 16px;
  background: #dedede;
  display: inline-block;
  padding: 3px 5px;
}
.effort_items .item .container {
  display: flex;
  justify-content: center;
  margin-top: 44px;
}
.sdgs_icon {
  display: flex;
  justify-content: center;
  column-gap: 5px;
}
.about_sdgs {
  margin-top: 60px;
  margin-bottom: 60px;
}
.about_sdgs .inner {
  display: block;
  /* align-items: center; */
}
.about_text {
  font-size: 16px;
}
.about_sdgs .right_box {
  width: 95%;
  /* margin-left: 92px; */
  margin: 0 auto;
}
.pdf_download_btn {
  text-align: center;
}
.pdf_download_btn .btn {
  display: inline-block;
  background: #004EA2;
  color: #fff;
  border-radius: 17px;
  font-weight: normal;
}
.pdf_download_btn .inner .icon {
  margin-left: 15px;
}
.pdf_download_btn .inner {
  padding: 6px 33px;
}
.item_inner_large {
  padding: 20px 24px;
  width: 100%;
  height: auto;
}
.item_inner_small {
  padding: 20px 5px;
}
.construction {
  margin-bottom: 74px;
}
.Coexistence {
  margin-bottom: 52px;
}
.environment {
  margin-bottom: 31px;
}
.community_environment {
  margin-bottom: 21px;
}
.effort_items .item_inner_large .container .box {
  text-align: center;
}
.effort_items .item_inner_small .container .box {
  text-align: center;
}

.effort_desc li {
  list-style: disc;
  font-size: 14px;
}
.wh {
  white-space: inherit;
}


/* ::::::::::::::::::::::::::: */
/* SDGs　end 　　　　　　*/
/* ::::::::::::::::::::::::::: */
	
	
	
	
}
