@charset "UTF-8";
/* ==========================================================================
   Reset
   ========================================================================== */
/* Initialize
   ========================================================================== */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strong,
sub,
sup,
var,
b,
u,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
main,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* Display
   ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
  display: block;
}
.win,
.mac {
  overflow-y: scroll;
}
/* Fonts
   ========================================================================== */
html {
  font-size: .625em;
}
body {
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6,
dt,
dd,
li,
caption,
col,
th,
td,
p,
address,
figcaption {
  font-size: 1.5em;
}
dd dt,
dd dd,
dd li,
dd p,
dd caption,
dd col,
dd th,
dd td,
dd figcaption,
li dt,
li dd,
li li,
li p,
li caption,
li col,
li th,
li td,
li figcaption,
th dt,
th dd,
th li,
th p,
th caption,
th col,
th th,
th td,
th figcaption,
td dt,
td dd,
td li,
td p,
td caption,
td col,
td th,
td td,
td figcaption {
  font-size: 1em;
}
sup,
sub {
  font-size: .83em;
}
body,
input,
textarea,
select {
  font-family: "Hiragino Kaku Gothic ProN", "Meiryo", "MS PGothic", sans-serif;
}
.ie body,
.ie input,
.ie textarea,
.ie select {
  font-family: "Meiryo", "MS PGothic", sans-serif;
}
/* Style
   ========================================================================== */
p,
a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption {
  text-align: left;
}
th {
  font-weight: bold;
}
th,
td {
  vertical-align: top;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
address {
  font-style: normal;
  font-weight: normal;
}
input[type="text"],
input[type="password"],
input[type="number"],
input[type="tel"] {
  margin: 0;
  line-height: normal;
}
input[type="image"] {
  cursor: pointer;
  vertical-align: top;
}
textarea {
  margin: 0;
  vertical-align: top;
  resize: vertical;
}
img {
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
}
object,
embed,
iframe {
  vertical-align: top;
  outline: none;
  max-width: 100%;
}
em,
strong {
  font-style: normal;
  font-weight: bold;
}
mark {
  color: inherit;
  background-color: inherit;
  font-weight: bold;
}
sup,
sub {
  position: relative;
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  _vertical-align: bottom;
}
sup {
  bottom: 1ex;
}
sub {
  top: .5ex;
}
/* Clearfix
   ========================================================================== */
header,
footer,
main,
section,
article,
aside,
nav,
.page-container,
.page-header,
.page-footer,
.content,
.main-content,
.sub-content,
.article,
.section,
.row {
  zoom: 1;
}
header:before,
footer:before,
main:before,
section:before,
article:before,
aside:before,
nav:before,
.page-container:before,
.page-header:before,
.page-footer:before,
.content:before,
.main-content:before,
.sub-content:before,
.article:before,
.section:before,
.row:before,
header:after,
footer:after,
main:after,
section:after,
article:after,
aside:after,
nav:after,
.page-container:after,
.page-header:after,
.page-footer:after,
.content:after,
.main-content:after,
.sub-content:after,
.article:after,
.section:after,
.row:after {
  content: '';
  display: table;
}
header:after,
footer:after,
main:after,
section:after,
article:after,
aside:after,
nav:after,
.page-container:after,
.page-header:after,
.page-footer:after,
.content:after,
.main-content:after,
.sub-content:after,
.article:after,
.section:after,
.row:after {
  clear: both;
}
/* ==========================================================================
   Layout - General
   ========================================================================== */
/* Body
   ========================================================================== */
body {
  min-width: 320px;
  line-height: 1.8;
  color: #252e33;
  background-color: #fff;
}
/* Section
   ========================================================================== */
section {
  margin-top: 40px;
}
section:first-child {
  margin-top: 0;
}
.mod-section-title + section {
  margin-top: 25px;
}
.mod-local-title + section {
  margin-top: 16px;
}
.mod-sub-title + section {
  margin-top: 16px;
}
.mod-lead-text + section {
  margin-top: 0;
  padding-top: 40px;
  border-top: #d1d4da 1px solid;
}
/* Paragraph
   ========================================================================== */
p {
  margin-top: 18px;
}
p:first-child {
  margin-top: 0;
}
p + p {
  margin-top: 23px;
}
p + p:first-child {
  margin-top: 0;
}
.mod-local-title + p {
  margin-top: 13px;
}
.mod-local-title + p:first-child {
  margin-top: 0;
}
.mod-sub-title + p,
.mod-lower-title + p {
  margin-top: 10px;
}
/* Link
   ========================================================================== */
a:link {
  color: #3995ea;
  text-decoration: none;
}
a:visited {
  color: #3995ea;
}
a:hover {
  color: #3995ea;
  text-decoration: none;
}
a:active {
  color: #3995ea;
  text-decoration: none;
}
/* ==========================================================================
   Layout - Header
   ========================================================================== */
/* Page header
   ========================================================================== */
.page-header {
  overflow: hidden;
  zoom: 1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  z-index: 10;
  border-bottom: #ddd 1px solid;
  border-bottom: rgba(0, 0, 0, 0.1) 1px solid;
  background-color: #fff;
}
.h-site-logo {
  display: inline-block;
  margin: 13px 0 0 15px;
}
.h-nav-button {
  display: inline-block;
  float: right;
  width: 64px;
  height: 100%;
  margin-top: 0;
  background-color: #3995ea;
}
.h-nav-button_trigger {
  display: block;
  width: 100%;
  height: 100%;
  padding: 6px 21px 0;
}
.h-nav-button_trigger_icon,
.h-nav-button_trigger_icon span {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.h-nav-button_trigger_icon {
  position: relative;
  width: 22px;
  height: 13px;
}
.h-nav-button_trigger_icon:after {
  display: block;
  position: absolute;
  bottom: -21px;
  left: -3px;
  width: 100%;
  color: #fff;
  font-weight: 300;
  font-size: .6em;
  text-align: center;
  content: 'MENU';
}
.h-nav-button_trigger_icon > span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
}
.h-nav-button_trigger_icon > span:nth-child(1) {
  top: 0;
}
.h-nav-button_trigger_icon > span:nth-child(2) {
  top: 6px;
}
.h-nav-button_trigger_icon > span:nth-child(3) {
  bottom: 0;
}
.active .h-nav-button_trigger_icon:after {
  left: -4px;
  content: 'CLOSE';
}
.active .h-nav-button_trigger_icon > span:nth-child(1) {
  -webkit-transform: translateY(7px) rotate(-45deg);
      -ms-transform: translateY(7px) rotate(-45deg);
          transform: translateY(7px) rotate(-45deg);
}
.active .h-nav-button_trigger_icon > span:nth-child(2) {
  opacity: 0;
}
.active .h-nav-button_trigger_icon > span:nth-child(3) {
  -webkit-transform: translateY(-5px) rotate(45deg);
      -ms-transform: translateY(-5px) rotate(45deg);
          transform: translateY(-5px) rotate(45deg);
}
/* Overlay Nav
   ========================================================================== */
.h-overlay {
  display: none;
  position: fixed;
  top: 50px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background-color: #e9edf3;
}
.h-overlay_inner {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  height: 100%;
}
.h-overlay-top {
  padding: 18px 15px 40px;
  background-color: #f3f6fb;
}
.h-overlay-bottom {
  padding-bottom: 50px;
}
.h-site-nav > li {
  line-height: 1.0;
  font-size: 1.5em;
}
.h-site-nav > li > a {
  display: block;
  position: relative;
  padding: 22px 15px 22px 10px;
  border-bottom: #d1d4da 1px solid;
  color: #252e33;
  font-weight: 500;
}
.h-site-nav > li > a:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 9px;
  height: 15px;
  margin-top: -7px;
  background: url(https://rec.fofa.jp/reccc/asset/asset_354.png) no-repeat;
  background-size: 9px auto;
  content: '';
}
.h-site-local-nav {
  padding: 18px 0 18px 25px;
  border-bottom: #d1d4da 1px solid;
}
.h-site-local-nav > li {
  font-size: 93.33%;
  padding: 13px 0 12px;
  background: url(https://rec.fofa.jp/reccc/asset/asset_355.png) no-repeat left center;
  background-size: 6px auto;
  line-height: 1.0;
}
.h-site-local-nav > li > a {
  padding-left: 13px;
  color: #252e33;
}
.h-overlay-bottom .h-site-local-nav {
  padding: 26px 0 26px 30px;
  border-bottom: none;
}
.h-overlay-bottom .h-site-local-nav > li {
  font-size: 1.4em;
}
/* ==========================================================================
   Layout - Breadcrumbs
   ========================================================================== */
/* Breadcrumbs
   ========================================================================== */
.breadcrumbs {
  margin-top: 50px;
  padding: 14px 10px;
  background-color: #f3f6fb;
  color: #6f7273;
}
.breadcrumbs p {
  font-size: 1.2em;
}
.breadcrumbs a {
  display: inline-block;
  *display: inline;
  zoom: 1;
  vertical-align: middle;
}
.breadcrumbs .arrow {
  margin: 0 7px;
}
.breadcrumbs .arrow:last-child {
  display: none;
}
.breadcrumbs .current {
  color: #252e33;
}
/* ==========================================================================
   Layout - Content
   ========================================================================== */
/* Page Container
   ========================================================================== */
.page-container {
  margin-top: -50px;
  padding-top: 100px;
}
.page-container.page-fixed {
  position: fixed;
  width: 100%;
}
/* Content
   ========================================================================== */
.content {
  width: 100%;
}
/* Main content
   ========================================================================== */
.main-content {
  width: 100%;
}
/* ==========================================================================
   Layout - Footer
   ========================================================================== */
.page-footer {
  margin-top: 50px;
}
.breadcrumbs + .page-footer {
  margin-top: 0;
}
/* Return top
   ========================================================================== */
.f-return-top {
  display: none;
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 50;
}
/* Footer Nav Top
   ========================================================================== */
.f-nav-top {
  padding: 18px 15px 40px;
  background-color: #252e33;
}
.f-site-nav > li {
  line-height: 1.0;
  font-size: 1.5em;
}
.f-site-nav > li > a {
  display: block;
  position: relative;
  padding: 22px 15px 22px 10px;
  border-bottom: #565b5e 1px solid;
  color: #cbcbcb;
  font-weight: 500;
}
.f-site-nav > li > a:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 9px;
  height: 15px;
  margin-top: -7px;
  background: url(https://rec.fofa.jp/reccc/asset/asset_356.png) no-repeat;
  background-size: 9px auto;
  content: '';
}
.f-site-local-nav {
  padding: 17px 0 18px 25px;
  border-bottom: #565b5e 1px solid;
}
.f-site-local-nav > li {
  font-size: 93.33%;
  padding: 13px 0 12px;
  background: url(https://rec.fofa.jp/reccc/asset/asset_357.png) no-repeat left center;
  background-size: 6px auto;
  line-height: 1.0;
}
.f-site-local-nav > li > a {
  padding-left: 13px;
  color: #cbcbcb;
}
/* Footer Nav Bottom
   ========================================================================== */
.f-nav-bottom {
  padding: 0 15px 55px;
  background-color: #1e262a;
}
.f-nav-bottom_block {
  overflow: hidden;
  zoom: 1;
  padding: 40px 0 0;
}
.f-nav-bottom_block:not(:first-child) {
  margin-top: 30px;
  border-top: #404649 1px solid;
}
.f-site-sub-nav {
  float: left;
  margin-top: -10px;
  padding-left: 15px;
}
.f-site-sub-nav > li {
  padding: 9px 0 10px;
  background: url(https://rec.fofa.jp/reccc/asset/asset_357.png) no-repeat left center;
  background-size: 6px auto;
  line-height: 1.0;
  font-size: 1.2em;
}
.f-site-sub-nav > li > a {
  padding-left: 13px;
  color: #cbcbcb;
}
.f-privacy-mark {
  float: right;
  margin-top: 0;
}
.f-site-logo {
  margin-top: 10px;
  padding-top: 20px;
  text-align: center;
}
.f-copyright {
  margin-top: 15px;
  color: #cbcbcb;
  font-size: 1.0em;
  text-align: center;
  letter-spacing: .1em;
}
.f-copyright > a {
  color: #cbcbcb;
}
/* ==========================================================================
   Parts module
   ========================================================================== */
/* Heading
   ========================================================================== */
.mod-page-title {
  padding: 18px 0 17px;
  background-color: #f3f6fb;
  text-align: center;
}
.mod-page-title h1,
.mod-page-title h2,
.mod-page-title h3,
.mod-page-title h4,
.mod-page-title h5 {
  position: relative;
  line-height: 1.5;
  font-weight: 300;
  font-size: 2.4em;
}
.mod-page-title.has-image {
  padding: 17px 0 26px;
  background-size: 800px auto;
  background-position: top center;
  background-repeat: no-repeat;
}
.mod-page-title.has-image h1,
.mod-page-title.has-image h2,
.mod-page-title.has-image h3,
.mod-page-title.has-image h4,
.mod-page-title.has-image h5 {
  line-height: 1.5;
  font-size: 2.4em;
}
.mod-page-title.has-image > p {
  margin-top: 10px;
  color: #2668c1;
  line-height: 1.5;
  font-weight: bold;
  font-size: 1.5em;
}
.mod-page-title.has-image.thema-rcc {
  background-image: url(/sp/common/img/module/page-title_rcc_bg01.jpg);
}
.mod-page-title.has-image.thema-data {
  background-image: url(/sp/common/img/module/page-title_data_bg01.jpg);
}
.mod-page-title.has-image.thema-map {
  background-image: url(/sp/common/img/module/page-title_map_bg01.jpg);
}
.mod-page-title.has-image.thema-career {
  background-image: url(/sp/common/img/module/page-title_career_bg01.jpg);
}
.mod-page-title.has-image.thema-saiyo {
  background-image: url(/sp/common/img/module/page-title_saiyo_bg01.jpg);
}
.mod-page-title.has-image.thema-example {
  padding: 30px 0 27px;
  background-image: url(/sp/common/img/module/page-title_example_bg01.jpg);
}
@media screen and (min-width: 801px) {
  .mod-page-title.has-image {
    background-size: 100% auto;
  }
}
.mod-section-title {
  padding-bottom: 11px;
  border-bottom: #2668c1 2px solid;
}
.mod-section-title h1,
.mod-section-title h2,
.mod-section-title h3,
.mod-section-title h4,
.mod-section-title h5 {
  display: inline-block;
  line-height: 1.5;
  font-weight: 500;
  font-size: 2.2em;
}
.mod-local-title {
  padding: 6px 0 7px 8px;
  border-left: #2668c1 2px solid;
  background-color: #f3f6fb;
}
.mod-local-title h1,
.mod-local-title h2,
.mod-local-title h3,
.mod-local-title h4,
.mod-local-title h5 {
  line-height: 1.6;
  font-weight: 500;
  font-size: 2.0em;
}
.mod-sub-title h1,
.mod-sub-title h2,
.mod-sub-title h3,
.mod-sub-title h4,
.mod-sub-title h5 {
  color: #2668c1;
  line-height: 1.4;
  font-weight: 500;
  font-size: 1.8em;
}
.mod-lower-title h1,
.mod-lower-title h2,
.mod-lower-title h3,
.mod-lower-title h4,
.mod-lower-title h5 {
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.6em;
}
.mod-link-title h1,
.mod-link-title h2,
.mod-link-title h3,
.mod-link-title h4,
.mod-link-title h5 {
  padding-bottom: 11px;
  border-bottom: #d1d4da 1px solid;
  line-height: 1.4;
  font-weight: 500;
  font-size: 1.8em;
}
.mod-link-title h1 > a,
.mod-link-title h2 > a,
.mod-link-title h3 > a,
.mod-link-title h4 > a,
.mod-link-title h5 > a {
  padding-left: 12px;
  background: url(/sp/common/img/module/link-title_ico01.png) no-repeat left 0.5em;
  background-size: 6px auto;
}
.mod-example-title {
  text-align: center;
}
.mod-example-title h1,
.mod-example-title h2,
.mod-example-title h3,
.mod-example-title h4,
.mod-example-title h5 {
  line-height: 1.0;
  font-weight: normal;
  font-size: 3.0em;
  font-family: "Avenir-Light", "Arial";
  letter-spacing: .2em;
}
.mod-example-title p {
  margin-top: -1px;
  font-size: 1.4em;
}
/* Text
   ========================================================================== */
.mod-lead-text {
  padding: 31px 32px;
  text-align: center;
}
.mod-lead-text > p {
  position: relative;
  color: #2668c1;
  line-height: 1.5;
  font-weight: bold;
  font-size: 1.6em;
}
.mod-lead-text > p:before {
  display: inline-block;
  position: absolute;
  top: -11px;
  left: -22px;
  width: 21px;
  height: 17px;
  background: url(/sp/common/img/module/lead-text_bg01.png) no-repeat;
  background-size: 21px auto;
  content: "";
}
.mod-lead-text > p:after {
  display: inline-block;
  position: absolute;
  right: -22px;
  bottom: -11px;
  width: 21px;
  height: 17px;
  background: url(/sp/common/img/module/lead-text_bg02.png) no-repeat;
  background-size: 21px auto;
  content: "";
}
.mod-notes {
  position: relative;
  padding-left: 1.3em;
  line-height: 1.6;
  font-size: 1.2em;
}
.mod-notes > span:first-child {
  position: absolute;
  top: 0;
  left: 0;
}
li .mod-notes,
td .mod-notes {
  font-size: 80%;
}
.mod-section-title .mod-notes {
  font-size: 54.55%;
  margin-left: 10px;
}
/* Unordered list
   ========================================================================== */
/* Default */
.mod-ul {
  margin-top: 18px;
}
.mod-ul:first-child {
  margin-top: 0;
}
.mod-ul > li {
  margin-top: 8px;
  margin-left: 18px;
  list-style-type: disc;
}
.mod-ul > li:first-child {
  margin-top: 0;
}
.mod-ul.opt-item-space-near > li {
  margin-top: 0;
}
.mod-accordion .mod-accordion_content > .mod-ul > li {
  font-size: 1.4em;
}
/* Notes */
.mod-ul-notes {
  margin-top: 18px;
}
.mod-ul-notes:first-child {
  margin-top: 0;
}
.mod-ul-notes > li {
  margin-top: 13px;
  position: relative;
  padding-left: 1.3em;
  line-height: 1.6;
  font-size: 1.2em;
}
.mod-ul-notes > li:first-child {
  margin-top: 0;
}
.mod-ul-notes > li > span:first-child {
  position: absolute;
  top: 0;
  left: 0;
}
.mod-ul-notes.opt-item-space-near > li {
  margin-top: 5px;
}
.mod-table .mod-ul-notes > li {
  font-size: .8em;
}
/* Ordered list
   ========================================================================== */
/* Default */
.mod-ol {
  margin-top: 23px;
}
.mod-ol:first-child {
  margin-top: 0;
}
.mod-ol > li {
  margin-top: 8px;
  margin-left: 1.2em;
  list-style-type: decimal;
}
.mod-ol > li:first-child {
  margin-top: 0;
}
.mod-ol > li > p {
  margin-top: 8px;
}
.mod-ol > li > p:first-child {
  margin-top: 0;
}
.mod-ol .mod-ol {
  margin-top: 5px;
}
/* Notes */
.mod-ol-notes {
  margin-top: 18px;
}
.mod-ol-notes:first-child {
  margin-top: 0;
}
.mod-ol-notes > li {
  position: relative;
  padding-left: 2.3em;
  line-height: 1.6;
  font-size: 1.2em;
  zoom: 1;
}
.mod-ol-notes > li > span:first-child {
  position: absolute;
  top: 0;
  left: 0;
  zoom: 1;
}
/* Index */
.mod-ol-index {
  margin-top: 23px;
}
.mod-ol-index:first-child {
  margin-top: 0;
}
.mod-ol-index > li {
  position: relative;
  padding-left: 2em;
}
.mod-ol-index > li > span:first-child {
  position: absolute;
  top: 0;
  left: 0;
}
.mod-ol-index > li > p {
  margin-top: 8px;
}
.mod-ol-index > li > p:first-child {
  margin-top: 0;
}
.mod-ol .mod-ol-index {
  margin-top: 8px;
}
.mod-ol .mod-ol-index:first-child {
  margin-top: 0;
}
.mod-accordion .mod-ol-index > li {
  font-size: 1.4em;
}
/* Link
   ========================================================================== */
/* Default */
.mod-link {
  margin-top: 23px;
  padding-left: 11px;
  line-height: 1.4;
}
.mod-link:first-child {
  margin-top: 0;
}
.mod-link > a {
  font-size: 93.33%;
  position: relative;
}
.mod-link > a:before {
  position: absolute;
  top: .5em;
  left: -11px;
  width: 6px;
  height: 7px;
  background: url(/sp/common/img/module/link_icn01.png) no-repeat;
  background-size: 6px auto;
  content: '';
}
/* Vertical list */
.mod-link-list {
  margin-top: 23px;
}
.mod-link-list:first-child {
  margin-top: 0;
}
.mod-link-list > li {
  margin-top: 12px;
}
.mod-link-list > li:first-child {
  margin-top: 0;
}
.mod-link-list .mod-link-list {
  margin-left: 20px;
}
.mod-link-list.opt-item-space-far > li {
  margin-top: 23px;
}
.mod-link-list.opt-item-space-far > li:first-child {
  margin-top: 0;
}
/* Anchor
   ========================================================================== */
.mod-anchor {
  line-height: 1.5;
}
.mod-anchor > a {
  font-size: 93.33%;
  display: block;
  position: relative;
  padding-left: 21px;
  background: url(/sp/common/img/module/anchor_icn01.png) no-repeat left center;
  background-size: 12px auto;
}
.mod-anchor-list {
  margin-top: 18px;
  border-radius: 5px;
  background-color: #f3f6fb;
}
.mod-anchor-list:first-child {
  margin-top: 0;
}
.mod-lead-text + .mod-anchor-list {
  margin-top: 0;
}
.mod-anchor-list > li {
  border-top: #dfe4ed 1px solid;
}
.mod-anchor-list > li:first-child {
  border: none;
}
.mod-anchor-list .mod-anchor > a {
  padding: 12px 15px 11px 36px;
  background-position: 15px 18px;
}
/* Button
   ========================================================================== */
.mod-button {
  max-width: 355px;
  margin: 23px auto 0;
  line-height: 1.0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mod-local-title + .mod-button {
  margin-top: 20px;
}
.mod-button > a {
  display: block;
  position: relative;
  padding: 13px 0;
  border: #3995ea 1px solid;
  border-radius: 5px;
  background-color: #3995ea;
  color: #fff;
  line-height: 1.5;
  text-align: center;
  letter-spacing: .05em;
}
.mod-button > a:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 11px;
  width: 9px;
  height: 9px;
  margin-top: -5px;
  border-right: #fff 1px solid;
  border-bottom: #fff 1px solid;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  content: "";
}
.mod-button > button {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  width: 100%;
  display: block;
  position: relative;
  padding: 20px 0 22px;
  border: #3995ea 1px solid;
  border-radius: 5px;
  background-color: #3995ea;
  color: #fff;
  line-height: 1.0;
  font-weight: 500;
  font-family: "Hiragino Kaku Gothic ProN", "Meiryo", "MS PGothic", sans-serif;
  text-decoration: none;
  text-align: center;
  letter-spacing: .05em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mod-button > button:after {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 9px;
  height: 9px;
  margin-top: -5px;
  border-right: #fff 1px solid;
  border-bottom: #fff 1px solid;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  content: "";
}
.mod-button > button:hover {
  border-color: #25afff;
  background-color: #25afff;
  cursor: pointer;
}
.mod-button > button {
  font-size: 16px;
}
.mod-button.thema-light > a,
.mod-button.thema-back > a,
.mod-button.thema-light > button,
.mod-button.thema-back > button {
  border-color: #d1d4da;
  background-color: #fff;
  color: #252e33;
}
.mod-button.thema-light > a:after,
.mod-button.thema-back > a:after,
.mod-button.thema-light > button:after,
.mod-button.thema-back > button:after {
  border-color: #8a8f99;
}
.mod-button.thema-light > a:hover,
.mod-button.thema-back > a:hover,
.mod-button.thema-light > button:hover,
.mod-button.thema-back > button:hover {
  background-color: #f3f6fb;
}
.mod-button.thema-back > a:after,
.mod-button.thema-back > button:after {
  left: 10px;
  border-left: #fff 1px solid;
  border-top: #fff 1px solid;
  -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
          transform: rotate(135deg);
  content: "";
}
.mod-button.thema-conversion > a,
.mod-button.thema-conversion > button {
  border-color: #f57d41;
  background-color: #f57d41;
}
.mod-button.thema-conversion > a:hover,
.mod-button.thema-conversion > button:hover {
  border-color: #ff9239;
  background-color: #ff9239;
}
.mod-button.thema-light > a {
  border-color: #d1d4da;
  background-color: #fff;
  color: #252e33;
}
.mod-button.thema-light > a:after {
  border-color: #8a8f99;
}
.mod-button.opt-button-large > a {
  font-size: 106.67%;
  padding: 18px 0 16px;
}
.mod-button.opt-button-large.opt-button-text-large > a {
  font-size: 133.33%;
  padding: 15px 0 14px;
}
.mod-button.opt-button-small > a {
  font-size: 86.67%;
  display: inline-block;
  padding: 10px 34px 9px 25px;
}
.mod-button.opt-button-small > a:after {
  right: 10px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
}
.mod-button-list {
  margin-top: 35px;
}
.mod-button-list:first-child {
  margin-top: 0;
}
.mod-button-list > li {
  margin-top: 20px;
}
.mod-button-list > li:first-child {
  margin-top: 0;
}
.mod-button_sub-text {
  font-size: 12px;
}
/* Document list
   ========================================================================== */
.mod-doc-list {
  margin-top: 25px;
}
.mod-doc-list:first-child {
  margin-top: 0;
}
.mod-doc-list > dt {
  line-height: 1.7;
  font-size: 1.3em;
}
.mod-doc-list > dd {
  margin-top: 15px;
}
.mod-doc-list > dd > a {
  font-size: 86.67%;
  display: block;
  position: relative;
  padding: 8px 10px 7px 14px;
  border: #d1d4da 1px solid;
  border-radius: 5px;
  color: #252e33;
}
.mod-doc-list > dd > a:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 12px;
  width: 44px;
  height: 16px;
  margin-top: -8px;
  content: '';
}
.mod-doc-list > dd:last-child {
  padding-right: 0;
}
.mod-doc-list .thema-doc-word > a:after {
  background: url(/sp/common/img/module/doc-list_icn01.png) no-repeat right center;
  background-size: 44px auto;
}
.mod-doc-list .thema-doc-excel > a:after {
  background: url(/sp/common/img/module/doc-list_icn02.png) no-repeat right center;
  background-size: 44px auto;
}
.mod-doc-list .thema-doc-sample > a:after {
  background: url(/sp/common/img/module/doc-list_icn03.png) no-repeat right center;
  background-size: 44px auto;
}
/* Jobs List
   ========================================================================== */
.mod-jobs-list {
  margin-top: 10px;
}
.mod-jobs-list > li {
  position: relative;
  margin-top: 15px;
  padding: 2px 2px 3px;
  border: #d1d4da 1px solid;
  line-height: 1.3;
  font-weight: 500;
  font-size: 1.2em;
  text-align: center;
}
.mod-jobs-list > li:before {
  display: inline-block;
  position: absolute;
  top: -10px;
  left: 50%;
  width: 9px;
  height: 5px;
  margin-left: -4px;
  background: url(/sp/common/img/module/jobs-list_icn01.png) no-repeat;
  background-size: 9px auto;
  content: '';
}
.mod-jobs-list > li:first-child {
  margin-top: 0;
}
.mod-jobs-list > li:first-child:before {
  display: none;
}
.mod-jobs-list .opt-jobs-present {
  font-weight: bold;
}
.mod-jobs-list.thema-reemployment .opt-jobs-present {
  border-color: #fdcba3;
  color: #f6871b;
}
.mod-jobs-list.thema-diversity .opt-jobs-present {
  border-color: #76cd8b;
  color: #2fb65f;
}
/* Separator
   ========================================================================== */
.mod-hr {
  height: 0;
  margin: 40px 0 0;
  padding: 0;
  border: none;
  border-top: 1px solid #d1d4da;
}
.mod-hr-dotted {
  height: 0;
  margin: 40px 0 0;
  padding: 0;
  border: none;
  border-top: 1px dotted #d1d4da;
}
/* Icon
   ========================================================================== */
.mod-icon-pdf {
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
  display: inline-block;
  *display: inline;
  zoom: 1;
  vertical-align: -1px;
  width: 34px;
  height: 13px;
  margin-left: 6px;
  background: url(/sp/common/img/module/pdf_icn01.png) no-repeat;
  background-size: 34px auto;
}
.mod-icon-blank {
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
  display: inline-block;
  *display: inline;
  zoom: 1;
  vertical-align: 0;
  width: 10px;
  height: 10px;
  margin-left: 5px;
  background: url(https://rec.fofa.jp/reccc/asset/asset_358.png) no-repeat;
  background-size: 10px auto;
}
/* ==========================================================================
   Block module
   ========================================================================== */
/* Media
   ========================================================================== */
.mod-media {
  overflow: hidden;
  zoom: 1;
  margin-top: 40px;
}
.mod-media:first-child {
  margin-top: 0;
}
.mod-section-title + .mod-media {
  margin-top: 25px;
}
.mod-local-title + .mod-media {
  margin-top: 20px;
}
.mod-local-title + .mod-media:first-child {
  margin-top: 0;
}
.mod-media_object {
  display: table;
}
.mod-media_object > img {
  border-radius: 5px;
}
.mod-media_caption {
  display: block;
  text-align: left;
}
.mod-media_body {
  overflow: hidden;
  zoom: 1;
}
.mod-media_copy {
  line-height: 1.4;
  font-weight: 500;
  font-size: 1.8em;
}
.mod-media_copy + p {
  margin-top: 8px;
}
.mod-media_copy + p:first-child {
  margin-top: 0;
}
.mod-media_copy.opt-media-copy-lined {
  position: relative;
  padding-bottom: 12px;
  text-align: center;
}
.mod-media_copy.opt-media-copy-lined:after {
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 40px;
  height: 2px;
  margin-left: -20px;
  background-color: #2668c1;
  content: '';
}
.mod-media_copy.opt-media-copy-lined + p {
  margin-top: 13px;
}
.mod-media_copy.opt-media-copy-lined + p:first-child {
  margin-top: 0;
}
.mod-media.opt-media-left .mod-media_object {
  float: left;
  margin-right: 10px;
}
.mod-media.opt-media-right .mod-media_object {
  float: right;
  margin-left: 10px;
}
.mod-media.opt-media-center .mod-media_object {
  margin: 0 auto;
  text-align: center;
}
.mod-media.opt-media-center .mod-media_body {
  margin-top: 15px;
}
.mod-media.opt-media-center .mod-media_copy {
  padding-top: 3px;
}
.mod-media.opt-media-w-auto .mod-media_object img {
  width: 100%;
  height: auto;
}
/* Table
   ========================================================================== */
.mod-table {
  margin-top: 30px;
  width: 100%;
  table-layout: fixed;
}
.mod-table:first-child {
  margin-top: 0;
}
.mod-section-title + .mod-table {
  margin-top: 25px;
}
.mod-table tr {
  border-bottom: #d1d4da 1px solid;
}
.mod-table tr:first-child {
  border-top: #d1d4da 1px solid;
}
.mod-table tbody {
  text-align: left;
}
.mod-table tbody th,
.mod-table tbody td {
  display: block;
}
.mod-table tbody th {
  padding: 14px 10px 14px 6px;
  background: #f3f6fb;
  font-weight: 500;
}
.mod-table tbody td {
  padding: 14px 10px 23px 6px;
}
/* Box
   ========================================================================== */
.mod-box {
  margin-top: 20px;
  padding: 25px 16px 28px;
  border-radius: 5px;
  background-color: #f3f6fb;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mod-box:first-child {
  margin-top: 0;
}
.mod-box.opt-box-wborder {
  padding: 25px 15px;
  border: #d1d4da 2px solid;
}
.mod-box_title {
  color: #2668c1;
  line-height: 1.4;
  font-weight: 500;
  font-size: 1.8em;
}
.mod-box_title_sub {
  font-size: 88.89%;
  display: block;
  color: #252e33;
}
.mod-box_text {
  margin-top: 8px;
  line-height: 1.7;
  font-size: 1.4em;
}
.mod-box_text:first-child {
  margin-top: 0;
}
/* Panel
   ========================================================================== */
.mod-panel {
  margin-top: 20px;
  position: relative;
  border: #d1d4da 1px solid;
  border-radius: 5px;
  background-color: #fff;
}
.mod-panel:first-child {
  margin-top: 0;
}
.mod-panel > a {
  display: block;
  height: 100%;
  padding: 23px 15px 25px;
  color: #252e33;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mod-panel:before,
.mod-panel:after {
  display: inline-block;
  position: absolute;
  content: '';
}
.mod-panel:before {
  top: 30px;
  right: 16px;
  width: 14px;
  height: 16px;
  background: url(/sp/common/img/module/panel_bg01.png) no-repeat;
  background-size: 14px auto;
}
.mod-panel:after {
  right: 6px;
  bottom: 6px;
  width: 10px;
  height: 10px;
  background: url(/sp/common/img/module/panel_icn01.png) no-repeat;
  background-size: 10px auto;
}
.mod-panel.opt-panel-case:before {
  display: none;
}
.mod-panel.opt-panel-case:after {
  background: url(/sp/common/img/module/panel_icn02.png) no-repeat;
  background-size: 10px auto;
}
.mod-panel_title {
  color: #2668c1;
  line-height: 1.4;
  font-weight: 500;
  font-size: 1.8em;
}
.mod-panel_text {
  margin-top: 8px;
  line-height: 1.7;
  font-size: 1.4em;
}
.mod-panel_text:first-child {
  margin-top: 0;
}
.mod-example-title + .mod-panel-list {
  margin-top: -5px;
}
.mod-panel-list > li {
  margin-top: 20px;
  font-size: 1.0em;
}
.mod-panel-list .mod-panel_title {
  font-size: 1.8em;
}
.mod-panel-list .mod-panel_text {
  font-size: 1.4em;
}
/* Cases
   ========================================================================== */
.mod-cases {
  overflow: hidden;
  zoom: 1;
}
.mod-cases_object {
  float: left;
  margin-right: 10px;
}
.mod-cases_intro {
  overflow: hidden;
  zoom: 1;
}
.mod-cases_intro_copy {
  line-height: 1.4;
  font-size: 1.4em;
}
.mod-cases_intro_title {
  position: relative;
  margin-top: 4px;
  padding-bottom: 8px;
  border-bottom: #d1d4da 1px solid;
  line-height: 1.2;
  font-size: 2.0em;
}
.mod-cases_intro_title:after {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 11px;
  width: 14px;
  height: 16px;
  content: '';
}
.thema-reemployment .mod-cases_intro_title:after {
  background: url(/sp/common/img/module/panel_bg02.png) no-repeat;
  background-size: 14px auto;
}
.thema-diversity .mod-cases_intro_title:after {
  background: url(/sp/common/img/module/panel_bg03.png) no-repeat;
  background-size: 14px auto;
}
.thema-reemployment .mod-cases_intro_title_strong {
  color: #f6871b;
}
.thema-diversity .mod-cases_intro_title_strong {
  color: #2fb65f;
}
.mod-cases_intro_data {
  margin-top: 5px;
  font-size: 1.2em;
}
/* Accordion
   ========================================================================== */
.mod-accordion {
  margin-top: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mod-accordion:first-child {
  margin-top: 0;
}
.mod-section-title + .mod-accordion {
  margin-top: 25px;
}
.mod-accordion_handle {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  position: relative;
  padding: 15px 45px 14px 8px;
  border: #d1d4da 1px solid;
  line-height: 1.4;
  font-weight: normal;
  font-size: 1.4em;
}
.mod-accordion_handle:before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  width: 36px;
  height: 100%;
  background-color: #252e33;
  -webkit-box-shadow: 0 0 0 1px #252e33;
          box-shadow: 0 0 0 1px #252e33;
  content: '';
}
.mod-accordion_handle:after {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  display: inline-block;
  position: absolute;
  top: 50%;
  right: -1px;
  z-index: 5;
  width: 36px;
  height: 50px;
  margin-top: -25px;
  background: url(/sp/common/img/module/accordion_plus_icn01.png) no-repeat;
  background-size: 16px auto;
  background-position: center;
  content: '';
}
.is-expanded .mod-accordion_handle {
  background-color: #f3f6fb;
}
.is-expanded .mod-accordion_handle:after {
  background-image: url(/sp/common/img/module/accordion_minus_icn01.png);
}
.mod-accordion_content {
  padding: 24px 15px 29px;
  border: #d1d4da 1px solid;
  border-top: none;
}
.mod-accordion_content p {
  font-size: 1.4em;
}
/* Episodes
   ========================================================================== */
.mod-episodes-list {
  margin-top: 13px;
}
.mod-episodes-list:first-child {
  margin-top: 0;
}
.mod-episodes {
  margin-top: 50px;
  font-size: 1.0em;
}
.mod-episodes:first-child {
  margin-top: 0;
}
.mod-episodes_object {
  text-align: center;
}
.mod-episodes_object img {
  width: 100%;
  height: auto;
  max-width: 400px;
}
.mod-episodes_name {
  line-height: 1.1;
  font-weight: bold;
  font-size: 2.0em;
}
.mod-episodes_san {
  font-size: 65%;
}
.mod-episodes_age {
  font-size: 65%;
  font-weight: normal;
}
.mod-episodes_data {
  margin-top: 2px;
  font-size: 1.3em;
}
/* Contact
   ========================================================================== */
.mod-contact {
  margin: 20px auto 0;
  max-width: 355px;
  border: #2668c1 1px solid;
  border-radius: 5px;
  text-align: center;
}
.mod-section-title + .mod-contact {
  margin-top: 25px;
}
.mod-contact_heading {
  padding: 10px 0 11px;
  background-color: #2668c1;
  color: #fff;
  line-height: 1.0;
  font-weight: 500;
  font-size: 1.4em;
  letter-spacing: .05em;
}
.mod-contact_number {
  margin-top: 0;
}
.mod-contact_number > a {
  display: block;
  position: relative;
  padding: 24px 0 22px 35px;
}
.mod-contact_number > a:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 8px;
  height: 14px;
  margin-top: -7px;
  background: url(/sp/common/img/module/contact_icn01.png) no-repeat;
  background-size: 8px auto;
  content: '';
}
.mod-contact_number > a > span {
  position: relative;
  display: inline-block;
}
.mod-contact_number > a > span:before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: -47px;
  width: 38px;
  height: 31px;
  margin-top: -17px;
  background: url(/sp/common/img/parts/contact_tel_icn01.png) no-repeat;
  background-size: 38px auto;
  content: '';
}
.thema-nofree .mod-contact_number > a > span:before {
  left: -30px;
  width: 24px;
  height: 26px;
  margin-top: -14px;
  background: url(/sp/common/img/parts/contact_tel_icn02.png) no-repeat;
  background-size: 24px auto;
}
/* FAQ
   ========================================================================== */
.mod-faq {
  margin-top: 45px;
  padding-top: 45px;
  border-top: #d1d4da 1px solid;
}
.mod-faq.opt-faq-noborder {
  border: none;
}
.mod-faq_title {
  font-weight: 300;
  font-size: 2.2em;
  text-align: center;
  letter-spacing: .06em;
}
.mod-faq_list {
  margin-top: 18px;
}
.mod-faq_list:first-child {
  margin-top: 0;
}
.mod-faq_list > li {
  display: table;
  position: relative;
  width: 100%;
  margin-top: 20px;
  border: #d1d4da 1px solid;
  border-radius: 5px;
  background: url(/sp/common/img/module/faq_list_icn01.png) no-repeat 10px center;
  background-size: 14px auto;
  line-height: 1.4;
  font-size: 1.4em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mod-faq_list > li:first-child {
  margin-top: 0;
}
.mod-faq_list > li > a {
  display: table-cell;
  padding: 20px 28px 20px 33px;
  color: #252e33;
  vertical-align: middle;
}
.mod-faq_list > li > a:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 8px;
  height: 14px;
  margin-top: -7px;
  background: url(/sp/common/img/module/faq_list_icn02.png) no-repeat;
  background-size: 8px auto;
  content: '';
}
.mod-faq_list .mod-faq_list_header {
  font-weight: 500;
  font-size: 1.5em;
  background: none;
}
.mod-faq_list .mod-faq_list_header > a {
  padding: 13px 10px 14px;
  text-align: center;
  letter-spacing: .05em;
}
.mod-faq_link {
  margin-top: 20px;
  font-size: 1.3em;
  text-align: right;
}
.mod-faq_link > a {
  display: inline-block;
  position: relative;
  width: 155px;
  padding: 7px 10px 8px 16px;
  border: #d1d4da 1px solid;
  border-radius: 5px;
  color: #252e33;
  text-align: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mod-faq_link > a:after {
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 14px;
  height: 12px;
  margin-top: -6px;
  background: url(/sp/common/img/module/faq_link_icn01.png) no-repeat;
  background-size: 14px auto;
  content: '';
}
/* ==========================================================================
   Helper classes
   ========================================================================== */
/* Space
   ========================================================================== */
.space-veryfar {
  margin-top: 28px;
}
.space-veryfar:first-child {
  margin-top: 0;
}
.space-far {
  margin-top: 23px;
}
.space-far:first-child {
  margin-top: 0;
}
.space-normal {
  margin-top: 18px;
}
.space-normal:first-child {
  margin-top: 0;
}
.space-near {
  margin-top: 13px;
}
.space-near:first-child {
  margin-top: 0;
}
.space-verynear {
  margin-top: 8px;
}
.space-verynear:first-child {
  margin-top: 0;
}
.space-section-near {
  margin-top: 20px;
}
.space-section-near:first-child {
  margin-top: 0;
}
.space-section {
  margin-top: 30px;
}
.space-section:first-child {
  margin-top: 0;
}
.space-section-far {
  margin-top: 40px;
}
.space-section-far:first-child {
  margin-top: 0;
}
.space-section-veryfar {
  margin-top: 50px;
}
.space-section-veryfar:first-child {
  margin-top: 0;
}
.space-none {
  margin-top: 0 !important;
}
/* Font size
   ========================================================================== */
.size-xsmall {
  font-size: 80% !important;
}
.size-xsmall .size-xsmall {
  font-size: 100% !important;
}
.size-small .size-xsmall {
  font-size: 85.71% !important;
}
.size-large .size-xsmall {
  font-size: 75% !important;
}
.size-xlarge .size-xsmall {
  font-size: 66.67% !important;
}
.size-xxlarge .size-xsmall {
  font-size: 60% !important;
}
h1.size-xsmall,
h2.size-xsmall,
h3.size-xsmall,
h4.size-xsmall,
h5.size-xsmall,
h6.size-xsmall,
dt.size-xsmall,
dd.size-xsmall,
li.size-xsmall,
caption.size-xsmall,
col.size-xsmall,
th.size-xsmall,
td.size-xsmall,
p.size-xsmall,
address.size-xsmall,
figcaption.size-xsmall {
  font-size: 1.2em !important;
}
.size-small {
  font-size: 93.33% !important;
}
.size-xsmall .size-small {
  font-size: 116.67% !important;
}
.size-small .size-small {
  font-size: 100% !important;
}
.size-large .size-small {
  font-size: 87.5% !important;
}
.size-xlarge .size-small {
  font-size: 77.78% !important;
}
.size-xxlarge .size-small {
  font-size: 70% !important;
}
h1.size-small,
h2.size-small,
h3.size-small,
h4.size-small,
h5.size-small,
h6.size-small,
dt.size-small,
dd.size-small,
li.size-small,
caption.size-small,
col.size-small,
th.size-small,
td.size-small,
p.size-small,
address.size-small,
figcaption.size-small {
  font-size: 1.4em !important;
}
.size-medium {
  font-size: 100% !important;
}
.size-xsmall .size-medium {
  font-size: 125% !important;
}
.size-small .size-medium {
  font-size: 107.14% !important;
}
.size-large .size-medium {
  font-size: 93.75% !important;
}
.size-xlarge .size-medium {
  font-size: 83.33% !important;
}
.size-xxlarge .size-medium {
  font-size: 75% !important;
}
h1.size-medium,
h2.size-medium,
h3.size-medium,
h4.size-medium,
h5.size-medium,
h6.size-medium,
dt.size-medium,
dd.size-medium,
li.size-medium,
caption.size-medium,
col.size-medium,
th.size-medium,
td.size-medium,
p.size-medium,
address.size-medium,
figcaption.size-medium {
  font-size: 1.5em !important;
}
.size-large {
  font-size: 106.67% !important;
}
.size-xsmall .size-large {
  font-size: 133.33% !important;
}
.size-small .size-large {
  font-size: 114.29% !important;
}
.size-large .size-large {
  font-size: 100% !important;
}
.size-xlarge .size-large {
  font-size: 88.89% !important;
}
.size-xxlarge .size-large {
  font-size: 80% !important;
}
h1.size-large,
h2.size-large,
h3.size-large,
h4.size-large,
h5.size-large,
h6.size-large,
dt.size-large,
dd.size-large,
li.size-large,
caption.size-large,
col.size-large,
th.size-large,
td.size-large,
p.size-large,
address.size-large,
figcaption.size-large {
  font-size: 1.6em !important;
}
.size-xlarge {
  font-size: 120% !important;
}
.size-xsmall .size-xlarge {
  font-size: 150% !important;
}
.size-small .size-xlarge {
  font-size: 128.57% !important;
}
.size-large .size-xlarge {
  font-size: 112.5% !important;
}
.size-xlarge .size-xlarge {
  font-size: 100% !important;
}
.size-xxlarge .size-xlarge {
  font-size: 90% !important;
}
h1.size-xlarge,
h2.size-xlarge,
h3.size-xlarge,
h4.size-xlarge,
h5.size-xlarge,
h6.size-xlarge,
dt.size-xlarge,
dd.size-xlarge,
li.size-xlarge,
caption.size-xlarge,
col.size-xlarge,
th.size-xlarge,
td.size-xlarge,
p.size-xlarge,
address.size-xlarge,
figcaption.size-xlarge {
  font-size: 1.8em !important;
}
.size-xxlarge {
  font-size: 133.33% !important;
}
.size-xsmall .size-xxlarge {
  font-size: 166.67% !important;
}
.size-small .size-xxlarge {
  font-size: 142.86% !important;
}
.size-large .size-xxlarge {
  font-size: 125% !important;
}
.size-xlarge .size-xxlarge {
  font-size: 111.11% !important;
}
.size-xxlarge .size-xxlarge {
  font-size: 100% !important;
}
h1.size-xxlarge,
h2.size-xxlarge,
h3.size-xxlarge,
h4.size-xxlarge,
h5.size-xxlarge,
h6.size-xxlarge,
dt.size-xxlarge,
dd.size-xxlarge,
li.size-xxlarge,
caption.size-xxlarge,
col.size-xxlarge,
th.size-xxlarge,
td.size-xxlarge,
p.size-xxlarge,
address.size-xxlarge,
figcaption.size-xxlarge {
  font-size: 2em !important;
}
/* Font weight
   ========================================================================== */
.weight-demilight {
  font-weight: 300 !important;
}
.weight-normal {
  font-weight: normal !important;
}
.weight-medium {
  font-weight: 500 !important;
}
.weight-bold {
  font-weight: bold !important;
}
/* Font color
   ========================================================================== */
.color-normal {
  color: #252e33 !important;
}
.color-strong {
  color: #2668c1 !important;
}
.color-attention {
  color: #e41e30 !important;
}
.color-thin {
  color: #252e33 !important;
}
/* Font style
   ========================================================================== */
.style-lined {
  text-decoration: underline !important;
}
/* Line height
   ========================================================================== */
.lh-15 {
  line-height: 1.5;
}
.lh-17 {
  line-height: 1.7;
}
/* Float
   ========================================================================== */
.pull-none {
  float: none !important;
}
.pull-left {
  float: left !important;
}
.pull-right {
  float: right !important;
}
.clear-both {
  clear: both !important;
}
.clear-left {
  clear: left !important;
}
.clear-right {
  clear: right !important;
}
.body {
  overflow: hidden;
  zoom: 1;
}
/* Align
   ========================================================================== */
/* Horizontal */
.align-left {
  text-align: left !important;
}
.align-center {
  text-align: center !important;
}
.align-right {
  text-align: right !important;
}
/* Vertical */
.align-top {
  vertical-align: top !important;
}
.align-middle {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}
.align-baseline {
  vertical-align: baseline !important;
}
/* Content inner
   ========================================================================== */
.content-inner {
  padding: 0 10px;
}
/* Margin
   ========================================================================== */
.mt-40 {
  margin-top: -40px !important;
}
.mt-30 {
  margin-top: -30px !important;
}
.mt-20 {
  margin-top: -20px !important;
}
.mt-15 {
  margin-top: -15px !important;
}
.mt-10 {
  margin-top: -10px !important;
}
.mt-5 {
  margin-top: -5px !important;
}
.mt-1 {
  margin-top: -1px !important;
}
.mt0 {
  margin-top: 0 !important;
}
.mt1 {
  margin-top: 1px !important;
}
.mt2 {
  margin-top: 2px !important;
}
.mt3 {
  margin-top: 3px !important;
}
.mt4 {
  margin-top: 4px !important;
}
.mt5 {
  margin-top: 5px !important;
}
.mt6 {
  margin-top: 6px !important;
}
.mt7 {
  margin-top: 7px !important;
}
.mt8 {
  margin-top: 8px !important;
}
.mt9 {
  margin-top: 9px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt55 {
  margin-top: 55px !important;
}
.mt60 {
  margin-top: 60px !important;
}
.mr-40 {
  margin-right: -40px !important;
}
.mr-30 {
  margin-right: -30px !important;
}
.mr-20 {
  margin-right: -20px !important;
}
.mr-15 {
  margin-right: -15px !important;
}
.mr-10 {
  margin-right: -10px !important;
}
.mr-5 {
  margin-right: -5px !important;
}
.mr-1 {
  margin-right: -1px !important;
}
.mr0 {
  margin-right: 0 !important;
}
.mr1 {
  margin-right: 1px !important;
}
.mr2 {
  margin-right: 2px !important;
}
.mr3 {
  margin-right: 3px !important;
}
.mr4 {
  margin-right: 4px !important;
}
.mr5 {
  margin-right: 5px !important;
}
.mr6 {
  margin-right: 6px !important;
}
.mr7 {
  margin-right: 7px !important;
}
.mr8 {
  margin-right: 8px !important;
}
.mr9 {
  margin-right: 9px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.mr25 {
  margin-right: 25px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.mr35 {
  margin-right: 35px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.mr45 {
  margin-right: 45px !important;
}
.mr50 {
  margin-right: 50px !important;
}
.mr55 {
  margin-right: 55px !important;
}
.mr60 {
  margin-right: 60px !important;
}
.mb-40 {
  margin-bottom: -40px !important;
}
.mb-30 {
  margin-bottom: -30px !important;
}
.mb-20 {
  margin-bottom: -20px !important;
}
.mb-15 {
  margin-bottom: -15px !important;
}
.mb-10 {
  margin-bottom: -10px !important;
}
.mb-5 {
  margin-bottom: -5px !important;
}
.mb-1 {
  margin-bottom: -1px !important;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb1 {
  margin-bottom: 1px !important;
}
.mb2 {
  margin-bottom: 2px !important;
}
.mb3 {
  margin-bottom: 3px !important;
}
.mb4 {
  margin-bottom: 4px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb6 {
  margin-bottom: 6px !important;
}
.mb7 {
  margin-bottom: 7px !important;
}
.mb8 {
  margin-bottom: 8px !important;
}
.mb9 {
  margin-bottom: 9px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb55 {
  margin-bottom: 55px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.ml-40 {
  margin-left: -40px !important;
}
.ml-30 {
  margin-left: -30px !important;
}
.ml-20 {
  margin-left: -20px !important;
}
.ml-15 {
  margin-left: -15px !important;
}
.ml-10 {
  margin-left: -10px !important;
}
.ml-5 {
  margin-left: -5px !important;
}
.ml-1 {
  margin-left: -1px !important;
}
.ml0 {
  margin-left: 0 !important;
}
.ml1 {
  margin-left: 1px !important;
}
.ml2 {
  margin-left: 2px !important;
}
.ml3 {
  margin-left: 3px !important;
}
.ml4 {
  margin-left: 4px !important;
}
.ml5 {
  margin-left: 5px !important;
}
.ml6 {
  margin-left: 6px !important;
}
.ml7 {
  margin-left: 7px !important;
}
.ml8 {
  margin-left: 8px !important;
}
.ml9 {
  margin-left: 9px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.ml25 {
  margin-left: 25px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.ml35 {
  margin-left: 35px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.ml45 {
  margin-left: 45px !important;
}
.ml50 {
  margin-left: 50px !important;
}
.ml55 {
  margin-left: 55px !important;
}
.ml60 {
  margin-left: 60px !important;
}
/* Padding
   ========================================================================== */
.pt0 {
  padding-top: 0 !important;
}
.pt1 {
  padding-top: 1px !important;
}
.pt2 {
  padding-top: 2px !important;
}
.pt3 {
  padding-top: 3px !important;
}
.pt4 {
  padding-top: 4px !important;
}
.pt5 {
  padding-top: 5px !important;
}
.pt6 {
  padding-top: 6px !important;
}
.pt7 {
  padding-top: 7px !important;
}
.pt8 {
  padding-top: 8px !important;
}
.pt9 {
  padding-top: 9px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt35 {
  padding-top: 35px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pt45 {
  padding-top: 45px !important;
}
.pt50 {
  padding-top: 50px !important;
}
.pt55 {
  padding-top: 55px !important;
}
.pt60 {
  padding-top: 60px !important;
}
.pr0 {
  padding-right: 0 !important;
}
.pr1 {
  padding-right: 1px !important;
}
.pr2 {
  padding-right: 2px !important;
}
.pr3 {
  padding-right: 3px !important;
}
.pr4 {
  padding-right: 4px !important;
}
.pr5 {
  padding-right: 5px !important;
}
.pr6 {
  padding-right: 6px !important;
}
.pr7 {
  padding-right: 7px !important;
}
.pr8 {
  padding-right: 8px !important;
}
.pr9 {
  padding-right: 9px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.pr15 {
  padding-right: 15px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.pr25 {
  padding-right: 25px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.pr35 {
  padding-right: 35px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.pr45 {
  padding-right: 45px !important;
}
.pr50 {
  padding-right: 50px !important;
}
.pr55 {
  padding-right: 55px !important;
}
.pr60 {
  padding-right: 60px !important;
}
.pb0 {
  padding-bottom: 0 !important;
}
.pb1 {
  padding-bottom: 1px !important;
}
.pb2 {
  padding-bottom: 2px !important;
}
.pb3 {
  padding-bottom: 3px !important;
}
.pb4 {
  padding-bottom: 4px !important;
}
.pb5 {
  padding-bottom: 5px !important;
}
.pb6 {
  padding-bottom: 6px !important;
}
.pb7 {
  padding-bottom: 7px !important;
}
.pb8 {
  padding-bottom: 8px !important;
}
.pb9 {
  padding-bottom: 9px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb35 {
  padding-bottom: 35px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pb45 {
  padding-bottom: 45px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}
.pb55 {
  padding-bottom: 55px !important;
}
.pb60 {
  padding-bottom: 60px !important;
}
.pl0 {
  padding-left: 0 !important;
}
.pl1 {
  padding-left: 1px !important;
}
.pl2 {
  padding-left: 2px !important;
}
.pl3 {
  padding-left: 3px !important;
}
.pl4 {
  padding-left: 4px !important;
}
.pl5 {
  padding-left: 5px !important;
}
.pl6 {
  padding-left: 6px !important;
}
.pl7 {
  padding-left: 7px !important;
}
.pl8 {
  padding-left: 8px !important;
}
.pl9 {
  padding-left: 9px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.pl15 {
  padding-left: 15px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.pl25 {
  padding-left: 25px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.pl35 {
  padding-left: 35px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.pl45 {
  padding-left: 45px !important;
}
.pl50 {
  padding-left: 50px !important;
}
.pl55 {
  padding-left: 55px !important;
}
.pl60 {
  padding-left: 60px !important;
}
/* Table cell's collective settings.
   ========================================================================== */
/* Font weight */
.th-weight-normal th,
.td-weight-normal td {
  font-weight: normal;
}
.th-weight-bold th,
.td-weight-bold td {
  font-weight: bold;
}
/* Align */
.th-align-left th,
.td-align-left td {
  text-align: left;
}
.th-align-center th,
.td-align-center td {
  text-align: center;
}
.th-align-right th,
.td-align-right td {
  text-align: right;
}
.th-align-top th,
.td-align-top td {
  vertical-align: top;
}
.th-align-middle th,
.td-align-middle td {
  vertical-align: middle;
}
.th-align-bottom th,
.td-align-bottom td {
  vertical-align: bottom;
}
.th-align-baseline th,
.td-align-baseline td {
  vertical-align: bottom;
}
/* ==========================================================================
   Function module
   ========================================================================== */
/* Alpha rollover
   ========================================================================== */
.fn-alpha-rollover {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  opacity: 1;
  background: url(/common/img/parts/px.png) no-repeat;
}
.fn-alpha-rollover:hover {
  opacity: 0.7;
  -ms-filter: "alpha(opacity=70)";
}
.fn-alpha-rollover-holder {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  display: inline-block;
  *display: inline;
  zoom: 1;
  vertical-align: top;
  border-radius: 6px;
}
.fn-alpha-rollover-holder:hover {
  background-color: #fff;
}
/* ==========================================================================
   Form module
   ========================================================================== */
.mod-form input[type="text"],
.mod-form select,
.mod-form textarea {
  font-size: 107.14%;
  width: 100%;
  border: #c0c5d0 1px solid;
  border-radius: 5px;
  background: none;
  background-color: #fffff1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mod-form input[type="text"]:focus,
.mod-form select:focus,
.mod-form textarea:focus {
  -webkit-box-shadow: 0 0 3px 0 #f29304;
          box-shadow: 0 0 3px 0 #f29304;
  outline: 0;
}
.mod-form input[type="text"] {
  padding: 6px 12px;
}
.mod-form input[type="checkbox"],
.mod-form input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}
.mod-form_add {
  font-size: .8em;
  line-height: 1.2;
  margin-top: 8px;
}
.mod-form_inquiry .mod-form_add {
  font-size: 1.2em;
}
.mod-form_pipe {
  display: inline-block;
  margin: 0 8px;
}
.mod-form_date {
  display: inline-block;
  margin: 0 12px 0 2px;
}
/* Table
   ========================================================================== */
.mod-form .mod-table th,
.mod-form .mod-table td {
  line-height: 1.2;
  font-size: 1.5em;
  word-break: break-all;
}
.mod-form .mod-table th {
  position: relative;
  padding: 18px 50px 20px 6px;
  font-weight: 500;
}
.mod-form .mod-table td {
  padding: 20px 0 30px 0;
}
.mod-form-icon {
  font-size: 78.57%;
  display: inline-block;
  padding: 3px 9px;
  border-radius: 8px;
  color: #fff;
  line-height: 1.0;
  font-weight: 500;
}
.mod-form-icon.thema-required {
  background-color: #ea4454;
}
.mod-form-icon.thema-optional {
  background-color: #2daa59;
}
.mod-table th .mod-form-icon {
  position: absolute;
  top: 19px;
  right: 10px;
}
.mod-accordion .mod-form-icon {
  position: absolute;
  top: 50%;
  right: 70px;
  margin-top: -8px;
}
.mod-form_inquiry_q_inner .mod-form-icon {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
}
/* Input
   ========================================================================== */
.mod-form_input {
  display: inline-block;
  width: 100%;
  margin-top: 11px;
  vertical-align: middle;
}
.mod-form_input:first-child {
  margin-top: 5px;
}
.mod-form_input.opt-w190 > input[type="text"] {
  width: 190px;
}
.mod-form_input.opt-w240 > input[type="text"] {
  width: 240px;
}
.mod-form_input.opt-w330 > input[type="text"] {
  width: 330px;
}
.error + .mod-form_input {
  margin-top: 10px;
}
.mod-form_input.opt-form_input-inline {
  width: auto;
}
/* Tel
   ========================================================================== */
.error + .mod-form_tel {
  margin-top: 10px;
}
.mod-form_tel input[type="text"] {
  width: 100px;
}
.mod-form_tel > span {
  margin: 0 5px;
}
/* Postal
   ========================================================================== */
.mod-form_postal input[type="text"] {
  width: 100px;
}
.mod-form_postal input[type="text"]:first-child {
  width: 80px;
}
.mod-form_postal > span {
  margin: 0 5px;
}
.mod-form_postal > span:first-child {
  margin-left: 0;
}
/* Textarea
   ========================================================================== */
.mod-form_textarea textarea {
  padding: 10px 12px;
}
.error + .mod-form_textarea {
  margin-top: 10px;
}
/* Select
   ========================================================================== */
.mod-form_select {
  margin-top: 18px;
}
.mod-form_select:first-child {
  margin-top: 0;
}
.error + .mod-form_select {
  margin-top: 10px;
}
p + .mod-form_select {
  margin-top: 11px;
}
.mod-form_select select {
  display: inline-block;
  position: relative;
  width: auto;
  height: 36px;
  padding: 0 0 0 12px;
}
.mod-form_select select + select {
  margin-top: 20px;
}
.mod-form_select .w-select-80 {
  width: 80px;
}
.mod-form_select .w-select-85 {
  width: 85px;
}
.mod-form_select .w-select-165 {
  width: 165px;
}
.mod-form_select .w-select-170 {
  width: 170px;
}
.mod-form_select .w-select-195 {
  width: 195px;
}
.mod-form_select .w-select-245 {
  width: 245px;
}
.mod-form_select-list {
  margin-top: 20px;
}
.mod-form_select-list:first-child {
  margin-top: 0;
}
/* Radio
   ========================================================================== */
.mod-form_radio-list {
  overflow: hidden;
  zoom: 1;
  margin-top: 15px;
}
.mod-form_radio-list:first-child {
  margin-top: 0;
}
.error + .mod-form_radio-list {
  margin-top: 10px;
}
.mod-form_radio-list > li {
  float: left;
  margin: 0 20px 10px 0;
}
.mod-form_radio-list > li:last-child {
  margin-right: 0;
}
.mod-form_radio-list + .mod-form_radio-list {
  margin-top: 15px;
  padding-top: 25px;
  border-top: #e8e9ec 1px solid;
}
.mod-form_radio-list.opt-item-space-far > li {
  margin-right: 15px;
}
.mod-form_radio {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  display: inline-block;
  position: relative;
  font-weight: 500;
  font-size: 1.4em;
}
.mod-table .mod-form_radio {
  font-size: 100%;
}
.mod-form_radio label {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  display: block;
  position: relative;
  padding: 8px 14px 11px 38px;
  border: #d1d4da 1px solid;
  border-radius: 5px;
  background-color: #fff;
  font-size: 1.067em;
}
.mod-form_radio label:before {
  display: inline-block;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 11px;
  margin-top: -10px;
  background: url(https://rec.fofa.jp/reccc/asset/asset_359.png) no-repeat;
  background-size: 20px;
  content: '';
}
.mod-form_radio label:hover {
  background-color: #f3f6fb;
  cursor: pointer;
}
.mod-form_radio input:checked + label {
  background-color: #f57d41;
  border-color: #f57d41;
  color: #fff;
}
.mod-form_radio input:checked + label:before {
  background-position: 0 -20px;
}
/* Check box
   ========================================================================== */
.mod-form_checkbox-list {
  overflow: hidden;
  zoom: 1;
  margin-top: 15px;
}
.mod-form_checkbox-list:first-child {
  margin-top: 0;
}
.mod-form_checkbox-list > li {
  float: left;
  margin: 0 10px 10px 0;
}
.mod-form_checkbox {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  position: relative;
  font-weight: 500;
  font-size: 1.4em;
  width: 104px;
  margin: 14px auto 0;
  display: block;
}
.mod-table .mod-form_checkbox {
  font-size: 100%;
}
.mod-form_checkbox label {
  -webkit-transition: .3s ease;
  transition: .3s ease;
  display: block;
  position: relative;
  padding: 5px 10px 5px 34px;
  border: #d1d4da 1px solid;
  border-radius: 5px;
  background-color: #fff;
}
.mod-form_checkbox label:before {
  display: inline-block;
  position: absolute;
  width: 16px;
  height: 16px;
  top: 50%;
  left: 10px;
  margin-top: -8px;
  background: url(https://rec.fofa.jp/reccc/asset/asset_372.png) no-repeat;
  background-size: 16px;
  content: '';
}
.mod-form_checkbox label:hover {
  background-color: #f3f6fb;
  cursor: pointer;
}
.mod-form_checkbox input:checked + label {
  background-color: #f57d41;
  border-color: #f57d41;
  color: #fff;
}
.mod-form_checkbox input:checked + label:before {
  background-position: 0 -16px;
}
/* Confirm
   ========================================================================== */
.mod-form_confirm {
  margin-top: 23px;
  padding: 16px 10px 19px;
  background-color: #f3f6fb;
  text-align: center;
}
.mod-form_confirm:first-child {
  margin-top: 0;
}
.mod-form_confirm_text {
  display: inline-block;
  font-size: 1.4em;
  padding-left: 40px;
  width: 242px;
}
.mod-form_confirm_text .mod-form-icon {
  position: relative;
  top: -2px;
  margin-left: 5px;
}
/* Inquiry
   ========================================================================== */
.mod-form_inquiry-wrapper {
  margin-top: 30px;
}
.mod-form_inquiry {
  border-bottom: #d1d4da 1px solid;
}
.mod-form_inquiry:first-child {
  border-top: #d1d4da 1px solid;
}
.mod-form_inquiry_q {
  padding: 21px 15px;
  background-color: #f3f6fb;
}
.mod-form_inquiry_q_inner {
  display: table;
  position: relative;
  width: 100%;
  margin-top: 5px;
}
.mod-form_inquiry_q_inner:first-child {
  margin-top: 0;
}
.mod-form_inquiry_q_num {
  display: table-cell;
  width: 50px;
  vertical-align: middle;
}
.mod-form_inquiry_q_num > span {
  display: block;
  width: 35px;
  height: 35px;
  padding-top: 4px;
  border-radius: 50%;
  background-color: #3995ea;
  color: #fff;
  font-weight: 500;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mod-form_inquiry_q_text {
  display: table-cell;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.4em;
  vertical-align: middle;
}
.mod-form_inquiry_a {
  padding: 25px 20px;
}
.opt-inquiry-five .mod-form_inquiry_a {
  padding: 20px 130px 25px;
}
/* 5 stages
   ========================================================================== */
.mod-form_five {
  margin-top: 50px;
  text-align: center;
}
.mod-form_five > li {
  display: inline-block;
  position: relative;
  padding-left: 92px;
  font-size: 1.4em;
}
.mod-form_five > li:before {
  display: inline-block;
  position: absolute;
  top: -13px;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #2668c1;
  content: '';
}
.mod-form_five > li:first-child {
  padding-left: 0;
}
.mod-form_five > li:first-child:before {
  display: none;
}
.mod-form_five_radio {
  position: relative;
}
.mod-form_five_radio label {
  position: relative;
}
.mod-form_five_radio label:before {
  display: inline-block;
  position: absolute;
  width: 22px;
  height: 22px;
  top: -25px;
  left: 50%;
  z-index: 5;
  margin-left: -11px;
  background: url(https://rec.fofa.jp/reccc/asset/asset_361.png) no-repeat;
  content: '';
}
.mod-form_five_radio label:hover {
  cursor: pointer;
}
.mod-form_five_radio label:hover:before {
  background-position: 0 -22px;
}
.mod-form_five_radio input:checked + label:before {
  background-position: 0 -44px;
}
.mod-form_five_rank {
  position: absolute;
  top: -53px;
  left: 50%;
  width: 3.0em;
  margin-left: -1.5em;
  font-weight: bold;
}
/* Error
   ========================================================================== */
.error {
  margin-top: 8px;
  display: block;
  padding-left: 28px;
  background: url(https://rec.fofa.jp/reccc/asset/asset_362.png) no-repeat left center;
  background-size: 21px auto;
  color: #f20017;
  font-weight: bold;
  font-size: 1.4em;
  text-align: left;
  background-position: left top;
  line-height: 1.5;
}
.error:first-child {
  margin-top: 0;
}
.mod-table td .error {
  font-size: 100%;
}
.mod-form_error-wrapper {
  margin-top: 26px;
  padding: 14px 10px;
  border: #ee6874 1px solid;
  border-radius: 5px;
  background-color: #fff2f6;
}
.mod-form_error-wrapper .error {
  font-size: 1.4em;
}
