@charset "UTF-8";
/* -------------------------------------------------------------------------*/
/* COMMON COLORS
/* -------------------------------------------------------------------------*/
.clr-red {
  color: #ef0000; }

/* -------------------------------------------------------------------------*/
/* -------------------------------------------------------------------------*/
/* MIXIN / ARGUMENT / COMMON CLASS
/* -------------------------------------------------------------------------*/
.default_ftz {
  font-size: 18px;
  font-size: 1.125rem; }
  @media only screen and (max-width: 980px) {
    .default_ftz {
      font-size: 16px;
      font-size: 1rem; } }

.text_out {
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }

.mincho {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif; }

.uiFont {
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo UI', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif; }

.clearfix:after {
  content: "";
  clear: both;
  display: block; }

/* -------------------------------------------------------------------------*/
/* -------------------------------------------------------------------------*/
/* TITLEs
/* -------------------------------------------------------------------------*/
/* PAGE SECTION TITLE */
.sc_title {
  font-size: 24px;
  font-size: 1.5rem;
  margin: 0 0 30px;
  padding: 5px 0 3px 20px;
  font-weight: normal;
  line-height: 1.3;
  border-left: 7px solid #0f3da2; }
  .sc_title span {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 5px;
    display: block; }

@media only screen and (max-width:640px) {
  .sc_title {
    font-size: 20px;
    font-size: 1.25rem;
    margin: 0 0 20px;
    padding: 2px 0 1px 10px; } }

.sc_subTitle {
  font-size: 18px;
  font-size: 1.125rem;
  margin: 30px 0 10px;
  padding: 10px 10px 8px;
  color: #0f3da2;
  background-color: #ececec;
  border: 1px solid #e6e6e6;
  border-right: none;
  border-left: none; }

.sc_subTitle2 {
  font-size: 17px;
  font-size: 1.0625rem !important;
  margin: 20px 0;
  padding: 0 0 0 10px;
  color: #0f3da2;
  font-weight: bold;
  border-left: 5px solid; }

.sc_subTitle3 {
  font-size: 16px;
  font-size: 1rem !important;
  margin: 20px 0 10px;
  color: #0f3da2; }

.sc_subTitle4 {
  font-size: 22px;
  font-size: 1.375rem !important;
  margin: 20px 0 20px;
  color: #0f3da2; }

/* FOR SERVICE */
.bigTtl_1 {
  font-size: 32px;
  font-size: 2rem !important;
  margin: 30px 0;
  color: #da3b45;
  font-weight: bold;
  line-height: 1.2; }
  @media only screen and (max-width: 980px) {
    .bigTtl_1 {
      font-size: 26px;
      font-size: 1.625rem !important; } }
  @media only screen and (max-width: 640px) {
    .bigTtl_1 {
      font-size: 20px;
      font-size: 1.25rem !important; } }

.bigTtl_2 {
  font-size: 40px;
  font-size: 2.5rem !important;
  margin: 30px 0;
  color: #da3b45;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 5px; }
  @media only screen and (max-width: 980px) {
    .bigTtl_2 {
      font-size: 26px;
      font-size: 1.625rem !important; } }
  @media only screen and (max-width: 640px) {
    .bigTtl_2 {
      font-size: 20px;
      font-size: 1.25rem !important; } }

.midTtl_1 {
  font-size: 28px;
  font-size: 1.75rem !important;
  margin-top: 100px;
  margin-bottom: 18px;
  font-weight: normal;
  color: #0f3da2;
  text-align: center;
  line-height: 1.2; }
  .midTtl_1 span {
    display: inline-block;
    border-bottom: 1px dotted;
    padding-bottom: 10px; }
  @media only screen and (max-width: 980px) {
    .midTtl_1 {
      font-size: 24px;
      font-size: 1.5rem !important; } }
  @media only screen and (max-width: 640px) {
    .midTtl_1 {
      font-size: 20px;
      font-size: 1.25rem !important;
      text-align: left;
      line-height: 1.4 !important; }
      .midTtl_1 span {
        display: block; }
      .midTtl_1 br {
        display: none; } }

.bigTtl_1 + .midTtl_1,
.bigTtl_2 + .midTtl_1 {
  margin-top: 50px; }

.midTtl_2 {
  font-size: 16px;
  font-size: 1rem !important;
  margin-top: 100px;
  margin-bottom: 18px;
  font-weight: bold;
  color: #fff;
  background-color: #0f3da2;
  padding: 10px; }

.smallTtl_1 {
  font-size: 18px;
  font-size: 1.125rem !important;
  color: #0f3da2;
  font-weight: bold;
  line-height: 1.3 !important;
  margin-bottom: 5px !important; }

.font_s {
  font-size: 13px;
  font-size: 0.8125rem; }

/* -------------------------------------------------------------------------*/
/* -------------------------------------------------------------------------*/
/* CMS
/* -------------------------------------------------------------------------*/
.cms_block {
  font-size: 15px;
  font-size: 0.9375rem;
  padding: 10px 0;
  margin: 0 0 7%; }
  .cms_block > .cms_B_title_1:first-child,
  .cms_block > .cms_B_title_2:first-child,
  .cms_block > .cms_B_title_3:first-child,
  .cms_block > .cms_B_title_4:first-child {
    margin-top: 0; }
  .cms_block p {
    line-height: 1.5; }
  .cms_block > table {
    border-collapse: collapse;
    width: 100%; }
    .cms_block > table td, .cms_block > table th {
      padding: 5px;
      border: 1px solid #dfdfdf;
      line-height: 1.3; }
    .cms_block > table th {
      background-color: #0f3da2;
      color: #fff;
      font-weight: normal; }
  .cms_block figure {
    margin: 0;
    padding: 0;
    text-align: center; }
    .cms_block figure img {
      max-width: 100%;
      height: auto; }

.cms_B_title_1 {
  font-size: 24px;
  font-size: 1.5rem;
  padding: 0;
  margin: 70px 0 20px;
  font-weight: bold;
  color: #0f3da2; }

.cms_B_title_2 {
  font-size: 16px;
  font-size: 1rem;
  margin: 15px 0 5px;
  padding: 8px 10px 6px;
  line-height: 1.2;
  display: inline-block;
  background: #0049b8;
  color: #fff;
  border-radius: 4px; }
  .cms_B_title_2 + p {
    margin-top: 5px; }

.cms_B_title_3 {
  font-size: 17px;
  font-size: 1.0625rem;
  font-weight: bold;
  margin: 10px 0 5px !important;
  color: #3b6dcb; }
  .cms_B_title_3 + p {
    margin-top: 5px; }

.cms_B_title_4 {
  font-size: 18px;
  font-size: 1.125rem;
  margin: 50px 0 10px;
  padding: 10px 10px 8px;
  font-weight: bold;
  color: #0f3da2;
  background-color: #ececec;
  border: 1px solid #e6e6e6;
  border-right: none;
  border-left: none; }

/* -------------------------------------------------------------------------*/
/* -------------------------------------------------------------------------*/
/* PAGE NAVI
/* -------------------------------------------------------------------------*/
.pg_nv {
  padding: 5px;
  background-color: #0f3da2;
  margin-bottom: 30px; }
  .pg_nv ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0; }
  .pg_nv li {
    font-size: 18px;
    font-size: 1.125rem;
    display: inline-block;
    margin: 5px; }
    .pg_nv li a {
      display: block;
      position: relative;
      padding: 7px 10px 5px;
      line-height: 1.3;
      color: #fff; }
  .pg_nv.selected_1 li:nth-child(1) a,
  .pg_nv.selected_2 li:nth-child(2) a,
  .pg_nv.selected_3 li:nth-child(3) a,
  .pg_nv.selected_4 li:nth-child(4) a,
  .pg_nv.selected_5 li:nth-child(5) a,
  .pg_nv.selected_6 li:nth-child(6) a {
    background-color: #fff;
    border-radius: 2px;
    color: #0f3da2; }
    .pg_nv.selected_1 li:nth-child(1) a:hover,
    .pg_nv.selected_2 li:nth-child(2) a:hover,
    .pg_nv.selected_3 li:nth-child(3) a:hover,
    .pg_nv.selected_4 li:nth-child(4) a:hover,
    .pg_nv.selected_5 li:nth-child(5) a:hover,
    .pg_nv.selected_6 li:nth-child(6) a:hover {
      text-decoration: none;
      cursor: default; }
  @media only screen and (max-width: 980px) {
    .pg_nv {
      margin-bottom: 0; }
      .pg_nv li {
        font-size: 13px;
        font-size: 0.8125rem; } }

.pg_nv2 {
  display: table;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 2px;
  width: 100%; }
  .pg_nv2 a {
    font-size: 15px;
    font-size: 0.9375rem;
    position: relative;
    line-height: 1.3;
    padding: 8px 10px 6px 20px;
    color: #0f3da2;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    background-color: #edf3ff;
    border: 1px solid #c9deff;
    transition: background 0.2s ease, border 0.2s ease; }
    .pg_nv2 a::before {
      font-size: 10px;
      content: '▼';
      position: absolute;
      left: 10px;
      top: calc(50% - 5px); }
    .pg_nv2 a:hover {
      background-color: #4686e7;
      text-decoration: none;
      border-color: #4686e7;
      color: #fff; }
  @media only screen and (max-width: 980px) {
    .pg_nv2 {
      margin-top: 15px; }
      .pg_nv2 a {
        font-size: 13px;
        font-size: 0.8125rem;
        text-align: left;
        padding: 6px 5px 4px 18px; }
        .pg_nv2 a::before {
          left: 5px; }
        .pg_nv2 a br {
          display: none; } }
  @media only screen and (max-width: 640px) {
    .pg_nv2 {
      display: block;
      font-size: 0; }
      .pg_nv2 a {
        display: inline-block;
        vertical-align: top;
        width: calc(50% - 2px);
        border: none;
        padding: 15px 10px 15px 20px;
        margin: 1px; }
        .pg_nv2 a::before {
          top: calc(50% - 8px); } }

/* -------------------------------------------------------------------------*/
/* -------------------------------------------------------------------------*/
/*
/* -------------------------------------------------------------------------*/
.cms_block_1_top {
  text-align: center;
  line-height: 1.3; }
  .cms_block_1_top .subhead {
    font-size: 40px;
    font-size: 2.5rem;
    margin: 80px 0 40px;
    color: #b81e28; }
    .cms_block_1_top .subhead + .subsubhead {
      margin-top: 0px; }
  .cms_block_1_top .subsubhead {
    font-size: 28px;
    font-size: 1.75rem;
    display: inline-block;
    margin: 60px 0 20px;
    padding: 0 10px 5px;
    color: #0f3da2;
    font-weight: normal;
    border-bottom: 1px solid #d4d5d7; }
    .cms_block_1_top .subsubhead + p {
      margin-top: 0; }
  .cms_block_1_top p {
    margin: 30px 0;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.8; }
    .cms_block_1_top p big {
      font-size: 20px;
      font-size: 1.25rem; }
  @media only screen and (max-width: 980px) {
    .cms_block_1_top .subhead {
      font-size: 30px;
      font-size: 1.875rem;
      margin: 50px 0 30px; }
    .cms_block_1_top .subsubhead {
      font-size: 23px;
      font-size: 1.4375rem;
      margin: 40px 0 15px; }
    .cms_block_1_top p {
      margin: 20px 0;
      font-size: 13px;
      font-size: 0.8125rem; }
      .cms_block_1_top p big {
        font-size: 18px;
        font-size: 1.125rem; } }
  @media only screen and (max-width: 640px) {
    .cms_block_1_top .subhead {
      font-size: 24px;
      font-size: 1.5rem;
      margin: 40px 0 20px; }
    .cms_block_1_top .subsubhead {
      font-size: 20px;
      font-size: 1.25rem;
      margin: 30px 0 10px; }
    .cms_block_1_top p {
      margin: 15px 0;
      font-size: 14px;
      font-size: 0.875rem; }
      .cms_block_1_top p big {
        font-size: 16px;
        font-size: 1rem; } }

.cms_block_1 big, .cms_block_2 big, .cms_block_3 big {
  font-size: 20px;
  font-size: 1.25rem; }

.cms_block_1 .subhead, .cms_block_2 .subhead, .cms_block_3 .subhead {
  font-size: 18px;
  font-size: 1.125rem;
  margin: 50px 0 30px;
  padding: 10px 10px 8px;
  font-weight: bold;
  color: #0f3da2;
  background-color: #ececec;
  border: 1px solid #e6e6e6;
  border-right: none;
  border-left: none; }

.cms_block_1 .subsubhead, .cms_block_2 .subsubhead, .cms_block_3 .subsubhead {
  font-size: 24px;
  font-size: 1.5rem;
  margin: 50px 0 40px;
  color: #0f3da2; }

.cms_block_2 {
  display: table;
  table-layout: fixed;
  width: calc(100% + 20px);
  margin: 0 -10px; }
  .cms_block_2 .cms_box {
    display: table-cell;
    vertical-align: top;
    width: 50%;
    padding: 0 10px; }
  @media only screen and (max-width: 800px) {
    .cms_block_2 {
      display: block;
      width: 100%;
      margin: 0; }
      .cms_block_2::after {
        content: '';
        display: table;
        clear: both; }
      .cms_block_2 .cms_box {
        display: block;
        width: 100%;
        overflow: hidden; } }

.cms_block_3 {
  display: table;
  table-layout: fixed;
  width: 100%; }
  .cms_block_3 .cms_box {
    display: table-cell;
    width: 33.33333%; }

.BS_ed .subhead:first-child {
  margin-top: 40px; }

.BS_ed .subsubhead:first-child {
  margin-top: 0; }

.BS_ed .price {
  display: inline-block;
  margin: 0 15px 0 0;
  padding: 10px 10px 8px;
  background-color: #0049b8;
  color: #fff;
  border-radius: 4px;
  line-height: 1;
  min-width: 100px;
  text-align: center; }

.BS_ed hr {
  border: none;
  border-top: 1px solid #ebebeb; }

.BS_ed > p:first-child {
  margin-top: 0; }

@media only screen and (max-width: 980px) {
  .BS_ed .subhead:first-child {
    margin-top: 25px; } }

@media only screen and (max-width: 640px) {
  .BS_ed .subhead:first-child {
    margin-top: 10px; } }

/* IMAGE */
.BS_figb {
  margin: 20px -10px;
  text-align: center; }

.BS_figbi {
  display: table;
  table-layout: fixed;
  width: 100%; }
  .BS_figbi > .BS_figi {
    display: table-cell;
    vertical-align: top;
    padding: 5px 10px; }

.BS_figi img {
  width: auto;
  height: auto;
  max-width: 100%; }

.BS_flp_left .BS_flp_fig {
  float: left; }

.BS_flp_left .BS_flp_tx {
  float: right; }

@media only screen and (max-width: 640px) {
  .BS_flp_left .BS_flp_fig {
    float: none;
    margin: 20px auto; }
  .BS_flp_left .BS_flp_tx {
    float: none; } }

.BS_flp_fig {
  display: block;
  margin: 0 auto 1em;
  padding: 0 10px;
  text-align: center;
  width: 33.33%; }
  @media only screen and (max-width: 640px) {
    .BS_flp_fig {
      width: 100%; } }

/* TEXT */
.BS_flp_tx {
  display: block;
  width: 66.66%; }
  .BS_flp_tx > p:first-child {
    margin-top: 0; }
  @media only screen and (max-width: 640px) {
    .BS_flp_tx {
      width: 100%; } }

/* MARGIN TOP */
.cms_mt_L {
  margin-top: 80px; }

.cms_mt_M {
  margin-top: 50px; }

.cms_mt_S {
  margin-top: 30px; }

/* FOR HTML */
.cms_price {
  display: inline-block;
  margin: 1px 15px 10px 0;
  padding: 10px 10px 8px;
  background-color: #0049b8;
  color: #fff;
  border-radius: 4px;
  line-height: 1;
  min-width: 100px;
  text-align: center; }

/* -------------------------------------------------------------------------*/
