@charset "UTF-8";
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Marcellus&family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;600&family=Cabin:wght@400;600&display=swap");
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

body {
  margin: 0; }

article,
aside,
footer,
header,
nav,
section {
  display: block; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

figcaption,
figure,
main {
  /* 1 */
  display: block; }

figure {
  margin: 1em 40px; }

hr {
  box-sizing: content-box;
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

b,
strong {
  font-weight: inherit; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

dfn {
  font-style: italic; }

mark {
  background-color: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

audio,
video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

img {
  border-style: none; }

svg:not(:root) {
  overflow: hidden; }

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

button,
input {
  /* 1 */
  overflow: visible; }

button,
select {
  /* 1 */
  text-transform: none; }

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

details,
menu {
  display: block; }

summary {
  display: list-item; }

canvas {
  display: inline-block; }

template {
  display: none; }

[hidden] {
  display: none; }

.just2,
.just3,
.just4,
.just5 {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  justify-content: space-between; }

.j2-li {
  width: 50%;
  min-width: 33.4%; }
  .j2-li img {
    width: 100%;
    height: auto; }

.j3-li {
  width: 33.33%;
  min-width: 25.1%; }
  .j3-li img {
    width: 100%;
    height: auto; }

.j4-li {
  margin: 0;
  width: 25%;
  min-width: 20.1%; }
  .j4-li img {
    width: 100%;
    height: auto; }

.j5-li {
  margin: 0;
  width: 20%;
  min-width: 16.7%; }
  .j5-li img {
    width: 100%;
    height: auto; }

.flex-blnk {
  opacity: 0 !important;
  background-color: transparent !important; }

.col01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .col01 > li {
    margin: 0; }
    .col01 > li > img {
      width: 100%; }

.cf, #section_pageHeader, .pagenav, .cap-l-t3, .cap-l, .cap-l-t2, .cap-m, .cap-s, .boxwrap1, .boxwrap2, .boxwrap3, .to-buttonbox, .i1, .i2, .i3, .i4, .i5, .dibox, .dl-box1, .qabox, .stepbox, .to_bt, .cap-l-t2 h2, .imgfull, .line-hr, .noline-hr, .dl-box1 dl, .to-bt2, .stepbox ul li, .wcarea_400206803901 li {
  zoom: 1; }
  .cf:before, #section_pageHeader:before, .pagenav:before, .cap-l-t3:before, .cap-l:before, .cap-l-t2:before, .cap-m:before, .cap-s:before, .boxwrap1:before, .boxwrap2:before, .boxwrap3:before, .to-buttonbox:before, .i1:before, .i2:before, .i3:before, .i4:before, .i5:before, .dibox:before, .dl-box1:before, .qabox:before, .stepbox:before, .to_bt:before, .cap-l-t2 h2:before, .imgfull:before, .line-hr:before, .noline-hr:before, .dl-box1 dl:before, .to-bt2:before, .stepbox ul li:before, .wcarea_400206803901 li:before, .cf:after, #section_pageHeader:after, .pagenav:after, .cap-l-t3:after, .cap-l:after, .cap-l-t2:after, .cap-m:after, .cap-s:after, .boxwrap1:after, .boxwrap2:after, .boxwrap3:after, .to-buttonbox:after, .i1:after, .i2:after, .i3:after, .i4:after, .i5:after, .dibox:after, .dl-box1:after, .qabox:after, .stepbox:after, .to_bt:after, .cap-l-t2 h2:after, .imgfull:after, .line-hr:after, .noline-hr:after, .dl-box1 dl:after, .to-bt2:after, .stepbox ul li:after, .wcarea_400206803901 li:after {
    content: "";
    display: table; }
  .cf:after, #section_pageHeader:after, .pagenav:after, .cap-l-t3:after, .cap-l:after, .cap-l-t2:after, .cap-m:after, .cap-s:after, .boxwrap1:after, .boxwrap2:after, .boxwrap3:after, .to-buttonbox:after, .i1:after, .i2:after, .i3:after, .i4:after, .i5:after, .dibox:after, .dl-box1:after, .qabox:after, .stepbox:after, .to_bt:after, .cap-l-t2 h2:after, .imgfull:after, .line-hr:after, .noline-hr:after, .dl-box1 dl:after, .to-bt2:after, .stepbox ul li:after, .wcarea_400206803901 li:after {
    clear: both; }

*:link,
*:visited,
*:active {
  color: #000; }

a:hover {
  color: #0D2870; }

::selection {
  background-color: #2E4FCC;
  color: #fff;
  /* Safari */ }

::-moz-selection {
  background-color: #2E4FCC;
  color: #fff;
  /* Firefox */ }

/* Base Layout
 * =================================================================================
**/
.mb1 {
  margin-bottom: 6px; }

.mb2 {
  margin-bottom: 12px; }

.mb3 {
  margin-bottom: 18px; }

.mb4 {
  margin-bottom: 24px; }

.mb5 {
  margin-bottom: 30px; }

.mb6 {
  margin-bottom: 36px; }

.mb7 {
  margin-bottom: 42px; }

.mb8 {
  margin-bottom: 48px; }

.mb9 {
  margin-bottom: 54px; }

.mb10 {
  margin-bottom: 60px; }

.left, .il {
  float: left; }

.right, .ir {
  float: right; }

.tar {
  text-align: right; }

.tal {
  text-align: left; }

.tac {
  text-align: center; }

img.left, img.il {
  margin-right: 48px; }

img.right, img.ir {
  margin-left: 48px; }

.rad {
  border-radius: 6px; }

.full {
  width: 100%;
  height: auto; }

.red {
  color: #FF0000; }

.small {
  font-size: 83%; }

.big {
  font-size: 117%; }

.bold {
  font-weight: bold; }

.mt5 {
  margin-top: 5px; }

.mt10 {
  margin-top: 10px; }

.mt20 {
  margin-top: 20px; }

.mt30 {
  margin-top: 30px; }

.i-sh {
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3); }

/* Default
 * =================================================================================
**/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
input,
textarea,
p,
small,
address,
aside,
blockquote,
th,
td {
  font-family: YuGothic, "游ゴシック", 'Noto Sans JP',"メイリオ", Meiryo, Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  font-size: 16px;
  font-size: 1rem;
  color: #000;
  font-weight: 400;
  letter-spacing: 1px;
  z-index: 0;
  margin: 0;
  max-height: 100%;
  box-sizing: border-box; }
  @media screen and (max-width: 801px) {
    body,
    div,
    dl,
    dt,
    dd,
    ul,
    ol,
    li,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    pre,
    form,
    input,
    textarea,
    p,
    small,
    address,
    aside,
    blockquote,
    th,
    td {
      font-size: 15px;
      font-size: 0.9375rem;
      letter-spacing: 0; } }

html {
  overflow-y: scroll;
  box-sizing: border-box; }

body {
  line-height: 1.7;
  position: relative; }

ul {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }
  li img {
    vertical-align: bottom; }

a {
  color: inherit;
  cursor: pointer;
  backface-visibility: hidden;
  transition: opacity 0.5s linear; }
  a:hover {
    opacity: 0.8;
    text-decoration: none; }

img {
  vertical-align: bottom; }

@media screen and (min-width: 801px) {
  a[href^="tel:"] {
    pointer-events: none; } }
/* END:Default
 * =================================================================================
 */
/* Base Block Style
 * =================================================================================
**/
body {
  background: #fff; }

#section_pageHeader {
  margin: 0;
  padding: 0;
  position: relative; }

.pagenav, .cap-l-t3 {
  max-width: 100%;
  width: 1080px;
  margin: 0 auto;
  padding: 0;
  position: relative; }
  @media screen and (max-width: 1080px) {
    .pagenav, .cap-l-t3 {
      padding-left: 2%;
      padding-right: 2%; } }

.cap-l, .cap-l-t2, .cap-m, .cap-s, .boxwrap1, .boxwrap2, .boxwrap3, .to-buttonbox, .i1, .i2, .i3, .i4, .i5, .dibox, .dl-box1, .qabox, .stepbox, .to_bt {
  max-width: 1080px;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 801px) {
    .cap-l, .cap-l-t2, .cap-m, .cap-s, .boxwrap1, .boxwrap2, .boxwrap3, .to-buttonbox, .i1, .i2, .i3, .i4, .i5, .dibox, .dl-box1, .qabox, .stepbox, .to_bt {
      width: 100%; } }

/* END:Base Block Style
 * =================================================================================
**/
/* Print Style
 * =================================================================================
**/
@media print {
  h1 a {
    text-indent: 0; }

  #navi_main li a {
    text-indent: 0; }

  #navi_sub li a {
    text-indent: 0; } }
/* END:Default
 * =================================================================================
 */
/* Layout Style
 * =================================================================================
**/
/* Logo Style
 * =================================================================================
**/
#h-logo a {
  position: absolute;
  bottom: 25px;
  z-index: 1;
  display: inline-block;
  text-indent: -9999px;
  background: url(../img/fix/logo.png) no-repeat top 0 left;
  width: 284px;
  height: 46px;
  background-size: 100%; }
  @media screen and (max-width: 830px) {
    #h-logo a {
      width: 250px; } }

@media screen and (max-width: 801px) {
  #h-logo {
    margin-bottom: 0; }
    #h-logo a {
      position: relative;
      bottom: 0;
      margin-left: 10px; } }
/* END:Logo Style
 * =================================================================================
**/
#l-header {
  width: 1240px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1; }

@media screen and (max-width: 801px) {
  #l-header {
    z-index: auto;
    padding: 20px 0%;
    height: auto; } }
.h-nav {
  position: relative; }
  .h-nav__list {
    display: flex;
    align-items: center;
    justify-content: flex-end; }
  .h-nav__item {
    line-height: 1;
    transition: all 0.3s linear;
    margin: 0 20px;
    flex: 0 1 auto;
    line-height: 1;
    font-size: 18px;
    font-weight: bold;
    color: #000000; }
    .h-nav__item a {
      padding: 41px 0;
      color: inherit;
      display: block;
      text-decoration: none;
      position: relative; }
      .h-nav__item a::after {
        width: calc(100% + 30px);
        height: 4px;
        background: linear-gradient(to right, #2e6ff0, #0d2870);
        content: "";
        opacity: 0;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        display: block;
        transition: all 0.3s;
        pointer-events: none;
        bottom: 2px; }
      .h-nav__item a:hover::after {
        opacity: 1; }
    .h-nav__item--sp {
      display: none; }
  .h-nav__dropdown {
    width: 100%;
    padding: 23px 0 10px;
    position: absolute;
    max-height: none;
    display: none;
    left: 0;
    top: 100%;
    background-color: #2e4fcc; }
    .h-nav__dropdown__title {
      font-size: 18px;
      color: #ffffff;
      text-align: center;
      margin-bottom: 28px;
      font-weight: 700;
      font-family: 'Noto Sans JP',"メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN"; }
    .h-nav__dropdown__list {
      display: flex;
      flex-wrap: wrap; }
    .h-nav__dropdown__item {
      width: calc(25% - 4px);
      margin: 0 5.3px 5px 0; }
      .h-nav__dropdown__item:nth-child(4n) {
        margin-right: 0; }
      .h-nav__dropdown__item a {
        text-decoration: none;
        background: url(../img/fix/icon-dropdown.png) no-repeat left 10px center;
        font-weight: bold;
        background-color: #ffffff;
        color: #000000;
        font-size: 18px;
        display: block;
        padding: 18px 10px 18px 20px;
        transition: all 0.3s; }
        .h-nav__dropdown__item a:hover {
          opacity: 1;
          color: #2e4fcc; }
          .h-nav__dropdown__item a:hover::after {
            display: none; }
  .h-nav_spbutton {
    display: none; }

@media screen and (max-width: 1080px) {
  .h-nav__item {
    margin: 0 5px;
    font-size: 14px; } }
@media screen and (max-width: 801px) {
  .h-nav {
    position: fixed; }
    .h-nav__list {
      max-height: none;
      padding: 20px 0 0;
      max-width: 100%;
      text-align: left;
      width: 100%;
      display: block; }
    .h-nav__item {
      position: relative;
      padding-left: 0;
      text-align: left;
      line-height: 1;
      padding: 0;
      margin: 0 0 30px;
      font-size: 17px;
      letter-spacing: 0; }
      .h-nav__item > a {
        display: block;
        padding: 0 30px 0 10px;
        margin-bottom: 10px; }
        .h-nav__item > a::after {
          display: none; }
      .h-nav__item--sp {
        padding: 0;
        margin-top: 30px;
        display: block; }
      .h-nav__item--nodropdown .h-nav__spbutton {
        display: none; }
    .h-nav__dropdown {
      width: 100%;
      margin: 20px 0;
      padding: 10px 0 1px;
      position: relative;
      left: 0;
      top: 0;
      background-color: #2e4fcc; }
      .h-nav__dropdown__title {
        display: none; }
      .h-nav__dropdown__list {
        display: block; }
      .h-nav__dropdown__item {
        width: 100%;
        margin: 0 0 10px; }
        .h-nav__dropdown__item a {
          padding: 10px 10px 10px 20px; }
    .h-nav__spbutton {
      display: block;
      width: 30px;
      height: 30px;
      top: 0;
      border: none;
      background-color: #2e4fcc;
      position: absolute;
      right: 0; }
      .h-nav__spbutton::after {
        width: 5px;
        height: 5px;
        top: 10px;
        left: 0;
        right: 0;
        content: "";
        margin: 0 auto;
        position: absolute;
        transform: rotate(45deg);
        transition: all 0.3s;
        border-bottom: 2px solid #ffffff;
        border-right: 2px solid #ffffff; }
      .h-nav__spbutton--open::after {
        transform: rotate(225deg); } }
.h-subnav {
  border-bottom: 1px solid #cccccc;
  text-align: right;
  padding: 5px 0; }
  .h-subnav--sp {
    display: none; }
  .h-subnav__time, .h-subnav__tel {
    line-height: 1;
    vertical-align: middle;
    display: inline-block; }
  .h-subnav__time {
    margin-right: 30px;
    color: #333333;
    letter-spacing: 0; }
    .h-subnav__time__title {
      font-size: 13px;
      font-weight: 700; }
    .h-subnav__time__main {
      font-weight: bold;
      font-size: 22px;
      font-family: 'Noto Sans JP',"メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
      letter-spacing: 1.5px; }
  .h-subnav__tel {
    font-weight: bold;
    letter-spacing: 0;
    font-size: 29px;
    padding-left: 32px;
    font-weight: 900;
    font-family: "Century Gothic",'Lato','Noto Sans JP','Roboto',  Meiryo,YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
    background: url(../img/fix/tel.png) no-repeat left center; }

@media screen and (max-width: 801px) {
  .h-subnav {
    border-bottom: none;
    text-align: left;
    display: none;
    position: relative;
    margin: 0;
    top: 0;
    padding: 20px 0px 20px 0px;
    left: 0;
    right: auto;
    bottom: auto; }
    .h-subnav--sp {
      display: block; }
    .h-subnav__time, .h-subnav__tel {
      line-height: 1.6;
      display: block; }
    .h-subnav__time {
      margin: 0 0 20px;
      font-weight: 700; }
      .h-subnav__time__title, .h-subnav__time__main {
        text-align: center;
        display: block; }
      .h-subnav__time__title {
        font-size: 13px; }
      .h-subnav__time__main {
        font-weight: bold;
        font-size: 22px; }
    .h-subnav__tel {
      font-family: 'Cabin','Noto Sans JP',"メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
      font-weight: bold;
      letter-spacing: -1px;
      font-size: 29px;
      padding-left: 30px;
      background: url(../img/fix/tel.png) no-repeat center left;
      margin-left: 20px; } }
#pagetop-side {
  width: 52px;
  height: 57px;
  position: fixed;
  z-index: 100;
  bottom: 30px;
  right: 30px;
  text-indent: -9999px;
  background-image: url(../img/fix/pagetop.png);
  background-repeat: no-repeat;
  background-size: 100%;
  opacity: 1;
  transition: bottom 0.3s; }
  #pagetop-side:hover {
    bottom: 25px; }
  #pagetop-side p {
    width: 100%;
    height: 100%; }
    #pagetop-side p a {
      display: block;
      width: 100%;
      height: 100%; }
      #pagetop-side p a:hover {
        opacity: 1; }

#l-footer .inner {
  width: 1165px;
  padding-left: 2%;
  padding-right: 2%; }

.f-flex {
  padding: 58px 0 43px;
  background-color: #2e4fcc; }
  .f-flex__flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap; }
  .f-flex__map__text {
    color: #ffffff;
    font-size: 14px; }
  .f-flex__map__link {
    font-size: 15px;
    color: #ffffff;
    font-weight: bold;
    padding-left: 20px;
    background: url(../img/fix/icon-map.png) no-repeat center left; }
    .f-flex__map__link a {
      text-decoration: none;
      color: inherit; }
  .f-flex__address__tel, .f-flex__address__fax {
    font-weight: bold;
    font-size: 25px;
    color: #ffffff;
    padding-left: 50px;
    background-repeat: no-repeat;
    background-position: left 0 center; }
  .f-flex__address__number {
    font-style: normal;
    display: flex; }
  .f-flex__address__tel {
    background-image: url(../img/fix/icon-tel.png); }
  .f-flex__address__fax {
    margin-left: 20px;
    background-image: url(../img/fix/icon-fax.png); }
  .f-flex__address__text {
    text-align: center;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700; }
  .f-flex__item {
    flex: 0 1 auto;
    margin-bottom: 15px; }

.f-list {
  padding: 18px 0;
  display: flex;
  float: left; }
  .f-list__item {
    border-right: 1px solid #2e4fcc;
    padding-right: 10px;
    margin-right: 10px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: bold; }
    .f-list__item a {
      color: #000000;
      text-decoration: none; }

.f-copy {
  text-align: right;
  font-size: 10px;
  padding-top: 15px; }

@media screen and (max-width: 801px) {
  #pagetop-side {
    bottom: 5px;
    right: 5px; }

  .f-flex__flex {
    display: block; }
  .f-flex__address__number {
    display: block;
    margin-bottom: 15px; }
  .f-flex__address__fax {
    margin-left: 0; }
  .f-flex__address__text {
    text-align: left;
    color: #ffffff;
    font-size: 14px; }
  .f-flex__item {
    flex: 0 1 auto; }

  .f-list {
    padding: 18px 0;
    display: flex;
    flex-wrap: wrap;
    float: none;
    justify-content: space-between; }
    .f-list__item {
      width: 49%;
      border-right: none;
      padding-right: 0;
      margin: 0 0 20px; }
      .f-list__item a {
        color: #000000;
        text-decoration: none; }

  .f-copy {
    text-align: center;
    margin-bottom: 30px;
    padding-top: 0; }
    .f-copy a {
      text-decoration: none; } }
/* END:Layout Style
 * =================================================================================
**/
/* Top Page Style
 * =================================================================================
**/
.full-anchor a::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  content: ""; }

body[class*="wcedit"] .full-anchor a::after,
body[class*="wcarea"] .full-anchor a::after,
body[class*="wcselect"] .full-anchor a::after {
  display: none; }

.section-slide {
  position: relative;
  margin-bottom: 58px;
  border-top: 1px solid #eee; }

#topslide {
  position: relative; }
  #topslide div {
    max-height: none; }

.section-work {
  margin-bottom: 58px;
  overflow: hidden; }

.top-work__title {
  text-align: center;
  font-size: 30px;
  color: #000000;
  font-weight: bold;
  padding-top: 70px;
  margin-bottom: 60px;
  background: url(../img/top/icon-work.png) no-repeat top center; }
.top-work__bg {
  background-color: #ecf9fd;
  padding-bottom: 40px; }
.top-work__flex {
  display: flex;
  justify-content: space-between;
  transform: translateY(-25px);
  margin-bottom: 25px; }
  .top-work__flex__left {
    width: 60%; }
  .top-work__flex__right {
    width: 35%; }
  .top-work__flex__title {
    font-size: 28px;
    color: #2e4fcc;
    letter-spacing: 0;
    padding-bottom: 25px;
    font-weight: bold;
    position: relative;
    margin-bottom: 35px; }
    .top-work__flex__title::after {
      width: 60px;
      height: 3px;
      background-color: #2e6ff0;
      position: absolute;
      bottom: 0;
      left: 0;
      content: "";
      display: block; }
  .top-work__flex__text {
    font-weight: bold;
    line-height: 1.8;
    color: #000000;
    font-size: 17px;
    letter-spacing: 0.5px; }
.top-work__list {
  display: flex;
  flex-wrap: wrap; }
  .top-work__list__item {
    width: calc(33.33% - 20px);
    margin-left: 30px;
    margin-bottom: 20px; }
    .top-work__list__item a {
      background: url(../img/top/arrow-blue.png) no-repeat left 20px center;
      font-size: 18px;
      padding: 10px;
      font-weight: bold;
      box-shadow: 0px 4px 0px #b5e8f7;
      border-radius: 3px;
      text-align: center;
      color: #000000;
      background-color: #ffffff;
      text-decoration: none;
      display: block;
      transition: all 0.3s; }
      .top-work__list__item a:hover {
        color: #2e4fcc; }
    .top-work__list__item:nth-child(3n-2) {
      margin-left: 0; }

@media screen and (max-width: 1080px) {
  .top-work__flex__img img {
    max-width: 150%;
    height: auto; } }
@media screen and (max-width: 801px) {
  .top-work__title {
    text-align: center;
    font-size: 30px;
    color: #000000;
    font-weight: bold;
    padding-top: 70px;
    margin-bottom: 60px;
    background: url(../img/top/icon-work.png) no-repeat top center; }
  .top-work__bg {
    padding: 40px 0; }
  .top-work__flex {
    display: block;
    transform: none;
    margin-bottom: 47px; }
    .top-work__flex__left, .top-work__flex__right {
      width: 100%; }
    .top-work__flex__img img {
      max-width: 100%;
      height: auto; }
    .top-work__flex__text {
      margin-bottom: 20px; }
  .top-work__list {
    display: block; }
    .top-work__list__item {
      margin-left: 0;
      width: 100%; } }
body[class*="wcselect"] .top-work__list {
  display: block; }
  body[class*="wcselect"] .top-work__list > div {
    display: flex;
    flex-wrap: wrap; }

.section-recruit {
  margin-bottom: 93px;
  overflow: hidden; }

.top-recruit__title {
  text-align: center;
  font-size: 30px;
  color: #000000;
  font-weight: bold;
  padding-top: 70px;
  margin-bottom: 60px;
  background: url(../img/top/icon-work.png) no-repeat top center; }
  .top-recruit__title.comp {
    background: url(../img/top/icon-recruit.png) no-repeat top center; }
.top-recruit__bg {
  background-color: #ecf9fd;
  padding-bottom: 18px; }
.top-recruit__flex {
  display: flex;
  justify-content: space-between;
  transform: translateY(-25px); }
  .top-recruit__flex__left {
    width: 60%; }
  .top-recruit__flex__right {
    width: 35%; }
  .top-recruit__flex__title {
    font-size: 28px;
    color: #2e4fcc;
    letter-spacing: 0;
    padding-bottom: 25px;
    font-weight: bold;
    position: relative;
    margin-bottom: 35px; }
    .top-recruit__flex__title::after {
      width: 60px;
      height: 3px;
      background-color: #2e6ff0;
      position: absolute;
      bottom: 0;
      left: 0;
      content: "";
      display: block; }
  .top-recruit__flex__text {
    font-weight: bold;
    line-height: 1.8;
    color: #000000;
    font-size: 18px;
    margin-bottom: 45px; }
  .top-recruit__flex__link a {
    position: relative;
    padding: 7px 40px;
    background: linear-gradient(to right, #2e6ff0, #2e4fcc);
    text-decoration: none;
    color: #ffffff;
    font-weight: bold;
    font-size: 18px;
    display: inline-block;
    border-radius: 30px;
    box-shadow: 0 4px 0 #cccccc; }
    .top-recruit__flex__link a::before {
      background: url(../img/top/arrow-white.png);
      width: 8px;
      height: 8px;
      top: 0;
      position: absolute;
      bottom: 0;
      margin: auto 0;
      left: 20px;
      content: "";
      display: inline-block; }

@media screen and (max-width: 1080px) {
  .top-recruit__flex__img img {
    max-width: 150%;
    height: auto; } }
@media screen and (max-width: 801px) {
  .section-recruit {
    margin-bottom: 40px; }

  .top-recruit__bg {
    padding: 40px 0; }
  .top-recruit__flex {
    display: block;
    transform: none; }
    .top-recruit__flex__left, .top-recruit__flex__right {
      width: 100%; }
    .top-recruit__flex__img img {
      max-width: 100%;
      height: auto; }
    .top-recruit__flex__text {
      margin-bottom: 45px; }
    .top-recruit__flex__link {
      text-align: center;
      margin-bottom: 30px; } }
.section-news {
  margin-bottom: 95px; }

.top-news .inner {
  width: 800px; }
.top-news__flex {
  justify-content: space-between;
  display: flex;
  align-items: flex-start; }
.top-news__title {
  font-size: 22px;
  font-weight: bold;
  padding-bottom: 14px;
  color: #000000;
  margin-top: 30px;
  position: relative;
  flex-shrink: 0; }
  .top-news__title::after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #2e6ff0, #2e4fcc);
    content: ""; }
.top-news__list {
  padding-left: 50px;
  width: 100%;
  max-height: 400px;
  overflow: auto; }
.top-news__item {
  padding: 26px 0;
  border-top: 1px dashed #cccccc;
  display: flex; }
  .top-news__item:last-child {
    border-bottom: 1px dashed #cccccc; }
  .top-news__item__title {
    font-size: 15px;
    width: 18%;
    color: #000000;
    letter-spacing: 0; }
  .top-news__item__text {
    font-size: 16px;
    width: 82%; }

@media screen and (max-width: 801px) {
  .section-news {
    margin-bottom: 40px; }

  .top-news__flex {
    display: block; }
  .top-news__title {
    text-align: center;
    margin: 0 0 40px; }
    .top-news__title::after {
      left: 0;
      right: 0;
      margin: 0 auto;
      width: 100px; }
  .top-news__list {
    padding-left: 0; }
  .top-news__item {
    padding: 20px 0;
    display: block; }
    .top-news__item__title, .top-news__item__text {
      width: 100%; }
    .top-news__item__title {
      margin-bottom: 10px; } }
.section-banner {
  margin-bottom: 40px; }
  .section-banner .top-banner {
    margin-bottom: 0; }

.top-banner {
  margin: 0; }

/* END:Top Page Style
 * =================================================================================
**/
/* PageHeader Style
 * =================================================================================
**/
.arrow, .pagenav ul li:after, .block-listed p:before, .block-listed p:after, .block-listed dl:before, .block-listed dl:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle; }

.triangle, .title-navi ul li a:before {
  content: "";
  box-sizing: border-box;
  width: 4px;
  height: 4px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 4px solid transparent;
  border-left: 4px solid #fff; }

#title-wrap {
  background: #00c9fa;
  background: #2E6FF0;
  background: linear-gradient(to right, #2E6FF0, #2E4FCC); }

.wrap-titlebox {
  padding-top: 50px;
  padding-bottom: 30px; }
  @media screen and (max-width: 1080px) {
    .wrap-titlebox {
      padding-top: 40px;
      padding-bottom: 20px; } }
  @media screen and (max-width: 801px) {
    .wrap-titlebox {
      padding-top: 30px;
      padding-bottom: 20px; } }

@media screen and (max-width: 1080px) {
  #title {
    padding: 0px 5%; } }
#title h2 {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  position: relative;
  text-align: center;
  color: #fff; }
  @media screen and (max-width: 801px) {
    #title h2 {
      font-size: 20px; } }

.title-navi ul {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  padding-bottom: 20px; }
  .title-navi ul li {
    -ms-flex: 1 1 25%;
    flex: 0 0 25%;
    background: #fff;
    border-right: 1px solid #ddd;
    box-shadow: 0px 3px 0 rgba(0, 153, 102, 0.3);
    font-size: 15px;
    font-size: 0.9375rem;
    letter-spacing: 0; }
    .title-navi ul li:hover {
      transform: translateY(-3px);
      opacity: 1.0; }
    .title-navi ul li a {
      padding: 10px 34px;
      text-decoration: none;
      transition: all 0.3s;
      position: relative;
      display: block;
      color: #2E4FCC;
      text-align: center;
      font-weight: bold; }
      .title-navi ul li a:before {
        right: 10px;
        border-left-color: #2E4FCC;
        z-index: 1;
        transform: rotate(90deg); }
      @media screen and (max-width: 801px) {
        .title-navi ul li a {
          padding: 4px 24px; } }
    .title-navi ul li:nth-child(n + 5) {
      border-top: 1px solid #ddd; }
@media screen and (max-width: 1080px) {
  .title-navi ul {
    padding: 0 2% 20px; } }
@media screen and (max-width: 801px) {
  .title-navi ul {
    padding: 0 2% 10px;
    justify-content: flex-start; }
    .title-navi ul li {
      -ms-flex: 1 1 50%;
      flex: 0 0 50%;
      letter-spacing: 0;
      background: #fff;
      font-size: 14px;
      font-size: 0.875rem; }
      .title-navi ul li a {
        padding: 6px 16px 6px 10px;
        box-shadow: unset; }
      .title-navi ul li:nth-child(n + 3) {
        border-top: 1px solid #ddd; } }

.pagenav {
  padding-top: 15px;
  padding-bottom: 5px; }
  @media screen and (max-width: 801px) {
    .pagenav {
      padding-top: 0;
      padding-bottom: 3px; } }
  .pagenav ul {
    float: right;
    margin-left: 2%; }
    .pagenav ul li {
      font-size: 13px;
      font-size: 0.8125rem;
      padding-right: 15px;
      float: left;
      position: relative; }
      .pagenav ul li:after {
        left: auto;
        right: 5px;
        width: 5px;
        height: 5px;
        border-top: 1px solid #ECF9FD;
        border-right: 1px solid #ECF9FD;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      .pagenav ul li:last-child:after {
        content: none; }

.container {
  margin: 0 auto;
  padding: 0px 0 30px; }
  @media screen and (max-width: 1080px) {
    .container {
      padding-right: 2%;
      padding-left: 2%; } }
  @media screen and (max-width: 801px) {
    .container {
      padding: 0 2% 80px; } }

/* END:PageHeader Style
 * =================================================================================
**/
/* Main Contents Style
 * =================================================================================
**/
.l-container,
#contents {
  width: 1065px;
  max-width: 100%;
  margin: 0 auto; }

.inner {
  width: 1065px;
  max-width: 100%;
  margin: 0 auto; }

@media screen and (max-width: 801px) {
  #contents, .inner {
    width: 100%;
    padding: 0 4%; } }
#section_pageHeader {
  position: relative;
  margin-bottom: 40px; }
  @media screen and (max-width: 801px) {
    #section_pageHeader {
      margin-bottom: 10px; } }

/* END:Main Contents Style
 * =================================================================================
**/
/* Generic Layout Style
 * =================================================================================
**/
.cap-l, .cap-l-t2, .cap-l-t2 h2, .cap-m, .cap-s, .cap-l-t3 {
  margin: 0 auto 40px; }
  @media screen and (max-width: 801px) {
    .cap-l, .cap-l-t2, .cap-l-t2 h2, .cap-m, .cap-s, .cap-l-t3 {
      margin: 0 auto 32px; } }

.cap-l {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  padding: 8px;
  text-align: center; }

.cap-l-t2 {
  text-align: center;
  position: relative;
  font-weight: 700;
  margin-bottom: 10px; }
  .cap-l-t2 h2 {
    font-size: 28px;
    padding-top: 40px;
    text-align: center;
    display: block;
    position: relative;
    font-weight: 700; }
    @media screen and (max-width: 801px) {
      .cap-l-t2 h2 {
        font-size: 24px;
        font-size: 1.5rem;
        padding-top: 30px; } }
  .cap-l-t2.clt1 h2::before {
    display: block;
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    width: 38px;
    height: 42px;
    background-size: 100%;
    opacity: 1.0;
    z-index: -1; }
    @media screen and (max-width: 801px) {
      .cap-l-t2.clt1 h2::before {
        width: 28px; } }
  .cap-l-t2.clt1 h2.tal {
    text-align: left;
    padding-left: 60px;
    padding-top: 0px; }
    @media screen and (max-width: 801px) {
      .cap-l-t2.clt1 h2.tal {
        padding-left: 32px; } }
    .cap-l-t2.clt1 h2.tal::before {
      right: auto;
      bottom: 0; }
  .cap-l-t2.clt2 h2, .cap-l-t2.clt3 h2 {
    display: inline-block;
    padding: 30px 0 0;
    font-weight: bold; }
    .cap-l-t2.clt2 h2:after, .cap-l-t2.clt3 h2:after {
      content: "";
      width: 70px;
      height: 5px;
      border-radius: 10px;
      background: linear-gradient(to right, #2E6FF0, #2E4FCC);
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      margin: auto;
      display: inline-block; }
  .cap-l-t2.clt3 h2:after {
    background: linear-gradient(to right, #009966, #2E4FCC); }

.cap-m {
  position: relative;
  text-align: center;
  line-height: 1.5; }
  .cap-m h3 {
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: bold;
    position: relative; }
    @media screen and (max-width: 801px) {
      .cap-m h3 {
        font-size: 22px;
        font-size: 1.375rem; } }
  .cap-m.cm-2 {
    text-align: left; }
    .cap-m.cm-2 h3 {
      border: none;
      padding: 0 0 0 20px; }
      .cap-m.cm-2 h3:before {
        content: "";
        width: 6px;
        height: 100%;
        border-radius: 10px;
        background: #2e4fcc;
        position: absolute;
        top: 0;
        left: -0;
        bottom: 0;
        margin: auto; }
  .cap-m.cm-3 {
    color: #2E4FCC;
    text-align: left; }
    .cap-m.cm-3 h3 {
      border-bottom: 2px solid #ccc; }
    .cap-m.cm-3::before {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0px;
      width: 20%;
      height: 2px;
      border-bottom: 2px solid #2E4FCC;
      z-index: 1; }

.cap-s h4 {
  font-size: 18px;
  font-weight: 700;
  position: relative; }
  @media screen and (max-width: 801px) {
    .cap-s h4 {
      font-size: 17px; } }
.cap-s.cs-1 h4 {
  padding: 10px 20px;
  background: #eee;
  color: #000; }
  @media screen and (max-width: 801px) {
    .cap-s.cs-1 h4 {
      padding: 7px 20px; } }
.cap-s.cs-2 h4 {
  position: relative;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif; }
.cap-s.cs-3 h4 {
  padding-left: 28px; }
  .cap-s.cs-3 h4:before {
    content: '';
    display: block;
    position: absolute;
    top: 13px;
    left: 0px;
    margin: auto;
    height: 3px;
    width: 20px;
    background: linear-gradient(to right, #2E6FF0, #2E4FCC); }

.cap-l-t3 {
  /*news title*/ }
  .cap-l-t3 h2 {
    margin-top: 0px;
    font-weight: 700;
    font-size: 20px;
    font-size: 1.25rem; }
  .cap-l-t3 p {
    padding-top: 6px;
    border-top: 1px solid #2E4FCC;
    margin-top: 8px;
    font-family: 'Noto Sans JP',"メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
    font-size: 13px;
    color: #2E6FF0; }
  @media screen and (max-width: 801px) {
    .cap-l-t3 h2 {
      font-size: 15px; }
    .cap-l-t3 p {
      text-align: right; } }

/*Block style*/
.boxwrap0 {
  margin-bottom: 80px; }
  @media screen and (max-width: 801px) {
    .boxwrap0 {
      margin-bottom: 40px; } }

.boxwrap1, .boxwrap2, .boxwrap3, .to-buttonbox {
  margin-bottom: 80px;
  position: relative; }
  @media screen and (max-width: 801px) {
    .boxwrap1, .boxwrap2, .boxwrap3, .to-buttonbox {
      margin-bottom: 40px; } }
  @media screen and (max-width: 801px) {
    .boxwrap1 > img, .boxwrap2 > img, .boxwrap3 > img, .to-buttonbox > img {
      margin-bottom: 10px; }
    .boxwrap1 img.il, .boxwrap2 img.il, .boxwrap3 img.il, .to-buttonbox img.il {
      display: block;
      float: none;
      margin: 0;
      margin-bottom: 10px;
      width: 100%;
      height: auto; }
    .boxwrap1 img.ir, .boxwrap2 img.ir, .boxwrap3 img.ir, .to-buttonbox img.ir {
      margin: 0;
      margin-bottom: 10px;
      width: 100%;
      height: auto; }
    .boxwrap1 .img-twins.img img, .boxwrap2 .img-twins.img img, .boxwrap3 .img-twins.img img, .to-buttonbox .img-twins.img img {
      width: 100%;
      height: auto; } }

.boxwrap2 {
  padding: 32px;
  bordetop: 3px solid #2E4FCC;
  background: #ECF9FD;
  line-height: 1.9;
  border-bottom: 2px solid #ccc; }
  .boxwrap2 .cap-m, .boxwrap2 .cap-s {
    margin: 0 0 10px 0; }

.boxwrap3 img.il {
  margin-right: 24px; }
  @media screen and (max-width: 801px) {
    .boxwrap3 img.il {
      margin-right: 0; } }
.boxwrap3 img.ir {
  margin-left: 24px; }
  @media screen and (max-width: 801px) {
    .boxwrap3 img.ir {
      margin-left: 0; } }

.imgfull {
  margin-bottom: 80px;
  text-align: center; }
  @media screen and (max-width: 801px) {
    .imgfull {
      margin-bottom: 40px; } }
  @media screen and (max-width: 1080px) {
    .imgfull {
      margin-bottom: 10px; }
      .imgfull img {
        max-width: 100%;
        height: auto; } }

.ir {
  margin-left: 16px; }

.il {
  margin-right: 16px; }

@media screen and (max-width: 801px) {
  .ir, .il {
    max-width: 100%;
    height: auto;
    margin: 0 auto 8px auto;
    float: none;
    text-align: center;
    display: block; } }

.i1, .i2, .i3, .i4, .i5 {
  margin-bottom: 80px; }
  @media screen and (max-width: 801px) {
    .i1, .i2, .i3, .i4, .i5 {
      margin-bottom: 40px; } }
  .i1 .in-wrap, .i2 .in-wrap, .i3 .in-wrap, .i4 .in-wrap, .i5 .in-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap; }
    .i1 .in-wrap div, .i2 .in-wrap div, .i3 .in-wrap div, .i4 .in-wrap div, .i5 .in-wrap div {
      margin: 0 2% 20px 0;
      text-align: center; }
      .i1 .in-wrap div figure, .i2 .in-wrap div figure, .i3 .in-wrap div figure, .i4 .in-wrap div figure, .i5 .in-wrap div figure {
        padding: 0;
        margin: 0; }
        .i1 .in-wrap div figure figcaption, .i2 .in-wrap div figure figcaption, .i3 .in-wrap div figure figcaption, .i4 .in-wrap div figure figcaption, .i5 .in-wrap div figure figcaption {
          font-size: 14px;
          font-size: 0.875rem; }
      .i1 .in-wrap div img, .i2 .in-wrap div img, .i3 .in-wrap div img, .i4 .in-wrap div img, .i5 .in-wrap div img {
        margin-bottom: 8px; }
  .no-borderradius .i1 .in-wrap, .no-borderradius .i2 .in-wrap, .no-borderradius .i3 .in-wrap, .no-borderradius .i4 .in-wrap, .no-borderradius .i5 .in-wrap {
    margin-right: -2%; }
    .no-borderradius .i1 .in-wrap div, .no-borderradius .i2 .in-wrap div, .no-borderradius .i3 .in-wrap div, .no-borderradius .i4 .in-wrap div, .no-borderradius .i5 .in-wrap div {
      float: left;
      margin-right: 1%; }
  .no-flexbox .i1 div, .no-flexbox .i2 div, .no-flexbox .i3 div, .no-flexbox .i4 div, .no-flexbox .i5 div {
    float: left; }

.i1 {
  margin: 0 auto 40px; }
  .i1 .i1div {
    width: 100%; }
    .i1 .i1div:nth-child(1n) {
      margin-right: 0; }
  .i1.btcap div img {
    margin-bottom: 0; }

.i1.boxwrap-w {
  margin: 40px 0; }

@media screen and (max-width: 1080px) {
  .i1div img {
    max-width: 100%;
    height: auto; }

  .in-wrap {
    display: block; }
    .in-wrap .i2div,
    .in-wrap .i3div {
      width: 100%; }
      .in-wrap .i2div img,
      .in-wrap .i3div img {
        max-width: 100%;
        height: auto; }
    .in-wrap .i4div {
      width: 49%; }
      .in-wrap .i4div img {
        max-width: 100%;
        height: auto; } }
.i2 {
  margin: 0 auto 40px; }
  .i2 .i2div {
    width: 47.5%; }
    .i2 .i2div:nth-child(2n) {
      margin-right: 0; }
  .i2.btcap div img {
    margin-bottom: 0; }

.i2.boxwrap-w {
  margin: 40px 0; }

@media screen and (max-width: 1080px) {
  .i2div img {
    max-width: 100%;
    height: auto; }

  .in-wrap {
    display: block; }
    .in-wrap .i2div,
    .in-wrap .i3div {
      width: 100%; }
      .in-wrap .i2div img,
      .in-wrap .i3div img {
        max-width: 100%;
        height: auto; }
    .in-wrap .i4div {
      width: 49%; }
      .in-wrap .i4div img {
        max-width: 100%;
        height: auto; } }
.i3 {
  margin: 0 auto 40px; }
  .i3 .i3div {
    width: 31.5%; }
    .i3 .i3div:nth-child(3n) {
      margin-right: 0; }
  .i3.btcap div img {
    margin-bottom: 0; }

.i3.boxwrap-w {
  margin: 40px 0; }

@media screen and (max-width: 1080px) {
  .i3div img {
    max-width: 100%;
    height: auto; }

  .in-wrap {
    display: block; }
    .in-wrap .i2div,
    .in-wrap .i3div {
      width: 100%; }
      .in-wrap .i2div img,
      .in-wrap .i3div img {
        max-width: 100%;
        height: auto; }
    .in-wrap .i4div {
      width: 49%; }
      .in-wrap .i4div img {
        max-width: 100%;
        height: auto; } }
.i4 {
  margin: 0 auto 40px; }
  .i4 .i4div {
    width: 23.5%; }
    .i4 .i4div:nth-child(4n) {
      margin-right: 0; }
  .i4.btcap div img {
    margin-bottom: 0; }

.i4.boxwrap-w {
  margin: 40px 0; }

@media screen and (max-width: 1080px) {
  .i4div img {
    max-width: 100%;
    height: auto; }

  .in-wrap {
    display: block; }
    .in-wrap .i2div,
    .in-wrap .i3div {
      width: 100%; }
      .in-wrap .i2div img,
      .in-wrap .i3div img {
        max-width: 100%;
        height: auto; }
    .in-wrap .i4div {
      width: 49%; }
      .in-wrap .i4div img {
        max-width: 100%;
        height: auto; } }
.i5 {
  margin: 0 auto 40px; }
  .i5 .i5div {
    width: 18.4%; }
    .i5 .i5div:nth-child(5n) {
      margin-right: 0; }
  .i5.btcap div img {
    margin-bottom: 0; }

.i5.boxwrap-w {
  margin: 40px 0; }

@media screen and (max-width: 1080px) {
  .i5div img {
    max-width: 100%;
    height: auto; }

  .in-wrap {
    display: block; }
    .in-wrap .i2div,
    .in-wrap .i3div {
      width: 100%; }
      .in-wrap .i2div img,
      .in-wrap .i3div img {
        max-width: 100%;
        height: auto; }
    .in-wrap .i4div {
      width: 49%; }
      .in-wrap .i4div img {
        max-width: 100%;
        height: auto; } }
.i2 .in-wrap div {
  margin-right: 5%; }
  @media screen and (max-width: 801px) {
    .i2 .in-wrap div {
      margin-right: 0;
      margin-bottom: 20px;
      width: 100%; } }

.i3 .in-wrap div {
  margin-right: 2.75%;
  margin-bottom: 20px; }
  @media screen and (max-width: 801px) {
    .i3 .in-wrap div {
      margin-right: 0;
      margin-bottom: 20px;
      width: 100%; } }

.i4 .in-wrap div {
  margin-right: 2%;
  margin-bottom: 20px; }
@media screen and (max-width: 801px) {
  .i4 .in-wrap div {
    margin-right: 2%;
    margin-bottom: 8px;
    width: 49%; }
    .i4 .in-wrap div:nth-child(2n) {
      margin-right: 0; } }

.i5 .in-wrap div {
  margin-bottom: 10px; }
  @media screen and (max-width: 801px) {
    .i5 .in-wrap div .in-wrap .i5div {
      margin-right: 2%;
      margin-bottom: 8px;
      border: solid 1px #CECEBF;
      padding: 24px;
      width: 49%; }
      .i5 .in-wrap div .in-wrap .i5div:nth-child(2n) {
        margin-right: 0; } }

.i-sh {
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3); }

.line-hr {
  margin-bottom: 80px; }
  @media screen and (max-width: 801px) {
    .line-hr {
      margin-bottom: 40px; } }
  .line-hr hr {
    height: 1px;
    overflow: hidden;
    border: none;
    border-bottom: dotted 1px #2E4FCC; }

.noline-hr {
  margin-bottom: 80px; }
  @media screen and (max-width: 801px) {
    .noline-hr {
      margin-bottom: 40px; } }
  .noline-hr hr {
    height: 1px;
    overflow: hidden;
    border: none; }

/* 汎用テーブルレイアウト
 * =================================================================================
 */
.dibox {
  margin: 30px auto; }
  @media screen and (max-width: 801px) {
    .dibox {
      width: 100%;
      overflow-x: auto; }
      .dibox table {
        min-width: 680px; } }

.tb-box1, .tb-box1-2, .tb-box2, .tb-box3, .tb-box4, .tb-box6 {
  width: 100%;
  table-layout: auto;
  margin: 0;
  border-collapse: collapse;
  border-top: 1px solid #CECEBF;
  border-left: 1px solid #CECEBF; }
  @media screen and (max-width: 801px) {
    .tb-box1, .tb-box1-2, .tb-box2, .tb-box3, .tb-box4, .tb-box6 {
      min-width: 640px; } }
  .tb-box1 th, .tb-box1-2 th, .tb-box2 th, .tb-box3 th, .tb-box4 th, .tb-box6 th {
    padding: 10px 10px;
    border-bottom: 1px solid #CECEBF;
    border-right: 1px solid #CECEBF;
    font-size: 15px;
    font-size: 0.9375rem;
    background: #e5f4ff;
    line-height: 1.5;
    border-bottom: 1px solid #CECEBF; }
    .tb-box1 th.hd_bggr, .tb-box1-2 th.hd_bggr, .tb-box2 th.hd_bggr, .tb-box3 th.hd_bggr, .tb-box4 th.hd_bggr, .tb-box6 th.hd_bggr {
      background: #2E4FCC;
      color: #fff;
      border-bottom: 1px solid #CECEBF; }
  .tb-box1 td, .tb-box1-2 td, .tb-box2 td, .tb-box3 td, .tb-box4 td, .tb-box6 td {
    padding: 10px 10px;
    border-bottom: 1px solid #CECEBF;
    border-right: 1px solid #CECEBF;
    font-size: 15px;
    font-size: 0.9375rem;
    background-color: #fff;
    line-height: 1.5; }
  .tb-box1 th.th_col, .tb-box1-2 th.th_col, .tb-box2 th.th_col, .tb-box3 th.th_col, .tb-box4 th.th_col, .tb-box6 th.th_col {
    background: #fdfafa;
    background: #eee; }

.tb-box1 th {
  width: 30%; }
.tb-box1 th.th-01 {
  width: 70%; }
.tb-box1 td {
  width: 70%; }
.tb-box1 td.td-01 {
  width: 30%; }

.tb-box1-2 th {
  width: 50%; }
.tb-box1-2 td {
  width: 50%; }

.tb-box2 th {
  width: 33%; }
.tb-box2 td {
  width: 33%; }
.tb-box2 th.wp60, .tb-box2 td.wp60 {
  width: 60%; }
.tb-box2 th.wp20, .tb-box2 td.wp20 {
  width: 20%; }

.tb-box3 th {
  width: 20%; }
.tb-box3 td {
  width: 20%; }

.tb-box4 td.hp {
  text-align: center; }
  .tb-box4 td.hp .bt-more {
    margin: 0; }

.tb-box6 th {
  width: calc(100% / 6); }
.tb-box6 td {
  width: calc(100% / 6); }

.dl-box1 {
  margin-bottom: 80px;
  display: block; }
  @media screen and (max-width: 801px) {
    .dl-box1 {
      margin-bottom: 40px; } }
  .dl-box1 dl {
    display: table;
    width: 100%;
    border-top: 1px dotted #333; }
    .dl-box1 dl dt, .dl-box1 dl dd {
      display: table-cell;
      position: relative; }
    .dl-box1 dl dt {
      width: 25%;
      padding: 16px 2%;
      margin-right: 1%;
      font-weight: bold; }
      .dl-box1 dl dt:after {
        position: absolute;
        top: -1px;
        left: 0;
        content: '';
        display: block;
        width: 100%;
        height: 1px;
        border-radius: 999px;
        background: #2E4FCC; }
    .dl-box1 dl dd {
      width: 75%;
      padding: 16px 1%;
      text-align: left; }
  @media screen and (max-width: 801px) {
    .dl-box1 dl {
      display: block;
      min-width: 0; }
      .dl-box1 dl dt, .dl-box1 dl dd {
        padding: 10px 2%;
        width: 100%;
        display: block; }
      .dl-box1 dl dt {
        background: #f1f1f1; }
      .dl-box1 dl dt:after {
        border-color: #CECEBF; }
      .dl-box1 dl dd:after {
        border-color: #282828; } }

.to-buttonbox {
  display: flex;
  flex-direction: row-reverse; }
  .to-buttonbox .to-bt2 {
    margin-left: 16px;
    margin-bottom: 16px;
    flex-shrink: 0; }
  .to-buttonbox p.txt {
    margin-right: auto; }
  .to-buttonbox .block-listed {
    width: 75%;
    display: -ms-flexbox;
    display: flex;
    align-items: center; }
    .to-buttonbox .block-listed p {
      font-weight: bold; }
  @media screen and (max-width: 801px) {
    .to-buttonbox {
      flex-flow: column-reverse; }
      .to-buttonbox .to-bt2 {
        margin-left: 0px;
        width: 100%;
        margin-top: 10px; }
        .to-buttonbox .to-bt2 a {
          display: block; }
      .to-buttonbox .block-listed {
        width: 100%; } }
  @media screen and (max-width: 801px) {
    .to-buttonbox .to-bt2 {
      float: none;
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; }
      .to-buttonbox .to-bt2 p {
        width: 100%; }
        .to-buttonbox .to-bt2 p a {
          width: 100%;
          box-sizing: border-box; } }

.wrap-2cbt ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap; }
  .wrap-2cbt ul li {
    width: 45%;
    margin: 0 2.5% 30px 2.5%; }
    .wrap-2cbt ul li p {
      width: 100%; }
      .wrap-2cbt ul li p a {
        display: block; }

@media screen and (max-width: 801px) {
  .i4 .in-wrap div.to-bt2 {
    width: 100%; } }
.to-bt2 {
  text-align: right; }
  .to-bt2 p {
    padding: 0;
    margin: 0;
    font-weight: 700; }
    .to-bt2 p a {
      display: inline-block;
      padding: 8px 24px 8px 24px;
      text-align: center;
      color: #535353;
      border: #bbb 1px solid;
      border-radius: 2px;
      text-decoration: none;
      transition: all 0.6s;
      position: relative;
      background: linear-gradient(to bottom, #fff, #ddd); }
      .to-bt2 p a:before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 10px;
        bottom: 0;
        margin: auto;
        width: 31px;
        height: 36px; }
      .to-bt2 p a::after {
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        content: "";
        right: 12px;
        width: 4px;
        height: 4px;
        border-top: 2px solid #666;
        border-right: 2px solid #666;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      .to-bt2 p a:hover {
        background: linear-gradient(to bottom, #ddd, #fff); }
      .to-bt2 p a[href*=".pdf"] {
        padding: 8px 30px 8px 44px; }
        .to-bt2 p a[href*=".pdf"]:before {
          background: url("../img/fix/icon-pdf-m.svg") no-repeat left center;
          background-size: 24px 24px; }
      .to-bt2 p a[href*=".doc"] {
        padding: 8px 30px 8px 44px; }
        .to-bt2 p a[href*=".doc"]:before {
          width: 31px;
          height: 36px;
          background: url("../img/fix/icon-word-m.svg") no-repeat left center;
          background-size: 24px 24px; }
      .to-bt2 p a[href*=".docx"] {
        padding: 8px 30px 8px 44px; }
        .to-bt2 p a[href*=".docx"]:before {
          width: 31px;
          height: 36px;
          background: url("../img/fix/icon-word-m.svg") no-repeat left center;
          background-size: 24px 24px; }
      .to-bt2 p a[href*=".xls"] {
        padding: 8px 30px 8px 44px; }
        .to-bt2 p a[href*=".xls"]:before {
          background: url("../img/fix/icon-xcel-m.svg") no-repeat left center;
          background-size: 24px 24px; }
      .to-bt2 p a[href*=".xlsx"] {
        padding: 8px 30px 8px 44px; }
        .to-bt2 p a[href*=".xlsx"]:before {
          background: url("../img/icon-xcel-m.svg") no-repeat left center;
          background-size: 24px 24px; }

.qabox {
  margin: 40px auto;
  overflow: hidden; }
  .qabox dl {
    margin: 0 0 30px; }
    .qabox dl dt, .qabox dl dd {
      position: relative; }
      .qabox dl dt:before, .qabox dl dd:before {
        display: block;
        position: absolute;
        top: 0;
        font-size: 30px;
        font-size: 1.875rem; }
    .qabox dl dt {
      color: #0D2870;
      margin-bottom: 10px;
      padding: 10px 0 10px 55px;
      font-weight: 700;
      position: relative; }
      .qabox dl dt:before {
        font-family: 'Arial';
        content: 'Q';
        font-weight: 300;
        color: #fff;
        background: #2E4FCC;
        left: 0px;
        font-size: 24px;
        width: 40px;
        height: 40px;
        text-align: center;
        line-height: 40px;
        border-radius: 50%; }
      .qabox dl dt p {
        position: absolute;
        top: 50%;
        right: 0;
        margin-top: -8px;
        z-index: 10; }
    .containerbox .qabox dl {
      padding: 0; }

.show_more {
  cursor: pointer; }
  .show_more dd {
    display: none; }

.stepbox {
  margin: 40px auto;
  overflow: hidden; }
  .stepbox ul {
    padding: 0; }
    .stepbox ul li {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      width: 100%;
      position: relative;
      padding-bottom: 30px; }
      .stepbox ul li:after {
        content: "";
        height: 100%;
        width: 1px;
        position: absolute;
        top: 0;
        left: 36px;
        background: #CECEBF;
        display: block;
        z-index: -1; }
      .stepbox ul li .left, .stepbox ul li .il, .stepbox ul li .right, .stepbox ul li .ir {
        position: relative; }
      .stepbox ul li .left, .stepbox ul li .il {
        width: 8%;
        color: #fff;
        text-align: center;
        vertical-align: top;
        min-width: 60px; }
        .stepbox ul li .left p, .stepbox ul li .il p {
          margin-top: 16px; }
        .stepbox ul li .left h2, .stepbox ul li .il h2 {
          font-family: 'Unna', serif;
          padding-top: 15px;
          color: #fff;
          background: linear-gradient(to right bottom, #0D2870 5%, #2E4FCC);
          border-radius: 50%;
          line-height: 1.3;
          font-size: 32px;
          width: 72px;
          height: 72px; }
          .stepbox ul li .left h2 .step, .stepbox ul li .il h2 .step {
            font-family: 'Unna', serif;
            font-size: 12px;
            display: block;
            font-family: 'Noto Sans JP',"メイリオ", Meiryo,'Roboto', Helvetica Neue, Helvetica, YuGothic, "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN"; }
        .stepbox ul li .left
        .sub-box-wide2, .stepbox ul li .il
        .sub-box-wide2 {
          box-sizing: border-box; }
      .stepbox ul li .right, .stepbox ul li .ir {
        width: 92%;
        max-width: calc(100% - 60px); }
        .stepbox ul li .right h3, .stepbox ul li .ir h3, .stepbox ul li .right .stepbox-maintxt, .stepbox ul li .ir .stepbox-maintxt, .stepbox ul li .right .stepbox-subtxt, .stepbox ul li .ir .stepbox-subtxt {
          margin: 0 0 1% 3%; }
        .stepbox ul li .right h3, .stepbox ul li .ir h3 {
          font-size: 18px;
          font-size: 1.125rem;
          line-height: 1.7;
          font-weight: 700;
          color: #0D2870;
          margin-top: 8px; }
        .stepbox ul li .right .stepbox-maintxt img, .stepbox ul li .ir .stepbox-maintxt img {
          float: right; }
        .stepbox ul li .right .i3, .stepbox ul li .ir .i3 {
          margin-bottom: 20px; }
      .stepbox ul li:last-child:after {
        border: none;
        display: none; }
      @media screen and (max-width: 801px) {
        .stepbox ul li .left h2, .stepbox ul li .il h2 {
          width: 60px;
          height: 60px;
          line-height: 1;
          font-size: 30px;
          font-size: 1.875rem; }
        .stepbox ul li:after {
          left: 30px; } }

.block-listed p, .block-listed dl {
  padding-left: 30px; }
  .block-listed p:before, .block-listed dl:before {
    width: 20px;
    height: 20px;
    border: 1px solid #2E4FCC;
    border-radius: 100%; }
  .block-listed p:after, .block-listed dl:after {
    left: 7px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #2E4FCC;
    border-right: 2px solid #2E4FCC;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
.block-listed dl {
  display: -ms-flexbox;
  display: flex; }
  .block-listed dl dt {
    padding-right: 20px;
    font-weight: bold; }
  .block-listed dl dd {
    padding-right: 20px; }
  @media screen and (max-width: 801px) {
    .block-listed dl {
      display: block; }
      .block-listed dl dt {
        display: block; }
      .block-listed dl dd {
        display: inline; } }

.sub-box {
  border-top: 2px solid #2E4FCC;
  position: relative;
  margin-bottom: 2em; }
  .sub-box:before {
    position: absolute;
    top: -4px;
    right: 0;
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background: #2E4FCC; }
  .sub-box:after {
    position: absolute;
    top: -4px;
    left: 0;
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background: #2E4FCC; }
  .sub-box h4 {
    padding: 20px 0 0;
    margin-bottom: 20px;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: bold;
    text-align: left;
    position: relative;
    color: #2E4FCC; }
  .sub-box p {
    text-align: left;
    line-height: 1.5; }
    .sub-box p img.left, .sub-box p img.il, .sub-box p img.il {
      margin-right: 12px;
      border-radius: 5px;
      max-width: 50%; }
      @media screen and (max-width: 801px) {
        .sub-box p img.left, .sub-box p img.il, .sub-box p img.il {
          margin-bottom: 8px;
          float: left; } }
  .sub-box.box_item p {
    padding-top: 25px; }
    .sub-box.box_item p .txt {
      font-size: 15px;
      font-size: 0.9375rem; }
  .sub-box.box_item .boxtitle {
    margin-bottom: 16px;
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    position: relative;
    color: #F23A29;
    display: block; }

@media screen and (max-width: 801px) {
  .i2 .i2div.sub-box {
    width: 100%;
    margin-right: 0; }
    .i2 .i2div.sub-box .ir {
      width: 50%; } }

.sub-box-wide {
  display: -ms-flexbox;
  display: flex; }
  .sub-box-wide .img {
    width: 40%;
    text-align: center; }
    .sub-box-wide .img img {
      max-width: 100%;
      height: auto;
      margin-bottom: 10px; }
    .sub-box-wide .img img:first-child {
      margin-right: 10px; }
    @media screen and (max-width: 801px) {
      .sub-box-wide .img.img-twins {
        display: flex;
        width: 100%;
        justify-content: space-around; } }
  .sub-box-wide .txt-area {
    width: 60%; }
    .sub-box-wide .txt-area .dl-box1 {
      margin-bottom: 0; }
  .sub-box-wide h4 {
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 15px;
    position: relative;
    color: #2E4FCC; }
  .sub-box-wide.txt-right .txt-area {
    padding-left: 30px; }
  .sub-box-wide.txt-left {
    flex-flow: row-reverse; }
    .sub-box-wide.txt-left .txt-area {
      padding-right: 30px; }
  @media screen and (max-width: 801px) {
    .sub-box-wide {
      flex-direction: column; }
      .sub-box-wide.txt-left {
        flex-direction: column; }
      .sub-box-wide .img {
        width: 100%; }
      .sub-box-wide .txt-area {
        margin-bottom: 10px;
        width: 100%; }
      .sub-box-wide.txt-left .txt-area, .sub-box-wide.txt-right .txt-area {
        padding: 0; } }

.to_bt {
  margin: 50px auto; }
  .to_bt p {
    font-weight: bold; }
  .to_bt a {
    display: inline-block;
    padding: 15px 70px 15px 40px;
    border: 2px solid #2E4FCC;
    background: #fff;
    text-decoration: none;
    position: relative;
    transition: all 0.3s ease;
    position: relative; }
    .to_bt a:before {
      content: "";
      width: 6px;
      height: 1px;
      background: #2E4FCC;
      transform: rotate(40deg);
      transform-origin: right bottom;
      position: absolute;
      right: 16px;
      top: 0;
      bottom: 0;
      margin: auto;
      transition: all 0.3s ease; }
    .to_bt a:after {
      content: "";
      width: 18px;
      height: 1px;
      background: #2E4FCC;
      position: absolute;
      right: 16px;
      top: 0;
      bottom: 0;
      margin: auto;
      transition: all 0.3s ease; }
    @media screen and (min-width: 801px) {
      .to_bt a:hover {
        transform: translateY(5px);
        color: #0D2870; }
        .to_bt a:hover:before, .to_bt a:hover:after {
          right: 10px; } }

.submenu {
  line-height: 1;
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  @media screen and (max-width: 801px) {
    .submenu {
      justify-content: flex-start; } }

.submenu_li {
  margin: 0 1% 10px 0;
  font-size: 16px;
  line-height: 1.5; }
  @media screen and (max-width: 801px) {
    .submenu_li {
      width: 48%;
      margin: 0 1% 10px 1%; }
      .submenu_li:nth-child(2n) {
        margin-right: 0%; } }
  .submenu_li a {
    position: relative;
    padding: 8px 25px 8px 35px;
    transition: all 0.5s ease 0s;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    position: relative;
    text-decoration: none;
    display: block;
    background: #fff;
    border: 2px solid #2E6FF0;
    border-radius: 99px; }
    .submenu_li a:before {
      content: "";
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 10px;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      border-color: #2E4FCC transparent transparent transparent;
      -webkit-transition: all .5s ease;
      transition: all .5s ease; }
  @media screen and (min-width: 801px) {
    .submenu_li.onhover a {
      color: #fff;
      background: rgba(46, 79, 204, 0.5); }
      .submenu_li.onhover a:before {
        border-top-color: #fff; } }

.boxdetails-set {
  background-color: #f5f5f5;
  padding: 50px 0 1px;
  margin-bottom: 80px; }
  @media screen and (max-width: 801px) {
    .boxdetails-set {
      margin-bottom: 40px; } }
  .boxdetails-set > .boxwrap1, .boxdetails-set > .boxwrap2, .boxdetails-set > .boxwrap3, .boxdetails-set > .to-buttonbox {
    margin-bottom: 20px; }
  @media screen and (max-width: 801px) {
    .boxdetails-set {
      padding-left: 2%;
      padding-right: 2%; } }
  .boxdetails-set .sub-box-wide,
  .boxdetails-set .sub-box-text {
    background: #fff;
    padding: 3%;
    border-radius: 5px;
    margin-bottom: 10px; }
  .boxdetails-set .sub-box-wide .img {
    width: 300px; }
    .boxdetails-set .sub-box-wide .img img {
      margin: 0; }
  .boxdetails-set .sub-box-wide .txt-area {
    width: calc(100% - 300px);
    margin-right: auto; }
  @media screen and (max-width: 801px) {
    .boxdetails-set .sub-box-wide.txt-left {
      display: block; }
    .boxdetails-set .sub-box-wide .img {
      width: 150px;
      float: right;
      margin-left: 8px; }
    .boxdetails-set .sub-box-wide .txt-area {
      width: 100%; } }
  @media screen and (max-width: 801px) {
    .boxdetails-set .dibox table {
      min-width: 0; }
      .boxdetails-set .dibox table th, .boxdetails-set .dibox table td {
        width: 100%;
        display: block; } }

.columnr {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 24px; }
  .columnr .title .category {
    color: #2E6FF0;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700; }
  .columnr .title .title_m4 {
    margin-bottom: 2px;
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.2; }
  .columnr .number_dl {
    color: #111;
    margin-bottom: 6px;
    margin-top: 6px;
    display: flex; }
    .columnr .number_dl dt {
      display: inline-block;
      font-size: 13px;
      font-size: 0.8125rem;
      letter-spacing: 0; }
      .columnr .number_dl dt::after {
        content: "|";
        margin-left: 4px;
        margin-right: 4px;
        display: inline-block; }
    .columnr .number_dl .number {
      font-size: 13px;
      font-size: 0.8125rem;
      letter-spacing: 0; }

.entry_btn {
  display: flex;
  justify-content: center;
  margin-top: 50px;
  flex-wrap: wrap; }
  .entry_btn .more_txt {
    margin: 0 2% 30px; }
    .entry_btn .more_txt a {
      border: 2px solid #2E6FF0;
      background: #fff;
      border-radius: 99px;
      padding: 12px 30px;
      color: #2E6FF0;
      text-decoration: none;
      font-size: 18px;
      font-size: 1.125rem;
      font-weight: 700; }
  .entry_btn .more_txt.tel_btn a {
    border: 2px solid #2E6FF0;
    background: #2E6FF0;
    border-radius: 99px;
    padding: 12px 30px;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 700; }

.list-point {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  border: 1px dashed #2E6FF0;
  padding: 25px 50px; }
  @media screen and (max-width: 801px) {
    .list-point {
      padding: 12px 20px; } }

.list-point-li {
  padding: 30px 30px 30px 85px;
  background: url(../img/symptoms_check.png) no-repeat 40px;
  -webkit-background-size: 32px;
  background-size: 32px;
  font-size: 18px;
  font-size: 1.125rem; }
  .list-point-li + li {
    border-top: 1px solid #666; }
  @media screen and (max-width: 801px) {
    .list-point-li {
      padding: 20px 0 20px 40px;
      background-position: 5px;
      -webkit-background-size: 25px;
      background-size: 25px;
      font-size: 15px;
      font-size: 0.9375rem; } }

.wrap_message {
  padding: 40px 0 1px;
  margin-bottom: 80px;
  background-color: #ecf9fd; }
  @media screen and (max-width: 801px) {
    .wrap_message {
      margin-bottom: 40px; } }
  .wrap_message .boxwrap1, .wrap_message .boxwrap2, .wrap_message .boxwrap3, .wrap_message .to-buttonbox {
    margin-bottom: 10px; }

.message_sec {
  align-items: center; }
  .message_sec .img {
    width: 50%; }
    @media screen and (max-width: 801px) {
      .message_sec .img {
        width: 100%; } }
  .message_sec .txt-area {
    width: 60%;
    background: rgba(255, 255, 255, 0.9);
    transform: translateX(-10%);
    box-shadow: 1px 1px 3px 2px rgba(0, 0, 0, 0.1);
    padding: 30px !important; }
    @media screen and (max-width: 801px) {
      .message_sec .txt-area {
        width: 90%;
        margin: 0 5%;
        transform: translateY(-20%); } }
    .message_sec .txt-area p {
      line-height: 1.5;
      font-size: 15px;
      font-size: 0.9375rem; }

.flowdiv {
  position: relative;
  box-shadow: 1px 1px 3px 2px rgba(0, 0, 0, 0.1); }
  .flowdiv img {
    max-width: calc(100% - 20px);
    height: auto;
    margin-bottom: 0px !important;
    padding: 10px 10px; }
  .flowdiv .step_n {
    position: absolute;
    left: -15px;
    top: -10px;
    color: #fff;
    line-height: 1.2; }
    .flowdiv .step_n .in {
      position: relative;
      width: 70px;
      height: 70px;
      margin-right: 4px;
      margin-bottom: 4px;
      text-align: center;
      border-radius: 50%;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      align-items: center;
      box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.3);
      background-color: #2E6FF0; }
      .flowdiv .step_n .in::before {
        content: "";
        position: absolute;
        top: -90%;
        left: -90%;
        z-index: 20;
        transform: rotate(-45deg);
        display: block;
        width: 100px;
        height: 120px;
        background-color: #2E4FCC;
        z-index: 0; }
    .flowdiv .step_n .ue {
      padding-top: 10px;
      font-size: 14px;
      font-size: 0.875rem;
      z-index: 2;
      position: relative; }
    .flowdiv .step_n .shita {
      font-size: 26px;
      font-size: 1.625rem;
      z-index: 2;
      position: relative;
      padding-bottom: 10px; }
  .flowdiv h4 {
    background-color: #2e98e5;
    background-color: #2E4FCC;
    color: #fff;
    padding: 10px 10px 10px 46px;
    font-weight: 700;
    letter-spacing: 0; }
  .flowdiv figcaption {
    background: white;
    text-align: left;
    padding: 10px 10px 20px; }

.to-telinquiry {
  text-align: center; }
  .to-telinquiry h2 {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem; }
    .to-telinquiry h2 .txt {
      position: relative; }
      .to-telinquiry h2 .txt::before {
        content: "-";
        margin-right: 8px;
        display: inline-block; }
      .to-telinquiry h2 .txt::after {
        content: "-";
        margin-left: 8px;
        display: inline-block; }
  .to-telinquiry .colorbox {
    background: #cc2e4f;
    padding: 20px 40px;
    display: flex;
    width: 80%;
    margin: 10px auto 10px;
    justify-content: space-around;
    align-items: center; }
    @media screen and (max-width: 801px) {
      .to-telinquiry .colorbox {
        display: block; } }
    .to-telinquiry .colorbox h3 {
      font-weight: 700;
      font-size: 18px;
      font-size: 1.125rem; }
  @media screen and (max-width: 801px) {
    .to-telinquiry {
      width: 100%; }
      .to-telinquiry .left, .to-telinquiry .il {
        width: 100%;
        padding: 0 20px;
        float: none;
        margin-bottom: 10px; }
      .to-telinquiry .right, .to-telinquiry .ir {
        width: 100%; }
        .to-telinquiry .right img, .to-telinquiry .ir img {
          width: auto; } }

p.tel {
  font-size: 34px;
  font-size: 2.125rem;
  font-weight: 700;
  color: #666;
  padding-left: 45px;
  position: relative;
  display: inline-block; }
  p.tel::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url("../img/fix/to-box-tel.png") no-repeat 0 0;
    width: 30px;
    height: 30px;
    background-size: 30px 30px; }

.only_sp {
  display: none; }
  @media screen and (max-width: 801px) {
    .only_sp {
      display: block; } }

.only_pc {
  display: block; }
  @media screen and (max-width: 801px) {
    .only_pc {
      display: none; } }

@media screen and (max-width: 801px) {
  .contacttable .tb-box1 {
    width: 100%;
    min-width: 0px; }
    .contacttable .tb-box1 td, .contacttable .tb-box1 th {
      display: block;
      width: 100%; } }
.contacttable input.fm-txt, .contacttable select, .contacttable .fm-texa {
  margin-bottom: 5px;
  padding: 5px;
  border-radius: 3px;
  background-color: #eee;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #CECEBF; }
  .contacttable input.fm-txt.zipcode, .contacttable select.zipcode, .contacttable .fm-texa.zipcode {
    width: 40%; }
  .contacttable input.fm-txt.bday, .contacttable select.bday, .contacttable .fm-texa.bday {
    width: 30%; }
  .contacttable input.fm-txt:focus, .contacttable select:focus, .contacttable .fm-texa:focus {
    outline: none;
    border-color: #2E4FCC;
    background: #fff; }
.contacttable input.fm-chk,
.contacttable input.fm-rad {
  margin-bottom: 10px; }
.contacttable label {
  display: inline-block;
  margin-right: 10px; }
.contacttable th {
  padding: 15px 15px;
  text-align: left;
  color: #000; }
.contacttable td {
  padding: 15px 15px 10px;
  background: #fff; }
  .contacttable td p {
    margin-bottom: 5px; }
.contacttable th {
  font-weight: bold; }

.to-submit {
  text-align: center;
  padding: 10px; }
  .to-submit input, .to-submit button {
    padding: 1em 3em;
    border-radius: 5px;
    background: #2E4FCC;
    color: #fff;
    border: none;
    font-weight: bold;
    cursor: pointer; }

.to-submit #submit,
.to-submit #reset {
  margin: 0 auto 1px;
  display: block; }

.to-submit #reset,
.to-submit #back {
  margin-bottom: 1em;
  padding: 1em 3em;
  border: 1px solid #ccc;
  background: #fff;
  color: #666;
  letter-spacing: 0.3em; }

#submit:hover,
#reset:hover,
#back:hover {
  background: #0D2870;
  cursor: pointer;
  color: #fff; }

/*
.require:before {
	margin-right:1em;
	content:"*";
	color:#F00;
	position:relative;
	top:50%;
	left:1em;
	font-weight:bold;
}*/
/* END:Generic Layout Style
 * =================================================================================
**/
.f16 {
  font-size: 16px;
  font-size: 1rem; }

.f18 {
  font-size: 18px;
  font-size: 1.125rem; }

.f20 {
  font-size: 20px;
  font-size: 1.25rem; }

.flex {
  display: flex;
  align-content: stretch;
  justify-content: space-between; }

.wrap-contact dl.list + dl.list {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #999; }

.wrap-contact dl.list_half {
  width: calc(50% - 20px); }

.wrap-contact .list_wrap {
  flex-wrap: wrap;
  justify-content: space-between; }

.wrap-contact dl.list {
  align-items: center; }

.wrap-contact dl.list dd {
  flex-shrink: 1;
  width: 100%; }

.wrap-contact dl.list dt {
  text-align: left;
  flex-shrink: 0;
  width: 20%;
  font-weight: bold;
  padding-left: 20px; }

.wrap-contact .txtarea {
  width: 100%; }

@media screen and (max-width: 801px) {
  form dl.flex {
    display: block; }

  .wrap-contact dl.list dt {
    width: 100%;
    padding-left: 0; } }
/*LightBox2 Style
 * =================================================================================
**/
.lb-nav a.lb-next,
.lb-nav a.lb-prev {
  background-size: 50px; }

/* END:LightBox2 Style
 * =================================================================================
**/
/* WC Style
 * =================================================================================
**/
body[class*='wcedit'] .sp-slide,
body[class*='wcarea'] .sp-slide,
body[class*='wcselect'] .sp-slide {
  position: relative !important;
  opacity: 1 !important;
  flex: 0 0 auto;
  margin: 0 10px; }
  body[class*='wcedit'] .sp-slide img,
  body[class*='wcarea'] .sp-slide img,
  body[class*='wcselect'] .sp-slide img {
    max-width: 100%;
    height: auto; }

/*
body[class*='wcedit'] {
    .sp-slides {
        display: flex;
        overflow: auto;
        flex-wrap: nowrap;
    }
}

body[class*='wcselect'] {
    .sp-slides>div {
        display: flex;
        overflow: auto;
        flex-wrap: nowrap;
    }
}

body[class*="wcselect"] {
    .h-nav__dropdown__list {
        display: block;
        >div {
            display: flex;
            flex-wrap: wrap;
        }
    }
}*/
img[src*="analytics.global-websystem.net"] {
  display: none; }

img[src*="spacer.gif"] {
  width: 1px;
  height: 1px; }

.wc_anctxt,
.wc_anctxt img {
  vertical-align: top; }

.wcedit_400206803901#acp-top .h-nav__dropdown {
  display: block !important; }
.wcedit_400206803901 .h-nav__dropdown {
  width: 180px !important;
  left: -10px; }
  .wcedit_400206803901 .h-nav__dropdown .inner {
    width: 100%; }
.wcedit_400206803901 .h-nav__item {
  position: relative; }
.wcedit_400206803901 .h-nav__dropdown__list {
  display: block;
  width: 180px;
  background-color: #2e4fcc; }
  .wcedit_400206803901 .h-nav__dropdown__list .h-nav__dropdown__item {
    width: 170px;
    margin-left: 5px; }
.wcedit_400206803901 #topslide .sp-slides {
  width: auto;
  height: 520px;
  overflow-x: auto;
  display: flex;
  overflow: auto;
  flex-wrap: nowrap; }
  .wcedit_400206803901 #topslide .sp-slides .sp-slide {
    float: left;
    display: block;
    position: relative; }
.wcedit_400206803901 .fade-up {
  opacity: 1; }
.wcedit_400206803901 [data-aos^="fade"][data-aos^="fade"] {
  opacity: 1;
  transform: translateZ(0); }

.wcselect_400206803901 #topslide .sp-slides {
  width: auto;
  height: 400px;
  overflow-x: auto; }
  .wcselect_400206803901 #topslide .sp-slides > div {
    display: flex;
    overflow: auto;
    flex-wrap: nowrap; }
  .wcselect_400206803901 #topslide .sp-slides .sp-slide {
    float: left;
    display: block;
    position: relative; }
.wcselect_400206803901 .h-nav__dropdown__list > div {
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
.wcselect_400206803901 #navi-sub > div, .wcselect_400206803901 #to-form > div, .wcselect_400206803901 #navi-main ul > div, .wcselect_400206803901 ul.f-list > div, .wcselect_400206803901 .title-navi ul > div {
  display: flex;
  flex-flow: row wrap;
  width: 100%; }
.wcselect_400206803901 .banner-box1 ul > div {
  display: flex;
  flex-flow: row wrap; }
.wcselect_400206803901 .banner-box2 ul > div {
  display: flex;
  flex-flow: row wrap; }
.wcselect_400206803901 .banner-box3 ul > div {
  display: flex;
  flex-flow: row wrap; }
.wcselect_400206803901 .i1 .in-wrap > div {
  display: flex;
  flex-flow: row wrap; }
.wcselect_400206803901 .i2 .in-wrap > div {
  display: flex;
  flex-flow: row wrap; }
.wcselect_400206803901 .i3 .in-wrap > div {
  display: flex;
  flex-flow: row wrap; }
.wcselect_400206803901 .i4 .in-wrap > div {
  display: flex;
  flex-flow: row wrap; }
.wcselect_400206803901 .i5 .in-wrap > div {
  display: flex;
  flex-flow: row wrap; }
.wcselect_400206803901 .just2 > div, .wcselect_400206803901 .just3 > div, .wcselect_400206803901 .just4 > div, .wcselect_400206803901 .just5 > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
.wcselect_400206803901 #footerlink ul div {
  display: flex;
  flex-flow: row wrap;
  width: auto; }
.wcselect_400206803901 .list-linkbox ul > div, .wcselect_400206803901 .propertylist ul > div, .wcselect_400206803901 #panlist ul > div {
  display: flex;
  flex-flow: row wrap;
  width: 100%; }
.wcselect_400206803901 .submenu > div {
  display: flex;
  flex-flow: row wrap;
  width: 100%; }
.wcselect_400206803901 .title-navi ul > div {
  display: flex;
  flex-flow: row wrap;
  justify-content: center; }
.wcselect_400206803901 .noline-hr {
  position: relative; }
  .wcselect_400206803901 .noline-hr::after {
    display: block;
    text-align: center;
    width: 100%;
    height: 1005;
    border: 1px dashed #ccc;
    content: "空白が入るブロックです";
    position: absolute;
    top: 0;
    color: #ccc; }
.wcselect_400206803901 .fade-up {
  opacity: 1; }
.wcselect_400206803901 [data-aos^="fade"][data-aos^="fade"] {
  opacity: 1;
  transform: translateZ(0); }

.wcarea_400206803901 table {
  width: 80%; }
  .wcarea_400206803901 table th, .wcarea_400206803901 table td {
    padding: 16px;
    width: auto; }
  .wcarea_400206803901 table th {
    background-color: #e9e9e9; }
.wcarea_400206803901 .noline-hr {
  position: relative; }
  .wcarea_400206803901 .noline-hr::after {
    display: block;
    text-align: center;
    width: 100%;
    height: 1005;
    border: 1px dashed #ccc;
    content: "空白が入るブロックです";
    position: absolute;
    top: 0;
    color: #ccc; }
.wcarea_400206803901 .j3-li.s2-li {
  width: 334px;
  float: left; }
.wcarea_400206803901 .s3-li.j3-li {
  width: 334px;
  float: left; }
.wcarea_400206803901 .sp-slide {
  display: block;
  position: relative; }
.wcarea_400206803901 .fade-up {
  opacity: 1; }
.wcarea_400206803901 [data-aos^="fade"][data-aos^="fade"] {
  opacity: 1;
  transform: translateZ(0); }

.wc_addYoutube_span {
  padding: 24px; }
  .wc_addYoutube_span:before {
    content: " ";
    margin: 0 auto;
    display: block;
    width: 250px;
    height: 250px;
    background: url(../img/fix/youtube.png) no-repeat center; }

.wc_addGoogleMap_span {
  padding: 24px; }
  .wc_addGoogleMap_span:before {
    content: " ";
    margin: 0;
    display: block;
    width: 250px;
    height: 250px;
    background: url(../img/fix/googlemap.png) no-repeat top left; }

.wc_facebook_span {
  padding: 24px; }
  .wc_facebook_span:before {
    content: " ";
    margin: 0 auto;
    display: block;
    width: 250px;
    height: 250px;
    background: url(../img/fix/facebook.png) no-repeat top left; }

.tableBlock {
  width: 95%; }

/*# sourceMappingURL=style.css.map */
