@charset "UTF-8";
.fw_regular {
  font-weight: 400; }

.fw_medium {
  font-weight: 500; }

.fw_bold {
  font-weight: 700; }

.fw_semibold {
  font-weight: 600; }

.fw_black {
  font-weight: 900; }

.fs_italic {
  font-style: italic; }

.flex_box {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }

/*staff
-----------------------------------------------------------------------------*/
#staff {
  padding: 13.0208333333vw 0 26.0416666667vw;
  width: 93.0989583333vw;
  margin: auto; }
  #staff img {
    width: 100%; }
  #staff div[class^="staff0"] {
    position: relative; }
    #staff div[class^="staff0"]:not(:last-child) {
      margin-bottom: 12.3697916667vw; }
  #staff .txt_box {
    position: absolute;
    left: 3.515625vw;
    top: 90.4947916667vw;
    width: 85.15625vw; }
    #staff .txt_box .tit {
      font-feature-settings: 'palt';
      font-size: 6.25vw;
      font-weight: bold;
      line-height: 1.3;
      margin-top: calc(0px - (((1em*1.3) - 1em)/2));
      margin-bottom: calc(5.859375vw - (((1em*1.3) - 1em)/2));
      color: #00428d;
      padding-left: 3.90625vw;
      letter-spacing: 0.05em;
      position: relative; }
      #staff .txt_box .tit::before {
        content: "";
        display: inline-block;
        width: 0.5208333333vw;
        height: 1em;
        background-color: #00428d;
        position: absolute;
        top: 0;
        left: 0; }
    #staff .txt_box .txt {
      font-size: 3.6458333333vw;
      letter-spacing: 0.1em;
      line-height: 1.6071428571;
      margin-top: calc(0px - (((1em*1.6071428571) - 1em)/2));
      margin-bottom: calc(0px - (((1em*1.6071428571) - 1em)/2)); }

/*youkou
-----------------------------------------------------------------------------*/
div.youkou {
  background: #fff;
  padding: 21.3541666667vw 0 11.71875vw; }
  div.youkou .tit {
    margin-bottom: 8.0729166667vw; }
  div.youkou .sub_tit {
    font-size: 7.8125vw;
    letter-spacing: 0.1em;
    line-height: 1.3333333333;
    margin-top: calc(0px - (((1em*1.3333333333) - 1em)/2));
    margin-bottom: calc(10.9375vw - (((1em*1.3333333333) - 1em)/2));
    font-weight: bold; }
  div.youkou .txt {
    text-align: left;
    font-size: 4.1666666667vw;
    letter-spacing: 0.1em;
    line-height: 1.75;
    margin-top: calc(0px - (((1em*1.75) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.75) - 1em)/2));
    color: #000; }

/*youkou_info
-----------------------------------------------------------------------------*/
#youkou_info {
  background: #fff1d8;
  padding: 13.0208333333vw 0; }
  #youkou_info dl {
    border-top: 1px solid #ec6c00;
    width: 95.8333333333vw;
    margin: auto; }
    #youkou_info dl:not(:last-of-type) {
      margin-bottom: 7.8125vw; }
  #youkou_info dt {
    line-height: 1;
    width: 58.59375vw;
    background: #ec6c00;
    position: relative;
    color: #fff;
    padding: 3.2552083333vw 0;
    text-align: center;
    font-size: 4.1666666667vw;
    font-weight: bold;
    letter-spacing: 0.1em;
    -webkit-transform: translate(0, -1px);
    -ms-transform: translate(0, -1px);
    transform: translate(0, -1px); }
    #youkou_info dt::before, #youkou_info dt::after {
      content: "";
      display: block;
      position: absolute; }
    #youkou_info dt::before {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 8px 8px 0 0;
      border-color: #fff1d8 transparent transparent transparent;
      top: 0;
      left: 0; }
    #youkou_info dt::after {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0 8px 8px;
      border-color: transparent transparent #fff1d8 transparent;
      bottom: 0;
      right: 0; }
  #youkou_info dd {
    padding: 6.5104166667vw 0 0;
    font-size: 4.1666666667vw;
    line-height: 1.75;
    margin-top: calc(0px - (((1em*1.75) - 1em)/2));
    margin-bottom: calc(0px - (((1em*1.75) - 1em)/2)); }
    #youkou_info dd ol li {
      text-indent: -1.25em;
      padding-left: 1.25em; }
    #youkou_info dd a, #youkou_info dd span {
      color: #ec6c00; }
    #youkou_info dd .btn {
      width: 43.75vw;
      margin-top: 5.7291666667vw;
      line-height: 1;
      letter-spacing: 0.05em;
      font-size: 3.6705729167vw;
      background: #ec6c00;
      padding: 1.953125vw 2.6041666667vw;
      text-align: center;
      border-radius: 0.5208333333vw;
      color: #fff; }

/*bottom_cont
-----------------------------------------------------------------------------*/
#bottom_cont {
  background: #fff1d8;
  padding: 13.0208333333vw 0; }
  #bottom_cont .bottom_box {
    color: #fff !important; }
    #bottom_cont .bottom_box div[class^="box_"] {
      position: relative;
      width: 74.4791666667vw;
      margin: auto; }
      #bottom_cont .bottom_box div[class^="box_"] .tit {
        font-size: 3.90625vw;
        text-align: center;
        letter-spacing: 0.1em;
        border: 1px solid #fff;
        padding: 2.9947916667vw 0;
        width: 44.0104166667vw;
        box-sizing: border-box;
        color: #fff;
        line-height: 1;
        margin: 0 auto 5.2083333333vw; }
      #bottom_cont .bottom_box div[class^="box_"] .list {
        font-size: 3.3854166667vw;
        letter-spacing: 0.05em;
        line-height: 1.6119230769;
        margin-top: calc(0px - (((1em*1.6119230769) - 1em)/2));
        margin-bottom: calc(5.46875vw - (((1em*1.6119230769) - 1em)/2)); }
        #bottom_cont .bottom_box div[class^="box_"] .list li {
          color: #fff; }
          #bottom_cont .bottom_box div[class^="box_"] .list li::before {
            content: "●";
            display: inline; }
      #bottom_cont .bottom_box div[class^="box_"] .btn_img {
        width: 100%;
        margin: auto; }
      #bottom_cont .bottom_box div[class^="box_"] > * {
        position: relative;
        z-index: 1; }
      #bottom_cont .bottom_box div[class^="box_"]::before {
        content: "";
        display: block;
        width: 89.3229166667vw;
        height: 93%;
        background-color: #ec6c00;
        position: absolute;
        top: 7.8125vw;
        left: 50%;
        z-index: 0;
        -webkit-transform: translate(-50%, -40px) rotate(0deg) scale(1, 1) skew(1.65deg, -3.4deg);
        -ms-transform: translate(-50%, -40px) rotate(0deg) scale(1, 1) skew(1.65deg, -3.4deg);
        transform: translate(-50%, -40px) rotate(0deg) scale(1, 1) skew(1.65deg, -3.4deg); }
      #bottom_cont .bottom_box div[class^="box_"].box_tel {
        text-align: center;
        margin-bottom: 10.4166666667vw; }
        #bottom_cont .bottom_box div[class^="box_"].box_tel .img_txt {
          margin-bottom: 6.25vw; }
