@charset "utf-8";
/* CSS Document */

.comm_underlinedTtl { letter-spacing: 0; }

.cstm_ttlwrap {
    width: 100%;
    max-width: 900px;
    margin: auto;
}
.cstm_ttlinner {
    width: 100%;
    height: 0;
    padding-top: 33.4%;
    position: relative;
}
.cstm_ttlwrap h1 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: top center no-repeat;
    background-size: contain;
    display: flex;
    justify-content: center;
    align-items: center;
}
.cstm_ttlwrap h1>span {
    padding-right: 25%;
    padding-left: 10%;
    font-size: 2.4rem;
    font-weight: bold;
}

.cstm_ttlwrap h1 span.cstm_ttlcenter {
    text-align: center;
    padding: 0;
    margin-right: 25%;
}
.cstm_ttlwrap h1 span.cstm_ttltruecenter {
    text-align: center;
    padding: 0;
}
.cstm_ttlwrap h1 span.cstm_ttlrightcenter {
    text-align: center;
    padding: 0;
    margin-left: 15%;
    margin-right: 0;
}
.cstm_ttlwrap h1 span.cstm_white { color: #ffffff; }
.cstm_subttl {
    font-weight: bold;
    font-size: 1.5em;
    padding: 0 0 1em 0;
}
.cstm_ttlwrap h1 span small { font-size: 75%; }

.cstm_icon {
    display: inline-block;
    width: 60%;
}
.cstm_iconname {
    font-weight: bold;
    display: block;
    color: #5279b0;
    font-size: 1.25em;
    padding: 0.5em 0;
}
.cstm_underlinedTtl_subBalloon {
    font-size: 1.25rem;
    color: #ff0000;
    top: -1.75rem;
    position: absolute;
    background: #ffff00;
    padding: 0.15em 1em;
    margin: auto;
    width: 8em;
    left: 0;
    right: 0;
    text-align: center;
}

[class^="cstm_featlabel"] {
    background: #ffffff;
    border: #5279b0 1px solid;
    border-radius: 4px;
    text-align: center;
    color: #5279b0;
    font-weight: bold;
    font-size: 1.1rem;
    padding: 0.5em;
}
[class*="-c_fl_center"] {
    width: 100%;
}
[class*="-c_fl_strong"] {
    background: #89b2ec;
    color: #ffffff;
    border-color: #89b2ec;
}


/**
 * Footer Link
 */
.p-contact {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 5;
  background-color: #004098;
  padding: 15px; }
  .p-contact-in {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 123.1%;
    font-weight: 700; }
  .p-contact-link {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    color: #1a1a1a;
    padding: 17px 0;
    width: 25vw;
    max-width: 240px;
    border-radius: 5px;
    background-image: linear-gradient(to right, #fd0 0%, #ff0 100%);
    text-align: center;
    line-height: 1;
    margin-left: 32px;
    transition: all 0.5s 0s ease-out; }
    .p-contact-link:link, .p-contact-link:visited, .p-contact-link:hover, .p-contact-link:active {
      color: #1a1a1a;
      transition: all 0.5s 0s ease-out; }
    .p-contact-link:hover {
      opacity: 0.5; }
    .p-contact-link:before {
      content: "";
      position: absolute;
      left: 1.5em;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 7px 0 7px 10px;
      border-color: transparent transparent transparent currentColor;
      display: inline-block;
      vertical-align: middle; }



@media (max-width: 767px) {
    .cstm_ttlwrap h1 span { font-size: 1.8rem; }
  /**
	 * Footer Link
	 */
  .p-contact {
    padding: 11px 0 13px; }
    .p-contact-in {
      display: block;
      text-align: center;
      font-size: 93%; }
    .p-contact-link {
      max-width: 266px;
      width: 100%;
      margin: 7px auto 0;
      padding: 9.6px 0;
      font-size: 108%; }
      .p-contact-link:before {
        border-width: 6.1px 0 6.1px 10px; }

}