@charset "utf-8";
/* =======================================

	ContentsElements

======================================= */

/* ------------------------------------
	header
------------------------------------ */
body::before{
	content: "";
	height: 115px;
	background:linear-gradient(to bottom, rgba(255, 255, 255, 0.7), transparent);
	position: absolute;
	top: 0;
  right: 0;
  bottom: 0;
  left: 0;
	z-index: 1;
	display: none;
}
#content_head{
	width: 100%;
	min-height: 300px;
	background: var(--h-blue);
	padding-top: 115px;
	padding-bottom: var(--spacing-m);
	position: relative;
}
#content_head::after{
	content: "";
  background: url("/img/header_bk.png");
	background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#breadcrumb,#pate_title{
	position: relative;
	z-index: 10;
}

@media only screen and (max-width: 768px) {
	#content_head{
		height: auto;
/*		max-height: 300px;*/
		padding-top: 80px;
		padding-bottom: var(--spacing-s);
		min-height:0;
	}
}

/* breadcrumb */
#breadcrumb ul{
	display: flex;
	justify-content: flex-end;
	margin: 0 20px;
	color: var(--d-gray);
	font-size: 0.777777em;
}
#breadcrumb li {
	display: flex;
}
#breadcrumb li:not(:last-of-type)::after{
	content: "\03e";
	margin: 0 .5em;
}
#breadcrumb li .material-icons{
	vertical-align: middle;
	margin-right: 5px;
}
#breadcrumb a{
	color: var(--d-gray);
}
#breadcrumb li:first-of-type a{
	position: relative;
	padding-left: 1.5em;
}
#breadcrumb li:first-of-type a::before{
	content: "";
	display: block;
	width: 1.3em;
	height: 1.3em;
	background: url(/img/icon_home.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
  left: 0;
	transform: translateY(-50%);
}

/* pate_title */
#pate_title{
	padding-left: 133px;
	font-size: 2.2222em;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	line-height: 1.2;
}
#pate_title .en{
	color: var(--logo-blue);
	font-size: 0.5em;
	display: block;
	line-height: 1.777;
	font-weight: bold;
	margin-bottom: var(--spacing-xxs);
}

@media only screen and (max-width: 768px) {
	#pate_title{
		padding:0 4.1%;
		font-size: 2em;
	}
	#breadcrumb ul {
		margin:0 4.1%;
		flex-flow: wrap;
	}
}

/* ------------------------------------
	ELEMENTS
------------------------------------ */
.not_home #main {
	background: url("/img/bg_main_section.png") repeat-y center top;
	background-size:100% auto;
}
.not_home #main > .section {
	padding:0 0 var(--spacing-xl) 0;
}
#main > .section:first-of-type{
	padding-top: var(--spacing-xxl);
}
.not_home #main > .section:last-of-type {
	padding-bottom:0;
}
/*
#main:not(.bg_none) > .section:not(.bg_none)::before{
	content:"";
	display: block;
	width:373px;
	height:373px;
	background: url(/img/bg_dot_ptn.png) center no-repeat;
	background-size: contain;
	position:absolute;;
	left:-40px;
	top:573px;
	z-index: -10;
}
#main:not(.bg_none) > .section:not(.bg_none)::after {
	content:"";
	display: block;
	width:315px;
	height:315px;
	background: url(/img/bg_dot_s.png) center no-repeat;
	background-size: contain;
	position:absolute;;
	right:-120px;
	top:102px;
	z-index: -10;
}
*/

@media only screen and (max-width: 768px) {
	#main > .section:first-of-type{
		padding-top: var(--spacing-s);
	}
}

/* title */
#main .section h2{
	color: var(--logo-blue);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6666em;
	margin-bottom: var(--spacing-s);
	font-weight:600;
	line-height: 1.45;
}
#main .section .container > h2:not(:first-of-type){
	margin-top: var(--spacing-xl);
}
#main .section h2.title_c{
	text-align: center;
}
#main .section h3:not(.title_label){
	color: var(--logo-blue);
	font-size: 1.22222em;
	padding-bottom: var(--spacing-xs);
	position: relative;
	margin: 0 0 var(--spacing-xs) 0;
	font-feature-settings: normal;
}
#main .section h2 + h3:not(.title_label) {
	margin: var(--spacing-s) 0 var(--spacing-xs) 0;
}
#main .section h3:not(.title_label)::before {
	content: "";
	width: 17.8%;
	max-width: 50px;
	height: 2px;
	background: linear-gradient(#2957c1 0%, #0080ff 100%);
	position: absolute;
	left: 0;
	bottom: 0;
}
#main .section h3.title_label{
	font-size: 1.22222em;
}
#main .section h3.title_label span{
	color: var(--white);
	background: rgba(0,75,177,0.6);
	padding: .1em 1em 0.2em;
}
#main .section h4{
	color: var(--logo-blue);
	font-size: 1.11111em;
	padding-left: 1.33333em;
	position: relative;
}
#main .section h4::before{
	content: "";
	width: 10px;
	height: 2px;
	background: linear-gradient(#2957c1 0%, #0080ff 100%);
	position: absolute;
	top: 50%;
  left: 0;
	transform: translateY(-50%);
}
#main .section h5 {
	font-size:0.88888em;
	color:var(--logo-blue);
	position:relative;
}
#main .section h5.tit_caution {
	color:var(--b-black);
	padding-left:32px;
}
#main .section h5.tit_caution:before {
	content:"";
	width:22px;
	height:22px;
	background: url("/img/Icon_caution.svg") center no-repeat;
	background-size:100%;
	display: block;
	position:absolute;
	left:0;
	top:0.25em;
}
#main .section .list_block dl {
	display: flex;
	position:relative;
	border-top:1px solid #CDD6DD;
	padding:var(--spacing-xs) 0;
}
#main .section .list_block dl dt {
	color:#1C63B7;
	font-weight:500;
}
#main .section .list_block dl dt:before {
	content:"";
	width:20px;
	height:1px;
	background: #1C63B7;
	position:absolute;
	left:0;
	top:-1px;
}
#main .section .list_block dl.line_hr {
    border-top:1px solid #F0F3F5;
}
#main .section .list_block dl.line_hr dt::before {
    display: none;
}
#main .section .cap {
	font-size:0.777778em;
	color:var(--d-gray);
}
@media only screen and (max-width: 768px) {
	#main .section .list_block dl {
		display: block;
		position:relative;
		padding:var(--spacing-xxs) 0;
	}
	#main .section .list_block dl dt,#main .section .list_block dl dd {
		width:100%;
	}
	#main .section .cap {
	font-size:0.85em;
	color:var(--d-gray);
}
}

/* link */
.more,.text_more{
	font-size: 0.77777em;
	font-weight: 400;
	width: 100%;
	display: flex;
	align-items: center;
	color: var(--logo-blue);
}
.more.right,.text_more.right{
	justify-content: flex-end;
}
a.text_more{color: var(--logo-blue)}
a.text_more:hover{
	color: var(--logo-blue);
	text-decoration: none;
}
.more::after,.text_more::after {
	content: "";
	width: 34px;
	height: 6px;
	background: url(/img/arrow_line.png) center right no-repeat;
	background-size: 100% auto;
	transform: translateX(0px);
	transition: .5s;
}
.text_more.blank::after,
.index_column a dl dd p + .text_more.blank::after{
	width: 15px;
	height: 12px;
	background: url("/img/icon_blank.svg") center right no-repeat;
	margin-left:10px;
}
.more:hover::after,.text_more:hover::after {
	transform: translateX(10px);
	transition: .5s;
}
.text_more:hover::after {
  transform: translateX(15px);
}
.text_more.blank:hover::after,
.index_column a dl dd p + .text_more.blank:hover::after{
	transform: translateX(5px);
}
/* index_column */
.index_column_wrap {
	display: flex;
/*	justify-content: space-between;*/
	flex-flow: wrap;
	padding-bottom:var(--spacing-xl);
	margin-left:-10px;
	margin-right:-10px;
	position:relative;
}
.index_column_wrap.ar_c {
	justify-content:center;
}
#sdgs_index .index_column_wrap {
	padding-bottom:var(--spacing-s);
	margin-bottom:var(--spacing-m);
}
.index_column_wrap.col2 .index_column{
	width:calc(100%/2);
}
.index_column_wrap.col1 .index_column{
	width:100%;
}
.index_column {
/*	background: var(--white);*/
	width:calc(100%/3);
	margin-bottom:24px;
	padding-left:10px;
	padding-right:10px;
}
.index_column dl{
	width: 100%;
}
.index_column a {
	box-shadow: 0 3px 15px rgba(0,0,0,0.12);
	border-radius: 7px;
	display: flex;
	padding:20px 42px 16px;
	flex-flow: column;;
	align-items: flex-start;;
	justify-content: flex-start;
	height:100%;
	position: relative;
	background-color: #FFF;
}
.index_column a * {
		color:var(--logo-blue);
}
.index_column a:hover {
	text-decoration: none;
}
.index_column a dl dt {
	font-size:1.22222em;
	padding-bottom:20px;
	position:relative;
}
.index_column a dl dt:before {
	content:"";
	width:17.8%;
	max-width:50px;
	height: 2px;
	background: linear-gradient(#2957c1 0%, #0080ff 100%);
	position:absolute;;
	left:0;
	bottom:0;
}
.index_column a dl dd {
	padding-top:1em;
	padding-bottom: 1em;
}
.index_column a dl dd p {
	margin-bottom:10px;
	color:var(--b-black);
}
.index_column a dl dd .text_more {
	font-size:0.77777em;
	font-weight:400;
	display: inline-flex;
	max-width: calc(100% - 42px);
	justify-content: flex-end;
	align-items: center;
	position: absolute;
	right: 42px;
	bottom: 16px;
}
.index_column a dl dd .text_more:after {
	content:"";
	width:34px;
	height:6px;
	background: url(/img/arrow_line.png) center right no-repeat;
	background-size:100% auto;
	transition: .5s;
	transform: translateX(10px);
}
.index_column a dl dd .text_more.blank:after {
	content:"";
	width: 15px;
    height: 12px;
    background: url(/img/icon_blank.svg) center right no-repeat;
    margin-left: 10px;
}
.index_column a:hover dl dd .text_more:after {
	transform: translateX(15px);
}
.index_column.thumb a{
	padding: 0;
}
.index_column.thumb .thumb_box{
	overflow: hidden;
	border-radius: 7px 7px 0 0;
}
.index_column.thumb a dl{
	padding:20px 42px 16px;
}

@media only screen and (max-width: 768px) {
	.index_column_wrap.col2 .index_column,.index_column{
		width:50%;
	}
	.index_column a,.index_column.thumb a dl {
		padding:3.2vw 4vw ;
	}
	.index_column a dl dt {
		font-size: 1.22222em;
    padding-bottom: 2.4vw;
	}
	.index_column a dl dd p + .text_more {
		right: 4vw;
	}
	.index_column a dl dd p + .text_more:after {
		transform: translateX(5px);
		margin-left:5px;
	}
	.index_column a:hover dl dd p + .text_more:after {
		transform: translateX(10px);
	}
	.more,.text_more{
		font-size: 0.8em;
	}
    .more::after, .text_more::after {
        width: 20px;
    }
}
@media only screen and (max-width: 575px) {
	.index_column_wrap.col2 .index_column,.index_column{
		width:100%;
		padding-left:0;
		padding-right:0;
	}
	.index_column_wrap {
		margin-left:0;
		margin-right:0;
	}
}

/* link_column */
.link_column_wrap {
	display: flex;
/*	justify-content: space-between;*/
	flex-flow: wrap;
	margin-left:-0.765%;
	margin-right:-0.765%;
}
.link_column_wrap.col2 .link_column{
	width:50%;
}
.link_column {
	width:31.8%;
	margin-bottom:var(--spacing-xs);
}
.link_column_wrap .link_column {
	padding:0 0.765%;
	width:33.33%;
}
.link_column.w80 {
    width:80%;
}
.link_column_wrap.col4 .link_column{
	width:23.6%;
}
.link_column_wrap.full .link_column{
	width:100%;
}
.link_column .link_box, .link_column a {
	background: var(--white);
	box-shadow: 0 3px 15px rgba(0,0,0,0.12);
	border-radius: 7px;
	display: flex;
	padding:20px 84px 16px 42px;
	flex-flow: column;;
	align-items: flex-start;;
	justify-content: flex-start;
	height:100%;
	font-size: 0.888888em;
	line-height: 1.4;
	position: relative;
}
.link_column .link_box, .link_column a + p {
    font-size:0.888em;
}
.arrow_s .link_column .link_box, .arrow_s .link_column a {
	padding:0 18px 0 40px;
	color:var(--logo-blue);
	font-size: 1em;
	line-height: 67px;
}
.arrow_s .link_column .link_box small, .arrow_s .link_column a small {
	font-size:0.77em;
}
.arrow_s.no-shadow .link_column .link_box, .arrow_s.no-shadow a .link_box {
	padding:0 0 0 40px;
	font-size:0.88888em;
	box-shadow: none;
	line-height: 24px;
}
.link_column a::after{
	content: "";
	display: block;
	width: 34px;
	height: 6px;
	position: absolute;
	top: 50%;
	right: 21px;
	transform: translateY(-50%);
	transition: .5s;
	background: url(/img/arrow_line.png) center right no-repeat;
	background-size: 100% auto;
}
.blank .link_column a::after, .blank.link_column a::after{
	width: 15px;
	height: 12px;
	right: 42px;
	background: url("/img/icon_blank.svg") center right no-repeat;
}
.arrow_s .link_column a::after {
	background: url("/img/arrow_txt_link.png") center center no-repeat;
	width:6px;
	height:6px;
	background-size: 100% auto;
	right:auto;
	left:18px;
}
.arrow_s .link_column a.pdf::before {
	content:"";
	width: 15.2px;
    height: 20px;
	background: url(/img/icon_pdf.png) no-repeat;
    background-size: 100% auto;
    display: block;
	position:absolute;
	right:21px;
	top:50%;
	transform: translateY(-50%);
}
.link_column a .en{
	color: var(--m-gray);
	font-size: 0.75em;
}
.link_column a:hover{
	text-decoration: none;
}
.link_column a:hover::after{
	transform: translateX(10px) translateY(-50%);
}
.link_column.link_bn a{
	padding:20px 42px 16px;
}
.link_column.link_bn a::after{
	display: none;
}
.blank .link_column.link_bn a::after{
	display: block;
}
.link_column.link_bn img{
	display: block;
	margin: 0 auto;
}
.t_liner .link_column a{
	padding-bottom: 25px;
}
.link_column a span.liner{
	color: var(--logo-blue);
	font-size: 1.375em;
	padding-bottom: 20px;
	position: relative;
}
.link_column a span.liner::before {
	content: "";
	width: 50px;
	height: 2px;
	background: linear-gradient(#2957c1 0%, #0080ff 100%);
	position: absolute;
	left: 0;
	bottom: 0;
}

@media only screen and (max-width: 768px) {
	.link_column_wrap.col2 .link_column,.link_column{
		width:47%;
	}
	.link_column_wrap.col4 .link_column{
		width:47%;
	}
	.link_column a,.link_column.link_bn a,.link_column .link_box {
		padding:3.2vw 4vw 3.2vw 4vw;
	}
	.link_column a::after{
		right: 2vw;
        width: 20px;
	}
   
	.blank .link_column a::after{
		right: 6vw;
	}
	.link_column a span.liner{
		padding-bottom: 2.4vw;
        font-size:1.25em;
	}
	.t_liner .link_column a{
		padding-bottom: 4vw;
		padding-left: 4vw;
	}
	.arrow_s .link_column .link_box small, .arrow_s .link_column a small {
		font-size:1em;
	}
	.arrow_s .link_column .link_box, .arrow_s .link_column a {
		height:67px;
		line-height: normal;
		display: flex;
		justify-content: center;
	}
}
@media only screen and (max-width: 575px) {
    
	.link_column_wrap.col2 .link_column,.link_column, .link_column_wrap.col4 .link_column{
		width:100%;
	}
    .link_column_wrap .link_column {
    padding: 0 2%;
    width: 50%;
}
    .link_column_wrap {
        margin-left:-2%;
        margin-right:-2%;
    }
    
    

}

/* other */
#main .section hr{
	display: block;
	width:100%;
	height:1px;
	border:none;
	background-color: #CDD6DD;
	margin:var(--spacing-xl) 0;
	color:transparent;
}
#main .section hr.bold {
    height: 2px;
	background-color: #95C7EB;
}
#main .section hr.dot {
background-image: linear-gradient(to right, #95C7EB, #95C7EB 2px, transparent 2px, transparent 8px);
    background-size: 4px 2px;
    background-position: left bottom;
    background-repeat: repeat-x;
    background-color: transparent;
}

#main .section .container hr.last {
	margin-bottom:var(--spacing-l);
}
.list > li{
	position: relative;
  	padding-left: 1.5em;
	margin-bottom: 10px;
	font-weight: normal;
	line-height: 1.4;
}
.list > li:before {
	content: "";
	border-radius: 50%;
	width: 5px;
	height: 5px;
	display: block;
	position: absolute;
	top: .6em;
  left: calc(.5em - 2.5px);
	background: var(--logo-blue);
}
ol.num {
	margin-left:1.5em;
}
ol.num  > li {
	font-weight: normal;
}
ol.num  > li::marker {
	color:var(--logo-blue);
}
ol.num.brackets {
	counter-reset: cnt_b;
}
ol.num.brackets > li {
	list-style: none;
	counter-increment: cnt_b;
	position: relative;
}
ol.num.brackets > li::before {
	display: inline-block;
	width: 1.5em;
	color:var(--logo-blue);
	content: '('counter(cnt_b)')';
	position: absolute;
	top: 0;
	left: -1.5em;
}
ol.num.circle {
	counter-reset: cnt_c;
}
ol.num.circle > li {
	list-style: none;
	counter-increment: cnt_c;
	position: relative;
}
ol.num.circle > li::before {
	font-size: .9em;
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	text-align: center;
	line-height: 1;
	border-radius: 1em;
	border: 1px solid var(--logo-blue);
	color:var(--logo-blue);
	content: counter(cnt_c);
	position: absolute;
	top: .38em;
	left: -1.5em;
}

ol.num.notes {
	list-style-type: "";
	counter-reset: list_num 0;
}

ol.num.notes > li {
	counter-increment: list_num;
	position: relative;
}

ol.num.notes > li::before {
	content: '*'counter(list_num);
	position: absolute;
	top: 0;
	right: calc(100% + 0.4em);
	color: var(--logo-blue);
}


.desc{
	max-width: 940px;
	text-align: center;
	margin: 0 auto var(--spacing-m);
}

.inline-block {
	display: inline-block;
}

a.link_blank{
	padding-left: 1.3em;
	background: url("/img/icon_blank.svg")no-repeat left center;
	background-size: 1em;
}
a.link_mail{
	padding-left: 1.3em;
	background: url("/img/icon_material-mail-outline.png")no-repeat left 70%;
	background-size: 1em;
}
.btn_back_block {
	margin:var(--spacing-xl) 0 var(--spacing-s);
	border-top:1px solid #CDD6DD;
}
p a.text_link {
	color:var(--logo-blue);
	padding-left:1em;
	background: url("../img/arrow_txt_link.png") 6px center no-repeat;
	background-size:6px 6px;
}
p a.text_link.blank {
	position:relative;
	padding-right:25px;
}
p a.text_link.blank::after {
    width: 15px;
    height: 12px;
	position:absolute;
	top:8px;
    right: 0;
	display: block;
    background: url(/img/icon_blank.svg) center right no-repeat;
	content:"";
}
p a.text_link.pdf {
	position:relative;
	padding-right:1.5em;
}
p a.text_link.pdf::after {
	width: 1em;
	height: 1em;
	position:absolute;
	top: 50%;
	right: 0;
	margin-top: -.4em;
	display: block;
	background: url(/img/icon_pdf.png) center right no-repeat;
	content:"";
	background-size: auto 1em;
}
#main .section table {
	border-collapse: collapse;
}
#main .section .tableType01 {
	width:100%;
	border:1px solid #CDD6DD;
}
#main .section table th, #main .section table td{
	border:#CDD6DD 1px solid;
	padding:var(--spacing-xs);
}
#main .section table th {
	border-left:none;
	background: #F6FBFF;
}
#main .section table td {
	border-left:none;
}
#main .section .tableType01 td {
	border:#CDD6DD 1px solid;
}
@media only screen and (max-width: 768px) {
	#main .section hr{
		margin:var(--spacing-l) 0;
	}
    p a.text_link {
    background: url(../img/arrow_txt_link.png) 0 8px no-repeat;
    background-size: 6px 6px;
}
    p a.text_link.blank::after {
	top:auto;
    right:auto;
    margin-left:8px;
    position:relative;
    vertical-align: middle;
    display: inline-block;
    }
	p a.text_link.blank {
		position:relative;
		padding-right: 0;
		display: inline-block;
		vertical-align: middle;
	}
    #main .section table th, #main .section table td{
	padding:var(--spacing-xxs);
}
}

/* ------------------------------------
	RECRUIT
------------------------------------ */
.underline {
	text-decoration: underline;
}

#mid_career{
	padding-top: 0;
}
#mid_career .index_column_wrap {
	padding-bottom: 0;
}
#other_job .index_column_wrap {
	padding-bottom:0;
}
#main #entry{
	background: #F6FBFF;
	padding:var(--spacing-l) 0 var(--spacing-xl);
}
#main #entry h3{
	padding-bottom: var(--spacing-xxs);
}
#entry h3::before{
	display: none;
}
#main #entry .link_column + h3{
	margin-top:var(--spacing-s);
}
#main #entry .link_column_wrap + h3 {
	margin-top:var(--spacing-xs);
}
#main .reqruit_index_field h2 {
	margin-bottom:var(--spacing-xs);
}
#main .recruit_entry_field {
	background: #FFF2CC;
	border-radius: 7px;
	padding:var(--spacing-xs);
}
#main .recruit_entry_field .index_column_wrap {
	padding-bottom: 0;
}
#main .recruit_entry_field.business {
	background: #F6FBFF;
}
#main .reqruit_index_field .message_columns .photo_box img {
	border-radius: 10px;
}
#main .evp_field h2 {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
#main .evp_field h2 span:last-child {
	font-size: 1.2em;
	line-height: 1;
	margin-left: .5em;
}
#main .evp_field h2 span:last-child:first-letter {
	font-size: 1.5em;
}
#main .evp_field ul {
	display: flex;
	justify-content: center;
	text-align: center;
	flex-wrap: wrap;
}
#main .evp_field ul li {
	width: 20%;
	margin-bottom: 1em;
} 
#main .evp_field ul li img {
	display: block;
	margin: 0 auto .5em;
}
#main .evp_field ul li span {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: var(--spacing-xxs);
	background: rgba(0,75,177,.6);
	color: #fff;
	border-radius: 10px;
	min-height: 3em;
	line-height: 1.2;
}
#main .evp_field ul li a {
	transition: .5s;
}
#main .evp_field ul li a:hover {
	opacity: .6;
	text-decoration: none;
}

@media only screen and (max-width: 768px) {
	#main .evp_field ul li {
		width: 50%;
	} 
}

#main .recruit_interview h4 {
	margin: var(--spacing-xs) 0;
}
#main .recruit_interview .index_column a dl dt small,
#main .schedule .index_column a dl dt small {
	display: block;
	font-size: .7em;
}
#main .index_column_wrap.schedule {
	padding-bottom: 0;
}

.recruit_interview_page figure {
	margin-bottom: var(--spacing-s);
}
.recruit_interview_page .interviewee {
	background: var(--h-blue);
	padding:var(--spacing-s);
	border-radius: 15px;
	display: flex;
	align-items: center;
	margin: 0 0 var(--spacing-l);
}
.recruit_interview_page .interviewee .info {
	flex: 1;
	padding-right: var(--spacing-xs);
}
.recruit_interview_page .interviewee figure {
	width: 30%;
	margin-bottom: 0;
}
.recruit_interview_page .interviewee .name {
	font-size: 1.5em;
}
.recruit_interview_page p {
	margin-bottom: 1em;
}
.recruit_interview_page .interviewee p:last-child {
	margin-bottom: 0;
}
#main.recruit_interview_page .section h3:not(.title_label) {
	padding-bottom: 0;
	padding-left: 1.5em;
}
#main.recruit_interview_page .section h3:not(.title_label)::before {
	width: 1em;
	height: 1px;
	bottom: auto;
	top: .88em;
}
.recruit_interview_page .timetable {
	margin-bottom: var(--spacing-s);
}
.recruit_interview_page .timetable > dl {
	display: flex;
}
.recruit_interview_page .timetable > dl > dt {
	width: 6em;
	background: var(--l-gray);
	padding: var(--spacing-xxs);
}
.recruit_interview_page .timetable > dl > dd {
	flex: 1 0 0;
	padding: var(--spacing-xxs);
}
.recruit_interview_page .timetable > dl > dd dt {
	color: var(--logo-blue);
}
.recruit_interview_page .timetable > dl > dd dd {
	padding-left: 2em;
	position: relative;
	margin-bottom: var(--spacing-xs);
}
.recruit_interview_page .timetable > dl > dd dd:last-child {
	margin-bottom: 0;
}
.recruit_interview_page .timetable > dl > dd dd::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 8px;
	border-color: transparent transparent transparent var(--logo-blue);
	position: absolute;
	left: 1em;
	top: .7em;
}

@media only screen and (max-width: 768px) {
	.recruit_interview_page .interviewee {
		flex-direction: column;
		align-items: flex-start;
		padding: var(--spacing-xs);
	}
	.recruit_interview_page .interviewee .info {
		padding-right: 0;
		order: 2;
	}
	.recruit_interview_page .interviewee figure {
		width: 100%;
		margin-bottom: var(--spacing-s);
	}
	.schedule .index_column a {
		height: auto;
	}
}

.recruiting_tbl .inner {
	overflow-x: auto;
}
.recruiting_tbl table {
	min-width: 900px;
}
.recruiting_tbl .sp {
	display: none;
}
#main section .recruiting_tbl td,
#main section .recruiting_tbl th {
	vertical-align: middle;
	padding: var(--spacing-xxs);
}
.recruiting_tbl th {
	text-align: center;
}
.vertical_writing {
	padding: 0;
}
.vertical_writing span {
	writing-mode: vertical-rl;
	white-space: pre;
	display: inline-block;
}
_::-webkit-full-page-media, _:future, :root .vertical_writing span {
	margin-left: -.9em;
}

.recruiting_tbl .hdg {
	display: block;
	font-weight: bold;
	color: var(--logo-blue);
}
.recruiting_tbl .hdg.nowrap {
	white-space: nowrap;
}
.recruiting_tbl p:not(:last-child),
.business_info_tbl p:not(:last-child) {
	margin-bottom: 1em;
}

.business_info_tbl th {
	white-space: nowrap;
}
@media only screen and (max-width: 768px) {
	.recruiting_tbl .sp {
		display: block;
	}
	.recruiting_tbl table {
		font-size: 2.8vw;
	}
	#main .section .tableType01.spTbl,
	#main .section .tableType01.spTbl tbody,
	#main .section .tableType01.spTbl tr,
	#main .section .tableType01.spTbl th,
	#main .section .tableType01.spTbl td {
		display: block;
	}
	#main .section .tableType01.spTbl {
		border-top: none;
	}
	#main .section .tableType01.spTbl th {
		border-left: none;
		border-right: none;
	}
	#main .section .tableType01.spTbl td {
		border: none;
	}
}

.contact_box_wrap.recruit .title {
	color: var(--logo-blue);
	display: block;
	font-weight: bold;
	margin-bottom: .5em;
}
.list.circle > li:before {
	width: .8em;
	height: .8em;
	top: .3em;
	left: .2em;
}
.list.circle > li > ul {
	margin-top: 10px;
}

.mv_field + .recruit_index_wrap {
	margin-top:var(--spacing-l);
}
.depts #main p + .depts_columns {
	margin-top:var(--spacing-s);
}
.depts_columns {
	display: flex;
	justify-content: space-between;
}
.depts_columns .photo_box {
	width:47%;
}
.depts_columns .photo_box img {
    width: 100%;
    border-radius: 30px;
}
.depts #main h2 {
	margin:var(--spacing-s) 0 var(--spacing-xs);
}
.recruit-page #main > .section:first-child {
	padding-bottom:0;
}
.depts #main p + ul.list{
	margin-top: var(--spacing-xs);
}
.depts #main p + h3, .depts #main ul + h3, .depts #main ol + h3{
	margin-top: var(--spacing-xs);
}
.depts #main .depts_columns + h3 {
	margin-top:var(--spacing-s);
}
.depts #main .depts_columns_wrap h2:first-child {
	margin-top:0;
}

/* js tab */
.tab .cont {
  display: none;
}
.tab .cont.current {
  display: block;
}
.tab .tab_title {
	display: block;
	margin-top:var(--spacing-l);
	margin-bottom: var(--spacing-xxs);
	color: var(--logo-blue);
}
.tab .btn {
  	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	border-bottom:1px solid #CDD6DD;
}
.tab .btn:last-child {
	margin-top:var(--spacing-l);
}
.tab .tab_title + .btn {
	margin-top: 0;
}
.tab .btn li {
  height: 90px;
  padding: 0 var(--spacing-xs);
  background: #FFF;
  color: var(--d-gray);
  border:1px solid #CDD6DD;
  border-top-width: 4px ;
	border-bottom:none;
  cursor: pointer;
  text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.222;
}
.tab .btn.t5 li {
  width: 19.27%;
}
.tab .btn.t4 li {
  width: 24.32%;
}
.tab .btn.t7 li {
  width: 13.7%;
}
.tab .btn li:hover {
  background-color: var(--l-gray);
}
.tab .btn li.current {
  background: #fff;
  color: var(--b-black);
  border-top: 4px solid var(--logo-blue);
}
.tab .btn.link li {
	padding: 0;
}
.tab .btn.link li a {
	display: block;
	width: 100%;
	height: 100%;
 	padding: 0 var(--spacing-xs);
	display: flex;
	justify-content: center;
	align-items: center;
}
.tab .btn.link li a:hover {
	text-decoration: none;
	color: var(--b-black);
}
.tab .btn.link li a small {
	font-size: .7em;
	display: block;
	margin: 0 auto;
}

.tab .cont {
  padding-top: var(--spacing-l);
}

#main .section h3.q_h3 {
	position:relative;
	display: flex;
	align-items: center;
	padding-bottom:0;
}
#main .section h3.q_h3::before {
	content:"Q";
	width:55px;
	height:55px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size:1.55em;
	background: linear-gradient(#2957c1 0%, #0080ff 100%);
	border-radius: 50%;
	color:#FFF;
	position:relative;
	max-width:none;
	line-height: 55px;
	margin-right:15px;
}
h3.q_h3 + .a_cont {
	padding-left:var(--spacing-l);
}
.a_cont p + .list_block {
	margin-top:var(--spacing-xs);
}
.a_cont .list_block dl dt {
	width:21%;
}
.a_cont .list_block dl dd {
	width:79%
}

.qaCont + .qaCont{
	margin-top:var(--spacing-l);
}
.tab1_q2_tbl td {
	text-align: right;
}
#main .section .tab1_q2_tbl th.pd_s{
	padding:var(--spacing-xxs) var(--spacing-xs);
}
#main .section p + table {
	margin-top:var(--spacing-xs);
}
.tab2_q1_tabl th, .tab2_q1_tabl td {
	text-align: center;
}
.tab2_q1_tabl td strong {
	font-size:1.6666em;
	font-weight:500;
}

#main .section .outline_field {
	margin-top:var(--spacing-l);
}

#main .section .outline_field h3 {
	margin-top:var(--spacing-s);
}
#main .section .outline_field h4 {
	margin-top:var(--spacing-xs);
}

.recruit_columns {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.recruit_columns .photo_box {
	width:40%;
}
.recruit_columns .txt_box {
	width:56%;
}
.recruit_columns .txt_box p + p,
.recruit_columns .txt_box p + ul {
	margin-top:1em;
}
.recruit_columns .photo_box img {
	width:100%;
	border-radius: 10px;
}
.recruit_columns a.pdf::after {
	content:"";
	width: 15.2px;
    height: 20px;
	background: url(/img/icon_pdf.png) no-repeat;
    background-size: 100% auto;
    display: inline-block;
    margin-left: .2em;
    margin-top: -5px;
    vertical-align: middle;
}

@media only screen and (max-width: 768px) {
	.recruit_columns {
		display: block;
	}
	.recruit_columns .photo_box {
		width:100%;
		margin-top:var(--spacing-s);
	}
	.recruit_columns .txt_box {
		width:100%;
	}
}


@media only screen and (max-width: 768px) {
	#main .reqruit_index_field .message_columns .txt_box {
		margin-bottom:var(--spacing-xs);
	}
	.depts_columns {
		display: block;
	}
	.depts_columns .photo_box {
    	width: 100%;
		margin-bottom:var(--spacing-xs);
	}
	.tab .btn.t5,
	.tab .btn.t4,
	.tab .btn.t7 {
		flex-flow: wrap;
		border-bottom:none;
	}
	.tab .btn.t5 li,
	.tab .btn.t4 li,
	.tab .btn.t7 li {
		width: 48%;
		border-bottom:1px solid #CDD6DD;
		margin-bottom:var(--spacing-xxs);
		height:60px;

	}
	#main .section h3.q_h3 {
		padding-left:var(--spacing-m);
	}
	#main .section h3.q_h3::before {
    content: "Q";
    width: var(--spacing-s);
    height: var(--spacing-s);
	font-size:1.2em;
		position:absolute;
		left:0;
		top:0;
	}
	h3.q_h3 + .a_cont {
	    padding-left: 0;
	}
}

/* ------------------------------------
	INFORMATION
------------------------------------ */
.news_list_backnum .news_list li{
	min-height: auto;
}
.pagination{
	display: flex;
	justify-content: center;
	margin: var(--spacing-s) 0;
}
/*
.container > .pagination-container:nth-of-type(1) .pagination{
	margin-top:0;
}
*/
.pagination li{
	margin: 0 var(--spacing-xxs);
}
.pagination li.page a{
	background: var(--h-blue);
	padding: .5em 1em;
}
.pagination li.active a,
.pagination li.page a:hover{
	background: var(--a-blue);
	color:#FFF;
}
.pagination li a:hover{
	color: var(--b-black);
	text-decoration: none;
}
.pagination li{
	display: flex;
	align-items: center;
}
.pagination li .prev_btn,
.pagination li .next_btn{
	display: block;
	width: 0;
  height: 0;
}
.pagination li .prev_btn{
  border-top: 1.25em solid transparent;
  border-right: 1.875em solid var(--h-blue);
  border-bottom: 1.25em solid transparent;
}
.pagination li .next_btn{
  border-left: 1.875em solid var(--h-blue);
  border-top: 1.25em solid transparent;
  border-bottom: 1.25em solid transparent;
}
.pagination li .prev_btn:hover{
	border-right-color: var(--a-blue);
}
.pagination li .next_btn:hover{
	border-left-color: var(--a-blue);
}

/* news_article */
.news_article__head{
	display: flex;
	justify-content: space-between;
	border-bottom: 3px solid var(--h-blue);
}
#main .section .news_article__head h2{
	color: var(--b-black);
}
.news_article__head .btn_sns ul{
	display: flex;
	justify-content: flex-end;
	padding-right: var(--spacing-xs);
}
.news_article__head .btn_sns ul li{
	margin-left: var(--spacing-xxs);
}
.news_article__head .btn_sns ul li .fb-share-button span{
	vertical-align: baseline !important;
}
.news_article_date{
	text-align: right;
	margin: var(--spacing-xs);
	font-weight:400;
}
.news_article_date > .date,.news_article_date span {
	display: block;
	text-align: right;
}

.news_article__body p{
	margin-bottom:1em;
}
.news_article__body p.img {
	text-align: center;
}
.news_article__body ul {
	margin-bottom:1em;
}
@media only screen and (max-width: 768px) {
	.news_article__head{
		flex-flow: column-reverse;
	}
	.news_article__head .btn_sns ul{
		padding-right: 0;
		margin-bottom: var(--spacing-xxs);
	}
}

/* sdgs report .news_article */
.sdgs .news_article {
	border: 2px solid var(--logo-blue);
	border-radius: var(--spacing-s);
	padding: var(--spacing-m) var(--spacing-s);
}
.sdgs .news_article__head {
	display: block;
	margin-bottom: var(--spacing-s);
	position: relative;
}
.sdgs .news_article .article_info {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: var(--spacing-xxs);
}
.sdgs .news_article .date {
	font-size: 1.2em;
}
.sdgs .news_article .article_info .prj_logo {
	width: 440px;
	max-width: 60%;
}
.sdgs .related_sdgs {
	margin-top: var(--spacing-m);
}
.sdgs #main .related_sdgs h3 {
	color: var(--b-black);
	border-bottom: 3px solid var(--h-blue);
}
.sdgs #main .related_sdgs h3::before {
	content: none;
}
.sdgs .related_sdgs ul {
	display: flex;
	flex-wrap: wrap;
	width: 980px;
	max-width: 100%;
	margin: 0 auto;
}
.sdgs .related_sdgs ul li {
	width: 14%;
	margin: 1.3%;
}

/* ------------------------------------
	SITEMAP
------------------------------------ */
.sitemap_list{
	display: flex;
	justify-content: space-between;
}
.sitemap_list__left,.sitemap_list__right{
	width: 48.85%;
}

#sitemap .list{
	margin-bottom: var(--spacing-s);
}
#sitemap .list > li:not(.tertiary){
	font-size: 1.11111em;
	font-weight: 500;
	padding-left: 1.5em;
}
#sitemap .list > li a.nolink {
    pointer-events: none;
}
li.tertiary::before{
	display: none;
}
li.tertiary li{
	margin-bottom: 5px;
	padding-left:18px;
	position:relative;
}
li.tertiary li:before {
	content:"";
	background: url("/img/arrow_txt_link.png") center center no-repeat;
	width:8px;
	height:8px;
	background-size: 100% auto;
	right:auto;
	left:0;
	top:50%;
	transform: translateY(-50%);
	position:absolute;
}


/* ------------------------------------
	CONTACT
------------------------------------ */
#main > #contact {
	padding-bottom:var(--spacing-xxxl);
}
.contact_box {
	box-shadow: 0 3px 15px rgba(0,0,0,0.12);
	border-radius: 7px;
	margin-bottom: 30px;
	padding: 0 var(--spacing-s);
	border:rgba(255,255,255,1) 1px solid;
}
/* ------------------------------------
アクセシビリティ対応ができていないページがある、
他社対応絵ページからも参照されているため以前のコードも併記
------------------------------------ */
.contact_box.open,
.contact_box:has(summary[aria-expanded="true"]) {
	box-shadow: none;
	border:rgba(205,214,221,0.6) 1px solid;
	background-color: rgba(246,251,255,0.6);
}
.contact_box dt,
.contact_box summary {
	font-size: 1.666666em;
	font-weight: 600;
	line-height: 1.4;
	color: var(--logo-blue);
	position: relative;
	padding: 30px var(--spacing-s);
	cursor: pointer;
}
.contact_box dt::before,
.contact_box dt::after,
.contact_box summary::before,
.contact_box summary::after {
	content: "";
	width: 26px;
	height: 26px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.contact_box dt::before,
.contact_box summary::before {
	left: 0;
	background: url("/img/icon_material-message.png")no-repeat;
	background-size: contain;
}
.contact_box dt::after,
.contact_box summary::after {
	right: 0;
	background: url("/img/icon_material-add-circle-outline.png")no-repeat;
	background-size: contain;
}
.contact_box.open dt::after,
.contact_box summary[aria-expanded="true"]::after {
	background: url("/img/icon_material-minus-circle-outline.png")no-repeat;
	background-size: contain;
}
.contact_box dd {
	display: none;
	border-top: 1px solid #CDD6DD;
	padding: 30px 0;
}
.contact_box summary + div {
	border-top: 1px solid #CDD6DD;
	padding: 30px 0;
}
.contact_box dd p:not(:last-of-type),
.contact_box summary + div p:not(:last-of-type) {
	margin-bottom: 1em;
}
.contact_box dd p a,
.contact_box summary + div p a {
	color: var(--logo-blue);
}

@media only screen and (max-width: 768px) {
	.contact_box {
		padding: 0 var(--spacing-xxs);
	}
	.contact_box dt,
	.contact_box summary {
		padding: var(--spacing-xs);
		font-size: 1.4em;
		line-height: 1.2;
		transform: translateY(-0.1em);
	}
	.contact_box dt::before,
	.contact_box dt::after,
	.contact_box summary::before,
	.contact_box summary::after {
		width: 4vw;
		height: 4vw;
	}
	.contact_box dd,
	.contact_box summary + div {
		padding: var(--spacing-xs) 0;
	}
}


/* ------------------------------------
	CORPORATE
------------------------------------ */

/*--トップメッセージ--*/
.message_columns {
	display: flex;
	justify-content: space-between;
}
.message_columns .photo_box {
	width:38.1818%;
}
.message_columns .txt_box {
	width:57.2727%;
}
.message_columns .txt_box p {
	text-indent: 1em;
}
.en .message_columns .txt_box p {
	text-indent: 0;
}
.message_columns .txt_box p + p {
	margin-top:1em;
}
@media only screen and (max-width: 768px) {
	.message_columns {
		display: block;
	}
	.message_columns .photo_box, .message_columns .txt_box {
		width:100%;
	}
	.message_columns .photo_box {
		margin-bottom:var(--spacing-s);
	}
}

/*--企業理念--*/
.split_columns {
	position: relative;
}
.split_columns figure.f_r {
	float:right;
	padding:0 0 var(--spacing-xs) var(--spacing-xs);
	width:32%;
}
.split_columns figure.f_r img {
	width:100%;
	border-radius: 30px;
}
.split_columns .img_vmv {
	position: absolute;
	width: 50%;
	top: 152px;
	right: 0;
}
.split_columns .txt_box p + p{
	margin-top:1em;
}
.split_columns:after {
	content:"";
	width:100%;
	height:0;
	clear:both;
}
.split_columns dl + dl {
	margin-top: var(--spacing-xxs);
}
@media only screen and (max-width: 768px) {
	.split_columns figure.f_r {
		float:none;
		padding:0 0 var(--spacing-xs) 0;
		width:100%;
	}
	.split_columns .img_vmv {
		position: static;
		width: 100%;
		top: auto;
		right: auto;
		padding-bottom: var(--spacing-xs);
	}
}

/*--事業案内--*/
.business_columns {
	display: flex;
	justify-content: space-between;
}
.business_columns .photo_box {
	width:40%;
}
.business_columns .txt_box {
	width:56%;
}
.business_columns .txt_box p + p{
	margin-top:1em;
}
.business_columns .photo_box img {
	width:100%;
	border-radius: 30px;
}
.business_columns_wrap + .business_columns_wrap, #main .section .container > div + .business_columns_wrap {
	margin-top:var(--spacing-xl);
}
.container > .business_columns_wrap:nth-of-type(2n) .business_columns{
	flex-flow: row-reverse;
}
@media only screen and (max-width: 768px) {
	.business_columns {
		display: block;
	}
	.business_columns .photo_box {
		width:100%;
		margin-bottom:var(--spacing-s);
	}
	.business_columns .txt_box {
		width:100%;
	}
}


/*--会社概要--*/
#main .overview_block dl dt {
	width:27.2727%;
}
#main .overview_block dl dd {
	width:72.7272%;
}
#main .overview_block dl dd ol {
	margin-left:1em;
}
#main .overview_block dl:not(.officer) dd table th {
	font-weight:600;
	width:10em;
	background: none;
	border:none;
	padding:0;
    vertical-align: baseline;
}
.en #main .overview_block dl:not(.officer) dd table th{
  width:20em;
}
#main .overview_block dl:not(.officer) dd table td {
	font-weight:500;
	background: none;
	border:none;
	padding:0;
    vertical-align: baseline;
}

/*--取締役--*/
#main .section .list_block dl.officer {
	display: block;
}
#main .section .list_block dl.officer dt {
	margin-bottom:var(--spacing-xs);
}
#main .section .list_block dl.officer sup {
	color:var(--logo-blue);
	font-size:100%;
}
#main .section .list_block dl.officer dd {
	width: 100%;	
}
#main .section .list_block dl.officer dd.member {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .section .list_block dl.officer dd.member > * {
	width: 49%;
	margin: 0 0 var(--spacing-s);
}
#main .section .list_block dl.officer .member > .date {
	text-align: right;
	width: 100%;
}
#main .section .list_block dl.officer .profile {
	display: flex;
}
#main .section .list_block dl.officer .profile figure {
	width: 220px;
	max-width: 50%;
	margin: 0 var(--spacing-xs) var(--spacing-xs) 0;
}
#main .section .list_block dl.officer .profile span {
	display: block;
}
#main .section .list_block dl.officer details.accordion .ttl {
	display: inline-block;
	margin-bottom: var(--spacing-xxs);
	cursor: pointer;
}
#main .section .list_block dl.officer details.accordion summary::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	background: url("/img/icon_material-add-circle-outline.png")no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin: -2px 0 0 .4em;
}
#main .section .list_block dl.officer details.accordion summary[aria-expanded="true"]::after {
	background: url("/img/icon_material-minus-circle-outline.png")no-repeat;
	background-size: contain;
}
#main .section .list_block dl.officer details.accordion ul {
	display: block;
	padding: 0 var(--spacing-xs) 0 0;
}

#main .section .list_block dl.officer details.accordion li {
	display: flex;
}
#main .section .list_block dl.officer details.accordion li .date {
	width: 6em;
}
#main .section .list_block dl.officer details.accordion li .txt {
	flex: 1 0 0;
}
#main .section .list_block dl.officer table {
	font-size: 0.777em;
	text-align: center;
}
#main .section .list_block dl.officer table th,
#main .section .list_block dl.officer table td {
	padding: var(--spacing-xxs) .5em;
}
#main .section .list_block dl.officer table th {
	text-align: center;
	vertical-align: middle;
}
#main .section .list_block dl.officer table td {
	width: 60px;
	text-align: center;
	vertical-align: middle;
}
#main .section .list_block dl.officer table .name {
	width: 6em;
	text-align: left;
	height: 5em;
	line-height: 1.4;
}
.tbl_wrap {
	overflow-x: auto;
}
#main .section .list_block dl.officer .note_sp {
	font-size: .7em;
	color: var(--d-gray);
	display: none;
}
#main .section .list_block dl.officer .tbl_wrap .inner {
	width: 100%;
	min-width: 600px;
}

@media only screen and (max-width: 768px) {
	#main .section .list_block dl.officer dd.member {
		display: block;
	}
	#main .section .list_block dl.officer dd.member > * {
		width: 100%;
	}
	#main .section .list_block dl.officer details.accordion ul {
		padding: 0;
	}
	#main .section .list_block dl.officer table {
		font-size: 0.5em;
	}
}
@media only screen and (max-width: 640px) {
	#main .section .list_block dl.officer .note_sp {
		display: block;
	}
}


/*--事業所紹介--*/
.map_block {
	margin-bottom:var(--spacing-s);
}

.map_block + .img_block{
	display: flex;
	justify-content: space-between;
	margin-bottom:var(--spacing-s);
}
.map_block + .img_block .column {
	width:calc(50% - 20px);
}
.map_block + .img_block .column img {
	width:100%;
}
.map_block + .img_block > .column:nth-of-type(2) img, .map_block + .img_block > .photo-box img{
	border-radius: 30px;
}
.map_block + .img_block + .list_block dl dt {
	width:12.7272%;
}
.map_block + .img_block + .list_block dl dd {
	width:87.2727%;
	padding-left:1em;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.map_block + .img_block + .list_block dl dd a {
	display:flex;
	width:auto;
}
@media only screen and (max-width: 768px) {
	.map_block + .img_block + .list_block dl dt,.map_block + .list_block dl dd {
		width:100%;
		padding-left:0;
		display:block;
	}
}


/*--関連会社--*/
.link_list p + p {
	margin-top:1rem;
}
.link_list p.nolink {
	padding-left:1em;
}

/*--組織図--*/
.organaization_table {
	width:100%;
	border-left:1px solid #CDD6DD;
}
#main .section .organaization_table tr > td[rowspan="8"]{
	border-right:1px solid #CDD6DD;
}
.organaization_table + p {
	margin-top:1rem;
}

/*--サンリオのあゆみ--*/
.history_block {
	margin-left:var(--spacing-s);
	position:relative;
}
.history_block:before {
	content:"";
	width:2px;
	height:calc(100% - 28px);
	position:absolute;
	background: var(--logo-blue);
	opacity:0.3;
	left:6px;
	top:0.75em;
}
.history_block dl {
	display: flex;
	justify-content: space-between;
}
.history_block dl dt{
	padding-left:var(--spacing-s);
	position:relative;
	font-size:1.3333em;
	color:var(--d-gray);
	width:15%;
	line-height: 1.3333;
	padding-bottom:var(--spacing-m);
}
.history_block > dl:last-child dt {
	padding-bottom:0;
}
.history_block dl dt:after {
	content:"";
	position:absolute;
	left:0;
	top:0.5em;
	width:14px;
	height:14px;
	border:2px solid #1C63B7;
	background: #FFF;
	border-radius: 50%;
	display: block;
}
.history_block dl dt small {
	font-size:0.583em;
}
.history_block dl dd {
	width:83.5%;
	line-height: 1.7777;
	padding-top:0.1em;
}
@media only screen and (max-width: 767px) {
    .history_block dl {
        display: block;
    }
    .history_block dl dt, .history_block dl dd{
        width:100%;
    }
    .history_block dl dt {
        padding-bottom:0;
    }
    .history_block dl dd {
        padding-left: var(--spacing-s);
        padding-bottom:var(--spacing-m);
    }
}

/* ----------------------
  ニュースリリース
------------------------*/
.news_list_wrap {
	padding-bottom:var(--spacing-s);
}
.news_container.news_list li {
	align-items: center;
}
.news_container.news_list > li:first-child {
	border-top:1px solid var(--l-gray);
}
.news_container.news_list li .news_list_label {
    display: inline-block;
    width:6em;
    padding:0 8px;
    font-size:0.8em;
    color:#FFF;
    background:rgba(0,75,177,0.6);
    white-space: nowrap;
    text-align: center;
    margin-left:2rem;
}
.news_container.news_list li .news_list_label.label_news {
    background: rgba(0,75,177,0.4);
}
.yearSelect {
	margin:0 0 var(--spacing-xs) auto;
}
#type {
    display: flex;
    justify-content: space-between;
    margin-bottom:var(--spacing-s);
}
#type li {
    width:32%;
}
#type li a {
    background-color: var(--l-gray);

    padding:10px 0;
    display: block;
    text-align: center;
}
#type li.active a {
    background-color: var(--logo-blue);
        color:#FFF;
}
/*
#type li.active:nth-of-type(2) a {
    background-color: #70AD47;
}
#type li.active:nth-of-type(3) a {
    background-color: #FFC000;
}
*/
#type li a:hover {
    opacity:0.8;
    text-decoration: none;
}
@media only screen and (max-width: 767px) {
	.news_container.news_list li {
		display: block;
	}
	.news_container.news_list li > * {
		width:100%;
        display: block;
	}
	.news_list li a {
		padding-left:0;
	}
}

/* ----------------------
  SDGs
------------------------*/
.sdgs #main {
	padding-bottom:var(--spacing-xxxl);
}
#whatsnew_sdgs h2 {
/*	margin-top:var(--spacing-xl);*/
}
#whatsnew_sdgs .news_container.news_list > li:first-child {
	border-top:none;
}
.news_container.news_list + a.btn_more {
	margin-top:var(--spacing-m);
}
.link_box#hellosmile {
	background: #ef7c1b;
}
.sdgs_columns_wrap + .sdgs_columns_wrap {
	margin-top:var(--spacing-xl);
}
.sdgs_columns {
	display: flex;
	justify-content: space-between;
}
.sdgs_columns.float_box {
	display: block;
}
.sdgs_columns.float_box:after {
	content:"";
	display: table;
	width:100%;
	height:1px;
	clear:both;
}
.sdgs_columns .txt_box {
	width:50%;
}
.sdgs_columns.float_box .txt_box {
	width:100%;
}
#main .sdgs_columns .txt_box h2 {
	margin-bottom:var(--spacing-xs);
}
.sdgs_columns .photo_box {
	width:47%;
}
.sdgs_columns .photo_box img {
    width: 100%;
    border-radius: 30px;
}
.sdgs_columns.float_box .photo_box {
	float:right;
	margin-left:3%;
}
.sdgs_columns_wrap * + h3.title_label {
	margin-top:var(--spacing-s);
}
.link_column.w100 {
    width:100%;
}
.bn_nakayoku {
    width:98.47%;
    display: block;
    background: var(--white);
    box-shadow: 0 3px 15px rgb(0 0 0 / 12%);
    border-radius: 7px;
    display: flex;
    padding: 20px 42px 16px;
    flex-flow: column;
    align-items: flex-start;
    justify-content: flex-start;
    margin-right:1.53%;
}
.bn_nakayoku img {
    max-width:350px;
}

@media only screen and (max-width: 767px) {
	#main #whatsnew_sdgs h2 {
		margin-bottom:0;
	}
	.sdgs_columns {
		display: block;
	}
	.sdgs_columns .txt_box,.sdgs_columns .photo_box {
		width:100%;
	}
	.sdgs_columns .photo_box {
		margin-top:var(--spacing-xs);
	}
	.sdgs #main {
		padding-bottom: var(--spacing-xxl);
	}
}
/* ----------------------
  Business Information
------------------------*/
.not_home.business-info #main {
	padding-bottom:var(--spacing-xxxl);
}
.not_home.business-info .mv_field figure {
	margin:var(--spacing-s) 0;
}
.not_home.business-info .container > .business_columns_wrap .business_columns {
	flex-flow: row-reverse;
}
.not_home.business-info .container > .business_columns_wrap:nth-of-type(2n) .business_columns {
    flex-flow: row;
}
.business_columns_wrap .business_columns + .link_column_wrap {
	margin-top:var(--spacing-s);
}
@media only screen and (max-width: 767px) {
	.not_home.business-info #main {
		padding-bottom:var(--spacing-xxl);
	}
}

.not_home.business-info .container > .business_columns_wrap .business_columns.business_columns_row{
    flex-flow: row;
  }
.merit_columns {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
}
.merit_column {
  background: #FFF;
  width: calc((100% - 20px )/2);
  padding: 20px 42px 30px;
  margin-bottom: 24px;
  text-align: center;
  border: 2px solid var(--h-blue);
}
.merit_column dl {
  width: 100%;
}
.merit_column dt {
  font-size: 1.22222em;
  padding-bottom: 12px;
  color: var(--logo-blue);
}

@media only screen and (max-width: 768px) {
.merit_column {
  width: 100%;
}
}
/* ----------------------
  contact - form
------------------------*/
.formWrap #main {
	padding-bottom:var(--spacing-m);
}
#main .section h2.mb-none + p {
	margin-top:var(--spacing-xxs);
}
.form_field {
	margin-top:var(--spacing-s);
}
.form_field dl dt {
	width:23.5%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.form_field dl dt label {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.form_field dl dd {
	padding-left:var(--spacing-s);
	width:76.5%;
	font-size:0.8888em;
}
.en .form_field dl dt {
  width:28%;
}
.en .form_field dl dd {
	width:72%;
}
.form_field dl dd input[type="text"],
.form_field dl dd input[type="email"],
.form_field dl dd input[type="url"],
.form_field dl dd textarea {
	width:100%;
	display: block;
}
.form_field dl dd p + input {
	margin-top:0.5em;
}
.form_field dl dd ul {
	display: flex;
	justify-content: flex-start;
	flex-flow: wrap;
}
.form_field dl dd ul li {
	margin-right:1em;
	white-space: nowrap;
}
.form_field dl dd p + ul {
	margin-top:var(--spacing-xxs);
}
#main .form_field dl dd ul + h5 {
	margin-top:1em;
	font-size:1em;
}
#main .form_field dl dd h5 {
	font-size:1em;
}
.form_field dl dd .iwrap {
	display:flex;
	align-items: center;
}
.form_field dl dd .iwrap input {
	margin-right:1em;
}
.form_field dl dd .iwrap input.inputNum,
.form_field dl dd .iwrap input[name="yourTel"],
.form_field dl dd .iwrap input[name="schoolTel"],
.form_field dl dd .iwrap input[name="homeroomTeacherTel"],
.form_field dl dd .iwrap input[type="tel"] {
	width:35%;
}
.form_field dl dd .iwrap input[name="yourZip"] {
	width:25%;
	margin-left:1em;
}

.caution_field, .submit_field {
	margin-top:var(--spacing-s);
	border-top:1px solid #CDD6DD;
	padding-top:var(--spacing-s);
}
.caution_field > ul.list > li{
	font-size:0.77777em;
}
.caution_field > ul.list {
	margin-top:var(--spacing-xs);
}
.caution_field > ul.list li ul {
	margin-top:1em;
}
.submit_field {
	display: flex;
	justify-content: center;
}
.submit_field .btn_submit {
	width: 240px;
	height: 57px;
	border-radius: 7px;
	box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.26);
	color:#FFF;
	background:#004BB1;
	display: block;
	margin:0 var(--spacing-xxs);
	text-align: center;
	line-height: 57px;
	font-size:1em;
	cursor: pointer;
	-webkit-appearance: none;
}
.submit_field .btn_submit.btn_crear {
	background:#98A6B5;
}
.thanks h2 img {
	display: block;
	margin:0 auto var(--spacing-s);
}
.thanks.formWrap #main {
	padding-bottom:0;
}

@media only screen and (max-width: 767px) {
	.form_field dl dd {
		padding-left:0;
		margin-top:var(--spacing-xxs);
	}
	.submit_field .btn_submit {
		width:46%;
		max-width:240px;
		margin:0 2%
	}
	.form_field dl dd p + ul {
		display: block;
	}
	.form_field dl dd p + ul li + li {
		margin-top:var(--spacing-xxs);
	}
	.form_field dl dd .iwrap input.inputNum,
	.form_field dl dd .iwrap input[name="yourTel"],
	.form_field dl dd .iwrap input[name="schoolTel"],
	.form_field dl dd .iwrap input[name="homeroomTeacherTel"],
	.form_field dl dd .iwrap input[type="tel"] {
		width:50%;
	}
}

/* アクセシビリティ一時対応分 */
.form_field .row {
	display: flex;
	position: relative;
	border-top: 1px solid #CDD6DD;
	padding: var(--spacing-xs) 0;
}
.form_field .row_h {
	position: absolute;
	top: 0;
	left: 0;
	width: 23.5%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	height: 100%;
	color: #1C63B7;
	font-weight: 500;
	padding: var(--spacing-xs) 0;
}
.form_field .row_h::before {
	content: "";
	width: 20px;
	height: 1px;
	background: #1C63B7;
	position: absolute;
	left: 0;
	top: -1px;
}
.form_field .row_d .iwrap {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.form_field .row_d .iwrap input.inputNum {
	width: 35%;
}

.form_field .row_d {
	width: 100%;
	padding-left: calc(23.5% + var(--spacing-s));
	font-size: 0.8888em;
}

@media only screen and (max-width: 768px) {
.form_field .row {
		display: block;
		padding: var(--spacing-xxs) 0;
	}
	.form_field .row_h {
		position: relative;
		width:  100%;
		height: auto;
		padding: var(--spacing-xxs) 0;
	}
	.form_field .row_d {
		padding-left: 0;
		margin-top: var(--spacing-xxs);
	}
	.form_field .row_d .iwrap input.inputNum {
		width: 50%;
	}
}

/* ----------------------
  compliance
------------------------*/

.comp_field + .comp_field, p + .comp_field {
	margin-top:var(--spacing-l);
}
.comp_field p + p {
	margin-top: 1em;
}
.comp_field p.sub {
	margin-left: 1em;
}

.comp_field ol.num {
	margin-top:var(--spacing-xs);
}
.charter .comp_field ol.num > li {
	font-weight:500;
	color:var(--logo-blue);
}
.comp_field ol.num > li p, .privacy .comp_field ul.list > li p {
	color:var(--b-black);
	font-weight:400;
}
.comp_field ol.num > li:not(:first-child), .privacy .comp_field ul.list > li:not(:first-child) {
	margin-top:var(--spacing-xs);
}
.comp_field ol.num + p,  .comp_field ul.list + p{
	margin-top:var(--spacing-xs);
}
.comp_field p + ul.list {
	margin-top:var(--spacing-xs);
}
#main .section .comp_field h3 {
	margin-top:var(--spacing-s);
}

.bg_blue_box {
	padding:var(--spacing-xs);
	background: var(--l-gray);
	border-radius: 7px;
}
.bg_blue_box dt {
	font-weight:500;
}
.bg_blue_box dd {
	font-size:0.88888em;
	font-weight:400;
}
.videoBox {
	width:100%;
}
.video_modal_box{
	display: none;
}
.videoBox video {
	width:100%;
	height:auto;
}

/* ------------------------------------
	health_management
------------------------------------ */
.health_management #main .section .container > h3 {
	margin-top: var(--spacing-xs);
}

.health_management .num.circle li:has(>h3)::before {
	font-size: 1.22222em;
}

.health_management .tableType01 {
	font-size: 0.777em;
}

.health_management #main .tableType01 th,
.health_management #main .tableType01 td {
	padding: var(--spacing-xxs) .5em;
}

.health_management #main .tableType01 thead th {
	vertical-align: middle;
}

.health_management #main .tbl_wrap .inner {
	width: 100%;
	min-width: 619px;
}

.health_management p + p {
	margin-top: 1em;
}

.health_management ol {
	margin: 1em 0 1em 1.5em;
}

.health_management ol > li::marker {
	color:var(--logo-blue);
}

.health_management figure {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.health_management figure + figure {
	margin-top: var(--spacing-s);
}

.health_management .fig_panel {
	max-width: 800px;
}

.health_effort_field {
	border: rgba(205,214,221,0.6) 1px solid;
	background: #F6FBFF;
	border-radius: 7px;
	padding: var(--spacing-s);
	margin-bottom: var(--spacing-xl);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.health_effort_field .txt_box {
	width: 56%;
}

.health_effort_field .photo_box {
	width: 40%;
}

.health_management .note_sp {
	display: none;
	font-size: .7em;
	color: var(--d-gray);
}

.health_management .health_management_flex,
.health_management .dl_flex {
	display: flex;
}

.health_management .dl_flex {
	align-items: center;
}

.health_management .dl_flex > dt::after {
	content: "：";
}

.health_management .health_management_flex.character {
	gap: 0 40px;
}

.health_management .health_management_flex.point {
	align-items: flex-start;
	gap: 0 40px;
}

.health_management .health_management_flex.point > .text_block {
	flex: 1;
}

.health_management .health_management_flex.point > div:not(.text_block),
.health_management .health_management_flex.point > figure {
	width: 40%;
}

.health_management .health_management_flex.evaluation {
	flex-wrap: wrap;
	gap: 40px;
}

.health_management .health_management_flex.evaluation > li {
	display: flex;
	width: calc(50% - 20px);
}

.health_management .health_management_flex.evaluation > li figure {
	display: flex;
	flex-direction: column;
	border: solid 1px #CDD6DD;
}

.health_management .health_management_flex.evaluation > li figure > picture {
	height: 200px;
	padding: 10px;
	border-bottom: solid 1px #CDD6DD;
	text-align: center;
}

.health_management .health_management_flex.evaluation > li figure > picture img {
	width: auto;
	max-height: 180px;
}

.health_management #main .health_management_flex.evaluation > li figure > figcaption {
	padding: 5px 10px;
}

.health_management #main .health_management_flex.evaluation > li figure > figcaption h3 {
	padding-bottom: 0;
}

.health_management #main .health_management_flex.evaluation > li figure > figcaption h3::before {
	content: none;
}

.health_management #main .health_management_flex.evaluation > li figure > figcaption p {
	text-align: left;
}

.health_management #main .health_management_flex.evaluation > li figure > figcaption p  .text_link.blank::after {
	top: auto;
	bottom: 8px;
}

.health_management .img_flex {
	display: flex;
	align-items: flex-start;
	gap: 0 10px;
}

.health_management .img_flex > * {
	width: calc(50% - 5px);
}

@media only screen and (max-width: 768px) {
	.health_management .note_sp {
		display: block;
	}
	.health_management .tableType01 {
		font-size: min(3.2vw, 1.2rem);
	}
	.health_effort_field {
		display: block;
		padding: var(--spacing-xs) var(--spacing-xxs);
	}
	.health_effort_field .photo_box {
		width: 100%;
		margin-top:var(--spacing-s);
	}
	.health_effort_field .txt_box {
		width:100%;
	}
	.health_management .health_management_flex {
		flex-direction: column;
	}
	.health_management .health_management_flex.character,
	.health_management .health_management_flex.point {
		gap: 20px 0;
	}
	.health_management .health_management_flex.point > div:not(.text_block),
	.health_management .health_management_flex.point > figure {
		width: 100%;
	}
	.health_management .health_management_flex.evaluation > li {
		width: 100%;
	}
	.health_management .health_management_flex.evaluation > li figure > picture {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.health_management #main .health_management_flex.evaluation > li figure > figcaption {
		padding: 10px;
	}
}


/* ------------------------------------
	live
------------------------------------ */
.caution_wrap {
	margin: 0 0 2em;
}
.caution_ul {
	margin: 0 0 1em;
}
.caution_ul li {
	padding: 0 0 .5em 1.5em;
	position: relative;
}
.caution_ul li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '※';
}

.live_wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: var(--spacing-s);
}
.live_wrap iframe,
.live_wrap video {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


/* ------------------------------------
	sponsorship
------------------------------------ */
.sponsorship .index_column_wrap {
	padding-bottom: 0;
}
.sponsorship .index_column .inner {
	background: #F6FBFF;
	border: #CDD6DD 1px solid;
	border-radius: 15px;
	height: 100%;
	display: flex;
	padding:var(--spacing-xs);
}
.sponsorship .index_column .thumb_box {
	width: 40%;
	margin-right: 5%;
	text-align: center;
}
.sponsorship .index_column .thumb_box .copyright {
	display: block;
	text-align: right;
	font-size: 10px;
}
.sponsorship .index_column .thumb_box ul {
	margin-top:var(--spacing-xxs);
}
.sponsorship .index_column .thumb_box ul li {
	display: inline-block;
	width: 32px;
	margin: 0 4px;
}
.sponsorship .index_column .thumb_box ul li a {
	background: none;
	box-shadow: none;
	display: inline-block;
	overflow: hidden;
	padding: 0;
	transition: .5s;
	border-radius: 0;
}
.sponsorship .index_column .thumb_box ul li a:hover {
	opacity: .6;
}
.sponsorship .index_column .thumb_box ul li a img {
	width: 100%;
	height: auto;
}
.sponsorship .index_column dl {
	width: 55%;
}
.sponsorship .index_column dl dt {
	font-size:1.22222em;
	padding-bottom:20px;
	position:relative;
	color:var(--logo-blue);
}
.sponsorship .index_column dl dt:before {
	content:"";
	width:17.8%;
	max-width:50px;
	height: 2px;
	background: linear-gradient(#2957c1 0%, #0080ff 100%);
	position:absolute;;
	left:0;
	bottom:0;
}
.sponsorship .index_column dl dt small {
	font-size: .7em;
	display: block;
}
.sponsorship .index_column dl dt small.belong {
	display: inline-block;
}
.sponsorship .index_column dl dd {
	padding-top:1em;
	padding-bottom: 1em;
}
.sponsorship .index_column dl dd p {
	margin-bottom:10px;
	color:var(--b-black);
}

.sponsorship .index_column.group {
	width: 100%;
}
.sponsorship .index_column.group .inner {
	display: block;
}
.sponsorship .index_column.group dl {
	width: 100%;
}
.sponsorship .index_column.group dl dd {
	padding-bottom: 0;
}
.sponsorship .index_column.group .member_list {
	display: flex;
	justify-content: center;
	margin-top: var(--spacing-xs);
}
.sponsorship .index_column.group .member_list .thumb_box {
	width: 18.5%;
	margin-right: 0;
	margin-right: 2%;
}
.sponsorship .index_column.group .member_list .thumb_box:last-child {
	margin-right: 0;
}
.sponsorship .index_column.group .member_list .name {
	display: inline-block;
	margin-top:var(--spacing-xxs);
	color:var(--logo-blue);
}
.sponsorship_columns {
	display: flex;
	justify-content: space-between;
	margin-bottom:var(--spacing-xl);
}
.sponsorship_columns .photo_box {
	width:40%;
}
.sponsorship_columns .txt_box {
	width:56%;
}
.sponsorship_columns .txt_box p + p{
	margin-top:1em;
}
.sponsorship_columns .txt_box .link_column_wrap {
	margin:var(--spacing-s) 0;
}
.sponsorship_columns .photo_box img {
	width:100%;
	border-radius: 30px;
}
.sponsorship_columns .photo_box figure + figure {
	margin-top:var(--spacing-xs);
}
.sponsorship_columns_wrap + .sponsorship_columns_wrap, #main .section .container > div + .sponsorship_columns_wrap {
	margin-top:var(--spacing-xl);
}
.container > .sponsorship_columns_wrap:nth-of-type(2n) .sponsorship_columns{
	flex-flow: row-reverse;
}
p.emphatic {
	color: var(--logo-blue);
	font-size: 1.22222em;
	padding-bottom: var(--spacing-xs);
	position: relative;
	margin: 0 0 var(--spacing-xs) 0;
	font-feature-settings: normal;
}
@media only screen and (max-width: 768px) {
	.sponsorship .index_column_wrap.col2 .index_column {
		width: 100%;
	}
	.sponsorship_columns {
		display: block;
	}
	.sponsorship_columns .photo_box {
		width:100%;
		margin-bottom:var(--spacing-s);
	}
	.sponsorship_columns .txt_box {
		width:100%;
	}
	.sponsorship .index_column.group .member_list {
		flex-wrap: wrap;
		width: 90%;
		margin: 0 auto;
		justify-content: space-between;
	}
	.sponsorship .index_column.group .member_list .thumb_box {
		width: 45%;
		margin-top: var(--spacing-xs);
		margin-right: 0;
	}

}
