@charset "UTF-8";
/*****STANDART CSS******/
abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var,
video {
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  /******SMOOTH SCROLL ANCHOR******/
}

/*****STANDART CSS******/
/* ---------common--------- */
body {
  margin: 0;
  font-family: 'Noto Sans JP', serif;
  font-feature-settings: "palt";
}

body.open {
  overflow: hidden;
}
h3.contents_title {
width: 100%;
height: 70px;
font-size: 24px;
text-align: center;
background: url("../images/title_back.png") no-repeat center center;
color: #003954;
line-height: 70px;
margin-bottom: 20px;
}
h3 {
  font-size: 24px;
  padding-bottom: 15px;
  text-align: center;
  color: #13344f;
  /*margin-bottom: 40px;
  font-weight: bold;
  color: #003954;
  position: relative;*/
}

/*h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 160px;
  height: 4px;
  background-color: #003954;
  margin: 0 auto;
}*/

@media (max-width: 599px) {
  h3 {
    font-size: 24px;
    margin-bottom: 20px;
  }
  h3.contents_title {
  width: 100%;
  height: 70px;
  font-size: 20px;
  text-align: center;
  background: url("../images/title_back.png") no-repeat center center;
  color: #003954;
  line-height: 70px;
  margin-bottom: 20px;
  }
}

p {
  line-height: 1.5;
  font-size: 16px;
}

@media (max-width: 599px) {
  p {
    font-size: 16px;
  }
}

a {
  text-decoration: none;
  color: #333;
  -webkit-transition: .3s;
  transition: .3s;
  font-size: 16px;
  cursor: pointer;
}

a:hover {
  opacity: .7;
}

@media (max-width: 599px) {
  a {
    font-size: 16px;
  }
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

section {
  margin-bottom: 80px;
}

@media (max-width: 767px) {
  section {
    margin-bottom: 40px;
  }
}

.sub_bg {
  background-color: #fff;
}
.mv_slides {
  display: none;
}

.mv_slides.slick-initialized {
  display: block;
}

.scroll {
/*height: 100%;
  overflow-y: scroll;
  padding-bottom: 30px;*/
  display: none;
}

/* slick */
.slick-prev, .slick-next {
  border-radius: 50%;
}

.slick-prev::before {
  content: "＜";
}

.slick-next::before {
  content: "＞";
}

.slick-prev::before,
.slick-next::before {
  color: #fff;
  background-color: #003954;
  padding: 6px;
  font-size: 12px;
  border-radius: 50%;
  opacity: 1 !important;
}

.slick-dots li button:before {
  color: #333333;
  opacity: 0.7;
  font-size: 40px;
  bottom: 50px;
}

.slick-dots li.slick-active button:before {
  color: #003954;
  opacity: 1;
}

.slick-prev {
  left: -15px;
}

.slick-next {
  right: -10px;
}

.slick-prev, .slick-next {
  z-index: 1;
}

/* スライドイン */
.slideConts {
  -webkit-transition: .5s;
  transition: .5s;
}

.slidein_l {
  -webkit-transform: translate(-800px, 0);
          transform: translate(-800px, 0);
}

.slidein_r {
  -webkit-transform: translate(800px, 0);
          transform: translate(800px, 0);
  overflow: hidden;
}

.slidein_l.show {
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}

.slidein_r.show {
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
  overflow: hidden;
}

@media (max-width: 1000px) {
  .slidein_l, .slidein_r,
  .slidein_l.show .slidein_r.show {
    -webkit-transform: none;
            transform: none;
  }
}

/* fadein */
.fadein {
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 1s;
  transition: all 1s;
}

.fadein_2 {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}

.fadein_3 {
  -webkit-transition-delay: 400ms;
          transition-delay: 400ms;
}

.fadein_4 {
  -webkit-transition-delay: 600ms;
          transition-delay: 600ms;
}

/* top_btn */
.top {
  background: #0071af;
  width: 70px;
  height: 70px;
  border-radius: 10%;
  text-align: center;
  position: fixed;
  bottom: 40px;
  right: 20px;
  z-index: 1000;
  color: #fff;
  display: block;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: .5s;
  transition: .5s;
  opacity: 0.7;
}

@media (max-width: 599px) {
  .top {
    width: 50px;
    height: 50px;
    bottom: 80px;
	opacity: 0.7;

  }
}

.top a {
  line-height: 80px;
  display: block;
  color: #fff;
  opacity: 0.7;
}

.top a::before {
  content: "^";
  position: absolute;
  top: 5px;
  left: 36%;
  font-size: 35px;
  line-height: 24px;
  color: #fff;
}

@media (max-width: 599px) {
  .top a::before {
    left: 37%;
    top: 0;
    font-size: 24px;
  }
}

@media (max-width: 599px) {
  .top a {
    line-height: 58px;
    font-size: 14px;
  }
}

.top.active {
  opacity: 1;
  visibility: visible;
}

/* bg-padding */
#case,
#about,
#company,
#flow {
  padding: 80px 0;
}

@media (max-width: 767px) {
  #case,
  #about,
  #company,
  #flow {
    padding: 40px 0;
  }
}

/* wrapper */
.wrapper .red {
  color: #003954;
}

.wrapper .white {
  color: #ffffff;
  -webkit-transition: .3s;
  transition: .3s;
}

.wrapper .logo h1 {
width: 220px;
height: 72px;
margin: 3px 0 3px 0;
display: inline-block;
background: url(../images/header_logo.svg) no-repeat 0 0;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
background-size: cover;
}

.wrapper .inner {
  width: 1000px;
  margin: 0 auto;
}

@media (max-width: 1000px) {
  .wrapper .inner {
    width: 100%;
    padding: 0 20px;
  }
}

.sp_br {
  display: none;
}

@media (max-width: 599px) {
  .sp_br {
    display: block;
  }
}

img {
  width: 100%;
  vertical-align: bottom;
}

/* btn */
.btn {
  margin: 0 auto;
  width: 240px;
  position: relative;
  text-align: center;
  background-color: #0071af;
  -webkit-transition: .3s;
  transition: .3s;
  transition: .3s;
  border: 1px solid #0071af;
  border-radius: 10px;
}

.btn:hover {
  background-color: #ffffff;
  border: 1px solid #0071af;
}

.btn:hover .white {
  color: #003954;
}

.btn a {
  color: #ffffff;
  padding: 10px 0;
  display: block;
  font-weight: bold;
}

.btn a:hover {
  color: #003954;
}

.btn a .white:hover {
  color: #003954;
}

.btn.pc {
  background-color: #003954;
  position: fixed;
  top: 70%;
  right: 0;
  text-orientation: upright;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  width: auto;
  border-radius: 20px 0 0 20px;
}

@media (max-width: 599px) {
  .btn.pc {
    display: none;
  }
}

.btn.pc a {
  color: #ffffff;
  font-size: 24px;
}

.btn.sp {
  display: none;
}

@media (max-width: 599px) {
  .btn.sp {
    background-color: #003954;
    text-align: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 0 !important;
  }
  .btn.sp .reserve, .btn.sp .contact {
    width: 50%;
    border: 1px solid #f4f4f4;
  }
  .btn.sp .reserve a, .btn.sp .contact a {
    color: #ffffff;
    font-size: 24px;
  }
}

/* display */
.pc_db {
  display: block;
}

@media (max-width: 599px) {
  .pc_db {
    display: none;
  }
}

.tab_db {
  display: none;
}

@media (max-width: 767px) {
  .tab_db {
    display: block;
  }
}

.sp_db {
  display: none;
}

@media (max-width: 599px) {
  .sp_db {
    display: block;
  }
}

.sp_db p {
  text-align: center;
}

/* パンくずリスト */
.bread {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 40px;
}

@media (max-width: 767px) {
  .bread {
    margin-bottom: 40px;
  }
}

.bread .inner {
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}

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

.bread ul li {
  padding: 5px;
}

.bread ul li a {
  color: #333;
  -webkit-transition: .15s;
  transition: .15s;
}

.bread ul li a:hover {
  opacity: 0.7;
}

.bread ul li:after {
  content: '\003e';
  margin-left: 10px;
  margin-right: 10px;
  color: #003954;
}

.bread ul li:last-child:after {
  content: "";
}

/* flex */
.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/* thanks */
.thanks {
  text-align: center;
  padding: 120px 0;
}

.thanks p {
  font-size: 32px;
}

.btn_top {
  padding: 50px;
  text-align: center;
}

.btn_top a {
  text-decoration: underline;
}

/* ---------下層ページmv--------- */
#faqpage #mv,
#commonpage #mv {
  /*padding: 50px 0;
  margin-top: 80px;*/
  padding: 0;
  margin: 80px 0 0 0!important;
  height: 300px;
  background-image: url(../images/common_mv.png);
  background-position: center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
}
#faqpage #mv h2,
#commonpage #mv h2 {
  font-size: 48px;
  color: #fff;
  text-align: center;
}

@media (max-width: 599px) {
  #faqpage #mv h2,
  #commonpage #mv h2 {
    font-size: 32px;
  }
}

/* ---------header--------- */
header {
  height: 80px;
  white-space: nowrap;
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #fff;
  z-index: 1000;
  border-bottom: 2px solid #003954;
}

@media (max-width: 1000px) {
  header {
    padding: 0 10px;
  }
}

header .row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

header .logo {
  z-index: 4000;
  margin-left: 10px;
}

@media (max-width: 1000px) {
  header .logo {
    margin-left: 0;
    margin-top: 0;
  }
}

header .logo a:hover {
  opacity: 1 !important;
}

@media (max-width: 1000px) {
  header .h_list {
    display: none;
  }
}

header .h_list li {
  margin-right: 15px;
  position: relative;
}

/*header .h_list li:last-child {
  margin-right: 0;
}*/

header .h_list li::after {
  content: "";
  position: absolute;
  top: 0;
  left: -25px;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: center;
}

/*header .h_list li.h_list_case::after {
  background-image: url(../images/header_case_icon.png);
}

header .h_list li.h_list_guide::after {
  background-image: url(../images/header_guide_icon.png);
}

header .h_list li.h_list_about::after {
  background-image: url(../images/header_about_icon.png);
  height: 25px;
  background-size: 12px;
  top: 2px;
}

header .h_list li.h_list_faq::after {
  background-image: url(../images/header_faq_icon.png);
}

header .h_list li.h_list_contact::after {
  background-image: url(../images/header_contact_icon.png);
}*/

header .h_list li a {
  color: #333;
}

header .h_list li a:hover {
  opacity: 1;
}

header .h_list li a::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #003954;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all .25s ease;
  transition: all .25s ease;
}

header .h_list li a:hover::after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  opacity: 1;
}

header .h_line {
margin: 0 10px 0 10px;
padding: 0;
width: 50px;
height: 50px;
background-image: url("../images/line_logo.svg");
display: block;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
background-size: cover;
}

@media (max-width: 1000px) {
  header .h_line {
    display: none;
  }
}

header .h_line a {
  color: #ffffff;
  font-weight: bold;
}

header #menu_btn {
  display: none;
}

@media (max-width: 1000px) {
  header #menu_btn {
    display: block;
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 4000;
    cursor: pointer;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  header #menu_btn::before, header #menu_btn::after {
    content: "";
    width: 34px;
    height: 1px;
    display: block;
    background-color: #003954;
    position: relative;
    -webkit-transition: all 200ms ease;
    transition: all 200ms ease;
  }
  header #menu_btn::before {
    top: -5px;
  }
  header #menu_btn::after {
    top: 10px;
  }
}

header .inner_nav {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
/*  padding-top: 100px;
  background-color: #fff;
  z-index: 0;
  -webkit-transform: translate(250px);
          transform: translate(250px);
  -webkit-transition: all .5s;
  transition: all .5s;*/
  -webkit-transition: .3s;
  transition: .3s;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
}

header .inner_nav ul {
  /*padding: 0 20px;*/
  display: none;
}

header .inner_nav ul li {
  /*margin-bottom: 20px;
  border-bottom: 1px solid #003954;
  padding-bottom: 10px;
  text-align: center;*/
  display: none;
}

header .inner_nav .btn {
  /*background-color: #0071af;
  width: 90%;
  border: 1px solid #0071af;
  border-radius: 10px;*/
  display: none;
}

header .inner_nav .btn a {
  /*color: #fff;
  font-weight: bold;
  border: 1px solid #0071af;
  border-radius: 10px;*/
  display: none;
}

.open {
  -webkit-transition: .5s;
  transition: .5s;
}

.open #menu_btn::before {
  -webkit-transform: translateY(3px) rotate3d(0, 0, 1, 45deg);
          transform: translateY(3px) rotate3d(0, 0, 1, 45deg);
}

.open #menu_btn:after {
  top: 3px;
  -webkit-transform: translateY(-4px) rotate3d(0, 0, 1, -45deg);
          transform: translateY(-4px) rotate3d(0, 0, 1, -45deg);
}

@media (max-width: 1000px) {
  .open .inner_nav {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  padding-top: 100px;
  background-color: #fff;
  z-index: 0;
/*  -webkit-transform: translate(250px);
          transform: translate(250px);*/
  -webkit-transition: all .5s;
  transition: all .5s;
  }
  .open .inner_nav ul {
  padding: 0 20px;
  display: block;
}
  .open .inner_nav ul li {
  margin-bottom: 20px;
  border-bottom: 1px solid #003954;
  padding-bottom: 10px;
  text-align: center;
  display: block;
}
 .open .inner_nav .btn {
  background-color: #0071af;
  width: 90%;
  border: 1px solid #0071af;
  border-radius: 10px;
  display: block;
}
 .open .inner_nav .btn a {
  color: #fff;
  font-weight: bold;
  border: 1px solid #0071af;
  border-radius: 10px;
  display: block;
}
.scroll {
height: 100%;
  overflow-y: scroll;
  padding-bottom: 30px;
  display:block
}
}

.open .btn.sp {
  display: none;
}

/* ---------footer--------- */
footer {
  background-color: #e7e7e7;
  padding: 36px 0 0 0;
}
header .row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (max-width: 599px) {
  footer {
    padding-bottom: 60px;
  }
}

footer .inner {
  padding-bottom: 20px !important;
}

footer .logo {
  text-align: center;
  align-items: center;
}

footer .logo h1 {
width: 100px!important;
height: 72px;
margin: 0 auto 3px auto;
display: inline-block!important;
background: url(../images/logo.svg) no-repeat 0 0!important;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
background-size: cover;
}

footer .logo h1 a {
width: 100px!important;
height: 72px;
display: block!important;
}

footer .f_list ul {
  margin-right: 15px;
  position: relative;
  justify-content: center;
}
footer .f_list ul li {
  margin-right: 15px;
  position: relative;
  justify-content: center;
}

footer .f_list li:last-child {
  margin-right: 0;
}

footer .f_list li::after {
  content: "";
  position: absolute;
  top: 0;
  left: -25px;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: center;
}

footer .f_list li.h_list_case::after {
  background-image: url(../images/header_case_icon.png);
}

footer .f_list li.h_list_guide::after {
  background-image: url(../images/header_guide_icon.png);
}

footer .f_list li.h_list_about::after {
  background-image: url(../images/header_about_icon.png);
  height: 25px;
  background-size: 12px;
  top: 2px;
}

footer .f_list li.h_list_faq::after {
  background-image: url(../images/header_faq_icon.png);
}

footer .f_list li.h_list_contact::after {
  background-image: url(../images/header_contact_icon.png);
}

footer .f_list li a {
  color: #333;
}

footer .f_list li a:hover {
  opacity: 1;
}

footer .f_list li a::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #003954;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: all .25s ease;
  transition: all .25s ease;
}

footer .f_list li a:hover::after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  opacity: 1;
}

@media (max-width: 767px) {

footer .f_list ul {
  display: none;
}
}


@media (max-width: 767px) {
  footer .foot_right {
    width: 100%;
  }
}

footer .foot_right .tel {
  background-color: #003954;
  padding: 15px 30px 15px 55px;
  border-radius: 30px;
  width: auto;
  margin: 0 auto;
  white-space: nowrap;
}

footer .foot_right .tel a {
  color: #ffffff;
  font-size: 20px;
  position: relative;
}

footer .foot_right .tel a::before {
  content: "";
  position: absolute;
  top: 4px;
  left: -26px;
  background-image: url(../images/img_tel_icon.png);
  background-position: center;
  background-size: cover;
  width: 25px;
  height: 25px;
}

footer .footer_list {
  margin-bottom: 20px;
}

footer .footer_list.row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

footer .footer_list ul {
  width: 25%;
}

@media (max-width: 1000px) {
  footer .footer_list ul {
    margin-bottom: 20px;
    width: 40%;
  }
}

@media (max-width: 767px) {
  footer .footer_list ul {
    width: 50%;
    margin-bottom: 30px;
  }
}

footer .footer_list li {
  margin-bottom: 10px;
}

footer .footer_list li a {
  position: relative;
}

footer .copyright {
width: 100%;
height: 50px;
background-color: #b0bfc7;
color: #fff;
text-align: center;
}

footer .copyright p {
  font-size: 14px;
  line-height: 50px;
}

footer .copyright p a {
color: #fff;
text-decoration: none;
  font-size: 14px;
}

/* ---------------------------- */
/* ---------トップページ--------- */
/* ---------------------------- */
/* ---------common--------- */
/* ---------mv--------- */
#mv {
  padding-top: 0;
  height: 800px;
  margin-bottom: 80px;
  margin-top: 80px;
  padding: 0;
}

@media (max-width: 1000px) {
  #mv {
    height: 600px;
  }
}

@media (max-width: 599px) {
  #mv {
    height: 400px;
    margin-bottom: 40px;
  }
}

#mv .mv_txt {
  position: absolute;
  top: 40%;
  left: 0;
  padding: 20px 50px;
  z-index: 100;
  background-color: rgba(204, 0, 0, 0.7);
}

#mv .mv_txt h2 {
  font-size: 48px;
  color: #fff;
}

@media (max-width: 767px) {
  #mv .mv_txt h2 {
    font-size: 24px;
  }
}

#mv .mv_txt p {
  color: #fff;
  font-size: 28px;
}

@media (max-width: 767px) {
  #mv .mv_txt p {
    font-size: 14px;
  }
}

@media (max-width: 1000px) {
  #mv .mv_txt {
    top: 30%;
  }
}

@media (max-width: 599px) {
  #mv .mv_txt {
    top: 18%;
    padding: 10px;
  }
}

#mv .mvslide1 {
  height: 800px;
  background-size: cover;
  background-position: center;
  background-image: url(../images/main_visual1.jpg);
}
#mv .mvslide2 {
  height: 800px;
  background-size: cover;
  background-position: center;
  background-image: url(../images/main_visual2.jpg);
}

@media (max-width: 1000px) {
  #mv .mvslide1, #mv .mvslide2 {
    height: 600px;
  }
}

@media (max-width: 599px) {
  #mv .mvslide1, #mv .mvslide2 {
    height: 400px;
  }
}

/* ---------news--------- */
#news .news_box {
  width: 100%;
  padding: 0;
  margin: 0 auto;
}

@media (max-width: 767px) {
  #news .news_box {
    width: 100%;
  }
}

#news .news_list {
  width: 100%;
  padding: 10px 30px 30px 30px;
  margin: 0 auto 20px;
  background: #e7e7e7;
}

@media (max-width: 767px) {
  #news .news_list {
    width: 100%;
  }
}

#news .news_list .news_item {
max-width: 940px;
  border-bottom: 1px solid #003954;
  padding-bottom: 5px;
  margin-top: 20px !important;
  margin: 0 auto;
  display: flex;
}

#news .news_list .news_item:last-child {
  margin-bottom: 0;
}

#news .news_list .news_item .date {
  color: #003954;
  margin-right: 20px;
}

#news .news_list .news_item .ttl {
  margin-bottom: 0;
}

/* .sidebar .year {
  display: inline-block;
  cursor: pointer;
}

.sidebar .dates {
  display: none;
} */
.sidebar select {
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  border: 1px solid #ccc;
  font-size: 16px;
  background: #fff;
}

.sidebar .dates a {
  display: block;
  padding: 5px;
  border-bottom: 1px solid #333;
}

/* ---------case--------- */

#case {
margin: 0;
padding: 30px 0 30px 0;
background: url("../images/bg_index_case.jpg") no-repeat center center;
background-size: cover;
text-align: center;
}

#case .inner {
  margin-bottom: 0;
}

#case .case_list {
  margin-bottom: 40px;
}
#case .case_list .row {
flex-wrap: wrap!important;
justify-content: space-between;
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  #case .case_list {
    margin-bottom: 10px;
  }
}

#case .case_list .item {
  width: 48%;
  box-sizing: border-box;
  background: #fff;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: nowrap!important;
}
#case .case_list .item a {
display: contents;
}

#case .case_list .item .photo {
  width: 46%;
  margin: 0;
}
#case .case_list .item .photo img {
  width: 100%;
}

#case .case_list .item .detail {
  width: 54%;
  margin: 0;
  padding: 5px;
  background: #fff;
  text-align: left!important;
}

#case .case_list .item .detail h3 {
font-size: 18px;
color: #003954;
  text-align: left!important;
  padding-bottom: 5px;
}

@media (max-width: 767px) {
#case .case_list .item {
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: nowrap!important;
}
#case .case_list .item .photo {
  width: 100%;
  margin: 0;
}
#case .case_list .item .photo img {
  width: 100%;
}

#case .case_list .item .detail {
  width: 100%;
  margin: 0;
  padding: 5px;
  background: #fff;
  text-align: left!important;
}
}


#case .case_list .btn {
  margin-top: 30px;
}

#case .case_slide {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
#case .case_slide .item {
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: nowrap!important;
}
#case .case_slide .item .photo {
  width: 100%;
  margin: 0;
}
#case .case_slide .item .photo img {
  width: 100%;
	height: auto;
}

#case .case_slide .item .detail {
  width: 100%;
  margin: 0;
  padding: 5px;
  background: #fff;
  text-align: left!important;
}
#case .case_slide .item .detail h3 {
font-size: 18px;
color: #003954;
  text-align: left!important;
  padding-bottom: 5px;
  margin: 0;
}
#case .case_slide .item .detail p{
  text-align: left!important;
}

/*
#case .case_slide .item {
  text-align: center;
  margin-bottom: 20px;
}

#case .case_slide img {
  width: 80% !important;
  margin: 0 auto 20px;
}*/


#case_detail {
margin: 0;
padding: 0 0 30px 0;
text-align: left;
}

#case_detail .inner {
  margin-bottom: 0;
}

#case_detail .inner h4 {
  font-size: 20px;
  color: #13344f;
  margin-bottom: 5px;
}
#case_detail .categorylist{
width: 100%;
display: flex;
flex-wrap: wrap;
}
#case_detail .categorylist p.type {
max-width: 150px;
width: 100%;
background: #003954;
color: #fff;
text-align: center;
padding: 5px;
margin: 5px 5px 10px 0;
}
#case_detail p.photo {
width: 100%;
padding: 0;
margin-bottom: 30px;
}
#case_detail p.photo img{
width: 100%;
}
#case_detail .detail_data {
width: 100%;
border-top: 1px solid #13344f;
margin-bottom: 30px;
}
#case_detail .detail_data .detail_item {
    width: 100%;
    border-bottom: 1px solid #003954;
    padding-bottom: 5px;
    margin-top: 5px !important;
    display: flex;
}
#case_detail .detail_data .detail_item .detail_title{
width: 100px;
    color: #003954;
    margin-right: 20px;
}
#case_detail .detail_data .detail_item .detail_txt{
    color: #000;
}
#case_detail .detail_data .detail_comment {
    width: 100%;
    border-bottom: 1px solid #003954;
    padding-bottom: 5px;
    margin-top: 5px !important;
}
#case_detail .categorylist{
width: 100%;
display: flex;
flex-wrap: wrap;
}
#case_detail .case_detail_nav {
text-align: center;
padding: 0;
margin: 0 0 30px 0;
display: flex;
}
#case_detail .case_detail_nav ul {
	width: 100%;
    margin: 0;
    padding: 0;
    margin-bottom: 30px;
    display: flex;
    flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  }
#case_detail .case_detail_nav ul li {
    background: #aaa;
    color: #fff;
    display: block;
    font-size: 16px;
    width: 100px;
    height: 30px;
    line-height: 30px;
    margin: 2px;
    padding: 0;
    text-decoration: none;
	text-align: center;
}
#case_detail .case_detail_nav ul li:after {
content: "";
}
#case_detail .case_detail_nav ul li a {
    color: #fff;
    display: block;
}
#case_detail .case_detail_nav ul li a:hover {
    color: #fff;
    display: block;
	background: #003954;
}
@media (max-width: 768px) {
#case_detail .categorylist{
width: 100%;
margin: 0;
display: flex;
flex-wrap: wrap;
    justify-content: space-between;
}
#case_detail .categorylist p.type {
max-width: 24%!important;
background: #003954;
color: #fff;
text-align: center;
padding: 5px;
margin: 0 0 5px 0;
}
}
@media (max-width: 599px) {
#case_detail .categorylist{
width: 100%;
margin: 0;
display: flex;
flex-wrap: wrap;
    justify-content: space-between;
}
#case_detail .categorylist p.type {
max-width: 49%!important;
background: #003954;
color: #fff;
text-align: center;
padding: 5px;
margin: 0 0 5px 0;
}
#case_detail .detail_data .detail_item {
    display: block;
}
}

/* ---------about--------- */
#about {
  width: 100%;
  padding: 0!important;
  margin: 0 auto 50px auto!important;
}
#about .about_box {
  width: 100%;
  padding: 0!important;
  margin: 0 auto!important;
}
#about .about_read {
    width: 100%;
    padding: 30px!important;
	color: #13344f;
    margin: 0 auto 20px;
    background: #e7e7e7!important;
}
#about .about_philosophy {
    width: 100%;
  padding: 0!important;
  margin: 0 auto 40px auto!important;
}
#about .about_philosophy h3{
font-size: 20px;
    width: 100%;
  padding: 0 0 5px 0;
  margin: 0 auto 10px auto;
  text-align: left;
  line-height: 25px;
  border-bottom: 1px solid #003954;
  background: url("../images/about_philosophy_title.png") no-repeat 0 0;
  text-indent: 30px;
}
#about h4{
font-size: 20px;
  padding: 0 0 5px 0;
  margin: 0 auto 10px auto;
  text-align: center;
  color: #003954;
}
#security {
padding: 30px 0 30px 0;
  background: url("../images/bg_index_security.jpg") no-repeat center center;
  background-size: cover;
}

#security .security_list .item {
  overflow: hidden;
  width: 22%;
  background-color: #ffffff;
  margin:0;
/*  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);*/
}

#security .security_list .item:nth-child(odd) {
  margin-left: 0;
}

#security_price .price_box {
  width: 100%;
  padding: 0;
  margin: 0 auto;
}
#security_price .price_read {
    width: 100%;
    padding: 30px;
	color: #13344f;
    margin: 0 auto 20px;
    background: #e7e7e7;
}

@media (max-width: 767px) {
#security {
padding: 20px 0 10px 0;
  background: url("../images/bg_index_security.jpg") no-repeat center center;
  background-size: cover;
}
  #security .security_list .item {
    width: 48%;
    margin-bottom: 20px;
  }
}

#security .security_list .item p {
  line-height: 30px;
}

#security .security_list .item img {
  width: 100%;
  -webkit-transition: .3s;
  transition: .3s;
  overflow: hidden;
  border: #0071af;
  box-sizing: border-box;
}

#security .security_list .item img:hover {
  -webkit-transform: scale3d(1.1, 1.1, 1);
          transform: scale3d(1.1, 1.1, 1);
}

#security .security_list .item .txt {
  text-align: center;
  background-color: #ffffff;
  padding: 0;
  height: 30px;
}
#company_index .company_box {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  display:flex;
}
#company_index .company_photo {
    width: 300px;
}
#company_index .company_photo img {
    width: 100%;
}
#company_index .company_detail {
    width: calc(100% - 300px);
	padding: 25px;
	background: #e7e7e7;
}
@media (max-width: 599px) {
  #company_index .company_box {
    width: 100%;
    padding: 0;
    margin: 0 auto;
	display: block;
  }
  #company_index .company_photo {
      width: 100%;
  }
  #company_index .company_photo img {
      width: 100%;
  }
  #company_index .company_detail {
      width: 100%;
      padding: 25px;
      background: #e7e7e7;
  }
}

#banner {
	width: 100%;
  background: #e7e7e7;
  padding: 20px 0 20px 0;
}

#banner img{
width: 100%;
}
#banner p.pc {
display: block;
}
#banner p.sp {
display: none;
}
@media (max-width: 599px) {
  #banner p.pc {
    display: none;
  }
  #banner p.sp {
    display: block;
  }
}

#banner2 {
	width: 100%;
}

#banner2 img{
width: 100%;
}
#banner2 p.pc {
display: block;
}
#banner2 p.sp {
display: none;
}
@media (max-width: 599px) {
  #banner2 p.pc {
    display: none;
  }
  #banner2 p.sp {
    display: block;
  }
}

#company {
  background: url("../images/bg_company.jpg") no-repeat center center;
  padding: 50px 0 50px;
}

#contact {
padding: 30px 0 30px 0;
  background: url("../images/bg_contact.jpg") no-repeat center center;
  background-size: cover;
  text-align: center;
}

#contact p{
padding: 0 0 15px 0;
}

#contact2 {
padding: 0 0 30px 0;
  /*background: url("../images/bg_contact2.jpg") no-repeat center center;
  background-size: cover;*/
  text-align: center;
}

/* ---------security2--------- */
/* ---------security2--------- */
#security2 {
  overflow: hidden;
}

#security2 .security2_list {
  margin-top: 50px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#security2 .security2_list .row {
  margin-bottom: 80px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#security_1, #security_2, #security_3, #security_4 {
    padding-top: 80px;
    margin-top: -80px;
}
@media (max-width: 1000px) {
  #security2 .security2_list .row {
    display: block;
  }
}

@media (max-width: 599px) {
  #security2 .security2_list .row {
    margin-bottom: 40px;
  }
}

#security2 .security2_list .row:last-child {
  margin-bottom: 0;
}

#security2 .security2_list .row.right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

#security2 .security2_list .row.right .img {
  margin-right: 0;
}

#security2 .security2_list .img {
  width: 55%;
  border: 1px solid #003954;
}

#security2 .security2_list .txt {
  width: 50%;
}

@media (max-width: 1000px) {
  #security2 .security2_list .img, #security2 .security2_list .txt {
    width: 100%;
  }
}

#security2 .security2_list .txt {
  margin-left: -50px;
  color: #333;
  border: 1px solid #003954;
  background: #fff!important;
}

#security2 .security2_list .txt.right {
  margin-left: 0;
  margin-right: -50px;
}

@media (max-width: 1000px) {
  #security2 .security2_list .txt.right {
    margin: 0 auto !important;
  }
}

#security2 .security2_list .txt .bg_red {
  background-color: #003954;
  margin-bottom: 0;
}

@media (max-width: 1000px) {
  #security2 .security2_list .txt .bg_red.row {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

#security2 .security2_list .txt .bg_red img {
  width: 88px;
}

@media (max-width: 1000px) {
  #security2 .security2_list .txt .bg_red img {
    width: 10%;
  }
}

@media (max-width: 599px) {
  #security2 .security2_list .txt .bg_red img {
    width: 15%;
  }
}

@media (max-width: 1000px) {
  #security2 .security2_list .txt .bg_red p {
    width: 80%;
  }
}

#security2 .security2_list .txt h4.security2_ttl {
  margin: 20px 0 0 0;
  font-size: 24px;
  color: #003954;
  text-align: center;
  position: relative;
}

#security2 .security2_list .txt h4.security2_ttl::after {
  content: "";
  width: 100%;
  height: 3px;
}

@media (max-width: 1000px) {
  #security2 .security2_list .txt h4.security2_ttl {
    font-size: 24px;
  }
}

@media (max-width: 599px) {
  #security2 .security2_list .txt h4.security2_ttl {
    font-size: 20px;
  }
}

@media (max-width: 1000px) {
  #security2 .security2_list .txt {
    height: auto;
    margin: 0 auto !important;
    /*-webkit-box-shadow: none;
            box-shadow: none;*/
    background-color: #cc0000;
  }
}

#security2 .security2_list .txt .security2_txt {
  background-color: #fff;
  padding: 10px 30px 10px 30px;
}

#security2 p.read_contact {
text-align: center;
  padding: 50px 10px 0 10px;
}
.btn2 {
  margin: 10px auto 20px auto;
  width: 240px;
  position: relative;
  text-align: center;
  background-color: #fff;
  -webkit-transition: .3s;
  transition: .3s;
  transition: .3s;
  border: 1px solid #0071af;
}

.btn2:hover {
  background-color: #fff;
  border: 1px solid #0071af;
}

.btn2:hover .white {
  color: #003954;
}

.btn2 a {
  color: #003954;
  padding: 10px 0;
  display: block;
  font-weight: bold;
}

.btn2 a:hover {
  color: #fff;
  background: #003954;
  opacity: inherit;
}

.btn2 a .white:hover {
  color: #003954;
}
.btn3 {
  margin: 50px auto 20px auto;
  max-width: 350px;
  width: 100%;
  position: relative;
  text-align: center;
  background-color: #fff;
  -webkit-transition: .3s;
  transition: .3s;
  transition: .3s;
  border: 1px solid #0071af;
}

.btn3:hover {
  background-color: #fff;
  border: 1px solid #0071af;
}

.btn3 a {
  color: #003954;
  padding: 10px 0;
  display: block;
  font-weight: bold;
}

.btn3 a:hover {
  color: #fff;
  background: #003954;
  opacity: inherit;
}

/* ---------access--------- */
section#access {margin: 0!important;padding: 0!important;}
/* ---------------------------- */
/* ---------news--------- */
/* ---------------------------- */
@media (max-width: 767px) {
  #news .row, #news_detail .row {
    display: block;
  }
}

@media (max-width: 767px) {
  #news .news_left,
  #news .news_detail_left,
  #news .news_right,
  #news .news_detail_right, #news_detail .news_left,
  #news_detail .news_detail_left,
  #news_detail .news_right,
  #news_detail .news_detail_right {
    width: 80% !important;
    margin: 0 auto;
  }
}

#news .news_left, #news .news_detail_left, #news_detail .news_left, #news_detail .news_detail_left {
  margin-bottom: 40px;
}

/* ---------------------------- */
/* ---------casepage--------- */
/* ---------------------------- */
/* ---------common--------- */
.option_ttl, .price_ttl {
  position: relative;
  padding-left: 20px;
  margin-bottom: 20px;
  font-size: 24px;
}

.option_ttl::after, .price_ttl::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 3px;
  height: 24px;
  background-color: #003954;
}

@media (max-width: 599px) {
  .option_ttl::after, .price_ttl::after {
    top: 5px;
    height: 18px;
  }
}

@media (max-width: 599px) {
  .option_ttl, .price_ttl {
    padding-left: 12px;
  }
}

.option_ttl p, .price_ttl p {
  font-size: 24px;
  font-weight: bold;
}

@media (max-width: 599px) {
  .option_ttl p, .price_ttl p {
    font-size: 18px;
  }
}

.case_box {
  /*border: 3px solid #003954;
  border-radius: 10px;*/
  padding-bottom: 30px;
  margin-bottom: 80px !important;
}

@media (max-width: 1000px) {
  .case_box {
    padding: 30px 0;
    margin-bottom: 40px !important;
  }
}

@media (max-width: 1000px) {
  .case_box.inner {
    padding: 0;
  }
}

.case_box .class_ttl {
  width: 100%;
}

.case_box .class_ttl h4{
font-size: 20px;
    width: 100%;
  padding: 0 0 5px 0;
  margin: 0 auto 10px auto;
  text-align: left;
  line-height: 25px;
  background: url("../images/about_philosophy_title.png") no-repeat 0 0;
  text-indent: 30px;
  border-bottom: 1px solid #003954;
  color: #003954;
}

@media (max-width: 599px) {
  .case_box .class_ttl p {
    font-size: 24px;
  }
}

.case_box .class_ttl .bg_yellow {
  background-color: #ffffff;
  color: #fd7e14;
  border: 3px solid #fd7e14;
  font-size: 18px;
  padding: 0 5px;
  margin-left: 10px;
}

.caseitiran, .option, .price {
  padding: 30px;
}

@media (max-width: 599px) {
  .caseitiran, .option, .price {
    padding: 20px;
  }
}

/* ---------casecategory--------- */
.casecategory {
  margin-bottom: 40px;
}

.casecategory .list.row {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: space-between;
		  margin-bottom: 30px;
display: flex;
flex-wrap: wrap;
}
.casecategory .list.row::after{
  content:"";
  display: block;
  width:30%;
}
.casecategory .list .casecategory_box {
  width: 20%;
  padding: 0;
  background-color: #f4f4f4;
  text-align: center;
  border: 1px solid #fff;
}
.casecategory .list .casecategory_box a{
  width: 100%!important;
  line-height: 50px;
  color: #003954;
  display: block;
}
.casecategory .list .casecategory_box a:hover{
	width: 100%!important;
  background-color: #003954!important;
  color:#fff!important;
  box-sizing: border-box;
}

.casecategory .list .casecategory_box_current {
  width: 20%;
  padding: 0;
  background-color: #003954;
  color:#fff;
  text-align: center;
  border: 1px solid #fff;
}

.casecategory .list .casecategory_box_current a {
  width: 100%!important;
  line-height: 50px;
  color:#fff;
  display: block;
}

.casecategory .list .casecategory_box_current a:hover {
	width: 100%!important;
  background-color: #fff!important;
  color:#003954!important;
  box-sizing: border-box;
}

@media (max-width: 1000px) {
  .casecategory .list .casecategory_box {
    width: 50%;
  }
  .casecategory .list .casecategory_box_current {
    width: 50%;
  }
}

@media (max-width: 599px) {
  .casecategory .list .casecategory_box {
    width: 100%;
  }
  .casecategory .list .casecategory_box_current {
    width: 100%;
  }
}

.casecategory .list .casecategory_box.active {
  background-color: #ffffff;
  border: 1px solid #003954;
}

.casecategory .list .casecategory_box.active p {
  color: #003954;
}

.casecategory .list .casecategory_box p {
  font-size: 16px;
}

@media (max-width: 599px) {
  .casecategory .list .casecategory_box p {
    font-size: 18px;
  }
}

/* ---------caseitiran--------- */
.caseitiran {
  background-color: #ffffff;
  padding: 10px 0 10px 0;
}

.caseitiran .inner {
  margin-bottom: 0;
  width: 100%;
}

@media (max-width: 1000px) {
  .caseitiran .inner {
    padding: 0;
  }
}

.caseitiran .list {
  margin-bottom: 10px;
}

.caseitiran .list .box {
  width: 30%;
  margin-bottom: 50px;
  padding-bottom: 10px;
  border-bottom: 1px solid #003954;
}

@media (max-width: 1000px) {
  .caseitiran .list .box {
    width: 48%;
    margin-bottom: 50px;
  }
.caseitiran .list .box div img {
width: 100%;
  margin-bottom: 10px;
  max-height: 234px!important;
  min-height: 200px;
}
}

@media (max-width: 1000px) and (max-width: 599px) {
  .caseitiran .list .box {
    display: block;
	width: 100%;
  }
}

@media (max-width: 599px) {
.caseitiran .list .box div img {
width: 100%;
  margin-bottom: 10px;
  height: 210px!important;
}
}

.caseitiran .list .box div img {
width: 100%;
  margin-bottom: 10px;
  max-height: 200px;
}
.caseitiran .list .box div{
width: 100%;
display: flex;
flex-wrap: wrap;
}
.caseitiran .list .box div p.type {
width: 49%;
background: #003954;
color: #fff;
text-align: center;
padding: 5px;
margin-bottom: 5px;
}

.caseitiran .list .box h5 {
font-size: 18px;
color: #003954;
  text-align: left;
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px solid #003954;
}

.caseitiran .list .box p {
  text-align: left;
}

.caseitiran .class_txt p {
  font-size: 14px;
}
.caseitiran .inner ul {
    margin: 0;
    padding: 0;
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  }
.caseitiran .inner ul li.current {
    background: #003954;
    color: #fff;
    display: block;
    font-size: 16px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 2px;
    padding: 0;
    text-decoration: none;
	text-align: center;
}
.caseitiran .inner ul li.current a:hover{
    background: #fff;
    color: #003954;
    text-decoration: none;
}
.caseitiran .inner ul li {
    background: #aaa;
    color: #fff;
    display: block;
    font-size: 16px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 2px;
    padding: 0;
    text-decoration: none;
	text-align: center;
}
.caseitiran .inner ul li:after {
content: "";
}
.caseitiran .inner ul li a {
    color: #fff;
    display: block;
    text-decoration: none;
}
.caseitiran .inner ul li a:hover {
    color: #003954;
	background: #fff;
    text-decoration: none;
}
/* ---------option--------- */
.option {
  padding: 30px;
}

@media (max-width: 767px) {
  .option .row {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.option .item {
  width: 20%;
  margin-right: 20px;
  text-align: center;
}

@media (max-width: 767px) {
  .option .item {
    width: 40%;
    margin-right: 0;
    margin-bottom: 15px;
  }
}

@media (max-width: 599px) {
  .option .item:nth-child(3) {
    margin-bottom: 0;
  }
}

@media (max-width: 599px) {
  .option .item:nth-child(4) {
    margin-bottom: 0;
  }
}

.option .item img {
  width: 40%;
}

@media (max-width: 767px) {
  .option .item img {
    width: 60%;
  }
}

.option .item p {
  font-size: 16px;
}

/* ---------price--------- */
.price .inner {
  margin-bottom: 0;
  width: 100%;
}

.price .subtxt p {
  font-size: 14px;
}

.price .table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 767px) {
  .price .table {
    width: 100%;
    display: block;
  }
}

.price .table dl {
  width: 20%;
}

@media (max-width: 767px) {
  .price .table dl {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.price .table dt {
  background-color: #f4f4f4;
  padding: 10px 0 !important;
}

.price .table dt, .price .table dd {
  padding: 10px 0;
  text-align: center;
  border: 1px solid #333333;
}

@media (max-width: 767px) {
  .price .table dt, .price .table dd {
    width: 50%;
  }
}

.price .table dd {
  font-size: 24px;
}

.price .btn {
  background-color: #003954;
  border: 1px solid #003954;
}

.price .btn a {
  color: #ffffff;
}

.price .bg_blue {
  background-color: #F2F9FF !important;
}

#case_k,
#case_j,
#case_p,
#case_w {
  display: none;
  width: 100%;
  margin: 0 auto;
  padding: 20px;
}

@media (max-width: 599px) {
  #case_k .case_slide,
  #case_j .case_slide,
  #case_p .case_slide,
  #case_w .case_slide {
    margin-bottom: 15px !important;
  }
}

#case_k.active,
#case_j.active,
#case_p.active,
#case_w.active {
  display: block;
}

/* ---------------------------- */
/* ---------aboutpage--------- */
/* ---------------------------- */
/* ---------common--------- */
/* ---------message--------- */
@media (max-width: 1000px) {
  #message .row {
    display: block;
  }
}

#message .content .img, #message .content .txt {
    width: 100%;
    padding: 30px!important;
	color: #13344f;
    margin: 0 auto 20px;
    background: #e7e7e7!important;
}

@media (max-width: 1000px) {
  #message .content .img, #message .content .txt {
    width: 100%;
  }
}

@media (max-width: 1000px) {
  #message .content .img {
    margin-bottom: 30px;}
  #company .row {
    display: block;
  }
}

/* ---------company--------- */
#company {
  background-color: #f4f4f4;
}

@media (max-width: 1000px) {
  #company .row {
    display: block;
  }
}

#company .gaiyou .gaiyou_main/*, #company .ennkaku*/ {
  width: 100%;
}
#company .gaiyou_inner {
    width: 100%;
	background: rgba(255,255,255,0.7);
    margin: 0 auto;
	padding: 20px;
  }
#about .gaiyou_inner {
    width: 100%;
	background: #e7e7e7;
    margin: 0 auto;
	padding: 20px;
  }
@media (max-width: 1000px) {
  #company .gaiyou/*, #company .ennkaku*/ {
    width: 100%;
    margin: 0 auto;
  }
  #company .gaiyou_inner {
    width: 100%;
	background: rgba(255,255,255,0.8);
    margin: 0 auto;
	padding: 20px;
  }
  #about .gaiyou_inner {
    width: 100%;
	background: #e7e7e7;
    margin: 0 auto ;
	padding: 20px;
  }
}

@media (max-width: 1000px) {
  #company .gaiyou {
    margin-bottom: 40px;
  }
}

#company .scroll {
  height: auto;
  overflow-y: scroll;
  background-color: #ffffff;
  padding: 20px;
}

@media (max-width: 1000px) {
  #company .scroll {
    overflow-y: none;
    height: auto;
  }
}

#company dl {
  margin-bottom: 30px;
  border-bottom: 1px dotted #333333;
  padding-bottom: 10px;
  display: flex;
}
#company div.gaiyou {
width: 100%;
}

#company dl:last-child {
  margin-bottom: 0;
}

#company dt {
  font-weight: bold;
  margin: 0 20px 5px 0;
  color: #000;
}

#company dd {
  color: #333333;
}
#about dl {
    margin-bottom: 15px;
    border-bottom: 1px dotted #333333;
    padding-bottom: 10px;
    display: flex;
}
#about div.gaiyou {
width: 100%;
}

#about dl:last-child {
  margin-bottom: 0;
}

#about dt {
  font-weight: bold;
  margin: 0 20px 5px 0;
  color: #000;
}

#about dd {
  color: #333333;
}
@media (max-width: 599px) {
#about dl {
    display: block;
}
}
/* ---------------------------- */
/* ---------guidepage--------- */
/* ---------------------------- */
/* ---------flow--------- */
#privacy {
  margin-bottom: 0;
  padding-top: 0;
}

#privacy .inner {
  margin-bottom: 0;
}

#privacy h4.ttl {
  margin-bottom: 50px !important;
}
#privacy .list .box {
  position: relative;
  margin-bottom: 50px;
}

#privacy .list .box:last-child {
  margin-bottom: 30px;
}
#privacy .list .box .privacy_ttl {
  font-weight: bold;
  font-size: 20px;
  color: #003954;
  display: inline-block;
  padding: 7px 10px 0 0;
  width: 100%;
  position: relative;
}

#flow {
  margin-bottom: 0;
  padding-top: 0;
}

#flow .inner {
  margin-bottom: 0;
}

#flow h3.ttl {
  margin-bottom: 50px !important;
}

#flow .list .box {
  position: relative;
  margin-bottom: 90px;
}

#flow .list .box:last-child {
  margin-bottom: 30px;
}

@media (max-width: 1000px) {
  #flow .list .box {
    width: 90%;
    margin: 0 auto 90px;
  }
}

#flow .list .box .flow_ttl {
  font-weight: bold;
  font-size: 32px;
  color: #fff;
  display: inline-block;
  padding: 7px 20px;
  width: 100%;
  background-color: #003954;
  position: relative;
}

#flow .list .box .flow_ttl .flow_icon {
  font-size: 24px;
}

#flow .list .box:last-child:after {
  content: none;
}

#flow .list .box::after {
  content: "";
  position: absolute;
  bottom: -60px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #003954;
}

#flow .list .box .txt {
  padding: 20px;
  background-color: #ffffff;
}

@media (max-width: 599px) {
  #flow .list .box .txt {
    padding-top: 20px;
  }
}

#flow .list .allow {
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid black;
}

#flow .list .btn {
  margin-top: 20px;
}

/* ---------tyuijikou--------- */
.tyuijikou {
  background-color: #fff;
}

.tyuijikou .inner {
  margin-bottom: 0 !important;
}

.tyuijikou .ttl {
  background-color: #003954;
  color: #ffffff;
  padding: 10px 0;
  margin-bottom: 0;
  font-size: 24px;
}

.tyuijikou .box {
  background-color: #ffffff;
  padding: 20px;
  padding-left: 40px;
  position: relative;
}

.tyuijikou .box .item {
  margin-bottom: 20px;
}

.tyuijikou .box .item:last-child {
  margin-bottom: 0;
}

.tyuijikou .box .item .tyuijikou_ttl {
  position: relative;
  font-weight: bold;
}

.tyuijikou .box .item .tyuijikou_ttl::before {
  content: "";
  position: absolute;
  top: 5px;
  left: -20px;
  background-color: #003954;
  width: 15px;
  height: 15px;
}

/* ---------------------------- */
/* ---------faqpage--------- */
/* ---------------------------- */
/* ---------faq--------- */
.faq .item {
  margin-bottom: 10px;
}

.faq .item .question, .faq .item .answer {
  padding: 5px 10px;
}

.faq .item .question p span, .faq .item .answer p span {
  color: #003954;
  padding-right: 20px;
}

.faq .item .question {
  border: 2px solid #f4f4f4;
  position: relative;
  cursor: pointer;
}

.faq .item .question::before {
  content: "";
  position: absolute;
  top: 12px;
  right: 20px;
  width: 2px;
  height: 10px;
  background-color: #003954;
  font-size: 20px;
  color: #003954;
  -webkit-transition: all 200ms ease;
  transition: all 200ms ease;
}

.faq .item .question::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 10px;
  height: 2px;
  background-color: #003954;
  font-size: 20px;
  color: #003954;
  -webkit-transition: all 200ms ease;
  transition: all 200ms ease;
}

.faq .item .question.minus::before {
  content: "";
  position: absolute;
  top: 11px;
  right: 20px;
  width: 2px;
  height: 10px;
  background-color: #003954;
  font-size: 20px;
  color: #003954;
  -webkit-transition: all 200ms ease;
  transition: all 200ms ease;
  -webkit-transform: translateY(3px) rotate3d(0, 0, 1, 90deg);
          transform: translateY(3px) rotate3d(0, 0, 1, 90deg);
}

.faq .item .question.minus::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 10px;
  height: 2px;
  background-color: #003954;
  font-size: 20px;
  color: #003954;
  -webkit-transition: all 200ms ease;
  transition: all 200ms ease;
  display: none;
}

.faq .answer {
  display: none;
}

.faq .answer span {
  color: #2d92e2 !important;
}

/* ---------------------------- */
/* ---------news_detail--------- */
/* ---------------------------- */
/* ---------common--------- */
/* ---------common--------- */
#news,
#news_detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#news .news_left,
#news .news_detail_left,
#news_detail .news_left,
#news_detail .news_detail_left {
  width: 75%;
}
#news_detail .news_detail_left h3{
font-size: 20px;
    width: 100%;
  padding: 0 0 5px 0;
  margin: 0 auto 10px auto;
  text-align: left;
  line-height: 25px;
  background: url("../images/about_philosophy_title.png") no-repeat 0 0;
  text-indent: 30px;
}
@media (max-width: 599px) {
#news .news_left, #news .news_right{
  width: 100%!important;
}
#news .news_left .date{
margin: 0!important;
}
#news .news_list .news_item {display: block;}
}

#news .news_left .date,
#news .news_detail_left .date,
#news_detail .news_left .date,
#news_detail .news_detail_left .date {
  margin-bottom: 10px;
}

#news .news_left .eyecatch,
#news .news_detail_left .eyecatch,
#news_detail .news_left .eyecatch,
#news_detail .news_detail_left .eyecatch {
  width: 100%;
  margin-bottom: 20px;
}

#news .news_left .txt,
#news .news_detail_left .txt,
#news_detail .news_left .txt,
#news_detail .news_detail_left .txt {
  margin-bottom: 50px;
}

#news .news_right,
#news .news_detail_right,
#news_detail .news_right,
#news_detail .news_detail_right {
  width: 20%;
}

#news .news_right .ttl,
#news .news_detail_right .ttl,
#news_detail .news_right .ttl,
#news_detail .news_detail_right .ttl {
  font-size: 24px;
  border-bottom: 1px solid #333;
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

#news .news_right .year,
#news .news_detail_right .year,
#news_detail .news_right .year,
#news_detail .news_detail_right .year {
  border: 1px solid #333333;
  width: 100%;
  padding: 5px;
  position: relative;
}

#news .news_right .year:after,
#news .news_detail_right .year:after,
#news_detail .news_right .year:after,
#news_detail .news_detail_right .year:after {
  content: ">";
  position: absolute;
  top: -1px;
  right: 10px;
  font-size: 25px;
  color: #000;
  font-weight: normal;
}

#news .news_right .dates,
#news .news_detail_right .dates,
#news_detail .news_right .dates,
#news_detail .news_detail_right .dates {
padding: 5px;
}
@media (max-width: 599px) {
#news_detail .news_detail_left {
  width: 100%!important;
}
#news_detail .news_detail_right {
  width: 100%!important;
}
}

.eyecatch img {
  height: auto;
}
#case_detail p.photo img,
#case .case_list .item .photo img {
  height: auto;
}
.nav-links {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-bottom: 10px;
}
.nav-links a {
  background: #aaa;
    color: #fff;
    display: block;
    font-size: 16px;
    width: 100px;
    height: 30px;
    line-height: 30px;
    margin: 2px;
    padding: 0;
    text-decoration: none;
    text-align: center;
    display: block;
}
.nav-previous {
  margin-right: 10px;
}
.case_detail_nav {
  justify-content: center;
  flex-wrap: wrap;
}
/*# sourceMappingURL=style.css.map */
