@charset "Shift_JIS";
.mod-btn-tab::after,
.mod-list-step::after,
.mod-list-step-02::after,
.mod-list-icon::after,
.mod-lyt-column::after,
.voice-container .voice-tab ul::after,
.voice-container .voice-list li::after {
  display: block;
  clear: both;
  content: "";
}

/* ============================================================================
 * デフォルトスタイル
 * ========================================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  line-height: 1.6;
  min-width: 320px;
}

a:link,
a:visited,
a:hover,
a:active,
a:focus {
  text-decoration: underline;
}

sup {
  font-size: 63%;
}

strong {
  font-weight: bold;
}

html button[type="button"],
html button[type="submit"],
html input,
html textarea,
html select,
html input[type="button"],
html input[type="reset"],
html input[type="submit"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

button,
input,
optgroup,
select,
textarea {
  font-size: 1em;
}

::-moz-focus-inner {
  margin: 0;
  padding: 0;
  border: 0;
}

hr {
  display: block;
  margin: 50px 0 60px;
  border: 1px dotted #333;
  border-width: 1px 0 0 0;
}

/* ============================================================================
* _structure = [".str-"] サイト共通ストラクチャ
* ========================================================================= */
/* ------------------------------------
* .str-hidden a11yなど、文章構造上必要な文言などを格納する
* --------------------------------- */
.str-hidden {
  pointer-events: none;
  color: transparent;
  position: absolute;
  z-index: -1;
}

/* ------------------------------------
* .str-container
* --------------------------------- */
.str-container {
  padding: 0 10px;
}

.str-container .str-inner {
  max-width: 950px;
  margin: 0 auto;
}

/* =======================================================================
/* #header 共通ヘッダー
========================================================================== */
#header-container {
  position: fixed;
}

#header-container .navbar .nav__sub li + li {
  margin-left: 1em;
}

#header-container a {
  color: #333;
}

/* ------------------------------------
* シンプルヘッダー .header-simple
* --------------------------------- */
.header-simple {
  padding: 7px 11px 8px;
  border-bottom: 1px solid #e5e5e5;
}

.header-simple .logo img {
  width: 150px;
}

/* ============================================================================
* .str-main メインコンテンツ共通ストラクチャ
* ========================================================================= */
.str-main {
  padding-bottom: 50px;
}

/* =======================================================================
/* #footer 共通ヘッダー
========================================================================== */
#footer-container {
  padding-top: 0;
}

#footer-container a {
  color: #333;
}

/* ------------------------------------
* シンプルフッタ− .footer-simple
* --------------------------------- */
.footer-simple {
  position: relative;
}

.footer-simple .footer-01 {
  font-size: 1.2rem;
  background: #f1f1f1;
  padding: 15px 19px 29px;
}

.footer-simple .footer-01 > :last-child {
  margin-bottom: 0;
}

.footer-simple .footer-02 {
  background: #039;
  padding: 10px 10px 12px;
  border-top: 1px solid #fff;
}

.footer-simple .footer-02 .copyright {
  font-size: 1.1rem;
  text-align: center;
  color: #fff;
}

/* ============================================================================
* _hdg 見出しモジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* 見出しレベル1
* ------------------------------------------------------------------------- */
.mod-hdg-lv1 {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 1.6666em 0 .685em;
}

/* ----------------------------------------------------------------------------
* 見出しレベル2
* ------------------------------------------------------------------------- */
.mod-hdg-lv2 {
  font-size: 1.1675rem;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  margin: 1.6666em 0 .685em;
}

.mod-hdg-lv2:first-child {
  margin-top: 0;
}

/* ----------------------------------------------------------------------------
* 見出しレベル3
* ------------------------------------------------------------------------- */
.mod-hdg-lv3 {
  font-size: 1rem;
  font-weight: bold;
  position: relative;
  display: block;
  margin: 2.8125em 0 1.0625em;
  padding-left: .625rem;
}

.mod-hdg-lv3:after {
  background: #039;
  position: absolute;
  top: .05rem;
  left: 0;
  width: 3px;
  height: calc(100% - .3rem);
  content: "";
}

.mod-hdg-lv3:first-child {
  margin-top: 0;
}

/* ----------------------------------------------------------------------------
* リードつき見出し
* ------------------------------------------------------------------------- */
.mod-hdg-01 {
  background: #039;
  margin: 4.55rem 0 3.875rem;
  padding: 1.5625rem 0 .75rem;
}

.mod-hdg-01 .hdg-inner {
  margin-top: -3.2rem;
}

.mod-hdg-01 .hdg {
  font-size: 1.625rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

.mod-hdg-01 .hdg .lead {
  font-size: 1.125rem;
  color: #039;
  background: #fff;
  display: inline-block;
  min-width: 270px;
  margin-bottom: .83rem;
  padding: .3rem 40px 0;
  border: 1px solid #039;
  border-radius: 3rem;
}

.mod-hdg-01 .hdg .txt {
  display: block;
}

/* ----------------------------------------------------------------------------
* リードなし見出し
* ------------------------------------------------------------------------- */
.mod-hdg-02 {
  background: #039;
  margin: 3.35rem 0 3.875rem;
  padding: 1.1rem 0 .75rem;
}

.mod-hdg-02 .hdg {
  font-size: 1.625rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

.mod-hdg-02.ver-02 {
  background: #ccecf9;
}

.mod-hdg-02.ver-02 .hdg {
  color: #039;
}

/* ----------------------------------------------------------------------------
* トグル展開用見出し
* ------------------------------------------------------------------------- */
.mod-hdg-03 {
  color: #fff;
  background: #009ee0;
  position: relative;
  margin: 3.35rem auto 2.5rem;
  padding: 1.1rem 0 .75rem;
}

.mod-hdg-03::before {
  color: #009ee0;
  position: absolute;
  top: -26px;
  left: 50%;
  display: block;
  content: "";
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  border-right: 19px solid transparent;
  border-bottom: 30px solid;
  border-left: 19px solid transparent;
}

.mod-hdg-03 .hdg {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

/* ============================================================================
* _txt テキストモジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* リードテキスト .mod-page-lead
* ------------------------------------------------------------------------- */
.mod-page-lead {
  text-align: center;
  margin-bottom: 3.75em;
}

.mod-page-lead-02 {
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2.35em;
}

/* ----------------------------------------------------------------------------
* 通常リードテキスト .mod-txt-lead
* ------------------------------------------------------------------------- */
.mod-txt-lead {
  font-size: 1.25rem;
  margin-bottom: 1.9125rem;
}

/* ----------------------------------------------------------------------------
* 注意書き .mod-txt-attention
* ------------------------------------------------------------------------- */
.mod-txt-attention {
  font-size: .875em;
  position: relative;
  padding-left: 28px;
}

.mod-txt-attention::before {
  background: url("/shared/images/icon_attention_01.png") center/cover;
  position: absolute;
  top: .1em;
  left: 0;
  display: block;
  width: 18px;
  height: 18px;
  content: "";
}

.mod-txt-attention.inline {
  display: inline-block;
}

/* ----------------------------------------------------------------------------
* エンドーサーテキスト .mod-txt-endorser
* ------------------------------------------------------------------------- */
.mod-txt-endorser {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
}
/* 20191004 add jun end */

/* 20191004 add jun start */
/* ----------------------------------------------------------------------------
* テーブル横スクロール補足テキスト .mod-txt-scrolL＠＾
* ------------------------------------------------------------------------- */
.mod-txt-scroll {
  text-align: center;
  margin-bottom: 1em;
}

.mod-txt-scroll p {
  position: relative;
  display: inline-block;
  padding: 10px 0 10px 37px;
}

.mod-txt-scroll p::before {
  /* background: url("/-/Media/jpz/zrh/common_re/img_re/sp_scroll.png") center/cover; */
  background: url("/accident_insurance/sp/img_re/sp_scroll.png") center/cover;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 29px;
  height: 35px;
  content: "";
}

/* ============================================================================
* _link リンクモジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* アンカーリンク
* ------------------------------------------------------------------------- */
.mod-link-anchor {
  text-decoration: none;
  position: relative;
  display: inline-block;
  margin: 0 auto 2.5rem;
  padding-right: 20px;
}

.mod-link-anchor:link,
.mod-link-anchor:visited,
.mod-link-anchor:hover,
.mod-link-anchor:active,
.mod-link-anchor:focus {
  text-decoration: none;
  color: #333;
}

.mod-link-anchor::after {
  position: absolute;
  right: 0;
  bottom: 50%;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  -webkit-transform: rotate(-135deg) translateY(50%);
      -ms-transform: rotate(-135deg) translateY(50%);
          transform: rotate(-135deg) translateY(50%);
  -webkit-transform-origin: bottom left;
      -ms-transform-origin: bottom left;
          transform-origin: bottom left;
  border: 2px solid #039;
  border-width: 2px 0 0 2px;
}

/* ----------------------------------------------------------------------------
* 注釈リンク
* ------------------------------------------------------------------------- */
.mod-link-notes {
  font-size: .75em;
  margin: 1.875rem 0 5rem;
}

.mod-link-notes > .mark {
  margin-right: .5em;
}

.mod-link-notes a {
  color: #039;
}

/* ============================================================================
* _pnl パネルモジュール
* ========================================================================= */
.mod-fixed-pnl {
  position: fixed;
  top: 147px;
  right: 0;
  overflow: hidden;
  max-width: 186px;
  border-radius: 5px;
}

.mod-fixed-pnl .fixed-pnl-header {
  background: #f69c00;
  padding: 10px 30px 8px;
}

.mod-fixed-pnl .fixed-pnl-header .hdg {
  font-size: .875em;
  text-align: center;
  color: #fff;
}

.mod-fixed-pnl .fixed-pnl-content {
  background: #f2f0ee;
  padding: 17px 15px 23px;
}

.mod-fixed-pnl .fixed-pnl-content .hdg {
  font-size: .8125em;
  text-align: center;
  color: #f69c00;
  margin-bottom: .4615rem;
}

.mod-fixed-pnl .mod-list-link > li {
  font-size: .75em;
  margin-bottom: .3rem;
  padding-left: .8em;
}

.mod-fixed-pnl .mod-list-link > li::after {
  top: .275em;
  left: -.5em;
  width: 5px;
  height: 5px;
  border-width: 0 1px 1px 0;
}

.mod-fixed-pnl a {
  color: #333;
}

.mod-fixed-pnl a:hover {
  text-decoration: underline;
}

/* ============================================================================
* _btn ボタンモジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* ボタン .mod-btn
* ------------------------------------------------------------------------- */
.mod-btn {
  margin: 0 auto 2.5rem;
}

.mod-btn > a,
.mod-btn button {
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  color: #333;
  background: #fff;
  background: linear-gradient(to bottom, #fff, #fbfbfb);
  position: relative;
  padding: .9375rem 25px;
  border: 1px solid #dadada;
  border-radius: 8px;
}

.mod-btn > a:hover,
.mod-btn button:hover {
  cursor: pointer;
}

.mod-btn > a::after,
.mod-btn button::after {
  position: absolute;
  bottom: 50%;
  left: .5em;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  -webkit-transform: rotate(-45deg) translateY(50%);
      -ms-transform: rotate(-45deg) translateY(50%);
          transform: rotate(-45deg) translateY(50%);
  -webkit-transform-origin: top right;
      -ms-transform-origin: top right;
          transform-origin: top right;
  border: 2px solid #039;
  border-width: 2px 0 0 2px;
}

.mod-btn .btn-prev {
  min-width: 185px;
}

.mod-btn-02 {
  position: relative;
}

.mod-btn-02 > .btn {
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  color: #fff;
  background: #ccc;
  display: block;
  height: 100%;
  padding: .9375rem 25px;
  border-radius: 5px;
  box-shadow: 0 -4px 0 0 rgba(0, 0, 0, .2) inset;
}

.mod-btn-02 > .btn:hover,
.mod-btn-02 > .btn:active {
  cursor: pointer;
}

.mod-btn-02 > .btn:active {
  height: calc(100% - 4px);
  margin-top: 4px;
  padding-bottom: calc(.9375rem - 4px);
  box-shadow: none;
}

.mod-btn-02 > .btn.inline {
  display: inline-block;
}

.mod-btn-02 > .btn.is-unselected {
  color: #333;
  background: #fbe0de;
  border: 2px solid #ea635c;
  box-shadow: 0 -4px 0 0 #ea635c inset;
}

.mod-btn-02 > .btn[disabled] {
  pointer-events: none;
  color: #c1c1c1;
  background: #dedede;
  box-shadow: 0 -4px 0 0 rgba(0, 0, 0, .2) inset;
}

.mod-btn-02.is-active > .btn {
  height: calc(100% - 4px);
  margin-top: 4px;
  padding-bottom: calc(.9375rem - 4px);
  box-shadow: none;
}

.mod-btn-02.color-01 > .btn {
  color: #fff;
  background: #4066b3;
}

.mod-btn-02.color-02 > .btn {
  color: #fff;
  background: #009ee0;
}

.mod-btn-02.color-03 > .btn {
  color: #4066b3;
  background: #dedede;
}

.mod-btn-02.color-03.is-active > .btn {
  color: #fff;
  background: #4066b3;
}

.mod-btn-02.color-03 .radio-btn {
  position: absolute;
  z-index: -1;
  display: block;
  opacity: 0;
}

.mod-btn-02.color-03 .radio-btn:checked + .btn {
  color: #fff;
  background: #4066b3;
  border: 1px solid #4066b3;
}

.mod-btn-02[class*=color-] > .btn.is-unselected {
  color: #333;
  background: #fbe0de;
  border: 2px solid #ea635c;
  box-shadow: 0 -4px 0 0 #ea635c inset;
}

.mod-btn-02.btn-large > .btn {
  font-size: 1.25rem;
  padding: 1.6rem 25px;
}

.mod-btn-02.btn-large.is-active > .btn {
  padding-bottom: calc(1.6rem - 4px);
}

.mod-btn-02.btn-large.is-active > .btn:active {
  padding-bottom: calc(1.475rem - 4px);
}

.mod-btn-02 .radio-btn {
  position: absolute;
  z-index: -1;
  display: block;
  opacity: 0;
}

.mod-btn-02 .radio-btn:focus + .btn {
  opacity: .7;
}

.mod-btn-02 .radio-btn[disabled] + .btn {
  pointer-events: none;
  color: #c1c1c1;
  background: #dedede;
  border: 0;
  box-shadow: 0 -4px 0 0 rgba(0, 0, 0, .2) inset;
}

.mod-btn-02 .radio-btn:checked + .btn {
  box-shadow: none;
}

/* ----------------------------------------------------------------------------
* ログインページタブボタン .mod-btn-tab
* ------------------------------------------------------------------------- */
.mod-btn-tab.col-1 .col {
  width: 100%;
  padding-left: 30px;
}

.mod-btn-tab.col-1 .col:nth-child(1n + 1) {
  padding-left: 0;
}

.mod-btn-tab.col-2 .col {
  float: left;
  width: 50%;
  padding-left: 30px;
}

.mod-btn-tab.col-2 .col:nth-child(2n + 1) {
  padding-left: 0;
}

.mod-btn-tab.col-3 .col {
  float: left;
  width: 33.33333%;
  padding-left: 30px;
}

.mod-btn-tab.col-3 .col:nth-child(3n + 1) {
  padding-left: 0;
}

.mod-btn-tab.col-4 .col {
  float: left;
  width: 25%;
  padding-left: 30px;
}

.mod-btn-tab.col-4 .col:nth-child(4n + 1) {
  padding-left: 0;
}

.mod-btn-tab.col-5 .col {
  float: left;
  width: 20%;
  padding-left: 30px;
}

.mod-btn-tab.col-5 .col:nth-child(5n + 1) {
  padding-left: 0;
}

/* ----------------------------------------------------------------------------
* トグルボタン .mod-btn-toggle
* ------------------------------------------------------------------------- */
.mod-btn-toggle {
  text-decoration: none;
  background: none;
  position: relative;
  display: inline-block;
  margin: 0 auto 2.5rem;
  padding-left: 20px;
  cursor: pointer;
  border: none;
}

.mod-btn-toggle::after {
  position: absolute;
  bottom: 50%;
  left: .5em;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  -webkit-transform: rotate(-135deg) translateY(50%);
      -ms-transform: rotate(-135deg) translateY(50%);
          transform: rotate(-135deg) translateY(50%);
  -webkit-transform-origin: bottom left;
      -ms-transform-origin: bottom left;
          transform-origin: bottom left;
  border: 2px solid #039;
  border-width: 2px 0 0 2px;
}

.mod-btn-toggle.is-active::after {
  -webkit-transform: rotate(45deg) translateY(50%);
      -ms-transform: rotate(45deg) translateY(50%);
          transform: rotate(45deg) translateY(50%);
  -webkit-transform-origin: top left;
      -ms-transform-origin: top left;
          transform-origin: top left;
}

/* ----------------------------------------------------------------------------
* アローボタン .mod-btn-arrow
* ------------------------------------------------------------------------- */
.mod-btn-arrow-01 {
  text-align: center;
  margin-bottom: 15px;
}

.mod-btn-arrow-01 > button,
.mod-btn-arrow-01 > a {
  font-size: 1.5rem;
  font-weight: 600;
  position: relative;
  display: inline-block;
  min-width: 440px;
  min-height: 86px;
  padding: 9px 15px;
  border: none;
  border-radius: 5px;
}

.mod-btn-arrow-01 > button::after,
.mod-btn-arrow-01 > a::after {
  position: absolute;
  right: 14px;
  bottom: 50%;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  -webkit-transform: rotate(-45deg) translateY(50%);
      -ms-transform: rotate(-45deg) translateY(50%);
          transform: rotate(-45deg) translateY(50%);
  border: 2px solid transparent;
  border-width: 0 2px 2px 0;
}

.mod-btn-arrow-01 > button[disabled],
.mod-btn-arrow-01 > a[disabled] {
  color: #c1c1c1;
  background-color: #dedede;
  box-shadow: inset 0 -4px #c1c1c1;
}

.mod-btn-arrow-01 > button[disabled]::after,
.mod-btn-arrow-01 > a[disabled]::after {
  border-color: #c1c1c1;
}

.mod-btn-arrow-01 .text-small {
  font-size: 1.2rem;
}

.mod-btn-arrow-01 > button,
.mod-btn-arrow-01 > a {
  color: #fff;
  background-color: #f37e00;
  box-shadow: inset 0 -4px #b37201;
}

.mod-btn-arrow-01 > button::after,
.mod-btn-arrow-01 > a::after {
  border-color: #fff;
}

/* ============================================================================
* _list リストモジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* フローリスト .mod-list-flow
* ------------------------------------------------------------------------- */
.mod-list-flow {
  display: table;
  width: 100%;
  margin: 3.75rem auto;
  padding: 0;
}

.mod-list-flow .list-item {
  vertical-align: middle;
  color: #fff;
  position: relative;
  display: table-cell;
  overflow: hidden;
  border-radius: 3px 0 0 3px;
}

.mod-list-flow .list-item .inner {
  background: #99add6 url("/shared/images/bg_mod_list_02.png") no-repeat top right/contain;
  padding: 22px 36px 22px 13px;
}

.mod-list-flow .list-item .num {
  font-weight: bold;
  text-align: center;
  background: #4066b3;
  display: inline-block;
  width: 23px;
  height: 23px;
  margin-right: 10px;
  border-radius: 3px;
}

.mod-list-flow .list-item.is-current,
.mod-list-flow .list-item.is-prev {
  color: #fff;
}

.mod-list-flow .list-item.is-current .inner,
.mod-list-flow .list-item.is-prev .inner {
  background-color: #039;
  background-image: url("/shared/images/bg_mod_list_01.png");
}

.mod-list-flow .list-item.is-current .num,
.mod-list-flow .list-item.is-prev .num {
  color: #039;
  background: #fff;
}

.mod-list-flow .list-item.is-current {
  font-weight: bold;
}

/* ----------------------------------------------------------------------------
* ステップーリスト .mod-list-step
* ------------------------------------------------------------------------- */
.mod-list-step {
  letter-spacing: -.6em;
  padding: 0;
}

.mod-list-step .list-item {
  letter-spacing: normal;
  vertical-align: top;
  background: url("/shared/images/icon_allow_01.png") no-repeat right 25px center;
  display: inline-block;
  padding-right: 64px;
}

.mod-list-step .list-item.col-4 {
  width: 25%;
}

.mod-list-step .list-item.col-4:nth-child(n+5) {
  margin-top: 3em;
}

.mod-list-step .list-item:last-child {
  background: none;
  padding-right: 0;
}

.mod-list-step .list-title {
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
  display: block;
  margin-bottom: 1.7778em;
}

.mod-list-step .list-title .num {
  color: #039;
  display: block;
  margin-bottom: .1875em;
}

.mod-list-step .list-icon {
  text-align: center;
  margin-bottom: 2.5em;
}

.mod-list-step .list-icon > img {
  width: 85px;
  height: 62px;
}

.mod-list-step-02 {
  letter-spacing: -.6em;
  margin-bottom: 3.125rem;
  padding: 0;
}

.mod-list-step-02 .list-item {
  letter-spacing: normal;
  vertical-align: top;
  background: url("/shared/images/icon_allow_01.png") no-repeat right 25px center;
  display: inline-block;
  padding-right: 64px;
}

.mod-list-step-02 .list-item.col-3 {
  width: 33.3333%;
}

.mod-list-step-02 .list-item.col-3:nth-child(n+4) {
  margin-top: 3em;
}

.mod-list-step-02 .list-item:last-child {
  background: none;
  padding-right: 0;
}

.mod-list-step-02 .list-title {
  font-weight: bold;
  text-align: center;
  position: relative;
  display: block;
  margin-bottom: 1.2223em;
  padding-left: 26px;
}

.mod-list-step-02 .list-title .num {
  font-size: .7777rem;
  font-weight: bold;
  line-height: 2;
  text-align: center;
  color: #fff;
  background: #039;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 23px;
  height: 23px;
  border-radius: 3px;
}

.mod-list-step-02 .list-icon {
  text-align: center;
}

.mod-list-step-02 .list-icon > img {
  width: 138px;
  height: 98px;
}

/* ----------------------------------------------------------------------------
* アイコンリスト .mod-list-icon
* ------------------------------------------------------------------------- */
.mod-list-icon {
  letter-spacing: -.6em;
}

.mod-list-icon .list-item {
  letter-spacing: normal;
  vertical-align: top;
  display: inline-block;
  padding-right: 64px;
}

.mod-list-icon .list-item.col-4 {
  width: 25%;
}

.mod-list-icon .list-item.col-4:nth-child(n+5) {
  margin-top: 5em;
}

.mod-list-icon .list-item.col-4:nth-child(4n) {
  padding-right: 0;
}

.mod-list-icon .list-item:last-child {
  background: none;
  padding-right: 0;
}

.mod-list-icon .list-title {
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
  display: block;
  margin-bottom: 1.7778em;
}

.mod-list-icon .list-title .num {
  color: #039;
  display: block;
  margin-bottom: .1875em;
}

.mod-list-icon .list-icon {
  text-align: center;
  margin-bottom: 2.5em;
}

.mod-list-icon .list-icon > img {
  width: 85px;
  height: 62px;
}

/* ----------------------------------------------------------------------------
* 注釈リスト .mod-list-notes
* ------------------------------------------------------------------------- */
.mod-list-notes > li {
  font-size: .75rem;
  position: relative;
  margin-bottom: 1.2rem;
  padding-left: 1.5em;
}

.mod-list-notes > li > .mark {
  position: absolute;
  top: 0;
  left: 0;
}

.mod-list-notes > li a {
  color: #039;
}

.mod-list-notes.type-num > li {
  padding-left: 2em;
}

.mod-list-notes.inline {
  display: inline-block;
}

/* ----------------------------------------------------------------------------
* リンクリスト .mod-list-link
* ------------------------------------------------------------------------- */
.mod-list-link > li {
  position: relative;
  padding-left: 1.5em;
}

.mod-list-link > li::after {
  position: absolute;
  top: .15em;
  left: .25em;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  -webkit-transform: rotate(-45deg) translateY(50%);
      -ms-transform: rotate(-45deg) translateY(50%);
          transform: rotate(-45deg) translateY(50%);
  -webkit-transform-origin: top right;
      -ms-transform-origin: top right;
          transform-origin: top right;
  border: 2px solid #039;
  border-width: 0 2px 2px 0;
}

.mod-list-link > li a {
  text-decoration: none;
}

/* ----------------------------------------------------------------------------
* 定義リスト .mod-list-def
* ------------------------------------------------------------------------- */
.mod-list-def {
  font-size: .875rem;
  margin-bottom: 2.8125rem;
}

.mod-list-def > dt {
  font-weight: bold;
  margin-bottom: .25rem;
}

.mod-list-def > dd + dt {
  margin-top: 1rem;
}

/* ----------------------------------------------------------------------------
* ビュレット付きリスト .mod-list-bullet
* ------------------------------------------------------------------------- */
.mod-list-bullet > :last-child {
  margin-bottom: 0;
}

.mod-list-bullet > li {
  font-size: .875rem;
  position: relative;
  margin-bottom: .25rem;
  padding-left: 1em;
}

.mod-list-bullet > li::before {
  background-color: #009ee0;
  position: absolute;
  top: .5em;
  left: 0;
  display: block;
  width: 5px;
  height: 5px;
  content: "";
  border-radius: 50%;
}

.mod-list-bullet.inline {
  display: inline-block;
}

/* ============================================================================
* _tbl テーブルモジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* SP時段落ちテーブル .mod-form-tbl
* ------------------------------------------------------------------------- */
.mod-form-tbl {
  width: 100%;
  margin-bottom: 30px;
  border-collapse: collapse;
}

.mod-form-tbl th,
.mod-form-tbl td {
  vertical-align: top;
}

.mod-form-tbl tr {
  border: 1px solid #ccc;
  border-width: 1px 0 1px 0;
}

.mod-form-tbl th {
  font-weight: bold;
  text-align: left;
  background: #f9f9f9;
  padding: 32px 20px 32px 15px;
}

.mod-form-tbl td {
  background: #fff;
  padding: 32px;
}

.mod-form-tbl td > :last-child {
  margin-bottom: 0;
}

.mod-form-tbl .tbl-hdg-container .label {
  font-size: .75rem;
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  padding: .125rem .625rem;
  border-radius: 3px;
}

.mod-form-tbl .tbl-hdg-container.required {
  position: relative;
  padding-right: 4rem;
}

.mod-form-tbl .tbl-hdg-container.required .label {
  font-weight: normal;
  color: #fff;
  background: #ea635c;
}

.mod-form-tbl .tbl-hdg {
  position: relative;
  display: block;
  padding-left: .625rem;
}

.mod-form-tbl .tbl-hdg:after {
  background: #039;
  position: absolute;
  top: .1rem;
  left: 0;
  width: 3px;
  height: calc(100% - .3rem);
  content: "";
}

.mod-form-tbl .tbl-hdg span {
  display: block;
}

.mod-form-tbl .tbl-txt-supplement {
  font-size: .875rem;
  font-weight: normal;
  margin-top: 10px;
}

.mod-tbl {
  margin-bottom: 1rem;
}

.mod-tbl table {
  width: 100%;
  border-collapse: collapse;
}

.mod-tbl th,
.mod-tbl td {
  vertical-align: top;
  padding: 15px 12px;
}

.mod-tbl th {
  text-align: left;
  background: #f9f9f9;
}

.mod-tbl td {
  background: #fff;
}

.mod-tbl td > :last-child {
  margin-bottom: 0;
}

.mod-tbl thead th {
  font-weight: bold;
  color: #fff;
  background: #4f90c8;
  border-right: 1px solid #e7eceb;
}

.mod-tbl thead th:last-child {
  border-right: 1px #4f90c8;
}

.mod-tbl tbody th,
.mod-tbl tbody td {
  border: 1px solid #e7eceb;
}

.mod-tbl tbody th {
  background: #f5f7f7;
}

/* ============================================================================
* _box ボックスモジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* 汎用ボックス .mod-box
* ------------------------------------------------------------------------- */
.mod-box-01 {
  font-weight: bold;
  margin-bottom: 60px;
  padding: 40px 60px 60px;
}

.mod-box-01 > :last-child {
  margin-bottom: 0;
}

.mod-box-01 .box-hdg {
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2.1rem;
}

.mod-box-01 {
  background: #eaf3f9;
}

.mod-box-01 .box-hdg {
  color: #009ee0;
}

.mod-box-02 {
  line-height: 1.7;
  text-align: center;
  background: #f9f9f9;
  margin: 0 auto;
  padding: 30px 20px;
}
/* 20191004 add jun end */
/* 20191004 スマホ用追加 add jun start */
.mod-box-03 {
	line-height: 1.7;
	text-align: center;
	background: #f9f9f9;
	margin: 0 auto;
	padding: 30px 20px;
}

/* ----------------------------------------------------------------------------
* エラーボックス .mod-box-err
* ------------------------------------------------------------------------- */
.mod-box-err {
  font-weight: bold;
  color: #ea635c;
  background: #fbe0de;
  margin-bottom: 32px;
  padding: 25px;
  border: 2px solid #ea635c;
  border-radius: 5px;
}

.mod-box-err > :last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------------------
* ログインメッセージボックス .mod-box-login-msg
* ------------------------------------------------------------------------- */
.mod-box-login-msg {
  font-weight: bold;
  color: #ea635c;
  background: #fbe0de;
  margin-bottom: 32px;
  padding: 25px;
  border: 2px solid #ea635c;
  border-radius: 5px;
}

.mod-box-login-msg > :last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------------------------
* お問い合わせボックス .mod-box-contact
* ------------------------------------------------------------------------- */
.mod-box-contact {
  line-height: 1.7;
  text-align: center;
  background: #f9f9f9;
  margin: 0 auto;
  padding: 30px 20px;
}

.mod-box-contact .contact-area-content {
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: flex-start;

  -ms-flex-align: center;
  -ms-flex-pack: start;
}

.mod-box-contact .contact-area-content p {
  font-size: 14px;
  margin: 0 auto 0 13px;
}

.mod-box-contact .contact-area-content .contact-tell-num {
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
  color: #039;
  margin: 0 0 0 auto;
}

.mod-box-contact .contact-area-content .contact-tell-num img {
  vertical-align: middle;
}

.mod-box-contact .contact-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
}

/* ============================================================================
* _lyt レイアウトモジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* マルチカラムレイアウト .m-lyt-column
* ------------------------------------------------------------------------- */
.mod-lyt-column.col-2 .col {
  float: left;
  width: calc(50%);
  padding-left: 40px;
}

.mod-lyt-column.col-2 .col:nth-child(2n + 1) {
  padding-left: 0;
}

.mod-lyt-column.col-3 .col {
  float: left;
  width: calc(33.33333%);
  padding-left: 40px;
}

.mod-lyt-column.col-3 .col:nth-child(3n + 1) {
  padding-left: 0;
}

.mod-lyt-column.col-4 .col {
  float: left;
  width: calc(25%);
  padding-left: 40px;
}

.mod-lyt-column.col-4 .col:nth-child(4n + 1) {
  padding-left: 0;
}

.mod-lyt-column.col-5 .col {
  float: left;
  width: calc(20%);
  padding-left: 40px;
}

.mod-lyt-column.col-5 .col:nth-child(5n + 1) {
  padding-left: 0;
}

.mod-lyt-flex {
  display: -ms-flexbox;
  display: flex;
  align-items: baseline;

  -ms-flex-align: baseline;
}

/* ============================================================================
* _media メディア系モジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* 画像見出し・テキスト .full-img-txt
* ------------------------------------------------------------------------- */
.full-img-txt {
  position: relative;
  margin-bottom: 122px;
}

.full-img-txt::after {
  background: url("/shared/images/icon_allow_02.png") no-repeat;
  position: absolute;
  right: 50%;
  bottom: -85px;
  display: block;
  width: 112px;
  height: 35px;
  content: "";
  -webkit-transform: translateX(50%);
      -ms-transform: translateX(50%);
          transform: translateX(50%);
}

.full-img-txt > .inner {
  position: absolute;
  top: 0;
  right: 0;
  right: 0;
  left: 0;
  width: 100%;
  max-width: 950px;
  height: 100%;
  margin: auto;
}

.full-img-txt .txt-container {
  background: rgba(255, 255, 255, .95);
  width: 50%;
  height: 100%;
  padding: 5.8333% 3.89473684210526% 0;
}

.full-img-txt .txt-container.type-right {
  margin-left: auto;
}

.full-img-txt .txt-container .txt {
  text-align: center;
  margin-bottom: 2em;
}

.full-img-txt .txt-container :last-child {
  margin-bottom: 0;
}

.full-img-txt .img {
  text-align: center;
}

/* ============================================================================
* _form フォーム系モジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* 入力例テキスト .mod-form-sample-txt
* ------------------------------------------------------------------------- */
.mod-form-sample-txt {
  font-size: .875rem;
  margin-bottom: .7em;
}

.mod-form-sample-title {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: .1875em;
}

/* ----------------------------------------------------------------------------
* ガイドメッセージ .form-guide-msg
* ------------------------------------------------------------------------- */
.form-guide-msg {
  margin: .3125rem 0 .5rem;
}

.form-guide-msg .guide {
  font-size: .875em;
  color: #fff;
  background: #4066b3;
  position: relative;
  display: inline-block;
  padding: .7142em 1.785em;
  border-radius: 5px;
}

.form-guide-msg .guide::after {
  position: absolute;
  top: -7px;
  left: 1.785rem;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-width: 0 6px 7px 6px;
  border-style: solid;
  border-color: transparent transparent #4066b3 transparent;
}

/* ----------------------------------------------------------------------------
* エラーメッセージ .form-err-msg
* ------------------------------------------------------------------------- */
.form-err-msg {
  margin: .3125rem 0 .5rem;
}

.form-err-msg .error {
  font-size: .875em;
  color: #fff;
  background: #ea635c;
  position: relative;
  display: inline-block;
  padding: .7142em 1.785em;
  border-radius: 5px;
}

.form-err-msg .error::after {
  position: absolute;
  top: -7px;
  left: 1.785rem;
  display: block;
  width: 0;
  height: 0;
  content: "";
  border-width: 0 6px 7px 6px;
  border-style: solid;
  border-color: transparent transparent #ea635c transparent;
}

/* ----------------------------------------------------------------------------
* テキスト入力 .mod-form-input
* ------------------------------------------------------------------------- */
.mod-form-input {
  display: inline-block;
  width: 90%;
  margin: 0 0 1em;
  padding: .7em;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.mod-form-input + .separation {
  padding: 0 1em;
}

.mod-form-input:focus {
  background: #edf4f9;
}

.mod-form-input.error {
  background: #fbe0de;
  border-color: #ea635c;
}

.mod-form-input-02{
  display: inline-block;
  width: 160%;
  height:100%;
  margin: 0 1em;
  padding: .7em;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.mod-form-input-02 + .separation {
  padding: 0 1em;
}

.mod-form-input-02:focus {
  background: #edf4f9;
}

.mod-form-input-02.error {
  background: #fbe0de;
  border-color: #ea635c;
}

/* ----------------------------------------------------------------------------
* テキスト入力 .mod-form-check
* ------------------------------------------------------------------------- */
.mod-form-check {
  font-size: .875em;
  position: relative;
  display: inline-block;
}

.mod-form-check input[type="checkbox"] {
  position: absolute;
  opacity: 0;
}

.mod-form-check input[type="checkbox"]:checked + label::before {
  background: url("/shared/images/icon_check_01.png") no-repeat center/14px 11px;
}

.mod-form-check input[type="checkbox"]:focus + label::before {
  background-color: #edf4f9;
}

.mod-form-check label {
  vertical-align: middle;
}

.mod-form-check label::before {
  vertical-align: middle;
  background: #fff;
  display: inline-block;
  width: 19px;
  height: 19px;
  margin-right: .65em;
  content: "";
  border: 1px solid #ccc;
  border-radius: 2px;
}

/* ----------------------------------------------------------------------------
* セレクトボックス .mod-form-select
* ------------------------------------------------------------------------- */
.mod-form-select-container {
  display: inline-block;
}

.mod-form-select {
  vertical-align: middle;
  display: inline-table;
}

.mod-form-select-02 {
  text-align:center;
  margin-left: 170px;
}

.mod-form-select .select-inner {
  background: #fff;
  position: relative;
  display: inline-block;
  overflow: hidden;
  margin: 0 0 .5em;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.mod-form-select .select-inner::after {
  position: absolute;
  z-index: 1;
  right: .5em;
  bottom: 50%;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  -webkit-transform: rotate(45deg) translateY(50%);
      -ms-transform: rotate(45deg) translateY(50%);
          transform: rotate(45deg) translateY(50%);
  border: 2px solid #039;
  border-width: 0 2px 2px 0;
}

.mod-form-select .select-inner + .separation {
  vertical-align: middle;
  display: table-cell;
  padding: 0 1em;
}

.mod-form-select select {
  font-size: 1em;
  background: transparent;
  position: relative;
  z-index: 1;
  width: 160%;
  padding: 1em 1.75em 1em 1em;
  border: none;
}

.mod-form-select select:focus {
  background: #edf4f9;
}

.mod-form-select select.error {
  background: #fbe0de;
}

.mod-form-select select option {
  background: #fff;
}

.mod-form-select select.is-unentered {
  background: #fbe0de;
  border-color: #ea635c;
}
/* 20191004 add jun end */

.mod-form-select.select-long {
  width: 87%;
}

.mod-form-select.select-long .select-inner {
  width: 100%;
}

.mod-form-select.select-long-02 .select-inner {
  vertical-align: bottom;
}

[data-set-id="validate-birth"].error .mod-form-select select {
  background: #fbe0de;
}
[data-set-id="validate-birth2"].error .mod-form-select select {
  background: #fbe0de;
}

/* ----------------------------------------------------------------------------
* 次へボタン .mod-form-btn-bext
* ------------------------------------------------------------------------- */
.mod-form-btn-bext {
  text-align: center;
  margin-bottom: 2rem;
}

.mod-form-btn-bext > input {
  max-width: 100%;
}

/* ----------------------------------------------------------------------------
* 検索ボタン .mod-form-btn-search
* ------------------------------------------------------------------------- */
.mod-form-btn-search {
  width: 95px;
  margin-left: 10px;
}

.mod-form-btn-search > .btn {
  color: #fff;
  background: #4066b3;
  padding: .7em 16px;
  border: 1px solid #4066b3;
  border-radius: 4px;
  box-shadow: 0 -4px 0 0 rgba(0, 0, 0, .2) inset;
}

.mod-form-btn-search.btn-search-em > .btn {
  font-weight: bold;
  width: 100%;
  padding: .8em 16px;
}

/* ----------------------------------------------------------------------------
* 未選択状態クラス .is-unentered
* ------------------------------------------------------------------------- */
.is-unentered {
  background: #fbe0de;
  border-color: #ea635c;
}

/* ============================================================================
* _comp 固有モジュール
* ========================================================================= */
/* ----------------------------------------------------------------------------
* ステップセクション .comp-step-section
* ------------------------------------------------------------------------- */
.comp-step-section {
  position: relative;
  margin-bottom: 148px;
}

.comp-step-section::after {
  background: url("/shared/images/icon_allow_02.png") no-repeat;
  position: absolute;
  right: 50%;
  bottom: -85px;
  display: block;
  width: 112px;
  height: 35px;
  content: "";
  -webkit-transform: translateX(50%);
      -ms-transform: translateX(50%);
          transform: translateX(50%);
}

/* ============================================================================
* _func javascriptウィジェット
* ========================================================================= */
/* ----------------------------------------------------------------------------
* トグル .js-toggle
* ------------------------------------------------------------------------- */
.js-toggle .js-toggle-target {
  display: none;
}

/* ----------------------------------------------------------------------------
* タブ .js-tab
* ------------------------------------------------------------------------- */
.js-tab .tab-panel:not(.is-active) {
  display: none;
}

/* ----------------------------------------------------------------------------
* 継続手続き専用ページ
* ------------------------------------------------------------------------- */
.voice-container {
  margin-bottom: 60px;
  padding-bottom: 60px;
  border-bottom: 1px dotted #333;
}

.voice-container .voice-tab ul {
  max-width: 950px;
  margin: 0 auto;
}

.voice-container .voice-tab li {
  text-align: center;
  position: relative;
  bottom: -2px;
  float: left;
  width: 50%;
  margin: 0;
}

.voice-container .voice-tab li a {
  text-decoration: none;
  color: #333;
  background: #e7eceb;
  position: relative;
  display: block;
  margin: 0;
  padding: 15px;
  border-top: 2px solid #dadada;
  border-right: 2px solid #dadada;
  border-left: 2px solid #dadada;
  border-radius: 5px 5px 0 0;
}

.voice-container .voice-tab li a::after {
  background: #4c79c1;
  position: absolute;
  right: -2px;
  bottom: 0;
  left: -2px;
  box-sizing: content-box;
  height: 2px;
  content: "";
}

.voice-container .voice-tab li.active a {
  color: #333;
  background: #fff;
  border-top: 2px solid #4c79c1;
  border-right: 2px solid #4c79c1;
  border-left: 2px solid #4c79c1;
}

.voice-container .voice-tab li.active a::after {
  background: #fff;
  right: 0;
  left: 0;
  border-right: none;
  border-left: none;
}

.voice-container .voice-tab li a:hover {
  background: #fff;
}

.voice-container .voice-tab li.active a:hover {
  background: #fff;
  opacity: .8;
}

.voice-container .tab-panel {
  display: none;
}

.voice-container .tab-panel.active {
  display: block;
}

.voice-container .tab-content {
  box-sizing: content-box;
  padding-right: 3.6%;
  padding-left: 3.6%;
}

.voice-container .voice-list li {
  text-align: left;
  margin-top: 15px;
}

.voice-container .voice-list.satisfy .icon,
.voice-container .voice-list.unsatisfy .icon {
  width: 66px;
  padding-right: 25px;
}

.voice-container .voice-list.satisfy .icon img,
.voice-container .voice-list.unsatisfy .icon img {
  width: 100%;
}

.voice-container .voice-list .voice-name {
  font-size: .875rem;
  padding: 0 1.5em;
}

.voice-container .voice-list .voice-voice .voice-title {
  font-size: .875rem;
  font-weight: bold;
  color: #4066b3;
  margin-bottom: 10px;
}

.voice-container .voice-list .voice-voice .voice-text {
  font-size: .875rem;
}

.voice-container .voice-list .voice-improve {
  min-height: 70px;
  margin-top: 10px;
}

.voice-container .voice-list .voice-improve .improve-inner {
  background: #f2f2f2;
  position: relative;
  padding: 20px 25px;
  border-radius: 5px;
}

.voice-container .voice-list .voice-improve .improve-label {
  font-size: 14px;
  color: #4066b3;
}

.voice-container .voice-list .voice-improve .improve-text {
  font-size: .875rem;
  margin-top: 10px;
}

.voice-container .note {
  font-size: .9375rem;
  margin-top: 1em;
}

.voice-container .note a {
  color: #039;
}

.voice-container .morelink {
  font-size: .875rem;
  margin-top: 10px;
}

.voice-container .morelink a {
  color: #039;
}

.voice-container .link-more,
.voice-container .c_link-open {
  text-align: center;
  margin-top: 40px;
}

.voice-container .link-more a {
  text-decoration: none;
  letter-spacing: .2em;
  background-repeat: no-repeat;
}

.voice-container .link-more a:hover {
  text-decoration: underline;
}

.voice-container .link-more .c_open-btn {
  position: relative;
}

.voice-container .c_link-open .toggle-btn {
  position: relative;
}

.voice-container .link-more .c_open-btn::after {
  position: absolute;
  bottom: 50%;
  left: .5em;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  -webkit-transform: rotate(-135deg) translateY(50%);
      -ms-transform: rotate(-135deg) translateY(50%);
          transform: rotate(-135deg) translateY(50%);
  -webkit-transform-origin: bottom left;
      -ms-transform-origin: bottom left;
          transform-origin: bottom left;
  border: 2px solid #039;
  border-width: 2px 0 0 2px;
}

.voice-container .c_link-open .toggle-btn::after {
  position: absolute;
  bottom: 50%;
  left: .5em;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  -webkit-transform: rotate(-135deg) translateY(50%);
      -ms-transform: rotate(-135deg) translateY(50%);
          transform: rotate(-135deg) translateY(50%);
  -webkit-transform-origin: bottom left;
      -ms-transform-origin: bottom left;
          transform-origin: bottom left;
  border: 2px solid #039;
  border-width: 2px 0 0 2px;
}

.voice-container .c_link-open.c_btn-active .toggle-btn::after {
  -webkit-transform: rotate(45deg) translateY(50%);
      -ms-transform: rotate(45deg) translateY(50%);
          transform: rotate(45deg) translateY(50%);
}

.voice-container .link-more .more-btn {
  position: relative;
  display: none;
  padding-left: 1.5em;
}

.voice-container .link-more .more-btn::after {
  position: absolute;
  bottom: 50%;
  left: 0;
  display: block;
  width: 8px;
  height: 8px;
  content: "";
  -webkit-transform: rotate(135deg) translateY(50%);
      -ms-transform: rotate(135deg) translateY(50%);
          transform: rotate(135deg) translateY(50%);
  -webkit-transform-origin: bottom right;
      -ms-transform-origin: bottom right;
          transform-origin: bottom right;
  border: 2px solid #039;
  border-width: 2px 0 0 2px;
}

.voice-container .link-open {
  margin: 10px 15px 0 15px;
}

.voice-container .link-open a {
  font-size: .875rem;
  letter-spacing: .1em;
  text-align: right;
  background-size: 15px auto;
  display: block;
  padding: 0 15px 0 0;
}

.voice-container .link-close {
  display: none;
  margin: 10px 15px 0 15px;
}

.voice-container .link-close a {
  font-size: 15px;
  letter-spacing: .1em;
  text-align: right;
  background-size: 15px auto;
  display: block;
  padding: 0 15px 0 0;
}

.voice-container #tab2 .link-more .more-btn {
  display: inline;
}

/* ============================================================================
* _adjust 調整クラス
* ========================================================================= */
/* ----------------------------------------------------------------------------
* 文字の位置揃え .align-
* ------------------------------------------------------------------------- */
.align-right {
  text-align: right !important;
}

.align-center {
  text-align: center !important;
}

.align-left {
  text-align: left !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

/* ----------------------------------------------------------------------------
* 幅調整 .w-
* ------------------------------------------------------------------------- */
.w-0 {
  width: 0 !important;
}

.w-5 {
  width: 5% !important;
}

.w-10 {
  width: 10% !important;
}

.w-15 {
  width: 15% !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-30 {
  width: 30% !important;
}

.w-35 {
  width: 35% !important;
}

.w-40 {
  width: 40% !important;
}

.w-45 {
  width: 45% !important;
}

.w-50 {
  width: 50% !important;
}

.w-55 {
  width: 55% !important;
}

.w-60 {
  width: 60% !important;
}

.w-65 {
  width: 65% !important;
}

.w-70 {
  width: 70% !important;
}

.w-75 {
  width: 75% !important;
}

.w-80 {
  width: 80% !important;
}

.w-85 {
  width: 85% !important;
}

.w-90 {
  width: 90% !important;
}

.w-95 {
  width: 95% !important;
}

.w-100 {
  width: 100% !important;
}

.w-16 {
  width: 16.6666% !important;
}

.w-22 {
  width: 22.2222% !important;
}

.w-33 {
  width: 33.3333% !important;
}

.w-66 {
  width: 66.6666% !important;
}

.w-77 {
  width: 77.7777% !important;
}

.w-100-px {
  width: 100px !important;
}

/* ----------------------------------------------------------------------------
* 余白調整 .ml- .mt- .mr- .mb- .pl- .pt- .pr- .pb-
* ------------------------------------------------------------------------- */
.ml-0 {
  margin-left: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.ml-5 {
  margin-left: 5px !important;
}

.mt-5 {
  margin-top: 5px !important;
}

.mr-5 {
  margin-right: 5px !important;
}

.mb-5 {
  margin-bottom: 5px !important;
}

.pl-5 {
  padding-left: 5px !important;
}

.pt-5 {
  padding-top: 5px !important;
}

.pr-5 {
  padding-right: 5px !important;
}

.pb-5 {
  padding-bottom: 5px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.pl-15 {
  padding-left: 15px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pr-15 {
  padding-right: 15px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.ml-25 {
  margin-left: 25px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mr-25 {
  margin-right: 25px !important;
}

.mb-25 {
  margin-bottom: 25px !important;
}

.pl-25 {
  padding-left: 25px !important;
}

.pt-25 {
  padding-top: 25px !important;
}

.pr-25 {
  padding-right: 25px !important;
}

.pb-25 {
  padding-bottom: 25px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.ml-35 {
  margin-left: 35px !important;
}

.mt-35 {
  margin-top: 35px !important;
}

.mr-35 {
  margin-right: 35px !important;
}

.mb-35 {
  margin-bottom: 35px !important;
}

.pl-35 {
  padding-left: 35px !important;
}

.pt-35 {
  padding-top: 35px !important;
}

.pr-35 {
  padding-right: 35px !important;
}

.pb-35 {
  padding-bottom: 35px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.ml-45 {
  margin-left: 45px !important;
}

.mt-45 {
  margin-top: 45px !important;
}

.mr-45 {
  margin-right: 45px !important;
}

.mb-45 {
  margin-bottom: 45px !important;
}

.pl-45 {
  padding-left: 45px !important;
}

.pt-45 {
  padding-top: 45px !important;
}

.pr-45 {
  padding-right: 45px !important;
}

.pb-45 {
  padding-bottom: 45px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.pl-50 {
  padding-left: 50px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pr-50 {
  padding-right: 50px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.ml-55 {
  margin-left: 55px !important;
}

.mt-55 {
  margin-top: 55px !important;
}

.mr-55 {
  margin-right: 55px !important;
}

.mb-55 {
  margin-bottom: 55px !important;
}

.pl-55 {
  padding-left: 55px !important;
}

.pt-55 {
  padding-top: 55px !important;
}

.pr-55 {
  padding-right: 55px !important;
}

.pb-55 {
  padding-bottom: 55px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.ml-65 {
  margin-left: 65px !important;
}

.mt-65 {
  margin-top: 65px !important;
}

.mr-65 {
  margin-right: 65px !important;
}

.mb-65 {
  margin-bottom: 65px !important;
}

.pl-65 {
  padding-left: 65px !important;
}

.pt-65 {
  padding-top: 65px !important;
}

.pr-65 {
  padding-right: 65px !important;
}

.pb-65 {
  padding-bottom: 65px !important;
}

.ml-70 {
  margin-left: 70px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mr-70 {
  margin-right: 70px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.pl-70 {
  padding-left: 70px !important;
}

.pt-70 {
  padding-top: 70px !important;
}

.pr-70 {
  padding-right: 70px !important;
}

.pb-70 {
  padding-bottom: 70px !important;
}

.ml-75 {
  margin-left: 75px !important;
}

.mt-75 {
  margin-top: 75px !important;
}

.mr-75 {
  margin-right: 75px !important;
}

.mb-75 {
  margin-bottom: 75px !important;
}

.pl-75 {
  padding-left: 75px !important;
}

.pt-75 {
  padding-top: 75px !important;
}

.pr-75 {
  padding-right: 75px !important;
}

.pb-75 {
  padding-bottom: 75px !important;
}

.ml-80 {
  margin-left: 80px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.ml-85 {
  margin-left: 85px !important;
}

.mt-85 {
  margin-top: 85px !important;
}

.mr-85 {
  margin-right: 85px !important;
}

.mb-85 {
  margin-bottom: 85px !important;
}

.pl-85 {
  padding-left: 85px !important;
}

.pt-85 {
  padding-top: 85px !important;
}

.pr-85 {
  padding-right: 85px !important;
}

.pb-85 {
  padding-bottom: 85px !important;
}

.ml-90 {
  margin-left: 90px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mr-90 {
  margin-right: 90px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.pl-90 {
  padding-left: 90px !important;
}

.pt-90 {
  padding-top: 90px !important;
}

.pr-90 {
  padding-right: 90px !important;
}

.pb-90 {
  padding-bottom: 90px !important;
}

.ml-95 {
  margin-left: 95px !important;
}

.mt-95 {
  margin-top: 95px !important;
}

.mr-95 {
  margin-right: 95px !important;
}

.mb-95 {
  margin-bottom: 95px !important;
}

.pl-95 {
  padding-left: 95px !important;
}

.pt-95 {
  padding-top: 95px !important;
}

.pr-95 {
  padding-right: 95px !important;
}

.pb-95 {
  padding-bottom: 95px !important;
}

.ml-100 {
  margin-left: 100px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

.mr-100 {
  margin-right: 100px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.pl-100 {
  padding-left: 100px !important;
}

.pt-100 {
  padding-top: 100px !important;
}

.pr-100 {
  padding-right: 100px !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

/* ----------------------------------------------------------------------------
* RWD調整 [.pc-] [.tab-] [.sp-]
* ------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------
* フォント幅調整 .fw-
* ------------------------------------------------------------------------- */
.fw-normal {
  font-weight: normal !important;
}

.fw-bold {
  font-weight: bold !important;
}

/* ----------------------------------------------------------------------------
* フォントサイズ調整 .fz-
* ------------------------------------------------------------------------- */
.fz-normal {
  font-size: 1rem !important;
}
/* 20191004 demo反映 add  jun end */

/* 20191004 add jun start */
/* ----------------------------------------------------------------------------
* 下矢印 ,down-arrow
* ------------------------------------------------------------------------- */
.down-arrow {
  position: relative;
  width: 100px;
  margin: 0 auto 45px auto;
}

.down-arrow::before,
.down-arrow::after {
  display: block;
  width: 50px;
  content: "";
  border-top: 1px solid #4066b3;
}

.down-arrow::before {
  position: absolute;
  left: 37px;
  -webkit-transform: rotate(-30deg);
      -ms-transform: rotate(-30deg);
          transform: rotate(-30deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
}

.down-arrow::after {
  -webkit-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
          transform: rotate(30deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
}

@media screen and (min-width: 768px), print{
  #footer-container .footer-subnav{
    margin-top: 0;
  }

  .mod-form-select.select-long-02 .select-inner{
    width: 21rem;
  }

  .voice-container .voice-tab li{
    font-size: 21px;
    font-weight: bold;
    padding: 0 5px;
  }
  .voice-container .tab-content{
    max-width: 950px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-right: 2%;
    padding-left: 2%;
  }
  .voice-container .more-list{
    display: none;
  }
  .voice-container .voice-list li{
    display: table;
    width: 100%;
    margin: 45px auto 0 auto;
  }
  .voice-container .voice-list li > *{
    vertical-align: middle;
    display: table-cell;
  }
  .voice-container .voice-list .voice-name{
    text-align: center;
    width: 135px;
    border-right: 1px dotted #333;
  }
  .voice-container .voice-list .voice-voice{
    padding-left: 25px;
  }
  .voice-container .voice-list .voice-improve{
    background: url("/shared/images/icon_customer_03.png") no-repeat left bottom;
    padding-left: 96px;
  }
  .voice-container .voice-list .voice-improve .improve-inner::after{
    position: absolute;
    bottom: 26px;
    left: -15px;
    display: block;
    width: 0;
    height: 0;
    content: "";
    border-width: 9px 15px 9px 0;
    border-style: solid;
    border-color: transparent #f2f2f2 transparent transparent;
  }
  .voice-container .note{
    width: 720px;
    margin: 20px auto 0 auto;
  }
  .voice-container .morelink{
    text-align: right;
  }
  .voice-container .link-more a{
    font-size: 1rem;
    background-position: center left;
    padding-left: 16px;
  }
  .min-tab-hide{
    display: none !important;
  }
}

@media screen and (min-width: 1025px), print{

  .mod-txt-scroll{
    display: none !important;
  }

  .pc-hide{
    display: none !important;
  }
}

@media screen and (max-width: 767px), print{
  hr{
    margin: 30px 0;
  }
  .str-container{
    padding: 0 15px;
  }
  .str-main{
    padding-bottom: 40px;
  }
  .mod-hdg-lv1{
    font-size: 1.19rem;
  }
  .mod-hdg-lv2{
    font-size: 1.5rem;
    padding: 0 15px;
  }
  .mod-hdg-01{
    margin: 3.6rem 0 2.5rem;
    padding: 2.15rem 0 .75rem;
  }
  .mod-hdg-01 .hdg{
    font-size: 1.125rem;
    padding: 0 .9375rem;
  }
  .mod-hdg-01 .hdg .lead{
    font-size: 1.125rem;
    margin-bottom: 1.11rem;
  }
  .mod-hdg-02{
    margin: 2.5rem 0 2.5rem;
  }
  .mod-hdg-02 .hdg{
    font-size: 1.125rem;
    padding: 0 .9375rem;
  }

  .mod-hdg-03{
    margin: 2.5rem 0 2.5rem;
  }
  .mod-hdg-03 .hdg{
    font-size: 1.125rem;
    padding: 0 .9375rem;
  }

  .mod-page-lead{
    text-align: left;
    margin-bottom: 2em;
  }
  .mod-page-lead-02{
    font-size: .9375em;
    margin-bottom: 2em;
  }
  .mod-txt-lead{
    font-size: 1.125rem;
    margin-bottom: 1.375rem;
  }
  .mod-txt-attention{
    font-size: .8125em;
  }
  .mod-txt-endorser{
    font-size: 4vw;
  }
  .mod-btn-02 > .btn{
    font-size: .875em;
    padding: .9375rem 7.5px;
  }

  .mod-btn-02.btn-large > .btn{
    font-size: 3.7vw;
    max-width: 100%;
    padding: 1.475rem 17px;
  }
  .mod-btn-02.btn-large.is-active > .btn{
    padding-bottom: calc(1.475rem - 4px);
  }
  .mod-btn-tab.col-1 .col{
    padding-left: 10px;
  }
  .mod-btn-tab.col-1.sp-col-1 .col{
    float: none;
    width: 100%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-1.sp-col-1 .col:nth-child(1n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-1.sp-col-2 .col{
    float: none;
    width: 50%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-1.sp-col-2 .col:nth-child(2n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-1.sp-col-3 .col{
    float: none;
    width: 33.33333%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-1.sp-col-3 .col:nth-child(3n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-1.sp-col-4 .col{
    float: none;
    width: 25%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-1.sp-col-4 .col:nth-child(4n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-1.sp-col-5 .col{
    float: none;
    width: 20%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-1.sp-col-5 .col:nth-child(5n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.sp-col-1 .col{
    float: none;
    width: 100%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.sp-col-1 .col:nth-child(1n + 1){
    padding-left: 0;
  }

  .mod-btn-tab.col-2 .col{
    padding-left: 10px;
  }

  .mod-btn-tab.col-2.sp-col-1 .col{
    width: 100%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-2.sp-col-1 .col:nth-child(1n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-2.sp-col-2 .col{
    width: 50%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-2.sp-col-2 .col:nth-child(2n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-2.sp-col-3 .col{
    width: 33.33333%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-2.sp-col-3 .col:nth-child(3n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-2.sp-col-4 .col{
    width: 25%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-2.sp-col-4 .col:nth-child(4n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-2.sp-col-5 .col{
    width: 20%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-2.sp-col-5 .col:nth-child(5n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.sp-col-2 .col{
    width: 50%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.sp-col-2 .col:nth-child(2n + 1){
    padding-left: 0;
  }

  .mod-btn-tab.col-3 .col{
    padding-left: 10px;
  }

  .mod-btn-tab.col-3.sp-col-1 .col{
    width: 100%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-3.sp-col-1 .col:nth-child(1n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-3.sp-col-2 .col{
    width: 50%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-3.sp-col-2 .col:nth-child(2n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-3.sp-col-3 .col{
    width: 33.33333%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-3.sp-col-3 .col:nth-child(3n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-3.sp-col-4 .col{
    width: 25%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-3.sp-col-4 .col:nth-child(4n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-3.sp-col-5 .col{
    width: 20%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-3.sp-col-5 .col:nth-child(5n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.sp-col-3 .col{
    width: 33.33333%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.sp-col-3 .col:nth-child(3n + 1){
    padding-left: 0;
  }

  .mod-btn-tab.col-4 .col{
    padding-left: 10px;
  }

  .mod-btn-tab.col-4.sp-col-1 .col{
    width: 100%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-4.sp-col-1 .col:nth-child(1n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-4.sp-col-2 .col{
    width: 50%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-4.sp-col-2 .col:nth-child(2n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-4.sp-col-3 .col{
    width: 33.33333%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-4.sp-col-3 .col:nth-child(3n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-4.sp-col-4 .col{
    width: 25%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-4.sp-col-4 .col:nth-child(4n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-4.sp-col-5 .col{
    width: 20%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-4.sp-col-5 .col:nth-child(5n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.sp-col-4 .col{
    width: 25%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.sp-col-4 .col:nth-child(4n + 1){
    padding-left: 0;
  }

  .mod-btn-tab.col-5 .col{
    padding-left: 10px;
  }

  .mod-btn-tab.col-5.sp-col-1 .col{
    width: 100%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-5.sp-col-1 .col:nth-child(1n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-5.sp-col-2 .col{
    width: 50%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-5.sp-col-2 .col:nth-child(2n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-5.sp-col-3 .col{
    width: 33.33333%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-5.sp-col-3 .col:nth-child(3n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-5.sp-col-4 .col{
    width: 25%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-5.sp-col-4 .col:nth-child(4n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.col-5.sp-col-5 .col{
    width: 20%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.col-5.sp-col-5 .col:nth-child(5n + 1){
    padding-left: 0;
  }
  .mod-btn-tab.sp-col-5 .col{
    width: 20%;
    margin-top: 10px;
    padding-left: 10px;
  }
  .mod-btn-tab.sp-col-5 .col:nth-child(5n + 1){
    padding-left: 0;
  }
  .mod-btn-arrow-01 > button,
  .mod-btn-arrow-01 > a{
    font-size: 5vw;
    width: 100%;
    min-width: auto;
  }

  .mod-list-flow{
    margin: 2rem auto;
  }
  .mod-list-flow .list-item .inner{
    padding: 11px 32px 11px 16px;
  }
  .mod-list-flow .list-item .num{
    margin-right: 8px;
  }
  .mod-list-flow .list-item:not(.is-current){
    text-align: center;
  }
  .mod-list-flow .list-item:not(.is-current) .num{
    margin-right: 0;
  }
  .mod-list-flow .list-item:not(.is-current) .txt{
    display: none;
  }
  .mod-list-step{
    width: calc(100% + 15px);
  }
  .mod-list-step .list-item{
    background: url("/shared/images/icon_allow_01.png") no-repeat right 11.5px center;
    padding-right: 37px;
  }
  .mod-list-step .list-item.sp-col-2{
    width: 50%;
  }
  .mod-list-step .list-item.sp-col-2:nth-child(n+3){
    margin-top: 2.5em;
  }
  .mod-list-step .list-item:last-child{
    padding-right: 37px;
  }
  .mod-list-step-02{
    width: calc(100% + 15px);
  }
  .mod-list-step-02 .list-item{
    background: url("/shared/images/icon_allow_01_bottom.png") no-repeat bottom 32.5px center;
    padding-right: 0;
    padding-bottom: 80px;
  }
  .mod-list-step-02 .list-item.sp-col-1{
    width: 100%;
  }
  .mod-list-step-02 .list-item:last-child{
    padding-bottom: 0;
  }
  .mod-list-icon .list-item{
    padding-right: 20px;
  }
  .mod-list-icon .list-item.sp-col-2{
    width: 50%;
  }
  .mod-list-icon .list-item.sp-col-2:nth-child(even){
    padding-right: 0;
    padding-left: 20px;
  }
  .mod-list-icon .list-item.sp-col-2:nth-child(n+3){
    margin-top: 2.5em;
  }
  .mod-list-icon .list-item:last-child{
    padding-right: 40px;
  }
  .mod-list-notes > li{
    margin-bottom: 1rem;
  }
  .mod-list-link > li{
    margin-bottom: 1rem;
  }
  .mod-list-bullet > li{
    font-size: .9375rem;
  }
  .mod-form-tbl{
    width: calc(100% + 15px * 2);
    margin: 0 -15px 30px;
  }
  .mod-form-tbl th,
  .mod-form-tbl td{
    display: block;
  }
  .mod-form-tbl td{
    padding: 15px;
  }
  .mod-form-tbl .tbl-hdg span{
    display: inline-block;
    margin-right: 10px;
  }
  .mod-form-tbl .tbl-hdg span:last-child{
    margin-right: 0;
  }
  .mod-tbl.of-scroll{
    overflow: auto;
  }
  .mod-tbl.of-scroll table{
    white-space: nowrap;
  }
  .mod-box-01{
    margin-bottom: 40px;
    padding: 35px 30px;
  }
  .mod-box-01 .box-hdg{
    font-size: 1.125em;
  }

  .mod-box-02{
    padding: 20px;
  }

  .mod-box-03 {
    padding: 10px;
  }

  .mod-box-contact{
    padding: 20px;
  }
  .mod-box-contact .contact-area-content{
    display: block;
  }
  .mod-box-contact .contact-area-content p{
    font-size: .8125rem;
  }
  .mod-box-contact .contact-area-content .contact-tell-num{
    font-size: 1.685rem;
    margin-bottom: 15px;
  }
  .mod-box-contact .contact-title{
    font-size: 1.125rem;
  }

  .mod-lyt-column.sp-col-1 .col{
    float: none;
    width: 100%;
    padding-left: 0;
  }
  .mod-lyt-column.sp-col-1 .col:not(:first-child){
    padding-top: 40px;
  }
  .mod-lyt-column.sp-col-2 .col{
    float: left;
    width: calc(50%);
    padding-left: 40px;
  }
  .mod-lyt-column.sp-col-2 .col:nth-child(2n + 1){
    padding-left: 0;
  }
  .mod-lyt-column.sp-col-3 .col{
    float: left;
    width: calc(33.33333%);
    padding-left: 40px;
  }
  .mod-lyt-column.sp-col-3 .col:nth-child(3n + 1){
    padding-left: 0;
  }
  .mod-lyt-column.sp-col-4 .col{
    float: left;
    width: calc(25%);
    padding-left: 40px;
  }
  .mod-lyt-column.sp-col-4 .col:nth-child(4n + 1){
    padding-left: 0;
  }
  .mod-lyt-column.sp-col-5 .col{
    float: left;
    width: calc(20%);
    padding-left: 40px;
  }
  .mod-lyt-column.sp-col-5 .col:nth-child(5n + 1){
    padding-left: 0;
  }
  .full-img-txt{
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .full-img-txt > .inner{
    position: static;
    max-width: 100%;
    height: auto;
  }
  .full-img-txt .txt-container{
    width: 100%;
    height: auto;
  }
  .full-img-txt .txt-container .txt{
    text-align: left;
  }
  .full-img-txt .img{
    display: table-header-group;
  }

  .mod-form-sample-title{
    font-size: .9375rem;
  }

  .mod-form-input{
    width: 100%;
  }

	.mod-form-input-02 {
		width: 100%;
	}

  .mod-form-check{
    font-size: .8125em;
  }
  .mod-form-select .select-inner + .separation{
    padding: 0 .4em;
  }

  .mod-form-select.select-long{
    width: 100%;
  }
  .mod-form-select.select-long-02 .select-inner{
    width: 100%;
  }

  .mod-form-select select{
    padding: .7em 1.65em .6em .6em;
  }

	.mod-form-select-02 {
		margin-left: 0px;
		margin-top: 10px;
	}

	.mod-form-btn-search.btn-search-em{
    width: auto;
  }
  .mod-form-btn-search.btn-search-em > .btn{
    padding: .5em 16px;
  }

  .voice-container .voice-tab{
    margin-top: 25px;
  }
  .voice-container .voice-tab li{
    font-size: 1rem;
  }
  .voice-container .voice-tab li a{
    padding: 10px;
  }
  .voice-container .voice-tab .tabbtn01{
    margin: 0 3px 0 0;
  }
  .voice-container .voice-tab .tabbtn02{
    margin: 0 0 0 3px;
  }
  .voice-container .sp_more-list{
    display: none;
  }
  .voice-container .voice-list li{
    margin: 15px auto 0;
  }
  .voice-container .voice-list.satisfy .icon,
  .voice-container .voice-list.unsatisfy .icon{
    vertical-align: middle;
    display: table-cell;
    box-sizing: content-box;
    width: 40px;
  }
  .voice-container .voice-list .voice-head{
    display: table;
  }
  .voice-container .voice-list .voice-name{
    vertical-align: middle;
    display: table-cell;
    padding-left: 0;
  }
  .voice-container .voice-list .voice-voice{
    margin-top: 10px;
  }
  .voice-container .voice-list .voice-voice .voice-title{
    line-height: 2;
    margin: 1em 0 .5em;
  }
  .voice-container .voice-list .voice-voice .voice-text{
    line-height: 2;
    margin: 3px 0 0 0;
  }
  .voice-container .voice-list .voice-improve .improve-label{
    font-size: .9375rem;
    font-weight: bold;
    line-height: 2;
  }
  .voice-container .voice-list .voice-improve .improve-text{
    line-height: 2;
    margin-top: 3px;
  }
  .voice-container .note,
  .voice-container .morelink{
    font-size: .75rem;
  }
  .voice-container .link-more{
    text-align: right;
  }
  .voice-container .link-more a{
    font-size: .8125rem;
    background-position: center right;
    padding-left: 20px;
  }
  .voice-container .c_link-open .toggle-btn{
    font-size: .8125rem;
    padding-left: 20px;
  }
  .sp-align-right{
    text-align: right !important;
  }
  .sp-align-center{
    text-align: center !important;
  }
  .sp-align-left{
    text-align: left !important;
  }
  .sp-align-top{
    vertical-align: top !important;
  }
  .sp-align-middle{
    vertical-align: middle !important;
  }
  .sp-align-bottom{
    vertical-align: bottom !important;
  }
  .sp-hide{
    display: none !important;
  }
}

@media screen and (max-width: 1024px), print{
  #header-container a,
  #header-container a:link,
  #header-container a:visited,
  #header-container a:hover,
  #header-container a:active,
  #header-container a:focus{
    text-decoration: none;
    color: inherit;
  }

  /* =======================================================================
  /* navigation ナビゲーション
  ========================================================================== */
  .dnav a,
  .dnav a:link,
  .dnav a:visited,
  .dnav a:hover,
  .dnav a:active,
  .dnav a:focus{
    text-decoration: none;
    color: inherit;
  }
  .dnav .dmenu01-title a,
  .dnav .dmenu02-title a,
  .dnav .dmenu03-title a,
  .dnav .dmenu-part .part01-btn01 a,
  .dnav .dmenu-part .part02-btn01 a{
    color: #fff;
  }
  .dnav .dmenu1st-item a{
    color: #4066b3;
  }
  .dnav .dmenu2nd .dmenu2nd-item a{
    color: #333;
  }
  #footer-container a,
  #footer-container a:link,
  #footer-container a:visited,
  #footer-container a:hover,
  #footer-container a:active,
  #footer-container a:focus{
    text-decoration: none;
    color: inherit;
  }
  .mod-hdg-lv2{
    font-size: 1.5rem;
  }
  .tab-hide{
    display: none !important;
  }
}

@media screen and (max-width: 1320px){
  .mod-fixed-pnl .mod-list-link > li{
    font-size: .8125em;
  }
  .mod-fixed-pnl .mod-list-link > li::after{
    top: .35em;
  }
  .mod-fixed-pnl{
    position: static;
    max-width: inherit;
  }
  .mod-fixed-pnl .fixed-pnl-header{
    padding: 10px 10px 8px;
  }
  .mod-fixed-pnl .fixed-pnl-header .hdg{
    font-size: 1.125em;
    font-weight: bold;
  }
  .mod-fixed-pnl .fixed-pnl-content{
    padding: 17px 30px 23px;
  }
  .mod-fixed-pnl .fixed-pnl-content .hdg{
    font-size: 1em;
    font-weight: bold;
    margin-bottom: .4615rem;
  }
}

@media screen and (max-width: 500px), print{
  .mod-list-flow .list-item .txt{
    font-size: 4vw;
  }
}