@charset "UTF-8";
a.itext {
  width: auto !important;
  height: auto !important;
}

.annot {
  display: none !important;
}

::-moz-selection {
  background: #ffecd2;
}

::selection {
  background: #ffecd2;
}

::-moz-selection {
  background: #ffecd2;
}

.pcnone {
  display: none;
}

@media screen and (max-width: 834px) {
  .pcnone {
    display: block;
  }
}

@media screen and (max-width: 640px) {
  .spnone {
    display: none;
  }
}

@media only screen and (max-width: 1200px) {
  .bp1200none {
    display: none;
  }
}

@media screen and (max-width: 834px) {
  .bp1200none {
    display: block;
  }
}

@media screen and (max-width: 1000px) {
  .bp1000none {
    display: none;
  }
}

@media screen and (max-width: 834px) {
  .bp1000none {
    display: block;
  }
}

* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

li {
  list-style: none;
}

html {
  font-size: 65.5% !important;
}

html, body, div, span, applet, object, iframe, h1, h2, .title_01._index01 h3, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  font-weight: 500;
}

body {
  counter-reset: number 0;
  line-height: 1.7em;
  letter-spacing: 0;
  font-weight: 500;
  color: #333;
  word-wrap: break-word;
  font-size: 16px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.inner {
  margin: 0 auto;
  max-width: 1040px;
  padding: 0 20px;
}

.inner2 {
  margin: 0 auto;
  max-width: 1000px;
  padding: 0 20px;
}

#contents_wrap {
  width: 100%;
  min-width: 100%;
  overflow: hidden;
}

#contents {
  width: 100%;
  max-width: 1040px;
  padding: 0 20px 70px 20px;
}

@media screen and (max-width: 834px) {
  #contents {
    padding: 66px 30px 50px;
  }
}

@media screen and (max-width: 640px) {
  #contents {
    padding-bottom: 40px;
  }
}

.index_contents #contents {
  padding-bottom: 0;
}

@media screen and (max-width: 834px) {
  .index_contents #contents {
    padding-top: 0;
  }
}

#main {
  width: 100%;
}

#main #col_main {
  width: 100%;
}

#side {
  width: 18.75000%;
}

.map {
  margin: 56px 20px 0;
}

.map li {
  border-left: 5px solid #CCCCCC;
  list-style: none;
  margin: 0 0 15px;
  padding: 0 0 0 10px;
  text-align: left;
}

table {
  table-layout: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  table {
    table-layout: fixed;
  }
}

.tlfix table {
  table-layout: fixed;
}

table td img {
  height: auto !important;
}

.tdpd10 td {
  padding: 10px !important;
}

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line;
}

b, strong {
  font-weight: bold;
}

u {
  text-decoration: line-through;
}

img {
  max-width: 100%;
  height: auto !important;
}

small {
  font-size: 80%;
}

hr {
  border: none;
  height: 0;
  border-bottom: 1px dashed #B3B3B3;
}

span {
  font-weight: inherit;
}

u {
  text-decoration: underline;
}

input[type="button"] {
  cursor: pointer;
  padding: 5px 10px;
}

a {
  color: #17e012;
  -webkit-transition: 1s;
  transition: 1s;
  text-decoration: none;
}

a:hover {
  opacity: 0.8;
  -webkit-transition: 1s;
  transition: 1s;
}

@media screen and (max-width: 834px) {
  .imgR, .imgL {
    max-width: 30% !important;
  }
}

@media screen and (max-width: 640px) {
  .imgR, .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px;
    max-width: 100% !important;
    text-align: center;
  }
}

.mincho {
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.gothic {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media screen and (max-width: 640px) {
  .fltL {
    float: none;
    width: 100% !important;
  }
  .fltR {
    float: none;
    width: 100% !important;
  }
  .sptal {
    text-align: left !important;
  }
  .sptar {
    text-align: right !important;
  }
  .sptac {
    text-align: center !important;
  }
  .spcenter {
    text-align: center;
    display: block;
    margin-top: 10px;
  }
}

header#global_header {
  min-width: auto;
}

footer#global_footer {
  min-width: auto;
}

header#global_header {
  max-width: 100%;
  width: 100%;
  min-width: 100%;
  height: auto;
}

@media screen and (max-width: 834px) {
  #global_header #hedFixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    background: #fff;
  }
}

#global_header #hedFixed > .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 20px;
}

@media screen and (max-width: 834px) {
  #global_header #hedFixed > .inner {
    padding: 10px 80px 10px 20px;
  }
}

#global_header #hedFixed .siteID {
  width: 22%;
  max-width: 220px;
}

@media screen and (max-width: 834px) {
  #global_header #hedFixed .siteID {
    width: 160px;
  }
}

#global_header #hedFixed .siteID a {
  display: block;
  opacity: 1;
}

#global_header #hedFixed .contWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .contWrap {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 10;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    background: #fff;
  }
}

#global_header #hedFixed .contWrap ul {
  margin-right: 20px;
}

@media screen and (max-width: 834px) {
  #global_header #hedFixed .contWrap ul {
    margin-right: 10px;
  }
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .contWrap ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 67%;
    margin-right: 0;
  }
}

#global_header #hedFixed .contWrap ul li {
  margin-bottom: 5px;
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  line-height: 1;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .contWrap ul li {
    width: 50%;
    margin: 0;
    background: #333;
    border-right: 1px solid #fff;
    font-size: 13px;
    color: #fff;
    text-align: center;
  }
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .contWrap ul li:nth-of-type(2) {
    padding: 7px 3px;
  }
}

#global_header #hedFixed .contWrap ul li:last-of-type {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .contWrap ul li:last-of-type {
    border-radius: 0;
  }
}

#global_header #hedFixed .contWrap ul li i {
  margin-right: 10px;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .contWrap ul li i {
    display: block;
    margin: 0 0 5px 0;
  }
}

#global_header #hedFixed .contWrap ul li a {
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .contWrap ul li a {
    padding: 7px 3px;
    color: #fff;
  }
}

#global_header #hedFixed .contWrap .cont {
  width: 180px;
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .contWrap .cont {
    width: 33%;
  }
}

#global_header #hedFixed .contWrap .cont a {
  display: block;
  padding: 13px 5px;
  background-color: #fff;
  border: 1px solid #dc0508;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-align: center;
  color: #dc0508;
  line-height: 1;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .contWrap .cont a {
    padding: 7px 5px;
    background: #dc0508;
    border: none;
    font-size: 13px;
    color: #fff;
  }
}

#global_header #hedFixed .contWrap .cont a:hover {
  opacity: 1;
  background: #dc0508;
  color: #fff;
}

#global_header #hedFixed .contWrap .cont a i {
  margin-right: 10px;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .contWrap .cont a i {
    display: block;
    margin: 0 0 5px 0;
  }
}

@media screen and (max-width: 834px) {
  #global_header #hedFixed .navWrapper {
    position: fixed;
    top: 0;
    right: 0;
  }
}

#global_header #hedFixed .navWrapper .navwrap {
  position: relative;
  background: #0f114f;
}

#global_header #hedFixed .navWrapper .navwrap:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 248px;
  height: 50px;
  background: url(../images/contents/bgNav.png);
  background-repeat: no-repeat;
  background-position: top left;
}

#global_header #hedFixed .navWrapper .navwrap nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#global_header #hedFixed .navWrapper .navwrap nav ul li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
}

#global_header #hedFixed .navWrapper .navwrap nav ul li a {
  display: block;
  padding: 11.5px 3px;
  text-decoration: none;
  color: #fff;
  letter-spacing: 0.07em;
}

#global_header #hedFixed .navWrapper .navwrap nav ul li a:hover {
  opacity: 1;
  background: #090b31;
}

@media screen and (max-width: 640px) {
  #global_header #hedFixed .navWrapper .navwrap nav ul li a:hover {
    background: transparent;
  }
}

#global_header #hedFixed .navWrapper .navwrap nav ul li .sub {
  position: absolute;
  top: 50px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 200px;
  background-color: #0f114f;
  z-index: 100;
}

@media screen and (max-width: 834px) {
  #global_header #hedFixed .navWrapper .navwrap nav ul li .sub {
    position: static;
    top: auto;
    left: auto;
    -webkit-transform: inherit;
            transform: inherit;
    width: 100%;
    background: transparent;
    -webkit-transition: all .3s;
    transition: all .3s;
  }
}

#global_header #hedFixed .navWrapper .navwrap nav ul li .sub li {
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

@media screen and (max-width: 834px) {
  #global_header #hedFixed .navWrapper .navwrap nav ul li .sub li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }
}

#global_header #hedFixed .navWrapper .navwrap nav ul li .sub li:last-of-type {
  border-bottom: 0;
}

#global_header #hedFixed .navWrapper .navwrap nav ul li .sub li a {
  display: block;
  padding: 10px;
  text-align: center;
  font-size: 16px;
}

@media screen and (max-width: 834px) {
  #global_header #hedFixed .navWrapper .navwrap nav ul li .sub li a {
    font-size: 13px;
    text-align: left;
  }
}

.spNav {
  display: none;
}

@media screen and (max-width: 834px) {
  .spNav {
    display: block;
  }
}

.is-scrolled #global_header #hedFixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: #fff;
}

.is-scrolled #global_header #hedFixed > .inner {
  padding: 5px 20px;
}

.is-scrolled #global_header #hedFixed .navWrapper .navwrap:before {
  height: 40px;
}

.is-scrolled #global_header #hedFixed .navWrapper .navwrap nav ul li a {
  padding: 7px 3px;
}

.is-scrolled #global_header #hedFixed .navWrapper .navwrap nav ul li .sub {
  top: 41px;
}

/* ----------------------------------------------------------
mainarea
---------------------------------------------------------- */
#mainArea {
  overflow: hidden;
  position: relative;
  margin-bottom: 70px;
}

@media screen and (max-width: 834px) {
  #mainArea {
    margin-top: 66.8px;
  }
}

@media screen and (max-width: 640px) {
  #mainArea {
    margin-bottom: 40px;
  }
}

#mainArea #slider {
  width: 100%;
}

#mainArea #slider .slick-slide {
  outline: none;
}

#mainArea #slider li img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 834px) {
  #mainArea #slider li img {
    min-height: 450px;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: 'object-fit: cover; object-position: center top;';
  }
}

#mainArea .mainTxt {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
  width: 100%;
}

#slider .slick-slide {
  outline: none;
}

/* ----------------------------------------------------------
hamburger menu
---------------------------------------------------------- */
@media screen and (max-width: 834px) {
  @-webkit-keyframes menu-bar01 {
    0% {
      -webkit-transform: translateY(9px) rotate(45deg);
    }
    50% {
      -webkit-transform: translateY(9px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
    }
  }
  @keyframes menu-bar01 {
    0% {
      -webkit-transform: translateY(9px) rotate(45deg);
              transform: translateY(9px) rotate(45deg);
    }
    50% {
      -webkit-transform: translateY(9px) rotate(0);
              transform: translateY(9px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
  }
  @-webkit-keyframes menu-bar02 {
    0% {
      -webkit-transform: translateY(-9px) rotate(-45deg);
    }
    50% {
      -webkit-transform: translateY(-9px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
    }
  }
  @keyframes menu-bar02 {
    0% {
      -webkit-transform: translateY(-9px) rotate(-45deg);
              transform: translateY(-9px) rotate(-45deg);
    }
    50% {
      -webkit-transform: translateY(-9px) rotate(0);
              transform: translateY(-9px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
  }
  .global-menu-btn {
    position: relative;
    z-index: 11;
    -webkit-transition: 1s;
    transition: 1s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%;
    width: 66.8px;
    background: #0f114f;
    cursor: pointer;
  }
  .global-menu-btn .menu-trigger {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 30px;
    height: 20px;
  }
  .global-menu-btn .menu-trigger i {
    position: absolute;
    display: block;
    width: 30px;
    height: 2px;
    background: #fff;
  }
  .global-menu-btn .menu-trigger i:nth-child(1) {
    top: 0;
    -webkit-animation: menu-bar01 .75s forwards;
            animation: menu-bar01 .75s forwards;
  }
  .global-menu-btn .menu-trigger i:nth-child(2) {
    top: 9px;
    opacity: 1;
    width: 20px;
  }
  .global-menu-btn .menu-trigger i:nth-child(3) {
    bottom: 0;
    -webkit-animation: menu-bar02 .75s forwards;
            animation: menu-bar02 .75s forwards;
  }
  .navdamy {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
  }
  #global_header #hednav {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 66.8px;
    width: 66.8px;
    z-index: 14;
  }
  #global_header #hednav .wrap {
    position: fixed;
    top: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    display: block !important;
    width: 100% !important;
    height: 100%;
    background: rgba(0, 0, 0, 0.7) !important;
  }
  #global_header #hednav .wrap .navwrap {
    -webkit-transform: translateX(240%);
            transform: translateX(240%);
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    width: 300px;
    height: 100%;
    opacity: 0;
    margin-left: auto;
    padding-top: 60px;
  }
  #global_header #hednav .wrap .navwrap:after {
    content: "";
    position: absolute;
    bottom: 10px;
    right: 10px;
    display: block;
    width: 60%;
    height: 20%;
    background: url(../images/contents/bgLogo.png);
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.1;
  }
}

@media screen and (max-width: 834px) and (max-width: 640px) {
  #global_header #hednav .wrap .navwrap:after {
    bottom: 55px;
  }
}

@media screen and (max-width: 834px) {
  #global_header #hednav .wrap .navwrap nav {
    width: 100%;
  }
  #global_header #hednav .wrap .navwrap nav > ul {
    display: block;
  }
  #global_header #hednav .wrap .navwrap nav > ul > li {
    width: 100%;
    text-align: left;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
  #global_header #hednav .wrap .navwrap nav > ul > li > a {
    padding: 22.5px 20px;
    line-height: 1;
  }
  #global_header #hednav .wrap .navwrap nav > ul > li .sub {
    display: none !important;
  }
  #global_header #hednav .wrap .navwrap nav > ul .ddMenu .arrows {
    position: absolute;
    right: 0;
    top: 0;
    width: 61px;
    height: 61px;
  }
  #global_header #hednav .wrap .navwrap nav > ul .ddMenu .arrows:after {
    font-weight: 100;
    content: "\f067";
    font-family: "Font Awesome 5 Pro";
    font-size: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 100%;
    background: rgba(15, 17, 79, 0.4);
    z-index: 1;
    color: #fff;
  }
  #global_header #hednav .wrap .navwrap nav > ul .ddMenu.open .arrows:after {
    content: "\f00d";
  }
  #global_header #hednav .wrap .navwrap nav > ul .ddMenu.open .sub {
    display: block !important;
  }
  #global_header #hednav .wrap .navwrap nav > ul .ddMenu a:after {
    display: none;
  }
  @-webkit-keyframes active-menu-bar01 {
    0% {
      -webkit-transform: translateY(0) rotate(0);
    }
    50% {
      -webkit-transform: translateY(20px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(20px) rotate(45deg);
    }
  }
  @keyframes active-menu-bar01 {
    0% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
    50% {
      -webkit-transform: translateY(9px) rotate(0);
              transform: translateY(9px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(9px) rotate(45deg);
              transform: translateY(9px) rotate(45deg);
    }
  }
  @-webkit-keyframes active-menu-bar03 {
    0% {
      -webkit-transform: translateY(0) rotate(0);
    }
    50% {
      -webkit-transform: translateY(-9px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(-9px) rotate(-45deg);
    }
  }
  @keyframes active-menu-bar03 {
    0% {
      -webkit-transform: translateY(0) rotate(0);
              transform: translateY(0) rotate(0);
    }
    50% {
      -webkit-transform: translateY(-9px) rotate(0);
              transform: translateY(-9px) rotate(0);
    }
    100% {
      -webkit-transform: translateY(-9px) rotate(-45deg);
              transform: translateY(-9px) rotate(-45deg);
    }
  }
  .MenuOpened {
    z-index: 13 !important;
    display: block;
  }
  .MenuOpened .global-menu-btn {
    z-index: 11;
    background: #0f114f;
  }
  .MenuOpened .global-menu-btn i:nth-child(1) {
    -webkit-animation: active-menu-bar01 .75s forwards;
            animation: active-menu-bar01 .75s forwards;
  }
  .MenuOpened .global-menu-btn i:nth-child(2) {
    opacity: 0;
  }
  .MenuOpened .global-menu-btn i:nth-child(3) {
    -webkit-animation: active-menu-bar03 .75s forwards;
            animation: active-menu-bar03 .75s forwards;
  }
  .MenuOpened .wrap {
    z-index: 10 !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(0, 0, 0, 0.7) !important;
  }
  .MenuOpened .wrap .navwrap {
    opacity: 1 !important;
    -webkit-transform: translateX(0) !important;
    transform: translateX(0) !important;
    overflow: initial;
    height: 100vh !important;
    margin-left: auto;
  }
}

@media screen and (max-width: 640px) {
  #global_header #hednav .wrap .navwrap {
    height: 100%;
    overflow-y: auto;
  }
}

footer#global_footer {
  width: 100%;
  min-width: 100% !important;
  height: auto;
}

footer#global_footer a {
  color: #333;
  text-decoration: none;
}

footer#global_footer #pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 10;
}

@media screen and (max-width: 640px) {
  footer#global_footer #pagetop {
    bottom: 66px;
  }
}

footer#global_footer #pagetop a {
  display: block;
  width: 50px;
  padding: 10px 0;
  border-radius: 50%;
  background: #1d2088;
  font-size: 30px;
  color: #fff;
  text-align: center;
}

footer#global_footer #pagetop a:hover {
  opacity: 1;
  background: #0f114f;
}

footer#global_footer #footer > .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 30px 20px;
}

@media screen and (max-width: 834px) {
  footer#global_footer #footer > .inner {
    display: block;
  }
}

footer#global_footer address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: left;
}

@media screen and (max-width: 834px) {
  footer#global_footer address {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 640px) {
  footer#global_footer address {
    display: block;
    text-align: center;
  }
}

footer#global_footer address .flogo {
  width: 67px;
  margin-right: 20px;
}

@media screen and (max-width: 640px) {
  footer#global_footer address .flogo {
    margin: 0 auto 15px auto;
  }
}

footer#global_footer address .flogo a {
  display: block;
}

footer#global_footer address .txtBox .siteID {
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: bold;
  color: #0f114f;
}

footer#global_footer #fotCont {
  overflow: hidden;
  min-width: 373px;
  border: 1px solid #ccc;
  border-radius: 10px;
}

@media screen and (max-width: 834px) {
  footer#global_footer #fotCont {
    display: inline-block;
  }
}

@media screen and (max-width: 640px) {
  footer#global_footer #fotCont {
    min-width: 300px;
  }
}

footer#global_footer #fotCont h2, footer#global_footer #fotCont .title_01._index01 h3, .title_01._index01 footer#global_footer #fotCont h3 {
  padding: 1.5px 3px;
  background: #fe9d12;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}

footer#global_footer #fotCont .contWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px 20px 5px 20px;
}

@media screen and (max-width: 640px) {
  footer#global_footer #fotCont .contWrap {
    display: block;
  }
}

footer#global_footer #fotCont .contWrap ul {
  margin-right: 20px;
}

@media screen and (max-width: 640px) {
  footer#global_footer #fotCont .contWrap ul {
    margin: 0 auto 15px auto;
  }
}

footer#global_footer #fotCont .contWrap ul li {
  margin-bottom: 7px;
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 640px) {
  footer#global_footer #fotCont .contWrap ul li {
    margin-bottom: 15px;
    font-size: 20px;
  }
}

footer#global_footer #fotCont .contWrap ul li:last-of-type {
  margin-bottom: 0;
}

footer#global_footer #fotCont .contWrap ul li a {
  display: block;
  font-weight: bold;
  letter-spacing: 0.07em;
}

footer#global_footer #fotCont .contWrap ul li i {
  margin-right: 10px;
}

footer#global_footer #fotCont .contWrap .cont {
  width: 160px;
}

@media screen and (max-width: 640px) {
  footer#global_footer #fotCont .contWrap .cont {
    width: 100%;
  }
}

footer#global_footer #fotCont .contWrap .cont a {
  display: block;
  padding: 5.5px 3px;
  background: #dc0508;
  border: 1px solid #dc0508;
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  letter-spacing: 0.07em;
}

footer#global_footer #fotCont .contWrap .cont a i {
  margin-right: 10px;
}

footer#global_footer #fotCont .contWrap .cont a:hover {
  opacity: 1;
  background: #fff;
  color: #dc0508;
}

footer#global_footer #fotCont .linkTxt {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 12px;
}

footer#global_footer #fotCont .linkTxt i {
  margin-right: 7px;
}

footer#global_footer #fotCont .linkTxt:hover {
  color: #1d2088;
}

footer#global_footer #copy {
  display: block;
  padding: 16px 10px;
  border-top: 1px solid #ccc;
  font-size: 14px;
}

@media screen and (max-width: 640px) {
  footer#global_footer #copy {
    padding-bottom: 66px;
  }
}

footer#global_footer #copy a {
  text-decoration: none;
}

footer#global_footer #copy a:hover {
  opacity: 1;
}

.title_01._common article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 640px) {
  .title_01._common article {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media screen and (max-width: 640px) {
  .title_01._common article > div {
    width: 100%;
  }
}

.title_01._common article p {
  margin-right: 30px;
  padding-right: 30px;
  border-right: 1px solid #333;
  font-family: "Oswald", sans-serif;
  font-size: 80px;
  font-weight: bold;
  line-height: 0.9;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 640px) {
  .title_01._common article p {
    margin: 0 0 30px 0;
    padding: 0;
    border: none;
    font-size: 55px;
  }
}

.title_01._common article h1 {
  font-size: 18px;
}

@media screen and (max-width: 640px) {
  .title_01._common article h1 {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .title_01._common article h2, .title_01._common article .title_01._index01 h3, .title_01._index01 .title_01._common article h3 {
    width: 100%;
  }
}

.title_01._index01 p {
  color: #1d2088;
}

.title_01._index01 h2, .title_01._index01 h3 {
  position: relative;
  padding-left: 35px;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.3;
}

@media screen and (max-width: 640px) {
  .title_01._index01 h2, .title_01._index01 h3 {
    font-size: 24px;
  }
}

.title_01._index01 h2:before, .title_01._index01 h3:before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  width: 25px;
  height: 25px;
  background: #1d2088;
}

.title_01._index01 h2:after, .title_01._index01 h3:after {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  width: 10px;
  height: 10px;
  background: #30b8e5;
}

.title_01._index02 article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.title_01._index02 article h3 {
  margin-top: 22px;
  font-weight: bold;
}

.title_01._index02 article p {
  font-family: "Oswald", sans-serif;
  font-size: 50px;
  font-weight: bold;
}

.title_01._index03 article p {
  color: #1d2088;
}

.triangle {
  position: relative;
}

.triangle:before {
  content: "";
  position: absolute;
  display: block;
  width: 39%;
  height: 13vw;
}

@media screen and (max-width: 640px) {
  .triangle:before {
    width: 90%;
    height: 32vw;
  }
}

.triangle._blue:before {
  top: 0;
  left: 0;
  background: url(../images/contents/bgTriangle01.png) no-repeat;
  background-size: contain;
}

.triangle._aqua:before {
  top: 0;
  left: 0;
  background: url(../images/contents/bgTriangle02.png) no-repeat;
  background-size: contain;
}

.triangle._aqua:after {
  content: "";
  position: absolute;
  display: block;
  width: 39%;
  height: 13vw;
  bottom: 0;
  right: 0;
  background: url(../images/contents/bgTriangle03.png) no-repeat;
  background-size: contain;
}

.triangle._gry:before {
  top: 0;
  left: 0;
  background: url(../images/contents/bgTriangle04.png) no-repeat;
  background-size: contain;
}

.triangle._org:before {
  bottom: 0;
  right: 0;
  background: url(../images/contents/bgTriangle05.png) no-repeat;
  background-size: contain;
}

.triangle .inner {
  position: relative;
  z-index: 1;
}

.bgLogo {
  position: relative;
}

.bgLogo:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  display: block;
  width: 300px;
  height: 285px;
  background: url(../images/contents/bgLogo.png) no-repeat;
  background-size: contain;
}

@media screen and (max-width: 640px) {
  .bgLogo:before {
    right: -15px;
    width: 180px;
    height: 175px;
  }
}

.con_01 .box {
  width: 23.5%;
  margin-right: 2%;
  margin-bottom: 20px;
  padding: 20px 15px 30px 15px;
  border: 1px solid #ccc;
  border-radius: 10px;
}

@media screen and (max-width: 1000px) {
  .con_01 .box {
    width: 49%;
    margin-right: 2%;
  }
}

@media screen and (max-width: 640px) {
  .con_01 .box {
    width: 100%;
    margin-right: 0;
  }
}

.con_01 .box:nth-of-type(4n) {
  margin-right: 0;
}

@media screen and (max-width: 1000px) {
  .con_01 .box:nth-of-type(even) {
    margin-right: 0;
  }
}

.con_01 .box td {
  padding: 0 !important;
  border: none !important;
}

.con_01 .box td h3 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
  color: #1d2088;
  line-height: 1.3;
}

@media only screen and (max-width: 1200px) {
  .con_01 .box td h3 {
    font-size: 16px;
  }
}

.con_01 .box td h3 strong {
  font-size: 28px;
}

@media only screen and (max-width: 1200px) {
  .con_01 .box td h3 strong {
    font-size: 26px;
  }
}

.con_01 .box .ill {
  padding-bottom: 20px !important;
}

.con_01 .box .ill i {
  font-size: 80px;
  font-weight: 200;
  color: #1d2088;
}

.con_02 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.con_02 ul li {
  width: 49%;
  margin-right: 2%;
  margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
  .con_02 ul li {
    width: 100%;
    margin-right: 0;
  }
}

.con_02 ul li:nth-of-type(even) {
  margin-right: 0;
}

.con_02 ul li img {
  width: 100% !important;
}

.con_02 ul li a {
  position: relative;
  display: block;
}

.con_02 ul li a p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  font-family: "Oswald", sans-serif;
  font-size: 70px;
  text-shadow: 0 0 10px rgba(86, 62, 34, 0.85);
  text-align: center;
  color: #fff;
}

@media screen and (max-width: 1000px) {
  .con_02 ul li a p {
    font-size: 58px;
  }
}

.con_02 ul li a p .sub {
  display: block;
  margin-bottom: 35px;
  font-size: 22px;
}

@media screen and (max-width: 1000px) {
  .con_02 ul li a p .sub {
    font-size: 19px;
  }
}

@media screen and (max-width: 834px) {
  .con_02 ul li a p .sub {
    margin-bottom: 15px;
    font-size: 18px;
  }
}

.con_02 ul li a p .ja {
  display: block;
  margin-top: 42px;
  font-size: 18px;
  font-weight: bold;
}

@media screen and (max-width: 1000px) {
  .con_02 ul li a p .ja {
    font-size: 16px;
  }
}

@media screen and (max-width: 834px) {
  .con_02 ul li a p .ja {
    margin-top: 18px;
    font-size: 14px;
  }
}

.con_03 .title_01 {
  color: #fff;
}

.con_03 .title_01 article p {
  border-right: 1px solid #fff;
}

@media screen and (max-width: 640px) {
  .con_03 .title_01 article p {
    border: none;
  }
}

.con_03 .flexBox .box {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 20px;
  border-radius: 10px;
}

@media screen and (max-width: 834px) {
  .con_03 .flexBox .box {
    width: 49%;
    margin-right: 2%;
  }
}

@media screen and (max-width: 640px) {
  .con_03 .flexBox .box {
    width: 100%;
    margin-right: 0;
  }
}

.con_03 .flexBox .box:nth-of-type(3n) {
  margin-right: 0;
}

@media screen and (max-width: 834px) {
  .con_03 .flexBox .box:nth-of-type(3n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 834px) {
  .con_03 .flexBox .box:nth-of-type(even) {
    margin-right: 0;
  }
}

.con_03 .flexBox .box td {
  padding: 0 !important;
  border: none !important;
}

@media screen and (max-width: 640px) {
  .con_03 .flexBox .box td {
    height: 100% !important;
  }
}

.con_03 .flexBox .box td h3 {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 640px) {
  .con_03 .flexBox .box td h3 {
    margin-bottom: 10px;
  }
}

.con_03 .flexBox .box td i {
  font-size: 80px;
  font-weight: 200;
}

@media screen and (max-width: 834px) {
  .con_03 .flexBox .box td i {
    margin-top: 10px;
    font-size: 62px;
  }
}

.con_03 .flexBox .box .h3wrap {
  padding: 0 8% 0 1% !important;
}

@media screen and (max-width: 640px) {
  .con_03 .flexBox .box .h3wrap {
    padding: 0 0 10px 0 !important;
  }
}

.con_03 .flexBox .org01 h3 {
  color: #fe9d12;
}

.con_03 .flexBox .org02 h3 {
  color: #f04a17;
}

.con_03 .flexBox .grn h3 {
  color: #24b53f;
}

.con_04 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 640px) {
  .con_04 ul {
    display: block;
  }
}

.con_04 ul li {
  width: 50%;
  cursor: pointer;
  padding: 26.5px 10px;
  background: #969696;
  font-size: 24px;
  letter-spacing: 0.1em;
  text-align: center !important;
  color: #fff;
}

@media screen and (max-width: 834px) {
  .con_04 ul li {
    font-size: 20px;
  }
}

@media screen and (max-width: 640px) {
  .con_04 ul li {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .con_04 ul li:after {
    content: "\f107";
    font-family: "Font Awesome 5 Pro";
    font-weight: 200;
    display: inline-block;
    margin-left: 10px;
  }
}

.con_05 {
  background-color: rgba(221, 221, 221, 0.6);
  background-image: repeating-linear-gradient(-45deg, #fff, #fff 4px, transparent 0, transparent 6px);
}

.con_05 .tab_sub {
  position: relative;
  overflow: hidden;
  -webkit-box-shadow: 0 0 10px rgba(86, 62, 34, 0.1);
          box-shadow: 0 0 10px rgba(86, 62, 34, 0.1);
}

.con_05 .tab_sub:before {
  content: "";
  width: 1px;
  height: 85%;
  position: absolute;
  top: 50px;
  left: 90px;
  display: block;
  border-left: 1px dashed #333;
}

@media screen and (max-width: 834px) {
  .con_05 .tab_sub:before {
    left: 76px;
  }
}

@media screen and (max-width: 640px) {
  .con_05 .tab_sub:before {
    left: 56px;
    height: 87%;
  }
}

.con_05 .tab_sub > ul {
  counter-reset: number 0;
}

.con_05 .tab_sub > ul > li {
  position: relative;
  overflow: initial !important;
  min-height: 100px;
  margin-bottom: 50px;
  padding-left: 120px;
}

@media screen and (max-width: 834px) {
  .con_05 .tab_sub > ul > li {
    padding-left: 96px;
  }
}

@media screen and (max-width: 640px) {
  .con_05 .tab_sub > ul > li {
    padding-left: 60px;
  }
}

.con_05 .tab_sub > ul > li:before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
  position: absolute;
  top: -20px;
  left: 0;
  width: 100px;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 35.5px 10px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #333;
  font-family: "Oswald", sans-serif;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 834px) {
  .con_05 .tab_sub > ul > li:before {
    width: 70px;
    padding: 20.5px 10px;
    font-size: 30px;
  }
}

@media screen and (max-width: 640px) {
  .con_05 .tab_sub > ul > li:before {
    top: -8px;
    width: 50px;
    padding: 10.5px 10px;
    font-size: 24px;
  }
}

.con_05 .tab_sub > ul > li:last-of-type {
  margin-bottom: 0;
}

.con_05 .tab_sub > ul > li h3 {
  margin-bottom: 7px;
  font-size: 22px;
  font-weight: bold;
}

.con_05 .tab_sub > ul > li .contWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 12px;
}

@media screen and (max-width: 640px) {
  .con_05 .tab_sub > ul > li .contWrap {
    display: block;
  }
}

@media screen and (max-width: 640px) {
  .con_05 .tab_sub > ul > li .contWrap li {
    width: 100%;
    text-align: center !important;
  }
}

.con_05 .tab_sub > ul > li .contWrap .tel {
  margin-right: 30px;
}

@media screen and (max-width: 640px) {
  .con_05 .tab_sub > ul > li .contWrap .tel {
    margin: 0 0 15px 0;
  }
}

.con_05 .tab_sub > ul > li .contWrap .tel a {
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.07em;
}

@media screen and (max-width: 834px) {
  .con_05 .tab_sub > ul > li .contWrap .tel a {
    font-size: 25px;
  }
}

.con_05 .tab_sub > ul > li .contWrap .tel a:before {
  content: "\f879";
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  margin-right: 10px;
}

.con_05 .tab_sub > ul > li .contWrap .cont a {
  display: block;
  padding: 9.5px 27px;
  background: #dc0508;
  border: 1px solid #dc0508;
  font-family: "Oswald", sans-serif;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.07em;
  color: #fff;
}

@media screen and (max-width: 834px) {
  .con_05 .tab_sub > ul > li .contWrap .cont a {
    font-size: 22px;
  }
}

@media screen and (max-width: 640px) {
  .con_05 .tab_sub > ul > li .contWrap .cont a {
    padding: 10px;
    text-align: center;
  }
}

.con_05 .tab_sub > ul > li .contWrap .cont a:before {
  content: "\f0e0";
  font-family: "Font Awesome 5 Pro";
  font-weight: 900;
  margin-right: 12px;
}

.con_05 .tab_sub > ul > li .contWrap .cont a:hover {
  opacity: 1;
  background: #fff;
  color: #dc0508;
}

.con_05 .tab_sub > ul > li .liDots {
  display: block;
}

.con_05 .tab_sub > ul > li .liDots li {
  position: relative;
  width: 100%;
  margin-bottom: 5px;
  padding-left: 17px;
}

.con_05 .tab_sub > ul > li .liDots li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.con_05 .tab_sub > ul > li .kome {
  display: block;
}

.con_05 .tab_sub > ul > li .kome li {
  position: relative;
  width: 100%;
  padding-left: 17px;
  font-size: 13px;
}

.con_05 .tab_sub > ul > li .kome li:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.con_06 .title_01 {
  color: #fff;
}

.con_06 .title_01 article p {
  border-right: 1px solid #fff;
}

@media screen and (max-width: 640px) {
  .con_06 .title_01 article p {
    border-right: none;
  }
}

.con_06 .flexBox {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.con_06 .flexBox .imgBox {
  width: 50%;
  margin-right: 4%;
}

@media screen and (max-width: 834px) {
  .con_06 .flexBox .imgBox {
    width: 35%;
  }
}

@media screen and (max-width: 640px) {
  .con_06 .flexBox .imgBox {
    width: 100%;
  }
}

.con_06 .flexBox .txtBox {
  width: 46%;
}

@media screen and (max-width: 834px) {
  .con_06 .flexBox .txtBox {
    width: 61%;
  }
}

@media screen and (max-width: 640px) {
  .con_06 .flexBox .txtBox {
    width: 100%;
  }
}

.con_06 .flexBox .txtBox h3 {
  margin-bottom: 20px;
  font-size: 22px;
  font-weight: bold;
}

@media only screen and (max-width: 1200px) {
  .con_06 .flexBox .txtBox h3 {
    font-size: 21px;
  }
}

@media screen and (max-width: 834px) {
  .con_06 .flexBox .txtBox h3 {
    font-size: 17px;
  }
}

.con_06 .flexBox .txtBox h3 .sub {
  display: block;
  margin-top: 10px;
  font-size: 18px;
}

@media screen and (max-width: 834px) {
  .con_06 .flexBox .txtBox h3 .sub {
    font-size: 16px;
  }
}

.con_06 .flexBox .txtBox .pntTxt p {
  display: inline;
  font-size: 18px;
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, rgba(254, 229, 18, 0)), color-stop(70%, #fee512));
  background: linear-gradient(rgba(254, 229, 18, 0) 70%, #fee512 70%);
}

@media screen and (max-width: 640px) {
  .con_06 .flexBox .txtBox .pntTxt p {
    font-size: 16px;
  }
}

.cate01 li, .cate02 li {
  margin: 0 10px 10px 0;
  padding: 1.5px 13px;
  border-radius: 3px;
  background: #0b3847;
  font-size: 18px;
  color: #fff;
  text-align: center !important;
}

@media screen and (max-width: 1000px) {
  .cate01 li, .cate02 li {
    font-size: 16px;
  }
}

@media screen and (max-width: 640px) {
  .cate01 li, .cate02 li {
    width: 100%;
    margin-right: 0;
  }
}

.cate01._works li, ._works.cate02 li {
  background: #262ab2;
}

.cate02 li {
  padding: 1.5px 34px;
  background: #19708d;
}

@media screen and (max-width: 640px) {
  .cate02 li {
    width: 49%;
    margin-right: 2%;
  }
}

@media screen and (max-width: 640px) and (max-width: 640px) {
  .cate02 li:nth-of-type(even) {
    margin-right: 0;
  }
}

.cate02._works li {
  background: #14165e;
}

.tab_sub03 {
  border-top: 2px solid #333;
  border-bottom: 2px solid #333;
}

.tab_sub03 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
  .tab_sub03 ul {
    display: block;
  }
}

.tab_sub03 ul li {
  position: relative;
  width: 48%;
  margin-right: 4%;
  padding: 10px 0 10px 27px;
  border-bottom: 1px dashed #ccc;
}

@media screen and (max-width: 640px) {
  .tab_sub03 ul li {
    width: 100%;
    margin-right: 0;
  }
}

.tab_sub03 ul li:nth-of-type(even) {
  margin-right: 0;
}

.tab_sub03 ul li:before {
  content: "\f111";
  font-family: "Font Awesome 5 Pro";
  font-weight: 200;
  color: #ccc;
  position: absolute;
  top: 11px;
  left: 0;
}

.con_07 .title_01 article {
  color: #fff;
}

.con_07 .title_01 article p {
  border-right: 1px solid #fff;
}

@media screen and (max-width: 640px) {
  .con_07 .title_01 article p {
    border-right: none;
  }
}

.con_07 .faq {
  margin-bottom: 10px;
}

.con_07 .faq li {
  position: relative;
  padding: 10px 40px 10px 50px;
}

.con_07 .faq li:before {
  position: absolute;
  top: 9px;
  left: 20px;
  display: block;
  width: 25px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}

.con_07 .faq li:first-of-type {
  cursor: pointer;
}

.con_07 .faq li:first-of-type:before {
  content: "Q.";
  color: #1d2088;
}

.con_07 .faq li:first-of-type:after {
  content: "\f107";
  font-family: "Font Awesome 5 Pro";
  font-weight: 200;
  font-size: 18px;
  color: #fe9d12;
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.con_07 .faq li:nth-of-type(2):before {
  content: "A.";
  color: #dc0508;
}

.con_07 .faq li.active:after {
  content: "\f106";
}

.con_08 .bgWh {
  padding: 40px;
  background: rgba(255, 255, 255, 0.9);
}

@media screen and (max-width: 640px) {
  .con_08 .bgWh {
    padding: 30px;
  }
}

.con_08 .bgWh .title_01 article p {
  color: #1d2088;
}

.con_08 dl {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 10px;
}

@media screen and (max-width: 640px) {
  .con_08 dl {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.con_08 dl dt, .con_08 dl dd {
  display: block !important;
  padding: 0 !important;
  border: none !important;
}

.con_08 dl dt {
  padding: 1.5px !important;
  border-radius: 3px;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .con_08 dl dt {
    width: 100% !important;
    padding: 0 10px !important;
    text-align: left;
  }
}

.con_08 dl dd {
  padding-left: 20px !important;
}

@media screen and (max-width: 640px) {
  .con_08 dl dd {
    padding: 0 !important;
  }
}

.slider02 li {
  padding: 0 10px;
}

.slider02 li img {
  width: 100% !important;
  height: 16.6vw !important;
  min-height: 320px;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover; object-position: center top;';
}

@media screen and (max-width: 1000px) {
  .slider02 li img {
    min-height: 250px;
  }
}

@media screen and (max-width: 834px) {
  .slider02 li img {
    height: 30vw !important;
    min-height: 190px;
  }
}

@media screen and (max-width: 640px) {
  .slider02 li img {
    height: 29vw !important;
    min-height: 108px;
  }
}

.slider03 .slick-slider .slick-list li img {
  height: 16vw !important;
  min-height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover; object-position: center top;';
  margin: 0 auto !important;
}

@media screen and (max-width: 834px) {
  .slider03 .slick-slider .slick-list li img {
    height: 20vw !important;
    min-height: 128px;
  }
}

@media screen and (max-width: 640px) {
  .slider03 .slick-slider .slick-list li img {
    height: 48vw !important;
    min-height: 180px;
  }
}

.slider03 .slick-slider .slick-dots {
  position: static !important;
  bottom: auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 10px;
}

.slider03 .slick-slider .slick-dots li {
  margin: 0;
}

.slider04 .slick-slider .slick-arrow {
  top: -42px;
  width: 48px;
  height: 48px;
  background: #fff;
  border-radius: 50%;
}

@media screen and (max-width: 640px) {
  .slider04 .slick-slider .slick-arrow {
    top: auto;
    bottom: -82px;
  }
}

.slider04 .slick-slider .slick-prev {
  left: auto;
  right: 68px;
}

.slider04 .slick-slider .slick-prev:before {
  content: "\f104";
  font-family: "Font Awesome 5 Pro";
  font-weight: 200;
  font-size: 20px;
  color: #333;
  text-align: center;
}

.slider04 .slick-slider .slick-next {
  right: 0;
}

.slider04 .slick-slider .slick-next:before {
  content: "\f105";
  font-family: "Font Awesome 5 Pro";
  font-weight: 200;
  font-size: 20px;
  color: #333;
  text-align: center;
}

.slider04 .slick-slider .slick-list {
  width: 150%;
}

@media screen and (max-width: 834px) {
  .slider04 .slick-slider .slick-list {
    width: 110%;
  }
}

@media screen and (max-width: 640px) {
  .slider04 .slick-slider .slick-list {
    width: 100%;
  }
}

.slider04 .slick-slider .slick-list li {
  padding: 0 10px;
}

.slider04 .slick-slider .slick-list li img {
  width: 100% !important;
  height: 12vw !important;
  min-height: 230px;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover; object-position: center top;';
}

@media screen and (max-width: 1000px) {
  .slider04 .slick-slider .slick-list li img {
    min-height: 180px;
  }
}

@media screen and (max-width: 834px) {
  .slider04 .slick-slider .slick-list li img {
    height: 33vw !important;
    min-height: 102px;
  }
}

@media screen and (max-width: 640px) {
  .slider04 .slick-slider .slick-list li img {
    height: 29vw !important;
    min-height: 108px;
  }
}

.serv_poster ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.serv_poster ul li {
  width: 18.4%;
  margin-right: 2%;
  margin-bottom: 15px;
}

.serv_poster ul li:nth-of-type(5n) {
  margin-right: 0;
}

.serv_poster ul li img {
  width: 100% !important;
  height: 12vw !important;
  min-height: 205px;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover; object-position: center top;';
}

@media screen and (max-width: 834px) {
  .serv_poster ul li img {
    height: 23vw !important;
    min-height: 150px;
  }
}

@media screen and (max-width: 640px) {
  .serv_poster ul li img {
    min-height: 85px;
  }
}

.serv_other ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.serv_other01 li {
  width: 18.4%;
  margin-right: 2%;
  margin-bottom: 15px;
}

.serv_other01 li:nth-of-type(5n) {
  margin-right: 0;
}

.serv_other01 li img {
  width: 100% !important;
  height: 7vw !important;
  min-height: 105px;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover; object-position: center top;';
}

@media screen and (max-width: 834px) {
  .serv_other01 li img {
    height: 11vw !important;
    min-height: 90px;
  }
}

@media screen and (max-width: 640px) {
  .serv_other01 li img {
    height: 12vw !important;
    min-height: 55px;
  }
}

.serv_prem {
  width: 150%;
}

@media screen and (max-width: 834px) {
  .serv_prem {
    width: 110%;
  }
}

@media screen and (max-width: 640px) {
  .serv_prem {
    width: 100%;
  }
}

.serv_prem ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.serv_prem ul li {
  width: 23.5%;
  margin-right: 2%;
  text-align: center !important;
}

@media screen and (max-width: 640px) {
  .serv_prem ul li {
    width: 49%;
  }
}

@media screen and (max-width: 640px) {
  .serv_prem ul li:nth-of-type(even) {
    margin-right: 0;
  }
}

.serv_prem ul li article > div {
  margin-top: 10px;
  text-align: center;
  line-height: 1.7;
}

.serv_prem ul li article > div .sub {
  display: block;
  font-size: 13px;
}

.slider05 .slick-slider .slick-arrow:before, .slider05 .slick-slider .slick-arrow:after {
  color: #333;
}

.slider05 .slick-list .slick-slide {
  padding: 0 10px;
}

.slider05 .slick-list .slick-slide a {
  display: block;
  width: 100% !important;
  height: auto !important;
  padding: 20px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
}

@media screen and (max-width: 640px) {
  .slider05 .slick-list .slick-slide a {
    padding: 15px;
  }
}

.slider05 .slick-list .slick-slide article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

@media screen and (max-width: 834px) {
  .slider05 .slick-list .slick-slide article {
    display: block;
  }
}

.slider05 .slick-list .slick-slide article img {
  max-width: 29% !important;
  height: auto !important;
  margin-left: 6%;
  border: 1px solid #ccc;
}

@media screen and (max-width: 834px) {
  .slider05 .slick-list .slick-slide article img {
    max-width: 100% !important;
    margin: 0 auto 10px auto;
  }
}

.slider05 .slick-list .slick-slide article > div {
  width: 65%;
  font-size: 14px;
}

@media screen and (max-width: 834px) {
  .slider05 .slick-list .slick-slide article > div {
    width: 100%;
  }
}

.slider05 .slick-list .slick-slide article > div .dateBox {
  display: block;
  font-size: 16px;
  font-weight: bold;
}

.tab_sub.active,
.tab_sub02.active,
.tab_sub03.active {
  display: block !important;
}

.tab_hed02 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.tab_hed02 ul li {
  width: 23.5%;
  margin-right: 2%;
  margin-bottom: 15px;
  padding: 6px 10px;
  background: #fff;
  text-align: center !important;
  cursor: pointer;
}

@media screen and (max-width: 1000px) {
  .tab_hed02 ul li {
    font-size: 14px;
  }
}

@media screen and (max-width: 834px) {
  .tab_hed02 ul li {
    width: 32%;
  }
}

@media screen and (max-width: 640px) {
  .tab_hed02 ul li {
    width: 49%;
    padding: 6px;
    font-size: 13px;
  }
}

.tab_hed02 ul li:nth-of-type(4n) {
  margin-right: 0;
}

@media screen and (max-width: 834px) {
  .tab_hed02 ul li:nth-of-type(4n) {
    margin-right: 2%;
  }
}

@media screen and (max-width: 834px) {
  .tab_hed02 ul li:nth-of-type(3n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 640px) {
  .tab_hed02 ul li:nth-of-type(3n) {
    margin-right: 2%;
  }
}

@media screen and (max-width: 640px) {
  .tab_hed02 ul li:nth-of-type(even) {
    margin-right: 0;
  }
}

.tab_hed02 ul li:before {
  content: "\f105";
  font-family: "Font Awesome 5 Pro";
  font-weight: 200;
  display: inline-block;
  margin-right: 7px;
}

.tab_hed03 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.tab_hed03 ul li {
  cursor: pointer;
  width: 18.4%;
  margin-right: 2%;
  margin-bottom: 15px;
  padding: 5px 0;
  border: 1px solid #333;
  text-align: center !important;
}

@media screen and (max-width: 834px) {
  .tab_hed03 ul li {
    width: 23.5%;
  }
}

@media screen and (max-width: 640px) {
  .tab_hed03 ul li {
    width: 49%;
  }
}

.tab_hed03 ul li:nth-of-type(5n) {
  margin-right: 0;
}

@media screen and (max-width: 834px) {
  .tab_hed03 ul li:nth-of-type(5n) {
    margin-right: 2%;
  }
}

@media screen and (max-width: 834px) {
  .tab_hed03 ul li:nth-of-type(4n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 640px) {
  .tab_hed03 ul li:nth-of-type(even) {
    margin-right: 0;
  }
}

.tab_hed03 ul li:before {
  content: "\f105";
  font-family: "Font Awesome 5 Pro";
  font-weight: 200;
  display: inline-block;
  margin-right: 7px;
}

div.items > article a {
  color: #111;
  text-decoration: none !important;
  font-size: 16px;
}

div.under ul li a {
  font-weight: 400;
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  opacity: 1;
  border: 1px solid #333;
  color: #333 !important;
  padding: 10px;
}

div.under ul li a:hover {
  border: 1px solid #b0ddd9;
  background: #b0ddd9;
  color: #fff !important;
}

div.select > select {
  height: 100%;
}

div.search form input {
  padding: 10px 37px 10px 5px;
}

div.order ul li a {
  color: #111;
}

div.items > article p.price {
  color: red;
}

div.crumb {
  display: none;
}

div.item_view div.item_option {
  width: 100% !important;
}

div.item_option dl, button.addcart {
  width: 50% !important;
}

@media screen and (max-width: 834px) {
  div.item_option dl, button.addcart {
    margin: 0 auto;
  }
}

@media screen and (max-width: 834px) {
  .addcart {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

div.item_view div.struct {
  display: block;
}

div.photo div.large {
  width: auto;
}

div.photo {
  margin-left: 0;
}

h2.title_h2, .title_01._index01 h3.title_h2 {
  background: none !important;
  border-top: none !important;
  border-bottom: 1px solid #CCCCCC;
  font-size: 20px !important;
  line-height: 1.3;
  margin: 65px 0 20px !important;
  padding: 10px !important;
}

h2.title_h2 span, .title_01._index01 h3.title_h2 span {
  border: none !important;
  padding: 0 !important;
}

ul.item_list li {
  margin-bottom: 10px !important;
}

ul.item_list li h3.title_h3 {
  font-size: 18px !important;
}

.btn_cart a {
  background: url(../images/common/ico_cart_w.png) no-repeat 10px 12px #000000 !important;
  background-size: 30px auto !important;
  color: #FFFFFF !important;
  display: block !important;
  padding: 10px 10px 10px 50px !important;
  width: 100% !important;
  border: 1px solid #ffffff;
}

.btn_cart a:hover {
  background: url(../images/common/ico_cart_w.png) no-repeat 10px 12px #CCCCCC !important;
  background-size: 30px auto !important;
}

.sort_catalog {
  overflow: hidden;
}

.sort_catalog ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.item_title, .wishlist {
  margin: 0 !important;
}

.shop_cont h2.title_h2, .shop_cont .title_01._index01 h3.title_h2, .title_01._index01 .shop_cont h3.title_h2, .item_info h2.title_h2, .item_info .title_01._index01 h3.title_h2, .title_01._index01 .item_info h3.title_h2 {
  border-top: 2px solid #CCCCCC;
}

.shop_cont a, .item_info a {
  color: #CCCCCC;
}

.shop_cont a:hover, .item_info a:hover {
  text-decoration: none;
}

.item_title h2, .item_title .title_01._index01 h3, .title_01._index01 .item_title h3 {
  border-top: 2px solid #CCCCCC;
  border-bottom: 1px solid #CCCCCC;
}

.shop_cont table {
  table-layout: auto;
}

.btn a {
  display: block;
  max-width: 300px;
  background: #0f114f;
  color: #fff;
  margin-top: 20px;
  padding: 15px 0;
  width: 100%;
  text-align: center;
  text-decoration: none;
}

@media screen and (max-width: 640px) {
  .btn a {
    margin-right: auto;
    margin-left: auto;
  }
}

.flex1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex1._top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.flex1._center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flex1:before {
  width: calc(100% / 1 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex1:before {
  width: calc(100% / 1 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex1:after {
  width: calc(100% / 1 - 1%);
  content: "";
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.flex1 .box {
  width: calc(100% / 1 - 1%);
  margin-bottom: 2%;
}

@media screen and (max-width: 834px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._tabwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

@media screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._spwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

.flex1 .box img {
  width: 100% !important;
}

.flex2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex2._top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.flex2._center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flex2:before {
  width: calc(100% / 2 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex2:before {
  width: calc(100% / 2 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex2:after {
  width: calc(100% / 2 - 1%);
  content: "";
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.flex2 .box {
  width: calc(100% / 2 - 1%);
  margin-bottom: 2%;
}

@media screen and (max-width: 834px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._tabwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

@media screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._spwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

.flex2 .box img {
  width: 100% !important;
}

.flex3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex3._top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.flex3._center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flex3:before {
  width: calc(100% / 3 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex3:before {
  width: calc(100% / 3 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex3:after {
  width: calc(100% / 3 - 1%);
  content: "";
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.flex3 .box {
  width: calc(100% / 3 - 1%);
  margin-bottom: 2%;
}

@media screen and (max-width: 834px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._tabwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

@media screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._spwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

.flex3 .box img {
  width: 100% !important;
}

.flex4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.flex4._top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.flex4._center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flex4:before {
  width: calc(100% / 4 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex4:before {
  width: calc(100% / 4 - 1%);
  content: "";
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.flex4:after {
  width: calc(100% / 4 - 1%);
  content: "";
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.flex4 .box {
  width: calc(100% / 4 - 1%);
  margin-bottom: 2%;
}

@media screen and (max-width: 834px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._tabwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

@media screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(100% / 2 - 1%);
  }
  ._spwidth3 .box {
    width: calc(100% / 3 - 1%);
  }
}

.flex4 .box img {
  width: 100% !important;
}

.square._100 .square-inner:before {
  padding-top: 100%;
}

.square._75 .square-inner:before {
  padding-top: 75%;
}

.square._66 .square-inner:before {
  padding-top: 66%;
}

.square td .square-inner {
  display: block;
  position: relative;
}

.square td .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}

.square td .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}

.square > .square-inner {
  display: block;
  position: relative;
}

.square > .square-inner .itext {
  float: none !important;
  margin-right: 0 !important;
}

.square > .square-inner .itext img {
  float: none !important;
  margin-right: 0 !important;
}

.square > .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}

.square > .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}

.square > .box .itext {
  float: none !important;
  margin-right: 0 !important;
}

.square > .box .itext img {
  float: none !important;
  margin-right: 0 !important;
}

.square > .box .square-inner {
  display: block;
  position: relative;
}

.square > .box .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}

.square > .box .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}

.bg100 {
  margin-right: calc(((100vw - 100%) / 2) * -1) !important;
  margin-left: calc(((100vw - 100%) / 2) * -1) !important;
}

.flex2cl_01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}

@media screen and (max-width: 834px) {
  .flex2cl_01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.flex2cl_01 .flxL {
  width: 57%;
}

@media screen and (max-width: 834px) {
  .flex2cl_01 .flxL {
    width: 100%;
  }
}

.flex2cl_01 .flxR {
  width: 40%;
}

@media screen and (max-width: 834px) {
  .flex2cl_01 .flxR {
    width: 100%;
    margin-bottom: 20px;
  }
}

.flex2cl_01 .flxR .img {
  width: 100%;
}

.flex2cl_01 .flxR .img img {
  width: 100% !important;
}

.flex2cl_02 {
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-left: -4%;
  margin-bottom: 50px;
}

@media screen and (max-width: 1000px) {
  .flex2cl_02 {
    margin-left: -2.4390%;
  }
}

@media screen and (max-width: 834px) {
  .flex2cl_02 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-left: 0;
  }
}

.flex2cl_02 .box {
  position: relative;
  width: 46%;
  margin-left: 4%;
  margin-bottom: 20px;
}

@media screen and (max-width: 1000px) {
  .flex2cl_02 .box {
    width: 47.5609%;
    margin-left: 2.4390%;
    display: block;
  }
}

@media screen and (max-width: 834px) {
  .flex2cl_02 .box {
    width: 100%;
    margin-left: 0;
  }
}

.flex2cl_02 .box img {
  width: 100% !important;
}

.flex2cl_02 .box tr:nth-child(2) {
  font-size: 18px;
  font-weight: 700;
}

.flex2cl_02 .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

.flex3cl {
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-left: -2.43902%;
}

@media screen and (max-width: 1000px) {
  .flex3cl {
    margin-left: -2.4390%;
  }
}

@media screen and (max-width: 640px) {
  .flex3cl {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-left: 0;
  }
}

.flex3cl .box {
  position: relative;
  width: 30.89431%;
  margin-left: 2.43902%;
  margin-bottom: 30px;
}

@media screen and (max-width: 1000px) {
  .flex3cl .box {
    width: 47.5609%;
    margin-left: 2.4390%;
    display: block;
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 640px) {
  .flex3cl .box {
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px;
  }
}

.flex3cl .box img {
  width: 100% !important;
}

.flex3cl .box tr:nth-child(2) {
  font-size: 18px;
  font-weight: 700;
}

.flex3cl .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

.flex4cl {
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-left: -3.22581%;
}

@media screen and (max-width: 1000px) {
  .flex4cl {
    margin-left: -2.4390%;
  }
}

@media screen and (max-width: 640px) {
  .flex4cl {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-left: 0;
  }
}

.flex4cl .box {
  position: relative;
  width: 21.77419%;
  margin-left: 3.22581%;
  margin-bottom: 30px;
}

@media screen and (max-width: 1000px) {
  .flex4cl .box {
    width: 47.5609%;
    margin-left: 2.4390%;
    display: block;
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 640px) {
  .flex4cl .box {
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px;
  }
}

.flex4cl .box img {
  width: 100% !important;
}

.flex4cl .box tr:nth-child(2) {
  font-size: 18px;
  font-weight: 700;
}

.flex4cl .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

.title_02._common article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
  color: #1d2088;
}

.title_02._common article p {
  margin-bottom: 10px;
  font-family: "Oswald", sans-serif;
  font-size: 70px;
  font-weight: bold;
  line-height: 0.9;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 640px) {
  .title_02._common article p {
    font-size: 45px;
  }
}

.title_02._common article h1 {
  font-size: 18px;
}

.title_03 h1 {
  position: relative;
  padding-bottom: 20px;
  border-bottom: 2px solid #ccc;
  font-size: 26px;
}

@media screen and (max-width: 640px) {
  .title_03 h1 {
    padding-bottom: 10px;
    font-size: 18px;
  }
}

.title_03 h1:before {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  display: block;
  width: 200px;
  height: 2px;
  background: #1d2088;
}

.flexBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
  .flexBox {
    display: block;
  }
}

.kome_02 li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 20px;
  font-size: 13px;
  line-height: 1.5;
}

.kome_02 li:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
}

.bgCover {
  background-size: cover;
}

.bg_img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.btnWh a {
  display: inline-block;
  padding: 10px 75px;
  background: #fff;
  border: 1px solid #333;
}

@media screen and (max-width: 640px) {
  .btnWh a {
    display: block;
    padding: 10px;
  }
}

.btnWh a:before {
  content: "\f105";
  font-family: "Font Awesome 5 Pro";
  font-weight: 200;
  display: inline-block;
  margin-right: 10px;
}

.btnWh a:hover {
  opacity: 1;
  background: #333;
  color: #fff;
}

.btn_org01 a {
  display: inline-block;
  padding: 15px 60px;
  background: #fe9d12;
  font-size: 18px;
  color: #fff;
}

@media screen and (max-width: 640px) {
  .btn_org01 a {
    display: block;
    padding: 15px 10px;
  }
}

.btn_org01 a:before {
  content: "\f105";
  font-family: "Font Awesome 5 Pro";
  font-weight: 200;
  margin-right: 10px;
}

.btn_org01 a:hover {
  opacity: 1;
  background: #f04a17;
}

.ancBtn ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
  .ancBtn ul {
    display: block;
  }
}

.ancBtn ul li {
  width: 23.5%;
  margin-right: 2%;
  margin-bottom: 15px;
}

@media screen and (max-width: 1000px) {
  .ancBtn ul li {
    width: 32%;
  }
}

@media screen and (max-width: 834px) {
  .ancBtn ul li {
    width: 48%;
    margin-right: 4%;
  }
}

@media screen and (max-width: 640px) {
  .ancBtn ul li {
    width: 100%;
  }
}

.ancBtn ul li:nth-of-type(4n) {
  margin-right: 0;
}

@media screen and (max-width: 1000px) {
  .ancBtn ul li:nth-of-type(4n) {
    margin-right: 2%;
  }
}

@media screen and (max-width: 834px) {
  .ancBtn ul li:nth-of-type(4n) {
    margin-right: 4%;
  }
}

@media screen and (max-width: 640px) {
  .ancBtn ul li:nth-of-type(4n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 1000px) {
  .ancBtn ul li:nth-of-type(3n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 834px) {
  .ancBtn ul li:nth-of-type(3n) {
    margin-right: 4%;
  }
}

@media screen and (max-width: 640px) {
  .ancBtn ul li:nth-of-type(3n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 834px) {
  .ancBtn ul li:nth-of-type(even) {
    margin-right: 0;
  }
}

.ancBtn ul li a {
  position: relative;
  display: block;
  padding: 7px 25px;
  border: 1px solid #0f114f;
  text-align: center;
  color: #0f114f;
}

.ancBtn ul li a:after {
  content: "\f107";
  font-family: "Font Awesome 5 Pro";
  font-size: 200;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.ancBtn ul li a:hover {
  opacity: 1;
  background: #0f114f;
  color: #fff;
}

@media screen and (max-width: 834px) {
  .tabBr br {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .spBr br {
    display: none;
  }
}

@media screen and (max-width: 834px) {
  .tabLeft div {
    text-align: left !important;
  }
}

@media screen and (max-width: 640px) {
  .spLeft div {
    text-align: left !important;
  }
}

@media screen and (max-width: 834px) {
  .tabBlk {
    display: block;
  }
}

@media screen and (max-width: 640px) {
  .spBlk {
    display: block;
  }
}

.fcWh, .fcWh p {
  color: #fff;
}

.lh2 {
  line-height: 2;
}

.gmap iframe {
  vertical-align: bottom;
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

@media screen and (max-width: 640px) {
  .gmap iframe {
    height: 250px;
  }
}

.anc {
  clear: inherit !important;
}

.anc > div {
  margin-top: -250px !important;
  padding-top: 250px;
}

@media screen and (max-width: 834px) {
  .anc > div {
    margin-top: -100px !important;
    padding-top: 100px;
  }
}

.breadcrumb {
  margin: 0 0 50px auto;
  text-align: right;
}

@media screen and (max-width: 640px) {
  .breadcrumb {
    display: none;
    margin: 0;
  }
}

.breadcrumb .pankuzu {
  max-width: 1000px;
  font-size: 13px;
  color: #333;
}

.breadcrumb .pankuzu li {
  display: inline-block;
}

.breadcrumb .pankuzu a {
  color: #333;
  text-decoration: none;
}

.breadcrumb .pankuzu a:hover {
  text-decoration: underline;
}

.works_con01 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.works_con01 ul li {
  width: 23.5%;
  margin-right: 2%;
  margin-bottom: 15px;
}

@media screen and (max-width: 640px) {
  .works_con01 ul li {
    width: 32%;
  }
}

.works_con01 ul li:nth-of-type(4n) {
  margin-right: 0;
}

@media screen and (max-width: 640px) {
  .works_con01 ul li:nth-of-type(4n) {
    margin-right: 2%;
  }
}

@media screen and (max-width: 640px) {
  .works_con01 ul li:nth-of-type(3n) {
    margin-right: 0;
  }
}

.works_con02 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.works_con02 ul li {
  width: 18.4%;
  margin-right: 2%;
  margin-bottom: 15px;
}

@media screen and (max-width: 640px) {
  .works_con02 ul li {
    width: 32%;
  }
}

.works_con02 ul li:nth-of-type(5n) {
  margin-right: 0;
}

@media screen and (max-width: 640px) {
  .works_con02 ul li:nth-of-type(5n) {
    margin-right: 2%;
  }
}

@media screen and (max-width: 640px) {
  .works_con02 ul li:nth-of-type(3n) {
    margin-right: 0;
  }
}

.works_con03 li {
  margin-bottom: 15px;
}

.works_con04 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.works_con04 ul li {
  width: 49%;
  margin-right: 2%;
  margin-bottom: 15px;
  text-align: center !important;
}

.works_con04 ul li:nth-of-type(even) {
  margin-right: 0;
}

.works_con04 ul li article > div {
  margin-top: 10px;
  text-align: center;
  line-height: 1.7;
}

@media screen and (max-width: 640px) {
  .works_con04 ul li article > div {
    font-size: 13px;
  }
}

.works_con04 ul li article > div .sub {
  display: block;
  font-size: 13px;
}

.works_con05 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.works_con05 ul li {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 15px;
  text-align: center !important;
}

.works_con05 ul li:nth-of-type(3n) {
  margin-right: 0;
}

@media screen and (max-width: 1000px) {
  .movieBox video {
    height: 54vw !important;
  }
}

a[href^="tel:"] {
  pointer-events: none;
  color: #333;
  text-decoration: none;
}

@media screen and (max-width: 640px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

.telSt a {
  display: inline-block;
  margin-top: 10px;
  font-family: "Oswald", sans-serif;
  font-size: 34px;
  font-weight: bold;
  line-height: 1;
}

@media screen and (max-width: 640px) {
  .telSt a {
    display: block;
    margin-bottom: 15px;
    font-size: 30px;
    text-align: center;
  }
}

.telSt a:before {
  content: "\f879";
  font-family: "Font Awesome 5 Pro";
  display: inline-block;
  margin-right: 10px;
  font-size: 28px;
  font-weight: bold;
}

.mail.title {
  display: none !important;
}

.cont_form dl {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 25px;
}

.cont_form dt, .cont_form dd {
  border: none !important;
  padding: 0 !important;
}

@media screen and (max-width: 640px) {
  .cont_form dt, .cont_form dd {
    padding: 5px 0 !important;
  }
}

.cont_form dt label {
  margin-top: 3px;
  padding: 2px 10px 6px;
  background: #0f114f;
  color: #fff !important;
  line-height: 1;
}

.cont_form dt label:after {
  content: "必須";
}

.agree_check {
  text-align: center;
}

.agree_check label {
  line-height: 1.5;
}

@media screen and (max-width: 640px) {
  .agree_check label {
    position: relative;
    display: inline-block;
    padding: 30px 0 0 30px;
    text-align: left;
  }
}

.agree_check label span {
  display: inline-block;
  margin-right: 5px;
  padding: 2px 10px 6px;
  background: #0f114f;
  font-size: 13px;
  color: #fff !important;
  line-height: 1;
}

@media screen and (max-width: 640px) {
  .agree_check label span {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@media screen and (max-width: 640px) {
  .agree_check label #check {
    position: absolute;
    top: 29px;
    left: 0;
  }
}

.agree_check a {
  text-decoration: underline;
}

.agree_check a:hover {
  opacity: 1;
  text-decoration: none;
}

.form_wrap.confirm {
  margin-top: 70px !important;
}

.policy h2, .policy .title_01._index01 h3, .title_01._index01 .policy h3 {
  position: relative;
  margin: 30px 0 10px;
  padding-bottom: 7px;
  border-bottom: 2px solid #ccc;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (max-width: 640px) {
  .policy h2, .policy .title_01._index01 h3, .title_01._index01 .policy h3 {
    font-size: 16px;
  }
}

.policy p {
  line-height: 1.5;
}

@media screen and (max-width: 640px) {
  .policy p {
    font-size: 14px;
  }
}

.error_link h1 {
  margin-bottom: 50px;
  font-size: 30px;
}

.error_link a {
  display: inline-block;
  margin-top: 50px;
  color: #333;
}

.error_link a:hover {
  text-decoration: underline;
}
/*# sourceMappingURL=assets.css.map */