.theme-fo-base .contents .component.heading h2 {
   color: #2981be
}

.theme-fo-base .contents .component.heading h3 {
   color: #2981be;
   border-bottom: none
}

.navigation-cont.clearfix h1 img {
   padding: 10px 10px 10px 0px
}

@media screen and (max-width: 769px) {
   .navigation-cont.clearfix h1 img {
       padding: 2px
   }
}

.navi-001-01 {
   font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif
}

.navi-001-01 header#navigations .inner .logo h1 a {
   line-height: 60px
}

.navi-001-01 header#navigations .inner .logo h1 a img {
   vertical-align: baseline
}

.navi-001-01 header#navigations .inner .main-menu ul li a {
   color: #2981be !important;
   text-align: center
}

.theme-fo-base .breadcrumbs {
   background: #2981be
}

.theme-fo-base.clearfix {
   background: transparent
}

.theme-fo-base.clearfix h1,
.theme-fo-base.clearfix h2,
.theme-fo-base.clearfix h3,
.theme-fo-base.clearfix h4,
.theme-fo-base.clearfix h5 {
   white-space: pre-line
}

.theme-fo-base.clearfix .top-page {
   background-attachment: fixed;
   background-position-y: top;
   color: #fff;
   position: relative
}

.theme-fo-base.clearfix .top-page:before {
   content: "";
   background: #2981be;
   opacity: 0.6;
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%
}

.theme-fo-base.clearfix .top-page .clearfix {
   position: relative
}

.theme-fo-base.clearfix .top-page .title-group .col-1 {
   vertical-align: middle;
   text-align: left
}

.theme-fo-base.clearfix .top-page .title-group .col-1 .heading {
   margin-bottom: 40px
}

.theme-fo-base.clearfix .top-page .title-group .col-1 .heading h2:after {
   content: "";
   display: block;
   border-bottom: 2px solid #fff;
   width: 30px;
   margin: 20px auto -20px
}

.theme-fo-base.clearfix .top-page .title-group .button .button-cont a {
   color: #fff;
   background: transparent;
   border: 2px solid #fff
}

.theme-fo-base.clearfix .top-page .title-group .button .button-cont a:hover {
   color: #555;
   background: #fff
}

.theme-fo-base.clearfix .main-visual {
   min-height: 500px;
   background-attachment: fixed
}

.theme-fo-base.clearfix .main-visual .title-group {
   min-height: 500px;
   max-width: 710px;
   margin: auto !important
}

.theme-fo-base.clearfix .main-visual .title-group .col-1 {
   vertical-align: middle;
   text-align: center;
   padding: 10px
}

.theme-fo-base.clearfix .main-visual .title-group .col-1 .heading h2 {
   padding: 20px 0;
   font-size: 2rem
}

@media screen and (max-width: 769px) {
   .theme-fo-base.clearfix .main-visual {
       background-attachment: scroll;
       padding: 20px 10px;
       min-height: 220px
   }
   .theme-fo-base.clearfix .main-visual .title-group {
       min-height: 0
   }
   .theme-fo-base.clearfix .main-visual .title-group .col-1 {
       padding: 0
   }
   .theme-fo-base.clearfix .main-visual .title-group .col-1 .heading h2 {
       padding: 0
   }
}

.theme-fo-base.clearfix .service-block .button .button-cont a {
   border-radius: 10px;
   background-color: #2981be
}

.theme-fo-base.clearfix .service-block .icon .icon-cont {
   text-align: center
}

.theme-fo-base.clearfix .service-block .icon .icon-cont svg {
   max-width: 100%;
   width: 200px;
   height: 200px;
   border: 1px solid rgba(41, 129, 190, 0.7);
   border-radius: 50%;
   fill: #2981be
}

.theme-fo-base .contents .cta-service-contact {
   color: #fff
}

.theme-fo-base .contents .cta-service-contact .col-1 {
   vertical-align: middle;
   text-align: center
}

.theme-fo-base .contents .cta-service-contact .col-1 .heading {
   margin-bottom: 40px
}

.theme-fo-base .contents .cta-service-contact .col-1 .heading h2 {
   color: #fff
}

.theme-fo-base .contents .cta-service-contact .col-1 .heading h2:after {
   content: "";
   display: block;
   border-top: 2px solid #fff;
   width: 30px;
   margin: 20px auto -20px
}

.theme-fo-base .contents .cta-service-contact .cta-text.text p {
   font-size: 0.9rem
}

.theme-fo-base .contents .cta-service-contact .button .button-cont a {
   color: #fff;
   background: transparent;
   border: 2px solid #fff;
   margin-top: 20px
}

.theme-fo-base .contents .cta-service-contact .button .button-cont a:hover {
   color: #555;
   background: #fff
}

.theme-fo-base .contents .cta-corporate-contact .row.row-1 {
   background: rgba(255, 255, 255, 0.8)
}

@media screen and (max-width: 769px) {
   .theme-fo-base .contents .cta-corporate-contact .row.row-1 {
       padding: 10px
   }
}

.theme-fo-base .contents .cta-corporate-contact .cta-text.text {
   max-width: 600px;
   margin: 0 auto !important
}

.theme-fo-base .contents .cta-corporate-contact .button .button-cont a {
   color: #2981be;
   background: transparent;
   border: 2px solid #2981be;
   border-radius: 10px;
   margin-top: 20px
}

.theme-fo-base .contents .cta-corporate-contact .button .button-cont a:hover {
   color: #fff;
   background: #2981be
}

.theme-fo-base .contents .cta-media-contact .cta-row.cta-row-0 {
   margin: 0;
   border: 1px solid #888
}

.theme-fo-base .contents .cta-media-contact .cta-row.cta-row-0:after {
   content: "";
   display: inline-block;
   margin: 0 auto;
   width: 20%;
   height: 2px;
   background: #2981be
}

.theme-fo-base .contents .cta-media-contact .cta-row.cta-row-0 .cta-column-0 {
   width: 100%
}

.theme-fo-base .contents .cta-media-contact .cta-row.cta-row-0 .cta-column-0 h2 {
   color: initial;
   text-align: center;
   margin-bottom: 0
}

.theme-fo-base .contents .cta-media-contact .cta-row.cta-row-0 .cta-column-0 h2:after {
   display: none
}

.theme-fo-base .contents .cta-media-contact .cta-row.cta-row-1 {
   margin: -1px 0 0;
   border: 1px solid #888;
   border-bottom: 5px solid #2981be
}

.theme-fo-base .contents .cta-media-contact .cta-row.cta-row-1 .button .button-cont a {
   background: #2981be
}

.theme-fo-base .contents .cta-media-contact .cta-row.cta-row-1 .text {
   text-align: center
}

.theme-fo-base .contents .company-info .richtext table tbody {
   border: none
}

.theme-fo-base .contents .company-info .richtext table tbody tr {
   border: 1px solid #ddd;
   border-left: none;
   border-right: none
}

.theme-fo-base .contents .company-info .richtext table tbody tr td {
   border: none
}

.theme-fo-base .contents .company-info .richtext table tbody tr td:not(:last-child) {
   position: relative
}

.theme-fo-base .contents .company-info .richtext table tbody tr td:not(:last-child):after {
   content: "";
   height: calc(100% - 20px);
   border-right: 2px solid #ddd;
   position: absolute;
   top: 10px;
   right: 0
}

.theme-fo-base .contents .preset-form .component.form.horizontal .form-label.require {
   padding-right: 0
}

.theme-fo-base .contents .preset-form .component.form.horizontal .form-label.require:after {
   top: 8px;
   right: initial;
   margin-left: 5px;
   padding: 0 7px;
   background: #de2930
}

.theme-fo-base .contents .preset-form .component.form.horizontal .form-submit .popup-link {
   min-height: initial;
   background: #2981be
}

.theme-fo-base .contents .preset-form .component.form.horizontal input[type="text"] {
   min-height: initial
}

.theme-fo-base .contents .entry-list .pagination li a {
   height: 30px;
   border-radius: 5px;
   border: 1px solid #2981be;
   color: #2981be
}

.theme-fo-base .contents .entry-list .pagination li.active a {
   color: #fff;
   background: #2981be
}

.theme-fo-base {
   line-height: 1.8
}

html .theme-fo-base .contents .component.heading h2,
html .theme-fo-base .contents .component.heading h3,
html .theme-fo-base .contents .component.heading h4,
html .theme-fo-base .contents .component.heading h5,
html .theme-fo-base .contents .component.heading h6 {
   line-height: 1.3;
   letter-spacing: 1px
}

.contents .component.text {
   font-size: 100%
}

.cta-row {
   margin-bottom: 0
}

.cta-row .cta-column {
   margin-bottom: 0
}

.cta-row .cta-column .component.cta-text p {
   margin: 0
}

.cta-row.cta-row-1 {
   margin: 0
}

.cta-row.cta-row-1 .cta-column.cta-column-0 {
   margin: 0
}

.foot .foot-cont .component.list ul li {
   font-size: 0.8rem
}

.foot-copyright p {
   font-size: 0.6rem
}

.theme-fo-base .contents .cta-media-contact .cta-row.cta-row-1 {
   padding-bottom: 20px
}

.theme-fo-base .contents .media-top .article-list .entry-list-unit {
   display: table;
   width: 100%
}

.component.blog_articles article .infomation {
   position: relative;
   height: 210px
}

.component.blog_articles article .infomation h1 {
   position: absolute;
   top: 40px;
   max-height: 70px;
   word-break: break-all;
   overflow: hidden;
   line-height: 150%
}

.component.blog_articles article .infomation h1 a {
   color: #333
}

.component.blog_articles article .infomation .published_at {
   text-align: left;
   background: transparent;
   position: absolute;
   top: 0;
   padding: 0 10px
}

.component.blog_articles article .infomation .published_at:after {
   content: "";
   width: 30%;
   display: block;
   border-top: 2px solid #2981be
}

.component.blog_articles article .infomation p {
   position: absolute;
   top: 95px;
   color: #919191;
   font-size: 13px;
   max-height: 80px;
   overflow: hidden
}

.component.blog_articles article .infomation .view-article {
   position: absolute;
   bottom: 0;
   right: 0
}

.component.blog_articles article .infomation .tags {
   position: absolute;
   bottom: 0
}

@media screen and (max-width: 769px) {
   .component.blog_articles article .catch {
       width: 100%
   }
   .component.blog_articles article .infomation {
       width: 100%;
       height: 110px
   }
   .component.blog_articles article .infomation h1 {
       font-size: 14px;
       max-height: 65px
   }
   .component.blog_articles article .infomation p,
   .component.blog_articles article .infomation .view-article {
       display: none
   }
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents {
   background: #ECEFF1
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .sub_copy.text {
   margin: 0 !important;
   padding: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .sub_copy.text p {
   margin: 0;
   padding: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .main_copy.heading {
   margin: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .main_copy.heading h1 {
   margin-bottom: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .discript p {
   padding: 0;
   margin-bottom: 30px;
   line-height: 24px;
   font-size: 15px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer {
   border-collapse: separate;
   border-spacing: 16px 8px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer {
   position: relative;
   background: white;
   padding: 0;
   border-radius: 6px;
   border: #e6e6e6 solid 1px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .label_day {
   position: absolute;
   display: inline-block;
   margin: 0;
   padding: 8px 12px;
   top: 20px;
   left: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .label_day p {
   font-size: 17px;
   font-weight: bold;
   letter-spacing: 0.5px;
   line-height: 22px;
   color: white;
   margin: 0;
   padding: 0;
   text-align: center
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .label_day.state_entry {
   letter-spacing: 0;
   background: rgba(66, 139, 225, 0.9)
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .label_day.state_entry:before {
   content: "受付中";
   display: block;
   font-size: 14px;
   letter-spacing: 2px;
   color: white;
   line-height: 20px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .label_day.state_end {
   letter-spacing: 0;
   background: rgba(27, 27, 27, 0.9)
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .label_day.state_end:before {
   content: "受付終了";
   display: block;
   font-size: 14px;
   letter-spacing: 0.5px;
   color: white;
   line-height: 20px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .image {
   margin: 0 !important;
   height: 165px;
   overflow: hidden
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .image img {
   border-radius: 6px 6px 0 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .seminer_title h3 {
   font-size: 1rem;
   margin-bottom: 0;
   margin: 0 18px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .seminer_discript p {
   padding: 0 18px;
   margin: 0;
   font-size: 90%;
   line-height: 25px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .date p {
   padding: 0 18px;
   margin: 0;
   font-size: 80%;
   color: #888
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042aa .contents .row_seminer .col_seminer .date p:before {
   content: "\f133";
   font-family: "FontAwesome";
   margin-right: 7px
}

@media screen and (max-width: 769px) {
   .page-5956211969ef1742fd0042aa .contents .row .row_seminer .image img {
       height: 155px
   }
   .page-5956211969ef1742fd0042aa .contents .row .col.col_seminer {
       margin: 10px 0
   }
   .page-5956211969ef1742fd0042aa .contents .row .col .seminer_discript {
       padding: 0
   }
   .page-5956211969ef1742fd0042aa .contents .row .col .date {
       padding: 10px 0
   }
   .page-5956211969ef1742fd0042aa .contents .row .col .discript {
       padding: 0
   }
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents {
   background: #ECEFF1
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .sub_copy.text {
   margin: 0 !important;
   padding: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .sub_copy.text p {
   margin: 0;
   padding: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .main_copy.heading {
   margin: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .main_copy.heading h1 {
   margin-bottom: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .discript p {
   padding: 0;
   margin-bottom: 30px;
   line-height: 24px;
   font-size: 15px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer {
   background: white;
   border-radius: 6px;
   margin: 15px 0;
   padding: 0;
   display: block;
   height: 180px;
   overflow: hidden
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col:first-child {
   padding: 0;
   margin: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col:nth-child(2) {
   padding: 10px 10px 10px 30px;
   box-sizing: border-box
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component {
   margin: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.image {
   width: 100%;
   height: 200px;
   overflow: hidden;
   display: block
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.image img {
   height: 110%;
   width: auto;
   overflow: hidden;
   max-width: inherit;
   border-radius: 6px 0 0 6px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day {
   display: inline-block;
   letter-spacing: 0;
   box-sizing: border-box;
   padding: 2px 8px;
   margin: 10px 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day.state_entry {
   background: rgba(66, 139, 225, 0.9);
   margin: 10px 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day.state_entry:before {
   content: "受付中";
   display: block;
   font-size: 14px;
   color: white;
   line-height: 20px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day.state_end {
   background: rgba(27, 27, 27, 0.9)
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day.state_end:before {
   content: "受付終了";
   display: block;
   font-size: 14px;
   color: white;
   line-height: 20px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day p {
   margin: 0;
   color: white;
   font-size: 13px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.seminer_title {
   width: 700px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.seminer_title p {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
   text-decoration: none;
   font-size: 1.2rem;
   margin-bottom: 0;
   padding: 3px 0;
   margin: 0
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.seminer_title p a {
   color: #0e2e4c;
   font-weight: bold
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.seminer_discript p {
   padding: 3px 0;
   margin: 0;
   font-size: 90%;
   line-height: 25px
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.date p {
   padding: 3px 0;
   margin: 0;
   font-size: 80%;
   color: #888
}

html:not([ng-app="homeUp"]) .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.date p:before {
   content: "\f133";
   font-family: "FontAwesome";
   margin-right: 7px
}

@media screen and (max-width: 769px) {
   .page-5956211969ef1742fd0042d3 .contents {
       background: #ECEFF1
   }
   .page-5956211969ef1742fd0042d3 .contents .sub_copy.text {
       margin: 0 !important;
       padding: 0
   }
   .page-5956211969ef1742fd0042d3 .contents .sub_copy.text p {
       margin: 0;
       padding: 0
   }
   .page-5956211969ef1742fd0042d3 .contents .main_copy.heading {
       margin: 0
   }
   .page-5956211969ef1742fd0042d3 .contents .main_copy.heading h1 {
       margin-bottom: 0
   }
   .page-5956211969ef1742fd0042d3 .contents .discript {
       padding: 0
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer {
       background: white;
       border-radius: 6px;
       margin: 15px 0;
       padding: 0;
       display: block;
       height: 454px;
       overflow: hidden
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col:first-child {
       padding: 0;
       margin: 0
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col:nth-child(2) {
       padding: 14px 20px;
       box-sizing: border-box
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component {
       margin: 0
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.image {
       width: 100%;
       height: 200px;
       overflow: hidden;
       display: block
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.image img {
       height: 110%;
       width: auto;
       overflow: hidden;
       max-width: inherit;
       border-radius: 6px 0 0 6px
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day {
       display: inline-block;
       letter-spacing: 0;
       box-sizing: border-box;
       padding: 2px 8px;
       margin: 6px 0 10px
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day.state_entry {
       background: rgba(66, 139, 225, 0.9);
       margin: 10px 0
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day.state_entry:before {
       content: "受付中";
       display: block;
       font-size: 12px;
       color: white;
       line-height: 20px
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day.state_end {
       background: rgba(27, 27, 27, 0.9)
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day.state_end:before {
       content: "受付終了";
       display: block;
       font-size: 12px;
       color: white;
       line-height: 20px
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.label_day p {
       margin: 0;
       color: white;
       font-size: 13px
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.seminer_title h3 {
       font-size: 1.1rem;
       margin-bottom: 0;
       padding: 3px 0;
       margin: 0
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.seminer_discript {
       padding: 0
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.seminer_discript p {
       padding: 0;
       margin: 0;
       font-size: 90%;
       line-height: 25px
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.date {
       padding: 0
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.date p {
       padding: 3px 0;
       margin: 0;
       font-size: 80%;
       color: #888
   }
   .page-5956211969ef1742fd0042d3 .contents .row_seminer .col .component.date p:before {
       content: "\f133";
       font-family: "FontAwesome";
       margin-right: 7px
   }
}

.theme-fo-base.clearfix .wrapper.clearfix.side-right .side.right .component.image.side_pr_image {
   position: relative;
   display: inline-block;
   width: 50%
}

.theme-fo-base.clearfix .wrapper.clearfix.side-right .side.right .component.image.side_pr_image img {
   padding-right: 10px;
   border-radius: 3px
}

@media screen and (max-width: 769px) {
   .theme-fo-base.clearfix .wrapper.clearfix.side-right .side.right .component.image.side_pr_image {
       display: block;
       width: 100%
   }
}

.theme-fo-base.clearfix .wrapper.clearfix.side-right .side.right .component.image.side_pr_image:before {
   content: "PR";
   position: absolute;
   background: green;
   color: #fff;
   width: 30px;
   text-align: center
}

.theme-fo-base.clearfix .wrapper.clearfix.side-right .side.right .component.richtext.side_pr_title {
   display: inline-block;
   width: 50%;
   vertical-align: top
}

.theme-fo-base.clearfix .wrapper.clearfix.side-right .side.right .component.richtext.side_pr_title p {
   font-size: 14px;
   line-height: 20px
}

.theme-fo-base.clearfix .wrapper.clearfix.side-right .side.right .component.richtext.side_pr_title p a {
   padding: 0 0 0 10px;
   color: #555;
   text-decoration: none
}

.theme-fo-base.clearfix .wrapper.clearfix.side-right .side.right .component.richtext.side_pr_title p a:hover {
   background: none;
   text-decoration: underline
}

@media screen and (max-width: 769px) {
   .theme-fo-base.clearfix .wrapper.clearfix.side-right .side.right .component.richtext.side_pr_title {
       display: block;
       width: 100%
   }
}

.theme-fo-base.clearfix .wrapper.clearfix .component.index_list {
   text-align: center
}

.theme-fo-base.clearfix .wrapper.clearfix .component.index_list a:hover {
   text-decoration: underline
}

.theme-fo-base.clearfix .wrapper.clearfix .component.glossary_banner img {
   width: 95% !important
}

.theme-fo-base.clearfix .wrapper.clearfix .component.button_top .button-cont a.size-s {
   padding: 10px 20px
}

.theme-fo-base.clearfix .wrapper.clearfix .component.button_top .button-cont a.black {
   background: #555;
   border-radius: 50%
}

.theme-fo-base.clearfix .wrapper.clearfix .component.button_top .button-cont a:before {
   content: "\f102";
   font-family: "fontawesome";
   display: block;
   font-size: 24px;
   max-height: 12px;
   margin-bottom: 20px;
   margin-top: -8px
}

.navi-002-01.custom header .inner .navigation-cont .logo {
   position: relative;
   z-index: 2
}

.navi-002-01.custom header .inner .navigation-cont .logo h1 a img {
   width: 200px;
   height: 100%;
   max-height: 100%;
   padding: 0
}

.navi-002-01.custom header .inner .navigation-cont .cont {
   max-width: 600px;
   width: auto
}

.navi-002-01.custom header .inner .navigation-cont .cont .row {
   display: block
}

.navi-002-01.custom header .inner .navigation-cont .cont .row .col.hd_custom_right_col {
   padding: 0
}

.navi-002-01.custom header .inner .navigation-cont .cont .row .col.hd_custom_right_col .component.richtext p {
   margin: 0
}

.navi-002-01.custom header .inner .navigation-cont .cont .row .col.hd_custom_right_col .component.richtext p span a {
   border-right: 1px solid #e0e0e0;
   display: inline-block;
   padding: 0 15px;
   text-decoration: none;
   font-family: "メイリオ", "ＭＳ Ｐゴシック", sans-serif
}

.navi-002-01.custom header .inner .navigation-cont .cont .row .col.hd_custom_right_col .component.richtext p span a:last-child {
   border-right: 0;
   padding: 0 15px 0 15px
}

.navi-002-01.custom header .inner .main-menu {
   border: 0;
   position: relative;
   max-width: 1140px;
   width: 100%;
   margin: 0 auto -30px;
   top: -30px;
   padding-bottom: 30px
}

.navi-002-01.custom header .inner .main-menu ul {
   max-width: 800px;
   width: auto;
   margin: 0 0 0 auto;
   text-align: right
}

.navi-002-01.custom header .inner .main-menu ul li {
   border: 0;
   display: inline-block
}

.navi-002-01.custom header .inner .main-menu ul li:hover {
   background: none
}

.navi-002-01.custom header .inner .main-menu ul li a {
   padding: 0 35px;
   font-size: 13px;
   color: #333;
   font-family: "メイリオ", "ＭＳ Ｐゴシック", sans-serif
}

.navi-002-01.custom header .inner .main-menu ul li a:hover {
   color: #0060b0
}

.navi-002-01.custom header .inner .main-menu ul li:first-child {
   border-left: 0
}

.navi-002-01.custom header .inner .main-menu ul li:last-child a {
   padding-right: 0
}

.theme-fo-base .foot.custom {
   padding: 0
}

.theme-fo-base .foot.custom .foot-cont {
   padding: 60px 0 0;
   background-color: #f2f2f2;
   max-width: 100%
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row {
   max-width: 960px;
   width: 100%;
   margin: 0 auto;
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex
}

@media screen and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row {
       max-width: 100%;
       padding: 0 10%;
       display: block
   }
}

@media screen and (min-width: 600px) and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row {
       display: table !important;
       padding: 0 10px
   }
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col {
   width: 30.208333333333332%;
   margin-left: 4.6875%;
   padding: 0;
   display: block
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col:first-child {
   margin-left: 0
}

@media screen and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col {
       padding: 0;
       margin-left: 0
   }
}

@media screen and (min-width: 600px) and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col {
       width: calc(100% / 3) !important;
       display: table-cell !important;
       padding: 0 10px
   }
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.rich-heading {
   padding: 0;
   margin: 0
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.list {
   margin-bottom: 30px
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.list ul li {
   margin: 12px 0 0;
   color: #7b7b7b
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.list ul li:first-child {
   color: #7b7b7b;
   font-size: 13px;
   font-weight: bold;
   margin: 0 0 12px;
   padding-bottom: 10px;
   border-bottom: 1px solid #e0e0e0
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.list ul li:first-child a {
   color: #7b7b7b;
   font-size: 13px;
   font-weight: bold
}

@media screen and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.list ul li:first-child {
       width: 100%
   }
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.list ul li a {
   color: #7b7b7b;
   font-size: 12px;
   display: inline-block;
   padding: 0
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.list ul li a:hover {
   background: none;
   opacity: 1;
   text-decoration: underline
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.list:last-child {
   margin: 0
}

@media screen and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.list:last-child {
       margin: 0 0 30px
   }
}

@media screen and (min-width: 600px) and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-cont .row.foot_linklist_row .col .component.list:last-child {
       margin: 0
   }
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist-bottom_row {
   margin: 60px auto 30px
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist-bottom_row .col {
   padding: 0
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist-bottom_row .col .component.rich-heading {
   padding: 0;
   margin: 0
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist-bottom_row .col .component.list ul {
   text-align: center
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist-bottom_row .col .component.list ul li {
   margin: 0;
   color: #7b7b7b;
   display: inline-block;
   padding: 0 70px;
   border-right: 1px solid #d8d8d8
}

@media screen and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-cont .row.foot_linklist-bottom_row .col .component.list ul li {
       padding: 0 15px
   }
}

@media screen and (min-width: 600px) and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-cont .row.foot_linklist-bottom_row .col .component.list ul li {
       padding: 0 50px
   }
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist-bottom_row .col .component.list ul li:last-child {
   border-right: 0
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist-bottom_row .col .component.list ul li a {
   color: #7b7b7b;
   font-size: 12px;
   display: inline-block;
   padding: 0
}

.theme-fo-base .foot.custom .foot-cont .row.foot_linklist-bottom_row .col .component.list ul li a:hover {
   background: none;
   opacity: 1;
   text-decoration: underline
}

.theme-fo-base .foot.custom .foot-cont .row.foot_logo_row {
   margin: 0 auto;
   background: #fff
}

.theme-fo-base .foot.custom .foot-cont .row.foot_logo_row .col {
   padding: 0;
   position: relative;
   display: block;
   margin: 0 auto
}

.theme-fo-base .foot.custom .foot-cont .row.foot_logo_row .col .component.image {
   margin: 20px auto;
   padding: 0 10px;
   width: auto;
   max-width: 1160px;
   min-width: 960px
}

@media screen and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-cont .row.foot_logo_row .col .component.image {
       width: 100%;
       max-width: 100%;
       min-width: 320px;
       margin: 0 auto;
       padding: 20px 10px
   }
}

.theme-fo-base .foot.custom .foot-cont .row.foot_logo_row .col .component.image img {
   width: 163px !important;
   max-width: 163px !important;
   height: 21px
}

.theme-fo-base .foot.custom .foot-copyright {
   background: #fff;
   padding: 0 0 15px;
   margin: 0
}

.theme-fo-base .foot.custom .foot-copyright p {
   color: #333;
   font-size: 10px;
   width: auto;
   max-width: 1160px;
   min-width: 960px;
   margin: 0 auto;
   text-align: left
}

@media screen and (max-width: 769px) {
   .theme-fo-base .foot.custom .foot-copyright p {
       width: 100%;
       max-width: 100%;
       min-width: 320px;
       padding: 0 10px
   }
}

.navi-002-01.custom nav a {
   border-bottom: 2px solid #FFF
}

.navi-002-01.custom nav a:hover {
   color: #2c75b2 !important;
   border-bottom: 2px solid #2c75b2
}

.navi-002-01.custom header .inner .main-menu ul li:not(:last-child) {
   border-right: 1px solid #e0e0e0
}

.navi-002-01.custom header .inner .main-menu ul li:last-child a {
   padding-right: 35px
}

.navi-002-01.custom header .inner .navigation-cont .cont .row .col.hd_custom_right_col .component.richtext p span a:hover {
   color: #2c75b2 !important;
   border-bottom: 1px solid #2c75b2
}

.navi-002-01.custom header .inner .navigation-cont .cont .row .col.hd_custom_right_col .component.richtext p span a span {
   border-bottom: none !important
}

.frame-root .frame-content .navi-002-01.custom header .inner .main-menu {
   top: 0
}

.navi-001-01 header .inner .main-menu .level-01 a,
.navi-001-01 header .inner .main-menu .level-01-trigger a,
.navi-001-01 header .inner .main-menu .level-01-trigger .level-01-cont a,
.navi-001-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02 li a,
.navi-001-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02-trigger li a,
.navi-001-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02-trigger .level-02-cont li a,
.navi-002-01 header .inner .main-menu,
.navi-002-01 header .inner .main-menu .level-01 a,
.navi-002-01 header .inner .main-menu .level-01-trigger a,
.navi-002-01 header .inner .main-menu .level-01-trigger .level-01-cont a,
.navi-002-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02 li a,
.navi-002-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02-trigger li a,
.navi-002-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02-trigger .level-02-cont li a {}

.navi-001-01 header .inner .main-menu .level-01 a:hover,
.navi-001-01 header .inner .main-menu .level-01-trigger a:hover,
.navi-001-01 header .inner .main-menu .level-01-trigger .level-01-cont a:hover,
.navi-001-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02 li a:hover,
.navi-001-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02-trigger li a:hover,
.navi-001-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02-trigger .level-02-cont li a:hover,
.navi-002-01 header .inner .main-menu .level-01 a:hover,
.navi-002-01 header .inner .main-menu .level-01-trigger a:hover,
.navi-002-01 header .inner .main-menu .level-01-trigger .level-01-cont a:hover,
.navi-002-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02 li a:hover,
.navi-002-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02-trigger li a:hover,
.navi-002-01 header .inner .main-menu .level-01-trigger .level-01-cont .level-02-trigger .level-02-cont li a:hover {}

.theme-fo-base {}

.theme-fo-base .contents .component.richtext p,
.theme-fo-base .contents .component.text p,
.theme-fo-base .contents .component.text {
   line-height: 2;
}

.theme-fo-base .contents .component.heading h3 {
   color: rgba(83, 77, 77, 1);
}

.theme-fo-base .foot {
   background-color: rgba(54, 54, 54, 1);
}

.theme-fo-base .foot .foot-copyright {
   background-color: rgba(54, 54, 54, 1);
}

.breadcrumbs,
.theme-fo-base .breadcrumbs {
   background-color: rgba(179, 179, 179, 1);
}

.breadcrumbs ul li a::before,
.theme-fo-base .breadcrumbs ul li a::before {
   border-left-color: rgba(179, 179, 179, 1);
}

.theme-fo-base .wrapper {
   width: 1138px;
}

@media (max-width: 769px) {
   .theme-fo-base .wrapper {
       width: 100%;
   }
}

.theme-fo-base .wrapper.clearfix.none div.contents,
.theme-fo-base .wrapper.clearfix.side-left div.contents,
.theme-fo-base .wrapper.clearfix.side-right div.contents,
.theme-fo-base .wrapper.clearfix.side-both div.contents {
   background-color: rgba(255, 255, 255, 1);
}

.theme-fo-base.v2-0.clearfix .wrapper.clearfix.none div.contents,
.theme-fo-base.v2-0.clearfix .wrapper.clearfix.side-left div.contents,
.theme-fo-base.v2-0.clearfix .wrapper.clearfix.side-both div.contents,
.theme-fo-base.v2-0.clearfix .wrapper.clearfix.side-right div.contents {
   background-color: rgba(255, 255, 255, 1);
}