﻿@charset "utf-8";

/* ---------------------------------------------
 layout modules
------------------------------------------------ */


/* base modules
------------------------------------------------ */
.content p,
.content ul,
.content dl,
.content ol,
.content table,
.content blockquote{
  margin: 20px 0 0;
  line-height:2;
}

.column-image-left + .entry-container > p,
.column-image-right + .entry-container > p {
  margin-top: 10px;
}

.content .linebox01 p,
.content ul p, .content ul dl, .content ul ol, 
.content dl p, .content dl ul, .content dl ol, 
.content ol p, .content ol ul, .content ol dl, 
.content table p, .content table ul, .content table dl, .content table ol{
  margin: 0;
}

.content p img, .content dl img, .content ul img {
  vertical-align: middle;
}

.column-image-left,.column-image-center,.column-image-right { margin-top:20px !important; }

@media all and (max-width: 599px) { 

  .content p,
  .content ul,
  .content dl,
  .content ol,
  .content table,
  .content blockquote{
    margin: 1em 0 0;
  }

}


/* common modules
------------------------------------------------ */

em        { color:#015dbb; font-style: normal; }

.small    { font-size:1.4rem;  }
.x-small  { font-size:1.2rem;  }

.m-large    { font-size:1.8rem; }
.large    { font-size:2.2rem; }
.x-large  { font-size:3.1rem; }

.attention{ color: #FF3366;   }
.bold     { font-weight:bold; }
.bl-line{ border-bottom: 2px solid #000;}

.center{ text-align: center!important; }
.right { text-align:right;   }
.left  { text-align:left;    }

.float-l{ float: left;  }
.float-r{ float: right; }
.clear  { clear: both;  }

.img-l{ float:left;  margin:0 25px 10px 0; }
.img-r{ float:right; margin:0 0 10px 25px; }

.nowrap         { white-space:nowrap; }
.nomargintop    { margin-top: 0 !important; }
.content .nocss { margin:0; padding:0; border:none; background:none; }

.no-icon + img{
  display: none;
}

.no-icon.anchor::before{
  display: none;
}

/* font */
.en-txt{
  font-family: 'Barlow', sans-serif;
  letter-spacing: 0.1em;
}


a[href*="tel:"] {
  pointer-events: none;
}

@media all and (max-width: 599px) { 

  .small    { font-size:1rem;  }
  .x-small  { font-size: .9rem;  }

  .large    { font-size:1.8rem; }
  .x-large  { font-size:2.2rem; }

  a[href*="tel:"] {
    pointer-events: all;
  }
  
}

/* --- anchor link01--- */

.anchor{
  position: relative;
  color:#4a4d64;
  background: none!important;
}

.anchor::before{
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 10px;
  background: #1d9fc0;
  border-radius: 100%;
}

/* 矢印アイコン ----- */

.i-arrow{
  display: block;
  position: relative;
  padding-right: 30px;
}

.i-arrow::after{
  content: '';
	position: absolute;
    top:40%;
    right:30px;
    width: 16px;
    height: 16px;
    background: url(../images/icon_arrow.png) no-repeat 0 0;
    background-size: contain;
    transition: all .3s;
}

.i-arrow:hover::after{
  right:20px;
  background-image: url(../images/icon_arrow_blue.png);
}


/* --- ext icon --- */

/*a[href$='.xls'], a[href$='.xlsx']{
  background: url(../images/fileicon/xls.png) no-repeat 100% 50%;
  padding-right: 25px;
}

a[href$='.doc'], a[href$='.docx']{
  background: url(../images/fileicon/doc.png) no-repeat 100% 50%;
  padding-right: 25px;
}

a[href$='pdf']{
  background: url(../images/fileicon/pdf.png) no-repeat 100% 50%;
  padding-right: 25px;
}

a[href$='ppt']{
  background: url(../images/fileicon/ppt.png) no-repeat 100% 50%;
  padding-right: 25px;
}*/


/* --- openwin --- */


.openwin{ 
  margin: 0 5px;
  vertical-align: middle;
}

/* ---　pagetop-in　 --- */

.pagetop-in {
  text-align:right;
}

.pagetop-in a {	
  font-size: 92%;
}

/* --- blockquote --- */

blockquote, 
.acms-entry blockquote{
  border-left: 1px solid #4a4d64;
  padding:30px 20px;
}

/* --- helper --- */

/* margin */
.ma-t40{
  margin-top: 40px;
}
.ma-t50{
  margin-top: 50px;
}
.ma-t100{
  margin-top: 100px!important;
}

.ma-b50{
  margin-bottom: 50px;
}
.ma-b0{
  margin-bottom: 0;
}

/* padding */
.pad-l50{
  padding-left: 50px;
}

.pad-b100{
  padding-bottom: 100px;
}

/* width */

.w20{ width: 20%;}
.w24{ width: 24%;}
.w25{ width: 25%;}
.w30{ width: 30%;}
.w32{ width: 32%;}
.w40{ width: 40%;}
.w42{ width: 42%;}
.w45{ width: 45%;}
.w46{ width: 46%;}
.w48{ width: 48%;}
.w49{ width: 49%;}
.w50{ width: 50%;}
.w55{ width: 55%;}
.w60{ width: 60%;}


@media all and (max-width: 599px) { 

  .w20,.w24,.w25,.w30,.w32,.w40,.w42,.w45,.w46,.w48,.w50,.w55,.w60{
    width: auto;
  }

  .bg-m-gr-box.ma-t100,
  .more-member.ma-t100,
  .img-bnr.ma-t100{
    margin-top: 50px!important;
  }


}

._flex{
  display: flex;
  justify-content: space-between;
}
.fd-row-r{
  flex-direction: row-reverse;
}
.jc-sp-around{
  justify-content: space-around;
}

@media all and (max-width: 599px) { 

  ._flex{
    display: block;
  }
  
}

/* bg ----- */

.bg-ddd{
  background-color: #ddd!important;
}
.bg-eee{
  background-color: #eee!important;
}


/* btn ------ */

.btn a{
  position: relative;
  display: inline-block;
  min-width: 400px;
  height: 100px;
  line-height: 100px;
  padding: 0 30px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: left;
  color: #fff;
  background: #333333;
  transition: all 1s ease;
}

.btn a:hover{
  color: #000;
  background:#fff;
}

.btn a::after{
  content: '';
	position: absolute;
  top:40%;
  right:30px;
  width: 16px;
  height: 16px;
  background: url(../images/icon_arrow_wh.png) no-repeat 0 0;
  background-size: contain;
  transition: all .3s;
}

.btn a:hover::after{
  right:20px;
  background-image: url(../images/icon_arrow.png);
}

.btn.type-w a{
  background: #fff;
  color: #4a4d64;
}

.btn.type-w a:hover{
  background: #5ec2c6;
}

.btn.type-w a::after{
  background: #1d9fc0;
}

.btn.type-w a:hover::after{
  background: #fff;
}

@media all and (max-width: 1024px) { 
  .btn a{
    min-width:auto;
    width: 300px;
  }
}

@media all and (max-width: 599px) { 
  .btn a{
    min-width:auto;
    width: 100%;
  }

  .btn + .btn{
    margin-top: 20px;
  }

}

/* 画像切り抜き＋拡大 */

.objf-cv-up{
  overflow: hidden;
}

.objf-cv-up img{
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: .3s ease-in-out;
  object-fit: cover;
}
.objf-cv-up:hover img{
  transform: scale(1.1);
}

@media all and (-ms-high-contrast: none) {

   /* IE11にのみ適用したいスタイルシート */
  .objf-cv-up img{
    width: 100%;
    height: auto;
  }
 
}


/* ------ title -------------------------------- */

.content h2, 
.content .wysiwyg h1,
.content .acms-entry h1,
.content h1,
.heading2{
  clear:both;
  display: inline;
  margin:50px 0 0;
  padding-bottom: 1rem;
  font-size: 3.2rem;
  line-height: 1.8;
  font-weight:bold;
  color: #1d9fc0;
  background: linear-gradient(transparent 90%, #1d9fc0 0%);
}

/* 1行でおさまる場合 */
.heading2{
  display: inline-block!important;
  line-height: 1!important;
}

h2.typeline{
  margin-top: 0;
  display: inline-block;
  color: #1d9fc0;
  background: none;
}

h2.typeline .en-txt{
  font-size: 6rem;
  font-style: italic;
  font-weight: 600;
}

h2.typeline::after{
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background: #1d9fc0;
}

.content h2 a:link          { text-decoration:none; }
.content h2 a:visited       { text-decoration:none; }
.content h2 a:hover,a:active{ text-decoration:none; }

.content h3, 
.content .wysiwyg h2,
.content .acms-entry h2,
.content .entry-container h2,
.heading3{
  clear:both;
  display: block;
  margin:50px 0 0;
  padding: 0;
  color: #1d9fc0;
  font-size: 2.6rem;
  font-weight:bold;
  line-height: 1.3;
  background: none;
}

.content h4, 
.content .wysiwyg h3,
.content .acms-entry h3,
.content .entry-container h3{
  clear:both;
  font-size: 2.4rem;
  font-weight:bold;
  margin:40px 0 0;
  padding: 0;
  background: none;
  color: #000;
}

.content h5, 
.content .wysiwyg h4,
.content .acms-entry h4,
.content .entry-container h4{
  clear:both;
  font-size: 2rem;
  font-weight:bold;
  margin:40px 0 0;
}

.content .entry-container h4::after{
  display: none;
}


@media screen and (max-width: 599px) {
  .content h2, 
  .content .wysiwyg h1,
  .content .acms-entry h1,
  .content h1,
  .heading2 {
      margin: 30px 0 0;
      font-size: 2rem;
  }

  .content h3, 
  .content .wysiwyg h2,
  .content .acms-entry h2,
  .content .entry-container h2,
  .heading3{
    margin: 30px 0 0;
    font-size: 2rem;  
  }
  .content h4, 
  .content .wysiwyg h3,
  .content .entry-container h3{
    margin: 30px 0 0;
    font-size: 2rem;
  }

  .w48 + .w48 .nomargintop{
    margin-top: 20px!important;
  }



}

/* sub-tit */

.sub-tit{
  font-size: 2.4rem;
  font-weight: bold;
}


/* ------ ul ----------------------------------- */


/* --- normal list --- */

.list li {
  padding-left: 15px;
  margin-bottom: 10px;
  position: relative;
  text-indent: 0;
}

.list li::before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: #1d9fc0;
  border-radius: 4px;
  position: absolute;
  top: 0.7em;
  left: 0;
}

.list li li::before{
  background: #5ec2c6;
}

.list li li li::before{
  background: #bfcfd8;
}

/* --- link list --- */

.link li {
  padding-left: 15px;
  margin-bottom: 5px;
  position: relative;
}

.link li:before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  border-top: solid 2px #1d9fc0;
  border-right: solid 2px #1d9fc0;
  position: absolute;
  top: 0.8em;
  left: 0;
  transform: rotate(45deg);
}

/* --- number list --- */

ol {
  counter-reset:number;
  padding:0;/* paddingキャンセル */
  list-style:none;/* olがはき出す数字を消す */
}

ol li {
  text-indent: -30px;
  padding-left: 30px;
}

ol li:before {
  counter-increment: number;
  content: counter(number) ". ";
  font-weight: bold;
  text-align: right;
  display: inline-block;
  width: 25px;
  margin-right: 5px;
}

/* --- attention list --- */

.rice li{
  margin:0 0 5px 1em;
  text-indent:-1em;
}

/* --- compact list --- */

.compact li{
  display:inline;
  margin-right:10px;
}

/* --- within compact list --- */

.within {
  padding: 8px;
  border: 1px solid #ddd;
}

.within li{
}


.content ul ul, .content dl dl, .content ol ol {
  margin-top: 5px;
}


/* アコーディオン ----- */

.accordion {
  border-bottom: 1px solid #fff;
}

.accordion dt,
.actype {
  padding: 20px 0;
  border-top: 1px solid #fff;
}
.accordion h3{
  margin: 0 0 20px;
}
.accordion ul,
.accordion ol,
.accordion p{
  margin-top: 20px!important;
}

.accordion-trigger {
  background: none;
  display: block;
  position: relative;
  text-align: left;
  width: 100%;
  outline: none;
}

.accordion button {
  border-style: none;
  background: none;
}

.accordion button::-moz-focus-inner {
  border: 0;
}

.accordion-title {
  display: block;
  pointer-events: none;
  border: transparent 2px solid;
  border-radius: 5px;
  margin-top: 0!important;
  padding: 0.25em 0;
  outline: none;
  font-size: 1.8rem;
  color: #000;
}

.actype .accordion-title{
  pointer-events: all;
}

.accordion-icon {
  pointer-events: none;
  display: inline-block;
  vertical-align: middle;
  color: #1d9fc0;
  line-height: 1;
  width: 0.8em;
  height: 0.2em;
  background: #1d9fc0;
  border-radius: 0.1em;
  position: absolute;
  right: 10px;
  top: 50%;
}

.accordion-icon::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}

.accordion-trigger[aria-expanded="true"] .accordion-title{
  color: #1d9fc0;
  font-weight: bold;
}

.accordion-trigger[aria-expanded="true"] .accordion-icon::before {
  opacity: 0;
}

.accordion-panel {
  margin: 0;
  padding: 0 1em 1em 0.2em;
}

/* For Edge bug https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4806035/ */
.accordion-panel[hidden] {
  display: none;
}

@media all and (-ms-high-contrast: none) {
  /* IE11にのみ適用したいスタイルシート */

  .accordion-panel {
    display: block!important;
  }

}

@media all and (max-width: 599px) { 

  .accordion-trigger{
    padding-right: 25px;
  }

  .accordion-title{
    font-size: 1.6rem;
    
  }
  .accordion button{
    color: #000!important;
  }

  .accordion-icon{
    width: 1em;
    height: 0.09em;
  }


}

/* page-link */

.page-link{
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  padding: 15px;
  background: #fff;
}

.page-link li a{
  position: relative;
  display: block;
}
.page-link li a::before{
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/icon_arrow.png) no-repeat 6px 0.5em;
  background-size: 13px auto;
  transform: rotate(90deg);
}

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

/* --- normal list --- */

.list dt{
  font-weight:bold;
}

.list dd{
  padding-left:13px;
}

/* --- link list --- */

.link dt{
  background:url(../images/icon_arrow01.png) no-repeat 0 0.4em;
  padding-left:15px;
  font-weight:bold;
}

.link dd{
  padding-left:15px;
}

/* --- horizonal --- */

.horizonal dt {
  clear: left;
  float: left;
  width: 10em;
  padding:8px 8px 8px 0;
}

.horizonal dd {
  padding:8px 15px 8px 11em;
  border-bottom:1px solid #ddd;
}



/* ------ layout frame ------------------------- */

.content .layout-frame {
  clear: both;
  margin-left: -20px;
}

.content .layout-3col {
  margin-left: -15px;
}

.content .layout-unit {
  float: left;
  display: inline;
  margin-left: 20px;
}

.content .layout-3col .layout-unit {
  margin-left: 15px;
}

/* 720px */
.grid-1 { width: 60px; }
.grid-2 { width:110px; }
.grid-3 { width:170px; }
.grid-4 { width:230px; }
.grid-5 { width:290px; }
.grid-6 { width:350px; }
.grid-7 { width:410px; }
.grid-8 { width:470px; }
.grid-9 { width:530px; }
.grid-10{ width:590px; }
.grid-11{ width:650px; }

/* linebox */

.linebox01{
  padding: 10px;
  border: 1px solid #1d9fc0;
}

/* ------ social media ------------------------- */

.social-icon ul{
  margin:20px auto;
  text-align:center;
}

.social-icon ul li{
  display:inline-block;
}

.social-icon ul li a {
  display: block;
  width: 60px;
  height: 60px;
  text-indent: -99999px;
  font-size: 50%;
  border-radius:50%;
}

@media screen and ( min-width:750px ){
  .facebook:hover {
    background:url(../images/svg/facebook.svg) center center no-repeat;
    background-size: 100%;
    background-color: #3b5998!important;
  }
}
.facebook {
  background:url(../images/svg/facebookClick.svg) center center no-repeat;
  background-size: 100%;
  background-color: #ffffff!important;
  border: 1px solid #3b5998;
}
@media screen and ( min-width:750px ){
  .twitter:hover {
    background:url(../images/svg/twitter.svg) center center no-repeat;
    background-size: 100%;
    background-color: #00aced!important;
  }
}
.twitter {
  background:url(../images/svg/twitterClick.svg) center center no-repeat;
  background-size: 100%;
  background-color: #ffffff!important;
  border: 1px solid #00aced;
}
@media screen and ( min-width:750px ){
  .line:hover {
    background:url(../images/svg/line.svg) center center no-repeat;
    background-size: 100%;
    background-color: #2cbf13!important;
  }
}
.line {
  background:url(../images/svg/lineClick.svg) center center no-repeat;
  background-size: 100%;
  background-color: #ffffff!important;
  border: 1px solid #2cbf13;
}



/* ------ table -------------------------------- */

table{
  border-collapse:collapse;
  border: none;
  border-top:1px solid #eee;
  border-bottom:1px solid #eee;
  width:100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;

}

table th,
table td{
  padding:15px 20px;
  vertical-align:top;
  border: none;
  border-top:1px solid #eee;
  background:#fff;
}

table th{
  font-weight:bold;
  background:#fafafa;
}

table thead th,
th.head {
  background:#1d9fc0;
  border-top: none;
}

/* --- noborder --- */

table.noborder,
table.noborder td,
table.noborder th{
  border:0;
  background: none;
}

@media all and (max-width: 599px) { 

  table.tbl-sp-block th,
  table.tbl-sp-block td{
    display: block;
    width: 100%;
  }

  table.tbl-sp-block th + td{
    border: none;
  }

}

/* img-bnr ----- */

.img-bnr{
  position: relative;
  margin: 50px calc(50% - 50vw) 0;
  width: 100vw;
  height: 300px;
  background-color: #000;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

.img-bnr.topmesse{
  height: 27vw;
}

.img-bnr a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 2.4rem;
}

.img-bnr:hover {
  background-color: #114b81;
}

.img-bnr .img-box img{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0.75;
}



.img-bnr p{
  position: relative;
  width: 100%;
  margin-top: 0;
  text-align: center;
  font-weight: bold;
  z-index: 2;
  background: url(../images/icon_arrow_wh.png) no-repeat right 20% top 50%;
}

.img-bnr.topmesse .objf-cv-up img{
  height: auto;
}

@media all and (-ms-high-contrast: none) {
  /* IE11にのみ適用したいスタイルシート */

  .img-bnr.forie .img-box img{
    top: -80%;
  }

}


@media all and (max-width: 599px) { 

  .img-bnr,
  .img-bnr.topmesse{
    height: 200px;
  }
  .img-bnr a{
    font-size: 1.8rem;
  }
  .img-bnr p{
    background-position: right 10% top 50%;
  }
  .img-bnr.topmesse .objf-cv-up img{
    height: 100%;
  }

}

/* bg-m-gr-box ----- */

.bg-m-gr-box{
  position: relative;
  margin: 50px calc(50% - 50vw) 0;
  padding: 50px 0 0;
  width: 100vw;
  background: #ddd url(../images/bg_mlogo_gr.png) no-repeat right 0;
  background-size: auto 100%;
}

@media all and (max-width: 599px) { 

  .bg-m-gr-box{
    padding: 50px 0 1px;
  }

}


/* index-img-list
------------------------------------------------ */

ul.index-img-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
}

.index-img-list li{
  width: 46.4%;
}

.index-img-list dl {
  display: flex;
  flex-direction: column-reverse;
  text-align: center;
}

.index-img-list dt {
  margin-top: 20px;
  padding-right: 20px;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  position: relative;
}

.index-img-list a {
  display: block;
  position: relative;
  margin-bottom: 36px;
  text-decoration:none;
}

.index-img-list a dt::after{
  content: '';
	position: absolute;
  top: 0.3em;
  right:10px;
  width: 16px;
  height: 16px;
  background: url(../images/icon_arrow.png) no-repeat 0 0;
  background-size: contain;
  transition: all .3s;
}

.index-img-list a:hover dt::after{
  right:0px;
  background-image: url(../images/icon_arrow_blue.png);
}

.index-img-list dd {
  width: 100%;
  aspect-ratio: 2 / 1;
  overflow: hidden;
}

@media all and (-ms-high-contrast: none) {
  /* IE11にのみ適用したいスタイルシート */
  .index-img-list dd {
    width: 100%;
    height: 265px;
    overflow: hidden;
  }
}

@media all and (max-width: 599px) { 

  ul.index-img-list{
    display: block;
  }

  .index-img-list li{
    width: auto;
  }

  .index-img-list dt {
    margin-top: 10px;
    font-size: 1.4rem;
  }
  /*.index-img-list dd{
    height: 132px;
  }*/
  
  .index-img-list a dt::after{
    right: 0;
    background-size: 13px auto;
  }
}

/* cms
------------------------------------------------ */

/* --- entry-date --- */

.entry-date {
  text-align: right;
  font-size: 87%;
}

.content .acms-entry h2,
.content .acms-entry h3,
.content .acms-entry h4,
.content .acms-entry h5,
.content .acms-entry h6,
.content .acms-entry dl,
.content .acms-entry p{
  margin-left: 10px;
  margin-right: 10px;
}

/* --- entryNav/ pagerNav --- */

.entryNav, 
.pagerNav{
  font-size:1.5rem;
  margin:50px 0 0;
}

.entryNav--list a:link, .entryNav--list a:visited, .entryNav--list a:hover, .entryNav--list a:active, 
.pagerNav a:link, .pagerNav a:visited, .pagerNav a:hover, .pagerNav a:active{
  text-decoration:none;
}

.entryNav--list ul{
  margin:0;
}

/* entryNav--list */

.entryNav--list{
  padding:10px;
  display: flex;
  background: #fff;
}

.entryNav--list li{
  width:33%;
}

.entryNav--list li:last-child{
  text-align:right;
}

.entryNav--list .home{
  text-align:center;
}


/* pagerNav */

.pagerNav ul{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
}

.pagerNav ul li{
  text-align:center;
  margin: 0 5px;
}

.pagerNav ul li span.cur,
.pagerNav ul li a{
  display: block;
  position:relative;
  width: 40px;
  height: 40px;
  line-height: 40px;
  overflow: hidden;
  border: 1px solid #1d9fc0;
}

.pagerNav ul li a:link, 
.pagerNav ul li a:visited{
  background:transparent;
  color:#000;
}

.pagerNav ul li:first-child a,
.pagerNav ul li:last-child a,
.pagerNav ul li span.cur{
  background:#1d9fc0;
  color: #fff;
}

.pagerNav ul li:first-child a span,
.pagerNav ul li:last-child a span{
  font-size: 1px;
}

.pagerNav ul li a:hover, 
.pagerNav ul li a:active{
  background:#1d9fc0;
  color: #fff;
}

.pagerNav ul li:first-child a span,
.pagerNav ul li:last-child a span{
  display: block;
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 10px;
  border-color: transparent transparent transparent #1d9fc0;
}

.pagerNav ul li:first-child a span{
  transform: rotate(180deg);
}

.pagerNav ul li:first-child a:hover span,
.pagerNav ul li:last-child a:hover span{
  border-color: transparent transparent transparent #fff;
}



/* 続きを読むリンク */
.search.entry p.continue {
  margin: 0;
  padding: 0;
}

.search.entry p.continue a {
  display: block;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid #E8E8E8;
}

.search.entry p.continue a:hover {
  background-color: #F0F0F0;
}

/* index-list
------------------------------------------------ */

.index-list p.right{
  margin-top: 20px;
}

.index-list ul li{
  margin-bottom: 60px;
}

.index-list dl{
  display: flex;
  justify-content: space-between;
}

.index-list dl dt{
  width: 30%;
  height: 15%;
  overflow: hidden;
  background-color: #ddd;
}
.index-list dl dd{
  width: 68%;
}

.index-list dd a{
  color: #1d9fc0;
  text-decoration: underline;
}

.index-list dd a:hover{
  text-decoration: none;

}

@media all and (max-width: 599px) { 

  .index-list h2{
    line-height: 2.2;
  }

}

.infoNav--list.link{
  display: flex;
  flex-wrap: wrap;
}

.infoNav--list.link li{
  width: 31%;
  margin-right: 2%;
}

.infoNav--list.tag li{
  display: inline-block;
  margin: 0 0.8rem 10px 0;
  background: #fff;
  border: 1px solid #1d9fc0;
}
.infoNav--list.tag li a{
  display: block;
  padding: 0 0 0 5px;
}

.infoNav--list.tag li a:hover{
  color: #fff;
  background: #1d9fc0;
}

.infoNav--item a span{
  display: block;
  font-size: 1.4rem;
}

.infoNav--list.recently li{
  margin-bottom: 2rem;
  line-height: 1.5;
}


/* member-index ----- */

.member-index{
  display: flex;
  flex-wrap: wrap;
}
.member-index li{
  margin:0 60px 60px 0;
}
.member-index li:nth-of-type(4n){
  margin-right: 0;
}
.member-index dl{
  font-size: 1.4rem;
  text-align: center;
  line-height: 2;
}

.member-index dl dt + dd{
  font-size: 2rem;
  font-weight: 600;
}

.member-index .member-img{
  width: 230px;
  height: 280px;
  margin: 0 auto 1rem;
  text-align: center;
  overflow: hidden;
}

.member-index .member-img img{
  transition: 0.3s;
}

.member-index li:hover .member-img img{
  transform: scale(1.1);
}

@media all and (max-width: 1024px) { 

  .member-index li{
    margin: 0 20px 30px 0;
  }
  .member-index .member-img{
    width: 170px;
    height: 230px;
  }

}

@media all and (max-width: 599px) { 

  .member-index{
    justify-content: space-between;
  }

  .member-index li{
    width: 47%;
    margin: 0 0 30px;
  }
  .member-index .member-img{
    width: auto;
    height: 60%;
  }
  .member-index li:hover .member-img img{
    transform: none;
  }

}

/* member-title -----  */

.member-title{
  width: 100%;
  height: 726px;
  position: relative;
}

.member-title::before{
  content: "";
  display: block;
  position: absolute;
  top: 400px;
  width: 100%;
  height: 800px;
  background: url(../images/bg_logo_eee.png) no-repeat left -22.5vw top 0;
  background-size: auto 800px;
  mix-blend-mode: multiply;
}
.member-main{
  width: 100%;
  height: 500px;
  overflow: hidden;
}
.member-main img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* member-date */

.member-date{
  color: #ddd;
}
.member-date::before{
  content: "";
  display: block;
  position: absolute;
  top: 400px;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 330px;
  background:#333;
  opacity: 0.9;
}
.member-date::after{
  content: "";
  display: block;
  position: absolute;
  top: 400px;
  width: 100%;
  height: 330px;
  background: url(../images/bg_logo_666.png) no-repeat left -22.5vw top 0;
  background-size: auto 800px;
  mix-blend-mode: multiply;
  opacity: 0.9;
}

.member-date .inner{
  position: relative;
  top: -40px;
  z-index: 3;
  display: flex;
  flex-direction: column-reverse;
}

.member-date .member-copy{
  width: 50%;
  font-size: 3.6rem;
  font-weight: bold;
}

.member-date .member-post{
  display: flex;
  align-items: baseline;
  /*width: 60%;*/
}

.member-date .member-post h1{
  font-size: 2rem;
  font-weight: bold;
}

.member-date .member-post ul{
  display: flex;
  margin-left: 10px;
}

.member-date .member-post ul li + li::before{
  content: "/";
  display: inline-block;
  padding: 0 10px;
}

@media all and (-ms-high-contrast: none) {
  /* IE11にのみ適用したいスタイルシート */

  .member-title::before,
  .member-date::after{
    opacity: 0.5;
  }

  .member-main img{
    width: auto;
  }

}

@media screen and (max-width: 1024px) {

  .member-date .member-copy{
    width: auto;
    font-size: 3rem
  }
  .member-date .member-post ul{
    margin-left: 0;
  }
  
}

@media all and (max-width: 599px) {

  .member-title{
    height: 310px;
  }

  .member-title::before{
    top: 150px;
    height: 440px;
    background-size: auto 440px;
    background-position: left -58vw top 0;
  }

  .member-main{
    height: 200px;
  }

  .member-date::before{
    top: 150px;
    height: 180px;
  }
  .member-date::after{
    top: 150px;
    height: 180px;
    background-size: auto 440px;
    background-position: left -58vw top 0;
  }
  .member-date .inner{
    top: -20px;
  }
 
  .member-date .member-copy{
    width: auto;
    font-size: 2.2rem;
    line-height: 1.3;
  }
  .member-date .member-post{
    display: block;
    width: auto;
  }
  .member-date .member-post h1{
    text-align: left;
    font-size: 1.6rem;
  }
  .member-date .member-post ul{
    margin-left: 0;
  }


}

/**/

.member{
  max-width: 1200px!important;
}

/* member-block ---- */

.member-block{
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-top: 100px;
}

.member-block + .inner{
  margin-top: 100px;
}

.member-block.reverse{
  flex-direction: row-reverse;
}

.member-block .l-box{
  width: 50%;
  overflow: hidden;
}
.member-block .l-box h2,
.member-block .l-box p{
  margin-left: 50px;
}

.member-block .photo-01{
  position: relative;
  width: 38.5%;
  margin-top: -250px;
  overflow: hidden;
}

.member-block .r-box{
  width: 46%;
  padding-right: 4%;
  overflow: hidden;
}

.member-block img{
  width: 100%;
}

.member-block .r-box img,
.member-block .l-box img{
  object-fit: cover;
}

.member h2{
  display: block;
  position: relative;
  padding: 4.5rem 0 0;
  font-size: 3rem;
  font-weight: bold;
  color: #000;
  background: transparent;
}

.member h2 .blue-tag{
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  padding: 0 10px;
  font-size: 2rem;
  color: #fff;
  background: #114b81;
}

.member-img-box{
  width: 100%;
  height: 400px;
  margin:100px auto;
  overflow: hidden;
}

.member-img-box img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (-ms-high-contrast: none) {
  /* IE11にのみ適用したいスタイルシート */

  .member-img-box img{
    width: 100%;
    height: auto;
  }

}

@media all and (max-width: 599px) {

  .member{
    max-width: 90%!important;
  }

  .member-block{
    display: block;
    margin-top: 0;
  }

  .member-block .l-box,
  .member-block .r-box{
    width: auto;
    padding-right: 0;
  }
  .member-block .l-box img{
    margin-top: 30px;
  }
  .member-block .l-box h2,
  .member-block .l-box p{
    margin-left: 0;
  }
  .member-block .photo-01{
    width: auto;
    margin-top: 30px;
  }
  .member h2{
    padding: 3.5rem 0 0;
    font-size: 2.4rem;
  }
  .member h2 .blue-tag{
    font-size: 1.2rem;
  }
  .member-img-box{
    height: 200px;
    margin: 30px auto;
  }


}

/* bg-2color ----- */

.bg-2color{
  position: relative;
  margin: 140px calc(50% - 50vw) 0;
  width: 100vw;
  min-height: 800px;
  background: #333;
}

.bg-2color::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  overflow: hidden;
  background: url(../images/bg_logo_aaa.png) no-repeat right -30vw top 0;
  background-size: auto 900px;
  mix-blend-mode: multiply;
}

/* member-mytrick ----- */

.member-mytrick{
  position: relative;
  margin: 0 calc(50% - 50vw);
  padding: 1px 0 60px;
  width: 100vw;
  background: #eee;
}

.member-mytrick::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  overflow: hidden;
  background: url(../images/bg_logo_eee.png) no-repeat right -30vw top 0;
  background-size: auto 900px;
  mix-blend-mode: multiply;
}

.member-mytrick .l-box{
  position: absolute;
  top: -50px;
  width: 300px;
  height: 420px;
  overflow: hidden;
}

.member-mytrick .l-box img{
  object-fit: contain
}

.member-mytrick .r-box{
  width: 68%;
  margin: 0 0 0 auto;
}

.member-mytrick h3{
  font-size: 1.6rem;
  padding: 0;
  color: #000;
}

.member-mytrick h3 .en-txt{
  font-size: 3rem;
  font-style: italic;
  display: inline-block;
  margin-right: 20px;
}

@media screen and (max-width: 1024px) {

  .member-mytrick .r-box{
    width: 58%;
  }
  .member-mytrick::before{
    height: 100%;
  }

}

@media all and (max-width: 599px) {

  .bg-2color{
    margin: 50px calc(50% - 50vw) 0;
    padding-bottom: 50px;
  }

  .member-mytrick{
    padding: 0 3% 50px;
  }
  .member-mytrick::before{
    display: none;
  }
  .member-mytrick .l-box{
    position: static;
    width: 100%;
    height: auto;
    text-align: center;
  }
  .member-mytrick .r-box{
    width: auto;
    margin: 0 auto;
  }

  .member .inner,
  .member-block + .inner{
    margin-top: 0;
    max-width: 100%;
  }
  .bg-2color::before{
    height: 400px;
    top: auto;
    bottom: 0;
    background-position: right -23vw bottom 0;
    background-size: contain;
  }
  .member-mytrick h3 .en-txt{
    display: block;
  }

}

/**/

.schedule-area{
  color: #ddd;
  padding: 50px 0 60px;
}

.schedule-area h2{
  width: 300px;
  margin-top: 0;
  padding-top: 20px;
  font-size: 1.6rem;
  color: #ddd;
  text-align: center;
}

.schedule-area h2 .en-txt{
  display: block;
  font-style: italic;
  font-weight: 600;
  font-size: 4rem;
}

.schedule-area ul{
  position: relative;
  width: 68%;
}

.schedule-area ul::before{
  content: "";
  display: block;
  position: absolute;
  top: 6%;
  left: 100px;
  width: 1px;
  height: 85%;
  background: #1d9fc0;
}

.schedule-area ul li{
  position: relative;
  margin-bottom: 15px;
}

.schedule-area ul li::before{
  content: "";
  display: block;
  position: absolute;
  top: 1.3em;
  left: 96px;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background: #1d9fc0;
}

.schedule-area dl{
  display: flex;
  align-items: baseline;
}

.schedule-area dl dt{
  width: 30%;
}
.schedule-area dt .en-txt{
  display: inline-block;
  width: 3em;
  font-size: 2.4rem;
  font-style: italic;
  text-align: right;
  font-weight: 600;
}
.schedule-area dt .tit{
  display: inline-block;
  padding-left: 60px;
  font-size: 1.8rem;
  font-weight: bold;
}
.schedule-area dd{
  width: 68%;
}

@media screen and (max-width: 1024px) {

  .schedule-area{
    display: block;
    padding: 20px 0;
  }
  .schedule-area h2{
    width: auto;
    margin-top: 0;
  }
  .schedule-area ul{
    width: auto;
  }
  .schedule-area ul::before{
    height: 87%;
  }

}

@media all and (max-width: 599px) {

  .schedule-area{
    padding: 30px 3% 0;
  }
  .schedule-area ul::before{
    height: 92%;
    left: 18vw;
  }
  .schedule-area ul li::before{
    left: 17vw;
  }
  .schedule-area dl{
    justify-content: space-between;
  }
  .schedule-area dl dt{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .schedule-area dt .en-txt{
    font-size: 1.6rem;
  }
  .schedule-area dt .tit{
    padding-left: 0;
    font-size: 1.4rem;
  }
  .schedule-area dd{
    width: 64%;
  }


}

/* more-member ----- */

.more-member{
  padding-bottom: 50px;
}

.more-member h2{
  margin-bottom: 50px;
  text-align: left;
  font-size: 4rem;
  font-weight: 600;
  font-style: italic;
  color: #000;
  background: transparent;
}

.more-member .i-arrow{
    display: inline-block;
    margin: 0 0 0 auto;
    padding-right: 55px;
    font-size: 1.4rem;
}

.more-member .i-arrow::after{
  top: 30%;
}

@media all and (max-width: 599px) { 

  .more-member{
    padding-bottom: 0;
  }

  .more-member h2{
    margin-bottom: 30px;
    font-size: 2.2rem;
  }

}

/* voice ----- */

.voice .page-title{
  margin: 0 auto;
}

.voice .content{
  max-width: 1300px;
  margin-top: 0;
  padding-bottom: 60px;
}

.voice h2{
  padding: 0;
  background: none;
  display: block;
  color: #000;
}

.voice-title{
  width: 100%;
  position: relative;
}
.voice-title::before{
  content: "";
  display: block;
  position: absolute;
  top: 300px;
  width: 100%;
  height: 800px;
  background: url(../images/bg_logo_eee.png) no-repeat left -12vw top 0;
  background-size: auto 800px;
  mix-blend-mode: multiply;
}
.voice-main{
  width: 1100px;
  height: 400px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  z-index: 3;
}
.voice-main img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.voice-date{
  position: relative;
  margin-top: -100px;
  padding: 150px 0 60px;
  color: #ddd;
  background-color: rgba(51,51,51,0.9);
}
.voice-date::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/bg_logo_666.png) no-repeat left -12vw top 0;
  background-size: auto 800px;
  mix-blend-mode: multiply;
  opacity: 0.9;
}
.voice-date .inner{
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction:row-reverse;
  justify-content: space-between;
}
.voice-date .voice-copy{
  width: 50%;
  line-height: 1.5;
  font-size: 3.8rem;
  font-weight: bold;
}
.voice-date .voice-post h1{
  font-size: 1.8rem;
  font-weight: bold;
  text-align: right;
}
.voice-date .voice-post h1 span{
  display: block!important;
}

.voice-talk{
  width: 50%;
  padding:0 3% 0 8%;
}

.voice-img-r{
  width: 620px;
  height: 360px;
  overflow: hidden;
}

._flex.or-sp .voice-talk{
  padding:0 8% 0 3%;
}

.voice-img-l{
  position: relative;
  margin-top: 40px;
  width: 620px;
  height: 360px;
  overflow: hidden;
}

.voice-img-r img,
.voice-img-l img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.voice-colm2-img{
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.voice-colm2-img div{
  width: 620px;
  height: 260px;
  text-align: center;
  overflow: hidden;
}
.voice-colm2-img div img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media all and (-ms-high-contrast: none) {
  /* IE11にのみ適用したいスタイルシート */

  .voice-title::before,
  .voice-date::after{
      opacity: 0.5;
  }

  .voice-main img,
  .voice-img-r img,
  .voice-img-l img,
  .voice-colm2-img div img{
    height: auto;
  }

}


@media all and (max-width: 1024px) { 

  .voice-main{
    width: 90%;
    height: 200px;
  }
  .voice-title::before{
    top: 100px;
    height: 600px;
    background-size: auto 600px;
  }
  .voice-date{
    padding: 150px 0 40px;
  }
  .voice-date::after{
    background-size: auto 600px;
  }

  .voice-date .voice-copy{
    width: 70%;
    font-size: 3rem;
  }

  .voice-talk,
  ._flex.or-sp .voice-talk{
    padding:0 3% 0 3%;
  }
  .voice-img-r{
    width: 50%;
  }

}

@media all and (max-width: 599px) { 

  .voice .content{
    max-width: 90%;
  }
  .voice .inner{
    max-width: 100%;
  }

  .voice-main{
    height: 31vw;
  }
  .voice-date{
    margin-top: -8vw;
    padding: 12vw 0 5vw;
  }
  .voice-date::after{
    background-position: left -55vw top 0;
    background-size: auto 400px;
  }
  .voice-title::before{
    top: 23vw;
    height: 400px;
    background-position: left -55vw top 0;
    background-size: auto 400px;
  }
  .voice-date .inner{
    flex-direction: column-reverse;
    top: 0;
    width: 90%;
  }
  .voice-date .voice-post h1{
    text-align: left;
    font-size: 1.6rem;
  }
  .voice-date .voice-copy{
    font-size: 2rem;
    width: auto;
  }
  .voice-talk{
    width: auto;
  }
  .voice-img-r,
  .voice-img-l{
    margin-top: 1.5em;
    width: auto;
    height: 36vw;
  }
  .voice-colm2-img{
    display: block;
    margin: 1.5em calc(50% - 50vw);
    width: 100vw;
  }
  .voice-colm2-img div{
    width: 94%;
    height: 36vw;
    margin: 0 0 0 auto;
  }
  .voice-colm2-img div:first-of-type{
    margin: 0 auto 1.5em 0;
  }
  .voice-colm2-img + .inner h2{
    margin-top: 1.5em;
  }
  .voice-talk, ._flex.or-sp .voice-talk{
    padding: 0;
  }

}

/* tit-type ----- */

.tit-type01{
  position: relative;
  padding-left: 90px;
}

.tit-type02{
  position: relative;
  padding-left: 20px;
}

.tit-type01 .vt-txt,
.tit-type02 .vt-txt{
  position: absolute;
  left: -5px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: #1d9fc0;
  font-size: 1.1rem;
  font-family: 'Roboto', sans-serif;
  font-weight:900;
  letter-spacing: 1px;
  vertical-align: baseline;
}

.tit-type02 .vt-txt{
  top: 20px;
  color: #000;
}

.tit-type01 .number{
  position: absolute;
  top: -5px;
  left: 30px;
  line-height: 1;
  color: #1d9fc0;
  font-size: 7.2rem;
  font-family: 'Roboto', sans-serif;
  font-style: italic;
}

.tit-type01 h2,
.tit-type02 h2{
  vertical-align: top;
  display: inline;
  padding: 1rem;
  line-height: 1.8;
}


@media all and (max-width: 1024px) { 

  .tit-type01 h2, .tit-type02 h2{
    font-size: 2.6rem;
  }

}



@media all and (max-width: 599px) { 

  .tit-type01{
    padding-left: 60px;
  }
  .tit-type01 .vt-txt,
  .tit-type02 .vt-txt{
    font-size: 1rem;
    top: -5px;
  }

  .tit-type01 .number{
    font-size: 5rem;
    left: 15px;
  }

  .tit-type01 h2, .tit-type02 h2{
    line-height: 2.2;
  }

}

/* about ----- */

.about-area01{
  margin-top: 100px;
  padding-right: 48%;
}

.about-area01::before{
  content: "";
  display: block;
  width: 700px;
  height: 320px;
  background: url(../top/images/img_graf_001.png) no-repeat right 0;
  background-size: contain;
  position: absolute;
  right: 0; 
}
.about-area02{
  margin-top: 150px;
}
.about-area02 .about-txt{
  width: 50%;
}
.about-area02 .about-img{
  width: 560px;
  margin: 0 -50px 0 0;
  text-align: center;
}
.fd-row-r.about-area02 .about-img{
  margin: 0 0 0 -50px;
}

@media all and (max-width: 1024px) {

  .about-area01{
    margin-top: 0;
    padding-right: 0;
    padding-bottom: 320px;
    position: relative;
  }
  .about-area01::before{
    width: 100%;
    bottom: 0;
    right: -3%;
  }

  .about-area02{
    margin-top: 60px;
    display: block;
  }

  .about-area02 .about-txt{
    width: auto;
  }

  .about-area02 .about-img{
    width: auto;
    margin: 30px auto 0;
  }

  .fd-row-r.about-area02 .about-img{
    margin: 30px auto 0;
  }

}

@media all and (max-width: 599px) {
  
  .about-area01{
    padding-bottom: 250px;
    position: relative;
  }
  .about-area01::before{
    height: 200px;
    bottom: 0;
    right: -5%;
  }
  
}

/* e-flow ---- */

.e-flow{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.e-flow li{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 16%;
  height: 100px;
  margin-left: 5%;
  color: #fff;
  text-align: center;
  background: #234A7D;
  position: relative;
}
.e-flow li::before{
  content: "";
  position: absolute;
  top: 35%;
  left: -22%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 23px;
  border-color: transparent transparent transparent #333;
}
.e-flow li:first-child{
  margin-left: 0;
}
.e-flow li:first-child::before{
  display: none;
}

@media all and (max-width: 599px) { 

  .e-flow{
    display: block;
  }
  .e-flow li{
    width: auto;
    margin-top: 40px;
    margin-left: auto;
  }
  .e-flow li::before{
    top: -25px;
    left: 0;
    right: 0;
    margin: auto;
    border-width:10px 0 10px 20px;
    transform: rotate(90deg)
  }

}

/* img-list02 */

.img-list02{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.img-list02 li{
  width: 24%;
  aspect-ratio: 1 / 0.7;
  overflow: hidden;
}

.img-list02 li img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (-ms-high-contrast: none) {
  /* IE11にのみ適用したいスタイルシート */
  .img-list02 li img{
    height: auto;
  }

}

@media all and (max-width: 599px) { 

  .img-list02 li{
    width: 48%;
    margin-bottom: 3%;
  }

}

/* data-01 data-02 ----- */

.cp-data{
  background: url(../images/bg_logo_ddd.png) no-repeat right -15vw top 250px;
  background-size: auto 490px;
}

.data-02{
  position: relative;
  margin-top: 100px;
  padding-bottom: 40px;
}

.data-02::before{
  content: "";
  display: block;
  position: absolute;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 100%;
  background: #ddd;
  z-index: -1;
}

.data-01 ._flex,
.data-02 ._flex{
  margin-bottom: 40px;
  border-top: 1px solid #fff;
  position: relative;
  z-index: 3;
}

.data-01 ._flex:first-of-type,
.data-02 ._flex:first-of-type{
  border: none;
}
.data-02 ._flex:first-of-type{
  padding-top: 100px;
}

.data-01 ._flex:first-of-type dl,
.data-02 ._flex:first-of-type dl{
  margin-top: 0;
}

.data-01 dl,
.data-02 dl{
  padding: 0 20px;
  text-align: center;
  border-left: 1px solid #fff;
}

.data-01 dl:first-child,
.data-02 dl:first-child,
.tit-type02 + dl{
  border-left: none;
}

.data-01 dt,
.data-02 dt,
.data-04 dt{
  display: inline-block;
  padding-bottom: 30px;
  color: #000;
  text-align: center;
  font-weight: bold;
  background: url(../images/bg_data_tit.png) no-repeat center bottom;
}

.data-01 dd,
.data-02 dd{
  margin-top: 20px;
}
.n-value{
  color: #114b81;
  font-size: 2.6rem;
  font-weight: bold;
}
.n-value .en-txt{
  font-size: 7.2rem;
  font-style: italic;
  font-weight: 600;
  letter-spacing: -1px;
}

.data-02 .tit-type02 h2{
  color: #16487c;
  background: linear-gradient(transparent 90%, #16487c 0%);
}

.data-03{
  position: relative;
  padding-top: 100px;
}

.data-03::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100vw;
  height: 490px;
  background: url(../images/bg_logo_ddd.png) no-repeat right -3vw top;
  background-size: auto 490px;
  z-index: -1;
}

dl.point-tit01{
  margin-top: 0;
  padding-bottom: 70px;
  align-items: center;
  border-bottom: 1px solid #fff;
}
dl.point-tit02{
  margin: 80px auto;
  padding: 0 50px;
}

.point-tit02 dt{
  text-align: center;
  padding-bottom: 20px;
}
.point-tit01 dt span{
  color: #edb018;
  font-weight: 600;
  display: inline-block;
}
.point-tit02 dt span{
  color: #16487c;
  font-weight: 600;
}
.point-tit01 dt span:first-child,
.point-tit02 dt span:first-child{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 1.1rem;
  font-family: 'Roboto', sans-serif;
  font-weight:900;
  letter-spacing: 1px;
  line-height: 1;
  vertical-align: baseline;
}

.point-tit01 dt span:nth-child(2),
.point-tit02 dt span:nth-child(2){
  font-size: 4.8rem;
  font-style: italic;
  letter-spacing: -0.04em;
}
.point-tit01 dt span:nth-child(3),
.point-tit02 dt span:nth-child(3){
  font-size: 7.2rem;
  font-style: italic;
  letter-spacing: -0.5em;
}
.point-tit01 dt span:nth-child(4){
  padding-left: 30px;
  color: #000;
  font-size: 3.3rem;
  font-weight: bold;
}
.point-tit02 dt span:nth-child(4){
  display: block;
  margin-top: 20px;
  color: #000;
  font-size: 3.3rem;
  font-weight: bold;
}
.point-tit02 dd{
  margin-top: 20px;
}
.line01{
  border-right: 1px solid #fff;
}

.talk-icon-list li{
  margin-bottom: 10px;
  padding-left: 30px;
  background: url(../images/icon_talk.png) no-repeat 0 0.3em;
}

.data-04 dl{
  text-align: center;
}
.data-04 ._flex{
  flex-wrap: wrap;
}
.data-04 ._flex li{
  width: 300px;
  margin-top: 20px;
  text-align: left;
}
.data-04 ._flex li p:nth-child(2){
  padding-left: 30px;
  background: url(../images/icon_talk.png) no-repeat 0 0.3em;
}

@media all and (max-width: 1024px) { 

  .n-value .en-txt{
    font-size: 6rem;
  }

  .point-tit01 dt span:nth-child(4),
  .point-tit02 dt span:nth-child(4){
    font-size: 2.4rem;
  }

  .data-04 ._flex{
    justify-content: space-around;
  }

}

@media all and (max-width: 599px) { 

  .data-01 ._flex:first-of-type dl,
  .data-02 ._flex:first-of-type dl{
    margin-top: 30px;
  }

  .data-01 dl,
  .data-02 dl{
    border-left: none;
    padding-top: 20px;
  }

  .line01{
    border-right: none;
  }

  .data-04 ._flex li{
    width: auto;
  }
  dl.point-tit01 dt,
  dl.point-tit01 dt + dd{
    text-align: center;
    margin-bottom: 20px;
  }
  dl.point-tit02{
    padding: 0;
    margin: 0 auto;
  }

  .data-04 ._flex li p:nth-child(1){
    text-align: center;
  }
  .data-04 ._flex li p:nth-child(1) img{
    width: 100%;
  }
  .data-04 ._flex li p:nth-child(2){
    margin-top: 10px;
  }


}

/* keyword-list ----- */

.keyword-list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.keyword-list > li{
  width: 250px;
  height: 250px;
  margin-bottom: 25px;
  text-align: center;
  background: #fff;
  border: 2px solid #fff;
}

.keyword-list > li:hover{
  border-color: #1d9fc0;
}

.keyword-list li a{
  display: block;
  height: 100%;
  cursor: pointer;
  background: url(../images/icon_zoom.png) no-repeat right 20px bottom 20px;
  background-size: 18px 18px;
}

.keyword-list li dt,
.key-tit span{
  padding: 30px 0 20px;
  color: #aaa;
  font-family: 'Roboto', sans-serif;
  font-weight:900;
  font-style: italic;
  font-size: 1.4rem;
}

.key-tit span{
  display: block;
  padding: 0 0 40px;
  color: #1d9fc0;
}

.keyword-list li dt span{
  display: block;
  margin: 0 auto;
  height: 70px;
  line-height: 0.5;
}

.keyword-list li dt span span{
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-weight:600;
  font-style: italic;
  height: auto;
  padding-top: 20px;
}

.n100{
  color:#104b84;
  font-size: 4.8rem;
}
.nth{
  color: #1d9fc0;
  font-size: 3rem;
}

.keyword-list li dt span svg{
  width: auto;
  height: 60px;
  fill: #104b84;
}

.sv-s svg{
  height: 40px!important;
}

.keyword-list li dd{
  font-size: 2.4rem;
  line-height: 1.3;
  color: #333;
  font-weight: bold;
}

.iziModal-content ._flex{
  padding: 100px;
}

.iziModal-content .close{
  position: absolute;
  right: 20px;
  top: 10px;
  width: 60px;
  height: 60px;
  line-height: 60px;
  font-size: 5rem;
  font-weight: bold;
  cursor: pointer;
}

.key-tit{
  width: 40%;
  margin-top: 20px;
}

.key-tit h2{
  clear:both;
  display: inline;
  margin:50px 0 0;
  padding: 1rem;
  font-size: 3.2rem;
  line-height: 1.8;
  font-weight:bold;
  color: #1d9fc0;
  background: linear-gradient(transparent 90%, #1d9fc0 0%);
}

.key-tit .icon-big svg{
  width: auto;
  height: 74px;
  fill: #1d9fc0;
}

.key-tit .icon-big span{
  display: inline;
}

.key-tit .icon-big .n100{
  color:#1d9fc0;
  font-size: 6rem;
}
.key-tit .icon-big .nth{
  color: #104b84;
  font-size: 4rem;
}

.key-list{
  width: 60%;
  padding-left: 60px;
  border-left: 1px solid #ddd;
}

ul.key-list li{
  text-align: left;
  margin-bottom: 20px;
  padding: 2rem 2rem 2rem 70px;
  background: url(../midcareer/real-intention/images/icon_p_l_blue.png) no-repeat 2rem 2rem;
}

@media all and (max-width: 1024px) { 

  .keyword-list::after{
    content: "";
    width: 250px;
    height: 0;
  }

  .iziModal-content ._flex{
    padding: 50px;
  }

  .iziModals20 .key-tit .icon-big svg{
    height: 34px;
  }


}

@media all and (max-width: 599px) { 


  .keyword-list > li{
    width: 42vw;
    height: 42vw;
  }
  .keyword-list li dt,
  .key-tit span{
    padding: 15px 0 10px;
    font-size: 1.2rem;
  }

  .keyword-list li dt span{
    height: 40px;
  }
  .keyword-list li dt span svg{
    height: 30px;
  }

  .sv-s svg{
    height: 20px!important;
  }

  .keyword-list li dt span span{
    padding-top: 10px;
  }
  .n100{ font-size: 3rem;}
  .nth { font-size: 1.8rem;}

  .keyword-list li a{
    background-position: right 5px bottom 5px;
  }

  .keyword-list li dd{
    font-size: 1.6rem;
  }
  .iziModal-content ._flex{
    padding: 20px;
  }
  .key-tit{
    width: auto;
  }
  .key-tit h2{
    font-size: 2rem;
  }
  .key-tit .icon-big svg{
    height: 60px;
  }
  .key-tit .icon-big .n100{
    font-size: 4rem;
  }
  .key-tit .icon-big .nth{
    font-size: 2rem;
  }
  .key-list{
    width: auto;
    padding-left: 0;
    border: none;
  }
  
  .iziModal-content .close{
    right: 10px;
    top: 10px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 3rem;
  }
  

}

/* welfare-list ----- */

.welfare-list{
  flex-wrap: wrap;
}

.welfare-list dl{
  width: 45%;
}

.welfare-list dl dt{
  margin-bottom: 1rem;
  padding-bottom: 10px;
  color:#1d9fc0;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  border: 1px solid #1d9fc0;
}

.welfare-list dl dt span{
  display: block;
  padding: 5px 0;
  margin: 0 0 10px;
  text-align: center;
  background: #1d9fc0;
}

.welfare-list dl dt span img{
  width: 56px;
  height: auto;
}

@media all and (max-width: 599px) { 

  .welfare-list dl{
    width: auto;
  }

}

/* realvoice */
.realvoice{
  max-width: 100%;
  background: #ddd;
}
.realvoice .content{
  max-width: 100%;
  margin: 0 auto;
}
/* real-box01 ----- */

.real-box01{
  position: relative;
  padding: 0 0 250px;
  width: 100vw;
  z-index: 3;
}
.real-box01::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 50vw;
  height: 700px;
  background: #cecece;
  z-index: -1;
}

.real-box01::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 320px;
  background: #333;
  z-index: -2;
}

.real-box01 .bg-m{
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50vw;
  height: 600px;
  background: url(../midcareer/real-intention/images/bg_real_001.png) no-repeat left bottom;
  background-size: contain;
}

.real-box01 .inner{
  max-width: 1200px;
}

.job-color{
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  padding: 0 10%;
  height: 8em;
}
.job-color li::before{
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 5px;
}
.job-color li:first-child::before{
  background: #114b81;
}
.job-color li:nth-child(2)::before{
  background: #1d9fc0;
}
.job-color li:nth-child(3)::before{
  background: #9e63c9;
}
.job-color li:nth-child(4)::before{
  background: #75ba4d;
}
.job-color li:nth-child(5)::before{
  background: #edb018;
}
.job-color li:nth-child(6)::before{
  background: #ef5435;
}
.job-color li:nth-child(7)::before{
  background: #3e9b6c;
}
.job-color li:nth-child(8)::before{
  background: #cc4aa4;
}

.real-box02{
  margin: 100px auto 0;
}
.real-box02 .tit-type02{
  padding-left: 40px;
}
.tit-blue .tit-type02 h2{
  color:#16487c;
  background: linear-gradient(transparent 90%, #16487c 0%);
}

.real-box02 ._flex{
  flex-wrap: wrap;
}

.real-box02 ._flex.fd-row-r{
  flex-wrap: nowrap;
  padding-left: 20%;
  align-items: center;
  justify-content: left;
}

.i-graph{
  margin-right: 30px;
}

.real-box02 dl{
  padding: 2rem;
  border: 2px solid #ccc;
}

.real-box02 dl dt{
  padding:0 0 10px 50px;
  font-weight: bold;
  font-size: 1.8rem;
  background: url(../midcareer/real-intention/images/icon_p_blue.png) no-repeat 0 0;
}

.real-box02 ul li{
  width: 32%;
  margin-bottom: 20px;
  padding: 2rem 2rem 2rem 70px;
  border: 2px solid #ccc;
  background: url(../midcareer/real-intention/images/icon_p_blue.png) no-repeat 2rem 2rem;
}

.real-box02 dl dt.icon-lb,
.real-box02 ul.icon-lb li{
  background-image: url(../midcareer/real-intention/images/icon_p_l_blue.png);
}
.real-box02 dl dt.icon-gr{
  background-image: url(../midcareer/real-intention/images/icon_p_gr.png);
}

.real-box02:last-of-type {
  padding-bottom: 50px;
}

@media all and (max-width: 1024px) { 

  .job-color{
    padding: 0;
  }

}

@media all and (max-width: 599px) { 

  .real-box01{
    margin: 0;
    padding: 0 0 200px;
    background: url(../midcareer/real-intention/images/bg_real_sp.png) no-repeat left bottom;
    background-size: 100% auto;
  }
  .real-box01::before,
  .real-box01::after{
    display: none;
  }
  .real-box01 .bg-m{
    display: none;
  }
  .real-box01 .inner{
    max-width: 90%;
  }
  .real-box01 .sub-tit{
    padding-top: 20px;
  }
  .real-box01 .pad-l50{
    padding-left: 0;
    background-color: #ccc;
  }
  .real-box01 .inner div:first-of-type{
    background-color: transparent;
  }
  .job-color{
    display: block;
    height: auto;
    padding: 0 20px;
  }
  .job-color + p{
    padding: 0 20px 20px;
  }

  .real-box02 .tit-type02{
    padding-left:20px;
  }
  .real-box02 ul li{
    width: auto;
  }
  .real-box02 ._flex.fd-row-r{
    padding-left: 0;
  }
  .i-graph{
    margin: 20px auto 0;
    text-align: center;
  }
  
}

/* midcareer ----- */
.content.ma-b0.midcareer {
  margin-top: 60px;
}


/* job ----- */

.job-flow{
  width: 700px;
  margin-top: 40px;
}

.job-list{
  width: 340px;
  margin-top: 40px;
}

.job-list ul{
  margin-top: 0;
  border-top: 1px solid #ccc;
}

.job-list li{
  border-bottom: 1px solid #ccc;
}

.job-list li a{
  display: block;
  padding: 20px 30px 20px 0;
  font-size: 1.8rem;
  font-weight: bold;
  background: url(../images/icon_arrow.png) no-repeat right 1rem center;
  background-size: 15px auto;
  transition: all .3s;
  cursor: pointer;
}
.job-list li a:hover{
  background-image: url(../images/icon_arrow_blue.png);
  background-position: right 0 center;
}

.job-tit h3{
  font-size: 2.4rem;
  font-weight: bold;
  text-align: left;
}

.job-list li a span,
.job-tit h3 span{
  display: inline-block;
  width: 30px;
  height: 30px;
  line-height: 29px;
  margin-right: 10px;
  color: #fff;
  text-align: center;
  font-family: 'Barlow', sans-serif;
  font-style: italic;
  font-weight: 600;
  background: #114b81;
}

.job-tit{
  width: 40%!important;
}

.job-txt{
  width: 56%;
  margin-top: 40px;
}

@media all and (max-width: 1024px) { 

  .job-content{
    display: block;
  }

  .job-flow .pc{
    display: none;
  }

  .job-flow .sp{
    display: block!important;
  }

  .job-flow,
  .job-list,
  .job-tit,
  .job-txt{
    width: auto!important;
  }

}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .job-tit {
    padding-right: 20px;
    width: 40% !important;
  }
  .job-tit h3 {
    white-space: nowrap;
  }
  .job-txt {
    width: 60% !important;
  }
}


/* story ----- */

.content.story{
  max-width: 100%;
  margin: 0 auto;
}

.story-title{
  display: flex;
  flex-direction: row-reverse;
}

.sttitle{
  width: 50vw;
  height: 500px;
  padding: 6.5% 5% 0 6%;
  text-align: left;
  color: #fff;
  background: #333;
  position: relative;
}
.sttitle::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: url(../images/bg_logo_aaa.png) no-repeat right -19.5vw top 0;
  background-size: auto 100%;
  mix-blend-mode: multiply;
}

.sttitle h1{
  position: relative;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 5px;
  position: relative;
  z-index: 4;
}
.sttitle span{
  display: block;
  font-size: 1.6rem;
  font-weight: 600;
}

.read-txt h2{
  font-size: 2.4rem;
  letter-spacing: 2px;
  color: #000;
  padding: 0;
  background: none;
}

.story-member{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 450px;
  margin-top: -70px;
  padding-bottom: 70px;
  position: relative;
  z-index: 5;
}

.story-member dl{
  width: 44.5%;
  margin: 0 0 20px;
  font-size: 1.4rem;
}

.story-member dd.initial{
  font-size: 1.5rem;
  font-weight: bold;
}
.story-member dd.initial span{
  display: block;
  font-size: 2rem;
  font-family: 'Barlow', sans-serif;;
}

.stm-color01{ color: #114b81;}
.stm-color02{ color: #1d9fc0;}
.stm-color03{ color: #1dc0af;}
.stm-color04{ color: #3dbf5e;}

.story-colom2{
  height: 450px;
  position: relative;
  top: -50px;
}

.story-colom2 div:nth-of-type(1){
  position: absolute;
  top: 0;
  left: 0;
  width: 600px;
}

.story-colom2 div:nth-of-type(2){
  position: absolute;
  top: 50px;
  left: 600px;
  width: 600px;
}

.st-talk{
  display: flex;
  justify-content: space-between;
}

.st-talk dt{
  width: 12%;
  text-align: center;
}

.st-talk dt span.st-icon{
  display: block;
  width: 80px;
  height: 80px;
  margin: 0 auto;
  border-radius: 100%;
  overflow: hidden;
}

.st-talk dt span img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.st-talk dt span:nth-child(2){
  font-family: 'Barlow', sans-serif;
  font-weight: bold;
  font-size: 2rem;
}
.st-talk dd{
  width: 86%;
  margin-top: 1rem;
}

@media all and (-ms-high-contrast: none) {
  /* IE11にのみ適用したいスタイルシート */

  .st-talk dt span img{
    height: auto;
  }

}


@media all and (max-width: 1024px) { 

  .sttitle{
    height: 400px;
  }
  .sttitle h1{
    font-size: 3rem;
  }
  .story-photo{
    width: 50vw;
  }
  .story-member{
    max-width: 48%;
  }

  .story-colom2{
    max-width: 100%;
    padding-left: 0;
    height: 45vw;
  }
  .story-colom2 div:nth-of-type(1){
    width: 50%;
  }
  
  .story-colom2 div:nth-of-type(2){
    left: 50%;
    width: 50%;
  }

}

@media all and (max-width: 599px) { 

  .story-title{
    flex-direction: column-reverse;
  }

  .sttitle{
    width: 100%;
    height: 200px;
  }
  .sttitle::before{
    width: 100%;
    height: 100%;
    background: url(../images/bg_logo_aaa.png) no-repeat right -35vw top 0;
    background-size: auto 250px;
    mix-blend-mode: multiply;
  }
  .sttitle h1{
    font-size: 2.4rem;
  }

  .story h2{
    line-height: 2.2;
  }

  .read-txt{
    padding-top: 30px;
  }
  .read-txt h2{
    font-size: 1.8rem;
    line-height: 2;
  }
  .story-photo{
    width: 100%;
  }

  .story-member{
    max-width: 100%;
    margin-top: 40px;
  }
  .story-member dl{
    width: 48%;
  }

  .st-talk dt{
    width: auto;
  }
  .st-talk dt span.st-icon{
    width: 60px;
    height: 60px;
  }
  .st-talk dd{
    width: 75%;
  }

}

/* mese */

.mese .float-r{
  padding: 0 0 40px 40px;
}

@media all and (max-width: 599px) { 

  .mese .float-r{
    padding: 0 0 20px;
  }

}


/* bg-message */

.content.message{
  margin: 0 auto 80px;
}

.bg-message{
  position: relative;
  margin: 0 calc(50% - 50vw);
  padding: 50px 0 60px;
  width: 100vw;
  background: url(../about/entry/images/bg_entry.png) no-repeat center 0;
  background-size: cover;
}

.bg-message h2{
  color: #114b81;
  background: linear-gradient(transparent 90%, #114b81 0%);
}

.bg-message p{
  margin: 50px 0 0;
}

@media all and (max-width: 599px) {


  .bg-message{
    background: url(../about/entry/images/bg_entry_sp.png) no-repeat center 0;
    background-size: cover;
  }

}


/* ブログ */
.index-list h2 a {
  color: #1d9fc0;
  transition: all .1s ease 0s;
}
.index-list h2 a:hover {
  opacity: 0.7;
}
.index-list dl dt.blog-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media all and (-ms-high-contrast: none) {
  /* IE11にのみ適用したいスタイルシート */

  .index-list dl dt.blog-img img{
    height: auto;
  }

}