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

					RESET

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
body{line-height:0;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,legend,input,textarea,p,blockquote,table,caption,tbody,tfoot,thead,th,td,option,figure,figcaption,small,button{margin:0;padding:0;line-height:1;font-size:100%;
/*==================================================
Base Font
====================================================*/
font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal;}table{border-collapse:collapse;border-spacing:0;}caption,th {text-align:left;}fieldset,img,abbr,acronym{border:0;margin: 0px;vertical-align: bottom;}object,embed,th,td{vertical-align: top;}address,caption,cite,code,dfn,th,var,optgroup,strong,em,b,i{font-style:normal;font-weight:normal;}ol,ul{list-style:none;}a,ins,del{text-decoration: none;}q:before,q:after {content:'';}* html body{font-size: 65%;}*+html body{font-size: 65%;}html{overflow: scroll;overflow: -moz-scrollbars-vertical;overflow-x: scroll;}strong{font-weight: bold;}em{font-style: italic;}del{text-decoration: line-through;}a{cursor:pointer;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					COMMON

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
/*==================================================
FLOAT
====================================================*/
/*--------------------------------------------------- clf*/
.clf:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;}
* html .clf { zoom: 1; } /* IE6 */
*:first-child+html .clf { zoom: 1; } /* IE7 */
.clf {overflow:hidden;}
input[type="submit"],
input[type="button"],
input[type="reset"] {
 -webkit-appearance: none;
}
/*--------------------------------------------------- FLOAT*/
.flt_left{float:left;}
.flt_right{float:right;}
.flt_clear{clear:both;}
/*==================================================
TEXT
====================================================*/
/*--------------------------------------------------- FONT*/
.fnt_min{font-family:"游明朝", "Yu Mincho", YuMincho, "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";}
.fnt_gothic{font-family:"游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}
.fnt_bold{font-weight:bold;}
/*--------------------------------------------------- ALIGN*/
.ta_center, .taC { text-align:center;}
.ta_left, .taL { text-align:left;}
.ta_right, .taR { text-align:right;}
/*==================================================
LAYOUT
====================================================*/
/*--------------------------------------------------- MARGIN*/
.mgn_0{ margin:0;}
.mgn_auto{margin:auto;}
.mgn_top_0{ margin-top:0;}
.mgn_top_5{ margin-top:5px;}
.mgn_top_10{ margin-top:10px;}
.mgn_top_15{ margin-top:15px;}
.mgn_top_20{ margin-top:20px;}
.mgn_top_30{ margin-top:30px;}
.mgn_top_40{ margin-top:40px;}
.mgn_top_50{ margin-top:50px;}
.mgn_btm_0{ margin-bottom:0;}
.mgn_btm_5{ margin-bottom:5px;}
.mgn_btm_10{ margin-bottom:10px;}
.mgn_btm_15{ margin-bottom:15px;}
.mgn_btm_20{ margin-bottom:20px;}
.mgn_btm_30{ margin-bottom:30px;}
.mgn_btm_40{ margin-bottom:40px;}
.mgn_btm_50{ margin-bottom:50px;}
/*--------------------------------------------------- PADDING*/
.pdn_0{ padding:0;}
.pdn_5{ padding:5px;}
.pdn_10{ padding:10px;}
.pdn_15{ padding:15px;}
.pdn_20{ padding:20px;}
.pdn_30{ padding:30px;}
.pdn_40{ padding:40px;}
.pdn_50{ padding:50px;}

.ib {
	display: inline-block;}
/*==================================================
NO STYLE
====================================================*/
.noStyle{
	margin:0 !important;
	padding:0 !important;
	background:none !important;
	border:none !important;
	text-decoration:none !important;
	float:none !important;}
/*==================================================
IMAGE
====================================================*/
.img_hover {
    display: block;
    width: 100%;
    position: relative;
    overflow: hidden;}
.img_hover img {
    display: block;
    max-width: 100%;
    height: auto;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    transition: all 0.5s;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;}
a.img_hover:hover img,
a:hover .img_hover img,
.img_hover.hover img {
	opacity: 1;
    -webkit-transform: scale3d(1.1,1.1,1.1);
    -ms-transform: scale3d(1.1,1.1,1.1);
    transform: scale3d(1.1,1.1,1.1);}

.atp_fadefloat {
	opacity: 0;
    -webkit-transform : translate3d(0, 50px, 0);
    transform : translate3d(0, 50px, 0);
    transition : all 1s;}
.atp_fadefloat.scrolled {
	opacity: 1;
    -webkit-transform : translate3d(0, 0, 0);}
    transform : translate3d(0, 0, 0);}
.atp_fadefloat.rapid,
.atp_fadefloat.rapid.scrolled{
	transition : all 0s;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					LAYOUT

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
/*==================================================
DEFAULT
====================================================*/
*{
	box-sizing:border-box;
	outline: none;}
html{
	width:100%;
	height:100%;
	overflow:auto;}
body {
	position: relative;
	width:100%;
	height:100%;
	font-size:15px;
	color:#111;
	padding: 85px 0 0 0;}
body#home {
	padding: 0 0 0 0;}
/*==================================================
COLOR
====================================================

accent		: #0e67a3
sub			: #D1CDC7
sub light	: #FDF9F2
*/

/*==================================================
HEADER
====================================================*/
#hdr_wrapper {
	position: relative;}
/*--------------------------------------------------- GLOBAL NAVI*/
#hdr_main {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 8000;
	width: 100%;
	display: flex;
	align-content: flex-start;
	align-items: flex-start;}
#home #hdr_main {
	align-content: flex-end;
	align-items: flex-end;
	position: absolute;
	top: auto;
	bottom: 0;}
#home.rotate-end #hdr_main {
	position: fixed;
	top: 0;
	bottom: auto;
	align-items: flex-start;
	animation: homehdr 0.7s ease 0s 1 normal;}
@keyframes homehdr {
0% {top: -116px;}
100% {top: 0;}
}
@-moz-keyframes homehdr {
0% {top: -116px;}
100% {top: 0;}
}
@-webkit-keyframes homehdr {
0% {top: -116px;}
100% {top: 0;}
}
@-o-keyframes homehdr {
0% {top: -116px;}
100% {top: 0;}
}
@-ms-keyframes homehdr {
0% {top: -116px;}
100% {top: 0;}
}
#hdr_main .main {
	width: 100%;
	display: flex;
	background: #fff;
	align-content: center;
	align-items: center;
	height: 90px;
	padding: 0 10px 0 0;}
#home #mv_inner #hdr_nav {
  align-items: end;
}
#hdr_main a {
	overflow: hidden;
	font-weight: bold;
	line-height: 1.4;
	height: 100%;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;}
#hdr_nav_main {
	width: 100%;
  justify-content: end;
  gap: 8px;
	display: flex;}
#hdr_nav_main li a {
  display: inline-block;
  border-radius: 30px;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
	padding: 10px 30px;}

#hdr_nav_main li a:before {
  content: '';
  transition: all 0.3s ease;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: rgb(14,103,163); /* Old browsers */
	background: -moz-linear-gradient(-45deg, rgba(14,103,163,1) 0%, rgba(125,185,232,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0e67a3', endColorstr='#7db9e8',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
#hdr_nav_main li a:hover {
  color: #fff;
}
#hdr_nav_main li a:hover:before {
  opacity: 1;
}
#hdr_nav_main li a span {
  position: relative;
  z-index: 1;
}
#hdr_nav {
  display: flex;
  justify-content: flex-end;
	width: 100%;
	height: 100%;}
#hdr_main .hdr_logo {
	height: 100%;}
#hdr_main .hdr_logo a {
	width: 220px;}

#hdr_nav .recruit {
	height: 116px;
	width: 156px;
	z-index: 8001;
	color: #Fff;
	background: rgb(14,103,163); /* Old browsers */
	background: -moz-linear-gradient(-45deg, rgba(14,103,163,1) 0%, rgba(125,185,232,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0e67a3', endColorstr='#7db9e8',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */}
#hdr_nav_sp {
  flex-shrink: 0;
	position: relative;
	width: 90px;
	height: 90px !important;
	color: #Fff;
	text-align: center;
  background-color: #0e67a3;
  border: none;
  border: unset;
}
#hdr_nav_sp .bar,
#hdr_nav_sp .ltr {
	transition: all 0.4s ease-in-out 0s;
	-moz-transition: all 0.4s;
	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;}
#hdr_nav_sp .bar {
	display: inline-block;
	width: 50px;
	height: 1px;
	position: absolute;
	left: 20px;
	background: #fff;}
#hdr_nav_sp .top{
	top: 17px;}
#hdr_nav_sp .mid{
	top: 29px;}
#hdr_nav_sp .btm{
	top: 41px;}
.spmenu #hdr_nav_sp .top,
.spmenu #hdr_nav_sp:hover .top {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 50%;}
.spmenu #hdr_nav_sp .mid,
.spmenu #hdr_nav_sp:hover .mid {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	top: 50%;}
.spmenu #hdr_nav_sp .btm,
.spmenu #hdr_nav_sp:hover .btm {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;}
#hdr_nav_sp .ltr {
	font-weight: bold;
	font-size: 16px;
  letter-spacing: 0.05em;
	position: absolute;
	bottom: 15px;
	left: 50%;
	-webkit-transform: translate3d(-50%, 0px, 0px);
	transform: translate3d(-50%, 0px, 0px);}
.spmenu #hdr_nav_sp .ltr {
  font-size: 10px;
	opacity: 0;}
#hdr_main .main .sp {
	display: none;}
/*--------------------------------------------------- HOME MV SLIDER*/
#SliderImg {
	width: 100%;
	height: 100%;
	background: #f1f1f1;
	right: 0;
	top: 0;
	position: absolute;
	overflow: hidden;}
#SliderImg .sldimg {
	width: 100%;
	height: 100%;
	position:absolute;
	top:0;
	left:0;
	display:none;}
#SliderImg .sldimg .img {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;}
#SliderImg .sldimg#sld_1 .img {
	background-image:url('../images/home/mv_01.jpg');}
#SliderImg .sldimg#sld_2 .img {
	background-image:url('../images/home/mv_02.jpg');}
#SliderImg .sldimg#sld_3 .img {
	background-image:url('../images/home/mv_03.jpg');}
#SliderImg .sldimg#sld_4 .img {
	background-image:url('../images/home/mv_04.jpg');}
#SliderImg .sldimg#sld_5 .img {
	background-image:url('../images/home/mv_05.jpg');}
#nav_home_mv {
	position: absolute;
	left: 50px;
	top: 0;
	z-index: 10;
	display: flex;
	align-items: flex-start;}
#nav_home_mv .sldnav {
	transition: all 1.5s;
	-moz-transition: all 1.5s;
	-webkit-transition: all 1.5s;
	-o-transition: all 1.5s;
	position: relative;
	height: 25px;
	width: 16px;}
#nav_home_mv .sldnav:before {
	height: 100%;
	content: '';
	background: #fff;
	width: 2px;
	position: absolute;
	left: 50%;
	margin: 0 0 0 -1px;
	top: 0;}
#nav_home_mv .sldnav.current {
	height: 35px;}
#nav_home_mv .sldnav.current:before {
	background: #0E67A3;}

/*--------------------------------------------------- PAGE TITLE*/
/*--------------------------------------------------- BREAD CRUMBS*/
.breadcrumb.sp {
	display: none;}
.breadcrumb {
	max-width: 1040px;
	padding: 20px 20px;
	margin: 0 auto;
	font-size: 12px;}
.breadcrumb span,
.breadcrumb a {
	display: inline-block;
	line-height: 1.6;}

.breadcrumb,
.simple_title_area {
  font-weight: bold;}
.simple_title_area {
  text-align: center;}
.simple_title_area .page_title {
  margin: 0 0 18px;
  font-weight: bold;}
p.page_tilte_en {
  font-family: futura-pt, sans-serif;}
/*==================================================
FOOTER
====================================================*/
/*--------------------------------------------------- PAGETOP*/
#ftr_pagetop {
	opacity: 0;
	position: fixed;
	right: -50px;
	bottom: 20px;
	width: 50px;
	height: 50px;
	z-index: 50;}
.scrolled #ftr_pagetop {
	right: 20px;
	opacity: 1;}
#ftr_pagetop svg path,
#ftr_pagetop svg polygon{
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;
	fill:#0E67A3;}
#ftr_pagetop svg .st0 {
	opacity:0;}
#ftr_pagetop:hover svg .st1 {
	fill: #fff;}
#ftr_pagetop:hover svg .st0 {
	opacity:1;
	fill:#0E67A3;}
/*--------------------------------------------------- FOOTER UPPER*/
#ftr_main {
	overflow: hidden;
	color: #fff;}
#ftr_group {
	display: flex;
	background: url("../images/common/bg_ftr_group.jpg") center center / cover no-repeat;}
#ftr_group .idx {
	padding: 70px 50px 70px calc((100% - 1070px ) / 2);
	background: rgba(14,103,163,0.78);
	display: flex;
	justify-content: flex-end;}
#ftr_group .idx .inner {
	max-width: 420px;}
#ftr_group .idx .title {
	padding: 0 0 30px;}
#ftr_group .idx .title .txt {
	font-size: 35px;
	line-height: 1.6;
	font-weight: bold;
	width: 100%;
	display: block;}
#ftr_group .idx .title .img {
	width: 220px;
	height: auto;}
#ftr_group .idx p {
	font-size: 14px;
	line-height: 1.8;
	font-weight: bold;}
#ftr_group .lnk {
	padding: 50px calc((100% - 1070px ) / 2) 50px 50px;
	width: 60%;}
.lst_sudo_group {
	width: 100%;
	display: flex;
	flex-wrap: wrap;}
.lst_sudo_group li {
	text-align: center;
	width: 50%;}
.lst_sudo_group li a {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	height: 100%;}
#ftr_group .lst_sudo_group {
	width: 100%;}
#ftr_group .lst_sudo_group li:nth-child(2n+1){
	border-right: 1px solid #838383;}
#ftr_group .lst_sudo_group li.logo {
	border-bottom: 1px solid #838383;}
#ftr_group .lst_sudo_group li.logo a {
	overflow: hidden;
	min-height: 150px;
	padding: 0 30px;}
#ftr_group .lst_sudo_group li.logo a .logo {
	max-width: 100%;
	height: auto}
#ftr_group .lst_sudo_group li.text a {
	padding: 20px;}
#ftr_group .lst_sudo_group a:hover {
	opacity: 0.75;}
/*--------------------------------------------------- FOOTER LOWER */
#ftr_lower {
	padding: 40px 15px 30px;
	background: #4D4D4D;}
#ftr_links,
#ftr_copy {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;}
#ftr_links {
	display: flex;
	align-items: center;}
#ftr_links .lnk {
	width: calc(100% - 290px);}
#ftr_links .lst_lnk {
	display: flex;
	justify-content: flex-end;
	width: 100%;}
#ftr_links .lst_lnk li {
	padding: 0 0 0 10px;}
#ftr_links .lst_lnk li a {
	overflow: hidden:
	font-weight: bold;
	position: relative;
	z-index: 2;
	line-height: 1.4;
	padding: 8px 60px 8px 30px;
	color: #fff;
	display: inline-block;
	border: 1px solid #fff;}
#ftr_links .lst_lnk li a:after {
	background: #fff;
	transition: all 0.4s;
	-moz-transition: all 0.4s;
	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 0;
	height: 100%;
	z-index: -1;}
#ftr_links .lst_lnk li a:hover:after {
	width: 100%;}
#ftr_links .lst_lnk li a .arw {
	position: absolute;
	top: 50%;
	margin: -4px 0 0;
	right: 20px;}
#ftr_links .lst_lnk li a .arw line,
#ftr_links .lst_lnk li a .arw path {
	fill: none;
	stroke: #fff;
	stroke-width: 1px;}
#ftr_links .lst_lnk li a:hover {
	color: #4d4d4d;}
#ftr_links .lst_lnk li a:hover .arw line,
#ftr_links .lst_lnk li a:hover .arw path {
	stroke: #4d4d4d;}
.sns_disp {
	display: flex;
	align-items: center;
	width: 50%;}
#ftr_links .sns_disp{
	width: 290px;}
.sns_disp .idx {
	padding: 0 40px 0 0;
	font-size: 17px;
	font-family: futura-pt, sans-serif;}
.sns_disp .lst_sns {
	display: flex;}
.sns_disp .lst_sns a {
	padding: 10px;
	display: block;}
#ftr_copy {
	padding: 40px 0 0;
	text-align: right;}
#ftr_copy small {
	display: inline-block;
	line-height: 1.4;
	font-size: 13px;
	font-weight: bold;}

/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					BASE STYLE

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
/*==================================================
BOX
====================================================*/
/*--------------------------------------------------- BOX : COMMON*/
.box_content{
	max-width:1020px;
	margin:0 auto;
	box-sizing:border-box;}
.box_inner{
	padding:60px 0;}
.box_cmn{
	margin:0 0 40px;}
.box_970 {
	max-width: 970px;
	margin-right: auto;
	margin-left: auto;}
.box_1000 {
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;}
/*--------------------------------------------------- BOX : COMMON*/
.box_bg_gray{
	background:#FDF9F2;}
/*--------------------------------------------------- BOX : BORDER*/
.box_bdr{
	border:1px solid #D1CDC7;}
.box_bdr_btm{
	border-bottom:1px solid #D1CDC7;}
/*--------------------------------------------------- BOX : WIDTH*/
/*--------------------------------------------------- BOX : FLOAT*/
.box_fl{
	margin:0 0 0 -40px;}
.box_fl_inner{
	float:left;
	padding:0 0 0 40px;
	box-sizing:border-box;}
/*--------------------------------------------------- BOX : TABLE*/
/*--------------------------------------------------- BOX : SCROLL*/
.box_scroll{
	max-height:150px;
	overflow:auto;
	border:1px solid #D1CDC7;
	padding:40px;
	border-radius:5px;
	background:#FDF9F2;}
/*--------------------------------------------------- BOX : DOCUMENT*/
.box_doc{
	max-width:720px;
	margin:0 auto;}
/*--------------------------------------------------- BOX : ATTENTION*/
.box_attention{
	padding:20px;
	margin:20px 0;
	border:1px solid #AB0507;
	border-radius:10px;}
/*--------------------------------------------------- BOX : NORTICE*/
.box_notice{
	padding:20px;
	margin:0 0 20px;}
/*--------------------------------------------------- BOX : POINT*/
.box_point{
	padding:20px;
	margin:20px 0;}
/*==================================================
TEXT
==================================================*/
/*--------------------------------------------------- TEXT : COMMON*/
p.txt_cmn{
	font-size:16px;
	line-height:1.8;
	margin:0 0 20px;
	text-align:justify;}
/*--------------------------------------------------- TEXT : ATTENTION*/
p.txt_attention{
	font-weight:bold;
	font-size:18px;
	line-height:1.8;
	text-align:center;}
/*--------------------------------------------------- TEXT : NOTICE*/
p.txt_notice{
	font-size:12px;
	line-height:1.5;
	color:#7F7A70;}
/*--------------------------------------------------- TEXT : REQUIRED*/
p.txt_required{
	color:#AB0507;}
/*--------------------------------------------------- TEXT : POINT*/
p.txt_point{
	font-size:20px;
	font-weight:bold;
	color:#0e67a3;
	text-align:center;
	margin:20px 0;}
span.txt_point{
	font-weight:bold;
	color:#0e67a3;}

.txt_dash.white:before {
	background: #fff;
}
.txt_dash {
	position: relative;
	padding: 0 0 0 4.2em;}
.txt_dash:before {
	background: #1A1A1A;
	position: absolute;
	left: 0;
	top: 50%;
	content: '';
	width: 4em;
	height: 1px;}
/*==================================================
LINK
====================================================*/
a{
	color: #111;
	text-decoration:none;
	cursor:pointer;
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;}
/*--------------------------------------------------- LINK : COLOR*/
a:link {
	color: #111;}
a:visited {
	color: #111;}
a:hover {
	color: #0e67a3;
	text-decoration: none;}
a:active {
	color: #111;
	text-decoration: none;}
/*--------------------------------------------------- LINK : NO TRANSITION*/
a.noanime{
	transition: all 0s ease-in-out 0s;
	-moz-transition: all 0s;
	-webkit-transition: all 0s;
	-o-transition: all 0s;}
/*--------------------------------------------------- LINK : IMG*/
a img{
	transition: all 0.7s ease-in-out 0s;
	-moz-transition: all 0.7s;
	-webkit-transition: all 0.7s;
	-o-transition: all 0.7s;}
a:hover img{
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;}
/*--------------------------------------------------- LINK : COMMON*/
a.lnk_cmn {
	display:block;
	min-width:320px;
	margin:0 auto;
	padding:10px;
	color:#FFF;
	background:#0e67a3;
	border-radius:3px;
	text-align:center;
	box-sizing:border-box;}
a.btn {
	position: relative;
	z-index: 1;
	line-height: 38px;
	display: inline-block;}
a.btn:after{
	transition: all 0.4s;
    -moz-transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	width: 0;
	height: 100%;
	z-index: -1;}
a.btn:hover:after {
	width: 100%;}
a.btn.center {
	text-align: center;}
a.btn.nobg {
	background: none;}

a.btn.white {
	color: #fff;
	border: 1px solid #fff;}
a.btn.white:after {
	background: #fff;}

a.btn.blue {
	color: #0E67A3;
	border: 1px solid #0E67A3;}
a.btn.blue:after {
	background: #0E67A3;}

a.btn.h-bl:hover {
	color: #0E67A3;}
a.btn.h-bk:hover {
	color: #000;}
a.btn.h-wh:hover {
	color: #fff;}
a.btn.arw-r {
	min-width: 300px;
	padding: 0 38px 0 10px;}
a.btn.arw-r:after {
	right: 38px;}
a.btn.arw-r:hover:after {
	width: calc(100% - 38px);}
a.btn.arw-r:before {
	line-height: 38px;
	position: absolute;
	right: 0;
	top: 0;
	text-align: center;
	content: '→';
	display: inline-block;
	height: 100%;
	width: 38px;}
a.btn.white.arw-r:before {
	background: #fff;}
a.btn.blue.arw-r:before {
	background: #0E67A3;
	color: #fff;}

a.btn.arw-r.arw-bl:before {
	color: #0E67A3;}
a.btn.arw-r.arw-bk:before {
	color: #000;}
a.btn.arw-r.arw-wh:before {
	color: #fff;}
/*--------------------------------------------------- LINK : COMMON*/
a.lnk_txt {
	display:inline-block;
	padding:3px;
	color:#0e67a3;
	border-bottom:1px dotted;}
a.lnk_txt:hover {
	border-bottom-style: solid;}
/*--------------------------------------------------- LINK : SCALE*/
a.lnk_scale img{
	-webkit-transform: scale(1.001);
	transform: scale(1.001);}
a.lnk_scale:hover img{
	-webkit-transform: scale(1.1);
	transform: scale(1.1);}
/*==================================================
LIST
==================================================*/
.lst_cmn{
	margin:0 0 20px;
	border-top:1px dotted #D1CDC7;}
.lst_cmn li{
	line-height:1.7;
	padding:10px;
	border-bottom:1px dotted #D1CDC7;}
/*--------------------------------------------------- LIST : NEWS*/
.lst_news li{
	border-bottom:1px dotted #D1CDC7;}
.lst_news li a{
	display:block;
	padding:10px 0;}
.lst_news li a .date{
	display:inline-block;
	font-size:14px;
	margin:0 10px 0 0;}
.lst_news li a .cat{
	display:inline-block;
	font-size:12px;
	padding:3px 10px;
	border:1px solid #0e67a3;
	color:#0e67a3;
	border-radius:3px;}

/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					COMMON

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
.box_800 {
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;}
/* BOX：青背景 */
.box_cmn_blue {
	background: #D9E5ED;
	padding: 20px 30px;}
.box_cmn_blue p {
	font-weight: bold;
	line-height: 2;}
/* タイトル共通スタイル：両サイドにボーダー付き
   (default: 黒) */
.ttl_borders {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.4;
	color: #000;
	display: flex;
	align-items: center;}
.ttl_borders.en {
	font-family: futura-pt, sans-serif;}
.ttl_borders:before,
.ttl_borders:after {
	border-top: 1px solid;
	content: "";
	flex-grow: 1;}
.ttl_borders:before {
	margin-right: 25px;}
.ttl_borders:after {
	margin-left: 25px;}
/* 白 */
.ttl_borders.white {
	color: #fff;}
.ttl_borders.white:before,
.ttl_borders.white:after {
	border-color: #fff;}
/* 青 */
.ttl_borders.blue {
	color: #0E67A3;}
.ttl_borders.blue:before,
.ttl_borders.blue:after {
	border-color: #0E67A3;}
/* リスト：ドットつき */
.lst_dot {
	text-indent: -1em;
	margin: 0 0 0 1em;}
.lst_dot li:before {
	content: '・';}
/* リスト：横に並列 */
.lst_queue {
	letter-spacing: -0.5em;}
.lst_queue li {
	letter-spacing: normal;
	display: inline-block;}
/* リスト：横に並列、コンマでつなぐ */
.lst_queue.comma li:after {
	content: '、';}
.lst_queue.comma li:last-child:after {
	content: none;}

/* タイトルエリア：リッチ版 */
.rich_ttlarea {
	padding: 20px;
	color: #fff;
	height: 270px;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	flex-wrap: wrap;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;}
.rich_ttlarea .title,
.rich_ttlarea .title_en {
	line-height: 1.6;
	text-align: center;
	width: 100%;}
.rich_ttlarea .title {
	font-weight: bold;
	font-size: 26px;}
.rich_ttlarea .title_en {
	font-size: 17px;
	font-family: futura-pt, sans-serif;}
/*==================================================
カテゴリーラベルの表示：HOMEのNEWSエリア参照
==================================================*/
.catlabel {
	padding: 2px 25px;
	display: inline-block;
	color: #fff;
	font-weight: bold;
	line-height: 1.4;
	background: #666;}
.catlabel.csr {
	background: #0E67A3;}
.catlabel.info,
.catlabel.information {
	background: #D67B00;}
.catlabel.media {
	background: #0EA39D;}
.catlabel.recruit {
  background: #D63A00;}

.cmn_txt p {
	text-align: justify;
	line-height: 2;}

/* FONT AWESOME
*:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-style: normal;
	content: '\f105';
	padding: 0 5px 0 0;}*/
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					HOME

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#mv_wrap{
	overflow: hidden;
	width: 100%;
	height: 100%;
	position: relative;
	perspective: 100px;
	perspective-origin: 50% 200%;}
.ie #mv_wrap {
	perspective: none;}
#mv_inner {
	position: relative;
	left: 0;
	top: 0;
	-webkit-transform: none;
	transform: none;}
.ie #mv_inner {
	position: static;
	-webkit-transform: none;
	transform: none;}
#main_wrap{
	overflow: hidden;
	width: 100%;
	position: relative;
	perspective: 100px;
	perspective-origin: 50% -100%;}
.ie #main_wrap {
	perspective: none;}
#main {
	position: relative;
	left: 0;
	top: 0;
	-webkit-transform: none;
	transform: none;}
.ie #main {
	position: static;
	-webkit-transform: none;
	transform: none;}
#home_main,
#home_wrapper #hdr_wrapper,
#home_mv_wrapper {
	-webkit-transition: all;
	transition: all;
	-webkit-transition-duration: .7s;
	transition-duration: .7s;
	-webkit-transition-delay: 0s;
	transition-delay: 0s;}

#home_main {
	position: relative;
	/*z-index: 0;
	opacity: 0;
	-webkit-transform-origin: top center;
	-ms-transform-origin: top center;
	transform-origin: top center;
	-webkit-transform: perspective(4000px) rotateX(-90deg);
	transform: perspective(4000px) rotateX(-90deg);
	overflow: hidden;*/}
.htransform #home_main {
	/*opacity: 1;
	-webkit-transform: perspective(0) rotateX(0deg);
	transform: perspective(0) rotateX(0deg);
	padding-top: 116px;*/}
#home_wrapper #hdr_wrapper {
	position: relative;}
.htransform #home_wrapper {
	height: 116px;}
.htransform #home_wrapper #home_mv_wrapper {
	/*opacity: 0;
	-webkit-transform-origin: bottom center;
	-ms-transform-origin: bottom center;
	transform-origin: bottom center;
	-webkit-transform: perspective(4000px) rotateX(90deg);
	transform: perspective(4000px) rotateX(90deg);
	overflow: hidden;*/}
#home_mv {
	position: relative;
	background: url("../images/home/mv_01.jpg") center center / cover no-repeat;
	padding-top: 100svh;}
#home_mv .msg {
	color: #fff;
	max-width: 100%;
	height: auto;
	position: absolute;
	left: 70px;
	bottom: 90px;
	-webkit-transform: translate3d(0,-50%,0);
	transform: translate3d(0,-50%,0);
	z-index: 2;}
#home_mv .msg .tl {
	font-weight: bold;
	text-shadow: 0 3px 6px rgba(0,0,0,0.2);}
#home_mv .msg .tl.larger {
	line-height: 1.4;
	font-size: 60px;}
#home_mv .msg .tl.smaller {
	line-height: 1.8;}
/*==================================================
HOME GROUP
====================================================*/
#home_group {
	padding-top: 90px;
	min-height: 890px;
	position: relative;
	z-index: 2;
	overflow: hidden;
	background-image: url("../images/home/bg_group.jpg");
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;}
#home_group .intro {
	color: #fff;
	text-align: center;
	padding: 40px 20px 0;}
#home_group .intro p {
	padding: 30px 0 0;
	max-width: 600px;
	margin: 0 auto;
	line-height: 1.8;}
#home_group .lst_sudo_group {
	max-width: 1100px;
	margin: 0 auto;
	padding: 15px 25px 25px;}
#home_group .lst_sudo_group li {
	overflow: hidden;
	width: calc(100% / 3);
	padding: 25px;}
#home_group .lst_sudo_group li .blur_wrap {
	height: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;}
#home_group .lst_sudo_group li .blur {
	height: 100%;
	width: 100%;
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	background-size: cover;
	background-position: center;
	color: #fff;
	background-image: url("../images/home/bg_group.jpg");
	-webkit-filter: blur(50px) brightness(120%);
	-moz-filter: blur(50px) brightness(120%);
	-o-filter: blur(50px) brightness(120%);
	-ms-filter: blur(50px) brightness(120%);
	filter: blur(50px) brightness(120%);}
#home_group .lst_sudo_group .glass {
	position: relative;
	z-index: 5;
	width: 300px;
	height: 215px;
	padding: 30px 10px;
	overflow: hidden;
	background-color: rgba(255,255,255,0.3);}
#home_group .lst_sudo_group .glass:after {
	content: '';
	position: absolute;
	bottom: 16px;
	right: 16px;
	width: 16px;
	height: 16px;
	background: url("../images/common/lnk_ext.png") top center no-repeat;}
#home_group .lst_sudo_group .glass:hover:after {
	background-position: bottom center;}
#home_group .lst_sudo_group .glass svg {
	max-width: 100%;
	height: auto;}
#home_group .lst_sudo_group .glass:hover .logo path,
#home_group .lst_sudo_group .glass:hover .logo rect {
	fill: #0e67a3;}
/*==================================================
HOME CONCEPT
====================================================*/
#home_concept {
	background: rgb(14,103,163); /* Old browsers */
	background: -moz-linear-gradient(-45deg, rgba(14,103,163,1) 0%, rgba(125,185,232,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0e67a3', endColorstr='#7db9e8',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */}
#home_concept .img {
	padding: 35.58333333333333% 0 0 0;
	background: url("../images/home/bg_concept.jpg") center center / cover no-repeat;
	position: relative;
	z-index: 1;}
#home_concept .main {
	color: #Fff;
	padding: 0 20px;
	position: relative;
	z-index: 2;
	margin: -84px 0 0;}
#home_concept .main .inner {
	position: relative;
	display: flex;
	align-items: flex-start;
	align-content: flex-start;
	flex-wrap: wrap;
	padding: 0 0 70px;}
#home_concept .main .ttlarea {
	width: 100%;}
#home_concept .main .title {
	font-family: futura-pt, sans-serif;
	display: inline-block;
	font-size: 17px;
	color: #fff;
	background: #000;
	padding: 10px 25px;
	line-height: 1.2;}
#home_concept .main .tagline .piece {
	font-size: 26px;
	font-weight: bold;
	display: inline-block;
	background: #fff;
	color: #000;
	line-height: 1.4;
	padding: 4px 15px;}
#home_concept .main .txt {
	padding: 50px 100px 60px 0;}
#home_concept .main .cnt {
	width: 63%;}
#home_concept .main .vis {
	padding: 150px 0 0;
	overflow: hidden;
	width: 37%;}


#concept_hex tspan {
	font-weight: bold;
	font-weight: 700;}
.concept_hex_path {
	transition: fill 1.8s, stroke 0.5s;
	cursor: pointer;}
.concept_hex_text {
	cursor: pointer;}
.concept_hex_path:hover{
	fill:#0E67A3;
	stroke:#0E67A3;}
#concept_hex {
	max-width: 100%;}
html:not('ie') #concept_hex {
	height: auto;}
/*==================================================
HOME HISTORY
====================================================*/
#home_history {
	padding: 70px 20px;
	color: #Fff;
	background: url("../images/home/bg_history.jpg") center center / cover no-repeat;}
#home_history .title {
	font-weight: bold;
	line-height: 1.2;
	padding: 0 0 60px;}
#home_history .title .smaller {
	font-size: 34px;}
#home_history .title .larger {
	font-size: 54px;}
#home_history .inner {
	display: flex;
	align-items: flex-start;}
#home_history .idx {
	overflow: hidden;
	padding: 0 60px 30px 0;
	width: 40%;
	border-right: 1px solid #fff;}
#home_history .idx .logo {
	max-width: 100%;
	height: auto;}
#home_history .idx .img {
	width: 100%;}
#home_history .idx .img img {
	max-width: 100%;
	height: auto;
	width: 100%;}
#home_history .txt {
	padding: 0 0 0 60px;
	width: 60%;}
#home_history .txt .btnarea {
	padding: 60px 0 0 0;}
/*==================================================
HOME ECO
====================================================*/
#home_eco {
	padding: 100px 20px 180px;
	color: #Fff;
	background: url("../images/home/bg_eco.jpg") center center / cover no-repeat;}
#home_eco .txt {
	width: 54%;}
#home_eco .title {
	font-weight: bold;
	line-height: 1.4;
	font-size: 30px;
	padding: 0 0 60px;}
#home_eco p {
	line-height: 2;
	margin: 0 0 30px;}
#home_eco p:last-of-type {
	margin: 0;}
#home_eco .btnarea {
	padding: 60px 0 0;}
/*==================================================
HOME NEWS
====================================================*/
#home_news {
	padding: 60px 20px;}
#home_news .ttlarea {
	text-align: center;
	padding: 0 0 60px;}
#home_news .ttlarea .title {
	line-height: 1.4;
	font-size: 25px;
	font-weight: bold;}
#home_news .ttlarea .en {
	font-family: futura-pt, sans-serif;
	line-height: 1.4;
	color: #888888;
	font-size: 17px;}
#nav_home_news {
	display: flex;
	width: 100%;
	border-bottom: 2px solid #0E67A3;}
#nav_home_news li {
	width: 50%;}
#nav_home_news li a {
	background: #F7F7F7;
	padding: 10px;
	font-size: 16px;
	text-align: center;
	font-weight: bold;
	display: block;
	line-height: 1.4;
	height: 100%;}
#nav_home_news li a.current {
	color: #fff;
	background: #0E67A3;}
#box_home_news {
	padding: 30px 0 0;}

.box_news .atcarea .item {
	border-bottom: 1px dashed #BEBEBE;}
.box_news .atcarea .item.dummy {
	height: 100px;
	visibility: hidden;}
.box_news .atcarea .item a {
	display: flex;
	padding: 15px 0;
	width: 100%;}
.box_news .atcarea .item .img {
	position: relative;
	overflow: hidden;
	width: 140px;
	height: 92px;
	background-size: cover;
	background-repeat: no-repeat;}
.box_news .atcarea .item .img img {
	display: none;
	max-width: 100%;
	height: auto;
	position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;}
.box_news .atcarea .item .cnt {
	width: calc(100% - 140px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	padding: 0 0 0 30px;}
.box_news .atcarea .item .cnt .date {
	color: #6F6F6F;
	font-weight: bold;
	font-size: 13px;
	line-height: 1.6;
	align-self: center;
	padding: 0 0 0 20px;}
.box_news .atcarea .item .cnt .ttl {
	padding: 20px 0 0;
	width: 100%;}
.box_news .atcarea .item .cnt .title {
	font-weight: bold;
	line-height: 1.6;
	color: #2F2F2F;}
#box_home_news .btnarea {
	text-align: center;
	padding: 50px 0 0;}
#box_home_news .box_news {
	display: none;}
#box_home_news .box_news.current {
	display: block;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			HISTORY

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#history_layout{
	max-width: 1040px;
	margin: 0 auto;
	padding: 30px 20px 60px;}
/*==================================================
HISTORY HEAD
====================================================*/
.history_head{
	text-align: center;
	padding: 0 0 40px;}
.history_head h2{
	display: inline-block;
	padding: 20px 0 20px 160px;
	position: relative;}
.history_head h2 .main{
	display: block;
	font-size: 45px;
	line-height: 1.2;
	color: #222222;
	font-weight: 600;
	text-align: left;}
.history_head h2 .min{
	font-family:"游明朝", "Yu Mincho", YuMincho, "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";}
.history_head h2 .sub{
	display: block;
	font-size: 34px;
	line-height: 1.2;
	color: #222222;
	text-align: left;}
.history_head h2:after{
	content: '';
	display: inline-block;
	width: 120px;
	height: 130px;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translate3d(0,-50%,0);
	transform: translate3d(0,-50%,0);
	background: url("../images/common/history_1918_black.svg") center center no-repeat;
	background-size: contain;}
.history_text_box p{
	font-size: 15px;
	line-height: 2.1;
	color: #212121;}
/*==================================================
HISTORY LINK
====================================================*/
.history_link_list{
	padding: 70px 0 50px;
	letter-spacing: -0.4em;
	text-align: center;}
.history_link_list li{
	padding: 0 10px 10px;
	letter-spacing: normal;
	display: inline-block;}
.history_link_list li a{
	font-size: 15px;
	line-height: 1.6;
	padding: 10px 30px 10px 60px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
	display: inline-block;
	position: relative;
	background: rgb(14,103,163);
	background: -moz-linear-gradient(-45deg, rgba(14,103,163,1) 0%, rgba(59,132,181,1) 60%, rgba(106,169,213,1) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(14,103,163,1) 0%,rgba(59,132,181,1) 60%,rgba(106,169,213,1) 100%);
	background: linear-gradient(135deg, rgba(14,103,163,1) 0%,rgba(59,132,181,1) 60%,rgba(106,169,213,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0e67a3', endColorstr='#6aa9d5',GradientType=1 );}
.history_link_list li a:hover{
	background: rgb(14,103,163);
	background: -moz-linear-gradient(-45deg, rgba(14,103,163,1) 0%, rgba(106,169,213,1) 53%, rgba(174,217,249,1) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(14,103,163,1) 0%,rgba(106,169,213,1) 53%,rgba(174,217,249,1) 100%);
	background: linear-gradient(135deg, rgba(14,103,163,1) 0%,rgba(106,169,213,1) 53%,rgba(174,217,249,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0e67a3', endColorstr='#aed9f9',GradientType=1 );}
.history_link_list li a:after{
	content: '\f105';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-style: normal;
	display: inline-block;
	line-height: 20px;
	text-align: right;
	width: 30px;
	color: #FFF;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translate3d(0, -50%, 0);
	transform: translate3d(0, -50%, 0);
	transition: all 0.4s ease-in-out 0s;
	-moz-transition: all 0.4s;
	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;}
.history_link_list li a:hover:after{
	-webkit-transform: translate3d(5px, -50%, 0);
	transform: translate3d(5px, -50%, 0);}
/*==================================================
HISTORY STREAM
====================================================*/
#history_stream{
	position: relative;
	width: 100%;}
#history_stream:after{
	content: '';
	left: 110px;
	top: 0;
	background: #0E67A3;
	width: 1px;
	height: 100%;
	display: block;
	position: absolute;}
.history_stream_box{
	position: relative;
	z-index: 3;}
.history_stream_box:after{
	content: '';
	position: absolute;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #0E67A3;
	top: 45px;
	left: 110px;
	-webkit-transform: translate3d(-50%, 0, 0);
	transform: translate3d(-50%, 0, 0);}
.history_stream_year{
	width: 110px;
	position: absolute;
	left: 0;
	top: 45px;
	font-weight: bold;
	line-height: 1.3;}
.history_stream_year .seireki{
	display: block;
	font-size: 28px;
	color: #0E67A3;}
.history_stream_year .wareki{
	display: block;
	font-size: 18px;
	color: #585858;}
.history_stream_content{
	padding: 0 0 0 170px;}
.history_stream_content_inner{
	padding: 40px 25px 35px;
	margin: 0 0 25px;
	background: #D9E5ED;
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;}
.history_stream_content_inner:after{
	content: '';
	border-width: 15px 30px 15px 30px;
	border-style: solid;
	border-color: transparent #D9E5ED transparent transparent;
	position: absolute;
	top: 45px;
	right: 100%;}
.history_stream_content_txt{
	padding: 0 0 0 20px;
	width: calc(100% - 220px);}
.history_stream_content_txt .text{
	font-size: 22px;
	line-height: 1.9;
	color: #1A1A1A;
	font-weight: bold;
	padding: 0 0 10px;}
.history_stream_content_txt .memo{
	font-size: 18px;
	line-height: 1.5;
	color: #1A1A1A;
	padding: 0 0 10px;
	font-weight: bold;}
.history_stream_content_img{
	padding: 0 25px 5px 0;
	width: 221px;}
.history_stream_content_img img{
	max-width: 100%;
	margin: 0 0 5px;}
.history_stream_content_world{
	padding: 15px 45px 5px;
	margin: 0 0 25px;
	background: #F7F7F7;}
.history_stream_content_world_list{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	padding: 0 0 10px;}
.history_stream_content_world_list dt,
.history_stream_content_world_list dd{
	font-size: 15px;
	line-height: 1.5;
	color: #1A1A1A;}
.history_stream_content_world_list dt{
	width: 160px;}
.history_stream_content_world_list dd{
	width: calc(100% - 160px);}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			ARCHIVE

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
.simple_title_area,
#news_wrap {
  max-width: 1100px;
  padding: 0 50px;}
.simple_title_area {
  margin: 20px auto 63px;}
.simple_title_area .breadcrumb {
  padding: 0 0 30px;
  font-size: 12px;
  font-weight: bold;}
#newslist .breadcrumb {
  text-align: left;}
.simple_title_area .page_title {
  text-align: center;
  font-size: 26px;}
.simple_title_area .title_ja {
  font-weight: bold;
  display: block;}
.simple_title_area .tilte_en {
  font-size: 17px;
  font-family: futura-pt, sans-serif;
  display: block;}
#news_wrap {
  margin: 5px auto 87px;
  display: flex;}
.sidebar_area {
  width: 200px;}
#news_wrap .box_news {
  width: calc(100% - 290px);
  margin: 0 90px 0 0;}
#news_wrap .box_news .txt_nopost {
	padding: 30px 0;
	line-height: 1.8;
	text-align: center;}
.page_navi_area {
  text-align: center;
  margin: 48px 0 0;
  font-size: 20px;
  font-weight: bold;}
.page_navi_area .current {
  position: relative;}
.page_navi_area .current:before,
.page_navi_area .current:after {
  content: '';
  position: absolute;
  width: 21px;
  height: 1px;
  left: 50%;
  -webkit-transform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0);
  background: #0E67A3;}
.page_navi_area .current:before {
  top: 0;}
.page_navi_area .current:after {
  bottom: 0;}
.page_navi_area .current,
.page_navi_area .page,
.page_navi_area .nextpostslink {
  padding: 5px 8px;
  margin: 0 5px;}

/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			SIDEBAR

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
.sidebar_area h3 {
  font-size: 18px;
  font-weight: bold;
  padding: 0 0 17px;
  border-bottom: 1px solid #363636;
  margin: 0 0 22px;}
.sidebar_area .category {
  margin: 0 0 26px;}
.sidebar_box ul li {
  padding: 0 0 20px;
  font-weight: 500;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			SINGLE

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
.post_content .cnt {
  display: flex;
  align-items: center;
  margin: 0 0 40px;}
.post_content .date {
  font-weight: bold;
  color: #6F6F6F;}
.post_content .cat {
  margin: 0 20px 0 0;}
.post_content .title_area h1 {
  font-size: 25px;
  font-weight: bold;
  line-height: 1.5;}
.post_content .title_area {
  margin: 0 0 40px;}
.post_content p {
  line-height: 2.1;
  font-weight: 500;
  padding: 0 0 70px;}
.post_content h2 {
  font-size: 21px;
  font-weight: bold;
  border-bottom: 3px solid #2F73B2;
  line-height: 1.5;
  padding: 0 0 18px;
  margin: 20px 0 58px;}
.post_content h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 10px 0 56px;
  padding: 0 0 0 21px;
  position: relative;}
.post_content h3:before {
  content: '';
  position: absolute;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
  left: 0;
  width: 3px;
  height: 25px;
  background: #2F73B2;}
.post_content h4 {
  font-weight: bold;
  margin: 30px 0 40px;}
.post_content a {
  color: #0E67A3;}
.post_content {
  max-width: 100%;}
.wp-block-gallery,
.wp-block-gallery {
  margin: 0 0 55px;}
.btn_area {
  border-top: 1px solid #CBCBCB;
  padding: 54px 0 0;}
.post_content .btn_area ul {
  display: flex;}
.post_content .btn_area a {
  font-weight: bold;
  padding: 10px 62px;
  border: 1px solid #0E67A3;
  display: block;}
.post_content .btn_prev a {
  padding: 10px 42px 10px 68px;}
.post_content .btn_prev a,
.post_content .btn_next a,
.post_content .btn_back {
  position: relative;}
.post_content .btn_prev a:before,
.post_content .btn_next a:before {
  content: '→';
  color: #fff;
  position: absolute;
  top: 0;
  background: #0E67A3;
  width: 38px;
  height: 100%;
  line-height: 38px;
  text-align: center;}
.post_content .btn_prev a:before {
  left: 0;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);}
.post_content .btn_next a:before {
  right: 0;}
.post_content .btn_next a {
  padding: 10px 68px 10px 42px;}
.post_content .btn_prev a:after,
.post_content .btn_next a:after,
.post_content .btn_back a:after {
  transition: all 0.4s;
  -moz-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  content: '';
	position: absolute;
	top: 0;
	width: 0;
	height: 100%;
	z-index: -1;
  background: #0E67A3;}
.post_content .btn_back a:after {
  left: 50%;
  -webkit-transform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0);}
.post_content .btn_prev a:after {
  left: 0;}
.post_content .btn_next a:after {
  right: 0;}
.post_content .btn_prev a:hover:after,
.post_content .btn_next a:hover:after,
.post_content .btn_back a:hover:after {
  width: 100%;}
.post_content .btn_area a:hover {
  color: #fff;}
.post_content .sumaho_ver {
  display: none;}
.post_content .btn_area li {
  width: calc(100% / 3);}
.post_content .btn_back {
  margin: 0 30px;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			ECO HISTRY

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#eco_histry_wrap {
  max-width: 1000px;
  margin: 0 auto;}
.eco_message {
  margin: 30px 0 90px;}
.eco_message .title {
  padding: 0 180px;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;}
.eco_message_area .massage_txt {
  padding: 62px 52px 16px;
  background: #F7F7F7;
  width: calc(50% + 50px);
  position: relative;
  z-index: 10;}
.eco_massage_box {
  margin: 0 0 98px;
  position: relative;}
.eco_message_area .title {
  font-size: 28px;
  font-weight: bold;
  position: relative;
  margin: 0 0 48px;}
.eco_message_area .title_bg {
  background: #F7F7F7;
  position: relative;
  z-index: 100;
  padding: 0 60px 0 0;}
.eco_message_area .title:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
  width: 100%;
  height: 1px;
  background: #000000;}
.eco_message_area .massage_txt p {
  line-height: 2;
  padding: 0 0 50px;}
.eco_message_area .eco_message_img {
  position: absolute;
  right: 0;
  bottom: 0;
  height: calc(100% - 50px);}
.eco_message_area {
  margin: 0 0 154px;}
.eco_plan_message .title {
  font-size: 24px;
  margin: 0 0 75px;}
.eco_plan_message .ttl_borders:before {
  margin-right: 50px;}
.eco_plan_message .ttl_borders:after {
  margin-left: 50px;}
.eco_plan_message .message_txt {
  padding: 32px 50px;
  background: #D9E5ED;
  font-weight: bold;}
.eco_plan_message .message_txt dt,
.eco_plan_message .message_txt dd {
  line-height: 2.2;}
.eco_plan_message .message_txt dt {
  font-size: 22px;
  padding: 0 0 10px;}
.eco_plan_message .message_txt dd {
  font-size: 18px;
  position: relative;
  padding: 0 0 0 18px;}
.eco_plan_message .message_txt dd:after {
  content: '';
  position: absolute;
  top: 18px;
  left: 0;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
  width: 8px;
  height: 8px;
  background: #000000;
  border-radius: 50%;}
.eco_plan_message {
  margin: 0 0 80px;}
.activity_area h3.title {
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  padding: 0 0 52px;}
.companybox h3.title,
.activity_box h4.title {
	line-height: 1.4;
  font-size: 18px;
  font-weight: bold;
  padding: 0 0 0 25px;
  margin: 0 0 22px;
  position: relative;}
.companybox h3.title::before,
.activity_box h4.title::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
  background: #2F73B2;
  width: 3px;
  height: 100%;}
.activity_box p{
  padding: 0 0 40px;
  line-height: 2;}
.activity_box .list_item {
  display: flex;
  flex-wrap: wrap;}
.activity_box .list_item li {
  width: calc(50% - 10px);
  max-height: 80px;
  padding: 20px 50px;
  line-height: 1.5;
  text-align: center;
  background: #F7F7F7;
  margin: 0 0 20px;}
.activity_box .list_item li:nth-child(odd) {
  margin: 0 20px 20px 0;}
.activity_box {
  margin: 0 0 96px;}
.activity_box .img_box {
  margin: 0 0 46px;}
.activity_box .img_box img {
  width: 100%;}
p.comments_txt {
  padding: 36px 0 0;
  line-height: 1.5;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

		RECRUIT

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
.recruit_wrap .selection_test li {
  display: inline-block;}
.recruit_wrap .selection_test li:after {
  content: '、';}
.recruit_wrap .selection_test li:last-child:after {
  content: none;}
.recruit_wrap .note_icon {
  padding: 0 0 0 10px;
  position: relative;}
.recruit_wrap .note_icon:before {
  content: '*';
  position: absolute;
  top: 18px;
  left: 0;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);}
.recruit_wrap .tbl_company_profile {
  margin: 0 auto 42px;}
.recruit_wrap .btnarea {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  padding: 0 30px;}
.recruit_wrap .btn_box {
  padding: 20px 15px;}
.recruit_wrap .selection_document {
  display: flex;
  flex-wrap: wrap;}
.recruit_wrap .selection_document dt {
  margin: 0 16px 0 0;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

					COMPANY

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#page_navarea {
	background: #0F5B8E;}
#page_navarea ul {
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	padding: 8px 10px;}
#page_navarea ul li a {
	font-weight: bold;
	display: block;
	align-self: center;
	color: #fff;
	position: relative;
	padding: 8px 20px;
	line-height: 1.4;}
#page_navarea ul li a:before {
	content: '\f107';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-style: normal;
	padding: 0 7px 0 0;}

/* ブランドコンセプト */
#company_intro {
	color: #fff;}
#company_intro .breadcrumb {
	padding: 20px 0;
	color: #fff;}
#company_intro .breadcrumb a,
#company_intro .breadcrumb span {
	color: #fff;}
#company_intro .logoarea {
	padding: 0 20px 80px;
	position: relative;}
#company_intro .logoarea:before,
#company_intro .logoarea:after {
	content: '';
	height: 100%;
	width: 100%;
	display: block;
	position: absolute;
	left: 0;
	top: 0;}
#company_intro .logoarea:before {
	z-index: -1;
	opacity: 0.1;
	background-image: url(../images/common/sudo_logo_white.svg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;}
#company_intro .logoarea:after {
	z-index: -2;
	background-color: #0E67A3;}
#company_intro .tl_larger {
	font-size: 44px;
	line-height: 1.4;
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	width: 100%;
	justify-content: center;
	padding: 0 0 30px;}
#company_intro .title {
	padding: 20px 0 60px;}
#company_intro .tl_larger .logo {
	max-width: 100%;
	height: auto;}
#company_intro .tl {
	text-align: center;
	font-weight: bold;
	line-height: 2;}

.companylink ul li {
	position: relative;
	width: calc(100% / 3);
	min-height: 280px;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;}
.companylink ul li.kenchiku {
	background-image: url("../images/company/bg_kenchiku.jpg");}
.companylink ul li.hokkaido {
	background-image: url("../images/company/bg_hokkaido.jpg");}
.companylink ul li.kantou {
	background-image: url("../images/company/bg_kantou.jpg");}
.companylink ul li.international {
	background-image: url("../images/company/bg_international.jpg");}
.companylink ul li.saad {
	background-image: url("../images/company/bg_saad.jpg");}
.companylink ul li.english {
	background-image: url("../images/company/bg_english.jpg");}
.companylink ul li a {
	padding: 25px;
	background: rgba(0,0,0,0.5);}
.companylink ul li a:hover {
	background: rgba(0,0,0,0);}
/* COMMON */
.companybox {
	padding: 75px 20px 90px;}
.companybox.gray {
	background: #F7F7F7;}
.companybox .title {
	padding: 0 0 60px;}
/* 3つの対 */
#company_points {
	background: #F7F7F7;
	color: #1A1A1A;}
.lst_company_point {
	margin: 0 0 60px;
	padding: 40px 0;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	background: rgb(14,103,163);
	background: -moz-linear-gradient(-45deg, rgba(14,103,163,1) 0%, rgba(125,185,232,1) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%);
	background: linear-gradient(135deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0e67a3', endColorstr='#7db9e8',GradientType=1 );}
.lst_company_point li {
	position: relative;
	padding: 0 40px 0 0;}
.lst_company_point li:after {
	content: '';
	background: #fff;
	height: 1px;
	width: 45px;
	-webkit-transform: rotate3d(0,0,1,-45deg) translate3d(0,-50%,0);
	transform: rotate3d(0,0,1,-45deg) translate3d(0,-50%,0);
	display: block;
	position: absolute;
	right: 0;
	top: 50%;}
.lst_company_point li:last-child {
	padding: 0 0 0 0;}
.lst_company_point li:last-child:after {
	content: none;}
.lst_company_point li .item {
	font-weight: bold;
	font-size: 22px;
	line-height: 1.2;}
.lst_company_point li .item.l {
	position: relative;
	padding: 0 40px 0 30px;}
.lst_company_point li .item.l:before {
	content: url("../images/company/arw_inter.png");
	position: absolute;
	top: 50%;
	margin: -13px 0 0;
	right: -20px;}
.lst_company_point li .item.r {
	padding: 0 30px 0 40px;}
#company_points .tl_larger {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.6;
	padding: 0 0 40px;}
.box_company_points {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: flex-start;
	position: relative;}
.box_company_points .txt {
	padding: 0 40px 0 0;
	width: 54%;}
.box_company_points .vis {
	text-align: center;
	padding: 0 40px;
	width: 46%;
	position: absolute;
	right: 0;
	top: 0;}
.box_company_points .vis img {
	max-width: 100%;
	height: auto;}
/* 8つの強み */
.msg_company_strength p {
	font-weight: bold;
	text-align: center;
	line-height: 2;}
.box_company_strength ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;}
.box_company_strength ul li {
	width: 50%;}
.box_company_strength ul li:nth-child(2n+1){
	padding: 70px 30px 0 0;}
.box_company_strength ul li:nth-child(2n){
	padding: 70px 0 0 30px;}
.box_company_strength ul li .box {
	position: relative;
	height: 100%;
	background: #D9E5ED;}
.box_company_strength ul li .box .num {
	width: 70px;
	height: 70px;
	line-height: 70px;
	text-align: center;
	font-family: futura-pt, sans-serif;
	background: #0E67A3;
	color: #fff;
	font-size: 36px;
	position: absolute;
	top: -25px;
	left: -15px;}
.box_company_strength ul li .box .img img {
	max-width: 100%;
	height: auto;}
.box_company_strength ul li .box .idx {
	height: 70px;
	position: relative;
	font-weight: bold;
	color: #fff;
	font-size: 22px;
	background: rgb(14,103,163);
	background: -moz-linear-gradient(-45deg, rgba(14,103,163,1) 0%, rgba(125,185,232,1) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%);
	background: linear-gradient(135deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0e67a3', endColorstr='#7db9e8',GradientType=1 );
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;}
.box_company_strength ul li .box .idx:after {
	content: url("../images/company/arw_inter_alt.png");
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -13px 0 0 -13px;}
.box_company_strength ul li .box .idx .item {
	width: 50%;
	text-align: center;}
.box_company_strength ul li .box .idx .item.l {
	padding: 0 23px 0 10px;}
.box_company_strength ul li .box .idx .item.r {
	padding: 0 10px 0 23px;}
.box_company_strength ul li.str_08 .box .idx .item.r {
	line-height: 1.2;}
.box_company_strength ul li .box .idx .item .smaller {
	font-size: 16px;}
.box_company_strength ul li .box .txt {
	padding: 40px 30px;
	font-weight: bold;
	color: #0E67A3;}
/* 社長あいさつ */
.box_company_message {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	position: relative;}
.box_company_message .txt {
	padding: 0 100px 0 0;
	width: 62%;}
.box_company_message .txt p {
	margin-bottom: 1em;}
.box_company_message .tagline {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
	padding: 0 0 40px;}
.box_company_message .signature {
	display: flex;
	align-items: flex-end;
	font-weight: bold;
	padding: 45px 0 0;}
.box_company_message .signature .post {
	font-size: 16px;
	line-height: 1.4;
	padding: 0 20px 0 0;}
.box_company_message .signature .name {
	font-size: 24px;}
.box_company_message .img {
	width: 38%;
	position: absolute;
    right: 0;
    top: 0;}
.box_company_message .img img {
	max-width: 100%;
	height: auto;}
/* 会社概要 */
.tbl_company_profile {
	max-width: 800px;
	margin: 0 auto;}
.tbl_company_profile th,
.tbl_company_profile td,
.tbl_company_profile td li,
.tbl_company_profile td dt,
.tbl_company_profile td dd {
	line-height: 2;}
.tbl_company_profile th,
.tbl_company_profile td {
	border-bottom: 1px solid #B4B4B4;
	padding: 10px 20px;}
.tbl_company_profile tr:last-child th,
.tbl_company_profile tr:last-child td {
	border-bottom: none;}
.tbl_company_profile th {
	width: 200px;
	font-weight: bold;}
/* 行動計画 */
#company_policy {
	background: #f7f7f7;}
#company_policy .article {
	margin: 0 0 2em;}
#company_policy .article.last {
	margin: 0 0 0;}
#company_policy p {
	line-height: 1.8;}
#company_policy p a {
	font-weight: bold;
	color: #2f73b2;
	text-decoration: underline;}
#company_policy .date {
	display: inline-block;
	width: 100%;
	margin: 1em 0 0;
	line-height: 1.8;
	text-align: right;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			DOCUMENTS COMMON

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#layout_document {
	padding: 0 20px 100px;
	max-width: 840px;
	margin: 0 auto;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			CONTACT

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
.req:before {
	content: '＊';
	color: #FF0000;}
#layout_document.contact .intro {
	padding: 0 0 30px;
	text-align: center;}
#layout_document.contact .intro p {
	line-height: 1.8;}
.note_contact {
	line-height: 1.8;
	padding: 0 0 10px;}
/*==================================================
FORM
====================================================*/
/*--------------------------------------------------- FORM : INPUT & TEXTAREA*/
#inqform input[type="text"],
#inqform input[type="email"],
#inqform input[type="password"],
#inqform input[type="tel"],
#inqform input[type="number"],
#inqform input[type="url"],
#inqform input[type="date"],
#inqform textarea,
#inqform input[type="file"] {
	resize: vertical;
	display:block;
	width:100%;
	padding:10px 20px;
	border: none;
	line-height:1.6;
	background: none;}
/*--------------------------------------------------- FORM : INPUT:PLACEHOLDER*/
#inqform input::placeholder { color: #ccc; }
/* IE */
#inqform input:-ms-input-placeholder { color: #ccc; }
/* Edge */
#inqform input::-ms-input-placeholder { color: #ccc; }
/*--------------------------------------------------- FORM : INPUT:NUMBER*/
/* Chrome、Safari スピンボタンを消す */
#inqform input[type="number"]::-webkit-outer-spin-button,
#inqform input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;}
/* Firefox、IE スピンボタンを消す */
#inqform input[type="number"] {
	-moz-appearance:textfield;}
/*--------------------------------------------------- FORM : LABEL*/
#inqform label {
}
#inqform label.checked {
}
/*--------------------------------------------------- FORM : SELECT*/
#inqform select {
	display:block;
	width: 100%;
	padding:15px 20px;
	cursor:pointer;
	border: none;
	/* デフォルトの Appearance を解除 */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;}
#inqform select option {
	padding:5px 10px;
	cursor:pointer;
	border-bottom:1px solid #D1CDC7;}
/*--------------------------------------------------- FORM : FOCUS*/
#inqform input:focus,
#inqform textarea:focus,
#inqform label:focus,
#inqform select:focus {
}

#inqform dl {
	display: table;
	table-layout: fixed;
	width: 100%;
	margin: 0 0 15px;}
#inqform dl dt,
#inqform dl dd {
	display: table-cell;
	vertical-align: middle;
	line-height: 1.6;}
#inqform dl dt {
	padding: 10px 20px;
	width: 220px;
	background: #D9E5ED;
	font-weight: bold;
	font-size: 18px;}
#inqform dl dd {
	position: relative;
	background: #F7F7F7;}
#inqform dl dd.focused {
	background: #E6E4E4;}
#inqform dl dd.has-error {
	background: #FAE8E8;}
.mw_wp_form_preview #inqform dl dd {
	padding: 10px 20px;}
.mwform-zip-field,
.mwform-tel-field {
	display: flex;
	align-content: center;
	align-items: center;}
#inqform dl.your-job-role dd select,
#inqform dl.your-job-type dd select,
#inqform dl.your-occupation dd select {
	background: url("../images/common/arw_up_down.png") right center no-repeat;}
#inqform dl.your-sex dd .inner {
	display: flex;
	flex-wrap: wrap;
	padding: 5px 10px;}
.mw_wp_form_preview #inqform dl.your-sex dd .inner{
	padding: 0;}
#inqform dl.your-sex dd label {
	cursor: pointer;
	display: inline-block;
	padding: 10px 10px;}
#layout_document.contact .mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0;}
#inqform dl.your-resume dd {
	padding: 0 0 10px;}
.mw_wp_form_preview #inqform dl.your-resume dd {
    padding: 0;}
#inqform dl.your-resume dd span:not(.error) {
	padding: 5px;
    background: #969696;
    color: #fff;
	margin-left: 20px;}
.mw-wp-form_file {
	line-height: 1.6;
    padding: 5px 0 0 20px;}
.mw-wp-form_file a {
	color: #0e67a3;}
/* エラー */
#layout_document.contact .mw_wp_form .error {
	font-weight: bold;
	color: #FF0000;
	padding: 0 20px 5px;}
#layout_document.contact .mw_wp_form dl.your-sex .error {
	padding: 5px 0 5px 10px;
    align-self: center;
    width: 100%;}

/* 同意とボタン */
#inqform .agreement {
	line-height: 1.6;
	text-align: center;
	padding: 35px 20px 50px;}
#inqform .agreement a {
	color: #0E67A3;}
#inqform .agreement a:hover {
	border-bottom: 1px solid;}

#inqform .btnarea {
	text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    max-width: 640px;
    margin: 0 auto;}
#inqform .btnarea .cbtn {
	position: relative;
	z-index: 1;
	line-height: 38px;
	height: 38px;
	min-width: 300px;
	padding: 0;
	color: #0E67A3;
	border: 1px solid #0E67A3;
	background: none;
	text-align: center;}
#inqform .btnarea .cbtn:before {
	color: #fff;
	background: #0E67A3;
	line-height: 38px;
	position: absolute;
	right: 0;
	top: 0;
	text-align: center;
	content: '→';
	height: 100%;
	width: 38px;}
#inqform .btnarea .cbtn:after {
	transition: all 0.4s;
	-moz-transition: all 0.4s;
	-webkit-transition: all 0.4s;
	-o-transition: all 0.4s;
	content: '';
	position: absolute;
	background: #0E67A3;
	top: 0;
	right: 38px;
	width: 0;
	height: 100%;
	z-index: -1;}
#inqform .btnarea .cbtn:not(.disabled):hover:after {
	width: calc(100% - 38px);}
#inqform .btnarea .cbtn button {
	cursor: pointer;
	color: #0E67A3;
	background: none;
	border: none;
	padding: 0 38px 0 10px;
	width: 100%;
	height: 100%;}
#inqform .btnarea .cbtn.back button {
	padding: 0 10px 0 38px;}
#inqform .btnarea .cbtn:hover button {
	color: #fff;}
#inqform .btnarea .cbtn.conf {
	display: block;}
#inqform .btnarea .cbtn.back,
#inqform .btnarea .cbtn.send {
	display: none;}
#inqform .btnarea .cbtn.back:before {
	content: '←';
	right: auto;
	left: 0;}
#inqform .btnarea .cbtn.back:after {
	left: 38px;
	right: auto;}
.mw_wp_form_preview #inqform .btnarea .cbtn.conf {
	display: none;}
.mw_wp_form_preview #inqform .btnarea .cbtn.back,
.mw_wp_form_preview #inqform .btnarea .cbtn.send {
	display: block;}
/* DISABLED */
#inqform .btnarea .cbtn.disabled {
	border-color: #969696;
	color: #969696;}
#inqform .btnarea .cbtn.disabled button {
	cursor: default;
	color: #969696;}
#inqform .btnarea .cbtn.disabled:before,
#inqform .btnarea .cbtn.disabled:after {
	background: #969696;}

/* サンクスページ */
.mw_wp_form_complete #layout_document.contact .intro {
	padding: 20px 0 30px;}
.mw_wp_form_complete #inqform .btnarea {
	padding: 40px 0 0;}

/* 20191216 added */
#contact_note {
    padding: 2em 0 0;
    text-align: center;}
#contact_note p {
    font-size: 0.9em;
    letter-spacing: -0.04em;
    line-height: 1.8;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			PRIVACY POLICY

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#layout_document.privacy-policy .intro {
	margin: 0 0 60px;}
#layout_document.privacy-policy h2,
#layout_document.privacy-policy p {
	line-height: 2;}
#layout_document.privacy-policy h2 {
	margin: 40px 0 0;
	font-weight: bold;}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			404

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
#box_404 {
	text-align: center;
	padding: 40px;}
#box_404 p {
	line-height: 1.8;}
#box_404 .btnarea {
	padding: 40px 0 0;}

/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			1200px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:1200px){

/*==================================================
 HOME 1200
====================================================*/
	#ftr_group .idx {
		padding: 60px 40px;}
	#ftr_group .idx .title .txt {
		font-size: 3.5vw;}
	#ftr_group .lnk {
		padding: 50px 30px;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			1100px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:1100px){

/*==================================================
 HOME 1100
====================================================*/
	#home_group .lst_sudo_group {
		padding: 15px 15px 25px;}
	#home_group .lst_sudo_group li {
		padding: 15px;}
	#home_group .lst_sudo_group .glass {
		width: 100%;
		height: 100%;}
/*==================================================
 ARCHIVE 1100
====================================================*/
  .simple_title_area,
  #newsn_wrap {
    padding: 0 30px;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			1080px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:1080px){

/*==================================================
 HEADER / FOOTER 1080
====================================================*/
	#hdr_main .hdr_logo a {
		width: 160px;}
	#hdr_nav_main li a {
		padding: 0 15px;}
	#hdr_nav .recruit {
		width: 120px;}
	#hdr_main .main {
		padding: 0 120px 0 0;}
/*==================================================
 HOME 1080
====================================================*/
	#home_concept .main .txt {
		padding: 50px 60px 60px 0;}
/*==================================================
 COMPANY 1080
====================================================*/
	.lst_company_point {
		margin: 0 0 40px;
		padding: 10px 10px;}
	.lst_company_point li {
		padding: 10px 30px 10px 0;}
	.lst_company_point li:last-child {
		padding: 10px 0 10px 0;}
	.lst_company_point li:after {
		width: 32px;}
	.lst_company_point li .item {
		font-size: 18px;}
	.lst_company_point li .item.r {
		padding: 0 10px 0 30px;}
	.lst_company_point li .item.l {
    	padding: 0 30px 0 10px;}
	.lst_company_point li .item.l:before {
		margin: -8px 0 0;}
	#company_strength .inner {
		padding: 0 20px;}
	.box_company_strength ul li .box .idx {
		font-size: 18px;}
	.box_company_strength ul li .box .idx .item .smaller {
		font-size: 14px;}
	.box_company_strength ul li .box .txt {
		font-size: 13px;
		padding: 20px 15px;}
/*==================================================
 NEWS_SINGLE 1080
====================================================*/
  .post_content .normal_ver,
  .post_content .btn_prev a:before,
  .post_content .btn_next a:before{
    display: none;}
  .post_content .sumaho_ver {
    display: block;}
  .post_content .btn_prev a,
  .post_content .btn_next a {
    padding: 10px 20px;}
  .post_content .btn_area a {
    text-align: center;}
  .post_content .btn_back a {
    height: 38px;
    padding: 0;
    line-height: 38px;}
/*==================================================
 ECO_HISTORY 1080
====================================================*/
  #eco_histry_wrap {
    padding: 0 30px;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			1020px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:1020px){

/*==================================================
 HOME 1020
====================================================*/
	#home_history .idx{
		width: 300px;
		padding: 0 40px 30px 0;}
	#home_history .title .smaller {
		font-size: 32px;}
	#home_history .title .larger{
		font-size: 42px;}
	#home_history .txt {
		width: calc(100% - 300px);
		padding: 0 0 0 40px;}
/*==================================================
 COMPANY 1020
====================================================*/
	.box_company_points .txt {
		padding: 0 30px 0 0;}
	#company_points .tl_larger {
		font-size: 24px;}
	.box_company_points .vis {
		padding: 0 20px;}
/*==================================================
 ECO_HISTORY 1020
====================================================*/
  .eco_message_area .eco_message_img {
    bottom: -50px;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			980px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:980px){
/*==================================================
 ECO_HISTORY 980
====================================================*/
  .eco_message .title {
    padding: 0 80px;}
  .eco_plan_message .message_txt dt {
    text-align: center;}

}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			880px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:880px){
/*==================================================
 HEADER / FOOTER 880
====================================================*/
	#hdr_main .hdr_logo a {
		width: 120px;
		padding: 15px;}
	#hdr_nav_main li a {
		font-size: 13px;}
	#hdr_nav .recruit {
		width: 100px;}
/*==================================================
 HOME 880
====================================================*/
	#home_mv .msg {
		width: 400px;
		padding: 20px;
		left: 50%;
		bottom: 50%;
		-webkit-transform: translate3d(-50%,50%,0);
		transform: translate3d(-50%,50%,0);}
	#home_mv .msg .tl.larger {
		padding: 0 0 10px;
		font-size: 40px;}
	#home_mv .msg .tl.smaller {
		font-size: 12px;}
/*==================================================
 COMPANY 880
====================================================*/
	.companybox {
		padding: 50px 20px;}
	.companybox .title {
		padding: 0 0 40px;}
	.box_company_points .txt {
		padding: 0;}
	.box_company_points .txt.tl {
		width: calc(100% - 300px);
		align-self: center;
		order: 1;}
	.box_company_points .vis {
		width: 300px;
		text-align: center;
		order: 2;
		position: static;}
	.box_company_points .txt.p {
		width: 100%;
		order: 3;
		padding: 30px 0 0;}
	#company_points .tl_larger {
		padding: 0;}
	.box_company_message .txt {
    	padding: 0 50px 0 0;}
	.box_company_message .tagline {
		padding: 0 0 20px;
		font-size: 20px;}
	.box_company_message .signature {
    	padding: 30px 0 0;}
	.box_company_message .signature .post {
		padding: 0 10px 0 0;
    	font-size: 14px;}
	.box_company_message .signature .name {
		font-size: 20px;}
/*==================================================
ARCHIVE  880
====================================================*/
  #news_wrap {
    display: block;}
  #news_wrap .box_news {
    width: 100%;
    padding: 0;}
  .sidebar_area {
    margin: 48px auto 0;
    width: 100%;}
  .list_item,
  .list_item ul {
    display: flex;
    flex-wrap: wrap;}
  .sidebar_box ul li {
    padding: 0 20px 0 0;
    line-height: 2.1;}
  .sidebar_box ul li:last-child {
    padding: 0;}
  .category .list_item {
    padding: 0 0 20px;}
/*==================================================
 ECO_HISTORY 880
====================================================*/
  .eco_message_area .eco_message_img {
    bottom: -120px;}
  .activity_box .list_item {
    display: block;}
  .activity_box .list_item li {
    width: 100%;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			768px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:768px){
	body#home.hdrfix {
		padding: 60px 0 0 0;}
	body#home.hdrfix #hdr_main {
		position: fixed;
		bottom: auto;
		top: 0;	}
	.breadcrumb.pc {
		display: none;}
	.breadcrumb.sp {
		display: block;}
/*==================================================
 COMMON 768
====================================================*/
	.ttl_borders {
		font-size: 18px;}
	.rich_ttlarea {
		height: 180px;}
	a:hover .img_hover img,
	.img_hover.hover img {
		-webkit-transform: none;
		-ms-transform: none;
		transform: none;}
/*==================================================
 HEADER / FOOTER 768
====================================================*/
	#hdr_main {
		height: 60px;}
	#hdr_nav {
		overflow-y: auto;
		height: 100%;}
	#hdr_main .recruit {
		display: none;}
	#hdr_nav_sp {
		display: block;}
	#hdr_main .main {
    height: 60px;
		flex-wrap: wrap;
		align-content: flex-start;}
	#hdr_nav_main {
		display: none;}
	/* .spmenu #hdr_main,
	.spmenu#home #hdr_main {
		position: fixed;
		left: 0;
		top: 0;
		height: 100%;
		color: #fff;
		background: rgb(14,103,163);
		background: -moz-linear-gradient(-45deg, rgba(14,103,163,1) 0%, rgba(125,185,232,1) 100%);
		background: -webkit-linear-gradient(-45deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%);
		background: linear-gradient(135deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0e67a3', endColorstr='#7db9e8',GradientType=1 );} */
	.spmenu #hdr_main .main {
		padding: 60px 0 0 0;
		background: none;}
	.spmenu #hdr_nav_sp {
		background: none;}
	.spmenu #hdr_main .hdr_logo {
		height: 60px;
		width: calc(100% - 60px);
		position: fixed;
		left: 0;
		top: 0;
		background: #fff;}
	#hdr_main #hdr_nav_sp {
    width: 60px;
		height: 60px !important;}
  #hdr_nav_sp .ltr {
    font-size: 10px;
    bottom: 10px;
  }
  #hdr_nav_sp .bar {
    width: 30px;
    left: 15px;
  }
  #hdr_nav_sp .top{
    top: 15px;}
  #hdr_nav_sp .mid{
    top: 22px;}
  #hdr_nav_sp .btm{
    top: 29px;}
	/* .spmenu #hdr_nav_main {
		display: flex;
		align-content: flex-start;
		flex-wrap: wrap;
		height: auto;} */
	#hdr_nav_main li{
		width: 50%;}
	#hdr_nav_main li:nth-child(2n+1) {
		padding: 0 10px 0 0;}
	#hdr_nav_main li:nth-child(2n) {
		padding: 0 0 0 10px;}
	#hdr_nav_main li a {
		justify-content: flex-start;
		font-size: 16px;
		padding: 25px;
		border-bottom: 1px solid #7DABCB;
		color: #fff;}
	#hdr_nav_main li a:before {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		font-style: normal;
		content: '\f105';
		padding: 0 10px 0 0;}
	#hdr_main .main .sp {
		display: none;}
	.spmenu #hdr_main .main .sp {
		display: block;
		width: 100%;}
	.spmenu #hdr_main .main .sp .sns_disp {
		justify-content: center;
		width: 100%;
		padding: 15px 20px 20px;}
	#hdr_main .main .rec {
		padding: 40px 20px;}
	#hdr_main .main .rec a {
		max-width: 320px;
		color: #fff;
		border: 1px solid;
		padding: 15px;
		margin: 0 auto;}
	#ftr_group {
		background: #0E67A3;}
	#ftr_group .idx {
		padding: 25px 20px 40px;
		width: 100%;
		text-align: center;
		justify-content: center;
		background: none;}
	#ftr_group .idx .inner {
		max-width: none;}
	#ftr_group .idx .title {
		padding: 0 0 25px;}
	#ftr_group .idx .title .txt {
		font-size: 38px;}
	#ftr_group .idx .title .img {
		width: 180px;}
	#ftr_group .idx p {
		max-width: 600px;}
	#ftr_group .lnk {
		display: none;}
	#ftr_lower {
		padding: 35px 15px 30px;}
	#ftr_links {
		flex-wrap: wrap;}
	#ftr_links .sns_disp,
	#ftr_links .lnk {
		width: 100%;}
	#ftr_links .sns_disp {
		padding: 0 0 30px;
		justify-content: center;}
	#ftr_links .lst_lnk {
		flex-wrap: wrap;}
	#ftr_links .lst_lnk li{
		width: 100%;
		text-align: center;
		padding: 0 0 25px;}
	#ftr_links .lst_lnk li a {
		max-width: 400px;
		width: 100%;}

	#ftr_copy {
		padding: 25px 0 0;
		text-align: center;}
/*==================================================
 HOME 768
====================================================*/
	#mv_wrap{
		perspective: 0;}
	#mv_inner {
		position: relative;
		left: 0;
		top: 0;
		-webkit-transform: none;
		transform: none;}
	#main_wrap{
		perspective: 0;}
	#main {
		position: relative;
		left: 0;
		top: 0;
		-webkit-transform: none;
		transform: none;}

	#home_group {
		padding-top: 0;
		min-height: auto;}
	#home_group .lst_sudo_group {
		padding: 15px 8px 25px;}
	#home_group .lst_sudo_group li {
		padding: 8px;
		width: 50%;}
	#home_group .lst_sudo_group .glass {
		min-height: 120px;}
	#home_group .lst_sudo_group .glass:after {
		content: none;
		display: none;}

	#home_concept .main .cnt {
		order: 3;
		width: 100%;}
	#home_concept .main .txt {
		padding: 30px 0 60px 0;}
	#home_concept .main .cnt .btnarea {
		text-align: center;	}
	#home_concept .main .vis {
		text-align: center;
		order: 2;
		width: 100%;}
	#home_history {
		padding: 30px 20px 60px;}
	#home_history .inner {
		flex-wrap: wrap;}
	#home_history .idx {
		padding: 0 0 30px 0;
		text-align: center;
		border: none;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;}
	#home_history .idx .title {
		width: 100%;
		padding: 0 0 0 20px;
		order: 2;}
	#home_history .title .smaller {
		font-size: 23px;}
	#home_history .title .larger{
		font-size: 38px;}
	#home_history .idx .logo {
		max-width: 120px;
		order: 1;}
	#home_history .txt {
		padding: 0;
		width: 100%;}
	#home_history .txt .btnarea {
		text-align: center;}
	#home_eco {
		padding: 60px 20px 85px;}
	#home_eco .txt {
		width: 100%;}
	#home_eco .title {
		font-size: 26px;
		padding: 0 0 40px;
		text-align: center;}
	#home_eco .btnarea {
		text-align: center;}

	#home_news {
		padding: 40px 20px 50px;}
	#nav_home_news li a {
		font-size: 14px;}
	#home_news .ttlarea {
		padding: 0 0 40px;}
	.box_news .atcarea .item.dummy {
		display: none;}
	.box_news .atcarea .item a {
		max-width: 345px;
		margin: 0 auto;
		flex-wrap: wrap;}
	.box_news .atcarea .item .img {
		height: auto;
		padding: 66% 0 0;
		width: 100%;
		text-align: center;}
	.box_news .atcarea .item .cnt{
		padding: 10px 0 0;
		width: 100%;}
	.catlabel {
		font-size: 88%;
		padding: 5px 25px;}
	.box_news .atcarea .item .cnt .date {
		padding: 10px 0 0 0;
		width: 100%;}
	.box_news .atcarea .item .cnt .ttl {
		padding: 5px 0 40px;}
	#box_home_news .btnarea {
		padding: 40px 0 0;}
/*==================================================
 COMPANY 768
====================================================*/
	#company_intro .title {
		padding: 40px 0 40px;}
	#company_intro .tl_larger {
		font-size: 32px;}
	#company_intro .tl_larger .logo {
		max-height: 32px;}
	.companylink ul li {
		min-height: 200px;
		width: 50%;}
	#home_concept .main {
		margin: 0;}
	#home_concept .main .vis {
		padding: 40px 0 0;}
	.box_company_strength ul li:nth-child(2n+1) {
		padding: 60px 15px 0 0;}
	.box_company_strength ul li:nth-child(2n) {
    	padding: 60px 0 0 15px;}
	.box_company_strength ul li .box .idx {
		font-size: 16px;}
	.box_company_strength ul li .box .idx .item .smaller {
		font-size: 12px;}
	.box_company_points .txt.tl {
		width: 100%;
		text-align: center;}
	.box_company_points .vis {
		width: 100%;}
	#company_points .tl_larger {
		font-size: 20px;
		padding: 0 0 30px;}
	.lst_company_point li .item {
		font-size: 16px;}
	.box_company_points .vis img {
		ax-width: 280px;}
	.tbl_company_profile th {
		width: 150px;}
/*==================================================
 CONTACT 768
====================================================*/
	#inqform dl dt {
		width: 180px;
		font-size: 15px;}
	#inqform dl.your-sex dd label {
		font-size: 13px;}
	#inqform .agreement {
		padding: 25px 0 30px;
		font-size: 13px;}
	#inqform .btnarea .cbtn {
		min-width: auto;
		line-height: 50px;
    	height: 50px;
	    width: 100%;}
	#inqform .btnarea .cbtn.back {
		margin: 0 0 15px;}
	#inqform .btnarea .cbtn:before {
		font-size: 20px;
		line-height: 50px;
		width: 50px;}
	#inqform .btnarea .cbtn:after {
		right: 50px;}
	#inqform .btnarea .cbtn.back:after {
		right: auto;
		left: 50px;}
/*==================================================
HISTORY STREAM 768
====================================================*/
	#history_stream{
		position: relative;
		width: 100%;}
	#history_stream:after{
		left: 10px;}
	.history_stream_box:after{
		width: 20px;
		height: 20px;
		top: 80px;
		left: 10px;}
	.history_stream_year{
		width: 100%;
		position: relative;
		left: auto;
		top: auto;
		padding: 0 0 20px 60px;
		display: flex;
		align-items: center;}
	.history_stream_year .seireki{
		display: inline-block;
		vertical-align: middle;
		font-size: 28px;
		line-height: 30px;}
	.history_stream_year .wareki{
		display: inline-block;
		font-size: 18px;
		margin: 0 0 0 20px;}
	.history_stream_content{
		padding: 0 0 0 60px;}
	.history_stream_content_inner{
		padding: 30px 20px 25px;
		margin: 0 0 25px;}
	.history_stream_content_inner:after{
		border-width: 10px 20px 10px 20px;
		position: absolute;
		top: 31px;
		right: 100%;}
	.history_stream_content_txt{
		padding: 0 0 0 10px;
		width: calc(100% - 160px);}
	.history_stream_content_txt .text{
		font-size: 18px;}
	.history_stream_content_txt .memo{
		font-size: 14px;}
	.history_stream_content_img{
		padding: 0 20px 5px 0;
		width: 140px;}
	.history_stream_content_world{
		padding: 15px 30px 5px;
		margin: 0 0 25px;}
	.history_stream_content_world_list dt,
	.history_stream_content_world_list dd{
		font-size: 13px;}
	.history_stream_content_world_list dt{
		width: 140px;}
	.history_stream_content_world_list dd{
		width: calc(100% - 140px);}
/*==================================================
 ECO HISTORY 768
====================================================*/
  .eco_message .title {
    padding: 0 30px;}
  .eco_message_area .massage_txt {
    width: 100%;
    margin: 0 0 20px;}
  .eco_message_area .eco_message_img {
    position: static;
    max-width: 550px;
    margin: 0 auto;}
  .eco_message_area .eco_message_img img {
    width: 100%;}
/*==================================================
 NEWS 768
====================================================*/
	#news_wrap {
		padding: 0 20px;}

}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			640px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:640px){
/*==================================================
 HOME 640
====================================================*/
	#hdr_nav_main li{
		width: 100%;}
	#hdr_nav_main li:nth-child(2n+1) {
		padding: 0 0 0 0;}
	#hdr_nav_main li:nth-child(2n) {
		padding: 0 0 0 0;}
/*==================================================
 COMPANY 640
====================================================*/
	.box_company_strength ul li {
		width: 100%;}
	.box_company_strength ul li:nth-child(2n+1),
	.box_company_strength ul li:nth-child(2n) {
    	padding: 60px 0 0 0;}
	.box_company_strength ul li .box {
		max-width: 470px;
		margin: 0 auto;}
	.box_company_message .txt {
		width: 100%;
		padding: 0;}
	.box_company_message .txt.tl {
		order: 1;}
	.box_company_message .tagline {
		font-size: 18px;}
	.box_company_message .txt.p {
		order: 2;
		padding: 0 0 30px;}
	.box_company_message .img {
		width: 100%;
		text-align: center;
		position: static;
		order: 3;}
	.box_company_message .txt.signature {
		order: 4;
		padding: 20px 0 0;
		width: auto;
		margin: 0 auto;
		text-align: left;}
	.box_company_message .signature .name {
		line-height: 1.4;}
	.tbl_company_profile,
	.tbl_company_profile tbody,
	.tbl_company_profile tr,
	.tbl_company_profile th,
	.tbl_company_profile td {
		display: block;
		width: 100%;}
	.tbl_company_profile th {
		padding: 20px 10px 5px 10px;
		border: none;}
	.tbl_company_profile tr:first-child th {
		padding-top: 0;}
	.tbl_company_profile td {
		padding: 5px 10px 20px 10px;}
	.tbl_company_profile tr:last-child td {
		padding-bottom: 0;}
/*==================================================
CONTACT 640
====================================================*/
	#inqform dl,
	#inqform dl dt,
	#inqform dl dd {
		display: block;
		width: 100%;}
/*==================================================
HISTORY HEAD 640
====================================================*/
	.history_head h2{
		padding: 20px 0 20px 80px;}
	.history_head h2 .main{
		font-size: 24px;}
	.history_head h2 .sub{
		font-size: 17px;}
	.history_head h2:after{
		width: 60px;
		height: 65px;}
	.history_text_box p{
		font-size: 15px;}
/*==================================================
HISTORY LINK 640
====================================================*/
	.history_link_list{
		padding: 70px 0 50px;
		letter-spacing: -0.4em;
		display: flex;
		flex-wrap: wrap;}
	.history_link_list li{
		width: 50%;
		padding: 0 5px 10px 0;}
	.history_link_list li:nth-child(even){
		padding: 0 0 10px 5px;}
	.history_link_list li a{
		display: block;
		width: 100%;}
/*==================================================
 ECO HISTORY 640
====================================================*/
  .eco_message .title {
    padding: 0;
    font-size: 22px;}
  .eco_plan_message .message_txt {
    padding: 30px;}
  .eco_plan_message .message_txt dt {
    font-size: 20px;}
  .eco_plan_message .message_txt dd {
    font-size: 16px;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			540px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:540px){
	#home_history .idx {
		flex-wrap: wrap;}
	#home_history .idx .img img {
		max-width: 250px;}
	#home_history .idx .title {
		padding: 20px 0 0;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			480px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:480px){
/*==================================================
COMMON 480
====================================================*/
	a.btn.arw-r {
		width: 100%;
		min-width: auto;}
	.rich_ttlarea {
		height: 100px;}
	.rich_ttlarea .title {
		font-size: 20px;}
	.rich_ttlarea .title_en {
		font-size: 14px;}
/*==================================================
HOME 480
====================================================*/
	#home_mv .msg .tl.larger {
		font-size: 28px;}
	#home_mv .msg .tl.smaller {
		font-size: 10px;}
/*==================================================
 COMPANY 480
====================================================*/
	.companylink ul li a {
		min-height: 120px;}
	#home_concept .main .tagline .piece {
		font-size: 20px;}
	#company_strength .inner {
		padding: 0 0;}
	.box_company_strength ul li:nth-child(2n+1),
	.box_company_strength ul li:nth-child(2n) {
		padding: 40px 0 0 0;}
	.box_company_strength ul li .box .num {
		width: 60px;
		height: 60px;
		line-height: 60px;
		font-size: 28px;
		top: -15px;
		left: -10px;}
	.box_company_strength ul li .box .idx {
		height: 60px;}
	.box_company_strength ul li.str_08 .box .idx .item.r br {
		display: none;}
	.lst_company_point li {
		padding: 10px 0 10px 0;
		width: 100%;
		text-align: center;}
	.lst_company_point li:after {
		content: none;}
/*==================================================
HISTORY STREAM 480
====================================================*/
	#history_stream{
		position: relative;
		width: 100%;}
	#history_stream:after{
		left: 10px;}
	.history_stream_content_inner{
		padding: 20px 15px 15px;
		display: block;}
	.history_stream_content_txt{
		padding: 0;
		width: 100%;}
	.history_stream_content_txt .text{
		font-size: 16px;}
	.history_stream_content_txt .memo{
		font-size: 14px;}
	.history_stream_content_img{
		padding: 0 0 10px;
		width: 100%;}
	.history_stream_content_img img{
		max-width: 50%;
		vertical-align: top;
		padding: 0 0 0 5px;}
	.history_stream_content_img img:first-child{
		padding: 0 5px 0 0;}
	.history_stream_content_world{
		padding: 15px 15px 0;
		margin: 0 0 25px;}
	.history_stream_content_world_list{
		display: block;
		padding: 0 0 15px;}
	.history_stream_content_world_list dt{
		width: 100%;
		font-size: 14px;
		margin: 0 0 5px;}
	.history_stream_content_world_list dd{
		width: 100%;}
	.history_link_list li,
	.history_link_list li:nth-child(2n) {
		width: 100%;
		padding: 0 0 10px;}
/*==================================================
 ECO HISTORY 480
====================================================*/
  #eco_histry_wrap {
    padding: 0 20px;}
  .eco_message_area .title {
    font-size: 20px;}
  .eco_message_area .title_bg {
    padding: 0 20px 0 0;}
  .eco_message_area .massage_txt {
    padding: 30px;}
  .activity_box h4.title {
    line-height: 1.5;}
  .activity_box .list_item li {
    max-height: 100px;}
/*==================================================
 RECRUIT 480
====================================================*/
  .recruit_wrap .btn_box {
    width: 100%;}
}

/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			400px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:400px){
	#ftr_group .idx .title .txt {
		font-size: 30px;
	}
/*==================================================
 CONTACT 400
====================================================*/
    /* 20191216 added */
    #contact_note {
        text-align: left;}
    #contact_note p {
        letter-spacing: 0;
        font-size: 0.75em;}
}
/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			340px

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@media screen and (max-width:340px){
/*==================================================
 ECO HISTORY 340
====================================================*/
  .eco_message_area .title:after {
    content: none;}
}


/*||||||||||||||||||||||||||||||||||||||||||||||||||
----------------------------------------------------

			IE対策

----------------------------------------------------
||||||||||||||||||||||||||||||||||||||||||||||||||||*/
@-ms-viewport {
    width: device-width;
    initial-scale: 1;}
@media all and (-ms-high-contrast:none) {
	/*body {
		overflow-x: hidden;}*/
	.catlabel {
		padding: 4px 25px 0;}
	.post_content .btn_area a {
		padding: 13px 62px 7px 62px;}
	.post_content .btn_prev a {
		padding: 13px 42px 7px 68px;}
	.post_content .btn_next a {
		padding: 13px 68px 7px 42px;}

	select::-ms-expand {
	  display: none;}
}
@media all and (-ms-high-contrast:none) and (max-width:1080px){
	.post_content .btn_area a {
		padding: 0;}
	.post_content .btn_prev a,
	.post_content .btn_next a {
		line-height: 34px;
		padding: 3px 0 0;
	}
}

.companybox {
  scroll-margin-top: 100px;
}

.c-spmenu {
  position: fixed;
  width: 100%;
  height: 100lvh;
  top: 0;
  z-index: 10000;
	color: #Fff;
	background: rgb(14,103,163); /* Old browsers */
	background: -moz-linear-gradient(-45deg, rgba(14,103,163,1) 0%, rgba(125,185,232,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(14,103,163,1) 0%,rgba(125,185,232,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0e67a3', endColorstr='#7db9e8',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease;
  left: -99999px;
  opacity: 0;
}

.spmenu .c-spmenu {
  left: 0;
  opacity: 1;
}

.c-spmenu__exit {
  position: absolute;
  top: 0;
  right: 0;
}

.c-spmenu__exit button {
  display: flex;
  width: 90px;
  background-color: #0e67a3;
  position: relative;
  color: #fff;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 15px 0;
  border: unset;
  border: none;
}

.c-spmenu__exit .ltr {
  display: inline-block;
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
}

.c-spmenu__logo {
  position: absolute;
  left: 50px;
  top: 60px;
}

.c-spmenu__container {
  width: auto;
  max-width: calc(100% - 30px);
  margin-left: auto;
  margin-right: auto;
}

.c-spmenu__content > ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: 342px;
  width: 100%;
  column-gap: 120px;
}

.c-spmenu__content > ul > li {
  width: max-content;
}

.c-spmenu ul > li > a {
  font-size: 26px;
  line-height: calc(62 / 26);
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
}

.c-spmenu ul ul {
  margin-top: 10px;
}

.c-spmenu ul ul > li > a {
  font-size: 22px;
  line-height: calc(40 / 22);
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
  padding-left: 24px;
}

.c-spmenu .left {
  margin-right: auto;
}

@media screen and (max-width:640px){
  .c-spmenu__logo {
    left: 15px;
    top: 15px;
  }

  .c-spmenu__exit .ltr{
    font-size: 10px;
  }

  .c-spmenu__exit button {
    width: 60px;
    gap: 5px;
    padding: 8px 0;
  }

  .c-spmenu__content > ul {
    height: 220px;
  }

  .c-spmenu ul > li > a {
    font-size: 16px;
    line-height: calc(62 / 26);
  }

  .c-spmenu ul ul > li > a {
    font-size: 14px;
  }
}

@media screen and (max-width:480px){
  .c-spmenu__content > ul {
    height: auto;
  }
}

.c-hamicon {
  --w: 55px;
  --c: 30deg;
  --space: 12px;
  --line-color: currentColor;
  width: 55px;
  height: 30px;
  position: relative;
}

@media screen and (max-width:640px){
  .c-hamicon {
    --w: 30px;
    --c: 30deg;
    --space: 7px;
    width: 30px;
    height: 25px;
  }
}

.c-hamicon__dash {
  position: absolute;
  top: 50%;
  width: var(--w);
  height: 1px;
  background-color: var(--line-color);
  display: inline-block;
  transition: all 0.3s ease-in-out;
  left: 0;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.c-hamicon__dash1 {
  top: calc(50% - var(--space));
}

.spmenu .c-hamicon__dash1 {
  top: calc(50% - var(--w) * sin(var(--c)) / 2 );
  transform-origin: top left;
  transform: rotate(var(--c));
  left: calc( (var(--w) - (cos(var(--c)) * var(--w)) ) / 2);
}

.spmenu .c-hamicon__dash2 {
  transform: translateX(10%);
  opacity: 0;
}

.c-hamicon__dash3 {
  top: calc(50% + var(--space));
}

.spmenu .c-hamicon__dash3 {
  top: calc(50% + var(--w) * sin(var(--c) ) / 2 );
  transform-origin: bottom left;
  transform: rotate(calc(-1 * var(--c)));
  left: calc( (var(--w) - (cos(var(--c)) * var(--w)) ) / 2 );
}

.history_stream_box.top-sm::after {
  top: 15px;
}

.history_stream_year.top-sm {
  top: 15px;
}

@media screen and (max-width: 768px) {
  .history_stream_year.top-sm {
    top: 0;
  }
}

#company_message .tl_larger {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.46;
  letter-spacing: 0;
  padding-bottom: 30px;
}
