@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/

@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css);
img,
legend {
  border: 0
}

.mfp-title,
body {
  word-wrap: break-word
}

body,
dd,
li,
ol,
p,
ul {
  margin: 0
}

button,
dd,
legend,
li,
ol,
td,
th,
ul {
  padding: 0
}

.c-btn,
a:active,
a:hover,
button {
  outline: 0
}

a,
button {
  background-color: transparent
}

dd,
li,
li.L0,
li.L1,
li.L2,
li.L3,
li.L5,
li.L6,
li.L7,
li.L8,
ol,
ul {
  list-style-type: none
}

html {
  /*  font-family: sans-serif;*/
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  /*  font-family: 'Noto Serif Japanese', serif;*/
  font-family: 'メイリオ', Meiryo, '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'Noto Sans Japanese', sans-serif;
  font-weight: 400;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline
}

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

[hidden],
template {
  display: none
}

a {
  opacity: 1;
  /*  color: #024cc6*/
  color: #666;
  text-decoration-line: none;
}

.footer_info a {
  color: #fff;
}

abbr[title] {
  border-bottom: 1px dotted
}

b,
optgroup,
strong {
  font-weight: 700
}

dfn {
  font-style: italic
}

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

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

small {
  font-size: 80%
}

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

sup {
  top: -.5em
}

sub {
  bottom: -.25em
}

img {
  max-width: 100%;
  vertical-align: top
}

.img50 img {
  max-width: 300px;
  vertical-align: top
}

/*img*/

.scale_half img {
  transform: scale(0.5);
  transform-origin: center center;
}

img.scale_half {
  transform: scale(0.5);
  transform-origin: center center;
}





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

figure {
  margin: 1em 40px;
}

hr {
  box-sizing: content-box;
  height: 0
}

pre,
textarea {
  overflow: auto
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  margin: 0;
  color: inherit
}

button,
select {
  text-transform: none
}

/* ua css*/

p {
  margin: 0;
  padding: 0;
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button
}

button[disabled],
html input[disabled] {
  cursor: default
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0
}

input {
  line-height: normal
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0
}

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

input[type=search] {
  box-sizing: content-box;
  -webkit-appearance: textfield
}

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

fieldset {
  margin: 0 2px;
  padding: .35em .625em .75em;
  border: 1px solid silver
}


/* form table start */

.form table textarea,
.form table input[type="text"] {
  width: 70%;
  border: 1px solid #ccc;
}
.mfp_element_textarea{
  width: 100% !important;
  height: 250px !important;
  box-sizing:border-box;
  max-width: none !important;
}
.form table input[type="checkbox"] {
}

.form table .checkbox_wrap label {
  position: relative;
  display: inline-block;
  padding: 3px 3px 3px 0;
  cursor: pointer;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.form table .checkbox_wrap label::before,
.form table .checkbox_wrap label::after {
  position: absolute;
  content: '';
  -webkit-transition: all .2s;
  transition: all .2s;
}

/*.form table .checkbox_wrap label::before {
  top: 50%;
  left: 0;
  width: 14px;
  height: 14px;
  margin-top: -8px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
}
*/
.form table .checkbox_wrap label::after {
  opacity: 0;
  top: 50%;
  left: 3px;
  width: 8px;
  height: 4px;
  margin-top: -4px;
  border-left: 2px solid #666;
  border-bottom: 2px solid #666;
  -webkit-transform: rotate(-45deg) scale(.5);
  transform: rotate(-45deg) scale(.5);
}

.form table .checkbox_wrap label:hover::before {
  background: #fff;
}

.form table input[type="checkbox"]:checked + label::before {
  background: #fff;
  border: 1px solid #666;
}

.form table input[type="checkbox"]:checked + label::after {
  opacity: 1;
  -webkit-transform: rotate(-45deg) scale(1);
  transform: rotate(-45deg) scale(1);
}


.select-box02 {
  display: block!important;
  margin-bottom: 0px;
}

.select-box02 select {
  width: 60%;
  padding: 2px 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #ccc;
  background: #fff;
  background: url(/b-keiei/common/img/down_arrow.svg) 96% 50% no-repeat;
  background-size: 14px, 100%;
}


.mfp_buttons button,
.form input[type=button].btn_next {
  appearance: none;
  /* ブラウザのスタイルをリセットする */
  outline: none;
  border: none;
  color: #fff;
  background-color: #37DCBE;
  border: 1px solid #37DCBE;
  display: block;
  line-height: 48px;
  height: 50px;
  width: 320px;
  min-width: 320px;
  margin: 20px auto;
  border-radius: 4px;
}
div.mfp_buttons button#mfp_button_cancel{
  background:#c1c1c1;
  border:1px solid #c1c1c1;
  margin-top: 0;
}
.form input[type=button].btn_prev {
  appearance: none;
  /* ブラウザのスタイルをリセットする */
  outline: none;
  border: none;
  color: #333;
  background-color: #fff;
  border: 1px solid #666;
  display: block;
  line-height: 48px;
  height: 50px;
  width: 320px;
  min-width: 320px;
  margin: 20px auto;
  border-radius: 4px;
}



/*btn2つ横並び*/

.form_button input[type=button].btn_prev,
.form_button input[type=button].btn_next {
  width: 320px;
  min-width: 320px;
  display: table-cell;
  margin: 10px;
}

.form_button input {
  width: 340px;
  min-width: 340px;
}

.form_button_wrap {
  width: 100%;
  margin: 30px auto 20px;
  text-align: center;
}

.form_button {
  display: flex;
  justify-content: center;
}

@media screen and (max-width:640px) {

  .form table textarea,
  .form table input[type="text"] {
    width: 100%;
  }
  .select-box02 select {
    width: 100%;
  }

  .form table .checkbox_wrap {
    margin-left: 52px;
  }


  .form input[type=button] {
    width: 80%;
    min-width: 90%;
  }

  .form_button_wrap {
    width: 100%;
  }

  .form_button {
    width: 100%;
    margin-top: 20px;
    flex-direction: column-reverse;
  }

  /*btn２つ*/
  .form_button input[type=button].btn_prev,
  .form_button input[type=button].btn_next {
    width: 100%;
    min-width: 100%;
    margin: 10px 0;
  }

  .form_button input {
    width: 80%;
    min-width: 90%;
  }
}

/*end form */

/*sns */

.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style] {
  width: 100% !important;
}

fb-page{
  width: 100%;
  height: 450px;
}

.twitter-timeline {
  width: 100%;
  height: 450px;
}


table {
  border-spacing: 0;
  border-collapse: collapse
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.4em;
  overflow-x: hidden;
  min-width: 100%;
  color: #333;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset
}

@media only screen and (-webkit-min-device-pixel-ratio:2),
(-webkit-min-device-pixel-ratio:2),
(min-resolution:2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

* {
  box-sizing: border-box;
}

em {
  font-style: normal;
}

p + p {
  margin-top: 1em;
}

.p_block_ac {
  text-align: center;
  margin: 35px 0;
}

@media screen and (max-width:640px) {
  .p_block_ac {
    text-align: left;
    margin: 25px 0;
  }
}

button {
  overflow: visible;
  cursor: pointer;
  -webkit-transition: .3s linear;
  transition: .3s linear;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

/*btn image*/

.btn_img {
  width: 100%;
  margin: 10px auto;
  text-align: center;
}

.btn_img img {
  width: 430px;
}

@media screen and (max-width:640px) {
  .btn_img img {
    width: 96%;
  }
}

a:hover,
button:hover {
  opacity: .7
}



.link_left_arrow a {
  position: relative;
  display: inline-block;
  padding: 0 0 22px 14px;
  text-decoration: none;
  /*  font-size: 12px;*/
}

.link_right_arrow a {
  position: relative;
  display: inline-block;
  padding: 0 14px 22px 0;
  text-decoration: none;
  /*  font-size: 12px;*/
}

.link_left_arrow a:before {
  content: '';
  width: 7px;
  height: 7px;
  border: 0px;
  border-top: solid 1px #666;
  border-right: solid 1px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -14px;
}

.link_right_arrow a:after {
  content: '';
  width: 7px;
  height: 7px;
  border: 0px;
  border-top: solid 1px #666;
  border-right: solid 1px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -14px;
}

/*■を入れる*/

.link_square {
  position: relative;
  padding: 0 0 0 16px;
}

.link_square + p {
  margin: 10px 0;
}

.link_square:before {
  content: "";
  position: absolute;
  background: #666;
  top: 50%;
  left: 0px;
  margin-top: -8px;
  height: 12px;
  width: 12px;
  border-radius: 0%;
}

/* variable */

/*
:root {
  --base-width: 1024px;
}
*/

:root {
  --base-width: 940px;
}

/*base*/

.l-contents {
  padding: 0 10px;
}

.l-main {
  width: 100%;
  max-width: var(--base-width);
  margin: 0 auto;
  padding: 20px 0 60px;
}

.l-main_form {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 40px 0 60px;
}



/*base sp*/

@media screen and (max-width:640px) {
  body {
    border: none
  }
  .l-main_primary,
  .l-main_secondary {
    float: none;
    width: auto
  }
  .l-main {
    padding: 20px 0 30px;
  }
  .l-main_secondary {
    position: static;
    margin: 30px 0 0;
  }
}


/*header*/

.l-header {
  padding: 0 10px;

}

/*
.l-header_top {
  padding: 0 0px;
  background-size: contain;
  position: relative;
}
*/

/*-------------------------------
header start

0411 変更
---------------------------------*/

.inner {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.inner:after {
  content: "";
  clear: both;
  display: block;
}

/*PC ロゴ等の設定*/

.header_pc_wrap {
  display: flex;
  align-items: center;
}

.header_pc_logo {
  width: 200px;
  padding-left: 30px;
}

.header_pc-list {
  padding-right: 30px;
}

.header_pc-list li {
  text-align: left;
  font-size: 16px;
  width: 225px;
}

.header_pc-list li:first-child {
  width: 285px;
}

.header_pc-list li:last-child {
  width: 140px;
}

.header_pc-list {
  margin: 0 -10px;
}

.header_pc-list li {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0px;
  list-style: none;
}

.header_pc_wrap .header_pc_logo {
  margin-right: auto;
}
header .form_total_btn{
    background: #98d57d;
    color: #fff;
    text-align: center;
    padding: 12px 10px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    font-size: 14px;
    display: block;
}
#top-head.fixed a.form_total_btn{
	color: #fff;
    text-decoration: none;
}
header .tel{
    color: #fff;
    font-size: 30px;
}
header#top-head.fixed .tel{
    color: #666;
}
header#sub-head .tel{
    color: #666;
}
header#sub-head a, header#sub-head.fixed {
    color: #666;
    text-decoration: none;
}

header#sub-head a.form_total_btn {
    color: #fff;
}
/*PC ロゴ等の設定　end*/

/*--------header-----------*/

#top-head {
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  padding: 30px 0 0;
  line-height: 1;
  z-index: 150;
}

/*スクロール時の設定*/

.scr_off {
  display: block;
}

.scr_on {
  display: none;
}

#sub-head {
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  /*pc ヘッダ内部余白*/
  padding: 10px 10px 0;
  line-height: 1;
  z-index: 999;
}


/*常に背景色をつける*/

#sub-head {
  background: #fff;
  background: rgba(255, 255, 255, 1.8);
}

#top-head a,
#top-head {
  color: #fff;
  text-decoration: none;
}

/*sub色指定*/

#sub-head a,
#sub-head {
  color: #666;
  text-decoration: none;
}

#sub-head .inner,
#top-head .inner {
  position: relative;

}

/*
#sub-head .logo,
#top-head .logo {
  float: left;
  position: relative;
  font-size: 36px;
  height: 50px;
}
*/

/*
#sub-head .logo a,
#top-head .logo a {
  position: absolute;
  width: 100%;
  height: 50px;
}
*/

/*#global-nav ul {}*/

#global-nav ul li {
  width: 100%;
}

/*#global-nav ul li a {}*/

nav span {
  background: #666;
  height: 2px;
  display: block;
  position: relative;
  width: 50px;
  left: 0;
}


/*--------固定化されたときのCSS-----------*/

#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  padding-top: 10px;
  background: #000;
  background: rgba(255, 255, 255, .9);
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
  color: #333;

  border-bottom: 1px solid #ccc;
}

/*スクロール時 画像反転*/

#top-head.fixed .scr_off {
  display: none;
}

#top-head.fixed .scr_on {
  display: block;
}

/*リンクの色*/

#top-head.fixed a,
#top-head.fixed {
  color: #666;
  text-decoration: none;
}

/*sub色指定*/

#sub-head.fixed a,
#sub-head.fixed {
  color: #666;
  text-decoration: none;
}

/*subページのスクロール時の背景*/

#sub-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  padding-top: 10px;
  background: #000;
  background: rgba(255, 255, 255, .9);
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
  border-bottom: 1px solid #ccc;
}

#sub-head.fixed .logo,
#top-head.fixed .logo {
  position: relative;
}


/*
#sub-head.fixed .logo a,
#top-head.fixed .logo a {
  position: absolute;
  width: 100%;
  height: 30px;

}
*/

/*
#sub-head.fixed #global-nav ul li a,
#top-head.fixed #global-nav ul li a {}
*/

/*-----------スマホのトグルボタンのCSS-------------*/

#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;

  width: 34px;
  height: 36px;

  cursor: pointer;
  z-index: 101;
}

#nav-toggle div {
  position: relative;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #000;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 11px;
}

#nav-toggle span:nth-child(3) {
  top: 22px;
}

#nav-toggle span:nth-child(4) {
  border: none;
  top: 28px;
  left: 0px;
  font-size: 11px;
  font-weight: bold;
  background: #fff;
  color: #000;
}



/*---------gnav sp--------------*/

/*-----------スマホ-------------*/

@media screen and (max-width: 640px) {
  .head-inner {
    display: none;
  }
  .slick-next {
    right: 0;
  }
  #sub-head,
  #top-head,
  .inner {
    width: 100%;
    padding: 0;
  }

  .inner {
    border-bottom: 1px solid #ccc;
  }

  #sub-head,
  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;

  }

  /* Fixed reset */
  #sub-head.fixed,
  #top-head.fixed {
    padding-top: 0;
    background: transparent;

  }

  #mobile-head {
    background: #000;

    width: 100%;
    height: 56px;
    z-index: 999;
    position: relative;

  }

  #sub-head.fixed .logo,
  #sub-head .logo,
  #top-head.fixed .logo,
  #top-head .logo {
    position: absolute;
    left: 10px;
    height: 50px;
    top: 15px;
    color: #333;
    font-size: 26px;
  }

  #global-nav {
    position: absolute;
    /* 開いてないときは画面外に配置 */
    top: -500px;
    background: #000;

    width: 100%;
    text-align: center;
    padding: 10px 0;
    /*    padding: 10px 0;*/
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }


  #global-nav ul {
    position: absolute;
    top: 34px;
    left: 0;
    right: 0;
    text-align: left;
    font-size: 14px;
  }


  #global-nav ul li {
    color: #fff;
    background: #000;
    background: rgba(0, 0, 0, .9);
  }

  #sub-head #global-nav ul li,
  #sub-head.fixed #global-nav ul li,
  #top-head #global-nav ul li,
  #top-head.fixed #global-nav ul li {
    width: 100%;
    min-width: 100%;
    border-bottom: 1px solid #999;
  }
  /*スライドメニュー設定*/
  #sub-head #global-nav ul li a,
  #sub-head.fixed #global-nav ul li a,
  #top-head #global-nav ul li a,
  #top-head.fixed #global-nav ul li a {
    color: #fff;
    position: relative;
    display: block;
    padding: 10px 0 10px 26px;
  }

  #sub-head #global-nav ul li a:before,
  #sub-head.fixed #global-nav ul li a:before,
  #top-head #global-nav ul li a:before,
  #top-head.fixed #global-nav ul li a:before {
    position: absolute;
    top: 34%;
    left: 10px;
    display: block;
    width: 5px;
    height: 5px;

    content: '';
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);

    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  /*トグル*/
  #nav-toggle {
    display: block;
  }
  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }


  /* #global-nav スライドアニメーション */
  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -moz-transform: translateY(556px);
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
  }
}

/*------------タブレット用------------------*/

@media screen and (max-width: 1024px) {
  .head-inner {
    display: none;
  }

  .slick-next {
    right: 0;
  }

  #sub-head,
  #top-head,
  .inner {
    width: 100%;
    padding: 0;
  }

  .inner {
    width: 100%;
    padding: 0;
    margin: 0;
  }

  #sub-head,
  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;

    padding: 0px 0px 0;
  }



  /* Fixed reset */
  #sub-head.fixed,
  #top-head.fixed {
    padding-top: 0;
    /*    background: transparent;*/
    background: #fff;
    background: rgba(255, 255, 255, .9);
  }


  .header_pc_wrap {
    padding: 0px 10px 0;
  }


  #mobile-head {
    /*spの時の背景色*/
    background: #fff;
    width: 100%;
    height: 70px;
    z-index: 999;
    position: relative;
  }

  #mobile-head .logo {
    /*spの時の背景色*/
    position: absolute;
    left: 12px;
    /*    height: ;*/
    top: 11px;
  }

  #mobile-head .logo img {
    width: 130px;
  }

  #global-nav {
    position: absolute;
    /* 開いてないときは画面外に配置 */
    top: -518px;
    /*    background: #fff;*/
    background: rgba(0, 0, 0, .9);
    width: 100%;
    text-align: center;
    padding: -5px 0 -5px;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
  }

  #nav-toggle {
    display: block;
    right: 25px;
    top: 20px;
  }
  /* #nav-toggle 切り替えアニメーション */
  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }
  /* #global-nav スライドアニメーション */
  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -moz-transform: translateY(556px);
    -webkit-transform: translateY(556px);
    transform: translateY(556px);
  }

}

@media screen and (min-width:641px) and ( max-width:1023px) {
	.header_pc-list li:first-child {
	    width: 240px;
	}
	.header_pc-list li:last-child {
	    width: 120px;
	}
	header .tel {
	    font-size: 25px;
	}
	.header_pc-list li {
	    font-size: 12px;
	    width: 165px;
	}
	header .form_total_btn {
	    padding: 12px 5px;
	    font-size: 12px;
	    display: block;
	}

  #sub-head,
  #top-head {
    top: 0;
    position: fixed;
    margin-top: 0;
    padding: 10px 10px 0;
  }
}

/*sp前　ヘッダロゴ等の並び調整
 ロゴ等の設定*/

@media screen and (min-width:641px) and ( max-width:840px) {

  .header_pc_wrap {
    display: flex;
    align-items: center;
    padding-right: 4px;
  }

  .header_pc_logo {
    min-width: 180px;
    padding-left: 0px;
  }

  .header_pc-list {
    margin-left: auto;
    padding-right: 0;
    width: 80%;
    text-align: right;
  }
  .header_pc-list li {
    align-items: center;
    font-size: 12px;
    width: 165px;
    text-align: left;
    padding-right: 0px;
    margin-left: auto;
  }

  .header_pc-list li:first-child {
    width: 240px;
  }

  .header_pc-list li:last-child {
    width: 100px;
  }

  .header_pc-list {
    margin: 0 0px;
  }

  .header_pc-list li {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0px;
    list-style: none;
  }

  .header_pc_wrap .header_pc_logo {
    margin-right: auto;
  }
}


/*navi_wrap*/

#g-nav {
  width: 100%;
  text-align: left;
  margin: 30px 0 0 30px;
  padding: 0 10px 0 0px:
}

@media screen and (min-width:641px) and ( max-width:738px) {
  #g-nav {
    width: 100%;
    text-align: left;
    margin: 30px 0 0 10px;
    padding: 0 10px 0 0px:
  }
}

#g-nav li {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 12px;
}

#g-nav .sns_icon {
  margin-left: 6px;
}

.fb_icon,
.line_icon,
.twitter_icon {
  width: 20px;
  height: 20px;
}

#g-nav li.gnav_menu {
  position: relative;
  display: inline-block;
  padding: 0 14px 0 14px;
  text-decoration: none;
}

#g-nav li.gnav_menu:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  top: 1.3em;
  left: 0;
  margin-top: -18px;
}

/*subページはテキストの色変更*/

#sub-head .navi_wrap li.gnav_menu:before {
  border-top: solid 2px #666;
  border-right: solid 2px #666;
}

/*固定スクロールのときは色反転*/

#top-head.fixed #g-nav li.gnav_menu:before {
  border-top: solid 2px #666;
  border-right: solid 2px #666;
}


/*--------------------------------------

subpage,トップSP表示の時は固定メニューの高さ分
余白を調整する

----------------------------------------*/

/*base*/

/*トップスライドblock*/

/*サブページ見出し①→画像なし、テキストのみ*/

/*サブページ見出し②→右背景画像あり*/

#header_line {
  padding-top: 140px;
}

.header_line_inner {
  margin-top: -140px;
  padding-top: 140px;
}

/*フォーム*/

#header_line_form {
  padding-top: 80px;
}

#header_line_form .header_line_inner {
  margin-top: -80px;
  padding-top: 80px;
}



@media screen and (max-width:825px) {
  #header_line {
    padding-top: 130px;
  }

  .header_line_inner {
    margin-top: -130px;
    padding-top: 130px;
  }
}

@media screen and (max-width:700px) {
  #header_line {
    padding-top: 160px;
  }

  .header_line_inner {
    margin-top: -160px;
    padding-top: 160px;
  }
}

@media screen and (max-width:640px) {
  #header_line {
    padding-top: 90px;
  }

  .header_line_inner {
    margin-top: -90px;
    padding-top: 90px;
  }

}


/*---------------


header end

0411 変更

-----------------*/

video,
img.mv {
  display: block;
  margin: 0 0 0 auto;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  object-fit: cover;
}

/*pc*/

.main_txt {
  width: 100%;
  margin: 0 auto;
  position: relative;
  background: #ccc;
}

#top_txt {
  position: absolute;
  top: -110px;
  right: -680px;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 80%;
  height: 3.2rem;
  text-align: center;
  color: #fff;
  z-index: 140;
}

#top_txt p {
  font-size: 33px;
  padding: 10px 0;
  color: #fff;
}

#top_txt .main_img_icon {
  text-align: center;
}

#top_txt .main_img_icon img {
  width: 160px;
}


/*下層ページ見出し*/

#main_wrap {
  width: 100%;
  border-bottom: 1px solid #999;
  border-top: 1px solid #999;
  height: 160px;
  height: auto;
  display: flex;
  align-items: center;
}

.main_inner {
  width: 50%;
}

.main_img {
  width: 50%;
  height: 260px;
  vertical-align: middle;

}

.main_img_kouken {
  width: 50%;
  padding: 20px 0;
  vertical-align: middle;
}

@media screen and (max-width:640px) {
  .main_img_kouken {
    width: 100%;
    padding: 20px 0 10px;
    vertical-align: middle;
  }
}



#main_visual_released_structure {
  background: url(/b-keiei/released_structure/img/main_2x.png);
  background-repeat: no-repeat;
  background-size: cover;
}

/*社会貢献活動　society_community*/

/*地域貢献活動レポートPC　area_community*/

#main_visual_community {
  background: url(/b-keiei/released_structure/society_community/img/main@2x.png);
  background-repeat: no-repeat;
  background-size: contain;
}


#main_visual_about {
  background: url(/b-keiei/about/img/main_2x.png);
  background-repeat: no-repeat;
  background-size: cover;
}

#main_visual_media {
  background: url(/b-keiei/media/img/main@2x.png);
  background-repeat: no-repeat;
  background-size: cover;
}

#main_visual_message {
  background: url(/b-keiei/message/img/main@2x.png);
  background-repeat: no-repeat;
  background-size: cover;
}

#main_visual_privacymark {
  background: url(/b-keiei/privacymark/img/main_2x.png);
  background-repeat: no-repeat;
  background-size: cover;
}

#main_visual_business {
  background: url(/b-keiei/business_contents/img/main@2x.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.main_message {
  width: 50%;
  height: 200px;
  background: url(/b-keiei/common/img/company/messege_main.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

.main_title {
  justify-content: center;
  text-align: center;
}


/*nopic*/

#main_title_wrap {
  width: 100%;
  border-bottom: 1px solid #999;
  border-top: 1px solid #999;
  min-height: 156px;
  height: auto;
  display: flex;
  /* 子要素をflexboxで揃える */
  flex-direction: column;
  /* 子要素をflexboxにより縦方向に揃える */
  justify-content: center;
  /* 子要素をflexboxにより中央に配置する */
  align-items: center;
  /* 子要素をflexboxにより中央に配置する */
}

/*
#main_title_wrap .main_title h2,
#main_wrap .main_title h2 {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 500;
}
*/

#main_title_wrap .main_title_box h2 {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 600;
}


#main_title_wrap .main_title span,
#main_wrap .main_title span {
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
  padding: 2px 0px 0;
}

#main_title_wrap .main_title h2 span,
#main_wrap .main_title h2 span {
  /*  position: relative;*/
}

#main_title_wrap .main_title_line,
#main_wrap .main_title_line {
  display: block;
  width: 100%;
  text-align: center;
  margin: 0 auto;
  padding-top: 0px;
}


#main_title_wrap .main_title img,
#main_wrap .main_title img {
  width: 54px;
  height: 2px:
}

@media screen and (max-width:640px) {
  #main_wrap {
    width: auto;
    flex-direction: column-reverse;
  }

  .main_inner {
    width: 100%;
  }
  .main_img {
    width: 100%;
    height: 115px;
    background-size: contain;
  }

  #main_wrap .main_title {
    width: 100%;
    padding: 0;
  }


  #main_title_wrap {
    min-height: 100px;
  }



  #main_title_wrap .main_title_box h2 {
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 600;
  }


}


#footer_icon {
  width: 80%;
  margin: 10px auto;
  display: flex;
  flex-flow: row wrap;
  /*  background: blue;*/
  color: #fff;
  padding: 16px 0;
}


#footer_icon .icon_wrap {
  width: 33.3%;
  text-align: center;
  padding: 0;
  margin: 0;
}


#footer_icon .i-figure_caption {
  font-size: 22px !important;
  font-weight: 800 !important;
}

.footer {
  padding: 0 0 30px;
  background: #2D2522;
}

.footer_sitemap {
  padding: 0 10px;
  background: #2D2522
}

.footer_sitemap a {
  text-decoration: none;
  color: #fff
}

.footer_nav {
  width: 100%;
  max-width: 988px;
  margin: 0 auto;
  text-align: center;
  padding: 10px 0
}


.footer_info {
  font-size: 0;
  padding: 18px 0 0;
  text-align: center;
  background: #2D2522
}

.footer_info_item {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.2;
  display: inline-block;
  padding: 0 20px
}

.footer_info_item + .footer_info_item {
  border-left: 1px solid #e6e6e6
}

.footer_copyright {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 17px 10px 0;
  text-align: center;
  color: #fff;
  background: #2D2522
}

.footer_pagetop {
  position: fixed;
  z-index: 2;
  right: 30px;
  bottom: 30px;
  width: 50px;
  height: 50px;
  border-radius: 3px;
  background: #0378da;
  background: rgba(164, 106, 86, .5)
}

.footer_pagetop a {
  position: relative;
  display: block;
  overflow: hidden;
  height: 100%;
  white-space: nowrap;
  text-indent: -100%
}

.footer_pagetop a:before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 10px;
  height: 10px;
  margin-top: 4px;
  content: '';
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  border-top: 3px solid #fff;
  border-right: 3px solid #fff
}

@media screen and (max-width:640px) {
  .footer {
    overflow-x: hidden;
    /*下余白削除*/
    padding: 0 0 0
  }
  .footer_nav,
  .footer_nav_cat_title {
    padding: 0
  }
  .footer_sitemap {
    /*下余白削除*/
    margin: 0 0 0;
    padding: 10px 0 0
  }
  .footer_sitemap a {
    text-decoration: none;
    color: #fff
  }


  /*スマホ設定*/
  .footer_info {
    margin: 0 -10px;
    padding: 10px 0;
  }
  .footer_info_item {
    font-size: 10px;
    font-size: 1rem;
    padding: 0 10px
  }
  .footer_copyright {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 17px 0 0
  }
  .footer_pagetop {
    right: 10px;
    bottom: 20px;
    width: 44px;
    height: 44px
  }
  .footer_pagetop a:before {
    left: 50%;
    width: 10px;
    height: 10px;
    margin-top: 4px;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    border-top: 3px solid #fff;
    border-right: 3px solid #fff
  }
}

/*ページ内ナビゲーション*/

#page_nav {
  width: 100%;
  text-align: center;
  margin-bottom: 14px;
}

#page_nav li a {
  text-decoration: none;
  color: #fff;
}


#page_nav li a {
  text-decoration: none;
  color: #666;
}

#page_nav li {
  position: relative;
  display: inline-block;
  padding: 0 0 0px 14px;
  text-decoration: none;
  font-size: 14px;
}

#page_nav li:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #666;
  border-right: solid 2px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  top: 1.7em;
  left: 0;
  margin-top: -18px;
}

/*ページ内ナビゲーション　end*/

/* 引用 */

.cp_quote img {
  width: 500px;
  margin: 0 auto 20px;
}

.text_arrow:before,
.l-localnav_category_item:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg)
}


.c-btn,
.p-heroSlide_banner_link {
  -webkit-transition: .2s linear;
  text-decoration: none
}

.l-section + .l-section {
  margin-top: 50px
}

.l-section > .l-section {
  margin-top: 45px
}


.l-section_small {
  margin-top: 20px;
}

.l-section_small + .l-section_small {
  margin-top: 25px
}

.l-section_small > .l-section_small {
  margin-top: 20px
}

@media screen and (max-width:640px) {
  .l-section + .l-section {
    margin-top: 25px
  }
  .l-section > .l-section {
    margin-top: 20px
  }


  .l-section_small + .l-section_small {
    margin-top: 15px
  }
  .l-section_small > .l-section_small {
    margin-top: 10px
  }
}


/*youtube*/

.c-btn {
  line-height: 1.4;
  position: relative;
  display: block;
  margin-top: 30px;
  transition: .2s linear;
  color: #fff;
  border-radius: 3px;
  background: #134089;
}

.c-btn_ico--next:before,
.c-btn_ico--prev:before {
  content: '';
  border-radius: 100%;
  background: #fff
}




.c-btn--medium {
  min-width: 50%
}

.c-btn--small {
  min-width: 30%;
  font-size: 16px;
  margin-bottom: 14px;
}

.c-btn_label_small {
  position: relative;
  display: inline-block;
  padding: 8px 8px 8px
}

.c-btn--large {
  min-width: 75%
}

.c-btn--flex {
  display: table
}

.c-btn--center {
  margin-right: auto
}


.c-btn--close {
  margin-top: 20px;
  cursor: pointer
}

.c-btn--close .c-btn_label {
  padding: 10px 20px 8px
}

.c-btn_label {
  position: relative;
  display: inline-block;
  padding: 16px 15px 14px
}

.c-btn_ico--next,
.c-btn_ico--prev {
  padding-right: 40px;
  padding-left: 40px;
  display: block
}

.c-btn_ico--next:before {
  position: absolute;
  top: 50%;
  right: 10px;
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}

.c-btn_ico--next:after {
  position: absolute;
  top: 50%;
  right: 17px;
  display: block;
  width: 4px;
  height: 4px;
  content: '';
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid #9B8262;
  border-right: 2px solid #9B8262
}

.c-btn_ico--prev:before,
.title_h3:before {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%)
}

.c-btn_ico--prev:before {
  position: absolute;
  left: 10px;
  display: block;
  width: 18px;
  height: 18px;
  transform: translateY(-50%)
}

.c-btn_ico--prev:after {
  position: absolute;
  top: 50%;
  left: 17px;
  display: block;
  width: 4px;
  height: 4px;
  content: '';
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 2px solid #9B8262;
  border-left: 2px solid #9B8262
}

.c-btn_ico--pdf:after,
.c-btn_ico--zoom:after {
  display: inline-block;
  margin-left: 5px;
  content: '';
  vertical-align: middle
}

.c-btn_ico--pdf:after {
  width: 16px;
  height: 18px;
  background: url(/b-keiei/common/img/ico_doc-pdf.svg) no-repeat;
  background-size: cover
}

.c-btn_ico--zoom:after {
  width: 18px;
  height: 17px;
  background: url(/b-keiei/common/img/ico_zoom.png) no-repeat;
  background-size: cover
}

/*薄い色のボタン*/

.c-btn--type02 {
  color: #4D4239;
  background: #F1D194;
}

.c-btn--type02 .c-btn_ico--next:before {
  background: #9B8262;
  background: #fff;
}

.c-btn--type02 .c-btn_ico--next:after {
  border-color: #9B8262
}

@media screen and (max-width:640px) {
  .c-btn_ico--next,
  .c-btn_ico--prev {
    display: block;
    padding-right: 30px;
    padding-left: 30px
  }
  .c-btn {
    margin-top: 10px
  }
  .c-btn--flex {
    display: block
  }
  .c-btn_ico--next:before {
    right: 10px;
    width: 12px;
    height: 12px
  }
  .c-btn_ico--next:after {
    right: 15px;
    width: 3px;
    height: 3px;
    border-top-width: 1px;
    border-right-width: 1px
  }
  .c-btn_ico--prev:before {
    left: 10px;
    width: 12px;
    height: 12px
  }
  .c-btn_ico--prev:after {
    left: 15px;
    width: 3px;
    height: 3px;
    border-bottom-width: 1px;
    border-left-width: 1px
  }
  .c-btn_ico--pdf:after {
    width: 11px;
    height: 12px
  }
}


/* ボタン透明*/

.flex_btn_inner {
  margin: 0 auto;
  text-align: center;
  width: 80%;
}

/*ボタン一つ*/

.btn_inner {
  margin: 0 auto;
  text-align: center;
  width: 80%;
}


/*ボタン一つ*/

.btn_small_inner {
  margin: 0 auto;
  text-align: center;
  width: 38%;
}

.btn_inner .f_btn {
  line-height: 1.4;
  position: relative;
  display: block;

  margin: 20px auto 10px;
  padding: 10px 0;

  text-decoration: none;
  display: block;
  text-align: center;
  color: #666;

  background: #fff;
  border: 1px solid #666;
  border-radius: 90px;
}

.btn_small_inner .f_btn {
  line-height: 1.4;
  position: relative;
  display: block;

  margin: 20px auto 10px;
  padding: 14px 0;

  text-decoration: none;
  display: block;
  text-align: center;
  color: #666;

  background: #fff;
  border: 1px solid #666;
  border-radius: 90px;
}

ul.btn_list {
  list-style: none;
  display: flex;
}


.btn_list li {
  width: 48%;
  margin-right: 2%;
}

.btn_list li:first-child {
  margin-right: 4%;
}

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

}


/*背景無し*/

.f_btn_nocolor {
  line-height: 1.4;
  position: relative;
  display: block;

  margin: 20px auto 10px;
  padding: 10px 8px;

  text-decoration: none;
  display: block;
  text-align: center;
  color: #FFFFFF;

  background: transparent;
  border: 1px solid #fff;
  border-radius: 90px;
}





/*ボタン一つ*/

.btn_inner_green {
  margin: 0 auto;
  text-align: center;
  width: 80%;
}

.btn_inner_green .g_btn {
  appearance: none;
  /* ブラウザのスタイルをリセットする */
  outline: none;
  border: none;
  color: #fff;
  background-color: #37DCBE;
  border: 1px solid #37DCBE;
  display: block;
  line-height: 24px;

  margin: 20px auto;
  padding: 10px 0;
  border-radius: 4px;
  position: relative;
}

.btn_inner_green .g_btn span {
  font-size: 12px;
}

.btn_inner_green a.g_btn {
  text-decoration: none;
}


.btn_inner_green .g_btn:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 20%;
  margin-top: -4px;
}


@media screen and (max-width: 640px) {

  .flex_btn_inner {
    margin: 0 auto;
    text-align: center;
    width: 90%;
  }

  ul.btn_list {
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .btn_list li {
    width: 100%;
  }

  .btn_list li:first-child {
    margin-right: 0%;
  }
  .btn_inner_green {
    width: 90%;
  }
  .btn_inner_green .g_btn:before {
    left: 5%;
  }
}


.c-btn--nocolor {
  background: transparent;
  border: 1px solid #fff;
  border-radius: 90px;
}

.c-btn--ccc {
  background: transparent;
  border: 1px solid #666;
  border-radius: 90px;
  color: #666;
}


/*画像横並び*/

.img_flex {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  margin: 30px 0;
}

.img_flex figure {
  margin: 7px 0 20px;
  padding-bottom: 20px;
}


/*i-figure 設定*/
.i-figure_caption {
  text-align: left;
  /*  padding-right: 10px;*/
}
.i-figure_caption .caption_linklist li a{
	    color: #fff;
	text-decoration: underline;
}

.i_figure img {
  width: 100%;
  max-width: 360px;
  text-align: center;
  /*  padding-right: 10px;*/
  margin: 0 auto;
}

.i_figure_right img,
.i_figure_left img {
  width: 100%;
  max-width: 360px;
  text-align: center;
  padding-right: 0px;
  margin: 0 auto;
}


/*.i-figure_caption,*/

.i-figure:last-child {
  padding-right: 0;
}

.i-figure_caption {
  font-size: 13px;
  font-size: 1.3rem;
  margin: 7px 0 10px;
}


/*caption テキスト位置 3/28追加*/

figcaption.cap_left {
  text-align: left;
}

figcaption.cap_right {
  text-align: right;
}

figcaption.cap_center {
  text-align: center;
}


/*caption テキストのスタート位置*/

figcaption.cap_short {
  padding: 0 1em 0 1em;
}

@media screen and (max-width: 640px) {
  .img_flex {
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    margin: 20px 0;
  }

  .img_flex figure {
    margin: 0 auto;
    text-align: center;
    padding-bottom: 20px;
  }

  .i-figure_caption {
    padding-right: 0;
  }

  .i_figure img {
    padding: 0px 0;
    text-align: center;
    margin: 0 auto;
  }

  .i-figure {
    margin: 7px 0 20px;
    padding-bottom: 10px;
  }
}

/* link list*/

.caption_linklist ul {
  width: 90%;
  text-align: left;
}

.caption_linklist li {
  line-height: 1.6em;
  position: relative;
  display: block;
  padding-left: 14px;
  text-decoration: none;
  text-align: left;
}

.caption_linklist li:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}

@media screen and (max-width: 640px) {

  .caption_linklist ul {
    width: 98%;
    text-align: left;
  }

  .caption_linklist li {
    overflow: hidden;
    display: block;
    width: 100%;
  }
}

/*画像下にコンテンツがあるfigure*/

.figure_link {
  display: flex;
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  margin: 30px 0;
}

.figure_link_inner {
  padding: 10px;
  flex-grow: 1;
  width: 100%;
  padding-bottom: 5.0rem;
  margin-bottom: 0;
  position: relative;
}

.figure_link_inner_nopadding {
  padding-bottom: 0rem!important;
}




.figure_link_inner figcaption {
  font-size: 13px;
  font-size: 1.8rem;
  margin: 7px 0 10px;
}

.banner_inner {
  display: flex;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 30px 0;
}

.banner_inner .figure_link_inner {
  width: 25%;
  /*4つしか入れない*/
  margin: 10px 0;
}


.figure_link_btn {
  max-width: 110px;
  margin: 0 auto;
  text-align: center;
  padding: 0;
  display: block;
  position: absolute;
  bottom: 20px;
  width: 100%;
  left: 0;
  right: 0;
}

@media screen and (max-width: 640px) {
  .figure_link {
    /*slider　切り替え　flex end*/
    display: block;
    width: 100%;
    flex-flow: column;
    justify-content: center;
    margin: 20px 0;
  }

  .figure_link_inner {
    padding: 10px;
    flex-grow: 1;
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .banner_inner {
    flex-flow: column;
    justify-content: center;
    margin: 20px 0;
  }

  .banner_inner .figure_link_inner {
    width: 100%;
    /*4つしか入れない*/
    margin: 10px 0 0;
  }
}

.figure_link_list {
  margin: 10px auto;
  max-width: 360px;
}

.figure_link_list dt {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 10px 0;
  display: table;
  vertical-align: top;
  border-spacing: 0px;
  text-align: left;
}

.figure_link_list dd {
  font-size: 12px;
  font-size: 1.2rem;
  width: 100%;
  text-align: left;
}

/*カテゴリ囲み*/

.figure_link_list dt p {
  display: table-cell;
  vertical-align: top;
  vertical-align: top;
  border-spacing: 0px;
}


.figure_link_list dt span {
  padding: 4px 4px;
  margin-right: 6px;
  color: #FFF;
  background: #00C8AB;
  font-size: 12px;
  min-width: 40px;
  text-align: center;
  display: inline-block;
}


/*list title*/

.text_list_midasi {
  font-weight: 700;
}

.text_list02 + .text_list_midasi {
  margin-top: 30px;
}

/*only top*/

.title_h2_index {
  font-size: 24px;
  font-size: 2.4rem;
  margin: 0 auto 30px;
  text-align: center;
  padding: 12px 0px 9px 0;
  width: 100%;
  box-sizing: border-box;
  font-weight: 500;
}

.title_h2_index span {
  display: block;
  padding: 4px 0 10px;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: normal;
}

.title_h2 {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 600;
  margin: 30px auto 30px;
  text-align: left;
  padding: 0px 0px 0px 13px;
  width: 100%;
  box-sizing: border-box;
  border-left: 6px solid #61c46e;
  border-bottom: 1px solid #b2b2b2;
  color: #61c46e;
}

.link_color {
  color: #37DCBE;
}

/*page_midasi*/

.pagetitle_h2 {
  font-size: 28px;
  font-size: 2.8rem;
  margin: 0 0 30px;
  padding: 10px 10px 11px;
  width: 100%;
}

@media screen and (max-width: 640px) {
  .p_title img {
    height: 80px;
  }

  .title_h2 {
    font-size: 20px;
    font-size: 2rem;
    margin: 30px 0 30px;
    padding: 6px 6px 6px;
  }
}

.title_h3 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.4;
  position: relative;
  margin: 10px 0 30px;
  padding: 7px 15px 7px 4px;
  border-radius: 3px;
  background: #D6CDBC;
  background: none;
  border-bottom: 1px solid #666;
}

.title_h4:before,
.title_h3:before {
  display: block;
  content: '';
  background: #9B8262;
}

.title_h4 {
  font-size: 18px;
  font-size: 1.8rem;
  position: relative;
  margin: 0 0 30px;
  padding: 7px 10px 5px;
  border-bottom: 2px solid #e6e6e6
}

.title_h4:before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 122px;
  height: 2px
}

.text_list_item,
.title_h5 {
  position: relative
}

@media screen and (max-width: 640px) {
  .title_h4 {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 0 15px;
    padding: 5px 5px 3px
  }
}

.title_h5 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.3;
  margin: 0 0 20px;
  padding: 2px 0 0 7px;
}

.title_h5_box {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.3;
  margin: 0 0 20px;
  padding: 2px 0 0 7px;
  border-left: 4px solid #483F2D;
}

.table td,
.table th {
  padding: 10px 20px;
  border: 1px solid #e6e6e6
}

@media screen and (max-width: 640px) {
  .title_h5 {
    font-size: 15px;
    font-size: 1.5rem;
    margin: 0 0 15px
  }
}

.c-lead {
  font-size: 22px;
  font-size: 2.2rem;
  margin: 0 0 10px
}

@media screen and (max-width: 640px) {
  .c-lead {
    font-size: 20px;
    font-size: 2rem
  }
}

.c-figure {
  margin: 0
}

.c-figure_caption {
  font-size: 13px;
  font-size: 1.3rem;
  margin: 7px 0 10px
}

.u_txt_80 {
  width: 80%;
  text-align: center;
  margin: 30px auto 40px;
}

.u_txt_90 {
  width: 90%;
  text-align: center;
  margin: 30px auto 40px;
}


/*回り込み 追加*/

.section-float {
  clear: both;
  overflow: hidden;
  margin: 10px 0 20px 0;
}

.section-float figure {
  display: inline;
}

.section-float .section-float_img {
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
}

.section-float .section-float_right_img {
  float: right;
  margin-left: 10px;
  margin-bottom: 10px;
}


@media screen and (max-width: 640px) {

  .section-float figure {
    display: block;
  }

  .section-float .section-float_img {
    float: none;
    margin-right: 10px;
    margin-bottom: 10px;
  }

  .section-float .section-float_right_img {
    float: none;
    margin-left: 10px;
    margin-bottom: 10px;
  }
}

/*テーブル*/

.table table {
  width: 100%;
  table-layout: fixed;
  background: #fff
}

.table.table--center td,
.table.table--center th {
  text-align: center;
  vertical-align: middle
}

.table--auto table {
  table-layout: inherit
}

.table th {
  text-align: left;
  vertical-align: top;
  background: #E6CC9B;
}

.table_grid_col--3 {
  width: 22.86115%
}

.table_grid_col--4 {
  width: 31.460674%
}

.table .table_heading {
  background: #f7f7f7
}

@media screen and (max-width: 640px) {
  .table {
    font-size: 13px;
    font-size: 1.3rem
  }
  .table td,
  .table th {
    padding: 5px
  }
  .table--type02 td,
  .table--type02 th {
    display: block;
    padding: 5px 10px
  }
  .table--type02 {
    font-size: 15px;
    font-size: 1.5rem;
    border-top: 1px solid #F1D194
  }
  .table--type02 th {
    width: auto;
    border-top: none;
  }
  .table--type02 th + td {
    border-top: none;
  }
}

.table02,
.table02 table {
  width: 100%;
}

.table02 {
  background: #fff;
}

.table02.table02--center td,
.table02.table02--center th {
  text-align: center;
  vertical-align: middle;
}

.table02_head_label {
  padding: 10px 20px;
  text-align: center;
  border: 1px solid #e6e6e6;
  background: #E6CC9B;
}

.table02 td,
.table02_heading {
  font-weight: 400;
  padding: 10px 20px;
  border: 1px solid #f7f7f7
}

.table02_body tr:nth-child(even) {
  background: #FDF8E6
}

.table02_heading {
  font-weight: 400;
  text-align: left
}

@media screen and (max-width: 640px) {
  .table02 {
    border-top: 1px solid #e6e6e6
  }
  .table02_head {
    display: none
  }
  .table02 td,
  .table02_heading {
    display: block;
    width: auto;
    padding: 5px 10px;
    text-align: left!important;
    border-top: none
  }
  .table02 td:before,
  .table02_heading:before {
    font-weight: 700;
    display: inline-block;
    content: attr(data-label)
  }
  .table02_body tr:nth-child(even) {
    background: 0 0
  }
  .table02_heading {
    background: #ebf6ff
  }
}

.text_list02_data,
.text_list_item {
  padding-left: 19px
}

.text_list02_title:before,
.text_list_item:before {
  top: .45em;
  left: 5px;
  display: block;
  height: 7px;
  content: '';
  box-sizing: border-box
}

.text_list .text_list {
  margin-top: 10px
}

.text_list_item:before {
  position: absolute;
  width: 7px;
  border-radius: 100%;
  background: #9B8262
  /*normal*/
}

.list_daia .text_list_item:before {
  position: absolute;
  border-radius: 0;
  /*  left: -1em;*/
  /*ダイヤ*/
  top: .5em;
  /*  left: -1em;*/
  width: 6px;
  height: 6px;
  background-color: #666;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}


.text_list_item + .text_list_item {
  margin-top: 7px
}

.text_list_item.c-grid_col {
  margin-top: 0;
  margin-bottom: 7px
}

.text_list_item .text_list_item:before {
  border: 1px solid #134089;
  background: 0 0
}

.text_list--type02 > .text_list_item + .text_list_item {
  margin-top: 25px
}

@media screen and (max-width: 640px) {
  .text_list_item.c-grid_col {
    width: calc((100% / 2) - 10px)
  }
}

.text_list02 {
  margin: 0
}

.text_list02_data + .text_list02_title,
.text_list02_title + .text_list02_title {
  margin-top: 25px
}

.text_list02_title {
  font-weight: 700;
  position: relative;
  padding-left: 16px
}

.text_list02_title:before {
  position: absolute;
  width: 7px;
  border-radius: 100%;
  background: #666;
}

/*ダイア型*/

.list_daia .text_list02_title:before {
  position: absolute;
  border-radius: 0;
  /*ダイヤ*/
  top: .5em;
  width: 6px;
  height: 6px;
  background-color: #666;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.list02_title_daia:before {
  position: absolute;
  background: #666 top: .5em;
  /*ダイヤ*/
  width: 7px;
  height: 7px;
  background-color: #666;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.numeric_list02_title:before,
.numeric_list_item:before {
  left: 0;
  content: counter(number) '.';
  counter-increment: number 1
}

.table .text_list02_data + .text_list02_title {
  margin-top: 5px
}

.numeric_list {
  margin: 0;
  counter-reset: number 0
}

.numeric_list_item {
  position: relative;
  padding: 0 0 0 1.8em
}

.numeric_list_item:before {
  position: absolute
}

.numeric_list_item + .numeric_list_item {
  margin-top: 10px
}

@media screen and (max-width: 640px) {
  .numeric_list_item + .numeric_list_item {
    margin-top: 15px
  }
}

.numeric_list02 {
  margin: 0;
  counter-reset: number 0
}

.numeric_list02_title {
  font-weight: 700;
  position: relative;
  padding: 0 0 0 1.8em
}

.numeric_list02_title:before {
  font-weight: 400;
  position: absolute
}

.numeric_list02_data {
  padding-left: 1.8em
}

.numeric_list02_data + .numeric_list02_title {
  margin-top: 20px
}

.c-box {
  padding: 30px;
  border: 4px solid #ebeadf;
  border: 1px double #7D6A3E;
  background: #faf8f0;
}

.c-box--priorityLow {
  margin: 10px 0 10px 0;
  border: none;
  border: 1px solid #666;
  background: none;
}

.c-box--priorityHigh {
  border-color: #c00;
  border: 2px solid rgb(159, 37, 37);
  background: #fff
}

.ancher_list--column3 .ancher_list_item:first-child,
.ancher_list--column3 .ancher_list_item:nth-child(3n + 1),
.ancher_list--column4 .ancher_list_item:first-child,
.ancher_list--column4 .ancher_list_item:nth-child(5n) {
  border-left: 1px solid #e6e6e6
}

/*挨拶ページ　box*/

.c-box_col {
  padding: 0px;
  border: 1px solid #ccc;
}

.c-box_col + .c-box_col {
  margin-top: 30px;
}

.c-box_col p {
  padding: 24px;
}

.c-box_col_midasi {
  padding: 10px 0;
  text-align: center;
  background: #ccc;
}


@media screen and (max-width: 640px) {
  .numeric_list02_data + .numeric_list02_title {
    margin-top: 15px
  }
  .c-box {
    padding: 20px
  }
}

.c-imageUnit {
  overflow: hidden;
  zoom: 1;
  margin: 0 0 30px
}

.c-imageUnit_text {
  overflow: hidden;
  zoom: 1
}

.c-imageUnit_image_caption {
  font-size: 11px;
  font-size: 1.1rem;
  margin: 10px 0 0
}

.c-imageUnit--parallel .c-imageUnit_text {
  overflow: visible
}

.c-imageUnit--parallel .c-imageUnit_image {
  margin-bottom: 30px
}

.c-imageUnit--imageL .c-imageUnit_image {
  float: left;
  margin-right: 40px
}

.c-imageUnit--imageR .c-imageUnit_image {
  float: right;
  margin-left: 40px
}

@media screen and (max-width: 640px) {
  .c-imageUnit,
  .c-imageUnit_text {
    overflow: hidden;
    zoom: 1
  }
  .c-imageUnit {
    margin: 0 0 30px
  }
  .c-imageUnit--parallel .c-imageUnit_text {
    overflow: visible
  }
  .c-imageUnit--parallel .c-imageUnit_image {
    margin-bottom: 30px
  }
  .c-imageUnit--imageL .c-imageUnit_image {
    float: none;
    margin-right: 0
  }
  .c-imageUnit--imageR .c-imageUnit_image {
    float: none;
    margin-left: 0
  }
  .c-imageUnit_image img {
    width: 100%
  }
}

.ancher_list--column3 .ancher_list_item {
  width: calc(100% / 3)
}

.ancher_list--column4 .ancher_list_item {
  width: 25%
}

.ancher_list_item {
  position: relative;
  float: left;
  margin-bottom: 10px;
  padding: 0 20px 0 45px;
  border-right: 1px solid #e6e6e6
}

.ancher_list_item:after,
.ancher_list_item:before {
  position: absolute;
  top: .7em;
  display: block;
  content: ''
}

.ancher_list_item:before {
  left: 20px;
  width: 18px;
  height: 18px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 100%;
  background: #DDBD85
}

.ancher_list_item:after {
  left: 26px;
  width: 4px;
  height: 4px;
  margin-top: -1px;
  -webkit-transform: translateY(-50%) rotate(135deg);
  -ms-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff
}

.ancher_list_item_link {
  text-decoration: none
}

@media screen and (max-width: 640px) {
  .ancher_list--column4 .ancher_list_item {
    width: calc(100% / 3)
  }
  .ancher_list--column4 .ancher_list_item:nth-child(5n) {
    border-left: none
  }
  .ancher_list--column4 .ancher_list_item:nth-child(3n + 1) {
    border-left: 1px solid #e6e6e6
  }
  .ancher_list_item {
    position: relative;
    margin-bottom: 5px;
    padding: 0 10px 0 25px
  }
  .ancher_list_item:before {
    left: 10px;
    width: 12px;
    height: 12px
  }
  .ancher_list_item:after {
    left: 14px;
    width: 3px;
    height: 3px;
    border-top-width: 1px;
    border-right-width: 1px
  }
  .ancher_list--type02 {
    display: block;
    margin-right: -10px
  }
  .ancher_list--type02 .ancher_list_item {
    display: inline-block;
    width: auto;
    margin-bottom: 10px;
    padding-left: 15px;
    border: none!important
  }
  .ancher_list--type02 .ancher_list_item:before {
    left: 0
  }
  .ancher_list--type02 .ancher_list_item:after {
    left: 4px
  }
}

.c-grid {
  /*余白調整*/
  margin: 10px -10px
}

.c-grid_col {
  float: left;
  overflow: hidden;
  margin: 0 10px
}

.c-grid_col--1 {
  width: calc(((100% / 12) * 1) - 20px)
}

.c-grid_col--2 {
  width: calc(((100% / 12) * 2) - 20px)
}

.c-grid_col--3 {
  width: calc(((100% / 12) * 3) - 20px)
}

.c-grid_col--4 {
  width: calc(((100% / 12) * 4) - 20px)
}

.c-grid_col--5 {
  width: calc(((100% / 12) * 5) - 20px)
}

.c-grid_col--6 {
  width: calc(((100% / 12) * 6) - 20px)
}

.c-grid_col--7 {
  width: calc(((100% / 12) * 7) - 20px)
}

.c-grid_col--8 {
  width: calc(((100% / 12) * 8) - 20px)
}

.c-grid_col--9 {
  width: calc(((100% / 12) * 9) - 20px)
}

.c-grid_col--10 {
  width: calc(((100% / 12) * 10) - 20px)
}

.c-grid_col--11 {
  width: calc(((100% / 12) * 11) - 20px)
}

.c-grid_col--12 {
  width: calc(((100% / 12) * 12) - 20px)
}

@media screen and (max-width: 640px) {
  .c-grid {
    margin: 0 -5px
  }
  .c-grid_col {
    margin: 0 5px 10px
  }
  .c-grid_col--1 {
    width: calc(((100% / 12) * 1) - 10px)
  }
  .c-grid_col--2 {
    width: calc(((100% / 12) * 2) - 10px)
  }
  .c-grid_col--3 {
    width: calc(((100% / 12) * 3) - 10px)
  }
  .c-grid_col--4 {
    width: calc(((100% / 12) * 4) - 10px)
  }
  .c-grid_col--5 {
    width: calc(((100% / 12) * 5) - 10px);
    width: calc((100% / 2) - 10px)
  }
  .c-grid_col--6 {
    width: calc(((100% / 12) * 6) - 10px);
    width: calc((100% / 2) - 10px)
  }
  .c-grid_col--7 {
    width: calc(((100% / 12) * 7) - 10px);
    width: calc((100% / 2) - 10px)
  }
  .c-grid_col--8 {
    width: calc(((100% / 12) * 8) - 10px);
    width: calc((100% / 2) - 10px)
  }
  .c-grid_col--9 {
    width: calc(((100% / 12) * 9) - 10px);
    width: calc((100% / 2) - 10px)
  }
  .c-grid_col--10 {
    width: calc(((100% / 12) * 10) - 10px);
    width: calc((100% / 2) - 10px)
  }
  .c-grid_col--11 {
    width: calc(((100% / 12) * 11) - 10px);
    width: calc((100% / 2) - 10px)
  }
  .c-grid_col--12 {
    width: calc(((100% / 12) * 12) - 10px);
    width: calc((100% / 2) - 10px)
  }
  .c-grid_col + .c-grid_col {
    margin-top: 0
  }
  [data-spgrid=false] {
    display: block
  }
  [data-spgrid=false] > .c-grid_col {
    float: none
  }
  [data-spgrid=false] .c-grid_col + .c-grid_col {
    margin-top: 20px
  }
  [data-spgrid=false] .c-grid_col--1,
  [data-spgrid=false] .c-grid_col--10,
  [data-spgrid=false] .c-grid_col--11,
  [data-spgrid=false] .c-grid_col--12,
  [data-spgrid=false] .c-grid_col--2,
  [data-spgrid=false] .c-grid_col--3,
  [data-spgrid=false] .c-grid_col--4,
  [data-spgrid=false] .c-grid_col--5,
  [data-spgrid=false] .c-grid_col--6,
  [data-spgrid=false] .c-grid_col--7,
  [data-spgrid=false] .c-grid_col--8,
  [data-spgrid=false] .c-grid_col--9 {
    width: auto
  }
}

.notice_item {
  position: relative;
  padding-left: 1.5em
}

.notice_item + .notice_item {
  margin-top: 10px
}

.notice_mark {
  position: absolute;
  left: 0
}

.text_arrow:before,
.text_arrowlist_item:before {
  left: 2px;
  border-top: 2px solid #DDBD85;
  border-right: 2px solid #DDBD85
}

.text_arrow {
  position: relative;
  display: inline-block;
  padding-left: 20px
}

.text_arrow:before {
  position: absolute;
  top: .45em;
  display: block;
  width: 4px;
  height: 4px;
  margin: 0 8px 0 5px;
  content: '';
  transform: rotate(45deg);
  vertical-align: .2em
}

.text_arrow_link[data-ico=pdf]:after,
.text_arrow_link[data-ico=excel]:after,
.text_arrow_link[data-ico=word]:after {
  width: 16px;
  height: 18px;
  vertical-align: middle;
  display: inline-block;
  margin-left: 5px;
  content: ''
}

.text_arrow_link {
  text-decoration: none
}

.text_arrow_link[data-ico=pdf]:after {
  background: url(/b-keiei/common/img/ico_doc-pdf.svg) no-repeat;
  background-size: cover
}

.text_arrow_link[data-ico=excel]:after {
  background: url(/b-keiei/common/img/ico_doc-excel.svg) no-repeat;
  background-size: cover
}

.text_arrow_link[data-ico=word]:after {
  background: url(/b-keiei/common/img/ico_doc-word.svg) no-repeat;
  background-size: cover
}

.text_arrow_link[data-ico=external]:after {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 5px;
  content: '';
  vertical-align: baseline;
  background: url(/b-keiei/common/img/ico_external.svg) no-repeat;
  background-size: cover
}

@media screen and (max-width: 640px) {
  .text_arrow:before {
    top: .6em
  }
  .text_arrow_link[data-ico=pdf]:after,
  .text_arrow_link[data-ico=excel]:after,
  .text_arrow_link[data-ico=word]:after {
    width: 11px;
    height: 12px
  }
}

.text_arrowlist.c-grid .text_arrowlist_item + .text_arrowlist_item {
  margin-top: 0
}

.text_arrowlist_item {
  position: relative;
  padding-left: 20px
}

.text_arrowlist_item + .text_arrowlist_item {
  margin-top: 8px
}

.text_arrowlist_item:before {
  position: absolute;
  top: .45em;
  display: block;
  width: 4px;
  height: 4px;
  margin: 0 8px 0 5px;
  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: .2em
}

.text_arrowlist_item_link[data-ico=pdf]:after,
.text_arrowlist_item_link[data-ico=excel]:after,
.text_arrowlist_item_link[data-ico=word]:after {
  width: 14px;
  height: 16px;
  vertical-align: middle;
  margin-left: 5px;
  content: '';
  display: inline-block
}

.text_arrowlist_item_link {
  text-decoration: none
}

.text_arrowlist_item_link[data-ico=pdf]:after {
  background: url(/b-keiei/common/img/ico_doc-pdf.svg) no-repeat;
  background-size: cover
}

.text_arrowlist_item_link[data-ico=excel]:after {
  background: url(/b-keiei/common/img/ico_doc-excel.svg) no-repeat;
  background-size: cover
}

.text_arrowlist_item_link[data-ico=word]:after {
  background: url(/b-keiei/common/img/ico_doc-word.svg) no-repeat;
  background-size: cover
}

.text_arrowlist_item_link[data-ico=external]:after {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 5px;
  content: '';
  vertical-align: middle;
  background: url(/b-keiei/common/img/ico_external2.svg) no-repeat;
  background-size: cover
}

.text_arrowlist_item_link[data-ico=internal]:after {
  display: inline-block;
  width: 14px;
  height: 14px;

  margin: 0 0 5px 5px;
  content: '';
  vertical-align: middle;
  background: url(/b-keiei/common/img/ico_internal.svg) no-repeat;
  background-size: cover
}




@media screen and (max-width: 640px) {
  .text_arrowlist.c-grid {
    margin: 0 -5px
  }
  .text_arrowlist.c-grid .text_arrowlist_item {
    width: calc((100% / 2) - 10px)
  }
  .text_arrowlist_item_link[data-ico=pdf]:after,
  .text_arrowlist_item_link[data-ico=excel]:after,
  .text_arrowlist_item_link[data-ico=word]:after {
    width: 11px;
    height: 12px
  }

  .text_arrowlist_item_link[data-ico=internal]:after {
    width: 12px;
    height: 12px
  }

  .text_arrowlist_item_link[data-ico=external]:after {
    width: 14px;
    height: 14px
  }

}

.p_title {
  position: relative;
  z-index: 1;
}

.title_h2_next {
  position: absolute;
  z-index: 2;
  top: 0;
  width: 100%;
  /*  max-width: 988px;*/
  max-width: var(--base-width);

  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.p-heroSlide {
  position: relative;
  z-index: 1;
}

.p-heroSlide_items {
  z-index: 1;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  animation: fadeIn 2s ease 0s 1 normal
}

.p-heroSlide_items img {
  width: 100%;
}


.p-heroSlide_item + .p-heroSlide_item {
  position: absolute
}

.p-heroSlide_bottom {
  position: relative;
  z-index: 3;
  /*  width: 1150px;*/
  width: 100%;
  max-width: var(--base-width);
  /*  left: calc((100% - 1150px)/2);*/
  /* 子要素をflexboxにより中央に配置する */
  bottom: 30px;
  padding: 0;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .15);
}

.p-heroSlide_bottom_inner {
  width: 100%;
  /*  max-width: 988px;*/
  margin: 0 auto;
  /*  display: flex;*/
}

#news_wrap {
  margin: 70px 0 30px;
  padding: 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  display: flex;
  flex-direction: row;

  -ms-flex-direction: row;
  /*IE10*/
  -webkit-box-direction: row;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-flex-direction: row;
  /* Safari6.1以降 */
  flex-grow: 1;

}

span.news_en {
  display: block;
  font-size: 14px
}

.topics_wrap_title {
  font-size: 28px;
  display: table;
  margin-bottom: 20px;
    margin: 0 auto;
}

.topics_title {
  display: table-cell;
  padding-right: 12px;
  white-space: nowrap;

}

.topics_list_btn {
  display: table-cell;
  font-size: 14px;
  vertical-align: middle;
}

.topics_list_btn span {
  background: #999;
  padding: 2px 8px;
  white-space: nowrap;
  border-radius: 2px;
}

.topics_list_btn a {
  text-decoration: none;
  color: #fff;
}


.news_head {
  order: 1;
  width: 30%;
  background: #3a923e;
  color:#fff;
    text-align: center;
    margin: 0 auto;
    padding:83px 0 0;
border-left: 1px solid #ccc;
}

.news_category_pc li {
  line-height: 1.0em;
  white-space: nowrap;

  position: relative;
  display: block;
  text-decoration: none;
  padding-left: 26px;
  margin: 0 0 24px 0;
}

.news_category_pc li a {
  text-decoration: none;
}

.news_category_pc .arrow_all a {
  color: #727171;
}

.news_category_pc .arrow_book a {
  color: #13ac67;
}

.news_category_pc .arrow_media a {
  color: #58b7ea;
}

.news_category_pc .arrow_news a {
  color: #036eb6;
}

.arrow_all:before {
  content: '';
  width: 16px;
  height: 16px;

  position: absolute;
  top: 0;
  left: 0;
  background-image: url(/b-keiei/common/img/top/ico_arrow_double_gray.svg);
  background-repeat: no-repeat;
}

.arrow_book:before {
  content: '';
  width: 16px;
  height: 16px;

  position: absolute;
  top: 0;
  left: 0;
  background-image: url(/b-keiei/common/img/top/ico_arrow_single_green.svg);
  background-repeat: no-repeat;
}

.arrow_media:before {
  content: '';
  width: 16px;
  height: 16px;

  position: absolute;
  top: 0;
  left: 0;
  background-image: url(/b-keiei/common/img/top/ico_arrow_single_aqua.svg);
  background-repeat: no-repeat;
}

.arrow_news:before {
  content: '';
  width: 16px;
  height: 16px;

  position: absolute;
  top: 0;
  left: 0;
  background-image: url(/b-keiei/common/img/top/ico_arrow_single_navy.svg);
  background-repeat: no-repeat;
}

#news_innner {
  order: 2;
  flex-grow: 2;
  width: 70%;
  height: 240px;
  overflow: scroll;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  line-height: 1.7em;
}

.topicsList {
  padding: 40px 0 20px 40px;
}

.p-topicsList_item {
  margin-bottom: 20px;
}

.p-topicsList_item_date {
  display: flex;
  flex-direction: row;
  align-items: center;
}

/*news 分類名*/

.p-topics_category {
  display: inline;
  margin: 0 0 0 4px;
  order: 2;
}

.p-topics_category span {
  padding: 0px 6px;
  color: #FFF;
  font-size: 12px;
  text-align: center;
  display: inline-block;

}

.cate_news {
  background: #036eb6;
}

.cate_book {
  background: #13ac67;

}


.cate_media {
  background: #58b7ea;
}


.p-topicsList_item_text {}


@media screen and (max-width: 640px) {
  #news_wrap {
    padding: 0;
    margin: 20px auto 0;
    flex-direction: column;
    width: 95%;
  }

  .news_head {
    order: 1;
    width: 100%;
    padding: 10px 0 0;
  }

  .news_category_pc {
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  .select-box_news {
    display: block!important;
    margin-bottom: 0px;
    width: 100%;
  }

  .select-box_news select {
    width: 100%;
    padding: 2px 16px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #ccc;
    background: #fff;
    background: url(/b-keiei/common/img/down_arrow.svg) 96% 50% no-repeat;
    background-size: 14px, 100%;
  }

  #news_innner {
    order: 2;
    flex-grow: 1;
    width: 100%;
    line-height: 1.2em;
  }

  .topicsList {
    padding: 20px 10px 0;
  }

  .p-heroSlide_bottom {
    width: 96%;
    max-width: 98%;
    padding: 0;
    bottom: 30px;
    margin: auto;
  }


  #news_innner {
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
  }

  li.topicsList_item {
    padding: 8px 0px;
  }

  #news_innner .news_title {
    order: 1;
  }

  #news_innner .news_list_btn {
    order: 2;
  }

  #news_innner .topicsList_box {
    order: 3;
    width: 100%;
  }

  #news_innner .news_list_btn {
    order: 3;
    position: absolute;
    right: 0;
    top: 0;
    border-left: 1px solid #ccc;
    padding: 20px 10px;
    white-space: nowrap;
  }

  .topicsList_item_date {
    padding: 0 4px 0 6px;
  }


  /*改行対策*/
  .topicsList_item.up {
    padding: 0 4px 0 6px;
  }

  .topicsList_box {
    padding: 10px 0;
  }

  .topicsList_item p {
    width: 100%;

  }
  .topicsList_item .topics_txt {
    width: 86vw;
  }

}

/*top business事業紹介*/

.business_inner {
  padding: 10px 10px;
  /*画面の高さと同じにします*/
  /*  height: 100vh;*/
  background: url('/b-keiei/common/img/top/top_bk_02.png') no-repeat fixed;
  background-size: cover;
  position: relative;
}

.seminars_inner {
  padding: 10px 10px;
  /*画面の高さと同じにします*/
  /*  height: 100vh;*/
  background: url('/b-keiei/common/img/top/top_bk_02.png') no-repeat fixed;
  background-size: cover;
  position: relative;
}

.grey_inner {
  background: #F5F6F6;
}



p-figure small {
  font-size: 12px;
  line-height: 14px;
  display: block;
  color: #bdbdbd
}

@media print {
  .l-main_primary {
    float: none;
    width: auto
  }
  .footer,
  .l-gnav,
  .l-header_func,
  .l-main_secondary {
    display: none
  }
}

.ancher_list:after,
.c-grid:after,
.l-header_fontSwitcher:after,
.l-header_inner:after,
.l-header_link:after,
.l-main:after,
.num_box_flow:after,
.p-guideNav_list:after,
.p-listBlock:after,
.p-pagenation:after,
.profile_info:after,
.p-receptionInfo:after,
.topics_path_list:after {
  display: block;
  clear: both;
  content: ''
}

/*コメント機能用に追加*/

.input_box {
  margin: 8px 0;
}

#comment {
  text-align: left;
  width: 80%;
  border: 1px solid #9B8262;
  margin: 8px 0;
}

#commentv {
  text-align: left;
  width: 100%;
  height: 160px;
  border: 1px solid #9B8262;
  margin: 8px 0;
  padding: 8px;
  overflow: scroll;
}


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

  #comment {
    width: 100%;
    margin: 10px auto;
  }

  #commentv {
    text-align: left;
    width: 100%;
    height: 160px;
    border: 1px solid #9B8262;
    margin: 8px 0;
    padding: 8px;
    overflow: scroll;
  }

}

/*googlemaps幅にfit*/

.gmap {
  width: 96%;
  margin: 0 auto;
}

.gmap iframe {
  width: 100%;
  height: 360px;
}

@media screen and (max-width: 640px) {
  .gmap iframe {
    width: 100%;
    height: 100%;
    min-height: 280px;
  }

}

/*ページ内リンク*/

.text_arrow_r > span a {
  display: inline;
  position: relative;
  padding: 15px 16px 15px 4px;
  /* 左右にアイコン分を考慮した余白を指定 */
  font-weight: bold;
}

.text_arrow_r > span a::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 4px;
  width: 5px;
  height: 5px;
  margin-top: -3px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid #D3C0A8;
  border-right: 2px solid #D3C0A8;
}

/* ブラウザ判定ボタン用 */

button.download {
  text-decoration: underline;
  color: #024cc6;
}

/* 演奏スケジュール用 */

.flex_box {
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-flow: row-reverse nowrap;
  margin: 10px 10px;
}

/*テキストの方　常にある*/

.flex-1 {
  flex: 1;
}

.flex_img {
  padding: 4px 20px 4px 6px;
  flex-basis: 240px;
}

.flex_img img {
  width: 240px;
}

.data,
.data_song {
  display: flex;
  flex-flow: row nowrap;
  border-bottom: 1px dotted #c0c0c0;
  padding: 4px 0;
}

.data_list li {
  border-bottom: 1px dotted #c0c0c0;
  padding: 4px 0;
}

.data > span {
  /*flex-basis: 140px;*/
  min-width: 100px;
  padding-right: 20px;
}

@media screen and (max-width: 640px) {

  .icon > span:before {
    content: "■";
    font-size: 16px;
    margin: 0 2px 0 0;
    color: #9B8262;
  }

  .flex_box {
    flex-flow: column nowrap;
    margin: 10px 14px;
  }

  .flex_img {
    padding: 0;
    text-align: center;
    margin: 10px auto;
  }

  .data,
  .data_song {
    flex-flow: column wrap;
  }

  .data > span {
    flex-basis: 80%;
  }
}

/*パンくずリスト*/

.breadcrumb_list {
  width: 100%;
  /*  max-width: 988px;*/
  max-width: var(--base-width);
  margin: 10px auto;
  font-size: 12px;
}

.breadcrumb_list ul {
  margin: 0 10px;
}

.breadcrumb_list a {
  text-decoration: none;
}


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

.breadcrumb_list li {
  display: inline;

}

.breadcrumb_list li:before {
  content: "\f105";
  font-family: FontAwesome;
  padding: 0 1em 0 1em;
}

.breadcrumb_list li:first-child:before {
  content: "";
  padding: 0;
}


.breadcrumb_list li:last-child {
  display: inline;
}

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

/*accordion menu list 複数*/

#acMenu_close li.open,
#acMenu_open li.open {
  text-align: left;
  cursor: pointer;
  position: relative;
  width: 100%;
  display: block;
  font-weight: bold;
  font-size: 22px;
  font-size: 2.2rem;
  margin: 0 0 20px;
  padding: 14px 10px 11px;
  border-bottom: 3px solid #9B8262;
}

/*acmenu 初期close*/

#acMenu_close .open:after {
  content: "\f067"" 読む";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 20px;
  right: 13px;
  font-size: 14px;
  background: #F1B8B8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 80px;
  text-align: center;
}

#acMenu_close .open.active:after {
  content: "\f068"" 隠す";
  background: #9CCAF8;
}

#acMenu_close li.data {
  width: 100%;
  display: none;
  border: none;
}


/*初期open*/

#acMenu_open .open:after {
  content: "\f068"" 隠す";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 20px;
  right: 13px;
  font-size: 14px;
  background: #9CCAF8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 80px;
  text-align: center;
}

#acMenu_open .open.active:after {
  content: "\f067"" 読む";
  background: #F1B8B8;
}

#acMenu_open li.data {
  width: 100%;
  display: block;
}

/*END accordion menu list 複数*/

/************************************************

hクラスに対して追加する場合

*************************************************/

.acMenu_h_close .open,
.acMenu_h_open .open,
#acMenu_h_close .open,
#acMenu_h_open .open {
  text-align: left;
  cursor: pointer;
  position: relative;
  width: 100%;
  display: block;
}

.acMenu_h_close h2.open:after,
#acMenu_h_close h2.open:after {
  content: "\f067"" 読む";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 20px;
  right: 6px;
  font-size: 12px;
  background: #F1B8B8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 52px;
  text-align: center;
}

.acMenu_h_close h3.open:after,
#acMenu_h_close h3.open:after {
  content: "\f067"" 読む";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 10px;
  right: 6px;
  font-size: 12px;
  background: #F1B8B8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 52px;
  text-align: center;
}


.acMenu_h_close .open.active:after,
#acMenu_h_close .open.active:after {
  content: "\f068"" 隠す";
  background: #9CCAF8;
}

.acMenu_h_close .acmenu_data,
#acMenu_h_close .acmenu_data {
  width: 100%;
  display: none;
  border: none;
}


/*初期open*/

.acMenu_h_open h2.open:after,
#acMenu_h_open h2.open:after {
  content: "\f068"" 隠す";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 20px;
  right: 6px;
  font-size: 12px;
  background: #9CCAF8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 52px;
  text-align: center;
}

.acMenu_h_open h3.open:after,
#acMenu_h_open h3.open:after {
  content: "\f068"" 隠す";
  font-family: FontAwesome;
  color: #9B8262;
  color: #2D2522;
  position: absolute;
  top: 10px;
  right: 6px;
  font-size: 12px;
  background: #9CCAF8;
  border-radius: 4px;
  padding: 2px 4px;
  width: 52px;
  text-align: center;
}

.acMenu_h_open h2.open.active:after,
.acMenu_h_open h3.open.active:after,
#acMenu_h_open h2.open.active:after {
  content: "\f067"" 読む";
  background: #F1B8B8;
}

/*
ここまで
h2クラスに対して追加する場合
*/

/*
h2,h3共通
*/

.acMenu_h_open .acmenu_data,
#acMenu_h_open .acmenu_data {
  width: 100%;
  display: block;
  border: none;
}

.acMenu_h_open .title_h3 p,
.acMenu_h_open .title_h2_02 p,
.acMenu_h_close .title_h3 p,
.acMenu_h_close .title_h2_02 p {
  width: calc(100% - 60px);
}

.acMenu_h_close .title_h2_02 p,
.acMenu_h_open .title_h2_02 p {
  padding-right: 10px;
}

h2 span[class^="u-fs"] {
  margin-left: .4em;
}

@media screen and (max-width: 640px) {
  /*icon 縦位置*/
  .acMenu_h_close h2.open:after,
  .acMenu_h_close h3.open:after,
  #acMenu_h_close h2.open:after,
  #acMenu_h_close h3.open:after,
  .acMenu_h_open h2.open:after,
  .acMenu_h_open h3.open:after,
  #acMenu_h_open h2.open:after,
  #acMenu_h_open h3.open:after {
    top: 50%;
    margin-top: -.5em;
    /*「アイコンフォント一文字の半分」のネガティブマージン*/
  }
}

/*-------------------

footer menu

---------------------*/

.l-footer {
  padding: 0 0 30px;
  background: #3a923e;
}

/*左右わけfooter*/

.l-footer_wrap {
  width: 100%;
  max-width: var(--base-width);
  margin: 0 auto;
}

.l-footer_inner {
  display: flex;
  width: 100%;
}

.l-footer_left {
  width: 375px;
}

.l-footer_right {
  margin-left: auto;
  justify-content: flex-end;
  justify-content: space-around;
}

.l-footer_right {
  margin: 0;
}

.l-footer_left {
  margin-right: auto;
}

.l-footer_sitemap {
  padding: 0 10px 0 0;
}

.l-footer_left .footer_logo {
  margin: 36px auto 20px;
  text-align: left;
}

.footer_add {
  color: #fff;
  text-align: left;
  margin: 0 auto 20px;
  line-height: 1.8em;
  font-size: 14px;
}

.footer_btn {
  margin: 10px 0;
}

.footer_btn {
  width: 260px;
  margin: 10px 0;
}


@media screen and (max-width: 640px) {
  .l-footer_inner {
    flex-direction: column;
    display: flex;
  }
  .l-footer_left {
    width: 100%;
    padding: 0 0 20px;
  }

  .l-footer_left .footer_logo {
    text-align: center;
  }
  .footer_add {
    text-align: center;
  }
  .footer_btn {
    text-align: center;
    justify-content: center;
    margin: 10px auto;
  }
}

.l-footer_sitemap a {
  text-decoration: none;
  color: #fff;
}

.l-footer_nav {
  width: 100%;
  max-width: var(--base-width);
  margin: 0 auto;
  padding: 20px 0;
}

.l-footer_nav_cat {
  margin: 0;
}

.l-footer_nav_cat + .l-footer_nav_cat {
  margin-top: 35px;
}

.l-footer_nav_cat_title {
  font-weight: 700;
  position: relative;
  padding: 0;

}

.l-footer_nav_cat_data {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 0 0 0 0px;
}

.l-footer_nav_cat_item {
  margin: 5px 0 0 0;
  padding-right: 25px;
  white-space: nowrap;
}

/*pc*/

.l-footer_nav_cat_item a {
  position: relative;
  display: block;
  padding: 0 0 5px 15px;
}

.l-footer_nav_cat_item a:before {
  position: absolute;
  top: .45em;
  left: 0;

  display: block;

  width: 5px;
  height: 5px;

  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);

  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}


/*footer sub nav*/

.l-footer_subnav_box {
  width: 100%;
  max-width: var(--base-width);
  margin: 0 auto;

}

.l-footer_subnav_wrap {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 100%;
}

.l-footer_subnav_outer {}

.l-footer_pmark {
  margin-left: auto;
}

.l-footer_pmark img {
  width: 80px;

}

.l-footer_subnav {
  margin: 0 auto;
  padding: 30px 0 10px;
}

.l-footer_subnav_outer {
  margin: 0 -10px;
  padding: 0 10px;

}

.l-footer_subnav_item {
  font-weight: normal;
  position: relative;
  padding: 0 0 0px 0px;
}


.l-footer_subnav .c-grid_col {
  /*初期化*/
  margin: 0 0px;
}

.l-footer_subnav_item a {
  color: #fff;
  text-decoration: none;
  border-right: 1px solid #fff;
  padding: 0 10px 0 10px;

}

.l-footer_copyright {
  float: none;
  clear: both;
  font-size: 13px;
  font-size: 1.3rem;
  padding: 17px 0 0;
  text-align: left;
  color: #fff;
}

.l-footer_pagetop {
  position: fixed;
  z-index: 2;
  right: 30px;
  bottom: 30px;

  width: 50px;
  height: 50px;

  border-radius: 3px;
  background: #0378da;
  background: rgba(3, 120, 218, .5);
}

.l-footer_pagetop a {
  position: relative;

  display: block;
  overflow: hidden;

  height: 100%;

  white-space: nowrap;
  text-indent: -100%;
}

.l-footer_pagetop a:before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 10px;
  height: 10px;
  margin-top: 4px;

  content: '';
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);

  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

@media screen and (max-width: 640px) {

  .l-footer_sitemap {
    /*    float: none;*/
    width: 100%;
  }

  .l-footer {
    overflow-x: hidden;
    padding: 0 0 45px;
  }
  .l-footer_sitemap {
    margin: 0 0 0px;
    padding: 0;
  }
  .l-footer_sitemap a {
    text-decoration: none;
    color: #fff;
  }
  .l-footer_nav {
    padding: 0;
  }
  .l-footer_nav_inner {
    margin: 0 !important;
  }
  .l-footer_nav_group {
    margin: 0 !important;
  }
  .l-footer_nav_cat + .l-footer_nav_cat {
    margin-top: 0;
  }

  .l-footer_nav_cat_title {
    padding: 0;
    background: #000;
  }
  .l-footer_nav_cat_title:before {
    display: none;
  }
  .l-footer_nav_cat_title a {
    position: relative;

    display: block;

    padding: 12px 40px 9px 26px;
  }

  .l-footer_nav_cat_data {
    font-size: 15px;
    font-size: 1.5rem;

    padding: 0;

    background: #333;
  }
  .l-footer_nav_cat_item {
    margin: 0;
    padding: 0;

  }
  .l-footer_nav_cat_item a {
    position: relative;
    display: block;
    padding: 12px 40px 8px 46px;
    border-bottom: 1px solid #999;
  }
  .l-footer_nav_cat_item a:before {
    position: absolute;
    top: 42%;
    left: 26px;
    display: block;
    width: 5px;
    height: 5px;

    content: '';
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);

    border-top: 2px solid #999;
    border-right: 2px solid #999;
  }


  .l-footer_subnav_wrap {
    display: flex;
    flex-direction: column;
  }


  .l-footer_subnav_outer {
    width: 100%;
  }

  .l-footer_pmark {
    margin: 20px auto 10px;
  }

  .l-footer_pmark img {
    width: 80px;
  }

  .l-footer_subnav {
    padding: 0;
  }
  .l-footer_subnav_inner {
    margin: 0 !important;
  }
  .l-footer_subnav_outer {
    margin: 0;
    padding: 0;
  }
  .l-footer_subnav_item {
    margin: 0 !important;
    padding: 0;
  }
  .l-footer_subnav_item:before {
    display: none;
  }


  .l-footer_subnav_item a {
    position: relative;
    display: block;
    padding: 12px 40px 8px 36px;
    border-bottom: 1px solid #999;
  }
  .l-footer_subnav_item a:before {
    position: absolute;
    top: 42%;
    left: 16px;
    display: block;
    width: 5px;
    height: 5px;

    content: '';
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);

    border-top: 2px solid #999;
    border-right: 2px solid #999;
  }


  .l-footer_info {
    margin: 0 -10px;
    padding: 0;
  }
  .l-footer_info_item {
    font-size: 10px;
    font-size: 1rem;

    padding: 0 10px;
  }
  .l-footer_copyright {
    font-size: 14px;
    font-size: 1.4rem;
      padding: 17px 10px 50px;
  }
  .l-footer_pagetop {
    right: 10px;
    bottom: 20px;

    width: 44px;
    height: 44px;
  }
  .l-footer_pagetop a:before {
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 10px;
    height: 10px;
    margin-top: 4px;

    content: '';
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);

    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }
}

/*縦並びになるテーブル*/

#wrap_tb_tate {
  margin: 2em auto;
  font-family: Arial, Roboto, “Droid Sans”, “游ゴシック”, YuGothic, “ヒラギノ角ゴ ProN W3”, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;
  max-width: 960px;
}

.btnList {
  margin-top: 2em;
  text-align: center;
}

.btnList li {
  display: inline-block;
}

/* table form */

.tableBlock {
  margin-top: 2em;
}

.tableBlock.form table {
  width: 100%;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #cfcfcf;
}

.tableBlock.form table caption {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  background: #ffc045;
}

.tableBlock.form table tr th {
  /*  background: #f2f2f2;*/
}

.tableBlock.form table tr th,
.tableBlock.form table tr td {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  border-bottom: 1px solid #cfcfcf;

}

.tableBlock.form table tr th {
  width: 30%;
}

.tableBlock.form table tr th.required:before {
  content: '';
  display: inline-block;
  width: 46px;
  height: 26px;
  vertical-align: bottom;
  background: url(/b-keiei/common/img/voice_form/ico_required.svg);
  background-repeat: no-repeat;
  background-size: 37px 26px;
  margin-left: 5px;
}

.tableBlock.form table tr th.notrequired:before {
  content: '';
  display: inline-block;
  width: 46px;
  height: 26px;
  vertical-align: bottom;
  background: url(/b-keiei/common/img/voice_form/ico_notrequired.svg);
  background-repeat: no-repeat;
  background-size: 37px 26px;
  margin-left: 5px;
}


/* Tablet */

@media screen and (max-width: 640px) {

  /* パターン3：テーブルセルを縦並びに */
  .tableBlock.form table,
  .tableBlock.form table caption,
  .tableBlock.form table thead,
  .tableBlock.form table tbody,
  .tableBlock.form table tr,
  .tableBlock.form table tr th,
  .tableBlock.form table tr td {
    display: block;
  }
  .tableBlock.form table tr th,
  .tableBlock.form table tr td {
    margin: -1px;
    /* borderが二重になるのを防ぐ */
  }

  .tableBlock.form table tr th {
    width: 100%;
    border: none;
    padding: 1em 1em 0em 1em;
  }


  /* Tablet */
}

/*縦並び　end*/

/* 基本スタイル */

.tableBlock {
  margin-top: 2em;
}

.tableBlock.pattern03 table {
  width: 100%;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #cfcfcf;
}

.tableBlock.pattern03 table caption {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  background: #ffc045;
}

.tableBlock.pattern03 table tr th {
  /*  background: #f2f2f2;*/
}

.tableBlock.pattern03 table tr th,
.tableBlock.pattern03 table tr td {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  border-bottom: 1px solid #cfcfcf;
}

/* Tablet */

@media screen and (max-width: 640px) {

  /* パターン3：テーブルセルを縦並びに */
  .tableBlock.pattern03 table,
  .tableBlock.pattern03 table caption,
  .tableBlock.pattern03 table thead,
  .tableBlock.pattern03 table tbody,
  .tableBlock.pattern03 table tr,
  .tableBlock.pattern03 table tr th,
  .tableBlock.pattern03 table tr td {
    display: block;
  }
  .tableBlock.pattern03 table tr th,
  .tableBlock.pattern03 table tr td {
    margin: -1px;
    /* borderが二重になるのを防ぐ */
  }

  /* Tablet */
}

/*縦並び　end*/

/*横スクロールするテーブル start*/

#wrap_table_scroll {
  margin: 2em auto;
  max-width: 960px;
}


/* 基本スタイル */

.tableBlock {
  margin-top: 2em;
}

.tableBlock.pattern04 table {
  width: 100%;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #cfcfcf;
}

.tableBlock.pattern04 table caption {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  background: #ffc045;
}

.tableBlock.pattern04 table tr th {
  background: #f2f2f2;
}

.tableBlock.pattern04 table tr th,
.tableBlock.pattern04 table tr td {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  border: 1px solid #cfcfcf;
}

/* パターン4：テーブルを横スクロールに */

.tableBlock.pattern04 {
  overflow-x: auto;
}

.tableBlock.pattern04 table {
  width: 960px;
}

/* スクロールバー全体 */

.tableBlock.pattern04::-webkit-scrollbar {
  height: 0.5em;
  background-color: #F1F1F1;
}

/* スクロールバーのつまみ(可動部分) */

.tableBlock.pattern04::-webkit-scrollbar-thumb {
  background-color: #BCBCBC;
  border-radius: 12px;
  border-radius: 1.2rem;
}

.tableBlock.pattern04::-webkit-scrollbar-thumb:hover {
  background-color: #A9A9AA;
}

/*リストになるテーブル*/

#wrap_tb_list {
  margin: 2em auto;
  font-family: Arial, Roboto, “Droid Sans”, “游ゴシック”, YuGothic, “ヒラギノ角ゴ ProN W3”, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, sans-serif;
  max-width: 960px;
}


/* 基本スタイル */

.tableBlock {
  margin-top: 2em;
}

.tableBlock.pattern05 table {
  width: 100%;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #cfcfcf;
}

.tableBlock.pattern05 table caption {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  background: #ffc045;
}

.tableBlock.pattern05 table tr th {
  background: #f2f2f2;
}

.tableBlock.pattern05 table tr th,
.tableBlock.pattern05 table tr td {
  padding: 1em;
  line-height: 1.5;
  text-align: left;
  border: 1px solid #cfcfcf;
}

/* Tablet */

@media screen and (max-width: 640px) {

  /* パターン5：リスト化 */
  .tableBlock.pattern05 table,
  .tableBlock.pattern05 table caption,
  .tableBlock.pattern05 table thead,
  .tableBlock.pattern05 table tbody,
  .tableBlock.pattern05 table tr,
  .tableBlock.pattern05 table tr th {
    display: block;
  }
  .tableBlock.pattern05 table tr th {
    margin: -1px;
    /* borderが二重になるのを防ぐ */
  }
  .tableBlock.pattern05 table tr td {
    display: list-item;
    list-style: disc inside;
    border: none;
  }
  .tableBlock.pattern05 table tr td + td {
    padding-top: 0;
  }
  /* Tablet */
}


/*横スクロールするテーブル　end*/

/*単純に縮める*/

.table_respo {
  width: 100%;
  margin: 40px 0 20px 0;
  padding: 60px 0;
}

.table_respo_inner {
  width: 100%;
  padding: 60px 0 0 0;
}


.table_respo_inner th,
.table_respo_inner td {
  border: 1px solid #ccc;
  border-collapse: collapse;
  padding: 4px;
  text-align: center;
  vertical-align: middle;
}

.table_respo_inner th {
  font-weight: bold;
}

.table_respo_inner th:nth-of-type(2) {
  width: 45%;
  white-space: nowrap;
}

.table_respo_inner th:nth-of-type(3) {
  width: 15%;
  white-space: nowrap;
}

.table_respo_inner th:nth-of-type(4) {
  width: 15%;
  white-space: nowrap;
}

.table_respo_inner th:nth-of-type(5) {
  width: 15%;
  white-space: nowrap;
}

@media screen and (max-width: 640px) {
  .table_respo {
    margin: 60px 0 0 0;
  }
}



/*会社概要　単純に縮める*/

.table_company {
  width: 100%;
  margin: 0px 0 40px;
  padding: 0px 0;
}

.table_company_inner {
  width: 100%;
  padding: 10px 0 0 0;
  border-top: 1px solid #ccc;
}


.table_company_inner th,
.table_company_inner td {
  border-bottom: 1px solid #ccc;
  border-collapse: collapse;
  padding: 10px 4px;
  text-align: left;
  vertical-align: middle;
}

.table_company_inner th {
  font-weight: normal;
  vertical-align: top;
  padding: 10px 30px 10px 4px;
}

.table_company_inner td:first-child {
  white-space: nowrap;
  text-align: center;
  font-weight: bold;
}

.table_company_inner td:nth-of-type(2) {
  text-align: left;
}


.table_company_inner th:nth-of-type(1) {
  width: 10%;
  min-width: 26px;
  white-space: nowrap;
  text-align: left;
}

.table_company_inner th:nth-of-type(2) {
  width: 45%;
  white-space: nowrap;
}

.table_company_inner th:nth-of-type(3) {
  width: 15%;
  white-space: nowrap;
}

.table_company_inner th:nth-of-type(4) {
  width: 15%;
  white-space: nowrap;
}

.table_company_inner th:nth-of-type(5) {
  width: 15%;
  white-space: nowrap;
}

@media screen and (max-width: 640px) {
  .table_company {
    margin: 60px 0 0 0;
  }
}


/*3カラム、2段になるテーブル*/

.block_tb_inner {
  width: 100%;
  margin: 20px 0;
  padding: 00px 0;
}

.block_tb {
  width: 100%;
  padding: 10px 0 0 0;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-collapse: collapse;


}

.block_tb th {
  width: calc(100% / 6);

}

.block_tb th,
.block_tb td {
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-collapse: collapse;
  padding: 10px 4px;
  text-align: left;
  vertical-align: middle;
}

.block_tb th {
  font-weight: 600;
  vertical-align: top;
  padding: 10px 0;
  text-align: center;
}

.block_tb td {
  vertical-align: top;
}



.block_tb td ul li {
  white-space: nowrap;
}

.block_tb td ul {
  display: table;
  padding: 0;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .block_tb th {
    width: calc(100% / 3);
  }
}


/*3カラム、2段になるテーブル　end*/

/*イベント一覧　リンクボタン*/

.flex_wrap_link_btn {
  display: flex;
  flex-wrap: wrap;
  /*ここ（親要素）じゃダメ*/
  /*  align-items: center;*/
  margin-left: -20px;
  align-items: flex-start
}


/*pcでの幅設定 sp表示の分割数は↓で設定*/

.flex_btn_inner2 {
  width: calc((100% / 2) - 20px);
}

.flex_btn_inner3 {
  width: calc((100% / 3) - 20px);
}

.flex_btn_inner4 {
  width: calc((100% / 4) - 20px);
}

/*-------------------
テキストリンクがない場合
borderなし
---------------------*/

.flex_wrap_link_inner {
  margin: 0 0 8px 20px;
  padding: 10px;
  text-align: center;
  position: relative;
  /*子要素につけることで縦位置が揃う*/
  display: flex;
  align-items: center;
}

/*テキストリンク有　→出ます*/

.flex_wrap_link_btn_inner {
  margin: 0 0 8px 20px;
  border: 1px solid #ccc;
  padding: 10px;
  padding: 0 0 0 20px;
  text-align: center;
  /*  background: #c0c0c0;*/
  border: 1px solid #666;
  position: relative;
  /*子要素につけることで縦位置が揃う*/
  display: flex;
  align-items: center;
}

.flex_wrap_link_btn_inner a {
  text-decoration: none;
  display: block;
  width: 100%;
  color: #333;
  padding: 10px 10px;
}

.flex_wrap_link_btn_inner a:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #666;
  border-right: solid 2px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 6px;
  margin-top: -5px;
}

@media screen and (max-width: 740px) {
  .flex_btn_inner4 {
    /*spの時は2列*/
    /*    width: calc(100% - 20px);*/
    width: calc((100% / 2) - 20px);
  }
}

@media screen and (max-width: 640px) {
  .flex_wrap_link_btn {
    flex-wrap: wrap;
  }
  .flex_wrap_link_btn_inner {
    margin-bottom: 10px;
    padding: 0 0 0 10px;
    text-align: left;
  }

  .flex_wrap4_link_btn_inner {
    width: calc((100% / 4) - 20px);
    margin: 0 0 8px 20px;
    border: 1px solid #ccc;
    padding: 10px;
    text-align: center;
    border: 1px solid #666;
    position: relative;
  }


  /*sp時は2列*/
  .flex_btn_inner2 {
    width: calc((100% / 2) - 20px);
    width: 90%;
  }

  .flex_btn_inner3 {
    width: calc((100% / 2) - 20px);
  }

  .flex_btn_inner4 {
    /*    width: calc(100% - 20px);*/
    width: calc((100% / 2) - 20px);
  }
}

/*パネル　横並び*/

.l_wrap {
  display: flex;
  margin-left: -20px;

}

.l_wrap_inner {
  width: 100%;
  margin-left: 20px;
  padding: 0 6px;
  text-align: center;
}

.l_wrap_img {
  width: 100%;
  max-width: 360px;
  text-align: center;
  margin: 0 auto;
}

.l_wrap_img img {
  width: 100%;
  max-width: 360px;
  text-align: center;
  margin: 0 auto;
}


.col_left_large .l_wrap_img,
.col_left_medium .l_wrap_img {
  width: 100%;
  max-width: 100%;
  text-align: center;
  margin: 0 auto;
}

.col_left_large .l_wrap_img img,
.col_left_medium .l_wrap_img img {
  width: 100%;
  max-width: 100%;
  text-align: center;
  margin: 0 auto;
}



@media screen and (max-width: 840px) {
  .col_left_large .l_wrap_img img,
  .col_left_medium .l_wrap_img img {
    width: 90%;
    text-align: center;
    margin: 0 auto;
  }
}

@media screen and (max-width: 640px) {
  .l_wrap {
    flex-wrap: wrap;
    margin-left: 0px;
  }

  .l_wrap_inner {
    margin-left: 0;
    margin-bottom: 10px;
  }


  .l_wrap_img {
    width: 96%;
    padding: 0px;
    margin: 0 auto;

    text-align: center;
  }
}

/*イベント一覧　リスト*/

.row_wrap {
  display: flex;
  margin-left: -20px;
}

.col_in {
  /*  width: 25%;*/
  /*  width: 50%;*/
  width: 100%;
  margin-left: 20px;
  border: 1px solid #ccc;
  padding: 0px;
  text-align: center;
  background: #fff;
}


@media screen and (max-width: 640px) {
  .row_wrap {
    flex-wrap: wrap;
    margin-left: 0px;
  }

  .col_in {
    margin-left: 0px;
    margin-bottom: 10px;
  }

  .col-sm-50 {
    width: calc( 50% - 20px);
  }

  .col-sm-40 {
    width: calc( 40% - 20px);
  }

  .col-sm-33 {
    width: calc( 33.33333333% - 20px);
  }

  .col-sm-20 {
    width: calc( 20% - 20px);
  }

  .col-sm-10 {
    width: calc( 10% - 20px);
  }

  .row-sm-blocks-2 > .col_in {
    width: calc( (100% / 2) - 20px);
  }

  .row-sm-blocks-3 > .col_in {
    width: calc( (100% / 3) - 20px);
  }

  .row-sm-blocks-4 > .col_in {
    width: calc( (100% / 4) - 20px);
  }
}



.row {
  width: 100%;

}

.row:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.col {
  width: 25%;
  float: left;
  /*  border: 1px solid #ccc;*/
  padding: 3px 0;
  margin: 4px 0;

}

.col_btn {
  width: 96%;
  margin: 0px auto;
  /*  background: #ccc;*/
  border: 1px solid #ccc;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.4);
  padding: 0px 5px 0px 26px;
  position: relative;

}


.col_btn a {
  text-decoration: none;
  display: block;
  width: 100%;
  color: #333;
  padding: 10px 10px;

}


.col_btn a:before {

  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #666;
  border-right: solid 2px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 6px;
  margin-top: -5px;
}


@media screen and (max-width: 640px) {
  .col {
    width: 50%;
    margin-bottom: 10px;
  }

}

.row_image {
  width: 100%;
  margin-bottom: 20px;
}

.row_image:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}


.row_image_wrap {
  float: left;
  border: 1px solid #ccc;
  padding: 6px;
  margin: 4px 0;
}

/*pc2 sp2*/

.img_wrap22 {
  width: calc( 100% / 2);
}

/*pc2 sp1*/

.img_wrap21 {
  width: calc( 100% / 2);
}


/*pc3 sp1*/

.img_wrap31 {
  width: calc( 100% / 3);
}

.img_wrap32 {
  width: calc( 100% / 3);
}


/*pc4 sp1*/

.img_wrap41 {
  width: calc( 100% / 4);
}

/*pc4 sp2*/

.img_wrap42 {
  width: calc( 100% / 4);
}

.img_wrap33 {
  width: calc( 100% / 3);
}


@media screen and (max-width: 640px) {
  .img_wrap21,
  .img_wrap31,
  .img_wrap41 {
    width: 100%;
  }
  /*pc4 sp2*/
  .img_wrap32,
  .img_wrap42 {
    width: calc( 100% / 2);
  }
}

/*---------------------------

【画像】+テキスト　横並び　

---------------------------*/

.txt_wrap {
  display: flex;
  flex-direction: row;
  margin: 10px 0;
}

.txt_wrap_reverce {
  display: flex;
  flex-direction: row-reverse;
}


.txt_wrap_reverce .col_left,
.txt_wrap .col_left {
  width: 30%;
}

.txt_wrap .col_left_medium {
  width: 50%;
}

.txt_wrap .col_left_large {
  width: 60%;
}

.txt_wrap .col_left,
.txt_wrap .col_left_large {
  margin-right: 10px;
}


.txt_wrap_reverce .col_left,
.txt_wrap_reverce .col_left_large {
  margin-left: 10px;
  ;
}


.txt_wrap_reverce .i_figure,
.txt_wrap .i_figure {
  margin: 0 auto 10px;
}


.txt_wrap_reverce .col_right,
.txt_wrap .col_right {
  width: 70%;
  padding: 10px;
}

/*col_left_largeの時*/

.txt_wrap .col_right_medium {
  width: 50%;
  padding: 10px;
}


.txt_wrap .col_right_large {
  width: 40%;
  padding: 10px;
}


@media screen and (max-width: 640px) {
  .txt_wrap_reverce,
  .txt_wrap {
    flex-direction: column;
  }

  .txt_wrap_reverce .col_left,
  .txt_wrap .col_left {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }


  .txt_wrap_reverce .i_figure,
  .txt_wrap .i_figure {
    display: table;
    border: 1px solid #ccc;
  }

  .txt_wrap_reverce .i-figure_caption,
  .txt_wrap .i-figure_caption {
    /*    width: 90%;*/
    min-width: 240px;
    display: table-caption;
    caption-side: bottom;
    font-size: 0.8em;
    width: 100%;
  }

  .txt_wrap_reverce .col_left img,
  .txt_wrap .col_left img {
    min-width: 240px;
    width: 100%;
  }

  .txt_wrap_reverce .col_right,
  .txt_wrap .col_right {
    width: 100%;
  }

}


/*-------------------

【画像】+テキスト 回り込み

---------------------*/

.floted_wrap {
  width: 100%;
  margin: 10px 0;
}

/*---------- 画像左+テキスト -----------*/

.floted_wrap .i_figure_left {
  float: left;
  width: 30%;
  padding: 10px 10px 10px 0px;
  margin-right: 10px;
}

.floted_wrap .i_figure_right {
  float: right;
  width: 30%;
  padding: 10px 0px 10px 10px;
}


.floted_wrap .floted_inner {
  padding-top: 10px;
}


.floted_wrap .i_figure {
  /*  min-width: 200px;*/
  /*  text-align: center;*/
  margin: 0 auto 10px;
  padding: 0;
}

.floted_wrap .i-figure_caption {
  /*1367で設定 上書きで設定*/
  /*
  font-size: 13px;
  font-size: 1.3rem;
  margin: 7px 0 10px;
*/
  margin: 0 auto;
  padding-right: 0;
}

@media screen and (max-width: 640px) {

  .floted_wrap .i_figure_left,
  .floted_wrap .i_figure_right {
    float: none;
    width: 100%;
    text-align: center;
    margin: 0 auto 14px;
    padding: 0;
  }

  .floted_wrap .i_figure {
    text-align: center;
    margin: 0 auto;
    display: table;
    padding: 0;
    border: 1px solid #666;
  }


  .floted_wrap .i-figure_caption {
    width: 90%;
    min-width: 240px;
    display: table-caption;
    caption-side: bottom;
    font-size: 0.8em;
  }

  .floted_wrap img,
  .floted_wrap img {
    min-width: 240px;
    width: 100%;
  }


  .floted_wrap .i_figure_left p {
    width: 100%;
    text-align: left;
  }

}

ul.btn_grid_2 {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-flow: wrap;
  justify-content: space-between;
}

.btn_grid_2 li {
  width: calc(96%/2);
  margin: 0 2% 6px 0;
  border: 1px solid #ccc;
  box-sizing: border-box;
  position: relative;
  padding-left: 20px;
}



.btn_grid_2 li > * {
  padding: 0 16px;
  padding: 0 1rem;
}


.btn_grid_2 li a {
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 10px 10px;
  color: #666;
}



.btn_grid_2 li a:before {

  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #666;
  border-right: solid 2px #666;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 6px;
  margin-top: -5px;
}



/*----------------

box_set

------------------*/

.box_wrap ul {
  width: 100%;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

ul.box_set_ul li {
  width: 48%;
  background: #ddd;
  list-style: none;
  padding-bottom: 8.5rem;
  margin-bottom: 0;
  position: relative;
}

ul.box_set_ul li:first-child {
  margin-right: 4%;
}

.box_wrap img {
  width: 100%;
  margin: 0;
  padding: 0;
}

.box_wrap h4 {
  font-weight: bold;
  font-size: 110%;
  text-align: center;
  margin-bottom: 25px;
  margin-top: 20px;
}

.box_wrap p {
  padding: 0 9%;
  font-size: 90%;
}

.box_wrap p.button {
  text-align: center;
  padding: 0;
  display: block;
  position: absolute;
  bottom: 20px;
  width: 100%;
}

.box_wrap p.button a {
  color: #000;
  padding: 2% 22%;
  background: #8a8a8a;
  font-size: 100%;
  display: inline-block;
}


/*画像+（テキスト+ボタン→横並び）*/

.box_wrap2 {}


.box_wrap2 ul {
  width: 100%;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /*  margin-right: -15px;*/
}


.box_wrap2 li {
  /*  width: calc((100% / 3) - 10px);*/
  /*  width: calc((100% / 3) - 7px);*/
  width: 32%;
  background: #ddd;
  list-style: none;
  padding-bottom: 8.5rem;
  margin-bottom: 0px;
  position: relative;
  background: #ccc;
  /*右に10px 余白*/
  margin: 0 0 16px 0px;
}

/*2,5,8..の左右に余白*/

.box_wrap2 li:nth-child(3n-1) {
  /*  margin: 0 0% 0;*/
  margin: 0 2% 16px;
}

/*

.box_wrap2 li:nth-child(3n-2) {
    margin: 0 16% 0;
  margin-right: 10px;
}
*/

.box_set_001 img {
  width: 100%;
  margin: 0;
  padding: 0;
}

/*read more のボタン設定*/

.box_wrap2 p {
  padding: 0 9%;
  font-size: 90%;
}

.box_wrap2 p.button {
  text-align: center;
  padding: 0;
  display: block;
  position: absolute;
  bottom: 20px;
  width: 100%;
}

.box_wrap2 p.button a {
  color: #000;
  padding: 2% 22%;
  background: #8a8a8a;
  font-size: 100%;
  display: inline-block;
}


@media screen and (max-width: 640px) {
  /*pc3 → sp1*/
  .box_wrap2 ul {
    width: 100%;
    margin: 0;
    /*  margin-left: -20px;*/
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -5px;
  }

  .box_wrap2 li {
    width: 100%;
    margin: 0 auto 10px;
  }
  .box_wrap2 li:nth-child(3n-1) {
    margin: 0 0% 10px;
  }

}


/*画像+（テキスト+ボタン→横並び）*/

.box_wrap3 {}

.box_wrap3 ul {
  width: 100%;
  margin: 24px 0;
  padding: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.box_wrap3 li {
  width: 32%;
  background: #fff;
  list-style: none;
  /*  padding-bottom: 8.5rem;*/
  /*入る文字が多い時はここで調整*/
  padding-bottom: 6.0rem;
  margin-bottom: 0px;
  position: relative;
  /*右に10px 余白*/
  margin: 0 0 16px 0px;
}

/*panel*/

.l-panel li {
  background: #ccc;
}

/*2,5,8..の左右に余白*/

.box_wrap3 li:nth-child(3n-1) {
  margin: 0 2% 16px;
}

.box_set_001 img {
  width: 100%;
  margin: 0 0 10px 0;
  padding: 0;
}


/*read more のボタン設定*/

.box_wrap3 p {
  padding: 0 0 0 2px;
  margin: 0;
  /*
  padding: 2% 2%;
  font-size: 90%;
*/
}

.box_wrap3 p.midasi {
  position: absolute;
  left: 5px;
  display: block;
  width: 70%;
}

.box_wrap3 p.button {
  text-align: center;
  padding: 0;
  display: block;
  position: absolute;
  right: 0px;
  bottom: 36px;
  white-space: nowrap;

  /*これがないと縦真ん中に配置される*/
  margin: 0;
}

.box_wrap3 p.button a {
  color: #000;
  padding: 4% 12%;
  background: #999;
  color: #fff;
  text-decoration: none;
  font-size: 80%;
  display: inline-block;
  width: 60px;
}


@media screen and (max-width: 640px) {
  /*pc3 → sp1*/
  .box_wrap3 ul {
    width: 100%;
    margin: 10px 0;
    /*  margin-left: -20px;*/
    padding: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -5px;
  }

  .box_wrap3 li {
    width: 100%;
    margin: 0 auto 10px;
  }
  .box_wrap3 li:nth-child(3n-1) {
    margin: 0 0% 10px;
  }

}

/*sp end*/

/*footer バナー*/

.banner_wrap {
  width: 100%;
  margin-bottom: 20px;
  text-align: left;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.banner_wrap_inner {
  padding: 6px 3px 6px 3px;
  margin: 4px 0;
  text-align: left;
  display: table-cell;
}

/*2colum-form*/

.form_col_wrap {
  display: flex;
}

.form_col_main {
  width: 500px;
  padding-right: 10px;
}

.form_col_main img {
  width: 380px;
}


.form_col_side {
  flex: 1;
  margin-left: auto;
  max-width: 400px;
}

@media screen and (max-width: 800px) {
  .form_col_wrap {
    flex-direction: column-reverse;
  }

  .form_col_main {
    width: 100%;
    padding: 10px;
  }
  .form_col_side {
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 640px) {
  .form_col_wrap {
    flex-direction: column-reverse;
  }

  .form_col_main {
    /*    flex: 1;*/
    padding: 10px;
    margin: 0 auto;
  }

  .form_col_side {
    width: 100%;
    margin: 0 auto;
  }
  .form_col_main img {
    width: 96%;
  }

}

/*2colum*/

.col_2_wrap {
  display: flex;
}

.col_main {
  flex: 1;
  padding-right: 30px;
}

.col_side {
  width: 200px;
}

.col_side .side_menu {
  width: 200px;
}




.col_side_midasi {
  text-align: center;
  padding: 10px;
  margin: 0;
  background: #F5F6F6;
  border: 1px solid #BBBCBC;
}

.col_side_ul {
  margin: 0 0 30px 0;
}

.col_side_ul li {
  text-align: left;
  padding: 10px;
  border-bottom: 1px solid #BBBCBC;
}

.select-box01 {
  display: none!important
}


@media screen and (max-width: 640px) {
  .col_2_wrap {
    flex-direction: column;
  }

  .col_main {
    flex: 1;
    padding-right: 0px;
  }

  .col_side {
    width: 100%;
    margin: 0 auto;
  }

  .select-box01 {
    display: block!important;
    margin-bottom: 10px;
    margin-top: 25px;
  }

  .select-box01 select {
    width: 100%;
    padding: 16px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #999;
    background: #fff;
    background: url(/b-keiei/common/img/down_arrow.svg) 96% 50% no-repeat;
    background-size: 14px, 100%;
  }

}

.pager {
  display: flex;
  margin-top: 3em;
  padding: 10px 0;
  border-bottom: 1px solid #666;
  border-top: 1px solid #666;
}

.pager_btn {
  width: 14px;
  padding-top: 4px;
}

.pager_txt_btn {
  width: 60px;
  padding-top: 4px;
  white-space: nowrap;
}

.pager_txt_btn a,
.pager_btn a {
  padding: 2px 0;
}

.pager-list_1 {
  text-align: center;
}

.pager-list_1,
.pager-list {
  margin: 0 -10px;
}

.pager-list_1 li,
.pager-list li {
  display: inline-block;
  margin: 0 6px;
  list-style: none;
}

.pager-list_1 li a,
.pager-list li a {
  text-decoration: none;
  color: #666;
  padding: 2px 8px;
  display: block;
}

.pager-list_1 li a:hover,
.pager-list li a:hover {}

.pager-list li a.active {
  border: 1px solid #666;
}

.pager-list_1 li a.active {
  border-right: 1px solid #666;
  border-left: 1px solid #666;
}


.pager .pager-list_1,
.pager .pager-list {
  margin: 0 auto;
}


/*voice_form img*/

.form_col_mainimg {
  margin: 10px 0;
  text-align: left;
}

.form_col_mainimg_ac {
  margin: 10px auto;
  text-align: center;
  width: 320px;
}

.voice_form_flow img {
  width: 500px!important
}


.link_spiral {
  width: 700px;
  margin: 0 auto;
  padding: 5px;
  text-align: center;
  display: table;
  border: 1px solid #ccc;
}

.link_spiral p {
  display: table-cell;
  font-size: 11px;
  text-align: left;
}


.link_spiral div {
  display: table-cell;
  min-width: 120px;
}

@media screen and (max-width: 640px) {
  .form_col_mainimg {
    width: 100%;
    margin: 10px auto;
    text-align: center;
  }

  .form_col_mainimg img {
    width: 98%;
  }


  .voice_form_flow img {
    width: 90%;
  }



  .link_spiral {
    width: 96%;
    margin: 0 auto;
    padding: 4px;
  }

  .link_spiral p {
    display: table-cell;
    font-size: 11px;
    text-align: left;
  }


  .link_spiral div {
    display: table-cell;
    min-width: 100px;
    vertical-align: middle;
  }

}


/*-----------------

contents sitemap

-----------------*/

.l-page_sitemap {
  padding: 0 10px 0 0;
  color: #333;
}


.l-page_sitemap a {
  text-decoration: none;
  color: #333;
}

.c-sitemap_nav {
  width: 100%;
  max-width: var(--base-width);
  margin: 0 auto;
  padding: 20px 0;
}

.c-sitemap_nav_cat {
  margin: 0;
}

.c-sitemap_nav_cat + .c-sitemap_nav_cat {
  margin-top: 35px;
}

.c-sitemap_nav_title {
  font-weight: 700;
  padding: 0;
  color: aqua;
}

.c-sitemap_nav_title a {
  font-weight: 700;
  position: relative;
  padding: 0 0 0 15px;
}

.c-sitemap_nav_title a:before {
  position: absolute;
  top: .25em;
  left: 0;
  display: block;
  content: '';

  width: 0;
  height: 0;
  border-left: 8px solid black;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-radius: 2px;
}


.c-sitemap_nav_cat_data {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 0 0 0 15px;
}

.c-sitemap_nav_cat_item {
  margin: 5px 0 0 0;
  padding-right: 25px;
  white-space: nowrap;
}

/*pc*/

.c-sitemap_nav_cat_item a {
  position: relative;
  display: block;
  padding: 0 0 5px 15px;
}

.c-sitemap_nav_cat_item a:before {
  position: absolute;
  top: .45em;
  left: 0;
  display: block;
  width: 5px;
  height: 5px;

  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);

  border-top: 2px solid #666;
  border-right: 2px solid #666;
}

/*sub nav*/

@media screen and (max-width: 640px) {

  ..l-page_sitemap {
    /*    float: none;*/
    width: 100%;
  }

  .c-sitemap {
    overflow-x: hidden;
    padding: 0 0 45px;
  }
  .l-page_sitemap {
    margin: 0 0 0px;
    padding: 0;
  }
  .l-page_sitemap a {
    text-decoration: none;
    /*    color: #666;*/
  }
  .c-sitemap_nav {
    padding: 0;
  }
  .c-sitemap_nav_inner {
    margin: 0 !important;
  }
  .c-sitemap_nav_group {
    margin: 0 !important;
  }
  .c-sitemap_nav_cat + .c-sitemap_nav_cat {
    margin-top: 0;
  }

  .c-sitemap_nav_title {
    padding: 0;
    background: #fff;
  }
  .c-sitemap_nav_title:before {
    display: none;
  }
  .c-sitemap_nav_title a {
    position: relative;
    display: block;
    padding: 12px 6px 12px;
    border-bottom: 1px solid #999;
    font-weight: 600;
  }
  .c-sitemap_nav_title a:before {
    display: none;
  }

  .c-sitemap_nav_title a::after {
    position: absolute;
    content: "";
    top: 35%;
    right: 10px;

    width: 0;
    height: 0;
    border-left: 8px solid black;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-radius: 2px;
  }


  .c-sitemap_nav_cat_data {
    font-size: 15px;
    font-size: 1.5rem;

    padding: 0;

    background: #fff;
  }
  .c-sitemap_nav_cat_item {
    margin: 0;
    padding: 0;

  }
  .c-sitemap_nav_cat_item a {
    position: relative;
    display: block;
    padding: 12px 40px 8px 46px;
    border-bottom: 1px solid #999;
  }
  .c-sitemap_nav_cat_item a:before {
    position: absolute;
    top: 42%;
    left: 26px;
    display: block;
    width: 5px;
    height: 5px;

    content: '';
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);

    border-top: 2px solid #999;
    border-right: 2px solid #999;
  }
}

.link_txt_02 {
  margin: 10px 0;
}

.link_txt_02 .link_txt_inner li {
  display: inline-block;
  padding: 0px 6px;
  border-right: 1px solid #666;
  margin: 0 0 6px 0;
}

@media screen and (max-width: 640px) {
  padding: 0px 4px;
}



/*サイトマップ　コンテンツページ*/

.l-page_nav_box {
  width: 100%;
  max-width: var(--base-width);
  margin: 0 auto;
}

.l-page_nav_wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}


.l-page_nav_outer {
  padding: 0 10px;
  width: 25%;

}

.l-page_nav {
  margin: 0 auto;
  padding: 30px 0 10px;
}

.l-page_nav_outer {}

.l-page_nav_item {
  font-weight: normal;
  position: relative;
  padding: 0;
  display: block;
  padding-left: 0.2em;
}


.l-page_nav .c-grid_col {
  /*初期化*/
  margin: 0 0px;
}

.l-page_nav_item a {
  color: #000;
  text-decoration: none;
  padding: 0 0;

}

li.page_nav_data + li.page_nav_title {
  margin-top: 14px;
}

.l-page_nav_inner li.page_nav_title {
  margin-bottom: 14px;
}

.l-page_nav_inner li.page_nav_title a {
  font-weight: 700;
  position: relative;
  padding: 0 0 0 0px;
}


.l-page_nav_inner li.page_nav_title::before {
  content: "";
  display: block;
  float: left;
  margin-left: -0.5em;
  width: 1em;
  text-align: center;
  position: absolute;
  top: .25em;
  left: 0;
  display: block;
  content: '';
  width: 0;
  height: 0;
  border-left: 8px solid black;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-radius: 2px;
}


.page_nav_data {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 0 0 0 0px;
}

.page_nav_data_inner {
  font-size: 14px;
  font-size: 1.4rem;
  padding: 0 0 0 18px;
}

/*pc*/

.page_nav_data_inner a,
.page_nav_data a {
  position: relative;
  display: block;
  padding: 0 0 15px 15px;
}

.page_nav_data_inner a:before,
.page_nav_data a:before {
  position: absolute;
  top: .45em;
  left: 0;
  display: block;
  width: 5px;
  height: 5px;

  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);

  border-top: 2px solid #666;
  border-right: 2px solid #666;
}

@media screen and (max-width: 640px) {
  .l-page_nav {
    /*    float: none;*/
    width: 100%;
  }

  .l-page_nav_wrap {
    display: flex;
    flex-direction: column;
  }

  .l-page_nav_outer {
    width: 100%;
  }

  .l-page_nav {
    padding: 0;
  }
  .l-page_nav_inner {
    margin: 0 !important;
  }
  .l-page_nav_outer {
    margin: 0;
    padding: 0;
  }
  .l-page_nav_item {
    margin: 0 !important;
    padding: 0;
  }
  .l-page_nav_item:before {
    display: none;
  }

  .l-page_nav_inner li.page_nav_title {
    padding: 0;
    background: #fff;
  }

  .l-page_nav_inner li.page_nav_title:before {
    display: none;
  }
  .l-page_nav_inner li.page_nav_title a {
    position: relative;
    display: block;
    padding: 12px 6px 12px;
    border-bottom: 1px solid #999;
    font-weight: 600;
  }
  .l-page_nav_inner li.page_nav_title a:before {
    display: none;
  }

  .l-page_nav_inner li.page_nav_title a::after {
    position: absolute;
    content: "";
    top: 35%;
    right: 10px;
    width: 0;
    height: 0;
    border-left: 8px solid black;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-radius: 2px;
  }

}

@media (min-width: 641px) {
  #footerFloatingMenu {
    display: none;
  }
}

@media screen and (max-width: 640px) {

  #footerFloatingMenu {
    display: block;
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index: 9999;
    text-align: center;
    padding: 0 auto;
    background: #fff;
    margin: 0 auto;
  }

  .ftfloat_bd_top {
    border-top: 1px solid #999;
  }

  #footerFloatingMenu img {
    width: 44%;
    padding: 10px 0;
    margin: 0 2px;
    display: float;
  }
}

/*medhia ボタン*/

.media_details {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}

.media_details img {
  width: 100%;
}

/*btn*/

.sbtn p.sg_button {
  margin: 40px auto;

}

.sbtn p {
  padding: 0 2%;
  font-size: 100%;

}

.sbtn p.sg_button {
  text-align: center;
  padding: 0;
  display: block;
  width: 100%;
  width: 300px;
  text-align: center;
}


.sg_small p.sg_button {
  width: 50%;
}

.sg_small_left p.sg_button {
  width: 50%;
  margin: 20px 0;
  text-align: center;
}

.sg_mid p.sg_button {
  width: 75%;
}

.sg_mid_left p.sg_button {
  width: 75%;
  margin: 20px 0;
  text-align: center;
}

.sg_mid2 p.sg_button {
  width: 85%;
}

.sg_mid2_left p.sg_button {
  width: 85%;
  margin: 20px 0;
  text-align: center;
}

.sbtn p.sg_button a {
  width: 100%;
  color: #000;
  padding: 4% 0;
  background: #fff;
  border: 1px solid #999;
  border-radius: 50px;
  font-size: 100%;
  display: inline-block;
  text-decoration: none;
}

.sbtn p.sg_button a img {
  width: 16px;
  vertical-align: middle;
  margin-left: 12px;
}

@media screen and (max-width:640px) {
  .sbtn p.sg_button {}

  .sg_small p.sg_button,
  .sg_small_left p.sg_button,
  .sg_mid p.sg_button,
  .sg_mid_left p.sg_button,
  .sg_mid2 p.sg_button,
  .sg_mid2_left p.sg_button,
  .sbtn p.sg_button {
    width: 80%;
  }
}
