/* h9Coder ver2.0 */
/* 2017/02/03 UPDATE */

.anchor {
  margin-top: -100px;
  padding-top: 100px;
}
@media only screen and (max-width: 736px) {
  .anchor {
    margin-top: -50px;
    padding-top: 50px;
  }
}

/******************************************************/
/* bottom-inquiry */
/******************************************************/
.bottom_inquiry {
  padding-top: 1rem;
}
.bottom_inquiry h3 {
  font-size: 110%;
  font-weight: 400;
  margin: 0 0 0.8rem 0;
}
.bottom_inquiry p.btn_bdr {
  border: 1px solid #a7b2b3;
  display: inline-block;
  margin: 0 0 1rem 0;
}
.bottom_inquiry p.btn_bdr a {
  font-size: 135%;
  font-weight: 400;
  color: #005966;
  text-decoration: none;
  padding: 0.3rem 1rem 0.3rem;
  letter-spacing: -0.03em;
  display: block;
  transition-property: background-color, color;
  transition-duration: 0.3s;
}
.bottom_inquiry p.btn_bdr a:hover {
  background: #005966;
  color: #fff;
  padding: 0.3rem 1rem 0.3rem;
}
.bottom_inquiry p:last-child {
  font-size: 85%;
  text-align: center;
  line-height: 1.8;
}
.bottom_inquiry p.tel {
  font-size: 200%;
  line-height: 1;
  margin: 0 auto 1.5rem;
  text-align: center;
  padding: 0.2em 0 0 36px;
  font-weight: 500;
  letter-spacing: 0.05em;
  background: url(/common/images/icon_tel.png) no-repeat left 0.4em;
  display: inline-block;
}
.bottom_inquiry p.tel a {
  color: #005966;
  text-decoration: none;
}

@media only screen and (max-width: 980px) {
  .bottom_inquiry .col_area .col_2 {
    clear: both;
    width: 100%;
  }
  .bottom_inquiry .col_area .col_2:first-child {
    margin: 0 0 2rem 0;
  }
  .bottom_inquiry .bdr {
    border-right: none;
  }
}

@media only screen and (max-width: 736px) {
  .bottom_inquiry .col_area .col_2 {
    margin: 0 0 2rem 0;
  }
  .bottom_inquiry .col_area .col_2:first-child p:last-child {
    padding-bottom: 1rem;
  }
}

/******************************************************/
/* 見出し */
/******************************************************/
[class*='titleH'] {
  margin-top: 2rem;
  margin-bottom: 1rem;
}
.mod_frame [class*='titleH'] {
  margin-top: 0;
  margin-bottom: inherit;
}
.titleH1 {
}
.titleH2 {
  /*font-family: 'Libre Franklin', sans-serif;*/
  font-weight: 200;
  font-size: 280%;
  text-align: center;
  color: #000;
  letter-spacing: -0.03em;
  margin: 0 0 2rem 0;
}
.titleH2 span {
  background: #fff;
  padding: 0 0.8rem;
}
.titleH2.bdr {
  background: url(../images/titleh2_bdr.gif) repeat-x left center;
}

.titleH3 {
  font-size: 180%;
}
.titleH4 {
  font-size: 150%;
  border-left: 4px solid #005966;
  padding-left: 10px;
}
.titleH5 {
  font-size: 125%;
}
.titleH6 {
  font-size: 100%;
}
.catchcopy {
  margin-bottom: 1rem;
  font-size: 250%;
}
.mod_frame .catchcopy {
  margin-bottom: inherit;
}
@media only screen and (max-width: 736px) {
  .titleH2 {
    font-size: 200%;
    margin: 1.5rem 0 2rem 0;
  }
  .titleH2 span {
    padding: 0 1.1rem;
  }
}

/******************************************************/
/* 本文 */
/******************************************************/
/* 本文 */
.text {
  margin-bottom: 1rem;
}
.mod_frame .text {
  margin-bottom: inherit;
}

/* 画像 */
.image {
  margin-bottom: 1rem;
}
.mod_frame .image {
  margin-bottom: inherit;
}
/* HTML */
.html {
  margin-bottom: 1rem;
}
.mod_frame .html {
  margin-bottom: inherit;
}
/* SWF/Youtube */
.object {
  margin-bottom: 1rem;
  text-align: center;
}
.mod_frame .object {
  margin-bottom: inherit;
}
/* WYSIWYG */
.wysiwyg {
  margin-bottom: 1rem;
}
.mod_frame .wysiwyg {
  margin-bottom: inherit;
}

/******************************************************/
/* 段組 */
/******************************************************/

/* 2段組回り込み無 */
.mod_nowrapText {
  text-align: left;
}
.mod_nowrapText:after {
  content: '';
  display: block;
  clear: both;
}

.mod_nowrapText .mod_floatLblock {
  float: left;
  margin-right: 1rem;
}
.mod_nowrapText .mod_floatRblock {
  float: right;
  margin-left: 1rem;
}
.mod_nowrapText .mod_nowrapblock {
  overflow: hidden;
}

@media only screen and (max-width: 736px) {
  .mod_nowrapText:not(.SPkeep) .mod_floatRblock,
  .mod_nowrapText:not(.SPkeep) .mod_floatLblock {
    width: auto;
    float: none;
    text-align: center;
    margin-right: 0;
    margin-left: 0;
  }
}

/* 2段組回り込み有 */
.mod_wrapText {
  text-align: left;
}
.mod_wrapText:after {
  content: '';
  display: block;
  clear: both;
}

.mod_wrapText .mod_floatLblock {
  float: left;
  margin-right: 1rem;
}
.mod_wrapText .mod_floatRblock {
  float: right;
  margin-left: 1rem;
}
.mod_wrapText p {
}

@media only screen and (max-width: 736px) {
  .mod_wrapText:not(.SPkeep) .mod_floatRblock,
  .mod_wrapText:not(.SPkeep) .mod_floatLblock {
    width: auto;
    float: none;
    text-align: center;
    margin-right: 0;
    margin-left: 0;
  }
}

/* 画像キャプション */
.mod_caption {
  display: block;
  margin-top: 0.3rem;
}

/* 画像上のテキスト */
.mod_imgtitle {
  position: absolute;
  color: #333333;
  font-size: 200%;
  top: 50%;
  left: 0%;
  width: 100%;
  text-align: center;
  -webkit-transform: translateY(-50%) translateX(-0%);
  transform: translateY(-50%) translateX(-0%);
}

@media only screen and (max-width: 736px) {
  .mod_imgtitle {
    font-weight: 500;
    font-size: 180%;
  }
}

/******************************************************/
/* リスト */
/******************************************************/

/* 通常リスト */
ul.mod_list {
  margin-bottom: 1rem;
}
.mod_frame ul.mod_list {
  margin-bottom: inherit;
}
ul.mod_list li {
  margin-bottom: 0.3em;
  margin-left: 1.3em;
  list-style: disc;
}
ul.mod_list li:last-child {
  margin-bottom: 0;
}
/* 入れ子 */
ul.mod_list ul.mod_list {
  margin-top: 0.3rem;
  margin-bottom: 0.3em;
  margin-left: 1.3em;
  list-style: disc;
}
ul.mod_list ul.mod_list li {
  margin-top: 0.3rem;
  margin-bottom: 0.3em;
  margin-left: 0.3rem;
  list-style: disc;
}
ul.mod_circleList {
  margin-bottom: 1rem;
}
.mod_frame ul.mod_circleList {
  margin-bottom: inherit;
}
ul.mod_circleList li {
  margin-bottom: 0.3em;
  margin-left: 1.3em;
  list-style: circle;
}
ul.mod_circleList li:last-child {
  margin-bottom: 0;
}

/* 番号付きリスト */
ol.mod_list {
  margin-bottom: 1rem;
  padding-left: 10px;
}
.mod_frame ol.mod_list {
  margin-bottom: inherit;
}
ol.mod_list li {
  margin-bottom: 0.3em;
  margin-left: 1em;
  list-style: decimal;
}
ol.mod_list li:last-child {
  margin-bottom: 0;
}

/* 説明文付きリスト */
dl.mod_list {
  margin-bottom: 1rem;
}
.mod_frame dl.mod_list {
  margin-bottom: inherit;
}
dl.mod_list dt {
  margin-bottom: 0.3em;
  margin-left: 1.3em;
  display: list-item;
  list-style: disc;
  font-weight: bold;
}
dl.mod_list dd {
  margin-bottom: 0.3em;
  margin-left: 1.3em;
}

/******************************************************/
/* リンクリスト */
/******************************************************/

/* 通常リンク */
ul.mod_pageLink {
  margin-bottom: 1rem;
}
.mod_frame ul.mod_pageLink {
  margin-bottom: inherit;
}
ul.mod_pageLink li {
  margin-bottom: 0.3em;
  padding-left: 1em;
  position: relative;
}
ul.mod_pageLink li:last-child {
  margin-bottom: 0;
}
ul.mod_pageLink li::before {
  content: '';
  position: absolute;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: 2px solid #005966;
  border-right: 2px solid #005966;
  transform: rotate(45deg);
  left: 0;
  top: 0.5em;
}
/* 入れ子 */
ul.mod_pageLink ul.mod_pageLink {
  margin-top: 0.3em;
  margin-bottom: 0.3em;
}

/* 横並びリンク */
ul.mod_pageLinkRow {
  margin-bottom: 1rem;
}
.mod_frame ul.mod_pageLinkRow {
  margin-bottom: inherit;
}
ul.mod_pageLinkRow:after {
  content: '';
  display: block;
  clear: both;
}
ul.mod_pageLinkRow li {
  margin-right: 1em;
  padding-left: 1em;
  float: left;
  white-space: nowrap;
  position: relative;
}
ul.mod_pageLinkRow li::before {
  content: '';
  position: absolute;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: 2px solid #005966;
  border-right: 2px solid #005966;
  transform: rotate(45deg);
  left: 0;
  top: 0.5em;
}

/* インラインリンク */
ul.mod_inlineLink {
  margin-bottom: 1rem;
}
.mod_frame ul.mod_inlineLink {
  margin-bottom: inherit;
}
ul.mod_inlineLink:after {
  content: '';
  display: block;
  clear: both;
}
ul.mod_inlineLink li {
  margin-right: 1em;
  padding-left: 1em;
  float: left;
  white-space: nowrap;
  position: relative;
}
ul.mod_inlineLink li::before {
  content: '';
  position: absolute;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: 2px solid #005966;
  border-right: 2px solid #005966;
  transform: rotate(135deg);
  left: 2px;
  top: 0.4em;
}

/* 説明文付きリンク */
dl.mod_pageLink {
  margin-bottom: 1rem;
}
.mod_frame dl.mod_pageLink {
  margin-bottom: inherit;
}
dl.mod_pageLink dt {
  margin-bottom: 0.3em;
  padding-left: 1em;
  position: relative;
}
dl.mod_pageLink dt::before {
  content: '';
  position: absolute;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: 2px solid #005966;
  border-right: 2px solid #005966;
  transform: rotate(45deg);
  left: 0;
  top: 0.5em;
}
dl.mod_pageLink dd {
  margin-bottom: 0.3em;
  margin-left: 1em;
}

/* ページの先頭に戻る */
.mod_pagetop {
  margin-bottom: 1rem;
  text-align: right;
}
.mod_frame .mod_pagetop {
  margin-bottom: inherit;
}
.mod_pagetop a {
  padding-left: 1em;
  position: relative;
}
.mod_pagetop a::before {
  content: '';
  position: absolute;
  margin: auto;
  width: 6px;
  height: 6px;
  border-top: 2px solid #005966;
  border-right: 2px solid #005966;
  transform: rotate(-45deg);
  left: 2px;
  top: 0.5em;
}

/******************************************************/
/* リンクアイコン */
/******************************************************/
[class*='link_'],
[class*='link_']::before,
[class*='link_']::after {
  box-sizing: border-box;
}

/* 通常リンク */
.link_angle {
  display: inline-block;
  padding-left: 1em;
  position: relative;
}
.link_angle::before {
  content: '';
  position: absolute;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 2px solid #005966;
  border-right: 2px solid #005966;
  transform: rotate(45deg);
  left: 0;
  top: 0.5em;
}

/* 戻るリンク */
.link_angleLeft {
  padding-left: 1em;
  display: inline-block;
  position: relative;
}
.link_angleLeft::before {
  content: '';
  position: absolute;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: 2px solid #005966;
  border-right: 2px solid #005966;
  transform: rotate(225deg);
  left: 2px;
  top: 0.5em;
}

[class*='link_']:after {
  padding-left: 0.5rem;
}
.link_blank:after {
  content: url(../images/icn_blank.gif);
}
.link_new:after {
  content: url(../images/icn_new.gif);
  vertical-align: -2px;
}
.link_pdf:after {
  content: url(../images/icn_pdf.gif);
  vertical-align: -2px;
}
.link_excel:after {
  content: url(../images/icn_excel.gif);
  vertical-align: -2px;
}
.link_word:after {
  content: url(../images/icn_word.gif);
  vertical-align: -2px;
}
.link_ppt:after {
  content: url(../images/icn_ppt.gif);
  vertical-align: -2px;
}
.link_image:after {
  content: url(../images/icn_image.gif);
  vertical-align: -2px;
}
.link_mov:after {
  content: url(../images/icn_mov.gif);
  vertical-align: -2px;
}

/******************************************************/
/* ボタン */
/******************************************************/
/* テキストボタン */
.button {
  text-decoration: none;
  display: inline-block;
  padding: 0.5rem 2rem;
  background-color: #005966;
  color: #fff;
  font-size: 120%;
  transition-property: background-color, color, border;
  transition-duration: 0.3s;
  border: 1px solid #fff;
}
.button:hover {
  text-decoration: none;
  background-color: #f9f9f9;
  border: 1px solid #005966;
  color: #005966;
  transition-property: background-color, color, border;
  transition-duration: 0.3s;
}
.button_w {
  text-decoration: none;
  display: inline-block;
  padding: 0.3rem 1rem;
  background-color: inherit;
  border: 1px solid #a7b2b3;
  color: #015967;
  transition-property: background-color, color, border;
  transition-duration: 0.3s;
  font-weight: 400;
}
.button_w:hover {
  background-color: #015967;
  border: 1px solid #fff;
  color: #fff;
  text-decoration: none;
}

/******************************************************/
/* 表組 */
/******************************************************/
.mod_tableScroll {
  margin-bottom: 1rem;
}
.mod_frame .mod_tableScroll {
  margin-bottom: inherit;
}

table.mod_table {
  margin-bottom: 1rem;
  width: 100%;
  border-top: 1px solid #cccccc;
}
.mod_frame table.mod_table {
  margin-bottom: inherit;
}
.mod_tableScroll table.mod_table {
  margin-bottom: 0;
}

table.mod_table th {
  text-align: left;
  background-color: #e3e3e3;
  font-weight: normal;
}
table.mod_table .mod_tableGg {
  background-color: #f2f2f2;
}
table.mod_table td {
}

table.mod_table td,
table.mod_table th {
  padding: 1rem;
  border-bottom: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
}
table.mod_table td > .text,
table.mod_table th > .text,
table.mod_table td > .image,
table.mod_table th > .image,
table.mod_table td > [class*='mod_'],
table.mod_table th > [class*='mod_'] {
  margin-bottom: 0;
}

@media only screen and (max-width: 736px) {
  .mod_tableScroll {
    overflow-x: auto;
    margin: 0 0 10px;
  }
  .mod_tableScroll::-webkit-scrollbar {
    width: 5px;
    background: #f1f1f1;
  }
  .mod_tableScroll::-webkit-scrollbar:horizontal {
    height: 5px;
    background: #f1f1f1;
  }
  .mod_tableScroll::-webkit-scrollbar-thumb {
    background: #bcbcbc;
    border-radius: 2px;
  }
  .mod_tableScroll::-webkit-scrollbar-thumb:horizontal {
    background: #bcbcbc;
    border-radius: 2px;
  }
  table.mod_table td,
  table.mod_table th {
    min-width: 5em;
    padding: 0.5rem;
  }
}

/******************************************************/
/* 枠囲みエリア */
/******************************************************/
.mod_frameArea {
  margin-bottom: 1rem;
}

.mod_frame {
  padding-top: 1rem;
  padding-right: 1rem;
  padding-left: 1rem;
  margin-bottom: 1rem;
}
.mod_frame.mod_frame01rem {
  padding-top: 0.1rem;
  padding-right: 0.1rem;
  padding-left: 0.1rem;
  margin-bottom: 0.1rem;
}
.mod_frame.mod_frame02rem {
  padding-top: 0.2rem;
  padding-right: 0.2rem;
  padding-left: 0.2rem;
  margin-bottom: 0.2rem;
}
.mod_frame.mod_frame03rem {
  padding-top: 0.3rem;
  padding-right: 0.3rem;
  padding-left: 0.3rem;
  margin-bottom: 0.3rem;
}
.mod_frame.mod_frame04rem {
  padding-top: 0.4rem;
  padding-right: 0.4rem;
  padding-left: 0.4rem;
  margin-bottom: 0.4rem;
}
.mod_frame.mod_frame05rem {
  padding-top: 0.5rem;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  margin-bottom: 0.5rem;
}
.mod_frame.mod_frame06rem {
  padding-top: 0.6rem;
  padding-right: 0.6rem;
  padding-left: 0.6rem;
  margin-bottom: 0.6rem;
}
.mod_frame.mod_frame07rem {
  padding-top: 0.7rem;
  padding-right: 0.7rem;
  padding-left: 0.7rem;
  margin-bottom: 0.7rem;
}
.mod_frame.mod_frame08rem {
  padding-top: 0.8rem;
  padding-right: 0.8rem;
  padding-left: 0.8rem;
  margin-bottom: 0.8rem;
}
.mod_frame.mod_frame09rem {
  padding-top: 0.9rem;
  padding-right: 0.9rem;
  padding-left: 0.9rem;
  margin-bottom: 0.9rem;
}
.mod_frame.mod_frame10rem {
  padding-top: 1rem;
  padding-right: 1rem;
  padding-left: 1rem;
  margin-bottom: 1rem;
}
.mod_frame.mod_frame11rem {
  padding-top: 1.1rem;
  padding-right: 1.1rem;
  padding-left: 1.1rem;
  margin-bottom: 1.1rem;
}
.mod_frame.mod_frame12rem {
  padding-top: 1.2rem;
  padding-right: 1.2rem;
  padding-left: 1.2rem;
  margin-bottom: 1.2rem;
}
.mod_frame.mod_frame13rem {
  padding-top: 1.3rem;
  padding-right: 1.3rem;
  padding-left: 1.3rem;
  margin-bottom: 1.3rem;
}
.mod_frame.mod_frame14rem {
  padding-top: 1.4rem;
  padding-right: 1.4rem;
  padding-left: 1.4rem;
  margin-bottom: 1.4rem;
}
.mod_frame.mod_frame15rem {
  padding-top: 1.5rem;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}
.mod_frame.mod_frame16rem {
  padding-top: 1.6rem;
  padding-right: 1.6rem;
  padding-left: 1.6rem;
  margin-bottom: 1.6rem;
}
.mod_frame.mod_frame17rem {
  padding-top: 1.7rem;
  padding-right: 1.7rem;
  padding-left: 1.7rem;
  margin-bottom: 1.7rem;
}
.mod_frame.mod_frame18rem {
  padding-top: 1.8rem;
  padding-right: 1.8rem;
  padding-left: 1.8rem;
  margin-bottom: 1.8rem;
}
.mod_frame.mod_frame19rem {
  padding-top: 1.9rem;
  padding-right: 1.9rem;
  padding-left: 1.9rem;
  margin-bottom: 1.9rem;
}
.mod_frame.mod_frame20rem {
  padding-top: 2rem;
  padding-right: 2rem;
  padding-left: 2rem;
  margin-bottom: 2rem;
}

.mod_frame.mod_frame1px {
  padding-top: 1px;
  padding-right: 1px;
  padding-left: 1px;
  margin-bottom: 1px;
}
.mod_frame.mod_frame2px {
  padding-top: 2px;
  padding-right: 2px;
  padding-left: 2px;
  margin-bottom: 2px;
}
.mod_frame.mod_frame3px {
  padding-top: 3px;
  padding-right: 3px;
  padding-left: 3px;
  margin-bottom: 3px;
}
.mod_frame.mod_frame4px {
  padding-top: 4px;
  padding-right: 4px;
  padding-left: 4px;
  margin-bottom: 4px;
}
.mod_frame.mod_frame5px {
  padding-top: 5px;
  padding-right: 5px;
  padding-left: 5px;
  margin-bottom: 5px;
}
.mod_frame.mod_frame6px {
  padding-top: 6px;
  padding-right: 6px;
  padding-left: 6px;
  margin-bottom: 6px;
}
.mod_frame.mod_frame7px {
  padding-top: 7px;
  padding-right: 7px;
  padding-left: 7px;
  margin-bottom: 7px;
}
.mod_frame.mod_frame8px {
  padding-top: 8px;
  padding-right: 8px;
  padding-left: 8px;
  margin-bottom: 8px;
}
.mod_frame.mod_frame9px {
  padding-top: 9px;
  padding-right: 9px;
  padding-left: 9px;
  margin-bottom: 9px;
}
.mod_frame.mod_frame10px {
  padding-top: 10px;
  padding-right: 10px;
  padding-left: 10px;
  margin-bottom: 10px;
}
.mod_frame.mod_frame11px {
  padding-top: 11px;
  padding-right: 11px;
  padding-left: 11px;
  margin-bottom: 11px;
}
.mod_frame.mod_frame12px {
  padding-top: 12px;
  padding-right: 12px;
  padding-left: 12px;
  margin-bottom: 12px;
}
.mod_frame.mod_frame13px {
  padding-top: 13px;
  padding-right: 13px;
  padding-left: 13px;
  margin-bottom: 13px;
}
.mod_frame.mod_frame14px {
  padding-top: 14px;
  padding-right: 14px;
  padding-left: 14px;
  margin-bottom: 14px;
}
.mod_frame.mod_frame15px {
  padding-top: 15px;
  padding-right: 15px;
  padding-left: 15px;
  margin-bottom: 15px;
}
.mod_frame.mod_frame16px {
  padding-top: 16px;
  padding-right: 16px;
  padding-left: 16px;
  margin-bottom: 16px;
}
.mod_frame.mod_frame17px {
  padding-top: 17px;
  padding-right: 17px;
  padding-left: 17px;
  margin-bottom: 17px;
}
.mod_frame.mod_frame18px {
  padding-top: 18px;
  padding-right: 18px;
  padding-left: 18px;
  margin-bottom: 18px;
}
.mod_frame.mod_frame19px {
  padding-top: 19px;
  padding-right: 19px;
  padding-left: 19px;
  margin-bottom: 19px;
}
.mod_frame.mod_frame20px {
  padding-top: 20px;
  padding-right: 20px;
  padding-left: 20px;
  margin-bottom: 20px;
}
.mod_frame.mod_frame21px {
  padding-top: 21px;
  padding-right: 21px;
  padding-left: 21px;
  margin-bottom: 21px;
}
.mod_frame.mod_frame22px {
  padding-top: 22px;
  padding-right: 22px;
  padding-left: 22px;
  margin-bottom: 22px;
}
.mod_frame.mod_frame23px {
  padding-top: 23px;
  padding-right: 23px;
  padding-left: 23px;
  margin-bottom: 23px;
}
.mod_frame.mod_frame24px {
  padding-top: 24px;
  padding-right: 24px;
  padding-left: 24px;
  margin-bottom: 24px;
}
.mod_frame.mod_frame25px {
  padding-top: 25px;
  padding-right: 25px;
  padding-left: 25px;
  margin-bottom: 25px;
}
.mod_frame.mod_frame26px {
  padding-top: 26px;
  padding-right: 26px;
  padding-left: 26px;
  margin-bottom: 26px;
}
.mod_frame.mod_frame27px {
  padding-top: 27px;
  padding-right: 27px;
  padding-left: 27px;
  margin-bottom: 27px;
}
.mod_frame.mod_frame28px {
  padding-top: 28px;
  padding-right: 28px;
  padding-left: 28px;
  margin-bottom: 28px;
}
.mod_frame.mod_frame29px {
  padding-top: 29px;
  padding-right: 29px;
  padding-left: 29px;
  margin-bottom: 29px;
}
.mod_frame.mod_frame30px {
  padding-top: 30px;
  padding-right: 30px;
  padding-left: 30px;
  margin-bottom: 30px;
}

/* 枠囲みスタイル */
.mod_borderStyle01 {
  border: 1px solid #91cef4;
}
.mod_borderStyle02 {
  border: 1px solid #cccccc;
}
.mod_frameStyle01 {
  background-color: #e3f5ff;
  padding-bottom: 1px;
}
.mod_frameStyle02 {
  background-color: #f2f2f2;
  padding-bottom: 1px;
}
.mod_frameBorderStyle01 {
  border: 1px solid #91cef4;
  background-color: #e3f5ff;
}
.mod_frameBorderStyle02 {
  border: 1px solid #cccccc;
  background-color: #f2f2f2;
}
[class*='mod_frameTitle'] {
  padding: 1rem;
}
.mod_borderStyle01 .mod_frameTitleH2 {
  border-bottom: 1px solid #91cef4;
}
.mod_borderStyle02 .mod_frameTitleH2 {
  border-bottom: 1px solid #cccccc;
}
.mod_frameStyle01 .mod_frameTitleH2 {
  background-color: #bedff2;
}
.mod_frameStyle02 .mod_frameTitleH2 {
  background-color: #d6d6d6;
}
.mod_frameBorderStyle01 .mod_frameTitleH2 {
  border-bottom: 1px solid #91cef4;
  background-color: #bedff2;
}
.mod_frameBorderStyle02 .mod_frameTitleH2 {
  border-bottom: 1px solid #cccccc;
  background-color: #d6d6d6;
}

/******************************************************/
/* ニュースリスト */
/******************************************************/
.mod_newsList {
}
.mod_newsList dl {
}
.mod_newsList dl:after {
  content: '';
  display: block;
  clear: both;
}
.mod_newsList dl dt {
  float: left;
  clear: left;
  vertical-align: top;
  border-top: 1px dotted #bfc1c5;
  padding: 0.8rem 0 0.8rem 0;
  font-weight: 500;
  letter-spacing: 0.08em;
}
.mod_newsList dl dt:first-child {
  border-top: none;
}
.mod_newsList dl dd {
  overflow: hidden;
  padding: 0.8rem 0 0.8rem 1rem;
  text-align: left;
  vertical-align: top;
  border-top: 1px dotted #bfc1c5;
}
.mod_newsList dl dd a {
  font-weight: 500;
}
.mod_newsList dl dd.mod_newsListIcon {
  float: left;
  padding: 0.8rem 0 0.8rem 1rem;
  vertical-align: top;
}
.mod_newsList dl dd.mod_newsListIcon img {
  margin-top: 3px;
}

.mod_newsList dl dd:nth-child(2) {
  border-top: none;
}
.mod_newsList dl dd:nth-child(3) {
  border-top: none;
}

@media only screen and (max-width: 980px) {
  .col_2 .mod_newsList {
  }
  .col_2 .mod_newsList dl dt {
    border-top: none;
    padding: 0 0 0.4rem 0;
  }
  .col_2 .mod_newsList dl dd {
    clear: both;
    padding: 0 0 0.4rem 0;
    margin-bottom: 0.8rem;
    border-bottom: 1px dotted #bfc1c5;
    border-top: none;
  }
  .col_2 .mod_newsList dl dd:last-child {
    border-bottom: none;
  }
  .col_2 .mod_newsList dl dd.mod_newsListIcon {
    clear: none;
    border-top: none;
    border-bottom: none;
    padding-left: 0.8rem;
    margin-bottom: 0;
  }
  .mod_newsList dl dd.mod_newsListIcon img {
    margin-top: 0;
  }
}

@media only screen and (max-width: 736px) {
  .mod_newsList dl dt {
    border-top: none;
  }
  .mod_newsList dl dd {
    clear: both;
    padding: 0 0 0.8rem 0;
    border-bottom: 1px dotted #bfc1c5;
    border-top: none;
  }
  .mod_newsList dl dd:last-child {
    border-bottom: none;
  }
  .mod_newsList dl dd.mod_newsListIcon {
    clear: none;
    border-top: none;
    border-bottom: none;
  }
}

/******************************************************/
/* タブメニュー */
/******************************************************/
.mod_tabMenu {
  width: 100%;
  display: table;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0.5rem 0;
}
.mod_tabMenu li {
  display: table-cell;
  vertical-align: bottom;
}
@media only screen and (max-width: 736px) {
  .mod_tabMenu {
    display: block;
  }
  .mod_tabMenu li {
    display: block;
    margin-bottom: 1px;
  }
}

.mod_tabMenu li a {
  display: block;
  background: transparent;
  padding: 1em;
  text-align: center;
  background: #333;
  color: #fff;
  text-decoration: none;
  transition-property: background-color, color;
  transition-duration: 0.3s;
}
.mod_tabMenu li a:hover {
  background-color: #000;
  transition-property: background-color, color;
  transition-duration: 0.3s;
}
.mod_tabMenu li.current a {
  color: #333;
  background-color: #eee;
  transition-property: background-color, color;
  transition-duration: 0.3s;
}

.mod_tabBlock {
  background: #eee;
  padding: 1rem 1rem 0 1rem;
  margin-bottom: 1rem;
}

/******************************************************/
/* QAリスト */
/******************************************************/
.mod_qaList {
  margin-bottom: 1rem;
}
.mod_qaList .mod_qaListQuestion {
  background-color: #005966;
  padding: 0.6em;
  color: #fff;
  font-weight: normal;
}
.mod_qaList .mod_qaListAnswer {
  padding: 1em 1em 1px 1em;
}

.mod_qaList2 {
  margin-bottom: 1rem;
}
.mod_qaList2 .mod_qaListQuestion {
  margin-bottom: 1rem;
}
.mod_qaList2 .mod_qaListQuestion:after {
  content: '';
  display: block;
  clear: both; /* clear */
}
.mod_qaList2 .mod_qaListQuestion:before {
  content: 'Q';
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
  background-color: #005966;
  padding: 0.3rem;
  min-width: 1.2rem;
  text-align: center;
  line-height: 1;
  color: #fff;
  border-radius: 50%;
  margin-right: 0.3rem;
}
.mod_qaList2 .mod_qaListQuestion > span {
  display: block;
  padding-top: 0.25rem;
  float: right;
  width: calc(100% - 2.1rem);
}
@media only screen and (max-width: 1000px) {
  .mod_qaList2 .mod_qaListQuestion > span {
    padding-top: 0;
  }
}
.mod_qaList2 .mod_qaListAnswer {
  margin-bottom: 1rem;
}
.mod_qaList2 .mod_qaListAnswer:after {
  content: '';
  display: block;
  clear: both; /* clear */
}
.mod_qaList2 .mod_qaListAnswer:before {
  content: 'A';
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
  background-color: #005966;
  padding: 0.3rem;
  min-width: 1.2rem;
  text-align: center;
  line-height: 1;
  color: #fff;
  border-radius: 50%;
  margin-right: 0.1rem;
}
.mod_qaList2 .mod_qaListAnswer > *:first-child {
  padding-top: 0.25rem;
}
.mod_qaList2 .mod_qaListAnswer > * {
  float: right;
  width: calc(100% - 2rem);
}
@media only screen and (max-width: 1000px) {
  .mod_qaList2 .mod_qaListAnswer > *:first-child {
    padding-top: 0;
  }
}

/******************************************************/
/* キービジュアル */
/******************************************************/
section.mod_keyVisual {
  box-sizing: border-box;
  max-width: calc(1300px + 2rem);
  margin: 0 auto 0 auto;
  padding: 2rem 1rem 1rem 1rem;
  text-align: center;
}

/******************************************************/
/* フラットセクション */
/******************************************************/
section.mod_flatSection {
}
section.mod_flatSection.mod_flatSectionBg {
  background-color: #f5f5f5;
  color: #fff;
}
section.mod_flatSection.mod_flatSectionBg a {
  color: inherit;
}

body.top section.mod_flatSection .mod_flatSectionInner {
  box-sizing: border-box;
  max-width: calc(1300px + 2rem);
  margin: 0 auto 0 auto;
  padding: 4rem 1rem 4rem 1rem;
  text-align: center;
}
body:not(.top) section.mod_flatSection .mod_flatSectionInner {
  box-sizing: border-box;
  max-width: calc(1000px + 2rem);
  margin: 0 auto 0 auto;
  padding: 0 1rem 4rem 1rem;
}
section.mod_flatSection .mod_flatSectionInner {
  content: '';
  display: block;
  clear: both; /* clear */
}

@media only screen and (max-width: 1300px) {
  /* ページ幅にあわせて変更する */
  /*section.mod_flatSection .mod_flatSectionInner{padding:3rem 0.5rem 3rem 0.5rem;}*/
}
@media only screen and (max-width: 736px) {
  body.top section.mod_flatSection .mod_flatSectionInner {
    padding: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
  section.mod_flatSection .mod_flatSectionInner {
    /*padding:1.5rem 1.5rem 1.5rem 1.5rem;*/
    margin: 0 0 2rem;
  }
}

/******************************************************/
/* フォーム */
/******************************************************/
.input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  width: 100%;
  /*margin: 0 0 0.9rem;*/
  padding: 0.6rem;
  background: #fff;
  border: 1px solid #bbb;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
  border-radius: 0;
  outline: none;
  resize: vertical;
  transition: border-color 0.3s ease;
}
.formStyle .input[disabled] {
  border-color: #c8c8c8;
  background-color: #f2f2f2;
  box-shadow: none;
  cursor: not-allowed;
}
.formStyle .input:focus {
  /*border-color: #555;*/
}
.formStyle .control {
  margin: 0 0 0.9rem;
  box-sizing: border-box;
}
.formStyle .control__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.formStyle .control__label {
  display: block;
  position: relative;
  padding-left: calc(20px + 0.6rem);
  will-change: transform;
  margin-bottom: 0.5em;
}
.formStyle .control__label::before {
  border: 1px solid transparent;
}
.formStyle .control__label::after,
.formStyle .control__label::before {
  content: '';
  position: absolute;
  top: calc(50% - 10px);
  left: 0;
  width: 20px;
  height: 20px;
}
.formStyle .control__label::after {
  border: 1px solid transparent;
}
.formStyle .control__label::before {
  border-color: #bbb;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
  background: #fff;
  background-size: 0;
}
.formStyle .control__label::after {
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: center;
  transform: scale(0);
  transition: transform 0.3s ease;
  will-change: transform;
}
.formStyle .control__input[type='radio'] + .control__label::before {
  border-radius: 100%;
}
.formStyle .control__input[type='radio'] + .control__label::after {
  background-image: url('data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M256%2C464c114.9%2C0%2C208-93.1%2C208-208c0-114.9-93.1-208-208-208C141.1%2C48%2C48%2C141.1%2C48%2C256C48%2C370.9%2C141.1%2C464%2C256%2C464z%22/%3E%3C/svg%3E');
}
.formStyle .control__input[type='checkbox'] + .control__label::after {
  background-image: url('data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M461.6%2C109.6l-54.9-43.3c-1.7-1.4-3.8-2.4-6.2-2.4c-2.4%2C0-4.6%2C1-6.3%2C2.5L194.5%2C323c0%2C0-78.5-75.5-80.7-77.7c-2.2-2.2-5.1-5.9-9.5-5.9c-4.4%2C0-6.4%2C3.1-8.7%2C5.4c-1.7%2C1.8-29.7%2C31.2-43.5%2C45.8c-0.8%2C0.9-1.3%2C1.4-2%2C2.1c-1.2%2C1.7-2%2C3.6-2%2C5.7c0%2C2.2%2C0.8%2C4%2C2%2C5.7l2.8%2C2.6c0%2C0%2C139.3%2C133.8%2C141.6%2C136.1c2.3%2C2.3%2C5.1%2C5.2%2C9.2%2C5.2c4%2C0%2C7.3-4.3%2C9.2-6.2L462%2C121.8c1.2-1.7%2C2-3.6%2C2-5.8C464%2C113.5%2C463%2C111.4%2C461.6%2C109.6z%22/%3E%3C/svg%3E');
}
.formStyle .control__input[type='checkbox'][disabled] + .control__label,
.formStyle .control__input[type='radio'][disabled] + .control__label {
  cursor: not-allowed;
}
.formStyle .control__input[type='checkbox'][disabled] + .control__label::before,
.formStyle .control__input[type='radio'][disabled] + .control__label::before {
  border-color: #c8c8c8;
  background-color: #f2f2f2;
  box-shadow: none;
}
.formStyle .control__input:checked + .control__label::after {
  transform: scale(1);
}
.formStyle .select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  /*margin: 0 0 0.9rem;*/
  padding: 0.6rem;
  width: 100%;
  background: #fff;
  background-image: url('data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22512%22%20height%3D%22512%22%20viewBox%3D%220%200%20512%20512%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M256%2C298.3L256%2C298.3L256%2C298.3l174.2-167.2c4.3-4.2%2C11.4-4.1%2C15.8%2C0.2l30.6%2C29.9c4.4%2C4.3%2C4.5%2C11.3%2C0.2%2C15.5L264.1%2C380.9c-2.2%2C2.2-5.2%2C3.2-8.1%2C3c-3%2C0.1-5.9-0.9-8.1-3L35.2%2C176.7c-4.3-4.2-4.2-11.2%2C0.2-15.5L66%2C131.3c4.4-4.3%2C11.5-4.4%2C15.8-0.2L256%2C298.3z%22/%3E%3C/svg%3E');
  background-size: 12px;
  background-repeat: no-repeat;
  background-position: calc(100% - 0.6rem) center;
  border: 1px solid #bbb;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
  border-radius: 0;
  outline: 0;
}
.formStyle .select[disabled] {
  border-color: #c8c8c8;
  background-color: #f2f2f2;
  box-shadow: none;
  cursor: not-allowed;
}
.formStyle .select:focus {
  /*border-color: #555;*/
}
.formStyle .select::-ms-expand {
  display: none;
}

/******************************************************/
/* Custom */
/******************************************************/

/* focus */
.formStyle .input:focus {
  border-color: #ff9a03;
  box-shadow: 0px 0px 1px 1px rgba(256, 180, 0, 0.5);
}
.formStyle .select:focus {
  border-color: #ff9a03;
  box-shadow: 0px 0px 1px 1px rgba(256, 180, 0, 0.5);
}

/* エラー */
.formStyle [data-error='true'] input {
  background-color: #fff3bb;
  border: 1px solid red;
}
.formStyle [data-error='false'] .errorText {
  display: none;
}
.formStyle .errorTitle,
.formStyle [data-error='true'] .errorText {
  display: block;
  font-weight: bold;
  color: red;
  display: block;
  /*background-color:#fff3bb;*/
  padding: 0.5rem 0;
}

.formStyle .result {
  padding: 0.5rem 0;
}

.formStyle .errorResult {
  display: block;
  font-weight: bold;
  color: red;
  display: block;
  background-color: #fff3bb;
  padding: 0.5rem;
}

/* 必須アイコン */
.formStyle .required {
  display: inline-block;
  padding: 2px;
  background-color: #f86b04;
  color: #fff;
  font-size: 65%;
  vertical-align: 1px;
  line-height: 1;
  margin-left: 5px;
  border-radius: 0.25rem;
  font-weight: bold;
}

/* 長さ */
.formStyle .inputExsmall {
  width: 10%;
  min-width: 4em;
}
.formStyle .inputShort {
  width: 30%;
}
.formStyle .inputMiddle {
  width: 60%;
}

/* 横並び */
.formStyle .controls {
  margin: 0.6rem 0 1.2rem 0;
  box-sizing: border-box;
}
.formStyle .labelBlock .controls {
  margin: 0.6rem 0 0.6rem 0;
}
.formStyle .controls:after {
  content: '';
  display: block;
  clear: both;
}
.formStyle .controls .control__label {
  float: left;
  margin-right: 1rem;
}

/* 送信エリア */
.formStyle .formAction {
  text-align: center;
  padding: 1rem 0;
}
.formStyle .formAction button {
  /*all: initial;*/
  display: inline-block;
  border: 1px solid #fff;
  background-color: #005966;
  color: #fff;
  padding: 0.5rem 2rem;
  cursor: pointer;
  font-size: 120%;
  transition-property: border, background-color, color;
  transition-duration: 0.3s;
}
.formStyle .formAction button:hover {
  border: 1px solid #005966;
  background-color: #fff;
  color: #005966;
}

/* labelBlock */
.formStyle .labelBlock {
  padding: 0 0 0.9rem 0;
  margin: 0 0 0.9rem;
  border-bottom: 1px dotted #dedede;
}
.formStyle .labelBlock:after {
  content: '';
  display: block;
  clear: both;
}
.formStyle .labelBlock:first-child {
  border-top: 1px dotted #dedede;
  padding-top: 0.9rem;
}

.formStyle .labelTitle {
  float: left;
  width: 20%;
  padding-top: 0.5rem;
}
.formStyle .labelMain {
  float: left;
  width: 80%;
}
@media only screen and (max-width: 736px) {
  .formStyle .labelBlock {
    padding: 0 0 1.4rem 0;
  }
  .formStyle .labelTitle {
    float: none;
    width: auto;
    padding-top: 0;
    font-weight: bold;
  }
  .formStyle .labelMain {
    float: none;
    width: auto;
  }
}

.input_name {
  display: inline-block;
  width: 2em;
  text-align: right;
}
