@charset "UTF-8";
/* common */
* {
  box-sizing: border-box; }

body {
  font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"; }

.pcNone {
  display: none; }

.spNone {
  display: block; }

a {
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s; }
  a:hover {
    opacity: 0.7;
    text-decoration: none; }
  a::before, a::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s; }

strong {
  font-weight: 700; }
  strong span {
    font-weight: 700; }

.wrapper {
  width: 1100px;
  margin: auto;
  padding: 0; }

.contents {
  width: 100%; }

.contentsInner {
  width: 100%;
  margin: auto;
  padding: 90px 50px 50px; }

header {
  background-color: #2f2f2f;
  display: flex;
  width: 100%;
  height: 99px;
  position: relative; }
  header:after {
    content: url(/common/images/bg_header.png);
    width: 100%;
    position: absolute;
    bottom: -11px;
    left: 0;
    right: 0;
    z-index: 1; }
  header a {
    color: #fff;
    text-decoration: none; }

.pcHeader {
  display: block;
  width: 100%; }

.spHeader {
  display: none; }

.linkArea {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  right: 0; }
  .linkArea li {
    font-size: 14px;
    font-weight: 700;
    line-height: 2.35;
    letter-spacing: -0.025em;
    padding: 4px 11px; }
    .linkArea li:nth-child(2) {
      border-left: 1px solid #777; }
    .linkArea li:first-child a img {
      margin-bottom: 2px; }
    .linkArea li:last-child {
      background-color: #0073bd;
      padding: 0; }
      .linkArea li:last-child a {
        padding: 4px 11px; }
    .linkArea li a {
      display: block; }
      .linkArea li a img {
        display: inline-block;
        vertical-align: middle;
        margin-right: 7px; }

.headerInner {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 28px 25px; }

.headerLogo a {
  display: block;
  height: 43px; }
  .headerLogo a span {
    display: block;
    font-size: 11px;
    letter-spacing: -0.06em;
    padding-bottom: 11px; }

.headerNav {
  align-self: flex-end;
  margin-bottom: -5px; }
  .headerNav ul {
    display: flex;
    justify-content: space-between; }
  .headerNav li a {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.025em;
    padding-bottom: 15px; }
    .headerNav li a:hover, .headerNav li a.current {
      border-bottom: 2px solid #0073bd; }
  .headerNav li:not(:first-child) {
    margin-left: 1.5em; }

footer {
  background-color: #19447b; }

.btnArea {
  padding: 80px 50px; }
  .btnArea ul {
    display: flex;
    justify-content: space-between;
    margin: 0 auto; }
  .btnArea .btn a {
    border: 1px solid #fff; }
    .btnArea .btn a span {
      letter-spacing: normal; }

.bnrArea {
  background-color: #c6cfd4;
  display: flex;
  justify-content: space-between;
  padding: 77px 50px; }
  .bnrArea li {
    width: 300px; }
    .bnrArea li a {
      background-color: #fff;
      display: block;
      color: #000;
      text-decoration: none;
      padding: 26px; }
      .bnrArea li a span {
        display: block;
        font-size: 18px;
        text-align: center;
        margin: 0 auto 24px; }

.footerInner {
  color: #fff;
  font-size: 16px;
  padding: 75px 50px 20px; }

.btnArea + .footerInner {
  border-top: 2px solid #39649a; }

.footerNav ul {
  display: flex;
  justify-content: center; }
  .footerNav ul li {
    border-right: 1px solid #fff;
    margin-right: 1.5em;
    padding-right: 1.5em; }
    .footerNav ul li:last-child {
      border-right: none;
      margin-right: 0;
      padding-right: 0; }
    .footerNav ul li a {
      color: #fff;
      text-decoration: none; }

.copyright {
  text-align: center;
  margin: 50px auto 0; }

/* contents */
.mainVisual {
  position: relative; }

.slideArea {
  position: relative; }
  .slideArea .slick-prev {
    background: url(/common/images/slide_prev.png) no-repeat;
    width: 20px;
    height: 39px;
    margin-top: -39px;
    position: absolute;
    top: 50%;
    left: 17px;
    text-indent: -99999px;
    border: none;
    z-index: 1;
    cursor: pointer; }
  .slideArea .slick-next {
    background: url(/common/images/slide_next.png) no-repeat;
    width: 20px;
    height: 39px;
    margin-top: -39px;
    position: absolute;
    top: 50%;
    right: 17px;
    text-indent: -99999px;
    border: none;
    z-index: 1;
    cursor: pointer; }

.slick-dots {
  width: 85px;
  margin: 0 auto;
  position: absolute;
  bottom: 25px;
  left: 0;
  right: 0; }
  .slick-dots li {
    border-radius: 50px;
    display: inline-block;
    width: 14px;
    margin: 0 0 0 21px;
    list-style: none; }
    .slick-dots li:first-child {
      margin-left: 0; }
    .slick-dots li button {
      background-color: #958a80;
      border: none;
      border-radius: 50px;
      width: 14px;
      height: 14px;
      color: #958a80;
      padding: 0;
      cursor: pointer; }
    .slick-dots li.slick-active button {
      background-color: #fff;
      color: #fff; }

.mainVisual .txtArea {
  color: #fff;
  text-align: center;
  position: absolute;
  top: 77px;
  left: 0;
  right: 0;
  margin: auto; }

.mainVisual h1 {
  margin: 0 auto 55px; }

.mainVisual h1 span {
  display: block;
  font-size: 20px;
  letter-spacing: 0.02em;
  margin: 0 auto 15px; }

.mainVisual h1 img {
  margin-left: 15px; }

.mainVisual .txtArea p {
  font-size: 16px;
  line-height: 2.375;
  letter-spacing: 0.1em; }

.mainVisual .txtArea .btn {
  margin: 90px auto 0; }

.contHead {
  color: #19447b;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-align: center;
  margin: 0 auto 25px;
  position: relative; }
  .contHead:after {
    content: '';
    border-bottom: 5px solid #888;
    width: 66px;
    margin: auto;
    position: absolute;
    bottom: 37px;
    left: 0;
    right: 0; }
  .contHead span {
    display: block;
    font-size: 17px;
    letter-spacing: 0.05em;
    padding-top: 45px; }

.innerTitle .contHead {
  font-size: 28px;
  letter-spacing: 0.1em; }
  .innerTitle .contHead:after {
    bottom: -25px; }

.article {
  display: flex;
  flex-wrap: wrap;
  margin: 50px auto 0; }
  .article li {
    width: 325px;
    margin: 0 12px 12px 0; }
    .article li:nth-child(3n) {
      margin-right: 0; }
    .article li.comingsoon {
      border: 1px solid #ccd3d6;
      display: flex;
      justify-content: center; }
      .article li.comingsoon span {
        align-self: center;
        color: #8e8e8e;
        font-size: 20px; }
    .article li a {
      background-color: #e9eff2;
      display: block;
      height: 100%;
      color: #000;
      font-size: 16px;
      line-height: 1.625;
      text-decoration: none;
      position: relative; }
  .article .imgBox {
    background-color: #fff;
    line-height: 0;
    overflow: hidden;
    width: 100%;
    height: calc(25.7vmin);
    position: relative; }
    .article .imgBox img {
      min-width: 100%;
      min-height: 100%;
      max-width: 120%;
      max-height: 120%;
      vertical-align: bottom;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      object-fit: cover; }
  .article .txtArea {
    padding: 30px 20px 20px;
    position: relative; }
  .article.entryTask .txtArea {
    padding-bottom: 50px; }
  .article .taskNumber {
    background-color: #ba458c;
    border-radius: 30px;
    width: 170px;
    height: 34px;
    color: #fff;
    font-weight: 700;
    text-align: center;
    margin: 0 0 17px;
    padding: 4px 12px;
    position: absolute;
    top: -17px; }
  .article .period {
    padding-left: 5em;
    text-indent: -5em; }
  .article .recruitTag {
    width: 108px;
    height: 28px;
    color: #fff;
    font-size: 15px;
    line-height: 1;
    text-align: center;
    margin: auto;
    padding: 7px 0 6px;
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0; }

.btn {
  text-align: center;
  margin: 50px auto 0; }
  .btn a {
    background-color: #19447b;
    border-radius: 100px;
    display: inline-block;
    min-width: 270px;
    height: 55px;
    color: #fff;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    margin: auto;
    padding: 18px 45px 18px 21px; }
    .btn a.long {
      width: 388px; }
    .btn a.largeBtn {
      width: 420px;
      height: 78px;
      padding: 27px 45px; }
  .btn .largeBtn span {
    font-size: 24px; }
  .btn a span {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    position: relative; }
    .btn a span:before, .btn a span:after {
      content: "";
      display: inline-block;
      border: 7px solid transparent;
      border-left-color: #fff;
      position: absolute;
      top: 50%;
      margin-top: -7px; }
    .btn a span:before {
      border-left-color: #19447b;
      right: -25px;
      z-index: 1; }
    .btn a span:after {
      right: -27px; }

.lede {
  font-size: 18px;
  line-height: 1.66;
  text-align: center;
  margin: 55px auto 0; }

/* TAG */
/* tag - article */
.tagOrange {
  background-color: #f59300; }

.tagGray {
  background-color: #aaa; }

.tagGreen {
  background-color: #393; }

.tagPink {
  background-color: #f66; }

.tagBlue {
  background-color: #369; }

/* tag - news */
.tagTask {
  background-color: #f59300; }

.tagReport {
  background-color: #72ab00; }

.tagEvent {
  background-color: #ed69a4; }

.tagNews {
  background-color: #39c; }

.tagInfo {
  background-color: #9a811f; }

.tagOher {
  background-color: #888; }

.newIcon {
  border: 1px solid #ff6b6b;
  color: #f00;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.35;
  margin-left: 5px;
  padding: 0 9px; }

/* NEWS */
.newsArea .contentsInner {
  display: flex;
  justify-content: space-between;
  padding: 62px 50px 57px; }
.newsArea .innerBlock {
  display: flex; }
  .newsArea .innerBlock .ttl {
    align-self: center;
    color: #19447b;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.075em; }

.newsInner {
  border-left: 1px solid #aaa;
  margin-left: 13px; }
  .newsInner dl {
    display: flex;
    font-size: 16px;
    line-height: 1.875; }
    .newsInner dl dt {
      width: 90px;
      margin-left: 15px; }
    .newsInner dl .newsTag {
      align-self: flex-start;
      width: 80px;
      color: #fff;
      font-size: 14px;
      line-height: 1.3;
      text-align: center;
      margin: 5px 5px 0 10px;
      padding: 1px 12px 2px; }
    .newsInner dl dd {
      max-width: 490px;
      margin-left: 10px; }

.newsArea .btn {
  margin: 0 0 0 auto; }
  .newsArea .btn a {
    background-color: #fff;
    border: 1px solid #19447b;
    min-width: inherit;
    color: #19447b;
    padding: 18px 51px 18px 39px; }
    .newsArea .btn a span:before {
      border-left-color: #fff; }
    .newsArea .btn a span:after {
      border-left-color: #19447b; }

/* THEME */
.theme {
  background: url(/common/images/bg_theme.jpg) no-repeat top center;
  background-size: cover; }
  .theme .article.entryTask li a {
    background-color: #fff; }

/* REPORT */
.report .article .imgBox {
  border: 1px solid #e9eff2; }

/* OUTLINE */
.outline {
  background: url(/common/images/bg_outline.jpg) no-repeat top center;
  background-size: cover; }

.meritArea {
  margin: 50px auto 0; }
  .meritArea .ttl {
    border: 1px solid #ba458c;
    width: 100%;
    color: #ba458c;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-align: center;
    padding: 10px 0; }
  .meritArea .col3 {
    display: flex;
    justify-content: space-between;
    margin: 30px auto 0; }

.circle {
  width: 296px;
  height: 296px; }
  .circle p {
    background-color: #fff;
    border-radius: 50%;
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 50%; }
    .circle p img {
      margin: auto;
      position: absolute;
      top: 38px;
      left: 0;
      right: 0; }
    .circle p span {
      width: 100%;
      color: #19447b;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.77;
      letter-spacing: 0.075em;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 0;
      margin: -0.5em 0 0; }

.outline .bgWhite {
  background-color: #fff;
  margin: 55px auto 0;
  padding: 70px 140px 55px; }

.flowBlock {
  margin: 60px auto 25px; }
  .flowBlock dl {
    text-align: center;
    margin-top: 23px;
    position: relative; }
    .flowBlock dl:before {
      content: '';
      border-style: solid;
      border-color: #ddd transparent transparent transparent;
      border-width: 23px 40px 0 40px;
      width: 0;
      margin: auto;
      position: absolute;
      top: -23px;
      left: 0;
      right: 0; }
    .flowBlock dl:first-of-type {
      margin-top: 0; }
      .flowBlock dl:first-of-type:before {
        content: none; }
    .flowBlock dl dt {
      background-color: #ddd;
      color: #ba458c;
      font-size: 20px;
      font-weight: 700;
      letter-spacing: 0.075em;
      padding: 12px 0 13px; }
    .flowBlock dl dd {
      border: 4px solid #ddd;
      border-top: none;
      font-size: 18px;
      padding: 13px 0 12px; }
  .flowBlock + p {
    font-size: 16px;
    line-height: 1.875; }
  .flowBlock + .noteText {
    font-size: 16px;
    line-height: 1.875; }

/* ENTRY */
.entry {
  margin: 0 auto 30px; }
  .entry .lede {
    margin-bottom: 70px; }
    .entry .lede + .innerTitle .contHead:after {
      content: none; }
  .entry .bgBlue {
    background-color: #e9eff2;
    margin: 60px auto 80px;
    padding: 55px 50px 70px; }

.entryBlock {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 42px; }
  .entryBlock li {
    border: 2px solid #fff;
    width: 433px;
    margin: 0 33px 33px 0; }
    .entryBlock li:nth-child(2n) {
      margin-right: 0; }
  .entryBlock dl {
    letter-spacing: 0.075em;
    padding: 27px 30px 20px 25px; }
    .entryBlock dl dt {
      color: #ba458c;
      font-size: 22px;
      font-weight: 700;
      text-align: center;
      margin: 0 auto 25px; }
    .entryBlock dl dd {
      font-size: 16px;
      line-height: 1.625;
      text-indent: -20px;
      padding-left: 20px; }
      .entryBlock dl dd:before {
        content: '●';
        display: inline-block;
        color: #aaa;
        font-size: 13px;
        vertical-align: middle;
        margin: -5px 0 0 20px; }

.entry .imgArea {
  margin: 60px auto 0; }

/*--------------------
 underlayer - common
--------------------*/
.headingArea {
  padding: 66px 0 22px; }

.bgGrayTitle {
  background-color: #cfd5d8;
  color: #19447b;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 35px;
  padding: 14px; }

.secTitle {
  border-left: 5px solid #2868b0;
  font-size: 22px;
  font-weight: 700;
  padding: 6px 15px; }

.secSubTitle {
  font-size: 18px;
  font-weight: 700; }
  .secSubTitle:before {
    content: '■';
    color: #0073bd;
    margin-right: 5px; }

.txtBold {
  font-weight: 700; }

.txtRed {
  color: #f00; }

.txtGray {
  color: #888; }

.btn a.pink {
  background-color: #ba458c; }
  .btn a.pink span:before {
    border-left-color: #ba458c; }

/* detail 詳細ページ */
.ttlBlock {
  border: 3px solid #cfd5d8;
  margin: 20px auto; }
  .ttlBlock .bgWhite {
    display: flex;
    padding: 23px 18px; }
  .ttlBlock .bgGray {
    background-color: #cfd5d8;
    display: flex;
    padding: 8px 25px; }
  .ttlBlock .taskNumber {
    background-color: #ba458c;
    border-radius: 30px;
    min-width: 170px;
    height: 34px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    margin: 0 10px 0 0;
    padding: 9px 12px; }
  .ttlBlock .subject {
    align-self: center;
    font-size: 24px;
    line-height: 1.08;
    margin: 0 0 0 10px; }
  .ttlBlock .period {
    align-self: center;
    font-size: 18px; }
  .ttlBlock .iconTag {
    min-width: 108px;
    height: 28px;
    color: #fff;
    font-size: 15px;
    letter-spacing: 0.1em;
    text-align: center;
    margin: 0 0 0 15px;
    padding: 7px 29px; }
  .ttlBlock + .date {
    font-size: 18px;
    line-height: 1.44;
    text-align: right; }
  .ttlBlock .ttlBar {
    position: relative; }
    .ttlBlock .ttlBar:before {
      content: '';
      border-left: 14px solid transparent;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0; }
    .ttlBlock .ttlBar.pink:before {
      border-left-color: #ba458c; }

.detail .note {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 20px auto 0; }
.detail .subTitle {
  color: #ba458c;
  font-size: 22px;
  font-weight: 700; }
.detail .inner {
  font-size: 16px;
  line-height: 1.875;
  padding: 65px 50px 10px; }
  .detail .inner .txtArea {
    margin: 0 auto 50px; }
  .detail .inner .imgArea {
    text-align: center;
    margin: 0 auto 50px; }
  .detail .inner img {
    max-width: 100% !important;
    max-height: 100% !important;
    height: auto !important; }
  .detail .inner iframe {
    max-width: 100% !important;
    max-height: 100% !important; }
  .detail .inner .imgArea .caption {
    letter-spacing: 0.1em; }
  .detail .inner .btn + .txtArea {
    text-align: center;
    margin: 33px auto 0; }

/* form お問い合わせ/エントリーフォーム */
.attentionBox {
  border: 3px solid #cfd5d8;
  font-size: 16px;
  line-height: 1.875;
  padding: 31px 34px; }
  .attentionBox li {
    text-indent: -20px;
    padding-left: 20px; }
    .attentionBox li:before {
      content: '●';
      display: inline-block;
      color: #ba458c;
      font-size: 13px;
      vertical-align: middle;
      margin: -5px 0 0 20px; }
  .attentionBox .bgBlue {
    background-color: #e9eff2;
    margin: 25px auto 0;
    padding: 15px 26px 21px; }
    .attentionBox .bgBlue a {
      color: #000; }

.formArea .inner {
  font-size: 16px;
  padding: 25px 50px; }
.formArea .txtRed {
  margin-left: 5px; }
.formArea .txtGray {
  display: inline-block;
  vertical-align: middle;
  line-height: 1.2;
  margin: 0 -10px 0 15px; }
.formArea .txt {
  margin-left: 15px; }
.formArea .txtArea {
  line-height: 2.187;
  text-align: center;
  margin: 60px auto; }
  .formArea .txtArea a {
    color: #000; }
  .formArea .txtArea > .txtRed {
    margin: 0; }

.formBlock {
  border: 1px solid #d3d9dc;
  margin: 20px auto 40px; }
  .formBlock + .btn {
    margin-top: 70px; }
  .formBlock dl {
    border-bottom: 1px solid #d3d9dc;
    display: flex; }
    .formBlock dl:last-of-type {
      border-bottom: none; }
    .formBlock dl dt {
      background-color: #e9eff2;
      display: flex;
      width: 235px;
      min-height: 80px;
      padding: 0 15px; }
      .formBlock dl dt label {
        align-self: center;
        font-weight: 700;
        line-height: 1.3; }

input {
  border: 1px solid #93bfdc;
  border-radius: 4px;
  width: 100%;
  padding: 10px; }
  input.short {
    width: 280px; }
  input.middle {
    width: 430px; }

.formBlock dl dd {
  align-self: center;
  width: 663px;
  padding: 20px; }
  .formBlock dl dd.contact {
    width: 100%; }
  .formBlock dl dd p {
    text-align: right;
    margin: 10px 0 0; }
  .formBlock dl dd .note {
    display: flex;
    justify-content: space-between; }
.formBlock .document dd label {
  cursor: pointer; }
.formBlock .document input {
  display: none !important; }

textarea {
  resize: vertical;
  border: 1px solid #93bfdc;
  border-radius: 4px;
  width: 100%;
  min-height: 190px;
  line-height: 1.5;
  padding: 10px; }

input[type="radio"] {
  display: none; }
  input[type="radio"] + label {
    position: relative;
    display: inline-block;
    padding: 8px 0 7px 40px;
    cursor: pointer; }
    input[type="radio"] + label::before {
      position: absolute;
      content: '';
      top: 50%;
      left: 0;
      width: 18px;
      height: 18px;
      margin-top: -9px;
      background: #e9eff2;
      border: 1px solid #989898;
      border-radius: 100%; }
  input[type="radio"]:checked + label::after {
    position: absolute;
    content: '';
    top: 50%;
    left: 5px;
    width: 10px;
    height: 10px;
    margin-top: -4px;
    background: #b4b4b4;
    border-radius: 100%; }

.agreementBox {
  background-color: #ffffe5;
  border: 1px solid #d3d9dc;
  height: 182px;
  margin: 30px auto 25px;
  padding: 38px 42px 39px 33px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch; }
  .agreementBox p {
    font-size: 15px;
    line-height: 2; }

.checkBox {
  text-align: center;
  margin: 25px auto 70px; }

input[type="checkbox"] {
  display: none; }
  input[type="checkbox"] + label {
    position: relative;
    display: inline-block;
    padding: 6px 0 9px 40px;
    cursor: pointer; }
    input[type="checkbox"] + label::before {
      position: absolute;
      content: '';
      top: 0;
      left: 0;
      width: 27px;
      height: 27px;
      background: #fff;
      border: 2px solid #93bfdc;
      border-radius: 4px; }
  input[type="checkbox"]:checked + label::after {
    position: absolute;
    content: '';
    top: 8px;
    left: 4px;
    width: 20px;
    height: 10px;
    border-left: 3px solid #b4b4b4;
    border-bottom: 3px solid #b4b4b4;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }

.btn button {
  background-color: #19447b;
  border: none;
  border-radius: 50px;
  display: inline-block;
  width: 420px;
  height: 78px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  margin: auto;
  padding: 24px 45px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s; }
  .btn button:hover {
    cursor: pointer;
    opacity: 0.7; }
  .btn button::before, .btn button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s; }
  .btn button span {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    position: relative; }
    .btn button span:before, .btn button span:after {
      content: "";
      display: inline-block;
      border: 7px solid transparent;
      border-left-color: #fff;
      position: absolute;
      top: 50%;
      margin-top: -7px; }
    .btn button span:before {
      border-left-color: #19447b;
      right: -25px;
      z-index: 1; }
    .btn button span:after {
      right: -27px; }

.completedText {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 130px auto 160px; }

#messages {
  margin: 40px 0; }

#error_messages {
  color: #f00;
  margin-bottom: 40px; }

input[readonly], textarea[readonly] {
  background-color: #ededee; }

/* INQUIRY */
#inquiry .headingArea {
  background: url(/inquiry/images/bg_inquiry.jpg) no-repeat top center;
  background-size: cover; }

.inquiryText {
  font-size: 16px;
  text-align: center;
  margin: 0 auto 50px; }
  .inquiryText .time {
    font-weight: 700;
    margin: 0 auto 20px; }
  .inquiryText .tel {
    color: #ba458c;
    font-size: 48px;
    font-weight: 700;
    margin: 0 auto 25px; }
    .inquiryText .tel span {
      display: block;
      color: #000;
      font-size: 16px;
      padding-top: 10px; }
  .inquiryText .txtRed {
    line-height: 1.375; }

/* THEME */
#theme .headingArea {
  background: url(/common/images/bg_theme.jpg) no-repeat top center;
  background-size: cover; }
#theme .contentsInner {
  padding: 50px 50px 60px; }
#theme .lede {
  font-size: 16px;
  line-height: 1.625;
  text-align: left;
  margin: 0 auto 40px; }

/* FAQ */
#faq .headingArea {
  background: url(/faq/images/bg_faq.jpg) no-repeat top center;
  background-size: cover; }

.faqBlock {
  margin: 0 auto 70px; }
  .faqBlock dl {
    font-size: 16px;
    line-height: 1.875; }
    .faqBlock dl dt {
      background-color: #e9eff2;
      padding: 8px 21px 12px 61px;
      text-indent: -39px; }
    .faqBlock dl dd {
      padding: 10px 21px 16px 61px;
      text-indent: -36px; }
    .faqBlock dl dt:before, .faqBlock dl dd:before {
      font-size: 22px;
      font-weight: 700;
      line-height: 1.72;
      vertical-align: baseline;
      margin-right: 15px; }
    .faqBlock dl dt:before {
      content: 'Q.';
      color: #19447b; }
    .faqBlock dl dd:before {
      content: 'A.';
      color: #ba458c; }

/* ENTRY */
#entry .headingArea {
  background: url(/entry/images/bg_entry.jpg) no-repeat top center;
  background-size: cover; }
#entry.entryy .contentsInner {
  padding: 60px 50px 80px; }
#entry.entryy .lede {
  font-size: 16px;
  line-height: 1.875;
  text-align: left;
  margin: 0 auto 70px; }

/* PROJECT REPORT */
#report .headingArea {
  background: url(/projectreport/images/bg_report.jpg) no-repeat top center;
  background-size: cover; }
#report .article .imgBox {
  border: 1px solid #e9eff2; }

/* OUTLINE */
#outline .headingArea {
  background: url(/outline/images/bg_outline.jpg) no-repeat top center;
  background-size: cover; }
#outline .contentsInner {
  padding: 60px 50px; }
#outline .inner {
  margin: 0 auto 70px; }
  #outline .inner:last-of-type {
    margin-bottom: 0; }
#outline .bgGrayTitle {
  margin-bottom: 27px; }
#outline .innerTxt {
  font-size: 16px;
  line-height: 1.875; }

.grayBox {
  border: 1px solid #bbb;
  width: 840px;
  margin: 50px auto 15px; }

#outline .outline {
  margin-bottom: 25px; }
#outline .meritArea {
  margin: 10px auto 0; }
#outline .bgBlue {
  background-color: #e9eff2; }
  #outline .bgBlue .bgWhite {
    background-color: #fff;
    padding: 70px 50px; }
#outline .bgWhite .innerTxt {
  margin: 70px auto 50px; }
#outline .bgBlue .flowBlock dl dt {
  background-color: #fff;
  border: 4px solid #ddd;
  padding: 38px 0 35px; }

.flowBlock .col3 {
  display: flex;
  justify-content: space-between; }
  .flowBlock .col3 dl {
    width: 32%; }
    .flowBlock .col3 dl:first-of-type {
      margin-top: 23px; }
      .flowBlock .col3 dl:first-of-type:before {
        content: '';
        border-style: solid;
        border-color: #ddd transparent transparent transparent;
        border-width: 23px 40px 0 40px;
        width: 0;
        margin: auto;
        position: absolute;
        top: -23px;
        left: 0;
        right: 0; }

#outline .bgBlue + .btn {
  margin: 65px auto; }

/* NEWS RELEASE */
#news .headingArea {
  background: url(/newsrelease/images/bg_news.jpg) no-repeat top center;
  background-size: cover; }
#news .contentsInner {
  padding: 110px 50px 80px; }
#news .lede {
  font-size: 16px;
  line-height: 1.875;
  text-align: left;
  margin: 0 auto 50px; }
#news .ttlBlock .bgWhite {
  justify-content: space-between; }
#news .ttlBlock .subject {
  max-width: 740px; }

.ttlBlock .tagBox .iconTag {
  display: inline-block;
  vertical-align: text-top; }

.tagBox .newIcon {
  vertical-align: top; }

#news .newsInner {
  border-left: none;
  margin: 0 auto; }
  #news .newsInner dl {
    border-bottom: 1px solid #ddd;
    padding: 30px 0; }
    #news .newsInner dl:first-of-type {
      border-top: 1px solid #ddd; }
    #news .newsInner dl dt {
      margin-left: 5px; }
    #news .newsInner dl .newsTag {
      margin-left: 10px; }
    #news .newsInner dl dd {
      max-width: 790px; }

/* SITE POLICY */
/* PRIVACY POLICY */
#policy .headingArea {
  background: url(/common/images/bg_policy.jpg) no-repeat top center;
  background-size: cover; }
#policy .secTitle + .secSubTitle {
  margin-top: 30px; }
#policy .txtArea {
  font-size: 16px;
  line-height: 1.875;
  margin: 20px auto 50px; }
  #policy .txtArea p + p {
    margin-top: 1em; }
#policy .policyList {
  line-height: 1.5;
  margin: 20px 0 0 35px; }
  #policy .policyList li {
    margin-top: 10px;
    list-style: decimal; }

/* 活動成果 */
#achievement .headingArea {
  background: url("/achievement/images/bg_main.jpg") no-repeat top center;
  background-size: cover; }
#achievement .contentsInner {
  padding: 60px 50px; }

.tabBtnWrap {
  display: flex;
  border-bottom: 1px solid #aaa;
  padding: 0 20px; }
  .tabBtnWrap button {
    padding: 0;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    text-align: inherit;
    border: none;
    border-radius: 0;
    outline: none;
    background: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  .tabBtnWrap .tabBtn {
    flex: 1;
    border: 1px solid #aaa;
    border-bottom: 0;
    color: #19447b;
    cursor: pointer;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    padding: 14px;
    transition: all .3s; }
    .tabBtnWrap .tabBtn:hover {
      background-color: #cfd5d8; }
    .tabBtnWrap .tabBtn.active {
      background-color: #cfd5d8; }
    .tabBtnWrap .tabBtn + .tabBtn {
      margin-left: 10px; }

.tabContent {
  display: none; }
  .tabContent.show {
    display: block; }

.activityContents {
  font-size: 16px; }

.activityCategory {
  padding: 30px 0 0; }
  .activityCategory .toArticle {
    line-height: 1.875;
    padding: 0 20px 30px; }
    .activityCategory .toArticle + .toArticle {
      border-top: 1px solid #aaa;
      padding-top: 30px; }
  .activityCategory .heading {
    font-weight: bold; }
  .activityCategory .articleTitle {
    font-size: 20px;
    font-weight: bold; }
  .activityCategory .linkText {
    font-size: 18px;
    word-break: break-all; }
  .activityCategory .companies {
    display: flex; }
    .activityCategory .companies .heading {
      flex-shrink: 0; }
  .activityCategory .pdfIcon {
    content: "";
    background: url("/common/images/icon_pdf.png") no-repeat left top/cover;
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 24px;
    margin-left: .2em; }
  .activityCategory.implementationBlock .implementation {
    display: flex;
    margin-bottom: .2em; }
  .activityCategory.implementationBlock .articleTitle {
    margin-bottom: .6em; }
  .activityCategory.implementationBlock .linkText {
    display: flex; }
  .activityCategory.presentationBlock .presentation {
    display: flex; }
  .activityCategory.presentationBlock .companies {
    margin-bottom: .5em; }
  .activityCategory.presentationBlock .subText {
    margin-top: .5em; }
  .activityCategory.presentationBlock .linkText {
    margin-top: .5em; }

@media screen and (max-width: 1100px) {
  .pcHeader .headerNav li a {
    font-size: 12px;
    letter-spacing: -0.05em; }
  .pcHeader .headerNav li:not(:first-child) {
    margin-left: 1.4em; } }
