﻿@charset "UTF-8";

/* ===================================
	File Name   : module.css
	Description : Each parts settings
	
	Update Description :
	[2024/03/01] 新規作成

====================================== */

/*========== Style Contents ==========

	1. Switch
	2. margin / padding
	3. Font Style
	4. Box Layout
	5. Table Style
	6. Tab layout
	7. Flow
	8. Contacts Flexbox
	9. Video
   10. Slider
   11. Image Layout
   12. Message Bubble & Message Box 
   13. Accordion Menu
 
====================================== */


/*===== ■1. Switch =====*/
.pc { display: block;}
.block { display: block;}
.sp { display: none;}

@media only screen and (max-width: 750px){
	.pc { display: none;}
	.sp { display: block;}
}



/*===== ■2. margin / padding =====*/
.ml05 { margin-left: 5px;}
.ml10 { margin-left: 10px;}
.ml15 { margin-left: 15px;}
.ml20 { margin-left: 20px;}
.ml30 { margin-left: 30px;}
.ml40 { margin-left: 40px;}
.ml50 { margin-left: 50px;}
.ml100 { margin-left: 100px;}
.mlauto { margin-left: auto;}

.mr05 { margin-right: 5px;}
.mr10 { margin-right: 10px;}
.mr15 { margin-right: 15px;}
.mr20 { margin-right: 20px;}
.mr30 { margin-right: 30px;}
.mr40 { margin-right: 40px;}
.mrauto { margin-right: auto;}

.mlr05 { margin: 0 5px;}
.mlr10 { margin: 0 10px;}
.mlr15 { margin: 0 15px;}
.mlr20 { margin: 0 20px;}
.mlr30 { margin: 0 30px;}
.mlr40 { margin: 0 40px;}
.mlr75 { margin: 0 75px;}
.mlrauto { margin: 0 auto;}

.mtb10 { margin: 10px 0;}
.mtb20 { margin: 20px 0;}
.mtb30 { margin: 30px 0;}
.mtb40 { margin: 40px 0 ;}
.mtb50 { margin: 50px 0 ;}
.mtb60 { margin: 60px 0 ;}
.mtb70 { margin: 70px 0 ;}
.mtb80 { margin: 80px 0 ;}
.mtb90 { margin: 90px 0 ;}
.mtb100 { margin: 100px 0 ;}

.mb05 { margin-bottom: 5px;}
.mb10 { margin-bottom: 10px;}
.mb15 { margin-bottom: 15px;}
.mb20 { margin-bottom: 20px;}
.mb25 { margin-bottom: 25px;}
.mb30 { margin-bottom: 30px;}
.mb40 { margin-bottom: 40px;}
.mb50 { margin-bottom: 50px;}
.mb60 { margin-bottom: 60px;}
.mb70 { margin-bottom: 70px;}
.mb80 { margin-bottom: 80px;}
.mb90 { margin-bottom: 90px;}
.mb100 { margin-bottom: 100px;}
.mb190 { margin-bottom: 190px;}

.mt05 { margin-top: 5px;}
.mt10 { margin-top: 10px;}
.mt15 { margin-top: 15px;}
.mt20 { margin-top: 20px;}
.mt25 { margin-top: 25px;}
.mt30 { margin-top: 30px;}
.mt40 { margin-top: 40px;}
.mt50 { margin-top: 50px;}
.mt100 { margin-top: 100px;}

.pd05 { padding: 5px;}
.pd10 { padding: 10px;}
.pd15 { padding: 15px;}
.pd20 { padding: 20px;}
.pd30 { padding: 30px;}
.pd40 { padding: 40px;}
.pd50 { padding: 50px;}
.pd100 { padding: 100px;}

.pl10 { padding-left: 10px;}
.pl20 { padding-left: 20px;}
.pl30 { padding-left: 30px;}
.pl40 { padding-left: 40px;}
.pl50 { padding-left: 50px;}
.pl100 { padding-left: 100px;}

.pr10 { padding-right: 10px;}
.pr20 { padding-right: 20px;}
.pr30 { padding-right: 30px;}
.pr40 { padding-right: 40px;}
.pr50 { padding-right: 50px;}
.pr100 { padding-right: 100px;}

.pt10 { padding-top: 10px;}
.pt20 { padding-top: 20px;}
.pt30 { padding-top: 30px;}
.pt40 { padding-top: 40px;}
.pt50 { padding-top: 50px;}
.pt100 { padding-top: 100px;}

.pb05 { padding-bottom: 5px;}
.pb10 { padding-bottom: 10px;}
.pb15 { padding-bottom: 15px;}
.pb20 { padding-bottom: 20px;}
.pb30 { padding-bottom: 30px;}
.pb40 { padding-bottom: 40px;}
.pb50 { padding-bottom: 50px;}
.pb100 { padding-bottom: 100px;}

.w10 { width: 10%;}
.w15 { width: 15%;}
.w20 { width: 20%;}
.w25 { width: 25%;}
.w30 { width: 30%;}
.w35 { width: 35%;}
.w40 { width: 40%;}
.w45 { width: 45%;}
.w50 { width: 50%;}
.w55 { width: 55%;}
.w60 { width: 60%;}
.w65 { width: 65%;}
.w70 { width: 70%;}
.w75 { width: 75%;}
.w80 { width: 80%;}
.w85 { width: 85%;}
.w90 { width: 90%;}
.w95 { width: 95%;}
.w100 { width: 100%;}

.floatr { float: right;}
.floatl { float: left;}

.indent07{
padding-left: 1.0em;
text-indent: -0.7em;
}
.indent27{
padding-left: 3.0em;
text-indent: -2.7em;
}
.indent1{
padding-left: 1.0em;
text-indent: -1.0em;
}
.indent2{
padding-left: 2.0em;
text-indent: -2.0em;
}
.indent3{
padding-left: 3.0em;
text-indent: -3.0em;
}
.indent4{
padding-left: 4.0em;
text-indent: -4.0em;
}
.indent5{
padding-left: 5.0em;
text-indent: -5.0em;
}

.indentation1 {
text-indent: 1.0em;
}
.indent_remarks {
	padding-left: 1.5em;
	text-indent: -1em;
	margin-left:15px;
	font-size: 0.9em;
}
.indent_no {
	padding-left: 1.2em;
	text-indent: -1.2em;
}

br.mb05 {
    display: block;
    content: "";
    margin-bottom: 5px;
}
br.mb10 {
    display: block;
    content: "";
    margin-bottom: 10px;
}

@media only screen and (max-width: 750px){
	.pc { display: none;}
	.sp { display: block;}
	
	.mb25,
	.mb30 { margin-bottom: 20px;}
	
	.mr15,
	.mr20 { margin-right: 10px;}
	
	.mlr15,
	.mlr20 { margin: 0 10px;}
	
	.ml00sp { margin-left: 0px;}
	.ml05sp { margin-left: 5px;}
	.ml10sp { margin-left: 10px;}
	.ml15sp { margin-left: 15px;}
	.ml20sp { margin-left: 20px;}

	.mr00sp { margin-right: 0px;}
	.mr05sp { margin-right: 5px;}
	.mr10sp { margin-right: 10px;}
	.mr15sp { margin-right: 15px;}
	.mr20sp { margin-right: 20px;}
	.ml30sp { margin-left: 30px;}
	.ml40sp { margin-left: 40px;}
	.ml50sp { margin-left: 50px;}
	.ml100sp { margin-left: 100px;}

	.m00sp { margin: 0px;}

	.mlr05sp { margin: 0 5px;}
	.mlr10sp { margin: 0 10px;}
	.mlr15sp { margin: 0 15px;}
	.mlr20sp { margin: 0 20px;}
	.mlr25sp { margin: 0 25px;}
	.mlr30sp { margin: 0 30px;}
	.mlr40sp { margin: 0 40px;}
		
	.mtb10sp { margin: 10px 0;}
	.mtb20sp { margin: 20px 0;}
	.mtb30sp { margin: 30px 0;}
	.mtb40sp { margin: 40px 0 ;}
	.mtb50sp { margin: 50px 0 ;}
	.mtb60sp { margin: 60px 0 ;}
	.mtb70sp { margin: 70px 0 ;}
	.mtb80sp { margin: 80px 0 ;}
	.mtb90sp { margin: 90px 0 ;}
	.mtb100sp { margin: 100px 0 ;}
	
	.mb00sp { margin-bottom: 0px;}
	.mb05sp { margin-bottom: 5px;}
	.mb10sp { margin-bottom: 10px;}
	.mb15sp { margin-bottom: 15px;}
	.mb20sp { margin-bottom: 20px;}
	.mb25sp { margin-bottom: 25px;}
	.mb30sp { margin-bottom: 30px;}
	.mb40sp { margin-bottom: 40px;}
	.mb45sp { margin-bottom: 45px;}
	.mb50sp { margin-bottom: 50px;}
	.mb60sp { margin-bottom: 60px;}
	.mb70sp { margin-bottom: 70px;}
	.mb80sp { margin-bottom: 80px;}
	.mb90sp { margin-bottom: 90px;}
	.mb100sp { margin-bottom: 100px;}

	.mt00sp { margin-top: 0px;}
	.mt05sp { margin-top: 5px;}
	.mt10sp { margin-top: 10px;}
	.mt15sp { margin-top: 15px;}
	.mt20sp { margin-top: 20px;}
	.mt25sp { margin-top: 25px;}
	.mt30sp { margin-top: 30px;}
	.mt40sp { margin-top: 40px;}
	.mt50sp { margin-top: 50px;}
	.mt100sp { margin-top: 100px;}

	.pd00sp { padding:  0px;}
	.pd05sp { padding: 10px;}
	.pd10sp { padding: 10px;}
	.pd15sp { padding: 15px;}
	.pd20sp { padding: 20px;}
	.pd30sp { padding: 30px;}
	.pd40sp { padding: 40px;}
	.pd50sp { padding: 50px;}
	
	.w10sp { width: 10%;}
	.w15sp { width: 15%;}
	.w20sp { width: 20%;}
	.w25sp { width: 25%;}
	.w30sp { width: 30%;}
	.w35sp { width: 35%;}
	.w40sp { width: 40%;}

	.w50sp { width: 50%;}
	.w60sp { width: 60%;}
	.w70sp { width: 70%;}
	.w80sp { width: 80%;}
	.w90sp { width: 90%;}
	.w100sp { width: 100%; }

	br.mb05sp {
		display: block;
		content: "";
		margin-bottom: 5px;
	}
	br.mb10sp {
		display: block;
		content: "";
		margin-bottom: 10px;
	}
}


/*===== ■3. Font Style =====*/
.red { color: #c00;}
.white { color: #fff;}
.gray { color: #636262;}
.black { color: #000;}
.basecoler { color: #240700;}
.lightgray01 { color: #ccc;}
.lightgray02 { color: #ebebeb;}
.bol { font-weight: bold;} 		/* 700 */
.bol_300 { font-weight: 300;}	/* Light */
.bol_400 { font-weight: 400;}	/* Normal (Regular) */
.bol_500 { font-weight: 500;}	/* Medium */
.bol_600 { font-weight: 600;}	/* Semi Bold (Demi Bold) */
.bol_700 { font-weight: 700;}	/* Bold */
.under { text-decoration: underline; }
.over{border-top: 1px dotted #240700;
	border-left: none;
	padding: 15px 0px 0px;
}

.f_c_sc { color: #c9a700; }
.f_c_sp { color: #ac232f; }
.f_c_sm { color: #1c6ecd; }
.b_c_sc { background-color: #c9a700; }
.b_c_sp { background-color: #ac232f; }
.b_c_sm { background-color: #1c6ecd; } 
.b_c_white{ background-color: #fff; } 
.b_c_none{ background-color: unset; } 

.text_r70 {
	padding-left: 350px;
}


.fs09em { font-size: 0.9em;}
.fs10 { font-size: 1.0rem;}
.fs12 { font-size: 1.2rem;}
.fs14 { font-size: 1.4rem;}
.fs15 { font-size: 1.5rem;}
.fs16 { font-size: 1.6rem;}
.fs18 { font-size: 1.8rem;}
.fs20 { font-size: 2.0rem;}
.fs24 { font-size: 2.4rem;}
.fs25 { font-size: 2.5rem;}
.fs26 { font-size: 2.6rem;}
.fs28 { font-size: 2.8rem;}
.fs30 { font-size: 3.0rem;}
.fs32 { font-size: 3.2rem;}
.fs34 { font-size: 3.4rem;}
.fs35 { font-size: 3.5rem;}
.fs36 { font-size: 3.6rem;}
.fs48 { font-size: 4.8rem;}
.fs64 { font-size: 6.4rem;}
.left { text-align: left;}
.center { text-align: center;}
.center_img { text-align: center;}
.right_img { text-align: right;}
.right { text-align: right;}
.top { vertical-align: top; }
.middle { vertical-align: middle; }
.bottom { vertical-align: bottom; }
.flex_center { align-items:center; }
.flex_end { align-items: flex-end; }

.opensans {	font-family: 'Open Sans', sans-serif;}

.remarks {
	font-size: 1.3rem;
}

.line_H1 { line-height: 1; }
.line_H2 { line-height: 2; }

li.dotlist{
	list-style: disc inside;
	padding-left: 1.0em;
	text-indent: -1.0em;
}

.section_boder {
	border-bottom: 1px solid #c9bbb5;
	box-shadow: 0px 1px 0px #fff;
}
.footer_boder {
	border-bottom: 1px solid #fff;
	/* box-shadow: 0px 1px 0px #767575; */
}
ol {
	padding-left:25px;
	list-style-type: decimal;
}
ol li {
	margin-bottom: 10px;
}
.nowrap{
    white-space: nowrap;
}
.black_border{
	text-align: center;
    text-decoration:underline;
	text-decoration-thickness: 7px;
    text-decoration-color: rgb(5, 5, 5);
}

@media only screen and (max-width: 750px){
	
	.whitesp { color: #fff;}
	.basecolersp { color: #240700;}
	.f_c_scsp { color: #c9a700; }
	.f_c_sasp { color: #ac232f; }
	.f_c_smsp { color: #1c6ecd; }
	.b_c_scsp { background-color: #c9a700; }
	.b_c_sasp { background-color: #ac232f; }
	.b_c_smsp { background-color: #1c6ecd; } 
	.b_c_nonesp{ background-color:unset; } 

	.center,
	.right { text-align: left;}
	
	.leftsp { text-align: left;}
	.centersp { text-align: center;}
	.rightsp { text-align: right;}
	
	.fs10sp { font-size: 1.0rem;}
	.fs12sp { font-size: 1.2rem;}
	.fs14sp { font-size: 1.4rem;}
	.fs15sp { font-size: 1.5rem;}
	.fs16sp { font-size: 1.6rem;}
	.fs18sp { font-size: 1.8rem;}
	.fs20sp { font-size: 2.0rem;}
	.fs24sp { font-size: 2.4rem;}
	.fs25sp { font-size: 2.5rem;}
	
	.text_r70 {
		padding-left: 0;
	}
}

sup {
font-size: 75.5%;
vertical-align: top;
position: relative;
top: -0.1em;
}
sub {
font-size: 75.5%;
vertical-align: bottom;
position: relative;
top: 0.1em;
}

nobor{
	text-decoration:none;
}


/*===== ■4. Box Layout =====*/
.brad05 { border-radius:  5px; }
.brad10 { border-radius: 10px; }
.brad15 { border-radius: 15px; }
.brad20 { border-radius: 20px; }
.brad25 { border-radius: 25px; }
.brad30 { border-radius: 30px; }
.brad35 { border-radius: 35px; }

.circle { border-radius: 50%; }
.circle_Right { border-radius: 0 50% 50% 0; }
.circle_Left { border-radius: 50% 0 0 50%; }

.brad05_nonLeft { border-radius: 0 5px 5px 5px; }
.brad10_nonLeft { border-radius: 0 10px 10px 10px; }

.brad05_top { border-radius:  5px  5px 0 0; }
.brad10_top { border-radius: 10px 10px 0 0; }
.brad25_top { border-radius: 25px 25px 0 0; }
.brad05_btm { border-radius: 0 0  5px  5px; }
.brad10_btm { border-radius: 0 0 10px 10px; }
.brad25_btm { border-radius: 0 0 25px 25px; }

#main_wrapper .flex2,
#main_wrapper .flex2_5050,
#main_wrapper .flexbox2,
#main_wrapper .flexbox2_wide,
#main_wrapper .flex3,
#main_wrapper .flexbox3,
#main_wrapper .flexbox3_wide,
#main_wrapper .flexbox3_mlr50,
#main_wrapper .flexbox3_block,
#main_wrapper .flexbox4,
#main_wrapper .flex4,
#main_wrapper .flex5 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main_wrapper .modal_win .work_interview_list .flexbox2_wide {
	justify-content: flex-start;
    row-gap: 50px;
}
#main_wrapper .flexbox3_mlr30 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
#main_wrapper .flexbox3.menu_btn {
	justify-content: flex-start;
}
#main_wrapper .flexbox3.voice {
	justify-content: flex-start;
    row-gap: 50px;
}
#main_wrapper .flexbox3_block {
    margin: 0 auto;
    width: 86%;
    max-width: 960px;
}
#main_wrapper .flex2 > * { width: calc(50% - 10px);}
#main_wrapper .flex2_5050 > * { width: calc(50% - 10px);}
#main_wrapper .flexbox2 > * { width: calc(50% - 10px);}
#main_wrapper .flex3 > * { width: calc(32.5% - 10px);}
#main_wrapper .flexbox3 > * { width: calc(32.5% - 10px);}
#main_wrapper .flexbox3_mlr30 > * { width: calc(33.3% - 20px);}
#main_wrapper .flexbox3_mlr50 > * { width: calc(33.3% - 50px);}
#main_wrapper .flexbox3.menu_btn > * { width: 250px; }
#main_wrapper .flexbox3.voice > * { width: calc(33.3% - 46px);}
#main_wrapper .flexbox3.menu_tab_btn > * { width: calc(33.3% - 4px);}
#main_wrapper .flexbox3_block > * { width: calc(34% - 18px); }
#main_wrapper .flexbox4 > * { width: calc(25% - 10px);}
#main_wrapper .flexbox4.menu_tab_btn > * { width: calc(25% - 4px);}
#main_wrapper .flex4 > * { width: calc(25% - 10px);}
#main_wrapper .flex5 > * { width: calc(20% - 10px);}
#main_wrapper .flex2_5050 div:nth-child(odd) {
	padding-right: 20px;
}
#main_wrapper .flex2_5050 div:nth-child(even) {
	padding-left: 20px;
}
#main_wrapper .flexbox2_wide .w50.sp15 { width: calc(50% - 15px);}
#main_wrapper .flexbox2_wide .w50.sp40 { width: calc(50% - 40px);}
#main_wrapper .flexbox2_wide .w50.sp80 { width: calc(50% - 80px);}

#main_wrapper .modal_win .work_interview_list .flexbox2_wide div.boxtype_interview {
	min-width: 250px;
	margin: 20px;
    display: flex;
    flex-direction: column;
}

#main_wrapper .flexbox3.voice.two div:last-child.boxtype_interview {
    width: calc(66.6% - 92px);
    padding-right: calc(33.3% - 46px);
    margin-right: 92px;
}
.blockbox3 div {
	display: inline-block;
    margin-bottom: 5px;
	vertical-align: top;	
}
#main_wrapper .flexbox3.menu_btn div { 
	margin-right: 48px;
    margin-bottom: 25px;
}
#main_wrapper .flexbox3.menu_btn div:last-child { margin-right: 0; }
#main_wrapper .flexbox3.voice div.boxtype_interview {
	min-width: 250px;
	margin-right: 46px;
    display: flex;
    flex-direction: column;
}
.boxtype_interview .section_boder {
    flex-grow: 1;
}

.footer_menu.blockbox2 div.blockbox3 p {
	display: inline-block;
    width: calc(33.3% - 13px);
    margin-bottom: 20px;
	/* text-align: center; */
	vertical-align: top;
	min-width: 176px;
}
#main_wrapper .flexbox3_block div {
	position: relative;
    display: block;
    height: 288px;
    text-align: center;
}
#main_wrapper .flexbox3_block.wide div:not(:last-child)::after {
	position:absolute;
	border-right: 1px dotted #240700;
	right:0;
	top:20%;
	content: '';
	width:1px;
	height:70%;
}
#main_wrapper .flexbox3_block .year {
	text-align: right;
    padding: 2rem 2rem 0 0;
}
#main_wrapper .flexbox3_block p:has(img) {
    position: absolute;
    object-fit: cover;
    aspect-ratio: 16 / 9;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
#main_wrapper .flexbox3_block .text {
    position: absolute;
    width: 100%;
    left: 50%;
    top: calc(288px - 8rem);
    -webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);
    line-height: 1;
}

#main_wrapper .flexbox3_block .flexdata .text:first-child {
    width: 50%;
    left: 25%;
    top: calc(288px - 10rem);
	line-height: 1;
}
#main_wrapper .flexbox3_block .flexdata .text:first-child + p.text {
    width: 50%;
    left: 75%;
    top: calc(288px - 10rem);
	line-height: 1;
}
#main_wrapper .flexbox3_block .flexdata .text:first-child::after {
	content:"";
	position:absolute;
	left:100%;
	top:20%;
	border-right: 1px dotted #240700;
	width:1px;
	height:80%;
}

.footer_menu.blockbox2 div.footer_menu_right {
	padding-right: 40px;
}
.footer_menu.blockbox2 div.blockbox3 p {
	font-size: 1.5rem;
	font-weight: 500;
	margin-right: 10px;
}
.footer_menu.blockbox2 div.blockbox3 p::nth-of-type(3n){
	margin-right: 0;
}

.footer_menu.blockbox2 div.blockbox3 a {
	color: #fff;
}

.blockbox3 div:last-child, 
.footer_menu.blockbox2 div.blockbox3 p:last-child {
	margin-right: 0px;
}
.blockbox2 div{
	display: inline-block;
	width: calc(50% - 20px);
	padding: 10px 0 10px 10px;
	margin-bottom: 5px;
	text-align: center;
	text-decoration: none;
}

.footer_menu.blockbox2 {
	display: flex;
}
.footer_menu.blockbox2 div {
	display: inline-block;
	width:50%;
	margin: 0;
	padding: 0;
	text-align: left;
	text-decoration: none;
}

.boxtype_person,
.boxtype_message {
	background-color: #fff;
	background-clip: padding-box;
	margin-bottom: 48px;
	padding: 48px;
}
.boxtype_person { border-right: 1px solid transparent; }
.boxtype_message { border-left: 1px solid transparent; }

.boxtype_person .type_career span:nth-child(1) {
	font-size: 2.0rem; 
    font-weight: 400;
}
.boxtype_person .type_career span:nth-child(2) {
	font-size: 2.5rem;
    font-weight: 400;
}
.boxtype_person .type_career span:nth-child(3) {
	font-size: 2.5rem;
    font-weight: 600;
}

.boxtype_person .type_career {
	margin-bottom: 16px;
}
.boxtype_person .type_photo {
	position: relative;
	margin-bottom: 10px;
}
.boxtype_person .type_photo img {
	object-fit: cover;
	aspect-ratio: 8 / 5;
}
.boxtype_person .type_photo > span {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 6px 9px;
	border: 2px solid #240700;
	background-color: #240700;
	color: #fff;
	border-radius: 0 0 0 10px;
	font-size: 1.5rem;
    font-weight: 600;
	-webkit-transform: translateY(-6px);
    transform: translateY(-6px);
}
.boxtype_person .type_name {
	clear: both;
	font-size: 2.5rem;
	font-weight: 600;
	margin-bottom: 8px;
}
.boxtype_person .type_dept {
	display: block;
	font-size: 1.5rem;
	font-weight: 400;
}
.boxtype_message .title {
	font-size: 2.0rem;
	font-weight: 600;
	margin-bottom: 24px;
}
.boxtype_message .message {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 2;
}

.box_polygon,
.box_polygon_white {
    position: relative;
    width: 248px;
    height: 40px;
	text-align: center;
	line-height: 40px;
    font-size: 2.0rem;
    font-weight: 600;
}
.box_polygon_small {
	display: block;
	position: relative;
	top: 16px;
	width: calc(60% - 16px);
	height: 32px;
	text-align: center;
	line-height: 32px;
	font-size: 1.5rem;
	font-weight: 500;
}
.box_polygon,
.box_polygon_small {
    border: 1px solid #240700;
    background: #240700;
    color: #fff;
}
.box_polygon_white {
    border: 1px solid #fff;
    background: #fff;
    color: #240700;
}
.box_polygon::after,
.box_polygon_white::after {
    position: absolute;
    top: -1px;
    right: -41px;
    border-top: 20px solid transparent;
    border-right: 20px solid  transparent;
    border-bottom: 20px solid transparent;
    content: "";
}
.box_polygon_small::after {
    position: absolute;
    top: -1px;
    right: -32px;
    border-top: 16px solid transparent;
    border-right: 16px solid  transparent;
    border-bottom: 16px solid transparent;
    content: "";
}
.box_polygon::after {
    border-left: 20px solid #240700;
}
.box_polygon_small::after {
    border-left: 16px solid #240700;
}
.box_polygon_white::after {
    border-left: 20px solid #fff;
}

.box_rounded {
    border-radius: 15px 15px 15px 0px;
    background: #240700;
    color: #fff;
    padding: 16px 24px;
    font-size: 4.0rem;
    font-weight: bold;
}
.move_stap {
    font-size: 1.5rem;
	font-weight: 700;
}

.move_step_title span {
	margin: 0 0 0 5px;
}
.bottom_downArr {
	position: relative;
	display: inline-block;
    width: calc(100% - 45px); /* width: 250px; */
    padding: 14px 32px 14px 16px;
    border-radius: 5px;
    border: 2px solid #240700;
    background-color: #fff;
    font-size: 2.0rem;
	font-weight: 600;
}
.bottom_downArr::after {
    position: absolute;
    top: 46%;
    right: 24px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #240700;
    border-left: 2px solid #240700;
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
    transform: translateX(-50%) translateY(-50%) rotate(-135deg);
    content: '';
}
.join_us_box {
    display: flex;
    justify-content: space-between;
}
.join_us_box .join_us_item {
    display: flex;
    flex: 1 0 auto;
}
.join_us_item {
    width: 50%;
    padding: 0px;
    margin-bottom: 0px;
}
.join_us_item a {
	position: relative;
	display: inline-block;
    width: calc(100% - 24px);
    padding: 120px 0px;
    border-radius: 10px;
    border: 12px solid #fff;
    background-color: #fff;
	font-size: 5.0rem;
	font-weight: 700;
}
.join_us_box div:nth-child(odd) a {
	margin-right: 12px;
}
.join_us_box div:nth-child(even) a {
	margin-left: 12px;
}
.join_us_item a > span {
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 0 75px 35px 0;
    font-size: 1.5rem;
	font-weight: 600;
}
.join_us_item a .arrow::before {
    right: 44px;
    width: 12px;
    height: 2px;
    background:#240700;
}
.join_us_item a .arrow::after {
    right: 45px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #240700;
    border-right: 2px solid #240700;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.join_us_item a .arrow::before, 
.join_us_item a .arrow::after {
	position: absolute;
    top: 0;
    bottom: 36px;
    margin: auto;
    vertical-align: middle;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    content: "";
}

.boxtype_interview a {
	display: inline-block;
}
.boxtype_interview .type_index {
	display: inline-block;
	padding: 7px 10px;
	/* min-width: 140px; */
	font-weight: 600;
	font-size: 1.5rem;
	border: 1px solid #240700;
	background: #240700;
	border-radius: 10px 10px 0 0;
	color: #fff;
	text-align: center;
}
.boxtype_interview .type_photo {
	border-radius: 0 10px 10px 10px;
	border: 2px solid #240700;
	width: 100%;
}
.boxtype_interview .type_photo img {
	border-radius: 0 10px 10px 10px;
	max-width: 100%;
	height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 16 / 9;
}
.boxtype_interview .type_text {
	display: block;
    border: 2px solid #240700;
    border-radius: 0 10px 10px 10px;
	padding: 15px 12px;
	width: 256px;
	background-color: #fff;
	margin-bottom: 0;
}
.boxtype_interview .type_voice {
	font-weight: 600;
	font-size: 2.0rem;
	margin-bottom: 20px;
}
.boxtype_interview .type_name {
	align-items: stretch;
	font-weight: 600;
	font-size: 2.5rem;
}
.boxtype_interview .type_dept {
	position: relative;
	margin-bottom: 20px;
	font-size: 1.5rem;
	font-weight: 400;
}
.boxtype_interview .type_text .type_dept {	
	margin-bottom: 0;
}
.voice_white_box{
    position: relative;
    background-color: #fff;
    padding: 60px;
    border-radius: 10px;
}

.number_circle span {
    display: inline-block;
	vertical-align: middle;
    font-weight: bold;
}
.number_circle span:first-child{
    width: 33px;
    height: 33px;
    border-radius: 50%;
    background: #fff;
    text-align: center;
    font-weight: bold;
    display: inline-block;
    line-height: 33px;
    margin-right: 10px;
}
.number_circle span:first-child + span {
	font-size: 3.0rem;
}

.workstyle_white_box_np{
	position: relative;
	height: auto;
	background-color: #fff;
    padding: 0px;
    border-radius: 8px;
}
.workstyle_white_box{
	padding: 32px;
	height: auto;
	background-color: #fff;
    border-radius: 8px;
}
.padSize{
	padding: 92px 48px 40px 48px;
}

.workstyle_white_box div{
	display: inline-block;
}

.workstyle_white_box.worlk {
	position: relative;
	padding: 0;
    border-radius: 10px;
}
.workstyle_white_box.worlk a {
	padding: 40px 40px;
	display:block;
	cursor: pointer;
}
.workstyle_white_box.worlk a:hover {
	opacity: 0.5;
}
.workstyle_white_box.worlk a div {
	display: flex;
}
.workstyle_white_box.worlk a div figure {
	margin: 0;
	padding: 0;
}
#article .workstyle_white_box.worlk a div figure img {
	width: 78px;
	height: auto;
}
.workstyle_white_box.worlk a div span {
	display:inline-block;
    font-size: 1.8rem;
	margin: 0;
	padding: 0 0 70px 20px;
}
.workstyle_white_box.worlk a h4 {
	position: absolute;
    bottom: 40px;
    left: 40px;
}

.workstyle_logo_black_box{
	font-size: 1.5rem;
	font-weight: bold;
	background-color: #240700;
	color: #ffffff;
	text-align: center;
	border-radius: 5px 1px;
	padding: 16px 24px;
	position: absolute;
	top: 0px;
	left: 0px;
}

.workstyle_black_box{
	background-color: #240700;
	border-radius:8px;
	color: #ffffff;
	display: inline-block;
	font-size: 1.5rem;
	left: 50%;
	padding: 15px 16px;
	position: absolute;
	transform: translate(-50%,-50%);
	text-align: center;
	top: 0%;
	width: 70%;
	-webkit-transform:translate(-50%,-50%);
	z-index: 1000;
}

.workstyle_black_box2{
	background-color: #240700;
	border-radius:8px;
	color: #ffffff;
	display: inline-block;
	font-size: 1.5rem;
	left: 50%;
	padding: 15px 16px;
	position: absolute;
	transform: translate(-50%,-50%);
	top: 0%;
	text-align: center;
	-webkit-transform:translate(-50%,-50%);
	width: 45%;
	z-index: 1001;
}

.workstyle_white_box2{
    position: relative;
    background-color: #fff;
    padding: 60px 40px 30px;
    border-radius: 10px;
}

.workstyle_white_box3{
	display: block;
	background-color: #fff;
	border:solid 2px;
	border-radius: 10px;
	padding: 20px;
	text-align: center;
	width: 40%;
	margin: 0 auto;
}


#article .icon_box img{
	width: 48px;
	vertical-align: middle;
	padding-right: 10px;
}
#article .icon_box span{
	vertical-align: middle;
}
.img_fit{
	width: auto;
	object-fit: cover;
	aspect-ratio: 2/1;
	height: 100%;
	border-radius: 0px 8px 8px 0px;
	-webkit-transform: none;
	transform: none;
}
.img_fit.absl_center{
	-webkit-transform: translate(-30%,80%);
	transform: translate(-30%,80%);
}
.photo_workstyle{
	object-fit: cover;
	aspect-ratio: 25 / 14;
}

@media only screen and (max-width: 1279px){
	#main_wrapper .flexbox3_mlr50 > * {
		margin-bottom: 10px;
		width: 45%;
	}	
}

@media only screen and (max-width: 1191px){
	#main_wrapper .flexbox3_block {
		width: 100%;
		max-width: none;
	}
	#main_wrapper .flexbox3_block .year {
		text-align: left;
		padding: 60px  0 0 24px;
	}
	#main_wrapper .flexbox3_block .year.pc {
		display: none;
	}
	#main_wrapper .flexbox3_block .text .sp {
		display: block;
	}
	#main_wrapper .flexbox3_mlr30 > * { width: calc(50.0% - 30px);}
}

@media only screen and (max-width: 1104px){
	#main_wrapper .flexbox3.voice > * {
		width: calc(50% - 46px);
	}
	#main_wrapper .flexbox3.voice.two div:last-child.boxtype_interview {
		width: calc(50% - 46px);
		padding-right: 0;
	}
	.number_circle span:first-child + span {
		font-size: 2.5rem;
	}
	
	#main_wrapper .flex5.crosstalk > * {
		width: calc(33.3% - 10px);
		margin-bottom: 10px;
	}
	#main_wrapper .flex5 {
		justify-content: flex-start;
	}
}

@media only screen and (max-width: 1054px){
	#main_wrapper .modal_win .work_interview_list .flexbox2_wide div.boxtype_interview { width: calc(100% - 40px); }
	#main_wrapper .modal_win .work_interview_list .flexbox2_wide div.boxtype_interview {
		margin-right: 0;
		margin-bottom: 30px;
	}
}

@media only screen and (max-width: 1024px){
	.footer_menu.blockbox2 div.blockbox3 p {
		width: calc(50% - 15px);
		min-width: 152px;
	}
	.number_circle span:first-child + span {
		font-size: 2.0rem;
	}
	
	/*#main_wrapper .flex4 > *{
		width: calc(50% - 10px);
		margin-bottom: 24px;
		}*/
	
}

@media only screen and (max-width: 849px){

	.footer_menu.blockbox2 { display: inline-block; }
	.blockbox2 div { width: calc(100% - 20px); }
	.footer_menu.blockbox2 div{ width: 100%; }
	.blockbox3 div { width: calc(100% - 20px); }
	
	.footer_menu.blockbox2 div.blockbox3 p:not(:last-child) {
		margin-right: 0;
	}
	.footer_menu.blockbox2 div.blockbox3 p:nth-child(odd) {
		margin-right: 24px;
	}
	.footer_menu.blockbox2 div.blockbox3 p {
		width: calc(50% - 15px);
		min-width: auto;
	}
	.footer_menu.blockbox2 div.footer_menu_right {
		padding-right: 0;
	}
}

@media only screen and (max-width: 750px){
	.brad05sp { border-radius:  5px; }
	.brad10sp { border-radius: 10px; }
	.brad15sp { border-radius: 15px; }
	.brad20sp { border-radius: 20px; }
	.brad25sp { border-radius: 25px; }
	.brad30sp { border-radius: 30px; }
	.brad35sp { border-radius: 35px; }
	
	.circlesp { border-radius: 50%; }
	
	.brad05_nonLeftsp { border-radius: 0 5px 5px 5px; }
	.brad10_nonLeftsp { border-radius: 0 10px 10px 10px; }
	
	.brad05_topsp { border-radius:  5px  5px 0 0; }
	.brad10_topsp { border-radius: 10px 10px 0 0; }
	.brad25_topsp { border-radius: 25px 25px 0 0; }
	.brad05_btmsp { border-radius: 0 0  5px  5px; }
	.brad10_btmsp { border-radius: 0 0 10px 10px; }
	.brad25_btmsp { border-radius: 0 0 25px 25px; }

	#main_wrapper .flex2 > *,
	#main_wrapper .flex3 > *,
	#main_wrapper .flex5 > *,
	#main_wrapper .flex5.crosstalk > * { width: calc(50% - 10px); margin-bottom: 10px;}
	#main_wrapper .flex4 > *{
		width: 100%;
		margin-bottom: 24px;
	}

	#main_wrapper .flex4 > *:last-child{
		margin-bottom: 0px;
	}

	#main_wrapper .flex2sp{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	#main_wrapper .flex2_5050 > * ,
	#main_wrapper .flexbox2 > * ,
	#main_wrapper .flexbox2_wide > * ,
	#main_wrapper .flexbox3 > * ,
	#main_wrapper .flexbox3_wide > * ,
	#main_wrapper .flexbox4 > * { width: 100%; margin-bottom: 10px;}
	#main_wrapper .flexbox4.menu_tab_btn > * {width: calc(100% - 4px);}
	
	#main_wrapper .flexbox3_mlr30 > * ,
	#main_wrapper .flexbox3_mlr50 > * { width: 100%; margin-bottom: 10px;}

	#main_wrapper .flexbox3.voice > *,
	#main_wrapper .flexbox3.voice.two div:last-child.boxtype_interview { width: 100%; }
		
	#main_wrapper .flexbox3_block > * { width: 100%; }

	#main_wrapper .flexbox3_block.wide div:nth-child(1),
	#main_wrapper .flexbox3_block.wide div:nth-child(2) {
		width: 50%; 
	} 
	#main_wrapper .flexbox3_block.wide div:nth-child(3) {
		width: 100%; 
	} 
	#main_wrapper .flexbox3_block.wide div:nth-child(2)::after {
		content:"";
		border-right: none;
	}

	#main_wrapper .flexbox2_wide .w50.sp15.w100sp,
	#main_wrapper .flexbox2_wide .w50.sp40.w100sp,
	#main_wrapper .flexbox2_wide .w50.sp80.w100sp  { width: 100%; }
	
	#main_wrapper .flex2_5050, 
	#main_wrapper .flexbox2, 
	#main_wrapper .flexbox2_wide, 
	#main_wrapper .flexbox3, 
	#main_wrapper .flexbox3_wide, 
	#main_wrapper .flexbox4  {
		display: block;
	}	
	#main_wrapper .flex2_5050 div:nth-child(odd) {
		padding-right: 0;
	}
	#main_wrapper .flex2_5050 div:nth-child(even) {
		padding-left: 0;
	}
	#main_wrapper .flexbox3.menu_btn div {
		margin-right: 0;
	}
	#main_wrapper .flexbox3.voice div.boxtype_interview,
	#main_wrapper .flexbox3.voice.two div:last-child.boxtype_interview {
		margin-right: 0;
		margin-bottom: 30px;
	}

	.voice_white_box .flex2_5050.img_ct02 { display: flex; }
	.voice_white_box .flex2_5050.img_ct02> * { width: calc(50% - 10px);}
	.voice_white_box .flex2_5050.img_ct02 div:nth-child(odd) {
		padding-right: 20px;
	}
	.voice_white_box .flex2_5050.img_ct02 div:nth-child(even) {
		padding-left: 20px;
	}
	
	.bottom_downArr {
	    width: calc(85% - 45px); /* width: 250px; */
		font-size: 1.8rem;
		padding: 10px 12px 10px 16px;
	}

	.join_us_box,
	.join_us_box .join_us_item { display: block; }
	.join_us_item {
		width: 100%;
		text-align: left;
	}
	.join_us_item a {
		width: calc(100% - 60px);
	    padding: 25px 20px;
		margin: 0px 0px 10px 0px;
	}
	.join_us_item a span {
		padding: 0 45px 35px 0;
	}
	.join_us_box div:nth-child(odd) a { margin-right: 0; }
	.join_us_item a {
		font-size: 3.5rem;
	}
	.join_us_box div:nth-child(even) a {
		margin-left: 0;
	}
	.join_us_item a .arrow::before {
		right: 20px;
	}
	.join_us_item a .arrow::after {
		right: 20px;
	}
	.box_polygon {
		font-size: 1.5rem;
		font-weight: 600;
		width: 176px;
		height: 32px;
		line-height: 32px;
	}
	.box_polygon_white {
		font-size: 1.5rem;
		font-weight: 600;
		width: 160px;
	}
	.box_polygon_small {
		top: 12px;
		width: calc(80% - 12px);
		height: 24px;
		line-height: 24px;
		font-size: 1.5rem;
	}
	.box_polygon::after {
		position: absolute;
		top: -1px;
		right: -32px;
		border-top: 16px solid transparent;
		border-right: 16px solid transparent;
		border-bottom: 16px solid transparent;
		content: "";
	}
	.box_polygon::after {
		border-left: 16px solid #240700;
	}
	.box_polygon_small::after {
		top: -1px;
		right: -24px;
		border-top: 12px solid transparent;
		border-right: 12px solid  transparent;
		border-bottom: 12px solid transparent;
		content: "";
	}
	.box_polygon_small::after {
		border-left: 12px solid #240700;
	}

	#main_wrapper .boxtyp_person,
	#main_wrapper .boxtype_message {
		background-color: #fff;
		background-clip: border-box;
		padding: 24px 24px 48px 24px;
	}
	#main_wrapper .boxtype_person {
		margin-bottom: 48px;
	}
	#main_wrapper .boxtype_message {
		margin-bottom: 48px;
	}
	#main_wrapper .boxtype_person.message_op  {
		margin-bottom: 0px;
	}
	
	.boxtype_person {
		clear: both;
		border-right: none;
	    border-radius: 25px;
    }
	.boxtype_person.message_op {
    	border-radius: 25px 25px 0 0;
	}
	.boxtype_person #type_message_op {
        display: block;
	}
	.boxtype_person.message_op #type_message_op {
		display: none;
	}
	.boxtype_message {
		border-left: none;
	}
	.boxtype_message.message_cl {
		display: none;
    }
    .boxtype_message #type_message_cl {
        display: block;
    }
    .boxtype_message.message_cl #type_message_cl {
        display: none;
    }

	.boxtype_person .type_career {
		margin-bottom: 12px;
	}
	.boxtype_person .type_photo {
		margin-bottom: 38px;
	}
	.boxtype_person .type_photo span {
		-webkit-transform: translateY(-4px);
		transform: translateY(-4px);
	}
	.boxtype_person .type_name {
		float: left;
		margin-bottom: 0;
		padding-right: 34px;
	}
	.boxtype_person .type_dept {
		display:inline-block;
		vertical-align: middle;
	}
	.boxtype_person {
		position: relative;		
	}
	.boxtype_message {
		position: relative;		
	}
	.boxtype_person > #type_message_op,
	.boxtype_message > #type_message_cl {
		position: absolute;
		height: 48px;
		left: 50%;
		bottom: 0;
		-webkit-transform: translate(-50%, 24px);
		transform: translate(-50%, 24px);
		display: inline-block;
		margin: 0 auto;
		height: 48px;
		line-height: 48px;
		padding: 0px 80px  0px 13px;
		border: 1px solid #707070;
		background-color: #636262;
		color: #fff;
		border-radius: 24px;
		font-size: 1.5rem;
		font-weight: 600;
		cursor: pointer;
	}
	.boxtype_person #type_message_op span::before,
	.boxtype_person #type_message_op span::after,
	.boxtype_message #type_message_cl span::before,
	.boxtype_message #type_message_cl span::after {
		position: absolute;
		top: 50%;
		right: 13px;
		width: 16px;
		height: 2px;
		background: #fff;
		content: '';
	}
	.boxtype_person #type_message_op span::before,
	.boxtype_person #type_message_op span::after,
	.boxtype_message #type_message_cl span::before,
	.boxtype_message #type_message_cl span::after  {
		width: 16px;
	}
	.boxtype_person #type_message_op span::before {
		-webkit-transform: translate(-50%) rotate(0deg);
		transform: translate(-50%) rotate(0deg);
	}
	.boxtype_person #type_message_op span::after {
		-webkit-transform: translate(-50%) rotate(90deg);
		transform: translate(-50%) rotate(90deg);
	}
	.boxtype_message #type_message_cl span::before {
		-webkit-transform: translate(-50%) rotate(45deg);
		transform: translate(-50%) rotate(45deg);
	}
	.boxtype_message #type_message_cl span::after {
		-webkit-transform: translate(-50%) rotate(-45deg);
		transform: translate(-50%) rotate(-45deg);
	}
	#main_wrapper .flexbox3_block div {
		height: 171px;
	}
	#main_wrapper .flexbox3_block.wide div:nth-child(1),
	#main_wrapper .flexbox3_block.wide div:nth-child(2),
	#main_wrapper .flexbox3_block .spflex {
		height: 228px;
		margin-bottom: 30px;
	}
	#main_wrapper .flexbox3_block p:has(img) {
		left: 85%;
		top: 30%;
	}
	#main_wrapper .flexbox3_block.wide div:nth-child(1) p:has(img),
	#main_wrapper .flexbox3_block.wide div:nth-child(2) p:has(img) {
		left: 50%;
    	top: 50%;
	}
	#main_wrapper .flexbox3_block .spflex p:has(img) {
		left: 50%;
    	top: 40%;
	}
	#main_wrapper .flexbox3_block .text {
		top: 65%;
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}
	#main_wrapper .flexbox3_block.wide div:nth-child(1) .text,
	#main_wrapper .flexbox3_block.wide div:nth-child(2) .text {
		top: calc(288px - 14rem);
		left: 50%;
		-webkit-transform: translate(-50%,0);
		transform: translate(-50%,0);
	}
	#main_wrapper .flexbox3_block .flexdata .text:first-child,
	#main_wrapper .flexbox3_block .flexdata .text:first-child + p.text {
		top: calc(288px - 14rem);
	}
	.boxtype_interview .type_text {
		display: flex;
		padding: 20px;
		width: 100%;
		margin-bottom: 70px;
	}
	.boxtype_interview .type_text .type_dept {
		margin-left: 20px;
	}
		
	.img_fit{
		border-radius: 0px 0px 8px 8px;
		-webkit-transform: translateY(10px);
		transform: translateY(10px);
	}
	.img_fit.absl_center{
		-webkit-transform: none;
		transform: none;
	}
}

@media only screen and (max-width: 400px) {
	#main_wrapper .flex5.crosstalk {
		display:block;
	}
	#main_wrapper .flex5.crosstalk > * {
		width: 100%; margin-bottom: 10px;
	}
}

/*===== ■5. Table Style =====*/
.tbl_length {
	width: calc(100% - 150px);
	border: none;
	border-top: 1px solid #dfdbda;
}
.tbl_length th {
	width: 25%;
	padding: 20px 0;
    font-size: 2.0rem;
    font-weight: 600;
	line-height: 2.0
}
.tbl_length td {
	width: 75%;
	padding: 20px 40px 20px 0;
    font-size: 1.5rem;
    font-weight: 400;
	line-height: 2.0;
}
.tbl_length th,
.tbl_length td {
	border-bottom: 1px solid #dfdbda;
}
.tbl_length a {
    color: #065fd4;
    text-decoration: underline;
}
.tbl_length td.preline {
	word-break: keep-all;
}
.tbl_length td.tabspace_120 p,
.tbl_length td.tabspace_160 p {
	display: block;
}
.tbl_length td.tabspace_120 .item {
	display: inline-block;
	width: 120px;
}
.tbl_length td.tabspace_160 .item {
	display: inline-block;
	width: 160px;
}
#non_switchbox h3 {
	padding: 10px 0;
	border-bottom: 1px solid #dfdbda;
}
#non_switchbox .tbl_length.career {
	width: calc(100% - 40px - 2.5rem);
    margin: 0 40px 0 2.5rem;
	border-top: none;
}

@media only screen and (max-width: 750px){
	.tbl_length {
		width: calc(100% - 40px);
	}
	.tbl_length th {
		clear: both;
		display: block;
		width: 100%;
		padding: 20px 40px 0 0;
		border-bottom: none;
	}
	.tbl_length td {
		display: block;
		width: 100%;
		padding: 0 40px 20px 0;
	}
	.tbl_length td.tabspace_120 p,
	.tbl_length td.tabspace_160 p {
		display: flex;
		justify-content: space-between;
	}
}

/*===== ■6. Tab layout =====*/
#main_wrapper .flexbox3.menu_tab_btn, 
#main_wrapper .flexbox4.menu_tab_btn {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main_wrapper .flexbox3.menu_tab_btn > *,
#main_wrapper .flexbox4.menu_tab_btn > * {
	margin-bottom: 0;
}

.flexbox3.menu_tab_btn div,
.flexbox4.menu_tab_btn div {
	text-align: center;
	margin: 0 auto;
}
.tab_btn_arcive {
	position: relative;
	padding: 30px 0;
	line-height: 30px;
    font-size: 2.5rem;
    font-weight: 600;
	color: #240700;
	border-radius: 10px 10px 0 0;
	border-bottom: 1px solid #fff;
	background-color: #fff;
}
.tab_btn a {
	padding: 20px 0;
    font-size: 2.5rem;
    font-weight: 600;
	display: block;
	color: #fff;
	border-radius: 10px 10px 0 0;
	border-bottom: 1px solid #636262;
	background-color: #636262;
}
.tab_btn_arcive span::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	border-right: 12px solid transparent;
	border-top: 18px solid #240700;
	border-left: 12px solid transparent;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	content: "";
}

@media only screen and (max-width: 980px){
	.tab_btn_arcive {
		font-size: 2.0rem;
	}
	.tab_btn a {
		font-size: 2.0rem;
	}
}

@media only screen and (max-width: 750px){
	.tab_btn_arcive {
		position: relative;
		padding: 16px 0 24px 0;
		line-height: 20px;
		font-size: 1.5rem;
	}
	.tab_btn a {
		padding: 14px 0;
		font-size: 1.5rem;
		border-radius: 0;
		border-bottom: 1px solid #fff;
	}
	.tab_btn_arcive span::after {
		position: absolute;
		top: 70%;
		bottom: auto;
		left: 50%;
		border-right: 8px solid transparent;
		border-top: 12px solid #240700;
		border-left: 8px solid transparent;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		content: "";
	}
}

/*===== ■7. Flow =====*/

.recruit_flow {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.recruit_flow p {
	width: calc(12.5% - 30px);
	max-width: 80px;
	min-width: 80px;
    height: 380px;
	margin-bottom: 20px;
	text-align: center;
	padding: 10px 10px 15px 10px;
	color: #240700;
	background-color: #fff;
	border: 2px solid #828181;
	border-radius: 5px;
}
.recruit_flow .stepno {
	display: inline-block;
	padding-bottom: 10px;
    font-size: 1.5rem;
    font-weight: 700;
}
.recruit_flow .stepitem {
	display: inline-block;
	padding-top: 10px;
	width: 2.5rem;
    font-size: 2.0rem;
    font-weight: 700;
}
.recruit_flow p:last-child {
	color: #fff;
	background-color: #828181;
}
.recruit_flow .stepborder {
	border-bottom : 1px solid #828181;
}
.recruit_flow p:last-child .stepborder {
	border-bottom : 1px solid #fff;
}
.recruit_flow .steparrow {
	display: block;
	width: 10px;
	height: 10px;
	margin: auto 10px;
	border-top: solid 2px #240700;
	border-right: solid 2px #240700;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.workstyle_arrow{
	display: inline-block;
	vertical-align: middle;
	color: #333;
	line-height: 1;
	position: relative;
	width: 2px;
	height: 48px;
	background: currentColor;
} 
.workstyle_arrow::before{
	content: '';
	width: 12px;
	height: 0.65em;
	border: 2px solid currentColor;
	border-top: 0;
	border-right: 0;
	transform: rotate(-45deg);
	transform-origin: bottom left;
	position: absolute;
	left: 40%;
	bottom: -1px;
	box-sizing: border-box;
}
.workstyle_arrow2 {
	display: inline-block;
	vertical-align: middle;
	color: #333;
	line-height: 1;
	position: relative;
	width: 0.1em;
	height: 35em;
	background: currentColor;
	margin: 0 30px;
} 
.workstyle_arrow2::before{
	content: '';
	width: 0.65em;
	height: 0.65em;
	border: 0.1em solid currentColor;
	border-top: 0;
	border-right: 0;
	transform: rotate(-45deg);
	transform-origin: bottom left;
	position: absolute;
	left: 50%;
	bottom: -0.1rem;
	box-sizing: border-box;
}

@media only screen and (max-width: 1060px) {
	.recruit_flow.item8 {
		justify-content: flex-start;
	}
}
@media only screen and (max-width: 948px) {
	.recruit_flow.item7 {
		justify-content: flex-start;
	}
}
@media only screen and (max-width: 838px) {
	.recruit_flow.item6 {
		justify-content: flex-start;
	}
}
@media only screen and (max-width: 750px){	
	.recruit_flow {
		display: block;
		width: calc(100% - 40px);
	}
	.recruit_flow p {
		max-width: initial;
		max-width: auto;
		min-width: initial;
		min-width: auto;
		width: 100%;
		height: auto;
		padding: 16px 0 12px 0;
	}
	.recruit_flow .stepno {
		padding-bottom: 0;
		font-size: 1.5rem;
	}
	.recruit_flow .stepitem {
		width: auto;
		padding-top: 0;
		font-size: 2.0rem;
	}	
	.recruit_flow .steparrow {
		display: block;
		width: 10px;
		height: 10px;
		margin: 10px auto;
		border-top: solid 2px #240700;
		border-right: solid 2px #240700;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	
}


/*===== ■8. Contacts Flexbox =====*/
/*===== ■9. Video =====*/

/*===== ■10. Slider =====*/
#top_slider_photo {
	position: relative;
	width: 100%;
}
#top_slider_photo .slider_container {
	margin: 0 auto;
	width: 100%;
}
#top_slider_photo .slider_imgs {
	margin: 0;
}
#top_slider_photo_16 .slider_imgs {
	margin: 0 5px;
}
#top_slider_photo .slider_imgs img {
	height: auto;
	width: 100%;
}
#top_slider_photo .slick-dots {
	display: none;
}
#top_slider_photo > .more_circle {
    position: absolute;
    display: inline-block;
    top: 100%;
    right: 5%;
    width: 144px;
    height: 144px;
    border-radius: 50%;
    border: 1px solid #dcd7d7;
    color: #333344;
    background: #fff;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
}

@media only screen and (max-width: 750px){
	#top_slider_photo .more_circle {
		top: 0;
		right: 10%;
		width: 96px;
		height: 96px;
		-webkit-transform: translate(0,-50%);
		transform: translate(0,-50%);
	}

}

/*===== ■11. Image Layout =====*/

.img_override {
	position: relative;
}
.img_override img {
	z-index: -1;
}
.img_override > p.move_step_title {
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: translate(0,-70px);
    transform: translate(0,-70px);
}

.correlation_diagram_img {
	position: relative;
    width: 100%;
    margin: 0 auto;
	padding: 0;
}

.correlation_diagram_img > .img_zoom {
	position: absolute;
	bottom: -35px;
}
.correlation_diagram_img {
	overflow: auto;
    -ms-overflow-style: none;
}
.correlation_diagram_img::-webkit-scrollbar {
    display: none;
}
.correlation_diagram_img.active {
	position: relative;
	display: inline-block;
	overflow: scroll;
}
  
img[usemap] {
	width: 100%;
	min-width: auto;
    max-width: 100%;
    height: auto;
}
  
#article .correlation_diagram_img.active > img {
	min-width: 100%;
	max-width: initial;
    width: auto;
    height: auto;
	overflow: hidden;
}
  
#article .correlation_diagram_img.active > img:hover {
    cursor : move;
}

#zoom_inout {
	display: none;
    position: relative;
	width: 72px;
	height: 72px;
	-webkit-transform: translate(0,-50%);
	transform: translate(0,-50%);
	color: #fff;
	background-color: #737375;
	border: 1px solid #737375;
	border-radius: 10%;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	padding-top: 42px;
	cursor: pointer;
}
#zoom_inout span.tglText {
	font-size: 1.2rem;
}
#zoom_inout span.tglText:before {
    position: absolute;
    top: 10px;
    left: 50%;
    width: 24px;
    height: 24px;
    box-sizing: border-box;
    border: 2px solid #fff;
    border-radius: 50%;
	-webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);
    content: "";
}
#zoom_inout span.tglText:after {
    position: absolute;
    top: 34px;
    left: 60%;
	-webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 12px;
    height: 2px;
    box-sizing: border-box;
	background-color: #fff;
    content: "";
}
#zoom_inout span.tlgarrow::before {
	position: absolute;
	left: inherit;
	top: 21px;
    left: 50%;
	width: 12px;
	height: 2px;
	border: none;
	background: #fff;
	-webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);
	content: '';
}
#zoom_inout span.tlgarrow::after {
	position: absolute;
	left: inherit;
	top: 16px;
	left: 50%;
	border: none;
	background: #fff;
	-webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);
	content: '';
}
#zoom_inout.active span.tlgarrow::after {
	top: 21px;
    left: 50%;
	width: 12px;
	height: 2px;
}
#zoom_inout span.tlgarrow::after {
	width: 2px;
	height: 12px;
}

img[usemap] {
    max-width: 100%;
    height: auto;
}
div:has(.aspect_message) p {
	display: block;
    position: relative;
}
div:has(.aspect_message) p > span:nth-child(2) {
	font-size: 1.5rem;
    position: absolute;
	top: 37%;
	left: 68%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
div:has(.aspect_message) p > span:nth-child(3){
	font-size: 2.5rem;
    position: absolute;
	top: calc(37% + 2.5rem);
	left: 68%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
#zoom_in, #zoom_out { display: none; }

@media only screen and (max-width: 1028px){
	div:has(.aspect_message) p > span:nth-child(2) {
		font-size: 1.1rem;
	}
	div:has(.aspect_message) p > span:nth-child(3){
		font-size: 2rem;
	}
}

@media only screen and (max-width: 750px){
	.img_override > p.move_step_title {
		position: absolute;
		top: 0;
		left: 0;
		-webkit-transform: translate(0,-50px);
		transform: translate(0,-50px);
	}
	#zoom_inout {
		display: block;
		z-index: 1;
	}
}

/*===== ■12. Message Bubble & Message Box =====*/

.message_image_side_box {
    max-width: 1300px;
	display: block;
	padding: 0 215px;
    margin: 0 auto;
}
.talk_session {
	display: block;
	width: 100%;
}
.talk_session_r {
	text-align: right;
}
.talk_session_l {
	text-align: left;
}

.message_image_side_box h5,
.message_image_right_box h5, 
.message_image_left_box h5 {
	text-align: center;
    position: relative;
	width: 100%;
	height: auto;
}
.message_image_side_box h5 {
	padding-bottom: 50px;
}
.message_image_side_box h5 > p:nth-child(2) {
	position: absolute;
	height:auto;
	top: 25%;
	left: calc(50% - 448px);
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.message_image_side_box h5 > p:nth-child(3) {
	position: absolute;
	height:auto;
	top: 25%;
	right: calc(50% - 448px);
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}


#article .message_image_right_box h5 > img, 
#article .message_image_left_box h5 > img {
    position: absolute;
	top: 0;
	width: 20%;
	height: auto;
	object-fit: cover;
	z-index: -1;
}
#article .message_image_right_box h5 > img {
	right: 0;
}
#article .message_image_left_box h5 > img {
	left: 0;
}
.speech_bubble_gray {
    position: relative;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
    padding: 15px 24px;
	margin-left: 38%;
    border-radius: 20px;
    border: 1px solid #707070;
    background: #636262;
    color: #fff;
    font-weight: bold;
    font-size: 1.8rem;
}
.speech_bubble_gray::before {
    position: absolute;
    content: "";
    top: 100%;
    left: 70%;
    border-top: 0px solid transparent;
    border-right: 12px solid #636262;
    border-left: 6px solid transparent;
    border-bottom: 12px solid transparent;
}

.speech_bubble_list,
.speech_bubble_list_3less {
	text-align: center;
	max-width: none;
	border: none;
}
.world_bubble_list {
	text-align: left;
	max-width: none;
	border: none;
}
.speech_bubble_list li {
	display: flex;
	justify-content: center;
	text-align: center;
	vertical-align: middle;
}
.speech_bubble_list_3less li {
	text-align: center;
	vertical-align: middle;
	display: inline-block;
}
.speech_bubble_list li p,
.speech_bubble_list_3less li p {
	padding: 0 20px;
	margin: 0;
}
.world_bubble_list p {
	padding: 0 20px;
	margin: 0;
}
.speech_bubble_list li span,
.speech_bubble_list_3less li span,
.world_bubble_list p span {
    position: relative;
	display: inline-block;
    padding: 25px 40px;
	margin-right: 24px;
	height: auto;
    border-radius: 100vh;
    border: 1px solid #fff;
    background: #fff;
    color: #240700;
    font-weight: bold;
    font-size: 1.8rem;
}
/* 左向き */
.speech_bubble_list li p span::before,
.speech_bubble_list_3less li p span:before,
.world_bubble_list p span:before {
    position: absolute;
    content: "";
    top: 100%;
    left: 50%;
    border-top: 0px solid transparent;
	border-right: 18px solid transparent;
	border-left: 15px solid #fff;
    border-bottom: 18px solid transparent;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.speech_bubble_list_3less.ellipse li p span:before {
    content: none;
}
/* 右向き */
.shape_outside_L .speech_bubble_list p span:before,
.world_bubble_list p.right span:before {
	border-left: 18px solid transparent;
	border-right: 15px solid #fff;
}
.shape_outside_R,
.shape_outside_L {
	clear: both;
}
#article .shape_outside_R figure.pc img,
#article .shape_outside_L figure.pc img {
	width: auto;
	height: 100%;
}
.shape_outside_R .image_left {
	float: left;
	shape-outside: circle();
	padding: 120px 120px 120px 0;
}
.shape_outside_L .image_right {
	float: right;
	shape-outside: circle();
	padding: 120px 0 120px 120px;
}
.talk_bubble_gray_left {	
	display: inline-block;
	text-align: left;
    padding: 16px 22px;
	height: auto;
    border-radius: 0 40px 40px 40px;
    border: 1px solid #636262;
    background: #636262;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
}
.talk_bubble_White_right {	
	display: inline-block;
	text-align: left;
    padding: 16px 22px;
	height: auto;
    border-radius: 40px 0 40px 40px;
    border: 1px solid #fff;
    background: #fff;
    color: #240700;
    font-size: 1.8rem;
}

.bubble_black{
    display: inline-block;
    text-align: left;
    padding: 16px 24px;
    height: auto;
    border-radius:40px 40px 40px 0px;
    border: 1px solid #240700;
    background: #240700;
    color: #fff;
    font-size: 1.5rem;
    font-weight: 600;
}
.bubble_black.title_on {
    position: absolute;
    top: -13px;
    left: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.cross_talk_message div {
	display: block;
	position: relative;
}
.cross_talk_message p span {
	display: inline-block;
	text-align: left;
	vertical-align: top;
}
.cross_talk_message p span{
	display: inline-block;
}
.cross_talk_message div:nth-child(odd) p.p_ptext {
	width: auto;;
	margin: 0 20% 0 calc(15% + 20px);
}
.cross_talk_message div:nth-child(odd) p.p_photo {
	display: inline-block;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 15%;
	margin-right: 20px;
}
.cross_talk_message div:nth-child(even) p.p_ptext {
	width: auto;;
	margin: 0 calc(15% + 20px) 0 20%;
}
.cross_talk_message div:nth-child(even) p.p_photo {
	display: inline-block;
	text-align: center;
	position: absolute;
	top: 0;
	right: 0;
	width: 15%;
	margin-left: 20px;
}

@media only screen and (max-width: 1279px){
	
	.shape_outside_R .text_right,
	.shape_outside_L .text_left {
		clear: both;
	}
	.shape_outside_R .pc,
	.shape_outside_L .pc {
		display: none;
	}
	.shape_outside_R .sp,
	.shape_outside_L .sp,
	.world_bubble_image.sp  {
		display: block;
	}
	.shape_outside_R .centersp,
	.shape_outside_L .centersp  {
		text-align: center;
	}
	.shape_outside_R .leftsp,
	.shape_outside_L .leftsp  {
		text-align: left;
	}
	.shape_outside_R .rightsp,
	.shape_outside_L .rightsp  {
		text-align: right;
	}
	.shape_outside_R .image_left {
		clear: both;
		shape-outside: none;
		padding: 0;
		margin-right: 0;
	}
	.shape_outside_L .image_right {
		clear: both;
		shape-outside: none;
		padding: 0;
		margin-right: 0;
	}
	.world_bubble_list p {
		padding: 0 20%;
	}
	/* 右向き */
	.world_bubble_list p.rightsp span:before {
		border-right: 15px solid #fff;
		border-left: 18px solid transparent;
	}
	/* 左向き */
	.world_bubble_list p.leftsp span:before {
		border-right: 18px solid transparent;
		border-left: 15px solid #fff;
	}
}

@media only screen and (max-width: 750px){

	.speech_bubble_list li {
		display: block;
	}
	.speech_bubble_list_3less li {
		display: block;
	}
	.speech_bubble_list li span,
	.speech_bubble_list_3less li span {
		margin-right: 0;
	}
	/* 右向き */
	.speech_bubble_list li p.rightsp span::before,
	.speech_bubble_list_3less li p.rightsp span:before {
		border-right: 15px solid #fff;
		border-left: 18px solid transparent;
	}
	/* 左向き */
	.speech_bubble_list li p.leftsp span::before,
	.speech_bubble_list_3less li p.leftsp span:before {
		border-right: 18px solid transparent;
		border-left: 15px solid #fff;
	}
	.message_image_side_box {
		padding: 0px 29px;
	}

	.message_image_side_box h5 {
		padding-bottom: 150px;
	}
	.message_image_side_box h5 > p:nth-child(2) {
		top: auto;
		bottom: -80px;
		left: calc(50% - 140px);
	}
	.message_image_side_box h5 > p:nth-child(3) {
		top: auto;
		bottom: -80px;
		right: calc(50% - 140px);
	}

	.world_bubble_list p {
		padding: 0 20px;
	}

	.bubble_black {
		padding: 7px 12px;
		font-size: 1.2rem;
	}	
	
	.cross_talk_message div {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.cross_talk_message div:nth-child(odd) p.p_ptext,
	.cross_talk_message div:nth-child(even) p.p_ptext {
		width: 90%;
		margin: 0;
	}
	.cross_talk_message div:nth-child(odd) p.p_photo {
		position: relative;
	}
	.cross_talk_message div:nth-child(even) p.p_photo {
		position: relative;
		margin-left: 0;
		margin-right: 20px;
	}
}

/*===== 13. Accordion Menu =====*/
#switchbox {
    width: calc(100% - 150px);
}
#switchbox input {
    display: none; 
}
#switchbox label {
    display: block;
	position: relative;
	width: 100%;
	padding: 10px 40px 10px 0;
    font-size: 2.5rem;
    font-weight: 600;
    border-bottom: 1px solid #dfdbda;
    cursor :pointer;
}
#switchbox label:hover {
    background:#dfdbda;
}
#switchbox label:active {
    background:#fff;
}
#switchbox label::after {
    position: absolute;
    top:48%;
    right: 12px;
    width: 12px;
    height: 12px;
    border-top: 2px solid #240700;
    border-left: 2px solid #240700;
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
    transform: translateX(-50%) translateY(-50%) rotate(-135deg);
    content: '';
}
#switchbox table.career {
    display: none;
	width: calc(100% - 40px - 2.5rem);
    transition: 0.1s;
    opacity: 0;
    margin: 0 40px 0 2.5rem;
}
#switchbox input:checked + label::after{
    right: 18px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#switchbox input:checked + label + table.career {
    display: table;
	border-top: none;
    opacity: 1;
}

@media only screen and (max-width: 750px){
	#switchbox label {
		font-size: 2.0rem;
	}
	#switchbox {
		width: calc(100% - 40px);
	}
}

@media only screen and (max-width: 750px){
	.over{border-top:none;
		border-left: 1px dotted #240700;
		padding: 5px 10px;}

	.workstyle_black_box2{
		width: 70%;}

	.workstyle_white_box3{
		width: 100%;}
	
		.workstyle_white_box2{
		padding: 50px 30px 30px;
		}
		.workstyle_black_box2{
		padding: 12px 16px;
	}
	.workstyle_black_box{
		padding: 12px 16px;
}
}