@charset "utf-8";
/* CSS Document */

* {
    margin: 0px;
    padding: 0px;
    zoom: 1;
}
html {
    overflow-y:scroll;
    background: #0A1F8F !important;
}
body{
	min-width:1060px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	overflow: hidden;
}
a {
    cursor: pointer;
    transition: all ease .3s;
}
img{
	max-width: 100%;
	height: auto;
}
.inner-content {
	width: 1040px;
	margin-right: auto;
	margin-left: auto;
}
.map_canvas,
.map_img { 
	width: 100%;
	margin: 0 0 12px;
}
.map_canvas { 
	height: 450px;
}
section p.walk {
    font-size: 15px !important;
    line-height: 1.6 !important;
    padding: 12px 16px;
    margin: -12px 0 24px !important;
    border: dashed 1px #cccccc;
}
a.hover:hover img{
	opacity: 0.5;
}
#fancybox-outer{
	box-shadow: 0 0 12px #787878 !important;
}
.youtube{
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
.youtube iframe{
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.pcNone{
    display: none !important;
}


/* --- header ---- */

#area-header{
	z-index: 100;
}
#header {
    padding-top: 0;
    padding-bottom: 20px;
    background-color: #ffffff;
}
#header h1{
    width: 412px;
    float: left;
    margin-top: 28px;
}
#header h1 a{
    display: block;
}
#header #header-contents{
	width: 329px;
	float: right;	
}
#header #sub-navigation{
	float: right;
	font-size: 12px;
	padding: 16px 0 4px;
	border-right: solid 1px #00207c;
}
#header #sub-navigation ul li{
	float: right;
	border-left: solid 1px #00207c;
}
#header #sub-navigation ul li:last-child{
	border-left: none;
}
#header #sub-navigation ul li a{
	padding: 0 12px;
}
#header #searchbox{
	clear: right;
	float: right;
	padding: 16px 0 0;
}
#header #searchbox fieldset{
	border: none;
}
#header #searchbox input{
	padding: 5px 8px;
}
#header #font-size-btn{
	clear: both;
	width: 24%;
	float: right;
	padding: 16px 0;
}
#header #font-size-btn li{
	float: right;
	margin: 0 8px 0 0;
	width: 32px;
	text-align: center;
	display: block;
	background-color: #ff942a;
}
#header #font-size-btn li:hover{
	background-color: #0A1F8F;
}
#header #font-size-btn li:first-child{
	margin: 0;
}
#header #font-size-btn li a{
	display: block;
	color: #ffffff;
}
#header #font-size-btn li.large{
	font-size: 16px;
	height: 18px;
	padding: 6px 0;
}
#header #font-size-btn li.middle{
	height: 16px;
	padding: 7px 0;
}
#header #font-size-btn li.small{
	font-size: 12px;
	padding: 9px 0;
	height: 12px;
}

/* --- footer --- */
#footer {
	background-color: #0A1F8F;
	padding: 24px 0;
	width: 100%;
	height: 12px;
	position: relative;
}
#footer .inner-content {
	width: 1040px;
}
#foot-navigation{
	float: left;
	width: 50%;
}
#foot-navigation li {
	float: left;
	font-size: 13px;
	border-right: solid 1px #FFFFFF;
}
#foot-navigation li:first-child {
	border-left: solid 1px #FFFFFF;
}
#foot-navigation li a{
	color: #FFFFFF;
	padding: 0 16px;
}
#footer small{
	color: #FFFFFF;
	float: right;
}
#pagetop{
	position: absolute;
	right: 0;
	bottom: 0;
	height: 100%;
}
#pagetop a{
	padding: 23px 32px;
	text-align: center;
	display: block;
	background-color: #71afee;
	background-image: url(../img/share/pagetop.png);
	background-repeat: no-repeat;
	background-position: center center;
	text-indent: -9999px;
}
#pagetop a:hover{
	background-color: #ff7f00;
}

/* --- main navigation --- */
#main-navigation{
	background-color: #0A1F8F;
	border-bottom: solid 1px #FFFFFF;
	z-index: 50;
}
#main-navigation ul{
    display: table;
    border-left: solid 1px #FFFFFF;
}
#main-navigation ul li{
    display: table-cell;
    width: 128px;
    height: 56px;
    /* float: left; */
    text-indent: -9999px;
    background-color: #0A1F8F;
    border-right: solid 1px #FFFFFF;
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
}
#main-navigation ul li a{
    width: 128px;
    height: 56px;
    display: block;
    background-repeat: no-repeat;
    background-position: center center;
}
#main-navigation ul li:nth-child(4),
#main-navigation ul li:nth-child(4) a{
    width: 135px;
}
#main-navigation ul li:first-child{
	background-image: url(../img/share/nav/nav1.png);
}
#main-navigation ul li:nth-child(2){
	background-image: url(../img/share/nav/nav2.png);
}
#main-navigation ul li:nth-child(3){
	background-image: url(../img/share/nav/nav8.png);
}
#main-navigation ul li:nth-child(4){
	background-image: url(../img/share/nav/nav3.png);
}
#main-navigation ul li:nth-child(5) a{
	background-image: url(../img/share/nav/nav4.png);
}
#main-navigation ul li:nth-child(6) a{
	background-image: url(../img/share/nav/nav5.png);
}
#main-navigation ul li:nth-child(7) a{
	background-image: url(../img/share/nav/nav6.png);
}
#main-navigation ul li:nth-child(8) a{
	background-image: url(../img/share/nav/nav7.png);
}
/* --- mega navigation --- */

#mega-navigation {
	width: 100%;
	background-color: rgba(255, 255, 255, 0.7);
	padding: 24px 0 16px;
	position: absolute;
	top: 157px;
	left: 0;
	z-index: 30;
}
#mega-navigation .inner-content {
	width: 960px;
}
#mega-navigation ul {
	border-left: none;
}
#mega-navigation ul li {
    float: left;
    background-color: translate;
    background: #FFFFFF;
    border: solid 1px #CCCCCC;
    text-indent: 0;
    box-sizing: border-box;
}
#mega-navigation ul.large li {
    width: 49.5%;
    margin: 0 0 8px 1%;
}
#mega-navigation ul.small li {
    width: 32.722%;
    margin: 0 0 8px 1%;
}
#mega-navigation ul.mini li {
    width: 24.25%;
    margin: 0 0 8px 1%;
}
#mega-navigation ul.large li:nth-child(2n+1),
#mega-navigation ul.small li:nth-child(3n+1),
#mega-navigation ul.mini li:nth-child(4n+1) {
    clear: both;
	margin-left: 0;
}
#mega-navigation ul.small li:nth-child(3n+2) {
	margin-left: 8px;
}
#mega-navigation ul li img:hover {
	opacity:0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
#mega-navigation ul.textBtn li a {
    display: block;
    padding: 19px 12px 19px 40px;
    font-size: 18px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
	line-height: 1.4;
    letter-spacing: 0.02em;
    position: relative;
}
#mega-navigation ul.textBtn li a:hover {
	opacity: 0.5;
}
#mega-navigation ul.large.textBtn li a {
    font-size: 22px;
    padding: 25px 12px 25px 62px;
}
#mega-navigation ul.small.textBtn li a {
    font-size: 14px;
    letter-spacing: 0;
    padding: 16px 0 16px 28px;
}
#mega-navigation ul.small li.height2em a{
    font-size: 14px;
    padding: 10px 12px 10px 44px;
}
#mega-navigation ul.mini.textBtn li a {
    font-size: 14px;
    letter-spacing: 0;
    padding: 16px 0 16px 28px;
}
#mega-navigation ul.mini li.height2em a{
    font-size: 14px;
    line-height: 1.3;
    padding: 8px 0 8px 28px;
}
#mega-navigation ul.textBtn li.profile a {
	background: url(../img/share/nav/nav_profile-200226.jpg) no-repeat right top;
    background-size: auto 100%;
}
#mega-navigation ul.textBtn li.greeting a {
	background: url(../img/share/nav/nav_greeting-200302.jpg) no-repeat right top;
    background-size: auto 100%;
}
#mega-navigation ul.textBtn li a:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: url(../img/share/nav_icon.gif) no-repeat left center;
    position: absolute;
}
#mega-navigation ul.large.textBtn li a:before {
	top: 36px;
    left: 32px;
}
#mega-navigation ul.small.textBtn li a:before {
	top: 20px;
    left: 10px;
}
#mega-navigation ul.mini.textBtn li a:before {
	top: 20px;
    left: 10px;
}


/* ------------------------------------------------- *
 *        modalLayer
 * ------------------------------------------------- */
.modalLayer {
  display: none;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 157px;
  z-index: 20;
  background: url(../img/share/nav/bg_pattern.png) 0 0 repeat;
}


/* --- home-css --- */

#home h2{
    width: fit-content;
    color: #0A1F8F;
    font-size: 24px;
    letter-spacing: 0.07em;
    text-align: center;
    margin-bottom: 24px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
#home h2:before,
#home h2:after{
    content: "";
    width: 36px;
    height: 2px;
    background: #0A1F8F;
    position: absolute;
    top: 50%;
    transform: translate(0%, -50%);
}
#home h2:before{
    left: calc(-36px - 12px);
}
#home h2:after{
    right: calc(-36px - 6px);
}

/* --- video-container --- */

#video-container {
	width: 100%;
    height: 520px;
    padding: 0 0 80px;
    margin: 0;
    background: #ffffff;
    position: relative;
}
#video-container #video {
	width: 100%;
	text-align: center;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.pagination {
    width: 100%;
    height: 15px;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 200;
}
.pagination a {
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: 0 5px;
	background: #333;
	overflow: hidden;
}
.pagination a.active {
	filter:alpha(opacity=100) !important;
	-moz-opacity: 1 !important;
	opacity: 1 !important;
}

/* =======================================
	ClearFixElements
======================================= */

.wideslider {
	width: 100%;
	height: 556px !important;	
	text-align: left;
	position: relative;
	overflow: hidden;
}
.wideslider ul,
.wideslider ul li {
	float: left;
	display: inline;
	overflow: hidden;
}
.wideslider ul li img {
	width: 100%;
	display: none;
}
.wideslider_base {
	top: 0;
	position: absolute;
}
.wideslider_wrap {
	top: 0;
	position: absolute;
	overflow: hidden;
}
.wideslider ul {
	display: inline-block;
	overflow: hidden;
}

#home{
    background: #ffffff;
}
#home #mv{
    text-align: center;
    margin-bottom: 64px;
}

#home #about_fandp,
#home #fandp_service,
#home #topPickupBnrarea,
#home #sdgsWrap,
#home #information{
    margin-bottom: 64px;
}
#home #about_fandp h1{
    color: #0A1F8F;
    margin-bottom: 0.75em;
}
#home #about_fandp p{
    line-height: 1.8;
    margin-bottom: 1.5em;
}

#home .btns{
    text-align: center;
}
#home .btns a{
    display: inline-block;
    min-width: 320px;
    color: #0A1F8F;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-align: center;
    padding: 0.75em 2em;
    border: solid 2px #0A1F8F;
}
#home .btns a:hover{
    opacity: 0.5;
}
#fandp_service{
}
#fandp_service ul{
}
#fandp_service ul li{
    width: 25%;
    float: left;
    padding-left: 2px;
    box-sizing: border-box;
}
#fandp_service ul li:nth-child(4n+1){
    clear: both;
    margin-left: 0;
}
#fandp_service ul li a{
}
#fandp_service .btn{
    margin-top: 4px;
}
#fandp_service .btn a{
    display: block;
    color: #0A1F8F;
    font-size: 24px;
    font-weight: 600;
    text-align: center;
    padding: 1em 0 0.8em;
    background: #fff101;
}
#fandp_service ul li a:hover,
#fandp_service .btn a:hover{
	opacity: 0.5;
}

#home #topPickupBnrarea{
}
#home #topPickupBnrarea h2 span{
    font-weight: 500;
}
#home #topPickupBnrarea div.float2,
#home #topPickupBnrarea div.float3{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}
#home #topPickupBnrarea div aside{
}
#home #topPickupBnrarea div.float2 aside{
    width: calc((100% - 20px) / 2);
}
#home #topPickupBnrarea div.float3 aside{
    width: calc((100% - 40px) / 3);
}
#home #topPickupBnrarea div aside a{
	display: block;
}
#home #topPickupBnrarea div aside a:hover{
	opacity: 0.5;
}
#home #topPickupBnrarea div aside h3{
	display: none;
}
*.pickup-baloon{
    display: block;
    position: relative;
}
*.pickup-baloon:before{
    content: "注目!";
    color: #0A1F8F;
    font-size: 20px;
    font-weight: 500;
    background: #ffea01;
    position: absolute;
    left: -16px;
    top: -45px;
    padding: 0.5em 1.8em;
    border-radius: calc(1px / 0);
}
*.pickup-baloon:after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 8px solid;
    border-bottom: 0;
    position: absolute;
    left: 28px;
    top: -5px;
    transform: skewX(28deg);
}
*.pickup-baloon.blue:before{
    color: #0A1F8F;
    background: #ffea01;
}
*.pickup-baloon.blue:after{
    border-top-color: #ffea01;
}
*.pickup-baloon.yellow:before{
    color: #ffea01;
    background: #0A1F8F;
}
*.pickup-baloon.yellow:after{
    border-top-color: #0A1F8F;
}

#sdgsWrap{
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    padding-top: 64px;
    padding-bottom: 64px;
    background: url(../img/index/bg_sdgs.jpg) no-repeat center center;
    background-size: cover;
}
#sdgsWrap h2{
    color: #ffffff;
    width: 100%;
    margin-bottom: 48px;
}
#sdgsWrap h2:before,
#sdgsWrap h2:after{
    width: calc((100% - 15em) / 2);
    background: #ffffff;
}
#sdgsWrap h2:before{
    left: 0;
}
#sdgsWrap h2:after{
    right: 0;
}
#sdgsWrap h3{
    width: fit-content;
    color: #ffffff;
    font-size: 21px;
    letter-spacing: 0.05em;
    text-align: center;
    margin-top: 2em;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em;
    position: relative;
}
#sdgsWrap h3:before,
#sdgsWrap h3:after{
    content: "";
    width: 2em;
    height: 2px;
    background: #ffffff;
    position: absolute;
    top: 50%;

}
#sdgsWrap h3:before{
    left: calc(-2em - 12px);
}
#sdgsWrap h3:after{
    right: calc(-2em - 8px);
}
#sdgsWrap .flexWrap{
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    justify-content: center;
    margin-bottom: 48px;
}
#sdgsWrap .flexWrap.box2 .flexbox{
    width: calc((100% - 28px) / 2);
}
#sdgsWrap .flexWrap.box3 .flexbox{
    width: calc((100% - 56px) / 3);
}
#sdgsWrap .flexWrap.box4 .flexbox{
    width: calc((100% - 84px) / 4);
}
#sdgsWrap .flexWrap .flexbox a{
    display: block;
    color: #ffffff;
}
#sdgsWrap .flexWrap .flexbox a:hover{
    opacity: 0.5;
}
#sdgsWrap .flexWrap .flexbox figcaption{
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    line-height: 1.6;
    padding-top: 1em;
}



/* --- information --- */

#info-wrap{
    padding-bottom: 64px;
}
#info-wrap .inner-content{
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
}
#info-wrap .inner-content>*{
    width: calc((100% - 48px) / 2);
    display: flex;
    flex-direction: column;
    margin-bottom: 0 !important;
}
#info-wrap .inner-content>* .btns{
    margin-top: auto;
}
#info-wrap .inner-content>* .btns a{
    font-size: 17px;
}
#information{
}
#home #information{
    margin-bottom: 64px;
}
#home #information h2{
    margin-bottom: 8px;
}
ul.postlist.info{
    margin-bottom: 28px !important;
}
ul.postlist.info li {
    font-size: 14px !important;
    line-height: 1 !important;
    list-style-type: none !important;
    margin: 0 !important;
    border-top: solid 1px #e5e5e5 !important;
}
ul.postlist.info li:first-child {
    border-top: none !important;
}
ul.postlist.info li a{
    display: grid !important;
    padding: 1em 0;
    gap: 0.5em;
}
ul.postlist.info li a:hover{
    background: #f2f2f2 !important;
}
ul.postlist.info li .date{
    font-size: 90%;
    font-weight: 500;
}
ul.postlist.info li p{
    font-size: 100% !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
}
#information .btns a{
    font-size: 17px;
}

#information-top{
    padding: 28px;
    padding-bottom: 24px;
    background: #f2f2f2;
    margin-bottom: 64px;
}
#information-top ul.postlist{
    display: grid;
    gap: 0.5em;
    margin-bottom: 0 !important;
}
#information-top ul.postlist>li{
    border: none !important;
}
#information-top ul.postlist>li a{
    display: inline-block;
    font-weight: 500;
    text-decoration: underline;
    padding: 0;
    padding-left: 1.3em;
    position: relative;
}
#information-top ul.postlist>li a:before{
    content: "▲";
    position: absolute;
    top: 0.5em;
    left: 0;
    transform: rotate(90deg);
    font-size: 90%;
}


/* ----- homeMiddle_contents ----- */

#home #homeMiddle_contents{
    padding: 0 0 40px;
    background: #ffffff;
}
#home ul.bnrArea{
}
#home ul.bnrArea li{
    width: 330px;
	float: left;
    margin: 0 0 24px 24px;
}
#home ul.bnrArea li:nth-child(3n+1){
	clear: both;
	margin-left: 0;
}
#home ul.bnrArea li a{
	display: block;
}
#home ul.bnrArea li a:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
#home ul.bnrArea.right{
    width: 330px;
    float: right;
}

/* --- companyMovie --- */

#companyMovie{
    width: 684px;
    float: left;
}
#companyMovie .movie a{
    display: block;
    padding: 24px 0;
    background: #000000;
}
#companyMovie a:hover{
	display: block;
	opacity: 0.5;
}

/* --- link  --- */

#link_area{
    padding: 48px 0 40px;
    background: #eaf4fe;
    box-sizing: border-box;
}
#link_area h2{
    font-size: 20px;
    text-align: left;
    margin: 0 0 16px;
}
#link_area h2:before,
#link_area h2:after{
	display: none;
}
#link_area h2 span{
    padding: 0;
    background: #eaf4fe;
}
#link_area ul li {
    width: 328px;
    float: left;
    margin: 0 0 0 28px;
}
#link_area ul li:nth-child(3n+1) {
    clear: both;
    margin-left: 0;
}
#link_area ul li a {
	display: block;
}
#link_area ul li a:hover {
	opacity: 0.5;
}
#link_area ul li figure {
    width: 40%;
    float: left;
    box-sizing: border-box;
}
#link_area ul li .text{
    width: 60%;
    float: left;
    padding: 0 0 0 16px;
    box-sizing: border-box;
}
#link_area ul li h3 {
    font-size: 17px;
    color: #0A1F8F;
    margin: 0 0 8px;
}
#link_area ul li p {
	font-size: 13px;
    line-height: 1.5;
    text-align: justify;
}

/* ----- 今月の特集 ----- */

#monthly_post{
}
#monthly_post section{
    margin: 0 0 48px;
}
#monthly_post h1{
    font-size: 28px;
    font-weight: normal;
    line-height: 1.4;
    letter-spacing: 0.1em;
    padding: 22px 32px;
    margin: 0 auto 24px;
    background-image: url(../img/share/h3-bg.gif);
    background-repeat: repeat;
    border-top: solid 8px #0A1F8F;
    text-shadow: 0px 2px 3px #FFF;
}
#monthly_post h2{
    font-size: 24px;
    line-height: 1.4;
    margin: 0 0 20px;
    padding: 22px 12px 16px;
    border-top: solid 4px #0A1F8F;
    border-bottom: solid 1px #cccccc;
}
#monthly_post h2 span{
    display: block;
	font-size: 16px;
    line-height: 1.6;
    margin: 4px 0 0;
}
#monthly_post h3{
    color: #ffffff;
    font-size: 24px;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.4;
    text-shadow: none;
    padding: 14px 24px 10px;
    margin: 0 0 24px;
	background: #0A1F8F;
    border: none;
}
#monthly_post h3.noBg{
    color: #333333;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    background: transparent;
}
#monthly_post h3.noBg img{
	margin: 0 0 10px !important;
}
#monthly_post h4{
    font-size: 22px;
    line-height: 1.6;
    letter-spacing: 0.05em;
    padding: 10px 16px 6px;
    margin: 0 0 24px;
    border-bottom: none;
    background: #f2f2f2;
    border-radius: 4px;
}
#monthly_post h5{
    color: #0A1F8F;
    font-size: 20px;
    padding: 0;
    letter-spacing: 0.05em;
    margin: 0 auto 20px;
    background: none;
}
#monthly_post h5:before{
	content: none;
}
#monthly_post h4+h5{
    margin: 32px 0 24px;
}
#monthly_post h6{
    font-size: 17px;
    line-height: 1.6;
    margin: 0 0 12px;
}
#monthly_post p{
    font-size: 15px;
    text-align: justify;
    line-height: 1.8;
    margin: 0 0 28px;
}
#monthly_post ul,
#monthly_post ol{
}
#monthly_post li{
    font-size: 15px;
    text-align: justify;
    line-height: 1.8;
    margin: 0 0 16px;
}
#monthly_post .img{
}

#monthly_post .floatImgRight,
#monthly_post .floatImgLeft{
/*	width: 300px;*/
    clear: both;
}
#monthly_post .floatImgRight img{
    margin-left: 24px;
}
#monthly_post .floatImgLeft img{
    margin-right: 24px;
}
#monthly_post .floatImgRight{
	float: right;
/*    margin: 0 0 0 24px;*/
}
#monthly_post .floatImgLeft{
	float: left;
/*    margin: 0 24px 0 0;*/
}

#monthly_post .imgFloat2,
#monthly_post .imgFloat3,
#monthly_post .imgFloat4{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}

#monthly_post .imgFloat2 figure,
#monthly_post .imgFloat3 figure,
#monthly_post .imgFloat4 figure,
#monthly_post .imgFloat5 figure{
	float: left;
    text-align: center;
	margin: 0 0 16px 16px;
}
#monthly_post figure img{
	margin: 0 !important;
}
#monthly_post figure figcaption{
	font-size: 15px;
    line-height: 1.4;
    padding: 12px 0 0;
}

#monthly_post .imgFloat2 figure{
	width: 512px;
}
#monthly_post .imgFloat3 figure{
    width: 336px;
}
#monthly_post .imgFloat4 figure{
    width: 248px;
}
#monthly_post .imgFloat5 figure{
    width: 179px;
}

#monthly_post .imgFloat2 figure:nth-child(2n+1),
#monthly_post .imgFloat3 figure:nth-child(3n+1),
#monthly_post .imgFloat4 figure:nth-child(4n+1),
#monthly_post .imgFloat5 figure:nth-child(5n+1){
	clear: both;
	margin-left: 0;
}

#monthly_post .yellowBox{
    background: #fffdd9;
    padding: 24px 24px 8px;
    box-sizing: border-box;
    border-radius: 8px;
}
#monthly_post .question{
    padding: 20px;
    margin: 0 0 24px;
	border: dotted 1px #b27645;
}
#monthly_post .question h5{
    color: #000000;
    font-size: 18px;
    line-height: 1.4;
    margin: 0 0 12px;
    padding: 0 0 0 36px;
	position: relative;
}
#monthly_post .question h5:before{
	content: "";
    display: block;
    position: absolute;
    background: #999999 url(../img/contents/monthly/memo.png) no-repeat center;
    background-size: auto 80%;
    width: 19px;
    height: 26px;
    border-radius: 3px;
	top: -2px;
    left: 0;
}
#monthly_post .question p{
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}
#monthly_post .question .imgFloatRight{
    float: right;
    margin: 0 0 0 20px;
}
#monthly_post .question .imgFloatRight img{
	margin: 0 !important;
}

/* ----- 第二回 ----- */

#monthly_post .imgFloat4.blue figure figcaption{
    width: 171px;
    color: #ffffff;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    padding: 12px 0;
    margin: 0 auto;
    background: #00b0f0;
}
#monthly_post .imgFloat5.pink figure figcaption{
    width: 171px;
    background: #f2dcdb;
    font-size: 14px;
    line-height: 1.4;
    padding: 8px 0;
    margin: 0 auto;
}
#monthly_post .imgFloat5{
	width: 960px;
	margin: 0 auto;
}
#monthly_post .team_comment{
	width: 960px;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    margin: 12px auto 8px;
}
#monthly_post .team_comment .member{
    width: calc((100% - 24px) / 2);
    float: left;
    padding: 16px;
    margin: 0 0 24px 24px;
    background: #f2dcdb;
    border: solid 8px #e6b9b8;
    box-sizing: border-box;
}
#monthly_post .team_comment .member:nth-child(2n+1){
    clear: both;
    margin-left: 0;
}
#monthly_post .team_comment .member figure{
    width: 120px;
    float: left;
    margin-bottom: 0;
}
#monthly_post .team_comment .member figcaption{
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
    padding: 12px;
    background: #f2dcdb;
}
#monthly_post .team_comment .member p{
    width: calc(100% - 120px);
    float: left;
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
    padding-left: 20px;
    box-sizing: border-box;
}

/* ----- 今月の特集　一覧ページ ----- */

#page-contents.monthly{

	margin: 0 0 40px;
}
#monthly_content{
}
#monthly_content p{
    font-size: 15px !important;
    line-height: 1.8 !important;
	margin: 0 0 40px !important;
}
#monthlyPostList{
}
#monthlyPostList li{
	list-style-type: none !important;
    margin: 16px 0 0 !important;
    box-sizing: border-box;
}
#monthlyPostList li:first-child{
    margin-top: 0 !important;
}
#monthlyPostList li a{
    display: block;
	background: #efefef;
}
#monthlyPostList li a:hover{
	opacity: 0.5;
}
#monthlyPostList li .thumb{
    width: 280px;
    float: left;
}
#monthlyPostList li .text{
    width: calc(100% - 280px);
    float: left;
    padding: 24px;
    box-sizing: border-box;
}
#monthlyPostList li .date{
    font-size: 16px;
    line-height: 1;
    margin: 0 0 8px;
}
#monthlyPostList li .title{
	font-size: 24px;
    font-weight: normal;
    line-height: 1.5;
    margin: 0 0 12px;
}
#monthlyPostList li .outline{
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

/* ----- ページ下部　カテゴリ別ナビゲーション ----- */

#innerMenu{
    background: #ffffff;
    padding: 0 0 32px;
}
#innerMenu ul{
    width: 1040px;
    padding: 16px 16px 4px;
    margin: 0 auto;
	background: #0A1F8F;
    box-sizing: border-box;
	border-radius: 2px:
}
#innerMenu .category_menu li{
    width: 498px;
    float: left;
    margin: 0 0 12px 12px !important;
    list-style-type: none;
}
#innerMenu .category_menu.btn2 li{
    width: 498px;
}
#innerMenu .category_menu.btn3 li{
     width: 328px;
}
#innerMenu .category_menu li a{
    display: block;
    font-size: 18px;

    text-align: center;
    letter-spacing: 0.03em;
    padding: 20px 0;
    background: #ffffff;
    border: solid 2px #0A1F8F;
    border-radius: 4px;
    box-sizing: border-box;
}
#innerMenu .category_menu li a:hover{
	color: #ffffff;
	border: solid 2px #ffffff;
	background: #0A1F8F;
}

#outerMenu{
    padding: 28px 0;
    background: #f2f2f2;
}
#outerMenu>div>ul:last-child{
    margin-bottom: 0 !important;
}
#outerMenu ul{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}
#outerMenu .category_menu li{
    list-style-type: none;
}
#outerMenu .category_menu.btn2 li{
    width: calc((100% - 12px) / 2);
}
#outerMenu .category_menu.btn3 li{
    width: calc((100% - 24px) / 3);
}
#outerMenu .category_menu.btn4 li{
    width: calc((100% - 36px) / 4);
}
#outerMenu .category_menu li a{
    display: block;
    color: #121212;
    font-size: 16px;
    font-family: Noto Sans JP;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    padding: 1.25em 1em;
    background: #ffffff;
    border: solid 2px #cccccc;
    border-radius: 2px;
}
#outerMenu .category_menu li.height2em a{
    padding: 0.55em 1em;
}
#outerMenu .category_menu li a:hover{
    color: #ffffff;
    border: solid 2px #0A1F8F;
    background: #0A1F8F;
}
/*
#outerMenu .category_menu.btn2 li:nth-child(2n+1),
#outerMenu .category_menu.btn3 li:nth-child(3n+1),
#outerMenu .category_menu.btn4 li:nth-child(4n+1),
#innerMenu .category_menu.btn2 li:nth-child(2n+1),
#innerMenu .category_menu.btn3 li:nth-child(3n+1){
	clear: both;
	margin-left: 0 !important;
}
*/

/* --- pahe-header --- */

#page-header {
	background: #f2f2f2;
	border-bottom: solid 1px #e5e5e5;
}
#page-header .inner-content {
	width: 1200px;
}

/* --- breadcrumbs --- */

#breadcrumb{
    padding-top: 32px;
    padding-bottom: 16px;
    background: #FFFFFF;
}
#breadcrumb ul li{
    display: inline;
    font-size: 14px;
    line-height: 1.4;
    list-style-type: none;
    margin-right: 8px;
}
#breadcrumb ul li a{
    text-decoration: underline;
}

/* --- page-contents --- */

#page-contents, article{
	background-color: #FFFFFF;
	padding: 24px 0 40px;
}
#page-contents .inner-content {
	width: 1040px;
}
#page-contents section {
	clear: both;
	margin: 0 0 48px;
}

article p.single-top-logo{
    max-width: 340px;
    text-align: right;
    margin-left: auto;
    margin-bottom: 0.8em;
}
article p.single-top-logo>img{
    margin-bottom: 0;
}
#page-contents h3,
article h3{
    color: #ffffff;
    font-size: 28px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.02em;
    padding: 16px 28px;
    margin: 0 auto 40px;
    background: #0A1F8F;
}
#page-contents h3 span,
article h3 span{
	font-size: 20px;
}
#page-contents h3+p.date,
article h3+p.date{
    color: #666666;
    font-size: 90%;
    text-align: right;
    margin-top: -48px;
}
#page-contents section h3.noBg,
article h3.noBg{
    color: inherit;
    font-size: 28px;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.02em;
    padding: 0;
    margin-bottom: 1.25em;
    background: transparent;
}
#page-contents h4,
article h4{
    font-size: 24px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    padding: 0 4px 8px;
    margin: 0 0 24px;
    border-bottom: solid 2px #0A1F8F;
}
#page-contents h4 span,
article h4:before{
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding: 0 0 0 8px;
	color: #999999;
}
#page-contents h4.catchcopy{
    font-size: 26px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: justify;
    margin: 0 0 16px;
    padding: 0;
    border: none;
}
#page-contents h5,
article h5{
    color: #231815;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    margin: 0 auto 12px;
    padding: 8px 18px;
    background: #E0E3F2;
}
#page-contents h5 small,
article h5 small{
    font-size: 18px;
    margin: 0 0 0 20px;
}
#page-contents h5 span,
article h5 span{
	font-size: 20px;
}
#page-contents h6{
	color: #0A1F8F;
	font-size: 20px;
	letter-spacing: 0.1em;
	padding-bottom: 8px;
	margin-bottom: 16px;
	border-bottom: solid 1px #cccccc;
}
.pink{
	color: #E4007F;
}
.pinkUnderLine{
    display: inline-block;
	padding-bottom: 0.07em !important;
    border-bottom: solid 2px #E4007F !important;
}
.blueUnderLine{
    display: inline-block;
	padding-bottom: 0.07em !important;
    border-bottom: solid 2px #0A1F8F !important;
}
#page-contents ol,
#page-contents ul,
#page-contents .img,
article ol,
article ul,
article .img{
	margin: 0 0 32px;
}
#page-contents p,
article p{
    font-size: 16px;
    line-height: 2;
    text-align: justify;
    margin-bottom: 24px;
    word-break: auto-phrase;
}
#page-contents p.catchcopy{
	font-size: 24px;
	line-height: 1.4;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	margin: 40px 0;
}
#page-contents p.catchcopy_gothic{
	font-size: 24px;
	line-height: 1.4;
	margin: 40px 0;
}
#page-contents ol li,
article ol li{
	list-style-type: decimal;
}
#page-contents ul li,
article ul li{
	list-style-type: square;
}
#page-contents ul.disc,
article ul.disc{
	margin-left: 1em;
}
#page-contents ul.disc li,
article ul.disc li{
	list-style-position: outside;
}
#page-contents ol li,
#page-contents ul li,
article ol li,
article ul li{
	font-size: 16px;
	line-height: 1.6;
	text-align: justify;
	margin: 0 0 16px;
	list-style-position: inside;
}

#page-contents ol.black-circle,
article ol.black-circle{
    list-style-type: disc;
    list-style-position: outside;
    margin: 0 0 24px 24px;
}
#page-contents ol.black-circle li,
article ol.black-circle li{
	font-size: 16px;
    line-height: 1.8;
    margin: 12px 0 0;
    list-style-type: disc;
    list-style-position: outside;
}
#page-contents ol.black-circle li:first-child,
article ol.black-circle li:first-child{
	margin-top: 0;
}

#page-contents .center,
article .center{
	text-align: center;
}
#page-contents .right,
article .right{
	text-align: right;
}
#page-contents .red{
	color: #cc0033;
}

section figure,
article figure{
	margin-bottom: 24px;
}
section .img2,
section .img3,
section .img4,
article .img2,
article .img3,
article .img4{
}
section .img2 figure,
section .img3 figure,
section .img4 figure,
article .img2 figure,
article .img3 figure,
article .img4 figure{
    float: left;
    vertical-align: top;
    margin: 0 0 20px 2%;
}
section .img2 figure,
article .img2 figure{
	width: 49%;
}
section .img3 figure,
article .img3 figure{
	width: 32%;
}
sction .img4 figure,
article .img4 figure{
	width: 23.5%;
}
section .img2 figure:nth-child(2n+1),
section .img3 figure:nth-child(3n+1),
section .img4 figure:nth-child(4n+1),
article .img2 figure:nth-child(2n+1),
article .img3 figure:nth-child(3n+1),
article .img4 figure:nth-child(4n+1){
    clear: both;
    margin-left: 0;
}
section figure img,
article figure img{
    margin: 0;
}
section figure figcaption,
article figure figcaption{
    font-size: 14px;
    line-height: 1.5;
    padding-top: 8px;
}

/* ------ dl ------ */

section dl{
    background: #f2f2f2;
    border: solid 1px #cccccc;
    border-top: none;
}
section dl dt,
section dl dd{
    float: left;
    font-size: 15px;
    line-height: 1.6;
    padding: 12px 16px;
    box-sizing: border-box;
}
section dl dt{
    width: 160px;
    font-weight: bold;
    border-top: solid 1px #cccccc;
}
section dl dd{
    width: 878px;
    border-top: solid 1px #cccccc;
    border-left: solid 1px #cccccc;
    background: #ffffff;
}

section dl.bluebox_dl{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	background: #E0E3F2;
    border: solid 1px #7990C8;
    border-top: none;
    margin: 0 0 40px;
}
section dl.bluebox_dl dt,
section dl.bluebox_dl dd{
    float: left;
    font-size: 15px;

    line-height: 1.6;
    padding: 12px 16px;
    box-sizing: border-box;
}
section dl.bluebox_dl dt{
    width: 160px;
    font-weight: bold;
    border-top: solid 1px #7990C8;
}
section dl.bluebox_dl dd{
    width: 878px;
    border-top: solid 1px #7990C8;
    border-left: solid 1px #7990C8;
    background: #ffffff;
}

/* memobox */

#page-contents .memobox{
    padding: 36px 32px 1px;
    margin: 0 0 40px;
    background: #e3e5f4;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    box-sizing: border-box;
}
#page-contents .memobox h6{
    color: #0A1F8F;
    font-size: 24px;
    line-height: 1.4;
    letter-spacing: 0;
    margin: 0 0 12px;
    border: none;
}
#page-contents .memobox p{
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 24px;
}
#page-contents .memobox ol{
    margin: 0 0 24px 24px;
}
#page-contents .memobox li{
	font-size: 16px;
    line-height: 1.6;
    margin: 12px 0 0;
    padding: 0 0 0 8px;
    list-style-position: outside;
}

/* ------ bottom link ------ */

#page-contents .category_menu,
article .category_menu{
	background: #e5e5e5;
	padding: 24px 24px 8px;
}
#page-contents .category_menu li,
article .category_menu li{
	width: 314px;
	float: left;
	margin: 0 0 16px 16px !important;
	list-style-type: none;
}
#page-contents .category_menu li:nth-child(3n+1),
article .category_menu li:nth-child(3n+1){
	margin-left: 0;
}
#page-contents .category_menu li a,
article .category_menu li a{
	text-align: center;
	background: #ffffff;
	border: solid 3px #cccccc;
	padding: 16px 0;
	font-size: 20px;
	font-weight: bold;
	display: block;
}
#page-contents .category_menu li a:hover,
article .category_menu li a:hover{
	background: #f2f2f2;
	border: solid 3px #999999;
	color: #0A1F8F;
}

@media print {
  .category_menu{
	  display: none;
  }
}

/* ------------------------------------------------- *
 *       .table
 * ------------------------------------------------- */
 
.table table{
	background: #cccccc;
	width: 100%;
	margin: 0 0 24px;
	line-height: 1.6;
}
.table table td, .table table th{
	padding: 16px 24px;
}
.table table th{
	background: #e5e5e5;
}
.th_left table th{
	text-align: left;
 }
.table table td{
	background: #ffffff;
}
@media print {
  .table table{
	  border: solid 1px #999999 !important;
  }
    .table table th, .table table td{
	  border: solid 1px #999999 !important;
  }
}

/* ----- totalsolution ----- */

section#totalsolution h4.catchcopy{
    margin-bottom: 32px;
}
section#totalsolution .blueborderbox{
    margin: 0 0 24px;
    padding: 24px;
    border: solid 1px #0A1F8F;
    border-radius: 8px;
    overflow: hidden;
}
section#totalsolution .blueborderbox h5{
    padding: 0;
    background: transparent;
}

/* ----- research-planning ----- */

section#research_planning{
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
section#research_planning h4.catchcopy{
	font-size: 20px;
    margin-bottom: 32px;
}
section#research_planning .s_category{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    width: 100%;
    margin: 0 0 24px;
    background: #D6DAEE;
}
section#research_planning .s_category h5.tate_title{
	width: 48px;
    float: left;
    text-align: center;
    vertical-align: middle;
    padding: 20px 0;
    margin: 0;
    background: #6580C0;
    box-sizing: border-box;
}
section#research_planning .s_category .bluebox{
    width: calc(100% - 48px);
    float: left;
    padding: 24px 32px;
    box-sizing: border-box;
}
section#research_planning .s_category .bluebox>*:last-child{
	margin-bottom: 0;
}
section#research_planning .s_category .black-circle li{
    width: 360px;
    float: left;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 0 12px;
}  
section#research_planning .s_category .black-circle li:nth-child(2n+1){
	clear: both;
	margin-left: 0;
}

/* ----- souko.com ----- */

section#souko .bgblue{
    padding: 28px;
    background: #F4F6FB;
}
section#souko .bgblue .left_area{
    width: 600px;
    float: left;
}
section#souko .bgblue .right_area{
    width: 352px;
    float: right;
}
section#souko .bgblue h5{
    color: #1A8429;
    font-size: 24px;
    font-weight: bold;
    padding: 0;
    background: transparent;
}
section#souko .bgblue .whitebox{
    padding: 20px 24px 1px;
    margin: 0 0 24px;
    box-sizing: border-box;
    border-radius: 8px;
    background: #ffffff;
}  
section#souko .bgblue .whitebox .black-circle li{
	margin-top: 4px;
}  
section#souko .bgblue .right_area p{
    font-size: 18px;
    text-align: center;
    margin: 12px 0 0;
}
section#souko .bgblue .right_area p a{
    font-weight: bold;
    text-decoration: underline;
}

/* ---- asset ----- */

section#asset{
}
section#asset h4{
    font-size: 24px !important;
    line-height: 1.45 !important;
    text-indent: -1.7em;
    margin-left: 1.7em !important;
}
section#asset ul.nodisc{
	margin: -16px 0 40px 28px;
}
section#asset ul.nodisc li{
    margin-bottom: 12px;
    list-style-type: none;
}
section#asset ul.nodisc li a{
	text-decoration: underline;
}
section#asset .case{
    padding-top: 64px;
    margin-top: -40px;
}
section#asset .clearfix .halfBox{
    width: 48.5%;
    float: left;
    margin: 0 0 0 3%;
}
section#asset .clearfix .halfBox:nth-child(2n+1){
	clear: both;
	margin-left: 0;
}
section#asset .typec figure{
	width: 760px;
	float: left;
}
section#asset .typec .text{
    width: 240px;
    float: right;
    padding: 32px 0 0;
}
section#asset .typec .text p{
    font-size: 15px;
    line-height: 1.8;
}

/* ----- asia ----- */

section .container{
	width: 1040px;
	overflow: hidden;
}
section .container .box{
	float: left;
	padding: 0 16px 16px 0;
	overflow: hidden;
}
section .container .right{
	float: right;
}
section .container .size86 img{
	width: 504px;
	height: 374px;
}
section .container .size43 img{
	width: 244px;
	height: 179px;
}

/* ----- 404 ----- */

.page404{
	padding: 64px 0 !important;
	text-align: center;
	background: #ffffff;
}
.page404 .text404{
	color: #cccccc;
	font-size: 200px;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
}
.page404 .title{
	color: #cccccc;
	font-size: 64px;
	font-weight: bold;
	font-family: Arial, Helvetica, sans-serif;
	margin: 0 0 24px;
}
.page404 .toptext p{
	color: #999999;
	font-size: 24px;
	font-weight: bold;
	margin: 0 0 40px;
}

.page404 .subtext{
	margin: 40px 0;
}
.page404 .subtext p{
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 0 24px;
}

.page404 .solution p.empha{
	font-size: 20px;
	font-weight: normal;
	margin: 0 0 16px;
}
.page404 .solution p{
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 24px;
}

@media print {
    #area-header, #page-header, #breadcrumb, #footer {
        display: none;
    }
}

/* ----- 20200804 東日本事業所（仙台市）事業拡大に伴う求人募集のお知らせ ------ */

#recruit-tohoku{
}
#recruit-tohoku section h3{
    width: calc(100% - 270px);
    color: inherit;
    padding: 0;
    margin: 0 0 20px;
    letter-spacing: 0.05em;
	background: none;
}
#recruit-tohoku p.date{
	text-align: right;
    letter-spacing: 0.02em;
    margin: 0;
}
#recruit-tohoku .textarea{
    width: calc(100% - 270px);
    float: left;
    padding-right: 40px;
    box-sizing: border-box;
}
#recruit-tohoku figure.floatRight{
    width: 270px;
    float: right;
    margin-top: -92px;
}
#recruit-tohoku figure.floatRight figcaption{
    font-size: 15px;
    padding-top: 12px;
}

/* ----- 20200804 募集終了時に削除 ------ */


/* ------ 数字で見るF&P ------ */

#seebyNumber{
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    margin-bottom: -40px;
}
#seebyNumber .inner{
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
#seebyNumber #titleArea h1{
	text-align: center;
    margin: 0 0 32px;
}

#seebyNumber .subtitleArea{
	color: #231815;
    text-align: center;
    padding: 36px 0;
    position: relative;
}
#seebyNumber .subtitleArea:after{
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 40px solid;
}
#seebyNumber .subtitleArea h2{
    width: fit-content;
    font-size: 48px;
    line-height: 1;
    letter-spacing: 0.075em;
    margin: 0 auto;
    padding-left: 128px;
    position: relative;
}
#seebyNumber .subtitleArea h2 small{
	display: block;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
    margin: 20px 0 0;
}
#seebyNumber .subtitleArea h2:before{
    content: "";
    width: 128px;
    height: 140px;
    display: block;
    position: absolute;
    background-size: contain !important;
    left: -24px;
    bottom: -36px;
}
#seebyNumber .subtitleArea.blue h2:before,
#seebyNumber .contentsArea.blue section.matome .fukidashi:after{
    background: url(../img/contents/number/human01.png) no-repeat;
}
#seebyNumber .subtitleArea.green h2:before,
#seebyNumber .contentsArea.green section.matome .fukidashi:after{
    background: url(../img/contents/number/human02.png) no-repeat;
}
#seebyNumber .subtitleArea.orange h2:before,
#seebyNumber .contentsArea.orange section.matome .fukidashi:after{
    background: url(../img/contents/number/human03.png) no-repeat;
}

#seebyNumber .subtitleArea.blue{
    background: #9EE0FF;
}
#seebyNumber .subtitleArea.blue:after{
    border-top-color: #9EE0FF;
}
#seebyNumber .subtitleArea.green{
    background: #BDEA7D;
}
#seebyNumber .subtitleArea.green:after{
    border-top-color: #BDEA7D;
}
#seebyNumber .subtitleArea.orange{
    background: #FFD119;
}
#seebyNumber .subtitleArea.orange:after{
    border-top-color: #FFD119;
}
#seebyNumber .contentsArea p.right{
    color: #0e0d08;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 80px !important;
}

#seebyNumber .contentsArea{
	padding: 104px 0 1px;
}
#seebyNumber .contentsArea.blue{
    padding-top: 12px;
    background: #D6EFFF;
}
#seebyNumber .contentsArea.green{
    background: #E0F9C7;
}
#seebyNumber .contentsArea.orange{
    background: #FFF6BD;
    padding-bottom: 80px;
}
#seebyNumber .contentsArea>*:last-child,
#seebyNumber .contentsArea section>*:last-child,
#seebyNumber .contentsArea .inner>*:last-child{
	margin-bottom: 0 !important;
}
#seebyNumber .contentsArea section{
    margin-bottom: 160px;
}
#seebyNumber .contentsArea section h3{
    color: #0e0d08;
    width: fit-content;
	font-size: 36px;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
	margin: 0 auto 148px;
    padding: 0;
    background: transparent;
    position: relative;
}
#seebyNumber .contentsArea section h3 br{ 
	display: none;
}
#seebyNumber .contentsArea section h3:after{
    content: "";
    display: block;
    width: 100%;
    height: 8px;
    margin: 0 -50%;
    position: absolute;
    bottom: -16px;
    left: 50%;
    right: 50%;
}
#seebyNumber .contentsArea.blue section h3:after{
    background: #0071bc;
}
#seebyNumber .contentsArea.green section h3:after{
    background: #009245;
}
#seebyNumber .contentsArea.orange section h3:after{
    background: #f7931e;
}

/* 各項目共通 */

#seebyNumber .contentsArea section p.Lnumber{
    font-size: 64px;
    font-weight: 600;
    line-height: 1;
}
#seebyNumber .contentsArea section p.Lnumber strong{
    font-size: 180px;
}
#seebyNumber .contentsArea section a,
#seebyNumber .contentsArea section figure{
    display: block;
    width: fit-content;
    margin: 0 auto;
}
#seebyNumber .contentsArea section a:hover{
    opacity: 0.5;
}
#seebyNumber .contentsArea.blue section a{
    color: #0071BB;
}
#seebyNumber .contentsArea.green section a{
    color: #009145;
}
#seebyNumber .contentsArea.orange section a{
    color: #F6921E;
}

/* 各項目詳細 */

#seebyNumber .contentsArea section.b1-1 h3{
    margin-bottom: 64px;
}
#seebyNumber .contentsArea section.b1-1 a{
    width: 720px;
    padding-left: 56px;
}
#seebyNumber .contentsArea section.b1-2 h3{
	margin-bottom: 104px;
}
#seebyNumber .contentsArea section.b1-2 h3 small{
    display: block;
    font-size: 16px;
    letter-spacing: 0;
    position: absolute;
    right: 0;
    bottom: -40px;
}
#seebyNumber .contentsArea section.b1-2 a{
	width: 800px;
}
/* g2-4に移動
#seebyNumber .contentsArea section.b1-3 h3{
    margin-bottom: 88px;
}
#seebyNumber .contentsArea section.b1-3 a{
    width: 600px;
}
*/

#seebyNumber .contentsArea section.b1-4 h3{
    margin-bottom: 56px;
}
#seebyNumber .contentsArea section.b1-4 a{
    width: 680px;
}
#seebyNumber .contentsArea section.b1-5 h3{
    margin-bottom: 64px;
}
#seebyNumber .contentsArea section.b1-5 a{
    width: 800px;
}
#seebyNumber .contentsArea section.b1-6 h3{
    margin-bottom: 64px;
}
#seebyNumber .contentsArea section.b1-6 a{
    width: 750px;
    margin-bottom: 104px !important;
}
#seebyNumber .contentsArea section.b1-7 h3{
    margin-bottom: 80px;
}
#seebyNumber .contentsArea section.b1-7 figure{
    width: 781px;
    margin-bottom: 104px !important;
}
#seebyNumber .contentsArea section.b1-8 h3{
    margin-bottom: 48px;
}
#seebyNumber .contentsArea section.b1-8 figure{
    width: 737px;
    margin-bottom: 104px !important;
}
#seebyNumber .contentsArea section.b1-9 h3{
    margin-bottom: 48px;
}
#seebyNumber .contentsArea section.b1-9 figure{
    width: 878px;
    margin-bottom: 104px !important;
}

#seebyNumber .contentsArea section.g2-1 h3{
    margin-bottom: 80px;
}
#seebyNumber .contentsArea section.g2-1 a{
    width: 720px;
    padding-left: 64px;
}

#seebyNumber .contentsArea section.g2-2 h3{
    margin-bottom: 88px;
}
#seebyNumber .contentsArea section.g2-2 a{
    width: 760px;
}
#seebyNumber .contentsArea section.g2-2 p{
    font-size: 120px;
    text-align: center;
    margin: 0;
}

#seebyNumber .contentsArea section.g2-3 h3{
    margin-bottom: 80px;
    position: relative;
}
#seebyNumber .contentsArea section.g2-3 h3 small{
    display: block;
    font-size: 16px;
    letter-spacing: 0;
    position: absolute;
    right: 0;
    bottom: -40px;
}
#seebyNumber .contentsArea section.g2-3 img{
    display: block;
    width: 680px;
    margin: 0 auto 104px;
}
#seebyNumber .contentsArea section.g2-4 h3{
    margin-bottom: 88px;
}
#seebyNumber .contentsArea section.g2-4 a{
    width: 600px;
}

#seebyNumber .contentsArea section.o3-1 h3{
    margin-bottom: 24px;
    position: relative;
}
#seebyNumber .contentsArea section.o3-1 img{
    display: block;
    width: 780px;
    margin: 0 auto;
}
#seebyNumber .contentsArea section.o3-2 h3{
    margin-bottom: 40px;
    position: relative;
}
#seebyNumber .contentsArea section.o3-2 img{
    display: block;
    width: 828px;
    margin: 0 auto;
    padding-left: 40px;
}

#seebyNumber .contentsArea section.o3-3 h3{
	margin-bottom: 64px;
}
#seebyNumber .contentsArea section.o3-3 a{
    width: 560px;
}
#seebyNumber .contentsArea section.o3-4 h3{
    margin-bottom: 64px;
}
#seebyNumber .contentsArea section.o3-4 a{
    width: 620px;
}
#seebyNumber .contentsArea section.o3-5 h3{
    margin-bottom: 64px;
}
#seebyNumber .contentsArea section.o3-5 a{
    width: 881px;
}


/* ------ // 数字で見るF&P ------ */

/* ----- 採用情報TOP ----- */

#recruitHome{
}
#recTopImg{
	background: #eaf4fe;
}
#recruit_menu{
    font-size: 0;
    line-height: 1;
    margin: 24px 0 40px !important;
}
#recruit_menu li{
    float: left;
    list-style-type: none !important;
    margin: 0 !important;
}
#recruit_menu li a{
    display: block;
    line-height: 1;
}
#recruit_menu li a:hover{
    opacity: 0.5;
}
#recruitHomeMovie{
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin: 64px 0;
}
#recruitHomeMovie>*{
    flex: 1;
}
#recruitHomeMovie .movie{
    text-align: center;
}
#recruitHomeMovie .movie a:hover{
    opacity: 0.5;
}
#recruitHome .bnrArea{
    font-size: 0;
    text-align: center;
    margin: 40px 0;
}
#recruitHome .bnrArea a{
    width: 32%;
    display: inline-block;
    margin-left: 2%;
    margin-bottom: 24px;
}
#recruitHome .bnrArea a:nth-child(3n+1){
    clear: both;
    margin-left: 0;
}
#recruitHome .bnrArea a:hover{
     opacity: 0.5;
}


/* ----- 採用情報TOP ----- */

/* ----- キャリア採用情報 ----- */

#application{
    color: #333333;
    padding: 64px 0;
/*    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;*/
    background: #ffffff;
}
#application.home{
    padding: 0;
}
#application.home #mainimg{
    margin: 0 0 60px;
    background: #cccccc url(../img/contents/recruit/career/recruitMainimg.jpg) no-repeat center top;
    background-size: cover;
}
#application.home #mainimg .inner-content{
    height: 470px;
    position: relative;
}
#application.home #mainimg p.cc{
    line-height: 1;
    margin: 0;
    position: absolute;
    bottom: 8%;
    left: 8%;
}
#application.home section{
    margin: 0;
    padding-bottom: 48px;
}
#application.home section h3{
    color: #000000;
    line-height: 1;
    padding: 0;
    margin-bottom: 40px;
    background: transparent;
}
#application h2{
    color: #0a1f8f;
    font-size: 36px;
    letter-spacing: 0.05em;
    margin-bottom: 100px;
}
#application h2.center{
    text-align: center;
}
#application h2 small{
    display: inline-block;
    font-size: 18px;
    letter-spacing: 0.05em;
    margin: 0.5em 0;
}
#application.home section h3 .en{
    display: inline-block;
    color: #000000;
    font-size: 32px;
    font-family: Arial;
    letter-spacing: 0.1em;
    vertical-align: middle;
    margin-right: 0.3em;
}
#application.home section h3 .ja{
    display: inline-block;
    font-size: 16px;
    font-weight: normal;
    letter-spacing: 0.05em;
}
#application.home section p.centerText{
    font-size: 16px;
    line-height: 2;
    text-align: center;
    margin: 0;
}
#application .btns,
#workingPlace .btns{
    font-size: 0;
    text-align: center;
    margin: 60px 0;
}
#application .btns a,
#workingPlace .btns a{
    display: inline-block;
    width: 300px;
    font-size: 21px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-align: center;
    padding: 1em 0;
    margin-left: 30px;
    border-radius: 1px;
    box-sizing: border-box;
    transition: all ease .3s;
}
#application .btns a:first-child,
#workingPlace .btns a:first-child{
    margin-left: 0;
}
#application .btns a:hover,
#workingPlace .btns a:hover{
    opacity: 0.5;
}
#application .btns a.blue,
#workingPlace .btns a.blue{
    color: #ffffff;
    background: #0a1f8f;
}
#application .btns a.yellow,
#workingPlace .btns a.yellow{
    color: #4c472d;
    background: #ffd800;
}
#application.home section ul.jobsPanel{
    margin-bottom: 100px;
}
#application.home section ul.jobsPanel li{
    width: 49%;
    float: left;
    margin: 0 0 32px 2%;
    list-style-type: none;
}
#application.home section ul.jobsPanel li:nth-child(2n+1){
    clear: both;
    margin-left: 0;
}
#application.home section ul.jobsPanel li a{
    display: block;
    transition: all ease .3s;
}
#application.home section ul.jobsPanel li a:hover{
    opacity: 0.5;
}

#application.list{
}
#application .place{
    border-top: solid 1px #333333;
    padding: 40px 0;
}
#application.list h3{
    width: 50%;
    float: left;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.05em;
}
#application.list h3 br.pcNone{
      display: none;
}

#application ul.recAppList{
    width: 50%;
    float: left;
    margin-top: -0.5em;
}
#application ul.recAppList li{
    font-size: 18px;
    font-weight: normal;
    position: relative;
    margin-top: 0.5em;
}
#application ul.recAppList li:first-child{
     margin-top: 0;
}
#application ul.recAppList li:before{
    content: "＞";
    font-size: 19px;
    font-weight: 600;
    position: absolute;
    right: 8px;
    top: 0;
    transform: scaleX(0.5);
}
#application ul.recAppList li a{
    display: block;
    color: #333333;
    font-size: 18px;
    transition: all ease .3s;
    padding: 1em 0;
}
#application ul.recAppList li a:hover{
    opacity: 0.5;
}

#application.detail dl.tableDl{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border: none;
    border-bottom: solid 1px #333333;
    background: #ffffff;
}
#application.detail dl.tableDl dt,
#application.detail dl.tableDl dd{
    font-size: 16px;
    float: left;
    padding: 40px 0 40px 40px;
    border-top: solid 1px #333333;
}
#application.detail dl.tableDl dt{
    width: 150px;
    clear: both;
}
#application.detail dl.tableDl dd{
    width: calc(100% - 150px);
    border-left: none;
}
#application.detail dl.tableDl ul.disc{
    margin: 0.5em 0 0.5em 1.5em;
}
#application.detail dl.tableDl ul.disc:first-child{
    margin-top: 0;
}
#application.detail dl.tableDl ul.disc li{
    list-style-type: disc;
    margin-top: 0.5em;
}
#application.detail dl.tableDl ul.disc li:first-child{
    margin-top: 0;
}

#application.jobs{
}
#application.jobs #headerImg{
    height: 470px;
    overflow: hidden;
    margin-top: -64px;
    margin-bottom: 64px;
}
#application.jobs #headerImg img{
}
#application.jobs section{
    position: relative;
    padding: 60px 0;
    border-bottom: solid 1px #333333;
}
#application.jobs .inner-content section:first-child{
    padding-top: 0;
}
#application.jobs .inner-content section:last-child{
    border-bottom: none;
}
#application.jobs .inner-content section>*:last-child{
    margin-bottom: 0;
}

#application.jobs .youkouHeader{
}
#application.jobs .youkouHeader p.jobsText{
    color: #000000;
    font-size: 32px;
    font-family: arial;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    margin-bottom: 40px;
}
#application.jobs .youkouHeader p.jobsText span{
    font-size: 16px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: normal;
    margin-left: 0.75em;
}
#application.jobs .youkouHeader h2{
    display: inline-block;
    margin-bottom: 40px;
}
#application.jobs .youkou{
    font-size: 0;
    display: inline-block;
    margin-left: 16px;
    vertical-align: text-bottom;
}
#application.jobs .youkou.br{
    display: block;
    margin-top: -28px;
    margin-bottom: 40px;
    margin-left: 0;
}
#application.jobs .youkou a{
    display: inline-block;
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-left: 10px;
    padding: 0.6em 1em;
    background: #0a1f8f;
}
#application.jobs .youkou a:first-child{
    margin-left: 0;
}
#application.jobs .youkou a:hover{
    opacity: 0.5;
}
#application.jobs #outline{
}
#application.jobs #outline>*:last-child{
    margin-bottom: 0 !important;
}
#application.jobs #outline h3{
    color: #2c3c92;
    margin-bottom: 0.5em;
}
#application.jobs #outline h4{
    margin-bottom: 0.5em;
}
#application.jobs #outline ol.decimal{
    margin-left: 24px;
    margin-bottom: 1.75em;
    counter-reset: ranking;
}
#application.jobs #outline ol.decimal li{
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    text-indent: -1.3em;
    margin-top: 0.5em;
}
#application.jobs #outline ol.decimal li:first-child{
    margin-top: 0;
}
#application.jobs #outline ol.decimal li:before{
    color: #2c3c92;
    counter-increment: ranking;
    content: counter(ranking)'. ';
}
#application.jobs h3{
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    margin-bottom: 1em;
}
#application.jobs h3 small{
    display: inline-block;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.5;
    text-indent: -1.4em;
    margin-top: 0.5em;
    margin-left: 1.4em;
}
#application.jobs h4,
#application.benefit h4{
    color: #0a1f8f;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.025em;
    margin-bottom: 40px;
    padding: 0;
    border: none;
}
#application.jobs p{
    font-size: 16px;
    line-height: 1.8;
    text-align: justify;
    margin-bottom: 1.5em;
}

#application.jobs #photos{
}
#application.jobs #photos .img2 figure figcaption{
    font-size: 16px;
    line-height: 1.6;
    padding-top: 0.75em;
}

#application.jobs #memberMsg{
}
#application.jobs #memberMsg .message{
    padding: 100px 0;
    position: relative;
}
#application.jobs #memberMsg .message:before{
    content: "";
    width: 350px;
    margin: 0 -175px;
    border-top: solid 1px #333333;
    position: absolute;
    top: 0;
    left: 50%;
    right: 50%;
}
#application.jobs #memberMsg .message:nth-child(2){
    padding-top: 0;
}
#application.jobs #memberMsg .message:nth-child(2)::before{
    content: none;
}
#application.jobs #memberMsg .message:last-child{
    padding-bottom: 0;
}
#application.jobs #memberMsg .message .msgArea{
    width: calc(100% - 260px);
}
#application.jobs #memberMsg .message .msgArea>*:last-child{
    margin-bottom: 0 !important;
}
#application.jobs #memberMsg .message .msgArea p.cc{
    font-size: 24px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 0.5em;
}
#application.jobs #memberMsg .message .msgArea p.plus{
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 0.5em;
}
#application.jobs #memberMsg .message .member{
    width: 200px;
}
#application.jobs #memberMsg .message .member figure{
    margin-bottom: 0;
}
#application.jobs #memberMsg .message .member p.name{
    font-size: 16px;
    line-height: 1.5;
    padding-top: 1em;
    margin-bottom: 0;
}

#application #related{
}
#application #related .relatedPost{
    width: 800px;
    text-align: center;
    margin: 40px auto 0;
}
#application #related .relatedPost a:hover{
     opacity: 0.5;
}
#application #related .relatedPost p{
    line-height: 1.8;
    text-align: left;
    margin: 0;
}

#application.jobs #tekisei{
    border-bottom: none;
}
#application.jobs #tekisei h5{
    font-size: 18px;
    margin-bottom: 1em;
}
#application.jobs #tekisei ul.disc{
    margin-bottom: 48px;
    margin-left: 1.5em;
}
#application.jobs #tekisei ul.disc li{
    font-size: 16px;
    line-height: 1.6;
    list-style-type: disc;
    margin-top: 0.5em;
}
#application.jobs #tekisei ul.disc li:first-child{
    margin-top: 0;
}

/* ----- キャリア採用情報 ----- */

/* ----- 福利厚生・勤務制度 ----- */

#application.benefit{
}
#application.benefit h2{
    margin-bottom: 0.8em;
}
#application.benefit h2+p{
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 40px;
}
#application.benefit section .beneBox{
    padding: 40px 0;
    border-top: solid 1px #333333;
}
#application.benefit section .beneBox:last-child{
    border-bottom: solid 1px #333333;
}
#application.benefit section .beneBox h3{
    color: #0a1f8f;
    font-size: 30px;
    padding: 0;
    margin: 0 0 0.5em;
    background: transparent;
}
#application.benefit section .beneBox h3 .icon{
    display: inline-block;
    width: 65px;
    vertical-align: middle;
    margin-right: 0.5em;
}
#application.benefit section .beneBox ul{
    margin: 0 0 1em 0;
}
#application.benefit section .beneBox ul li{
    font-size: 16px;
    line-height: 1.8;
    margin: 0.5em 0 0 1.5em;
    text-indent: -1.5em;
    list-style-type: none;
}
#application.benefit section .beneBox ul li:first-child{
    margin-top: 0;
}
#application.benefit section .beneBox ul li:before{
    content: "●";
    color: #ffd800;
    margin-right: 0.5em;
}
#application.benefit section .beneBox ul li b{
    font-size: 18px;
}
#application.benefit section .beneBox p.check{
    font-size: 18px;
    margin: 0 !important;
}
#application.benefit section .beneBox p.check:before{
    content: "";
    display: inline-block;
    width: 37px;
    height: 27px;
    margin-right: 0.5em;
    vertical-align: text-bottom;
    background: url(../img/contents/recruit/benefits/check.gif) no-repeat center center;
    background-size: contain;
}
#application.benefit #othersBene{
    margin-bottom: 40px;
    padding: 40px 0;
    border-bottom: solid 1px #333333;
}
#application.benefit #othersBene>*:last-child{
    margin-bottom: 0 !important;
}
#application.benefit #othersBene h5{
    color: #003399;
    font-size: 18px;
    letter-spacing: 0;
    margin: 0 0 0.75em;
    padding: 0;
    background: transparent;
}
#application.benefit #othersBene h5:before{
    content: none;
}
#application.benefit #othersBene ul.disc{
    margin: 0 0 2em 1.2em;
}
#application.benefit #othersBene ul.disc li{
    font-size: 16px;
    line-height: 1.6;
    margin: 0.5em 0 0;
    list-style-type: disc;
}
#application.benefit #othersBene ul.disc li:first-child{
    margin-top: 0;
}

/* ----- 福利厚生・勤務制度 ----- */


/* ----- 全国各地の働く環境 ----- */

#workingPlace{
}
#workingPlace h2{
    color: #0a1f8f;
    font-size: 30px;
    font-family: arial;
    font-weight: normal;
    margin-bottom: 0.75em;
}
#workingPlace h2 span.ja{
    color: #333333;
    font-size: 18px;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin-left: 1.245em;
}
#workingPlace h2+p{
}
#workingPlace figure.mapImg{
    margin-bottom: 40px;
}
#workingPlace .office{
    padding: 40px 0;
    border-top: solid 1px #333333;
}
#workingPlace .office .profile{
    margin-bottom: 48px;
}
#workingPlace .office .profile.east{
    background: url(../img/contents/others/workingplace/sendai.png) no-repeat left top 4px;
    background-size: 124px auto;
}
#workingPlace .office .profile.chubu{
    background: url(../img/contents/others/workingplace/nagoya.png) no-repeat left top 4px;
    background-size: 124px auto;
}
#workingPlace .office .profile.west{
    background: url(../img/contents/others/workingplace/osaka.png) no-repeat left top 4px;
    background-size: 124px auto;
}
#workingPlace .office .profile.kyushu{
    background: url(../img/contents/others/workingplace/fukuoka.png) no-repeat left top 4px;
    background-size: 124px auto;
}
#workingPlace .office .profile figure{
    float: right;
}
#workingPlace .office .profile.east figure,
#workingPlace .office .profile.kyushu figure{
    width: 148px;
}
#workingPlace .office .profile.west figure,
#workingPlace .office .profile.chubu figure{
    width: 190px;
    float: right;
}
#workingPlace .office .profile .text{
    float: left;
    padding-right: 40px;
    padding-left: 140px;
    box-sizing: border-box;
}
#workingPlace .office .profile.east .text,
#workingPlace .office .profile.kyushu .text{
    width: calc(100% - 148px);
}
#workingPlace .office .profile.west .text,
#workingPlace .office .profile.chubu .text{
    width: calc(100% - 190px);
}
#workingPlace .office .profile .text h3{
    color: #0a1f8f;
    font-size: 24px;
    padding: 0;
    margin-bottom: 0.5em;
    background: transparent;
}
#workingPlace .office .profile .text p{
    line-height: 1.8;
    margin: 0 0 1em;
}
#workingPlace .office .profile .text .recruitLink{
    font-size: 0;
    margin: 0;
    width: calc(100% - 80px);
    padding-left: 96px;
    position: relative;
}
#workingPlace .office .profile .text .recruitLink p{
    display: inline-block;
    color: #0a1f8f;
    font-size: 14px;
    line-height: 1;
    font-weight: 600;
    margin: 0 20px 0 0;
    padding: 0.5em 1em;
    position: absolute;
    left: 0;
    border: solid 2px #0a1f8f;
}
#workingPlace .office .profile .text .recruitLink p:before{
    content: "";
    width: 19px;
    height: 30px;
    display: block;
    background: url(../img/contents/others/workingplace/arrow.gif) no-repeat center center;
    background-size: 14px 33px;
    position: absolute;
    right: -17px;
    top: -1px;
}
#workingPlace .office .profile .text .recruitLink a{
    display: inline-block;
    color: #ffffff;
    font-weight: 500;
    font-size: 15px;
    line-height: 1;
    padding: 0.4em 1em;
    margin-right: 0.5em;
    margin-bottom: 0.5em;
    background: #0a1f8f;
    border: solid 1px #0a1f8f;
    box-sizing: border-box;
    border-radius: 1px;
}
#workingPlace .office .profile .text .recruitLink a:hover{
    opacity: 0.5;
}


#workingPlace .message{
}
#workingPlace .message .text{
    width: calc(100% - 200px);
    float: right;
    padding-left: 40px;
    box-sizing: border-box;
}
#workingPlace .message .text>*:last-child{
    margin-bottom: 0 !important;
}
#workingPlace .message .text h4{
    color: #333333;
    font-size: 24px;
    padding: 0;
    margin-bottom: 0.75em;
    border: none;
}
#workingPlace .message .text p{
    font-size: 16px;
    line-height: 1.8;
    text-align: justify;
    margin-bottom: 1em;
}
#workingPlace .message .text p a{
    text-decoration: underline;
}
#workingPlace .message figure{
    width: 200px;
    float: left;
}
#workingPlace .message figure figcaption{
    font-size: 16px;
    line-height: 1.6;
    padding: 0.5em 0 0;
}

/* ----- 全国各地の働く環境 ----- */


/* ----- キャリア採用職種・条件早見表 ----- */

#application.chart{
}
#application.chart h3{
    font-size: 20px;
    line-height: 1.6;
    padding-bottom: 0.1em;
    margin-bottom: 0.75em;
    border-bottom: solid 2px #888687;
}
#application.chart h3+p.attText{
    font-size: 14px;
    text-align: right;
    margin-top: -40px;
    margin-bottom: 40px;
}
#application.chart .chartThead{
}
#application.chart .chartThead div.th,
#application.chart .chartTbody a div.td{
    float: left;
    font-size: 17px;
    line-height: 1.6;
    box-sizing: border-box;
}
#application.chart .chartThead div.th{
    text-align: center;
    padding: 0.5em 0;
}
#application.chart .chartThead div.th:nth-child(1),
#application.chart .chartTbody a div.td:nth-child(1){
    width: 25%;
    clear: both;
}
#application.chart .chartThead div.th:nth-child(2),
#application.chart .chartTbody a div.td:nth-child(2){
    width: 60%;
}
#application.chart .chartThead div.th:nth-child(3),
#application.chart .chartTbody a div.td:nth-child(3){
    width: 15%;
}
#application.chart .chartTbody li span.close{
    display: block;
    color: #ffffff;
    width: fit-content;
    font-size: 90%;
    font-weight: 500;
    line-height: 1;
    padding: 0.5em 1em;
    margin-top: 0.25em;
    border-radius: 1px;
    background: #121212;
}
#application.chart .chartTbody{
    margin-bottom: 40px;
}
#application.chart .chartTbody li{
    transition: all ease .3s;
}
#application.chart .chartTbody li:hover{
    opacity: 0.5;
}
#application.chart .chartTbody li:nth-child(odd){
   background: #e6e7e9;
}
#application.chart .chartTbody li a{
    display: block;
    height: 100%;
    min-height: 6em;
    padding: 1em 1.5em;
    box-sizing: border-box;
}
#application.chart .chartTbody li.nolink a{
    pointer-events: none;
}
#application.chart .chartTbody li.nolink:hover{
    opacity: 1;
}
#application.chart .chartTbody li.new a div.td:nth-child(1):before{
    content: "NEW";
    color: #ffffff;
    display: block;
    width: fit-content;
    font-size: 10px;
    font-weight: bold;
    padding: 0.1em 1em 0.07em;
    margin-bottom: 0.2em;
    background: #ff3300;
    border-radius: 1px;
}
#application.chart .chartTbody a div.td:nth-child(2){
    font-size: 14px;
}
#application.chart .chartTbody a div.td:nth-child(3){
    text-align: right;
}

/* ----- search ----- */
#search_list{
    margin: 0 !important;
}
#search_list li{
    margin: 0 !important;
    list-style-type: none !important;
}
#search_list li a{
    display: block;
    padding: 1.5em;
}
#search_list li:nth-child(odd) a{
    background: #f2f2f2;
}
#search_list li:nth-child(even) a{
    border-left: solid 1px #f2f2f2;
    border-right: solid 1px #f2f2f2;
}
#search_list li:hover a{
    background: #e5e5e5;
}
#search_list li h4{
    font-size: 21px;
    padding: 0;
    margin-bottom: 0.3em;
    border: none;
}
#search_list li p{
    line-height: 1.6;
    margin-bottom: 0 !important;
}


/* ----- snfcc 220527 ----- */

#snfcc220527{
}
#snfcc220527 .inner{
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}
#snfcc220527 #mainimg{
    position: relative;
    margin-bottom: 4em
}
#snfcc220527 #mainimg img{
    width: 100%;
}
#snfcc220527 #mainimg p.cc{
    width: 100%;
    color: #57585a;
    font-weight: 600;
    position: absolute;
    left: 0;
    bottom: -24px;
    padding: 40px;
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(255,255,255,1) 20%, rgba(255,255,255,0.3) 100%);
}
#snfcc220527 #mainimg p.cc img{
    width: 40%;
}
#snfcc220527 section .video{
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px;
}
#snfcc220527 section p.cc{
    font-size: 28px;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 1em;
}
#snfcc220527 section figure.img01{
    max-width: 400px;
    margin: 0 auto 3em;
}
#snfcc220527 section .outlineText{
    margin-bottom: 4em;
}
#snfcc220527 section .outlineText p{
    line-height: 1.8;
}
#snfcc220527 section .outlineText p:first-child{
    color: #57585a;
    font-size: 21px;
    line-height: 1.8;
    margin-bottom: 1em;
}
#snfcc220527 section .outlineText p:last-child{
    color: #262223;
    font-size: 16px;
    margin-bottom: 0;
}
#snfcc220527 section ul.pageNav{
}
#snfcc220527 section ul.pageNav li{
    width: calc((100% - 32px) / 3);
    float: left;
    margin-left: 16px;
    margin-bottom: 16px;
    list-style-type: none;
}
#snfcc220527 section ul.pageNav li:nth-child(3n+1){
    clear: both;
    margin-left: 0;
}
#snfcc220527 section ul.pageNav li a:hover{
    opacity: 0.5;
}
#snfcc220527 section p.secTitle{
    color: #1075c3;
    width: fit-content;
    font-weight: 600;
    font-size: 24px;
    letter-spacing: 0.025em;
    padding: 0 0.2em;
    margin: 0 auto 2em;
    border-bottom: solid 2px #1075c3;
}
#snfcc220527 section p.subTitle{
    font-size: 28px;
    line-height: 1.6;
    margin-bottom: 1em;
}

#snfcc220527 section#sec01 .textArea{
    position: relative;
    padding-right: 112px;
    padding-bottom: 104px;
    background: url(../img/contents/others/snfcc220527/arrow_bottom.jpg) no-repeat top right;
    background-size: auto 100%;
}
#snfcc220527 section#sec01 .textArea p{
    font-size: 20px;
    line-height: 1.8;
    margin-bottom: 1.5em;
}
#snfcc220527 section#sec02 .bgArea{
    margin-bottom: 80px;
    padding-bottom: 112px;
    position: relative;
}
#snfcc220527 section#sec02 .bgArea:before{
    content: "";
    width: 100%;
    height: calc(100% + 112px);
    background: url(../img/contents/others/snfcc220527/arrow_bottom.jpg) no-repeat top right;
    background-size: auto 100%;
    position: absolute;
    right: -160px;
    top: 0;
    z-index: 0;
}
#snfcc220527 section#sec02 .bgArea>*{
    position: relative;
    z-index: 10;
}
#snfcc220527 section#sec02 ul.disc{
}
#snfcc220527 section#sec02 ul.disc li{
    width: calc((100% - 16px) * 0.65);
    float: left;
    margin-left: 16px;
    list-style-type: disc;
}
#snfcc220527 section#sec02 ul.disc li:nth-child(2n+1){
    clear: both;
    margin-left: 0;
}
#snfcc220527 section#sec02 ul.disc li:nth-child(2n){
    width: calc((100% - 16px) * 0.35);
}
#snfcc220527 section#sec03 figure.img03{
    padding-left: 40px;
    padding-right: 40px;
    margin-bottom: 2.5em;
}
#snfcc220527 section#sec03 .bgArea{
    position: relative;
    margin-bottom: 112px;
}
#snfcc220527 section#sec03 .bgArea:before{
    content: "";
    width: 100%;
    height: calc(100% + 112px);
    background: url(../img/contents/others/snfcc220527/arrow_bottom.jpg) no-repeat top right;
    background-size: auto 100%;
    position: absolute;
    right: -160px;
    top: 0;
    z-index: 0;
}
#snfcc220527 section#sec03 .bgArea>*{
    position: relative;
    z-index: 10;
}
#snfcc220527 section#sec03 .clearfix .text{
    width: calc(100% - 360px);
    box-sizing: border-box;
}
#snfcc220527 section#sec03 .clearfix .text>p:first-child{
    color: #1075c3;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 0.2em;
}
#snfcc220527 section#sec03 .clearfix .text>p:nth-child(2){
    color: #1075c3;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 1em;
}
#snfcc220527 section#sec03 .clearfix .text ul.disc{
}
#snfcc220527 section#sec03 .clearfix .text ul.disc li{
    font-size: 14px;
    list-style-type: disc;
    margin-top: 0.5em;
    margin-bottom: 0;
}
#snfcc220527 section#sec03 .clearfix .text ul.disc li:first-child{
    margin-top: 0;
}
#snfcc220527 section#sec03 .clearfix figure{
    width: 360px;
}
#snfcc220527 section#sec03 .clearfix .text.floatLeft{
    padding-right: 28px;
}
#snfcc220527 section#sec03 .clearfix .text.floatRight{
    padding-left: 28px;
}
#snfcc220527 section#sec03 p.bluetitle{
    color: #1075c3;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 0.75em;
}
#snfcc220527 section#sec03 p.bluetitle+ul.disc{
}
#snfcc220527 section#sec03 p.bluetitle+ul.disc li{
    font-size: 16px;
    list-style-type: disc;
    margin-top: 0.5em;
    margin-bottom: 0;
}
#snfcc220527 section#sec03 p.bluetitle+ul.disc li:first-child{
    margin-top: 0;
}
#snfcc220527 section#sec05{
    max-width: 1260px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}
#snfcc220527 section#sec05 figure.img05{
    width: calc(100% - 228px);
    float: right;
    margin-top: 28px;
}
#snfcc220527 section#sec05 div.photoList{
    width: 228px;
    float: left;
    padding-right: 28px;
    box-sizing: border-box;
}
#snfcc220527 section#sec05 .photoList p.floor{
    color: #1075c3;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 0.3em;
}
#snfcc220527 section#sec05 .photoList .box{
    border: solid 2px #1075c3;
    padding: 8px;
    margin-bottom: 16px;
}
#snfcc220527 section#sec05 .photoList .box>*:last-child{
    margin-bottom: 0 !important;
}
#snfcc220527 section#sec05 .photoList .box p.title{
    color: #1075c3;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 0.5em;
}
#snfcc220527 section#sec05 .photoList .box ul.photoList{
    margin-bottom: 12px;
}
#snfcc220527 section#sec05 .photoList .box ul.photoList li{
    list-style-type: none;
    margin: 12px 0 0;
}
#snfcc220527 section#sec05 .photoList .box ul.photoList li:first-child{
    margin-top: 0;
}
#snfcc220527 section#sec05 .photoList .box ul.photoList li a{
    display: block;
}
#snfcc220527 section#sec07 .clearfix .pamphlet{
    width: 340px;
    float: left;
    margin-left: 40px;
    position: relative;
}
#snfcc220527 section#sec07 .clearfix .pamphlet:nth-child(2n+1){
    width: calc((100% - 340px) - 80px);
    clear: both;
    margin-left: 0;
}
#snfcc220527 section#sec07 .clearfix .pamphlet p{
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
    position: absolute;
    bottom: 0;
    left: 0;
}
#snfcc220527 section#sec07 .clearfix .pamphlet figure{
    width: 180px;
    float: right;
    margin: 0;
}
#snfcc220527 section#sec07 .clearfix .pamphlet figure a:hover{
    opacity: 0.5;
}

/* ----- 福利厚生 220914 ------ */

#benefitsPage{
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    padding-top: 80px;
    padding-bottom: 80px;
    background: #ffffff;
}
#benefitsPage .inner{
    max-width: 1040px;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
#benefitsPage section{
    padding-bottom: 3em;
}
#benefitsPage section>*:last-child{
    margin-bottom: 0;
}
#benefitsPage section h1{
    color: #0A1F8F;
    font-size: 48px;
    letter-spacing: 0.03em;
    margin-bottom: 0.75em;
}
#benefitsPage section h1 small{
    font-size: 55%;
    letter-spacing: 0;
}
#benefitsPage section p.outline{
    font-size: 17px;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 1.5em;
}
#benefitsPage section ol.pointList{
    margin-bottom: 1.5em;
}
#benefitsPage section ol.pointList li{
    color: #0A1F8F;
    font-size: 21px;
    font-weight: 600;
    margin-bottom: 1em;
}
#benefitsPage section ol.pointList li:last-child{
    margin-bottom: 0;
}
#benefitsPage section ol.pointList li span.marker{
    background: linear-gradient(transparent 60%, #f2e824 60%);
    padding-left: 0.25em;
}

#benefitsPage section.ranking h2{
    color: #0A1F8F;
    font-size: 28px;
    letter-spacing: 0.02em;
    padding-left: 64px;
    margin-bottom: 2em;
    position: relative;
}
#benefitsPage section.ranking h2:before{
    content: "";
    width: 56px;
    height: 40px;
    background: url(../img/contents/recruit/benefits/220914/crown.png) no-repeat left center;
    background-size: contain;
    position: absolute;
    left: 0;
    bottom: 0;
}
#benefitsPage section.ranking .rank{
    padding-left: 28px;
    margin-bottom: 1.5em;
}
#benefitsPage section.ranking .rank p.title{
    font-size: 23px;
    font-weight: 600;
    margin-bottom: 0.75em;
}
#benefitsPage section.ranking .rank p.title b{
    color: #0A1F8F;
    font-size: 130%;
    vertical-align: text-top;
    margin-right: 0.3em;
}
#benefitsPage section.ranking .rank1 p.title b{
    display: inline-block;
    font-size: 200%;
    vertical-align: sub;
    position: relative;
}
#benefitsPage section.ranking .rank1 p.title b:before{
    content: "";
    display: block;
    width: 36px;
    height: 26px;
    position: absolute;
    top: -24px;
    left: 50%;
    right: 50%;
    transform: translateX(-50%);
    background: url(../img/contents/recruit/benefits/220914/crown.png) no-repeat center center;
    background-size: contain;
}
#benefitsPage section.ranking .rank .voiceList{
    display: flex;
}
#benefitsPage section.ranking .rank .voiceList figure{
    margin-right: 24px;
}
#benefitsPage section.ranking .rank .voiceList figure:last-child{
    margin-right: 0;
}
#benefitsPage section.ranking .rank .voiceList figure img{
    width: fit-content;
    height: 80px;
}

#benefitsPage section.point{
}
#benefitsPage section.point h2{
    color: #0A1F8F;
    font-size: 48px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-indent: -0.5em;
    margin-bottom: 0.5em;
}
#benefitsPage section.point .detailText.clearfix{
    display: flex;
    flex-wrap: wrap;
    padding-top: 28px;
    margin-bottom: 1.5em;
    border-top: solid 6px #0A1F8F;
}
#benefitsPage section.point .detailText.clearfix .text{
    width: calc(100% - 400px - 40px);
}
#benefitsPage section.point .detailText p.title{
    color: #0A1F8F;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-indent: -4em;
    margin-left: 4em;
    margin-bottom: 1em;
}
#benefitsPage section.point .detailText p.title strong{
    font-size: 180%;
    font-weight: 800;
    letter-spacing: 0.075em;
}
#benefitsPage section.point .detailText p.com{
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    text-align: justify;
}
#benefitsPage section.point .detailText ul.disc{
    margin-top: 1.5em;
    display: grid;
    gap: 0.25em;
}
#benefitsPage section.point .detailText ul.disc li{
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    text-align: justify;
}
#benefitsPage section.point .detailText figure{
    width: 400px;
}
#benefitsPage section.point .detailText .order1{
    order: 1;
}
#benefitsPage section.point .detailText .order2{
    order: 2;
    margin-left: 40px;
}
#benefitsPage section.point .systemList,
#benefitsPage section.point .systemList2{
    margin-bottom: 2.5em;
    border-bottom: solid 2px #ebc93b;
}
#benefitsPage section.point .systemList li,
#benefitsPage section.point .systemList2>li{
    padding-top: 16px;
    padding-bottom: 16px;
    border-top: solid 2px #ebc93b;
}
#benefitsPage section.point .systemList li{
    display: flex;
    align-items: center;
}
#benefitsPage section.point .systemList li:first-child,
#benefitsPage section.point .systemList2>li:first-child{
    margin-botttom: 0;
}
#benefitsPage section.point .systemList li>*:last-child,
#benefitsPage section.point .systemList2 li>*:last-child{
    margin-botttom: 0;
}
#benefitsPage section.point .systemList li p.title,
#benefitsPage section.point .systemList2 li p.title{
    font-size: 25px;
    font-weight: 600;
    line-height: 1.4;
    position: relative;
    padding-top: 4px;
    padding-bottom: 4px;
    padding-left: 64px;
    letter-spacing: 0.03em;
}
#benefitsPage section.point .systemList li p.title{
    width: 12em;
}
#benefitsPage section.point .systemList2 li p.title{
    margin-bottom: 0.75em;
}
#benefitsPage section.point .systemList li p.title .icon,
#benefitsPage section.point .systemList2 li p.title .icon{
    width: 48px;
    margin-right: 0.25em;
    transform: translateY(-50%);
    position: absolute;
    top: calc(50%);
    left: 0;
}
#benefitsPage section.point .systemList li p.com,
#benefitsPage section.point .systemList2 li p.com{
    font-size: 17px;
    font-weight: 500;
    line-height: 1.6;
}
#benefitsPage section.point .systemList li p.com{
    line-height: 41px;
}
#benefitsPage section.point .systemList2 li p.com{
    margin-bottom: 0.5em;
}
#benefitsPage section.point .systemList2 li ul.disc{
    margin-left: 1.5em;
}
#benefitsPage section.point .systemList2 li ul.disc li{
    font-size: 17px;
    font-weight: 500;
    line-height: 1.6;
    list-style-type: disc;
    margin-top: 0.5em;
}
#benefitsPage section.point .systemList2 li ul.disc li:first-child{
    margin-top: 0;
}

#benefitsPage section.point1 .graph{
    display: flex;
    margin-bottom: 2.5em;
}
#benefitsPage section.point1 .graph figure:first-child{
    margin-right: 40px;
}
#benefitsPage section.point3 .point3_float{
    display: flex;
}
#benefitsPage section.point3 .systemList2{
    width: calc(100% - 400px - 40px);
    margin-right: 40px;
}
#benefitsPage section.point3 .graph{
    width: 400px;
    text-align: center;
    margin-bottom: 2.5em;
}

#benefitsPage section.relatedPost{
}
#benefitsPage section.relatedPost h2{
    color: #0A1F8F;
    font-size: 24px;
    line-height: 1.6;
    margin-bottom: 1.5em;
    padding-top: 0.75em;
    border-top: solid 6px #0A1F8F;
}
#benefitsPage section.relatedPost figure{
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 2.5em;
}
#benefitsPage section.relatedPost figure a{
    display: block;
}
#benefitsPage section.relatedPost figure a:hover{
    opacity: 0.5;
}


/* ----- SGDs 20220915 ----- */

#sdgsPage{
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
    padding-top: 80px;
    padding-bottom: 80px;
    background: #ffffff;
}
#sdgsPage .inner{
    max-width: 1040px;
    padding-left: 40px;
    padding-right: 40px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
#sdgsPage section{
    padding-bottom: 3em;
}
#sdgsPage section#sec02{
    margin-top: 80px;
    padding-top: 80px;
    border-top: solid 3px #34964d;
}
#sdgsPage section>*:last-child{
    margin-bottom: 0;
}
#sdgsPage section h1{
    color: #0A1F8F;
    font-size: 48px;
    line-height: 1.3;
    letter-spacing: 0.03em;
    margin-bottom: 0.75em;
}
#sdgsPage section p.outline{
    font-size: 17px;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 1.5em;
}
#sdgsPage section .pageInnerLink{
    display: flex;
    flex-wrap: wrap;
}
#sdgsPage section .pageInnerLink.img2{
    gap: 40px;
}
#sdgsPage section .pageInnerLink.img3{
    gap: 28px;
}
#sdgsPage section .pageInnerLink figure{
    margin: 0;
}
#sdgsPage section .pageInnerLink.img2 figure{
    width: calc((100% - 40px) / 2);
}
#sdgsPage section .pageInnerLink.img3 figure{
    width: calc((100% - 56px) / 3);
}
#sdgsPage section .pageInnerLink a{
    display: block:
}
#sdgsPage section .pageInnerLink a:hover{
    opacity: 0.5;
}
#sdgsPage section h2{
    width: fit-content;
    color: #34964d;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.025em;
    text-align: center;
    padding-top: 0.75em;
    padding-bottom: 0.75em;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
    position: relative;
}
#sdgsPage section h2:before,
#sdgsPage section h2:after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    height: 100%;
    aspect-ratio: 0.5 / 1;
    background: url(../img/contents/company/sdgs/220915/title_arrow.png) no-repeat center center;
    background-size: 80px auto;
    transform: translateY(-50%);
}
#sdgsPage section h2:before{
    left: -2.5em;
}
#sdgsPage section h2:after{
    transform: scale(-1, 1) translateY(-50%);
    right: -2.5em;
}
#sdgsPage section h3{
    color: #34964d;
    font-size: 28px;
    line-height: 1.4;
    padding-left: 0.5em;
    margin-bottom: 1em;
    border-left: solid 12px #34964d;
}
#sdgsPage section h4{
    color: #34964d;
    font-size: 24px;
    line-height: 1.6;
    margin-bottom: 0;
}
#sdgsPage section figure{
    margin-bottom: 2.5em;
}
#sdgsPage section .partner{
}
#sdgsPage section .partner p.title{
    width: fit-content;
    color: #34964d;
    font-size: 32px;
    font-weight: 600;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.75em;
    position: relative;
}
#sdgsPage section .partner p.title:before,
#sdgsPage section .partner p.title:after{
    content: "";
    display: block;
    width: 2.5em;
    height: 2px;
    background: #34964d;
    position: absolute;
    top: calc(50% - 1px);
}
#sdgsPage section .partner p.title:before{
    left: -3em;
}
#sdgsPage section .partner p.title:after{
    right: -3em;
}
#sdgsPage section .partner figure{
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.5em;
}
#sdgsPage section h3+p,
#sdgsPage section h4+p{
    font-size: 17px;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 1.5em;
}
#sdgsPage section p.project_outline{
    color: #34964d;
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    padding: 0.5em 0;
    border: solid 2px #34964d;
    border-radius: 40px;
}

#sdgsPage section ol.torikumi{
    margin-top: 4em;
}
#sdgsPage section ol.torikumi li{
    margin-top: 2em;
}
#sdgsPage section ol.torikumi li:first-child{
    margin-top: 0;
}
#sdgsPage section ol.torikumi li:>*:last-child{
    margin-bottom: 0;
}
#sdgsPage section ol.torikumi li p.title{
    color: #34964d;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 0.25em;
}
#sdgsPage section ol.torikumi li p.com{
    font-size: 17px;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 1.5em;
}
#sdgsPage section p.fukidashi{
    color: #34964d;
    font-size: 28px;
    font-weight: 600;
    text-align: center;
    line-height: 1.8;
    margin-top: calc(70px + 10px + 0.75em);
    margin-bottom: 1.5em;
    position: relative;
}
#sdgsPage section  p.fukidashi:before{
    content: "";
    width: 100%;
    aspect-ratio: 1 / 0.073;
    background: url(../img/contents/company/sdgs/220915/fukidashi_bottom.png) no-repeat center center;
    background-size: contain;
    display: block;
    position: absolute;
    top: -80px;
    left: 0;
}

#sdgsPage section ul.sdgsList{
    width: calc((100% - 40px) / 2);
    float: left;
    margin-bottom: 2.5em;
}
#sdgsPage section .clearfix ul.sdgsList:nth-child(2n+1){
    margin-right: 40px;
}
#sdgsPage section ul.sdgsList li{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 1.5em;
}
#sdgsPage section ul.sdgsList li:first-child{
}
#sdgsPage section ul.sdgsList li figure{
    width: 120px;
    margin-bottom: 0;
}
#sdgsPage section ul.sdgsList li .text{
    width: calc(100% - 120px);
    padding-left: 20px;
    position: relative;
    box-sizing: border-box;
}
#sdgsPage section ul.sdgsList li .text>*:last-child{
    margin-bottom: 0;
}
#sdgsPage section ul.sdgsList li p{
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
}
#sdgsPage section ul.sdgsList li p b{
    display: block;
    text-indent: -0.5em;
}
#sdgsPage section .valueList{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2em;
}
#sdgsPage section .valueList .text{
    width: calc(100% - 240px);
    padding-left: 28px;
    box-sizing: border-box;
    order: 2;
}
#sdgsPage section .valueList .text>*:last-child{
    margin-bottom: 0;
}
#sdgsPage section .valueList p.title{
    color: #34964d;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 0.25em;
}
#sdgsPage section .valueList p.com{
    font-size: 17px;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 1.5em;
}
#sdgsPage section .valueList figure{
    width: 240px;
    aspect-ratio: 4 / 3;
    margin-bottom: 0;
    overflow: hidden;
    position: relative;
    order: 1;
}
#sdgsPage section .valueList figure img{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#sdgsPage section .postList{
    display: flex;
    flex-wrap: wrap;
    gap: 2.5em;
}
#sdgsPage section .postList li.clearfix{
    display: flex;
    flex-wrap: wrap;
}
#sdgsPage section .postList li.clearfix .text{
    width: calc(100% - 320px);
    padding-left: 28px;
    box-sizing: border-box;
    order: 2;
}
#sdgsPage section .postList li .text>*:last-child{
    margin-bottom: 0;
}
#sdgsPage section .postList li.clearfix figure{
    width: 320px;
    margin-bottom: 0;
    order: 1;
}
#sdgsPage section .postList li .img2 figure,
#sdgsPage section .postList li .img3 figure,
#sdgsPage section .postList li .img4 figure{
    margin-bottom: 1.5em;
}
#sdgsPage section .postList li p.date{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
}
#sdgsPage section .postList li p.title{
    font-size: 25px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 0.3em;
}
#sdgsPage section .postList li p.com{
    font-size: 17px;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 1.5em;
}
#sdgsPage section .archiveLink{
    display: grid;
    gap: 1em;
    margin-top: 2.5em;
    margin-bottom: 2.5em;
}
#sdgsPage section .archiveLink a{
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    padding: 20px;
    border: solid 1px #121212;
}
#sdgsPage section .archiveLink figure{
    width: 300px;
    margin-bottom: 0;
}
#sdgsPage section .archiveLink .text{
    width: calc(100% - 300px - 40px);
    position: relative;
}
#sdgsPage section .archiveLink .text p{
    font-size: 28px;
    font-weight: 500;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

#sdgsPage section .message{
    padding: 1.5em;
    margin-bottom: 2.5em;
    border: solid 3px #34964d;
}
#sdgsPage section .message p.title{
    font-size: 21px;
    font-weight: 600;
    line-height: 1.6;
    margin-bottom: 0.5em;
}
#sdgsPage section .message .flexWrap{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
#sdgsPage section .message .flexWrap .order1{
    order: 1;
}
#sdgsPage section .message .flexWrap .order2{
    order: 2;
}
#sdgsPage section .message .flexWrap .text{
    width: calc(100% - 296px - 20px);
    box-sizing: border-box;
}
#sdgsPage section .message p{
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    text-align: justify;
    margin-bottom: 1.5em;
}
#sdgsPage section .message .flexWrap figure{
    width: 296px;
    margin-bottom: 0;
}
#sdgsPage section #msg01.message .flexWrap figure.order1{
    width: 400px !important;
}
#sdgsPage section #msg01.message .flexWrap figure.order2{
    width: 240px !important;
}
#sdgsPage section #msg01.message .flexWrap .text.order1{
    width: calc(100% - 240px - 20px);
}
#sdgsPage section #msg01.message .flexWrap .text.order2{
    width: calc(100% - 400px - 20px);
}
#sdgsPage section .message .flexWrap figure img{
    margin-bottom: 1em;
}
#sdgsPage section .message .flexWrap .text>*:last-child,
#sdgsPage section .message .flexWrap figure>*:last-child{
    margin-bottom: 0 !important;
}

/* ----- 202303 sendai event ----- */

#snfcc202303{
}
#snfcc202303 h1{
    font-size: 28px;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 1em;
}
#snfcc202303 p{
    line-height: 1.8;
    margin-bottom: 1.5em;
}
#snfcc202303 .btns{
    text-align: center;
    margin-top: 2.5em;
    margin-bottom: 2.5em;
}
#snfcc202303 .btns a{
    display: inline-block;
    color: #ffffff;
    font-size: 19px;
    font-weight: 600;
    padding: 1.25em 2em;
    background: #0A1F8F;
    border-radius: 3px;
}
#snfcc202303 .btns a:hover{
    opacity: 0.5;
}
#snfcc202303 figure.max800{
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.5em;
}

/* ----- baseup ----- */

#baseup h3{
    color: inherit;
    padding: 0;
    background: transparent;
}
#baseup figure{
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* ---- snfcc report ---- */

#snfcc-report .reportWrap{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    height: 100%;
    margin-bottom: 2.5em;
}
#snfcc-report .reportWrap .report{
    width: calc((100% - 40px) / 3);
}
#snfcc-report .reportWrap .report a{
    display: block;
    height: 100%;
    padding: 16px;
    border: solid 1px #000000;
    box-sizing: border-box;
}
#snfcc-report .reportWrap .report a:hover{
    opacity: 0.5;
}
#snfcc-report .reportWrap .report figure{
    margin-bottom: 16px;
}
#snfcc-report .reportWrap .report p{
    line-height: 1.6;
    margin-bottom: 0;
}

/* ---- snfcc-kokudo ---- */

#snfcc-kokudo .linkBnr{
    margin-bottom: 28px;
}
#snfcc-kokudo .linkBnr a{
    display: flex;
    border: solid 1px #000000;
}
#snfcc-kokudo .linkBnr a:hover{
    opacity: 0.5;
}
#snfcc-kokudo .linkBnr .text{
    width: 50%;
    position: relative;
}
#snfcc-kokudo .linkBnr .text p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    width: 12em;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 0;
}
#snfcc-kokudo .linkBnr figure{
    width: 50%;
    margin-bottom: 0;
    aspect-ratio: 100 / 35;
    overflow: hidden;
    position: relative;
}
#snfcc-kokudo .linkBnr figure img{
    object-fit: cover;
    width: 100%;
    height: 100%;

    position: absolute;
    bottom: 0%;
}


/* ----- bousaiweek ----- */

#bousaiweek .flexWrap{
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-bottom: 48px;
}
#bousaiweek .flexWrap .flexbox{
    width: calc((100% - 56px) / 3);
}
#bousaiweek .flexWrap .flexbox a{
    display: block;
    padding: 20px;
    border: solid 1px #000000;
}
#bousaiweek a:hover{
    opacity: 0.5;
}
#bousaiweek .flexWrap .flexbox .text p.title{
    font-size: 19px;
    line-height: 1.6;
    margin-bottom: 0.75em;
}
#bousaiweek .flexWrap .flexbox figure{
    margin-bottom: 0;
}
#bousaiweek .video{
    width: 680px;
    margin-left: auto;
    margin-right: auto;
}
.youtube{
}

/* ----- シニア人材募集 ----- */

#over60recruit h6{
    padding: 0;
    border-bottom: none;
}
#over60recruit .flex-wrap{
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-bottom: 2rem;
}
#over60recruit .flex-wrap .textwrap{
    width: 45%;
}
#over60recruit .flex-wrap .textwrap>*:last-child{
    margin-bottom: 0 !important:
}
#over60recruit .flex-wrap figure{
    width: calc(55% - 28px);
    margin-bottom: 0;
}


/* ----- ほぼ紙トイレ ----- */

#kamitoire{
}
#kamitoire .flex-wrap{
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 2rem;
}
#kamitoire .flex-wrap>*.left{
    order: 1;
}
#kamitoire .flex-wrap>*.right{
    order: 2;
}
#kamitoire .flex-wrap figure{
    width: 42%;
    text-align: center;
}
#kamitoire .flex-wrap .text-wrap{
    width: calc(58% - 40px);
}
#kamitoire .text-wrap>*:last-child{
    margin-bottom: 0 !important;
}
#kamitoire .flex-wrap .text-wrap h3{
    color: #0A1F8F;
    font-size: 40px;
}
#kamitoire .flex-wrap .text-wrap h3 small{
    display: block;
    font-size: 65%;
    text-indent: -0.5em;
}
#kamitoire .flex-wrap .text-wrap h3 img{
    display: inline-block;
    margin-top: 0.8em;
}
#kamitoire .flex-wrap .text-wrap p{
}
#kamitoire h4{
    color: #0A1F8F;
    padding: 0;
    border-bottom: none;
}
#kamitoire h5{
    color: #80cde8;
    padding: 0;
    margin-bottom: 0.3em;
    background: transparent;
}
#kamitoire .problems-wrap{
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
#kamitoire .problems-wrap>div{
    width: calc((100% - 40px) / 2);
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
#kamitoire .problems-wrap>div figure{
    width: 140px;
    margin-bottom: 0;
}
#kamitoire .problems-wrap>div .text-wrap{
    width: calc(100% - 20px - 140px);
}
#kamitoire .problems-wrap>div .text-wrap h5{
}
#kamitoire .problems-wrap>div .text-wrap p{
    font-size: 15px;
}
#kamitoire .hikaku-wrap{
    display: flex;
    flex-wrap: wrap;
}
#kamitoire .hikaku-wrap>*{
    padding-top: 24px;
    padding-bottom: 24px;
    border-bottom: solid 2px #80c8e3;
}
#kamitoire .hikaku-wrap>*:nth-child(1),
#kamitoire .hikaku-wrap>*:nth-child(2),
#kamitoire .hikaku-wrap>*:nth-child(3){
    padding-top: 0;
}
#kamitoire .hikaku-wrap .type{
    width: 240px;
}
#kamitoire .hikaku-wrap p.title{
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    padding: 0.3em 1em;
    margin-bottom: 24px !important;
    margin-right: 8px;
    background: #80c8e3;
}

#kamitoire .hikaku-wrap .type figure{
    text-align: center;
    margin-bottom: 0;
}
#kamitoire .hikaku-wrap .type figure img{
    max-width: 160px;
}
#kamitoire .hikaku-wrap .type figcaption{
    font-size: 18px;
    font-weight: 600;
    padding-top: 0;
    padding-bottom: 0.8em;
}
#kamitoire .hikaku-wrap .merit,
#kamitoire .hikaku-wrap .demerit{
    width: calc((100% - 240px) / 2);
}
#kamitoire .hikaku-wrap .merit ul,
#kamitoire .hikaku-wrap .demerit ul{
    display: grid;
    gap: 0.5em;
    margin-left: 2.5em;
    margin-bottom: 0;
}
#kamitoire .hikaku-wrap .merit ul li,
#kamitoire .hikaku-wrap .demerit ul li{
    list-style-type: disc;
    margin-left: 1em;
    margin: 0;
    font-size: 15px;
}
#kamitoire .hikaku-wrap .merit p,
#kamitoire .hikaku-wrap .demerit p{
    font-size: 15px;
    margin-left: 1em;
    margin-bottom: 0.3em;
}

#kamitoire .detail-list ol{
    display: grid;
    gap: 0.3em;
}
#kamitoire .detail-list ol li{
    font-size: 15px;
    margin: 0;
}

/* ----- 2025 top ----- */

#mv-wrap{
    position: relative;
}
@media (min-width: 1200px){
	#mv-wrap{
	        height: 400px;
	}
}
@media (max-width: 1199px){
	#mv-wrap{
	}
}
#mv-wrap p.mv-text-top-bottom{
    width: 100%;
    max-width: 960px;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 10;
}
#mv-wrap p.mv-text-center{
    position: absolute;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 15;
}
@media (min-width: 1200px){
	#mv-wrap p.mv-text-top-bottom img{
	    object-fit: contain;
	    width: 100%;
            height: calc(100% + 16px);
	    position: absolute;
	    top: 50%;
	    left: 50%;
	    transform: translate(-50%, -50%);
	}
	#mv-wrap p.mv-text-center{
	        width: 40%;
	        top: inherit;
	        bottom: 15%;
	}
}
#mv-wrap img.bg-image{
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
}

#outline-area{
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;

    background: rgb(48, 166, 255);
    background: linear-gradient(0deg, rgba(48, 166, 255, 1) 50%, rgba(10, 31, 143, 1) 95%);
    padding-top: 80px;
    margin-bottom: 64px;
    position: relative;
}
#outline-area .text-wrap p{
    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
    line-height: 2;
    text-align: center;
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.75);
    margin-bottom: 1.5em;
}
#outline-area .btn-wrap{
    display: grid;
    justify-content: center;
    margin-top: 80px;
    margin-bottom: -132px;
    position: relative;
    z-index: 10;
}
#outline-area .btn-wrap a{
    width: 320px;
    display: block;
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.08em;
    padding: 24px 0;
    background: rgba(10, 31, 143, 0.85);
}
#outline-area .outline-bottom-img{
    width: 100%;
    position: relative;
}
#outline-area .outline-bottom-img:before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 2.74%, rgba(255, 255, 255, 0) 45%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 5;
    mix-blend-mode: screen;
}
#outline-area .outline-bottom-img img{
    width: 100%;
    position: relative;
    z-index: 1;
}
#outline-area .outline-bottom-img .inner-content{
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 5;
}
#outline-area p.img-copyright{
    font-size: 15px;
    font-weight: 600;
    text-align: right;
/*
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 10;
*/
}