@charset "UTF-8";
/* インデックス
////////////////////////////////////////////////////////*/
.index .visual {
  background-image: url(../images/img_visual_index.png);
}
/* インターンシップ情報
////////////////////////////////////////////////////////*/
.outline .visual {
  background-image: url(../images/img_visual_outline.png);
}
.outline .ex_title {
  background-color: #10167E;
  width: 18%;
  margin: 10% auto 3%;
  text-align: center;
  color: #fff;
}
.outline_box01 {
  margin: 11% 0 7.6%;
  flex-wrap: wrap;
  justify-content: space-between;
}
.outline_box01 .in_box01 {
  width: 62.5%;
  order: 2;
}
.outline_box01 .in_box02 {
  order: 1;
  width: 33.4%;
  padding: 0.5rem 0 0;
}
.outline_box01 .in_box03 {
  order: 3;
  width: 33.33%;
  margin: 6.45% 0 0;
  padding: 0.5rem 3.5% 0 0;
}
.outline_box01 .in_box04 {
  order: 3;
  width: 33.33%;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  margin: 6.45% 0 0;
  padding: 0.5rem 3.5% 0;
}
.outline_box01 .in_box05 {
  order: 3;
  width: 33.33%;
  margin: 6.45% 0 0;
  padding: 0.5rem 0 0 3.5%;
}
.outline_box01 p {
  line-height: 1.8;
  margin: 0;
}
.outline_box01 .flex_box {
  align-items: center;
  line-height: 1;
  margin: 0 0 1.8rem;
}
.outline_box01 .flex_box span {
  margin: 0 1.7rem 0 0;
  color: #E8322C;
}
.title_octagon {
  margin: 0;
  position: relative;
  line-height: 1;
  background-color: #10167E;
  color: #fff;
  text-align: center;
  font-weight: normal;
}
.title_octagon::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13px 12px 0 12px;
  border-color: #10157e transparent transparent transparent;
}
.octagon {
  position: relative;
  padding: .4% 0;
  margin: .66% 0;
  display: block;
}
.octagon::before, .octagon::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border: 10px solid transparent;
}
.octagon::before {
  bottom: 100%;
  border-bottom-color: inherit;
}
.octagon::after {
  top: 100%;
  border-top-color: inherit;
}
.octagon_color {
  background-color: #10167E;
  border-color: #10167E;
}
.voice_box {
  margin: 5.34% 0 11.65%;
  flex-wrap: wrap;
  justify-content: space-between;
}
.voice_box > div {
  width: 47.6%;
  justify-content: space-between;
}
.voice_box > div:nth-child(n+3) {
  margin-top: 3.7%;
}
.voice_box .img {
  width: 10%;
}
.voice_box .txt {
  width: 83.6%;
  background-color: #F5F5F5;
  border-radius: 30px;
  line-height: 1.8;
  padding: 4.9%;
  position: relative;
}
.voice_box .txt::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 22px 15px 0;
  border-color: transparent #F5F5F5 transparent transparent;
  position: absolute;
  left: -22px;
  top: 40px;
}
table.outline_data {
  margin: 0 0 14.7%;
  border-collapse: collapse;
  width: 100%;
  line-height: 1.8;
}
table.outline_data th {
  padding: 2.7% 0;
  vertical-align: top;
  border-top: 1px solid #ccc;
  font-weight: normal;
  width: 18.75%;
  text-align: left;
}
table.outline_data td {
  padding: 2.7% 0;
  vertical-align: top;
  border-top: 1px solid #ccc;
}
table.outline_data td ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
table.outline_data td li {
  margin-bottom: 0.4%;
  padding-left: 0;
}
table.outline_data td .btn {
  width: 100%;
}
table.outline_data td .btn img {
  margin: 0 1% 0 0;
}
hr.line {
  border: none;
  border-bottom: 1px solid #ccc;
}
/* これからの活躍人材
////////////////////////////////////////////////////////*/
.future .visual {
  background-image: url(../images/img_visual_future.png);
}

.future main{
  padding: 10.4% 0 0;
}
.future .txt p{
  line-height: 1.8;
  margin: 5% 0 0;
  
}
.future h3{
  margin: 0;
  color: #E8322C;
}
.future h3 span{
  border-bottom: 4px solid #E8322C;
}
.future h3 + p{
  color: #E8322C;
  margin: 5% 0 0;
}

.future01{
  justify-content: space-between;
  margin: 13% 0 0;
}
.future01 .img{
  width: 49.28%;
  padding: 0 0 0 3.4468%;
}
.future01 .txt{
  width: 37.5%;
}
.future01 .txt h3{
  margin: 12.67% 0 0;
}
.future02 .img{
  width: 47.4%;
  order: 2;
  padding: 0 5.212% 0 0;
}
.future02{
  justify-content: space-between;
  margin: 7.75% 0 0;
}
.future02 .txt{
  width: 43.6%;
}
.future03{
  justify-content: space-between;
  margin: 10.87% 0 15%;
}
.future03 .img{
  width: 46.55%;
  padding: 0 0 0 .717%;
}
.future03 .txt{
  width: 42.96875%;
}




/* 教育・研修制度と人事制度
////////////////////////////////////////////////////////*/
.training .visual {
  background-image: url(../images/img_visual_training.png);
}
.training main{
  padding-top: 8.958%;
}
.training .bg_gray {
  background-color: #F9F9F9;
  padding: 6.875% 0;
  margin: 0 0 9.6%;
}

.training h3{
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  text-align: center;
  line-height: 1;
  padding: 3.255% 0;
  margin: 5.73% 0 6.25%;
}

/* テーブル1個目 */
table.type01{
  width: 100%;
  border-collapse: collapse;
	height: 100%;
  table-layout:fixed;
}
table.type01 tr{
  height: 1px;
}
table.type01 th{
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  width: 8%;
}
table.type01 .tg_clm{
  background-color: #F9F9F9;
  border: 1px solid #CCCCCC;
  padding: 8px;
  width: 14%;
}
table.type01 .tg_row_blue{
  border: 1px solid #CCCCCC;
	color: #10167E;
}
table.type01 .tg_row_red{
  border: 1px solid #CCCCCC;
	color: #E8322C;
}
table.type01 td{
  border: 1px solid #CCCCCC;
  padding: 8px;
  position: relative;
  z-index: -1;
	height: 100%;
  width: 14%;
	box-shadow: 0 0 0 8px #fff inset;
}

table.type01 td.blue{
  background-color: #F5F7FF;
}
table.type01 td.red{
  background-color: #FFF5F5;
}

table.type01 td .blue_box{
  padding: 8px;
  color: #10167E;
}
.blue_box + .blue_box{
  border-top: 10px solid #fff;
}
.gray{
  color: #707070;
}
.v_top{
  vertical-align: top;
}
table.type01 td .pink_box{
  color: #E8322C;
  padding: 8px;
  flex-wrap: wrap;
}
table.type01 td p{
  margin: 0;
  line-height: 1.6;
}
.flex_clm{
  display: flex;
  flex-direction: column;
}
.al_center{
  align-items: center;
}
.jc_sb{
  justify-content: space-between;
}
.white_bar.w40{
  width: 40%;
  text-align: left;
}
.white_bar.w55{
  width: 55%;
  text-align: left;
}
.white_bar.w60 {
  width: 60%;
  text-align: center;
  margin: 0 auto;
}
.white_bar.w80 {
  width: 80%;
  text-align: center;
  margin: 0 auto;
}
.w55{
  width: 55%;
}
.w65{
  width: 65%;
}
.white_bar{
  background-color: #fff;
  text-align: center;
  padding: 5px 5px;
  color: #707070;
}
table.type01 td * + .white_bar{
  margin-top: 10px;
}

/* テーブル1個目のSP */
table.type01_sp{
  width: 100%;
  border-collapse: collapse;
	display: none;
}
table.type01_sp tr{
  height: 1px;
}
table.type01_sp th{
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
}
table.type01_sp .select{
	border: 1px solid #CCCCCC;
  padding: 4px;
}
table.type01_sp .select_wrap {
	overflow: hidden;
	width: 95%;
	text-align: center;
	background-image: url(../images/icon_select.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1em;
}
table.type01_sp .select_wrap select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	text-align: center;
}
table.type01_sp .select_wrap select::-ms-expand {
    display: none;
}
table.type01_sp .select_wrap select {
	padding: 8px 38px 8px 8px;
}



table.type01_sp .tg_clm{
  background-color: #F9F9F9;
  border: 1px solid #CCCCCC;
  padding: 4px;
  width: 16%;
}
table.type01_sp .tg_row_blue{
  border: 1px solid #CCCCCC;
	color: #10167E;
}
table.type01_sp .tg_row_red{
  border: 1px solid #CCCCCC;
	color: #E8322C;
}
table.type01_sp td{
  border: 1px solid #CCCCCC;
  padding: 4px;
  position: relative;
  box-shadow: 0 0 0 4px #fff inset;
  z-index: -1;
	width: 28%;
}
table.type01_sp td.blue{
  background-color: #F5F7FF;
}
table.type01_sp td.red{
  background-color: #FFF5F5;
}

table.type01_sp td .blue_box{
  padding: 4px;
  color: #10167E;
}
table.type01_sp td .blue_box.extra{
	padding: 18px 4px;
}
table.type01_sp td .pink_box{
  color: #E8322C;
  padding: 4px;
}
table.type01_sp td.no_border{
	border: none;
	width: auto;
}
table.type01_sp select{
	position: relative;
	z-index: 200;
}
table.type01_sp .blue_box + .blue_box{
  border-top: 4px solid #fff;
}
table.type01_sp tr:first-child > :nth-child(n + 3){
	display: none;
}
table.type01_sp.for_all tr:not(:first-child):nth-of-type(-n + 4) > :not(:first-child):nth-child(n + 5),
table.type01_sp.for_all tr:nth-of-type(5) > :not(:first-child):nth-child(n + 4),
table.type01_sp.for_all tr:nth-of-type(6) > :nth-child(n+3),
table.type01_sp.for_all tr:nth-of-type(7) > :not(:first-child):nth-child(n + 3),
table.type01_sp.for_all tr:nth-of-type(8) > :last-child,
table.type01_sp.for_all tr:nth-of-type(n+9) > :not(:first-child):nth-child(n + 4){
	display: none;
}
table.type01_sp.for_expert tr:not(:first-child):nth-of-type(-n + 4) > :not(:first-child):nth-child(-n + 4),
table.type01_sp.for_expert tr:nth-of-type(5) > :not(:first-child):nth-child(-n + 3),
table.type01_sp.for_expert tr:nth-of-type(6) > :nth-child(n+1),
table.type01_sp.for_expert tr:nth-of-type(7) > :not(:first-child):nth-child(-n + 2),
table.type01_sp.for_expert tr:nth-of-type(8) > :nth-child(1),
table.type01_sp.for_expert tr:nth-of-type(n+9) > :not(:first-child):nth-child(-n + 3){
	display: none;
}

/* テーブル2個目 */
table.type02{
	border-collapse: collapse;
	width: 100%;
	margin: 5.3385% 0 0;
}
table.type02 th{
	font-weight: normal;
	border: 1px solid #CCCCCC;
  padding: 8px;
}
table.type02 td{
	border: 1px solid #CCCCCC;
  padding: 8px;
  position: relative;
  box-shadow: 0 0 0 8px #fff inset;
  z-index: -1;
	text-align: center;
}
table.type02 td.gray{
	background-color: #ABABAB;
	width: auto;
	color: #fff;
}
table.type02 td.yellow{
	background-color: #FCF8EC;
	width: 18%;
}
table.type02 td.green{
	background-color: #E9F7E5;
	width: 18%;
}
table.type02 td.pink{
	background-color: #FFF5F5;
	width: 18%;
}
table.type02 td.blue{
	background-color: #F5F7FF;
	width: 18%;
  color: #707070!important;
}
table.type02 td.perple{
	background-color: #EFE2F4;
	width: 18%;
}
table.type02 tr:nth-of-type(2) td,
table.type02 tr:nth-of-type(7) td{
	height: 6em;
}
table.type02 tr:nth-of-type(4) td,
table.type02 tr:nth-of-type(5) td{
	height: 4em;
}
table.type02 tr:nth-of-type(6) td,
table.type02 tr:nth-of-type(3) td{
	height: 3em;
}
table.type02 td.no_border{
	border: none;
}
/* テーブル2個目のSP */
table.type02_sp{
	border-collapse: collapse;
	width: 100%;
	margin: 5.3385% 0 0;
	display: none;
}
table.type02_sp th{
	font-weight: normal;
	border: 1px solid #CCCCCC;
  padding: 4px;
}
table.type02_sp td{
	border: 1px solid #CCCCCC;
  padding: 4px;
  position: relative;
  box-shadow: 0 0 0 4px #fff inset;
  z-index: -1;
	text-align: center;
	width: 28%;
	vertical-align: middle;
}
table.type02_sp td.no_border{
	border: none;
	width: auto;
}
table.type02_sp td p{
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
table.type02_sp td p + p{
	margin-top: 4px;
}
table.type02_sp td .yellow{
	background-color: #FCF8EC;
}
table.type02_sp td .green{
	background-color: #E9F7E5;
}
table.type02_sp td .pink{
	background-color: #FFF5F5;
}
table.type02_sp td .blue{
	background-color: #F5F7FF;
}
table.type02_sp td .perple{
	background-color: #EFE2F4;
}
table.type02_sp td .gray{
	background-color: #ABABAB;
	color: #fff;
}

table.type02_sp tr:nth-child(n + 1) td:nth-of-type(1) p:first-of-type,
table.type02_sp tr:nth-child(n + 1) td:nth-of-type(3) p:last-of-type{
	height: 4em;
}
table.type02_sp tr:nth-child(n + 1) td:nth-of-type(2) p:first-of-type,
table.type02_sp tr:nth-child(n + 1) td:nth-of-type(2) p:last-of-type{
	height: 6em;
}
table.type02_sp tr:nth-child(n + 1) td:nth-of-type(3) p:first-of-type,
table.type02_sp tr:nth-child(n + 1) td:nth-of-type(1) p:last-of-type{
	height: 8em;
}

/* テーブル3個目 */
table.type03{
	border-collapse: collapse;
	width: 100%;
	margin: 5.4% 0 0;
}
table.type03 th{
	font-weight: normal;
	border: 1px solid #CCCCCC;
  padding:2em 8px;
	color: #10167E;
	background-color: #F5F7FF;
}
table.type03 td{
	border: 1px solid #CCCCCC;
	text-align: left;
	width: 36%;
	padding: 1em 8px;
	line-height: 1.8;
}
table.type03 td.no_border{
	border: none;
	width: auto;
}
table.type03 tr:nth-child(n + 2) td:nth-of-type(-n + 3){
	width: 18%;
	text-align: center;
}
/* テーブル3個目のSP */
table.type03_sp{
	border-collapse: collapse;
	width: 100%;
	margin: 5.4% 0 0;
	display: none;
}
table.type03_sp th{
	font-weight: normal;
	border: 1px solid #CCCCCC;
  padding:2em 8px;
	color: #10167E;
	background-color: #F5F7FF;
}
table.type03_sp td{
	border: 1px solid #CCCCCC;
	text-align: left;
	padding: 1em 8px;
	line-height: 1.8;
}
table.type03_sp tr:nth-of-type(3) td,
table.type03_sp tr:nth-of-type(5) td{
	text-align: center;
}
table.type03_sp .select{
	border: 1px solid #CCCCCC;
  padding:2em 8px;
	color: #10167E;
	background-color: #F5F7FF;
}
table.type03_sp .no_border{
	border: none;
	background: none;
	display: none;
}
table.type03_sp .select_wrap {
	overflow: hidden;
	width: 95%;
	text-align: center;
	background-image: url(../images/icon_select.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1em;
}
table.type03_sp .select_wrap select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	text-align: center;
}
table.type03_sp .select_wrap select::-ms-expand {
    display: none;
}
table.type03_sp .select_wrap select {
	padding: 8px 38px 8px 8px;
}
table.type03_sp.grind tr:not(:first-child) :nth-child(n + 2){
	display: none;
}
table.type03_sp.mainte tr:not(:first-child) :nth-child(n + 3),
table.type03_sp.mainte tr:not(:first-child) :nth-child(-n + 1){
	display: none;
}
table.type03_sp.elec tr:not(:first-child) :nth-child(n + 4),
table.type03_sp.elec tr:not(:first-child) :nth-child(-n + 2){
	display: none;
}
table.type03_sp.beginner tr:not(:first-child) :nth-child(n + 5),
table.type03_sp.beginner tr:not(:first-child) :nth-child(-n + 3){
	display: none;
}
table.type03_sp.medium tr:not(:first-child) :nth-child(-n + 4){
	display: none;
}


table.type02_sp tr:nth-child(n + 1) td:nth-of-type(1) p:first-of-type,
table.type02_sp tr:nth-child(n + 1) td:nth-of-type(3) p:last-of-type{
	height: 4em;
}
table.type02_sp tr:nth-child(n + 1) td:nth-of-type(2) p:first-of-type,
table.type02_sp tr:nth-child(n + 1) td:nth-of-type(2) p:last-of-type{
	height: 6em;
}
table.type02_sp tr:nth-child(n + 1) td:nth-of-type(3) p:first-of-type,
table.type02_sp tr:nth-child(n + 1) td:nth-of-type(1) p:last-of-type{
	height: 8em;
}

/* テーブル3個目 */
table.type03{
	border-collapse: collapse;
	width: 100%;
	margin: 5.4% 0 0;
}
table.type03 th{
	font-weight: normal;
	border: 1px solid #CCCCCC;
  padding:2em 8px;
	color: #10167E;
	background-color: #F5F7FF;
}
table.type03 td{
	border: 1px solid #CCCCCC;
	text-align: left;
	width: 36%;
	padding: 1em 8px;
	line-height: 1.8;
}
table.type03 td.no_border{
	border: none;
	width: auto;
}
table.type03 tr:nth-child(n + 2) td:nth-of-type(-n + 3){
	width: 18%;
	text-align: center;
}
/* テーブル3個目のSP */
table.type03_sp{
	border-collapse: collapse;
	width: 100%;
	margin: 5.4% 0 0;
	display: none;
}
table.type03_sp th{
	font-weight: normal;
	border: 1px solid #CCCCCC;
  padding:2em 8px;
	color: #10167E;
	background-color: #F5F7FF;
}
table.type03_sp td{
	border: 1px solid #CCCCCC;
	text-align: left;
	padding: 1em 8px;
	line-height: 1.8;
}
table.type03_sp tr:nth-of-type(3) td,
table.type03_sp tr:nth-of-type(5) td{
	text-align: center;
}
table.type03_sp .select{
	border: 1px solid #CCCCCC;
  padding:2em 8px;
	color: #10167E;
	background-color: #F5F7FF;
}
table.type03_sp .no_border{
	border: none;
	background: none;
	display: none;
}
table.type03_sp .select_wrap {
	overflow: hidden;
	width: 95%;
	text-align: center;
	background-image: url(../images/icon_select.png);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 1em;
}
table.type03_sp .select_wrap select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	text-align: center;
}
table.type03_sp .select_wrap select::-ms-expand {
    display: none;
}
table.type03_sp .select_wrap select {
	padding: 8px 38px 8px 8px;
}
table.type03_sp.grind tr:not(:first-child) :nth-child(n + 2){
	display: none;
}
table.type03_sp.mainte tr:not(:first-child) :nth-child(n + 3),
table.type03_sp.mainte tr:not(:first-child) :nth-child(-n + 1){
	display: none;
}
table.type03_sp.elec tr:not(:first-child) :nth-child(n + 4),
table.type03_sp.elec tr:not(:first-child) :nth-child(-n + 2){
	display: none;
}
table.type03_sp.beginner tr:not(:first-child) :nth-child(n + 5),
table.type03_sp.beginner tr:not(:first-child) :nth-child(-n + 3){
	display: none;
}
table.type03_sp.medium tr:not(:first-child) :nth-child(-n + 4){
	display: none;
}


/* 枠線ボックス */
.border_box{
	border: 1px solid #CCCCCC;
	padding: 5.8% 5.34%;
	position: relative;
	margin: 6.2% 0 3.4375%;
}
.border_box .title{
	position: absolute;
	left: 50%;
	top: 0;
	margin: auto;
	transform: translate(-50%,-50%);
	background-color: #fff;
	padding: 0 3%;
	color: #E8322C;
}
.border_box dl{
	width: 52%;
	margin: 0;
	padding: 0;
}
.border_box dl dt{
	margin: 0 0 3%;
	padding: 0;
	color: #E8322C;
}
.border_box dl dd{
	margin: 0;
	padding: 0;
	line-height: 2;
}
.border_box dl dd + dt{
	margin-top: 8%;
}

.border_box .img{
	width: 42%;
	margin: 0;
}

/* 左右ボックス */
.program{
	margin: 4.3% 0 12.17%;
}
.program p{
	margin: 0;
	line-height: 2;
}
.program .title{
	margin: 0 0 4%;
	color: #E8322C;
}
.program .left_box{
	width: 50%;
	border-right: 1px solid #CCCCCC;
	padding: 0 4% 0 0;
}
.program .right_box{
	width: 50%;
	padding: 0 0 0 4%;
}
.program .txt{
	width: 55%
}
.program .img{
	width: 40%;
}

/* 背景グレーゾーン */
.training .bg_gray{
	margin: 11.146% 0 0;
}
.bg_gray h3{
	margin-top: 0;
	margin-bottom: 3.6458%;
}
.bg_gray h3 + p{
	margin: 0 0 4.6875%;
}
.bg_gray .left_box,
.bg_gray .right_box{
	width: 47.8%;
	background-color: #fff;
	padding: 3.38% 4.36%;
}
.bg_gray p{
	line-height: 1.8;
}
.bg_gray .title{
	text-align: center;
	color: #E8322C;
	margin: 0 0 2.67%;
}
.bg_gray .img{
	margin: 5% 40% 8%;
}
.bg_gray .flex_box > div :last-child{
	margin: 0;
}

/* 福利厚生制度紹介
////////////////////////////////////////////////////////*/
.welfare .visual {
  background-image: url(../images/img_visual_welfare.png);
}
.welfare main {
  padding-top: 7.4%;
}

.inner_75 .link {
  margin: 4% 0 0 auto;
  border: 1px solid #ABABAB;
  padding: 1%;
  align-content: flex-end;
  width: 42%;
}
.inner_75 .link p{
  margin: 0;
}
.inner_75 .link a {
  display: inline-block;
  background-image: url(../images/icon_arrow_pink.png);
  background-position: bottom right;
  background-repeat: no-repeat;
  margin: 0 0 0 1em;
  padding: 0 1.5em 0 0;
}
.gray_border {
  border: 1px solid #ABABAB;
  padding: 5% 6.12%;
  justify-content: space-between;
  margin: 9.18% 0 10.4%;
}
.gray_border .logo {
  margin: 1% 0 0;
  width: 40%;
}
.gray_border .txt {
  flex-direction: column;
  width: 54%;
}
.gray_border .txt .logo{
  display: none;
}
.gray_border .txt p {
  margin: 0;
  line-height: 1.8;
}
.gray_border .txt > p + p {
  margin-top: 3.14%;
}

.welfare .bg_gray {
  background-color: #F9F9F9;
  padding: 5.5% 0 13.75%;
  margin: 0 0 9.6%;
}
.bg_white {
  background-color: #fff;
  padding: 4% 4.6% 7.8125%;
}
.bg_white + .bg_white {
  margin: 5.6% 0 0;
}
.bg_white h3 {
  background-color: #E8322C;
  font-weight: normal;
  color: #fff;
  text-align: center;
  border-radius: 40px;
  line-height: 1;
  padding: 1.8% 0;
  margin: 0 0 4%;
}
.bg_white h3 + p {
  margin: 0;
}
.system01 {
  flex-wrap: wrap;
  margin: 3.77% 0 0;
}

.system02, .system03, .system04, .system05 {
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 3.77% 0 0;
}
.system01 .in_box, .system02 .in_box, .system03 .in_box, .system04 .in_box, .system05 .in_box {
  width: 31.75%;
}
.system01 > div:not(:nth-of-type(3)) {
 margin: 0 2.35% 0 0;
}
.system01 .in_box:nth-child(n + 4),.system02 .in_box:nth-child(n + 4), .system03 .in_box:nth-child(n + 4), .system04 .in_box:nth-child(n + 3), .system05 .in_box:nth-child(n + 3) {
  margin-top: 3%;
}

.doble {
  width: 66% !important;
}
.bg_white h4 {
  margin: 0 0 1em;
  background-color: #FFF5F5;
  color: #E8322C;
  font-weight: normal;
  text-align: center;
  line-height: 1;
  border-radius: 40px;
  height: 3em;
  display: flex;
  justify-content: center;
  width: 100%;
  flex-direction: column;
  padding: 0 4%;
}
.bg_white h4 span {
  display: inline-block;
}
.in_box p {
  margin: 0;
  line-height: 1.8;
}
.in_box p.img{
  width: 50%;
  margin: auto !important;
}
.house p {
  width: 55%;
}
.house div{
  margin: 0 4%;
}
.red {
  color: #E8322C;
}
.blue {
  color: #10167E;
}
.club {
  justify-content: space-between;
}
.club .txt {
  width: 55%;
}
.club dl {
  margin: 6% 0;
  border-top: 1px solid #ccc;
}
.club dl dt {
  margin: 0;
  padding: 3% 0 2%;
}
.club dl dd {
  margin: 0;
  padding: 0 0 5%;
  border-bottom: 1px solid #ccc;
}
.club dl dd ul {
  margin: 0 0 0 1.5em;
  padding-left: 2em;
  flex-wrap: wrap;
  line-height: 1.8;
}
.club dl dd ul li {
  width: 33.33%;
}
.club .img {
  width: 36.45%;
}
.club .img p {
  margin-top: 8%;
}
.club .img p:last-child {
  margin-top: 8%;
}
/* 内定者コンテンツ
////////////////////////////////////////////////////////*/
.new .visual {
  background-image: url(../images/img_visual_new.png);
}

.new main{
  padding: 7.4% 0 0;
}

.new .wrap:first-child{
  margin:0 auto 8.46%;
}
.new .line_side img{
  width: 10.41667%;
  margin: auto;
}
.new .line_side{
  margin: 10% 0 0;
}
.new h3{
  text-align: center;
  color: #E8322C;
  margin: 2% 0 0;
}
.new h3 + p{
  text-align: center;
  margin: 0;
}

.new h4{
  text-align: center;
  margin: 0;
  background-color: #F9F9F9;
  border-radius: 30px;
  line-height: 1;
  color: #707070;
  padding: 2.48% 0;
  font-weight: normal;
}

.new01{
  margin: 7.2% 0 0;
}
.new01 .box_left{
  width: 50%;
  border-right: 1px solid #CCCCCC;
  padding: 0 4.8% 0 0;
}
.new01 .box_right{
  width: 50%;
  border-left: 1px solid #fff;
  padding: 0 0 0 4.8%;
}
.new01 h4 + p{
  margin: 9.6% 0 7.9%;
}
.new01 ul{
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  line-height: 1.8;
}
.new01 ul li{
  width: 33%;
}
.new01 .box_right ul{
  margin: 14.5% 0 0;
}

.new02{
  margin: 6.77% 0 0;
}
.new02 .box_left{
  width: 50%;
  border-right: 1px solid #CCCCCC;
  padding: 0 4.8% 0 0;
}
.new02 .box_right{
  width: 50%;
  border-left: 1px solid #fff;
  padding: 0 0 0 4.8%;
}
.new02 ol{
  list-style: none;
  margin: 0;
  padding: 0;
}

.voice > div{
  justify-content: space-between;
  align-items: center;
}
.voice .comment{
  color: #fff;
  line-height: 1.8;
  border-radius: 25px;
  padding: 3% 4%;
}
.box_left .voice .comment{
  background-color: #10167E;
}
.box_right .voice .comment{
  background-color: #E8322C;
}

/* FAQ
////////////////////////////////////////////////////////*/
.faq .visual {
  background-image: url(../images/img_visual_faq.png);
}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////// TB用 /////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@media (max-width: 1360px) {
/* インターンシップ情報
////////////////////////////////////////////////////////*/

.outline_box01 {
  margin: 11% 3% 7.6%;
}
.title_octagon {
  margin: 0 3%;
}
.voice_box {
  margin: 5.34% 3% 11.65%;
}
table.outline_data {
  margin: 0 3% 14.7%;
  width: 94%;
}

/* 教育・研修制度と人事制度
////////////////////////////////////////////////////////*/
	.wrap.sp_vir {
		padding: 0 5%;
	}
  .bg_gray .wrap {
    padding: 0 5%;
  }


/* 福利厚生制度紹介
////////////////////////////////////////////////////////*/
.gray_border {
  margin: 9.18% 4% 10.4%;
}

}

@media (max-width: 960px) {

/* 福利厚生制度紹介
////////////////////////////////////////////////////////*/
.inner_75 .link {
  width: 54%;
}
.gray_border .logo {
  margin: 5% 0 0;
}

}

@media (max-width: 768px) {
/* 福利厚生制度紹介
////////////////////////////////////////////////////////*/
.inner_75 .link {
  width: 58%;
}
}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////// SP用 /////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@media (max-width: 767px) {
/* インターンシップ情報
////////////////////////////////////////////////////////*/
.outline .visual {
  background-image: url(../images/img_visual_outline.png);
}
.outline .ex_title {
  width: 40%;
  margin: 10% auto 3%;
}
.outline_box01 {
  margin: 30% 10% 7.6%;
  flex-direction: column;
}
.outline_box01 .in_box01 {
  width: 100%;
  order: 0;
  margin: 5% 0;
}
.outline_box01 .in_box02 {
  order: 1;
  width: 100%;
  padding: 15% 0;
  border-bottom: 1px solid #ccc;
}
.outline_box01 .in_box03 {
  order: 3;
  width: 100%;
  margin: 0;
  padding: 15% 0;
  border-bottom: 1px solid #ccc;
}
.outline_box01 .in_box04 {
  order: 3;
  width: 100%;
  border: none;
  margin: 0;
  padding: 15% 0;
  border-bottom: 1px solid #ccc;
}
.outline_box01 .in_box05 {
  order: 3;
  width: 100%;
  margin: 0;
  padding: 15% 0;
}
.outline_box01 p {
  line-height: 1.8;
  margin: 0;
}
.outline_box01 .flex_box {
  align-items: center;
  line-height: 1;
  margin: 0 0 1.8rem;
  flex-direction: column;
}
.outline_box01 .flex_box span {
  margin: 0 0 7% 0;
}
.title_octagon {
  margin: 0 10%;
  position: relative;
  line-height: 1;
  background-color: #10167E;
  color: #fff;
  text-align: center;
  font-weight: normal;
}
.title_octagon::after {
  border-width: 18px 16px 0 16px;
  left: 50%;
  transform: translate(-50%, 0);
}
.voice_box {
  margin: 8.34% 10% 30%;
  flex-direction: column;
}
.voice_box > div {
  width: 100%;
  margin: 8% 0;
}
.voice_box > div:nth-child(n+3) {
  margin-top: 3.7%;
}
.voice_box .img {
  width: 15%;
}
.voice_box .txt {
  width: 78.6%;
}
.voice_box .txt::before {
  border-width: 0 22px 15px 0;
  left: -22px;
  top: 25px;
}
.voice_box > :nth-of-type(2n) .img {
  order: 2;
}
.voice_box > :nth-of-type(2n) .txt::before {
  border-width: 15px 22px 0 0;
  border-color: #F5F5F5 transparent transparent transparent;
  right: -22px;
  left: auto;
}
table.outline_data {
  margin: 0 10% 14.7%;
  width: 80%;
}
table.outline_data th {
  padding: 2.7% 0;
  width: 35%;
}
table.outline_data td {
  padding: 2.7% 0;
}
table.outline_data td ol {
  padding: 0 0 0 0;
  margin: 0;
}
table.outline_data td .btn img {
  margin: 3% 0;
}

/* 教育・研修制度と人事制度
////////////////////////////////////////////////////////*/
.training .visual {
  background-image: url(../images/img_visual_training_sp.png);
}
.training main{
  padding-top: 18.36%;
}
.training .title_red_quote{
	margin: 0 0 15%;
}
.training .title_red_quote::before{
  top: -10%;
  left: 0;
}
.training .title_red_quote::after{
  right: 0;
  bottom: -10%;
}
.training .bg_gray {
  padding:19.6% 0;
  margin: 0 0 9.6%;
}

.wrap.sp_vir {
  padding: 0 10%;
}

.bg_gray .wrap{
  padding: 0 10%;
}

.training h3{
  padding: 7.85% 0;
  margin: 17.8% 0 8.16%;
}

/* テーブル1個目 */
table.type01{
	display: none;
}

/* テーブル1個目のSP */
table.type01_sp{
	display: table;
}

/* テーブル2個目 */
table.type02{
	display: none;
}
/* テーブル2個目のSP */
table.type02_sp{
	margin: 5.3385% 0 0;
	display: table;
}


/* テーブル3個目 */
table.type03{
	display: none;
}

/* テーブル3個目のSP */
table.type03_sp{
	display: table;
}


/* 枠線ボックス */
.border_box{
	padding:12% 10% 10%;
	margin: 19.9% 0 3.4375%;
}
.border_box > div{
	flex-direction: column;
}
.border_box dl{
	width: 100%;
}

.border_box .img{
	width: 100%;
	margin: 10% 0 0;
}

/* 左右ボックス */
.program{
	margin: 15.4% 0 12.17%;
	flex-direction: column;
}
.program p{
	margin: 0;
	line-height: 2;
}
.program .left_box{
	width: 100%;
	border-right: none;
	border-bottom: 1px solid #CCCCCC;
	padding: 0 0 15% 0;
}
.program .right_box{
	width: 100%;
	padding: 10% 0 0 0;
}
	.program .right_box > div{
		flex-direction: column;
	}
.program .txt{
	width: 100%
}
.program .img{
	width: 100%;
	margin: 5% 0 0;
}

/* 背景グレーゾーン */
.training .bg_gray{
	margin: 11.146% 0 0;
}
.bg_gray h3{
	margin-top: 0;
	margin-bottom: 8.46%;
}
.bg_gray h3 + p{
	margin: 0 0 16%;
}
.bg_gray > div > div{
	flex-direction: column;
}
.bg_gray .left_box,
.bg_gray .right_box{
	width: 100%;
	padding: 10% 10%;
}
.bg_gray .left_box{
	margin-bottom: 5%;
}
.bg_gray .img{
	margin: 5% 40% 8%;
}


/* 福利厚生制度紹介
////////////////////////////////////////////////////////*/
.welfare .visual {
  background-image: url(../images/img_visual_welfare_sp.png);
}
.welfare main {
  padding-top: 10%;
}
.welfare .inner_75 {
  width: 85%;
}


/* 赤い"" */
.welfare .title_red_quote{
  margin: 5% 0 20%;
}
 .welfare .title_red_quote::before{
  top: -35%;
  left: 0;
}
 .welfare .title_red_quote::after{
  right: 0;
  bottom: -40%;
}

.inner_75 .link {
  padding: 3%;
  width: 100%;
  justify-content: center;
}


.gray_border {
  padding: 5% 10%;
  margin: 9.18% 10% 10.4%;
}
.gray_border .logo {
  display: none;
}
.gray_border .txt {
  flex-direction: column;
  width: 100%;
  align-items: center;
}
.gray_border .txt p {
  margin: 0;
  line-height: 1.8;
}
  .gray_border .txt .title{
    text-align: center;
  }
  .gray_border .txt .logo{
  display: block;
    width: 80%;
    margin: 5% 0;
}
.gray_border .link {
  margin: 10% 0 0;
  border:none;
  align-self: auto;
  padding: 0;
  flex-direction: column;
  width: 100%;
}
  .gray_border .link p{
    text-align: center;
  }
  .gray_border .link p:first-of-type{
    background-color: #F9F9F9;
    text-align: center;
    width: 100%;
    padding: 4% 0;
    margin: 0 0 5%;
  }
.gray_border .link a {
  margin: 0;
  padding: 0 1.5em;
}
.welfare .bg_gray {
  padding: 10.87% 10% 13.75%;
  margin: 0 0 9.6%;
}
.bg_white {
  background-color: #fff;
  padding: 6.9% 6.325% 7.8125%;
}
.bg_white + .bg_white {
  margin: 5.6% 0 0;
}
.bg_white h3 {
  padding: 3% 0;
  margin: 0 0 8.36%;
  line-height: 1.2;
}
.bg_white h3 + p {
  margin: 0;
}
.system01 {
  margin: 0;
  flex-direction: column;
}
.system02 {
  justify-content: space-between;
  flex-direction: column;
}
.system02 > div, .system03, .system04, .system05 {
  margin: 0;
  flex-direction: column;
}
.system01 .in_box, .system03 .in_box, .system04 .in_box, .system05 .in_box {
  width: 100%;
  margin-top: 8%;
}
.system01 > div:not(:nth-of-type(3)) {
 margin: 8% 0 0 0;
}
.system02 .in_box {
  width: 100%;
  margin-top: 8%;
}
.system01 .in_box:nth-child(n + 4), .system03 .in_box:nth-child(n + 4), .system04 .in_box:nth-child(n + 3), .system05 .in_box:nth-child(n + 3) {
  margin-top: 8%;
}
.system02 .in_box:nth-child(n + 3) {
  margin-top: 8%;
}
.system02 .in_box:nth-child(n + 5) {
  margin-top: 8%!important;
}
  .system04 .in_box:first-of-type{
    margin: 0;
  }
.doble {
  width: 100% !important;
}
.system02 .left_box {
  width: 100%;
}
.system02 .right_box {
  width: 100%;
  padding: 4% 15%;
  margin: 5% 0 0;
}
.bg_white h4 {
  margin: 0 0 1em;
  padding: 4%;
  height: auto;
}
.bg_white h4 span {
  display: inline-block;
}
.in_box p {
  margin: 0;
  line-height: 1.8;
}
.house {
  flex-wrap: wrap;
}
.house p {
  width: 100%;
  margin: 0 0 5%;
}
  .house div{
    width: 45%;
  }

.club {
  flex-direction: column;
}
.club .txt {
  width: 100%;
}
.club dl {
  margin: 6% 0;
  border-top: 1px solid #ccc;
}
.club .img {
  width: 100%;
  margin: 6% 0 0;
}

.club .img p {
  margin-top: 8%;
}
.club .img p:last-child {
  margin-top: 8%;
}

}
