

section,
section + section {
 margin-top: 0;
}
a:link,
a:visited {
 color: #173E92;
}

/* ------------------------------
 base style pc
------------------------------ */
@media only screen and (min-width: 769px) {
/*--- localNavi --- */
#localNavi {
 width: 100%;
 display: block;
 position:fixed;
 top: 84px;
 background-color: #173E92;
 z-index: 4;
}
#localNavi .naviWrap {
 max-width: 1200px;
 margin: 0 auto;
 padding-top:2px;
 display: flex;
 justify-content: center;
 align-items: center;
}
#localNavi .naviTitle {
 padding-right: min(4vw , 40px);
 font-size: min(2vw, 2rem);
 line-height: 1;
 letter-spacing: .05em;
 color: #fff;
 font-weight: bold;
}
#localNavi .naviTitle a{
 display: block;
 padding:15px 0;
 color: #fff;
 text-decoration: none;
}
#localNavi .spNaviBtn {
 display: none;
}
#localNavi nav.spMenu{
 display: block!important;
}
#localNavi nav.spMenu ul{
 display: flex;
}
#localNavi nav.spMenu ul li a {
 position: relative;
 display: block;
 width: min(15vw , 140px);
 letter-spacing: .05em;
 color: #FFF;
 text-decoration: none;
 padding: 1em .2em;
}
#localNavi nav.spMenu ul li a span {
 display: block;
 font-size: min(1.7vw, 1.6rem);
 text-align: center;
}
#localNavi nav.spMenu ul li a span::after {
 content: "";
 display: block;
 position: absolute;
 bottom: 0;
 left: 0;
 width: 0;
 border-bottom: 6px solid #668bc9;
 transition: width .3s ease;
}
#localNavi nav.spMenu ul li a.act span::after,
#localNavi nav.spMenu ul li a:hover span::after {
 width: 100%;
}
/*--- breadcrumbNav --- */
#breadcrumbNav {
 padding-top: calc(144px + 1em);
 padding-bottom: 1em;
 background-color: #f0f2f5;
}
#breadcrumbNav > ul > li > a {
 color: #0a5fbe;
}
#breadcrumbNav > ul > li[itemscope] {
 margin-right: 2em;
 font-weight: normal;
}
#breadcrumbNav > ul > li:before {
 content: "";
 position: absolute;
 top: 2px;
 left: -1em;
 width: 16px;
 height: 16px;
 background: url(../image/path_arrow.svg) no-repeat 0 0;
}
/*--- contentsContainer --- */
#contentsContainer{
 padding-top:0;
}
/*--- contentsWrap --- */
.contentsWrap{
 max-width: 1000px;
 margin: 0 auto;
 position: relative;
}
/*--- pageTitleArea --- */
#pageTitleArea{
 height:260px;
 padding:70px 50px 70px 0;
 position: relative;
 z-index: 2;
}
#pageTitleArea .pageTitle{
 text-align: right;
 position: absolute;right: 50px;
 z-index: 2;
}
/*--- gray bg --- */
.gray1clm{
 padding:88px min(6vw,70px);
 background-color: #f2f4f9;
 position: relative;
 opacity: 0;
	transform: translate(0, 100px);
	transition: opacity 0.7s cubic-bezier(0.65, 0, 0.35, 1),transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}
.element:hover {
  background-color: blue; /* ホバー時に背景色を変更 */
  transform: scale(1.1);  /* ホバー時にサイズを拡大 */
}
.gray2clm{
 padding: 88px min(6vw, 70px);
 background-color: #f2f4f9;
}
.gray1clm p,
.gray2clm p{
 font-size: 1.6rem;
 line-height: 2;
}
/*--- title --- */
.title01{
 margin:50px 0 20px;
 padding-left:22px;
 font-size: 2.2rem;
 font-weight: bold;
 letter-spacing: 0.5px;
 color: #244189;
 position: relative;
}
.title01::before{
 content: "";
 width:2px;
 height:30px;
 background-color: #1b8ac2;
 position: absolute;
 left:0;
 top:1px;
}
.title01.first,
.gray2clm .title01{
 margin-top: 0;
}
/*--- list --- */
ul.normal li{
 position: relative;
 padding-left: 1em;
}
ul.normal li + li{
 margin-top:5px;
}
ul.normal > li::before{
 content: "・";
 position: absolute;
 top:0;left:-3px;
}
ul.info {
 margin-top: 10px;
}
ul.info li {
 margin-left: 1em;
 text-indent: -1em;
 font-size: 1.4rem;
}
ul.normal li ul.info {
 margin-top: 2px;
}
ul.normal li ul.info li{
 margin-left: 0;
}
ul.dotList{
 margin-top:25px;
}
ul.dotList li{
 padding: 16px 25px 15px 55px;
 font-size: 1.8rem;
 font-weight: bold;
 color: #244189;
 background-color: #fff;
 position: relative;
}
ul.dotList li::before{
 content: "";
 width:17px;
 height:17px;
 border-radius: 50%;
 background-color: #244189;
 position: absolute;
 left:32px;
 top:21px;
}
ul.dotList li + li{
 margin-top: 15px;
}
ol.numList{
 margin-top:25px;
 counter-reset: item;
}
ol.numList li{
 padding: 16px 25px 15px 60px;
 font-size: 1.8rem;
 font-weight: bold;
 color: #244189;
 letter-spacing: -0.5px;
 background-color: #fff;
 position: relative;
}
ol.numList li::after{
 counter-increment: item;
 content: counter(item);
 font-size: 1.4rem;
 color:#fff;
 position: absolute;
 left:31px;
 top:18px;
}
ol.numList li::before{
 content: "";
 width:31px;
 height:31px;
 background-color: #244189;
 position: absolute;
 left:20px;
 top:14px;
}
ol.numList li + li{
 margin-top: 15px;
}
/*--- imageShadow --- */
.imageShadow{
 position: relative;
 z-index: 2;
}
.imageShadow::after {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
 width: 100%;
 height: 100%;
 background-color: rgba(0, 0, 0, 0.2);
 filter: blur(20px);
 transform: translateX(30px) translateY(30px);
 mix-blend-mode: multiply;
}
/*--- imageMgn --- */
.imageMgn{
 margin-top:30px;
}
/*--- whiteBtn --- */
.whiteBtn{
 margin-top:25px;
}
.whiteBtn a.btn{
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height:70px;
 background-color: #fff;
 font-size: 1.8rem;
 color: #244189;
 text-decoration: none;
}
.whiteBtn a.btn span{
 display: inline-block;
 font-size: 1.8rem;
 font-weight: bold;
 letter-spacing: 0.5px;
 position: relative;
}
.whiteBtn a.btn span::after{
 content: "";
 display: block;
 width: 20px;
 height: 20px;
 background: url(../image/btn_arrow_b.svg) no-repeat 0 0;
 position: absolute;
 top:2px;
 right:-30px;
}
.whiteBtn a.btn:hover {
 background-color: #7895cc;
}
.whiteBtn a.btn:hover span{
 color: #fff;
}
.whiteBtn a.btn:hover span::after{
 background: url(../image/btn_arrow.svg) no-repeat 0 0;
}
/*--- pc<->sp --- */
.pcn{
 display: none;
}
.spn {
 display: block;
}
}
@media only screen and (min-width: 769px) and (max-width: 900px) {
#pageTitleArea {
 height: 220px;
 padding-top: 50px;
}
#pageTitleArea .pageTitle{
 width:290px;
}
}
/* ------------------------------
 base style sp
------------------------------ */
@media only screen and (max-width: 768px) {
/*--- localNavi --- */
#localNavi {
 width: 100%;
 display: block;
 position:fixed;
 top: 62px;
 background-color: #173E92;
 z-index: 3;
}
#localNavi .naviWrap {
 position: relative;
}
#localNavi .naviTitle {
 display: inline-block;
 padding:15px 30px;
 font-size: 1.6rem;
 line-height: 1;
 letter-spacing: .05em;
 color: #fff;
 font-weight: bold;
 position: relative;
 z-index: 1;
}
#localNavi .naviTitle a {
 display: block;
 color: #fff;
 text-decoration: none;
}
#localNavi .spNaviBtn{
 width:100%;
 height:46px;
 background-color: transparent;
 position: absolute;
 top:0;
 left:0;
}
#localNavi .spNaviBtn::after {
 content: "";
 display: block;
 width: 18px;
 height: 18px;
 background: url(../image/btn_arrow.svg) no-repeat 0 0;
 background-size: 18px 18px;
 position: absolute;
 top:13px;
 right:30px;
 transform: rotate(90deg);
 transition: 0.3s ease-out;
}
#localNavi .spNaviBtn.active::after {
 transform: rotate(-90deg);
}
#localNavi nav.spMenu{
 display: none;
 box-shadow: 0px 8px 5px 0px rgba(0, 0, 0, 0.15)
}
#localNavi nav.spMenu ul li a {
 position: relative;
 display: block;
 padding:15px 30px 15px 76px;
 color: #FFF;
 letter-spacing: 1px;
 text-decoration: none;
}
#localNavi nav.spMenu ul li a.act{
 background-color: #7895cc;
}
#localNavi nav.spMenu ul li a span {
 font-size: 1.5rem;
 font-weight: bold;
}
#localNavi nav.spMenu ul li a span::after {
 content: "";
 display: block;
 width: 18px;
 height: 18px;
 background: url(../image/btn_arrow.svg) no-repeat 0 0;
 background-size: 18px 18px;
 position: absolute;
 top: 50%;
 left: 40px;
 transform: translateY(-50%);
}
.menuOpening #localNavi {
 display: none;
}
/*--- contentsContainer --- */
#contentsContainer{
padding: 108px 0 0 0;
}
/*--- globalContents --- */
#globalContents{
 width:100%;
 padding-bottom:70px;
 overflow: hidden;
}
/*--- pageTitleArea --- */
#pageTitleArea{
 padding:8vw 0;
 position: relative;
}
#pageTitleArea .pageTitle{
 width: 52vw;
 margin-left:auto;
 padding-right:30px;
 text-align: right;
}
/*--- gray bg --- */
.gray1clm{
 width: 100%;
 padding:10vw 30px;
 background-color: #f2f4f9;
 position: relative;
 opacity: 0;
	transform: translate(0, 100px);
	transition: all 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}
.gray1clm .isView{
  opacity: 1;
	transform: translate(0, 0);
}
.gray2clm{
 padding: 60px 30px ;
 background-color: #f2f4f9;
}
.gray1clm p,
.gray2clm p{
 font-size: 1.4rem;
 line-height: 2;
}
/*--- title --- */
.title01{
 margin:40px 0 20px;
 padding-left:20px;
 font-size: 1.8rem;
 font-weight: bold;
 line-height: 1.4;
 letter-spacing: 0.5px;
 color: #244189;
 position: relative;
}
.title01::before{
 content: "";
 width:2px;
 height:29px;
 background-color: #1b8ac2;
 position: absolute;
 left:0;
 top:-3px;
}
.title01.first,
.gray2clm .title01 {
 margin-top: 0;
}
/*--- list --- */
ul.normal li{
 position: relative;
 padding-left: 1em;
 font-size: 1.4rem;
}
ul.normal li + li{
 margin-top:5px;
}
ul.normal > li::before{
 content: "・";
 position: absolute;
 top:0;left:-3px;
}
ul.info {
 margin-top: 10px;
}
ul.info li {
 margin-left: 1em;
 text-indent: -1em;
 font-size: 1.4rem;
}
ul.normal li ul.info {
 margin-top: 2px;
}
ul.normal li ul.info li{
 margin-left: 0;
}
ul.dotList{
 margin-top:25px;
}
ul.dotList li{
 padding: 16px 25px 15px 55px;
 font-size: 1.6rem;
 font-weight: bold;
 color: #244189;
 background-color: #fff;
 position: relative;
}
ul.dotList li::before{
 content: "";
 width:17px;
 height:17px;
 border-radius: 50%;
 background-color: #244189;
 position: absolute;
 left:32px;
 top:21px;
}
ul.dotList li + li{
 margin-top: 15px;
}
ol.numList{
 margin-top:25px;
 counter-reset: item;
}
ol.numList li{
 padding: 16px 25px 15px 60px;
 font-size: 1.6rem;
 font-weight: bold;
 color: #244189;
 letter-spacing: -0.5px;
 background-color: #fff;
 position: relative;
}
ol.numList li::after{
 counter-increment: item;
 content: counter(item);
 font-size: 1.4rem;
 color:#fff;
 position: absolute;
 left:31px;
 top:18px;
}
ol.numList li::before{
 content: "";
 width:31px;
 height:31px;
 background-color: #244189;
 position: absolute;
 left:20px;
 top:14px;
}
ol.numList li + li{
 margin-top: 15px;
}
/*--- imageShadow --- */
.imageShadow{
 position: relative;
 z-index: 2;
}
.imageShadow::after {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
 width: 100%;
 height: 100%;
 background-color: rgba(0, 0, 0, 0.2);
 filter: blur(20px);
 transform: translateX(30px) translateY(30px);
 mix-blend-mode: multiply;
}
/*--- imageMgn --- */
.imageMgn{
 margin-top:20px;
}
/*--- whiteBtn --- */
.whiteBtn{
 margin-top:25px;
}
.whiteBtn a.btn{
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 height:66px;
 padding:0 10px;
 background-color: #fff;
 font-size: 1.8rem;
 color: #244189;
 text-decoration: none;
}
.whiteBtn a.btn span{
 display: inline-block;
 padding-right:30px;
 font-size: 1.5rem;
 font-weight: bold;
 line-height: 1.4;
 letter-spacing: 0.5px;
 position: relative;
}
.whiteBtn a.btn span::after{
 content: "";
 display: block;
 width: 20px;
 height: 20px;
 background: url(../image/btn_arrow_b.svg) no-repeat 0 0;
 position: absolute;
 top:50%;
 right:0;
 transform: translateY(-50%);
}
.whiteBtn a.btn:hover {
 background-color: #7895cc;
}
.whiteBtn a.btn:hover span{
 color: #fff;
}
.whiteBtn a.btn:hover span::after{
 background: url(../image/btn_arrow.svg) no-repeat 0 0;
}
/*--- spWide --- */
.spWide{
 margin-right: calc(50% - 50vw);
 margin-left: calc(50% - 50vw);
}
/*--- pc<->sp --- */
.pcn {
 display: block;
}
.spn {
 display: none;
}
/*--- otherContentsWrap --- */
#otherContentsWrap{
 margin-left:0;
 margin-right: 0;
}
}

.gray1clm.isView{
 opacity: 1;
	transform: translate(0, 0);
}
.bizWrap,.intWrap{
 opacity: 0;
	transform: translate(0, 100px);
	transition: opacity 0.7s cubic-bezier(0.65, 0, 0.35, 1),transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}
#interview{
 opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.65, 0, 0.35, 1),transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
}
.bizWrap.isView{
 opacity: 1;
	transform: translate(0, 0);
}
.intWrap.isView{
 opacity: 1;
	transform: translate(0, 0);
}
#interview.isView{
 opacity: 1;
}







/* ------------------------------
 top style pc
------------------------------ */
@media only screen and (min-width: 769px) {
.topBg{
 background: url(../image/top_bg_pc.png) center top no-repeat;
 background-size: 1897px auto;
}
#siteLogoArea{
 padding:80px 0 90px;
 text-align: center;
}
#siteLogoArea p{
 padding:0 15px 5px 0;
 font-size: 2.2rem;
 font-weight: bold;
 color: #244189;
 letter-spacing: 1px;
}
.secTitle{
 margin-bottom: 30px;
}
#topMessage{
 display: flex;
 flex-wrap: nowrap;
 justify-content: space-between;
 align-items:start;
 padding-top:85px;
 padding-bottom: 85px;
 margin-bottom: 40px;
}
#topMessage .messageWrap{
 width:55%;
}
#topMessage .messageWrap .name1{
 margin-top:30px;
 font-size: 2rem;
 font-weight: bold;
 color: #244189;
}
#topMessage .messageWrap .name2 {
 font-size: 2.6rem;
 font-weight: bold;
 line-height: 1.4;
 color: #244189;
}
#topMessage .photo{
 width:min(32vw, 324px);
 height: auto;
}
#topVision {
 padding-top: 85px;
 padding-bottom: 85px;
}
#topVision .visionCopy{
 padding-bottom:50px;
}
.normsBtn{
 margin-top:50px;
}
.normsBtn a.btn{
 display: flex;
 justify-content: center;
 align-items: center;
 width: 440px;
 height:100px;
 margin: 0 auto;
 background-color: #244189;
 font-size: 1.8rem;
 color: #ffffff;
 text-decoration: none;
 position: relative;
}
.normsBtn a.btn::after{
 content: "";
 position: absolute;
 top: 50%;
 right: 25px;
 width: 20px;
 height: 20px;
 transform: translateY(-10px);
 background: url(../image/btn_arrow.svg) no-repeat 0 0;
}
.normsBtn a.btn:hover {
 background-color: #7895cc;
}
.normsBtn a.btn span{
 display: inline-block;
 font-size: 1.8rem;
 font-weight: bold;
 letter-spacing: 0.5px;
}
.normsBtn p{
 margin-top:25px;
 font-size: 1.6rem;
 line-height: 1.6;
 text-align: center;
}
.topAnm01 {
 position: absolute;
 top: 760px;
 right: 30%;
 z-index: 1;
}
.topAnm02 {
 position: absolute;
 top: 400px;
 right: 50%;
 transform: translateX(-530px);
}
.topAnm03 {
 position: absolute;
 top: -5px;
 left: 50%;
 transform: translateX(450px);
}
.topAnm04 {
 position: absolute;
 top: 280px;
 right: 50%;
 transform: translateX(-300px);
}
.topAnm05 {
 position: absolute;
 top: 1110px;
 right: 50%;
 transform: translateX(-545px);
}
.topAnm06 {
 position: absolute;
 top: 1755px;
 left: 50%;
 transform: translateX(560px);
}
.topAnm07 {
 position: absolute;
 top: 1300px;
 left: 50%;
 transform: translateX(470px);
 z-index: 2;
}
.topAnm08 {
 position: absolute;
 top: 1420px;
 right: 50%;
 transform: translateX(-440px);z-index: -1;
}
.topAnm09 {
 position: absolute;
 top: 1100px;
 left: 50%;
 transform: translateX(580px);
}
.topAnm10 {
 position: absolute;
 top: 810px;
 left: 50%;
 transform: translateX(560px);
}
.topImg01 {
 position: absolute;
 top: 450px;
 left: 50%;
 transform: translateX(474px);
 z-index: 2;
}
.topImg02 {
 position: absolute;
 top: 864px;
 right: 50%;
 transform: translateX(-434px);
 z-index: 2;
}
.topImg03 {
 position: absolute;
 top: 1876px;
 right: 50%;
 transform: translateX(-480px);
 z-index: 2;
}
}
/*--- topVision --- */
#topVision table.topTable {
 width: 100%;
 margin-top:44px;
 border-collapse:collapse;
 background-color: #fff;
}
#topVision table.topTable th {
 width:60px;
 padding:10px 0;
 border:1px solid #244189;
 background-color: #9fd9f6;
 color: #244189;
 text-align: center;
 vertical-align: middle;
}
#topVision table.topTable th.col01{
 background-color: #244189;
 color: #fff;
}
#topVision table.topTable th.col02{
 background-color: #0fa39e;
 color: #fff;
}
#topVision table.topTable th.col03{
 background-color: #c0cbd2;
}
#topVision table.topTable th span{
 font-size: 1.8rem;
 font-weight: bold;
 writing-mode: vertical-rl;
 white-space: pre;
 display: inline-block;
}
#topVision table.topTable td {
padding:0 22px;
}
.dxContents{
 display: flex;
 width: 100%;
 flex-wrap: nowrap;
 justify-content: space-between;
 align-items: center;
 position: relative;
}
.dxContents::after{
 content: "";
 width: 100%;
 height:1px;
 background-color: #ccc;
 position: absolute;
 left:0;
 bottom: 0;
}
.dxContents.light::after{
 background-color: #e6e6e6;
}
.dxContents.noLine::after{
 display: none;
}
.dxContents li{
 padding: 22px 0;
}
.dxContents li.ttl{
 flex: 0 0 234px;
}
.dxContents li.ttl p{
 color: #244189;
 font-weight: bold;
 font-size: 1.8rem;
 line-height: 1.2;
}
.dxContents li.ttl p.copy{
 color: #244189;
 font-weight: bold;
 font-size: 1.5rem;
 line-height: 1.6;
}
.dxContents li.ttl p strong{
 font-weight: bold;
 font-size: 2.6rem;
}
.dxContents li.text1 {
 flex: 1 1 276px;
 padding-left:10px;
}
.dxContents li.text2 {
 flex: 1 0 210px;
 padding-left:20px;
}
.dxContents li.text2 p{
 width:100%;
 padding:10px 0;
 border:1px solid #244189;
 color: #244189;
 text-align: center;
 font-weight: bold;
}
.dxContents li.text2 p.col01{
 background-color: #244189;
 color: #fff;
}
.dxContents li.text2 p.col02{
 background-color: #0fa39e;
 color: #fff;
}
.dxContents li.text2 p.col03{
 background-color: #c0cbd2;
}
@media only screen and (max-width: 930px) {
.dxContents{
 flex-wrap:wrap;
}
.dxContents li {
 padding: 22px 0 10px;
}
.dxContents li.text1 {
 flex: 1 1 100%;
 padding-top:0;
 padding-left: 0;
 order:2;
}
.dxContents li.text2 {
 flex: 0 0 240px;
 padding-left: 20px;
}
.topAnm01 {
 position: absolute;
 top: 790px;
 right: 18vw;
 z-index: 1;
}
}
/* ------------------------------
 top style sp
------------------------------ */
@media only screen and (max-width: 768px) {
#siteLogoArea{
 padding:16vw 0 18vw;
 text-align: center;
}
#siteLogoArea p{
 display: inline-block;
 padding:0 15px 2vw 0;
 font-size: min(3.2vw, 1.8rem);
 font-weight: bold;
 color: #244189;
 letter-spacing: 1px;
}
#siteLogoArea img{
 width:75vw;
}
#siteLogoArea .ttlBg {
 width: 100%;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 2;
}
.secTitle {
 margin-bottom: 25px;
}
#topMessage{
 padding-bottom: 230px;
 margin-bottom: 230px;
 position: relative;
}
#topMessage .messageWrap .name1{
 margin-top:18px;
 font-size: 1.6rem;
 font-weight: bold;
 color: #244189;
}
#topMessage .messageWrap .name2 {
 font-size: 2rem;
 font-weight: bold;
 line-height: 1.4;
 color: #244189;
}
#topMessage .photo{
 width:50vw;
 max-width: 300px;
 position: absolute;
 bottom:-170px;
 right:0;
}
#topMessage .illustMsg{
 width:44vw;
 max-width: 250px;
 position: absolute;
 bottom:-150px;
 left:5vw;
}
#topVision .visionCopy{
 padding-bottom:40px;
}
#topVision table.topTable {
 width: 100vw;
 margin-top: 50px;
 margin-right: calc(50% - 50vw);
 margin-left: calc(50% - 50vw);
 border-collapse: collapse;
 background-color: #fff;
}
#topVision table.topTable th {
 width:50px;
 font-size: 1.6rem;
}
#topVision table.topTable td {
 padding:0 30px;
}
.dxContents li.ttl{
 flex: 0 0 210px;
}
.dxContents li.ttl p{
 font-size: 1.6rem;
}
.dxContents li.ttl p.copy{
 font-size: 1.3rem;
}
.dxContents li.ttl p strong{
 font-size: 2.2rem;
}
.dxContents li.text1{
 padding-bottom: 25px;
}
.dxContents li.text2 {
 flex: 0 0 220px;
}
.dxContents li.text2 p{
 padding: 6px 0;
}
.normsBtn{
 margin-top:50px;
}
.normsBtn a.btn{
 display: flex;
 justify-content: center;
 align-items: center;
 width: min(70vw , 440px);
 height:70px;
 margin: 0 auto;
 background-color: #244189;
 font-size: 1.8rem;
 color: #ffffff;
 text-decoration: none;
 position: relative;
}
.normsBtn a.btn::after{
 content: "";
 position: absolute;
 top: 50%;
 right: 25px;
 width: 20px;
 height: 20px;
 transform: translateY(-10px);
 background: url(../image/btn_arrow.svg) no-repeat 0 0;
}
.normsBtn a.btn:hover {
 background-color: #7895cc;
}
.normsBtn a.btn span{
 display: inline-block;
 font-size: 1.6rem;
 font-weight: bold;
 letter-spacing: 0.5px;
}
.normsBtn p {
 margin-top: 25px;
 font-size: 1.4rem;
 line-height: 1.6;
}
}
@media only screen and (max-width: 650px) {
#topMessage .illustMsg {
 bottom: -27vw;
 left: -5vw;
}
}
@media only screen and (max-width: 550px) {
#topMessage{
 padding-bottom: 39vw;
 margin-bottom: 42vw;
}
#topMessage .photo{
 bottom:-30vw;
}
.dxContents {
 display: flex;
 width: 100%;
 flex-direction: column;
 flex-wrap: nowrap;
 justify-content:start;
 align-items:normal;
}
.dxContents li.ttl {
 flex: 1;
 padding-top:15px;
}
.dxContents li.text1{
 flex: 1;
 padding: 0 0 15px;
}
.dxContents li.text2{
 flex: 1;
 padding: 0 0 20px;
 order: 2;
}
}




/* ------------------------------
 organization style pc
------------------------------ */
@media only screen and (min-width: 769px) {
.titleBG.org{
 position: absolute;
 top:-11px;
 left:0;
 z-index: 1;
}
}
@media only screen and (min-width: 769px) and  (max-width: 900px) {
.titleBG.org{
 width:500px;
 position: absolute;
 top:-10px;
 left: -10px;
}
}
/* ------------------------------
 organization style sp
------------------------------ */
@media only screen and (max-width: 768px) {
.titleBG.org {
 width: 51vw;
 position: absolute;
 top: -2vw;
 left: 1vw;
 z-index: 1;
}
}






/* ------------------------------
  development style pc
------------------------------ */
@media only screen and (min-width: 769px) {
.titleBG.dev{
 position: absolute;
 top:30px;
 left:-20px;
 z-index: 1;
}
#development{
 padding-bottom: 70px;
}
.developmentCopy > .policy{
 margin: 20px 0 70px;
 padding: 16px 25px 15px;
 font-size: 1.8rem;
 font-weight: bold;
 color: #244189;
 background-color: #fff;
}
.intLink{
 display: flex;
 justify-content: space-between;
 margin-top:50px;
}
.intLink .text{
 width:35vw;
 max-width: 350px;
}
.intLink .text .title01{
 margin-top:0;
}
.intLink .intArrow{
 padding-right: 30px;
 position: relative;
}
.intLink .intArrow:before {
 content: "";
 position: absolute;
 top: 7px;
 right: 0;
 width: 20px;
 height: 20px;
 background: url(../image/btn_arrow_b.svg) no-repeat 0 0;
 transform: rotate(90deg);
}
.intLink .photo{
 width:42vw;
 max-width: 436px;
}
#interview{
 padding-top:90px;
 padding-right:190px;
}
#interview .title01 {
 margin-top: 0;
}
.intWrap {
 position: relative;
}
.intWrap+.intWrap {
 margin-top: 85px;
}
.intBg{
 padding: 70px min(6vw, 70px);
 background-color: #f2f4f9;
}
.int01{
 margin-top: 40px;
 width:72vw;
 max-width: 748px;
}
.int02 {
 margin-left: auto;
 width: 66vw;
 max-width: 686px;
}
.int03{
 width:72vw;
 max-width: 742px;
}
.nameWrap{
 width: 32vw;
 max-width: 320px;
 display: flex;
 flex-direction: column;
 position: relative;
}
.nameWrap h3{
 padding:30px 0 0;
 font-size: 2.6rem;
 font-weight: bold;
 color: #244189;
}
.nameWrap p{
 padding-top:6px;
 font-size: 1.4rem;
}
.int01 .nameWrap{
 position: absolute;
 top:14%;
 right:2vw;
}
.int01 .qaWrap{
 width:52vw;
 max-width: 530px;
}
.int02 .nameWrap{
 position: absolute;
 top:15%;
 left:1vw;
}
.int02 .qaWrap{
 margin-left: auto;
 width:53vw;
 max-width: 529px;
}
.int02 .nameWrap figure{
 order: 1;
}
.int02 .nameWrap h3 {
 padding: 0 0 6px;
}
.int02 .nameWrap p {
 padding: 0 0 30px;
}
.int03 .nameWrap{
 position: absolute;
 top:18%;
 right:20px;
}
.int03 .qaWrap{
 width:52vw;
 max-width: 540px;
}
.qaWrap .icon{
 margin:6px 18px 0 0;
 float: left;
}
.qaWrap p {
 font-size: 1.6rem;
 line-height: 2;
}
.qaWrap dt p{
 font-weight: bold;
}
.qaWrap dt + dd,
.qaWrap dd + dt{
 margin-top: 30px;
}
.nameWrap .illust01 {
 width: 26vw;
 max-width: 254px;
 position: absolute;
 top: -40%;
 right: -34%;
}
.nameWrap .illust02 {
 width: 21vw;
 max-width: 210px;
 position: absolute;
 top: -30%;
 right: -18%;
}
.nameWrap .illust03 {
 width: 22vw;
 max-width: 216px;
 position: absolute;
 top: -34%;
 left: -8%;
 z-index: 2;
}
}
@media only screen and (min-width: 769px) and  (max-width: 900px) {
.titleBG.dev{
 width:530px;
 position: absolute;
 top:20px;
 left: -50px;
}
}
/* ------------------------------
 development style sp
------------------------------ */
@media only screen and (max-width: 768px) {
.titleBG.dev {
 width: 48vw;
 position: absolute;
 top: 2vw;
 left: 2vw;
 z-index: 1;
}
#development{
 padding-bottom: 60px;
}
.developmentCopy>.policy {
 margin: 20px 0 50px;
 padding: 16px 25px 15px;
 font-size: 1.6rem;
 line-height: 1.6;
 font-weight: bold;
 color: #244189;
 background-color: #fff;
}
.intLink .intArrow{
 padding-right: 30px;
 position: relative;
}
.intLink .intArrow:before {
 content: "";
 position: absolute;
 top: 2px;
 right: 0;
 width: 20px;
 height: 20px;
 background: url(../image/btn_arrow_b.svg) no-repeat 0 0;
 transform: rotate(90deg);
}
.intLink .photo {
 margin-top:15px;
}
.intLink .photo::after {
 display: none;
}
#interview{
 padding: 60px 30px 30px;
}
#interview .title01 {
 margin-top: 0;
}
#interview p{
 font-size: 1.4rem;
}
.intWrap+.intWrap {
 margin-top: 60px;
}
.intBg {
 padding: 40px 30px;
 background-color: #f2f4f9;
}
.nameWrap{
 position: relative;
}
.nameWrap figure{
 width: 50vw;
 margin: 0 auto;
}
.nameWrap h3 {
 padding-top:30px;
 font-size: 2.2rem;
 font-weight: bold;
 color: #244189;
}
.nameWrap p {
 padding-top:6px;
 font-size: 1.4rem;
}
.qaWrap .icon{
 width: 40px;
 height: 40px;
 margin:6px 18px 0 0;
 float: left;
}
.qaWrap p {
 font-size: 1.4rem;
 line-height: 2;
}
.qaWrap dt p{
 font-weight: bold;
}
.qaWrap dt{
 margin-top: 30px;
}
.qaWrap dd{
 margin-top: 20px;
}
.nameWrap .illust01 {
 width: 40vw;
 position: absolute;
 top: 34vw;
 right: -10vw;
 z-index: 2;
}
.nameWrap .illust02 {
 width: 40vw;
 position: absolute;
 top: 34vw;
 right: -12vw;
 z-index: 2;
}
.nameWrap .illust03 {
 width: 40vw;
 position: absolute;
 top: 36vw;
 right: -10vw;
 z-index: 2;
}
}





/* ------------------------------
 business style pc
------------------------------ */
@media only screen and (min-width: 769px) {
.titleBG.biz{
 position: absolute;
 top:-16px;
 left:-60px;
 z-index: 1;
}
.bizWrap + .bizWrap{
 margin-top:95px;
}
.biz01_txt{
 width:68vw;
 max-width: 715px;
}
.biz01_txt .txtWrap{
 width:40vw;
 max-width: 410px;
}
.biz01_photo{
 width:45vw;
 max-width:470px;
 position: absolute;
 top:24%;
 right:0;
}
.biz02_txt {
 width: 75vw;
 max-width: 780px;
 margin-left: auto;
}
.biz02_txt .txtWrap {
 width: 33vw;
 margin-left: auto;
 max-width: 350px;
}
.biz02_photo {
 width: 50vw;
 max-width: 530px;
 position: absolute;
 top: 26%;
 left: 0;
}
#business03 .title01{
 letter-spacing: -0.2px;
}
.biz03_txt{
 width:70vw;
 max-width: 780px;
}
.biz03_txt .txtWrap{
 margin-top:30px;
 width:40vw;
 max-width: 410px;
}
.biz03_photo{
 width:45vw;
 max-width:470px;
 position: absolute;
 top:55%;
 right:0;
}
.biz04_txt {
 width: 63vw;
 max-width: 660px;
 margin-left: auto;
 padding-bottom: 100px;
}
.biz04_txt .txtWrap {
 width: 30.5vw;
 margin-top:30px;
 margin-left: auto;
 max-width: 320px;
}
.biz04_photo {
 width: 54vw;
 max-width: 560px;
 position: absolute;
 top: 38%;
 left: 0;
}
.biz05_txt{
 width:63vw;
 max-width: 660px;
}
.biz05_txt .txtWrap{
 width:39vw;
 max-width: 410px;
}
.biz05_photo{
 width:45vw;
 max-width:470px;
 position: absolute;
 top:15%;
 right:0;
}
.bizR_txt{
 width:68vw;
 max-width: 715px;
}
.bizR_txt .txtWrap{
 width:40vw;
 max-width: 410px;
}
.bizR_photo{
 width:45vw;
 max-width:470px;
 position: absolute;
 top:29%;
 right:0;
}
.bizL_txt{
 width:68vw;
 max-width: 715px;
 margin-left: auto;
}
.bizL_txt .title01{
 width:40vw;
 max-width: 410px;
 margin-left: auto;
}
.bizL_txt .txtWrap{
 width:40vw;
 max-width: 410px;
 margin-left: auto;
}
.bizL_photo{
 width:45vw;
 max-width:470px;
 position: absolute;
 top:20%;
 left: 0;
}


ul.bizLinkWrap{
 margin-top:30px;
}
ul.bizLinkWrap li + li{
 margin-top: 20px;
}
ul.bizLinkWrap .ttl {
 color: #244189;
 font-weight: bold;
}
ul.bizLinkWrap .bizLink{
 display: inline-block;
 padding-left: 22px;
 color:#444444;
 font-size: 1.4rem;
 line-height: 1.6;
 text-decoration: none;
 position: relative;
}
ul.bizLinkWrap .bizLink + .bizLink{
 margin-top: 10px;
}
ul.bizLinkWrap .bizLink:before {
 content: "";
 position: absolute;
 top: 3px;
 left: 0;
 width: 16px;
 height: 16px;
 background: url(../image/btn_arrow_b2.svg) no-repeat 0 0;
}
ul.bizLinkWrap .bizLink:hover{
 color: #244189;
 text-decoration: underline;
}
.bizWrap .illust01 {
 width: 27vw;
 max-width: 270px;
 position: absolute;
 top: -10%;
 right: min(10vw , 140px);
}
.bizWrap .illust02 {
 width: 18vw;
 max-width: 184px;
 position: absolute;
 bottom: -30px;
 right: min(48vw , 480px);
}
.bizWrap .illust03 {
 width: 22vw;
 max-width: 218px;
 position: absolute;
 bottom: -40px;
 right: -40px;
}
.bizWrap .illust04 {
 width: 19vw;
 max-width: 184px;
 position: absolute;
 top: 20%;
 right: 0;
}
.bizWrap .illust05 {
 width: 14vw;
 max-width: 148px;
 position: absolute;
 bottom: -30px;
 left: -2vw;
}
.bizWrap .illust06 {
 width: 14vw;
 max-width: 148px;
 position: absolute;
 top: 12%;
 left: 22%;
}
.bizWrap .illust07 {
 width: 32vw;
 max-width: 316px;
 position: absolute;
 bottom: -40px;
 right: 23%;
 z-index: 3;
}
.bizWrap .illust08 {
 width: 27vw;
 max-width: 270px;
 position: absolute;
 bottom: 30px;
 right: 2%;
 z-index: 3;
}
}
@media only screen and (min-width: 769px) and  (max-width: 900px) {
.titleBG.biz{
 width:570px;
 position: absolute;
 top:-14px;
 right: 40%;
}
}
/* ------------------------------
  business style sp
------------------------------ */
@media only screen and (max-width: 768px) {
.titleBG.biz {
 width: 63vw;
 position: absolute;
 top: -3vw;
 left: -3vw;
 z-index: 1;
}
.bizWrap{
 padding: 60px 30px;
 background-color: #f2f4f9;
}
.bizWrap + .bizWrap{
 margin-top: 60px;
}
.bizWrap .gray2clm {
 padding: 0;
 background-color: transparent;
}
.bizWrap figure{
 margin-top:30px;
}

ul.bizLinkWrap{
 margin-top:30px;
}
ul.bizLinkWrap li + li{
 margin-top: 20px;
}
ul.bizLinkWrap .ttl{
 color: #244189;
 font-weight: bold;
}
ul.bizLinkWrap .bizLink{
 display: inline-block;
 padding-left:22px;
 text-decoration: none;
 color:#444444;
 font-size: 1.4rem;
 line-height: 1.6;
 position: relative;
}
ul.bizLinkWrap .bizLink + .bizLink{
 margin-top: 10px;
}
ul.bizLinkWrap .bizLink:before {
 content: "";
 position: absolute;
 top: 3px;
 left: 0;
 width: 16px;
 height: 16px;
 background: url(../image/btn_arrow_b2.svg) no-repeat 0 0;
}
ul.bizLinkWrap .bizLink:hover .ttl{
 text-decoration: underline;
}
}






/* ------------------------------
  group style pc
------------------------------ */
@media only screen and (min-width: 769px) {
.titleBG.grp{
 position: absolute;
 top:-20px;
 left:-30px;
 z-index: 1;
}
.grpBg2{
 position: absolute;
 top: -15px;
 right: 90px;
 z-index: 2;
}
}
@media only screen and (min-width: 769px) and  (max-width: 900px) {
.titleBG.grp{
 width:600px;
 position: absolute;
 top:-15px;
 right: 40%;
}
}
/* ------------------------------
  group style sp
------------------------------ */
@media only screen and (max-width: 768px) {
.titleBG.grp {
 width: 72vw;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 1;
}
.pageTitle.grp{
 position: relative;
 z-index: 2;
}
.grpBg2{
 width: 12vw;
 position: absolute;
 top: 2vw;
 right: 6vw;
 z-index: 3;
}
}





/* ------------------------------
  security style pc
------------------------------ */
@media only screen and (min-width: 769px) {
.titleBG.sec{
 position: absolute;
 top:-20px;
 left:30px;
 z-index: 1;
}
}
@media only screen and (min-width: 769px) and  (max-width: 900px) {
.titleBG.sec{
 width:420px;
 position: absolute;
 top:-15px;
 right: 40%;
}
}
/* ------------------------------
  security style sp
------------------------------ */
@media only screen and (max-width: 768px) {
.titleBG.sec {
 width: 55vw;
 position: absolute;
 top: -3vw;
 left: -3vw;
 z-index: 1;
}
}
