@charset "utf-8";
/*************************************************************
*
* webfont
*
*************************************************************/
@font-face {
  font-family: 'icomoon';
  src: url('fonts/icomoon.eot?cpaewy');
  src: url('fonts/icomoon.eot?cpaewy#iefix') format('embedded-opentype'),
  url('fonts/icomoon.ttf?cpaewy') format('truetype'),
  url('fonts/icomoon.woff?cpaewy') format('woff'),
  url('fonts/icomoon.svg?cpaewy#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-twitter-icon:before {
  content: "\e900";
  color: #0b68b3;
}
.icon-tel-icon .path1:before {
  content: "\e901";
  color: rgb(255, 255, 255);
}
.icon-tel-icon .path2:before {
  content: "\e902";
  margin-left: -1em;
  color: rgb(11, 104, 179);
}
.icon-smartphone-icon:before {
  content: "\e903";
  color: #4b4b4b;
}
.icon-list-icon:before {
  content: "\e904";
  color: #0b68b3;
}
.icon-footer-menulist-icon:before {
  content: "\e905";
  color: #fff;
}
.icon-btn-arrow-icon:before {
  content: "\e906";
  color: #fff;
}
.icon-facebook-icon:before {
  content: "\e907";
  color: #0b68b3;
}
.icon-icon_link_blank:before {
  content: "\e908";
  color: #0b68b3
}
i .text {
  font-size: 0 !important;
  display: none !important;
}
#logo_aura {
  position: absolute;
  bottom: 1%;
  right: 1.96078431372549%;
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  #logo_aura {
    position: absolute;
    bottom: 20px;
    right: 1.96078431372549%;
    opacity: 0.5;
    width: 25%;
  }
}
/*************************************************************
*
* 余白（多用禁止）
*
*************************************************************/
.p0 {
  padding: 0 !important;
}
.p5 {
  padding: 5px !important;
}
.p10 {
  padding: 10px !important;
}
.p15 {
  padding: 15px !important;
}
.p20 {
  padding: 20px !important;
}
.p25 {
  padding: 25px !important;
}
.p30 {
  padding: 30px !important;
}
.p35 {
  padding: 35px !important;
}
.p40 {
  padding: 40px !important;
}
.p45 {
  padding: 45px !important;
}
.p50 {
  padding: 50px !important;
}
.p55 {
  padding: 55px !important;
}
.p60 {
  padding: 60px !important;
}
.p65 {
  padding: 65px !important;
}
.p70 {
  padding: 70px !important;
}
.p75 {
  padding: 75px !important;
}
.p80 {
  padding: 80px !important;
}
.pt0 {
  padding-top: 0 !important;
}
.pt5 {
  padding-top: 5px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt35 {
  padding-top: 35px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pt45 {
  padding-top: 45px !important;
}
.pt50 {
  padding-top: 50px !important;
}
.pt55 {
  padding-top: 55px !important;
}
.pt60 {
  padding-top: 60px !important;
}
.pt65 {
  padding-top: 65px !important;
}
.pt70 {
  padding-top: 70px !important;
}
.pt75 {
  padding-top: 75px !important;
}
.pt80 {
  padding-top: 80px !important;
}
.pl0 {
  padding-left: 0 !important;
}
.pl5 {
  padding-left: 5px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.pl15 {
  padding-left: 15px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.pl25 {
  padding-left: 25px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.pl35 {
  padding-left: 35px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.pl45 {
  padding-left: 45px !important;
}
.pl50 {
  padding-left: 50px !important;
}
.pl55 {
  padding-left: 55px !important;
}
.pl60 {
  padding-left: 60px !important;
}
.pl65 {
  padding-left: 65px !important;
}
.pl70 {
  padding-left: 70px !important;
}
.pl75 {
  padding-left: 75px !important;
}
.pl80 {
  padding-left: 80px !important;
}
.pr0 {
  padding-right: 0 !important;
}
.pr5 {
  padding-right: 5px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.pr15 {
  padding-right: 15px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.pr25 {
  padding-right: 25px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.pr35 {
  padding-right: 35px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.pr45 {
  padding-right: 45px !important;
}
.pr50 {
  padding-right: 50px !important;
}
.pr55 {
  padding-right: 55px !important;
}
.pr60 {
  padding-right: 60px !important;
}
.pr65 {
  padding-right: 65px !important;
}
.pr70 {
  padding-right: 70px !important;
}
.pr75 {
  padding-right: 75px !important;
}
.pr80 {
  padding-right: 80px !important;
}
.pb0 {
  padding-bottom: 0 !important;
}
.pb5 {
  padding-bottom: 5px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb35 {
  padding-bottom: 35px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pb45 {
  padding-bottom: 45px !important;
}
.pb50 {
  padding-bottom: 50px !important;
}
.pb55 {
  padding-bottom: 55px !important;
}
.pb60 {
  padding-bottom: 60px !important;
}
.pb65 {
  padding-bottom: 65px !important;
}
.pb70 {
  padding-bottom: 70px !important;
}
.pb75 {
  padding-bottom: 75px !important;
}
.pb80 {
  padding-bottom: 80px !important;
}
.m0 {
  margin: 0 !important;
}
.m5 {
  margin: 5px !important;
}
.m10 {
  margin: 10px !important;
}
.m15 {
  margin: 15px !important;
}
.m20 {
  margin: 20px !important;
}
.m25 {
  margin: 25px !important;
}
.m30 {
  margin: 30px !important;
}
.m35 {
  margin: 35px !important;
}
.m40 {
  margin: 40px !important;
}
.m45 {
  margin: 45px !important;
}
.m50 {
  margin: 50px !important;
}
.m55 {
  margin: 55px !important;
}
.m60 {
  margin: 60px !important;
}
.m65 {
  margin: 65px !important;
}
.m70 {
  margin: 70px !important;
}
.m75 {
  margin: 75px !important;
}
.m80 {
  margin: 80px !important;
}
.mt0 {
  margin-top: 0 !important;
}
.mt5 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mt55 {
  margin-top: 55px !important;
}
.mt60 {
  margin-top: 60px !important;
}
.mt65 {
  margin-top: 65px !important;
}
.mt70 {
  margin-top: 70px !important;
}
.mt75 {
  margin-top: 75px !important;
}
.mt80 {
  margin-top: 80px !important;
}
.ml0 {
  margin-left: 0 !important;
}
.ml5 {
  margin-left: 5px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.ml25 {
  margin-left: 25px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.ml35 {
  margin-left: 35px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.ml45 {
  margin-left: 45px !important;
}
.ml50 {
  margin-left: 50px !important;
}
.ml55 {
  margin-left: 55px !important;
}
.ml60 {
  margin-left: 60px !important;
}
.ml65 {
  margin-left: 65px !important;
}
.ml70 {
  margin-left: 70px !important;
}
.ml75 {
  margin-left: 75px !important;
}
.ml80 {
  margin-left: 80px !important;
}
.mr0 {
  margin-right: 0 !important;
}
.mr5 {
  margin-right: 5px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.mr25 {
  margin-right: 25px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.mr35 {
  margin-right: 35px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.mr45 {
  margin-right: 45px !important;
}
.mr50 {
  margin-right: 50px !important;
}
.mr55 {
  margin-right: 55px !important;
}
.mr60 {
  margin-right: 60px !important;
}
.mr65 {
  margin-right: 65px !important;
}
.mr70 {
  margin-right: 70px !important;
}
.mr75 {
  margin-right: 75px !important;
}
.mr80 {
  margin-right: 80px !important;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb55 {
  margin-bottom: 55px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mb65 {
  margin-bottom: 65px !important;
}
.mb70 {
  margin-bottom: 70px !important;
}
.mb75 {
  margin-bottom: 75px !important;
}
.mb80 {
  margin-bottom: 80px !important;
}
/*************************************************************
*
* 基本スタイル／汎用クラス
*
*************************************************************/
/*************************************************************
* フォント・テキスト
*************************************************************/
/* 基本のフォントサイズ */
body {
  font-size: 1.6rem;
  color: #000;
}
body {
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
/* 段落基本スタイル */
.content_paragraph {
  line-height: 1.75;

  /*margin-bottom: 10px;*/
}
/* 文字折り返し禁止 */
.space {
  white-space: nowrap;
}
/* テキスト揃え */
.center_txt {
  text-align: center;
}
.left_txt {
  text-align: left;
}
.right_txt {
  text-align: right;
}
.sp_justify {
  text-align: center;
}
/* 親要素に対して文字サイズ0.85倍 */
.sml {
  font-size: 0.857em;
}
/* 親要素に対して文字サイズ1.125倍 */
.lrg {
  font-size: 1.125em;
}
.bold {
  font-weight: bold;
}
@media screen and (max-width: 599px) {
  .sp_justify {
    text-align: justify;
  }
}
::-moz-selection {
  background: #24b32d;
  /*背景色*/
  color: #fff;
  /*文字色*/
}
::selection {
  background: #24b32d;
  /*背景色*/
  color: #fff;
  /*文字色*/
}
::-moz-selection {
  background: #24b32d;
  /*背景色*/
  color: #fff;
  /*文字色*/
}
/* 文字色 */
.color_red {
  color: #FF0809
}
/*　背景色グレー　*/
.bg_gray {
  background: #eee;
  box-sizing: border-box;
  padding: 31px 26px 26px 29px;
  font-size: 16px;
  line-height: 1.75;
}
.bg_blue {
  background: #0b68b3;
  color: #fff;
  font-size: 16px;
  line-height: 1.75;
  box-sizing: border-box;
  padding: 40px 40px ;
}
.bg_border {
  border: 1px solid #a6c92c;
  color: #0b68b3;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.75;
  box-sizing: border-box;
  padding: 40px 40px ;
}
.bg_border.vari1 {
    /* padding-right: 100px; */
    padding-left: 120px;
  }
/*　ポイント　*/
.point_blue {
  background: #0b68b3;
  color: #fff;
  display: inline-block;
  box-sizing: border-box;
  padding: 13px 21px;
  margin-right: 20px;
  margin-bottom: 10px;
  font-weight: bold;
}
@media screen and (max-width: 768px){
  .center_txt {
    text-align: left;
  }
  .bg_blue {
    margin: 0 calc(50% - 50vw);
  }
  
  .point_blue {
    display: block;
    width: 38%;
    white-space: nowrap;
  }
}
/*************************************
* アニメーション
*************************************/
.sa {
  opacity: 0;
  transition: all .5s ease;
}
.sa.show {
  opacity: 1;
  -ms-transform: none;
      transform: none;
}
.sa--lr {
  -ms-transform: translate(-100px, 0);
      transform: translate(-100px, 0);
}
.sa--rl {
  -ms-transform: translate(100px, 0);
      transform: translate(100px, 0);
}
.sa--up {
  -ms-transform: translate(0, 100px);
      transform: translate(0, 100px);
}
.sa--up02 {
  -ms-transform: translate(0, 300px);
      transform: translate(0, 300px);
}
.sa--down {
  -ms-transform: translate(0, -100px);
      transform: translate(0, -100px);
}
.sa--scaleUp {
  -ms-transform: scale(.5);
      transform: scale(.5);
}
.sa--scaleDown {
  -ms-transform: scale(1.5);
      transform: scale(1.5);
}
.sa--rotateL {
  -ms-transform: rotate(180deg);
      transform: rotate(180deg);
}
.sa--rotateR {
  -ms-transform: rotate(-180deg);
      transform: rotate(-180deg);
}
.sa--line {
  transition: width 0.6s 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {

  .sa {
    opacity: 0;
    transition: all .5s ease;
  }

  .sa.show {
    opacity: 1;
    -ms-transform: none;
        transform: none;
  }

  .sa--lr {
    -ms-transform: translate(-50px, 0);
        transform: translate(-50px, 0);
  }

  .sa--rl {
    -ms-transform: translate(50px, 0);
        transform: translate(50px, 0);
  }

  .sa--up {
    -ms-transform: translate(0, 50px);
        transform: translate(0, 50px);
  }

  .sa--down {
    -ms-transform: translate(0, -50px);
        transform: translate(0, -50px);
  }

  .sa--scaleUp {
    -ms-transform: scale(.5);
        transform: scale(.5);
  }

  .sa--scaleDown {
    -ms-transform: scale(1.5);
        transform: scale(1.5);
  }

  .sa--rotateL {
    -ms-transform: rotate(180deg);
        transform: rotate(180deg);
  }

  .sa--rotateR {
    -ms-transform: rotate(-180deg);
        transform: rotate(-180deg);
  }


}
@media screen and (max-width: 599px) {}
/*************************************
* アンカー・リンク関連
*************************************/
a {
  text-decoration: none;
}
/* テキストリンク */
.text_hover {
  text-decoration: underline;
  color: #e83928;
}
/*************************************
* ホバー
*************************************/
/* ホバー時下線 */
.hover_line {
  display: inline-block;
  position: relative;
}
.hover_line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 1px;

  background-color: #333;

  transition: width 500ms cubic-bezier(0.23, 1, 0.32, 1);
}
.hover .hover_line:hover::after,
.hover_line.hover::after,
.hover_line:focus::after {
  width: 100%;
}
/* ホバー時半透明 */
.hover_alpha {
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hover .hover_alpha:hover,
.hover_alpha.hover,
.hover_alpha:focus {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  zoom: 1;
}
/* フィルター（ブライトネス）*/
.hover_bright {
  transition: filter 500ms cubic-bezier(0.23, 1, 0.32, 1);
}
.hover .hover_bright:hover,
.hover_bright.hover,
.hover_bright:focus {
  -o-filter: brightness(1.08);
  filter: brightness(1.08);
}
/* 要素の回り込み */
.fleft {
  float: left;
}
.fright {
  float: right;
}
/* 要素の回り込み解除 */
.sc {
  clear: both;
}
/*************************************
* クリアフィックス
*************************************/
.cf:before,
.cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}
.cf {
  zoom: 1;
}
/*************************************
* ウィンドウサイズ毎の処理用
*************************************/
@media screen and (min-width: 768px) {
  /*例外的にmin-widthを使用しています。 */
  .pc_none {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .sp_none {
    display: none;
  }
}
@media screen and (max-width: 599px) {
  .sp_none {
    display: none;
  }
}
/*************************************
* 背景色
*************************************/
/*************************************
* コンテナ―・コンテンツ
*************************************/
/* コンテンツボックス */
.content {}
.subpage .content {}
.content_begin {}
.content_last {}
/* サブコンテンツボックス(コンテンツボックス以下のブロック要素(サブコンテンツ)に適宜使用) */
.subcontent {}
/* コンテナ― */
.container {
  max-width: 1040px;
  /* サイト毎に幅を指定してください。 */
  margin: 0 auto;
}
@media screen and (max-width: 999px) {
  .container {
    width: 100%;
    padding-left: 1.96078431372549%;
    padding-right: 1.96078431372549%;
  }
  .subpage .container {
    padding-left: 15px;
    padding-right: 15px;
  }
  
}
@media screen and (max-width: 768px) {
  .content {}
  .content.last {}
}
@media screen and (max-width: 599px) {
  .content.last {}
}
/*************************************************************
*
* Grid
*
*************************************************************/
/* row */
.row:before,
.row:after {
  content: "";
  display: table;
}
.row:after {
  clear: both;
}
.row {
  zoom: 1;
}
.gutters {
  margin-left: -1.428571428571429%;
  margin-right: -1.428571428571429%;
}
/* 左右端のみ余白なし */
.wide_column.gutters {
  margin-left: 0%;
  margin-right: 0%;
}
.col_1,
.col_2,
.col_3,
.col_4,
.col_5,
.col_6,
.col_7,
.col_8,
.col_9,
.col_10,
.col_11,
.col_12 {
  display: block;
  float: left;
}
.row.right .col_1,
.row.right .col_2,
.row.right .col_3,
.row.right .col_4,
.row.right .col_5,
.row.right .col_6,
.row.right .col_7,
.row.right .col_8,
.row.right .col_9,
.row.right .col_10,
.row.right .col_11,
.row.right .col_12 {
  float: right;
}
.col_1 {
  width: 8.3333333333%;
}
.col_2 {
  width: 16.6666666666%;
}
.col_3 {
  width: 25%;
}
.col_4 {
  width: 33.3333333333%;
}
.col_5 {
  width: 41.5555555555%;
}
.col_6 {
  width: 50%;
}
.col_7 {
  width: 58.1111111111%;
}
.col_8 {
  width: 66.6666666666%;
}
.col_9 {
  width: 75%;
}
.col_10 {
  width: 83%;
}
.col_11 {
  width: 91.6666666666%;
}
.col_12 {
  width: 100%;
}
.col_6_all_img {
  text-align: center;
}
.col_6_all_img img {
  width: 100%;
}
@media screen and ( max-width: 768px) {
  .col_6_all_img {
    padding-bottom: 20px;
  }
}
.gutters > * {
  padding-left: 1.428571428571429%;
  padding-right: 1.428571428571429%;
}
/* column */
@media screen and (max-width: 768px) {
  .row:not(.nochange) .col_1,
  .row:not(.nochange) .col_2,
  .row:not(.nochange) .col_3,
  .row:not(.nochange) .col_4,
  .row:not(.nochange) .col_5,
  .row:not(.nochange) .col_6,
  .row:not(.nochange) .col_7,
  .row:not(.nochange) .col_8,
  .row:not(.nochange) .col_9,
  .row:not(.nochange) .col_10,
  .row:not(.nochange) .col_11,
  .row:not(.nochange) .col_12,
  .row.right:not(.nochange) .col_1,
  .row.right:not(.nochange) .col_2,
  .row.right:not(.nochange) .col_3,
  .row.right:not(.nochange) .col_4,
  .row.right:not(.nochange) .col_5,
  .row.right:not(.nochange) .col_6,
  .row.right:not(.nochange) .col_7,
  .row.right:not(.nochange) .col_8,
  .row.right:not(.nochange) .col_9,
  .row.right:not(.nochange) .col_10,
  .row.right:not(.nochange) .col_11,
  .row.right:not(.nochange) .col_12 {
    display: block;
    float: none;
    width: 100%;
  }
}
/**************************************************************
*
* flex box
*
**************************************************************/
.flex_type01 {
  display: -ms-flexbox;
  display: flex;
}
.flex_type02 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}
.flex_center {
  -ms-flex-align: center;
      align-items: center;
}
/**************************************************************
*
* Button

**************************************************************/
/**************************************************************
* Button01
**************************************************************/
.btn_type01 a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
  }
.btn_type01 a::after {
      font-family: 'icomoon';
      content: "\e906";
      color: #fff;
    }
.btn_type01.btn_black a {
    width: 300px;
    -ms-flex-pack: center;
        justify-content: center;
    box-sizing: border-box;
    padding: 20px 0;
    background: #000;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
  }
.btn_type01.btn_black a::after {
      margin-left: 2em;
    }
.btn_type01.btn_black a:hover {
      box-shadow:0px 3px 5px 0px rgba(27, 26, 26, 0.33);
      transition: all 0.15s ease;
      background: #fff;
      color: #000;
      outline: 1px solid #000;
    }
.btn_type01.btn_black a:hover::after {
        color: #000;
      }
/**************************************************************
* Button02
**************************************************************/
.btn_type02 a::after {
      font-family: 'icomoon';
      content: "\e906";
      color: #fff;
    }
/**************************************************************
* Button03
**************************************************************/
.btn_type03 {
  display: block;
  
  position: relative;
  max-height: 100px;
  overflow: hidden;
  
  border: 2px solid #0b68b3;
  
  transition: 100ms opacity ease-out;
}
.btn_type03 .text {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    
    background-color: #0b68b3;
    
    color: #fff;
    font-weight: bold;
    font-size: 1.25em;
    
    padding: 10px 15px;
  }
@media screen and (min-width: 1079px) {
    .btn_type03 .text {
      font-size: 1.125em;
      padding: 7px 8px;
    }
  }
.btn_type03 .text .arrow {
      margin-left: 0.5em;
    }
.btn_type03 .subtext {
    position: relative;
    z-index: 3;
    
    color: #0b68b3;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.666;
    
    margin-top: 10px;
    margin-bottom: 10px;
    padding-left: 15px;
  }
.btn_type03 .subtext-strong {
      font-size: 18px;
    }
@media screen and (min-width: 1079px) {
    .btn_type03 .subtext {
      margin-top: 6px;
      margin-bottom: 6px;
      padding-left: 8px;
    }
  }
.btn_type03 .bg_image {
    position: absolute;
    height: 100%;
    z-index: 2;
    top: 0;
    right: 0;
  }
.btn_type03 .bg_image .image {
      height: inherit;
      object-fit: contain;
    }
@media screen and (min-width: 1079px) {
      .btn_type03 .bg_image .image {
        height: 87px;
      }
  }
.btn_type03:hover {
    opacity: 0.8;
  }
/**************************************************************
* Button04
**************************************************************/
.btn_blueborder {
  width: 48%;
}
.btn_blueborder a {
    -ms-flex-pack: justify;
        justify-content: space-between;
    box-sizing: border-box;
    padding: 30px;
    background: #fff;
    border: 2px solid #0b68b3;
    color: #0b68b3;
    font-size: 16px;
    font-weight: bold;
  }
.btn_blueborder a:hover {
      box-shadow:0px 3px 5px 0px rgba(27, 26, 26, 0.33);
      transition: all 0.15s ease;
      background: #0b68b3;
      color: #fff;
    }
.btn_blueborder a:hover::after {
        color: #fff;
      }
.btn_blueborder a::after {
      margin-left: 2em;
      font-family: 'icomoon';
      content: "\e906";
      color: #a6c92c;
    }
.btn_gray a {
    background: #eeeeee;
    color: #0b68b3;
    font-size: 16px;
    box-sizing: border-box;
    padding: 15px;
    display: inline-block;
  }
.btn_gray a::after {
      margin-left: 13px;
      font-family: 'icomoon';
      content: "\e906";
      color: #a6c92c;
    }
/**************************************************************
*
* パンくず
*
**************************************************************/
.topicpass {}
.topicpass li {
  display: inline-block;
  font-size: 12px;
}
.topicpass li::after {
  content: ">";
  font-family: 'icomoon';
  margin-left: 10px;
  margin-left: 10px;
}
.topicpass li:last-child::after {
  content: none;
}
.topicpass i::before {
  vertical-align: bottom;
}
.topicpass li a {
  text-decoration: underline;
  font-size: 12px;
  color: #464646;
}
.hover .topicpass li a:hover,
.topicpass li a.hover {
  text-decoration: underline;
  color: #0b68b3;
}
/*************************************************************
*
* ボタン
*
*************************************************************/
/*************************************
* btn_type1
*************************************/
.btn_type1 {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;

  /*
  transition: 600ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-property: color, background-color;
  */
}
/*************************************
* link_btn
*************************************/
.link_btn {
  text-align: right;
}
.link_btn a {
    text-decoration: underline;
    color: #0b68b3;
    transition: .3s all;
  }
.link_btn a::after {
      content: url(../img/common/blank_link.png);
      vertical-align: middle;
      margin-left: 10px;
    }
.link_btn a:hover {
      opacity: 0.6;
      transition: .3s all;
    }
.link_btn a i {
      display: inline-block;
      margin-right: 5px;
    }
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
  .link_btn {
    text-align: left;
    font-size: 16px;
  }
    .link_btn a::after {
      margin-left: 5px;
    }
}
@media screen and (max-width: 599px) {}
/**************************************************************
*
* テーブル
*
**************************************************************/
.table_container {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 979px) {
  .table_container::-webkit-scrollbar {
    height: 5px;
  }
  .table_container::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #eee;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
  }
  /*スクロールバーの動く部分*/
  .table_container::-webkit-scrollbar-thumb {
    background-color: rgba(29, 33, 139, 0.7);
    border-radius: 10px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .7);
  }
}
/*************************************
* テーブル1
*************************************/
.table_type01 {
  width: 100%;
}
.table_type01 tr{
    border: 1px solid #c9c9c9;
  }
.table_type01 th{
    width: 25%;
    background: #ddf0ff;
    font-weight: bold;
    color: #000;
    text-align: center;
    box-sizing: border-box;
    padding: 20px 0;
    border-right: 1px solid #c9c9c9;
    font-size: 16px;
  }
.table_type01 td {
    width: 100%;
    box-sizing: border-box;
    padding: 20px 0;
    padding-left: 20px;
    line-height: 1.75;
  }
.table_type01 td li {
      line-height: 1.75;
    }
.table_type01 td a {
      color: #0b68b3;
      text-decoration: underline;
      transition: .3s all;
    }
.table_type01 td a:hover {
        opacity: .6;
        transition: .3s all;
      }
.table_type02 {
  width: 100%;
}
.table_type02 tr{
    border: 1px solid #c9c9c9;
  }
.table_type02 th{
    width: 25%;
    background: #ddf0ff;
    font-weight: bold;
    color: #000;
    text-align: center;
    box-sizing: border-box;
    padding: 20px 0;
    border-right: 1px solid #c9c9c9;
    font-size: 16px;
  }
.table_type02 td {
    width: 100%;
    box-sizing: border-box;
    padding: 20px 0;
    padding-left: 20px;
    line-height: 1.75;
  }
.table_type02 td li {
      line-height: 1.75;
    }
.table_type02 td a {
      color: #0b68b3;
      text-decoration: underline;
      transition: .3s all;
    }
.table_type02 td a:hover {
        opacity: .6;
        transition: .3s all;
      }
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
  
  .table_type01 {
    width: 100%;
  }
  .table_type01 tr,
  .table_type01 td,
  .table_type01 th {
    display: block;
    border: none;
    box-sizing: border-box;
    padding: 1em 10px;
    vertical-align: middle;
    text-align: left;
  }
  .table_type01 tr {
    padding: 0;
  }
      .table_type01 tr:last-child td {
        border-bottom: 1px solid #c9c9c9;
      }
  .table_type01 th {
    width: 100%;
    background: #ddf0ff;
    font-weight: bold;
    white-space: nowrap;
    border: 1px solid #c9c9c9;
  }
  .table_type01 td {
    border-left: 1px solid #c9c9c9;
    border-right: 1px solid #c9c9c9;
  }  
  .table_type01 {
    width: 100%;
  }
  .table_type01 tr {
    padding: 0;
  }
  
}
@media screen and (max-width: 599px) {}
/**************************************************************
*
* リスト
*
**************************************************************/
/*************************************
* リスト1
*************************************/
.list_type1 {}
/*************************************
* 定義リスト1
*************************************/
.dlist_type1 {
  display: -ms-inline-flexbox;
  display: inline-flex;
  line-height: 1.75;
}
@media screen and (max-width: 599px) {
.dlist_type1 {
    display: block
}
  }
/*************************************
* 順番リスト1
*************************************/
.olist_type1 {}
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {}
@media screen and (max-width: 599px) {}
/*************************************************************
*
* 見出し
*
*************************************************************/
/*************************************
* top 見出し
*************************************/
.ttl_type01 {
  border-bottom: 5px solid #0b68b3;
  margin-bottom: 12px;
  max-width: 520px;
  width: calc(100vw/2);
  z-index: 2;
}
.ttl_type01 .ttl_type01_inner {
    text-align: right;
    display: inline-block;
  }
.ttl_type01 .ttl_type01_inner .h3_ttl {
      font-size: 30px;
      color: #0b68b3;
      font-weight: bold;
    }
.ttl_type01 .ttl_type01_inner .h3_sub_ttl {
      color: #0b68b3;
      display: inline-block;
      font-size: 14px;
    }
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {

  .ttl_type01 {
    width: 80%;
  }
    .ttl_type01 .ttl_type01_inner {
      text-align: left;
      display: inline-block;
    }

}
@media screen and (max-width: 599px) {}
/*************************************
* 下層 見出し３
*************************************/
.h3_ttl_type01 {
font-size: 24px;
font-weight: bold;
color: #0b68b3;
text-align: center;
}
.h3_ttl_type01::after{
  content:"";
  display: block;
  background: #a6c92c;
  width: 20px;
  height: 20px;
  margin: 20px auto 20px;
}
/*************************************
* 下層 見出し4
*************************************/
.h4_ttl_type01 {
  font-size: 16px;
  font-weight: bold;
  color: #000;
  border-bottom: 1px solid #0b68b3;
  border-left: 1px solid #0b68b3;
  box-sizing: border-box;
  padding: 12px;
  width: 50%;
}
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
  .h4_ttl_type01{
    width: 100%;
  }
}
@media screen and (max-width: 599px) {}
/*************************************
* 下層 見出し5
*************************************/
.h5_ttl_type01 {
  font-size: 16px;
  line-height: 2.25;
  font-weight: bold;
  border-left: 5px solid #0b68b3;
  padding-left: 1em;
  
  
}
/*************************************
* 見出し1
*************************************/
.headline_type1 {}
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {}
@media screen and (max-width: 599px) {}
/**************************************************************
*
* ヘッダー
*
**************************************************************/
.header {
  margin-bottom: 82px;
  animation: navfix02 .5s linear;
}
.subpage .header {
  margin-bottom: 30px;
}
@keyframes navfix02 {
  0% {opacity: .5;
  }
  100% {opacity: 1;
  }
}
.logo {
  transition: .3s;
}
.logo:hover {
    opacity: 0.6;
    transition: .3s;
  }
.header_inner {
  box-sizing: border-box;
  padding-left: 60px;
  padding-right: 20px;
  margin-bottom: 46px;
}
.header_description {
  font-size: 12px;
  color: #fff;
  background: #0b68b3;
  box-sizing: border-box;
  padding: .5em 5%;
  margin-bottom: 20px;
}
.header_inner_left_list.flex_type01 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
}
.header_inner_left_list li {
  margin-right: 20px;
}
.header_inner_left_list li:first-child a {
  font-size: 12px;
  color: #0b68b3;
  text-decoration: underline;
  transition: .2s;
}
.header_inner_left_list li:first-child a i {
    display: inline-block;
    margin-right: 5px;
  }
.header_inner_left_list li:first-child a:hover {
    opacity:.7;
    transition: .2s;
  }
.header_inner_left_list li:nth-child(2) {
  margin-right: 10px;
}
.header_inner_left_list li:nth-child(2) a,
.header_inner_left_list li:nth-child(3) a {
  word-break: break-all;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.3;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  background: #0b68b3;
  padding: 1em;
  height: 60px;
  transition: all 0.15s ease;
}
.header_inner_left_list li:nth-child(2) a:hover, .header_inner_left_list li:nth-child(3) a:hover {
    box-shadow:0px 3px 5px 0px rgba(27, 26, 26, 0.33);
    transition: all 0.15s ease;
    color: #0b68b3;
    background: #fff;
   outline: 1px solid #0b68b3;
    margin: -1px 0;
  }
.header_inner_left_list li:nth-child(2) a:hover::after, .header_inner_left_list li:nth-child(3) a:hover::after {
      transition: transform 0.4s 0s ease;
      transform: translate3d(5px, 0, 0);
      border-color: transparent transparent transparent #0b68b3;
    }
.header_inner_left_list li:nth-child(2) a::after,
.header_inner_left_list li:nth-child(3) a::after {
  content: "";
  display: inherit;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 6px;
  border-color: transparent transparent transparent #ffffff;
  margin-left: 10px;
transform: translate3d(0px, 0, 0);
transition: transform 0.4s 0s ease;
}
.header_inner_left_list li:last-child {
  margin-left: 0;
}
.syukatsu_btn {
  background: #fff;
}
.syukatsu_btn-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
  }
.syukatsu_btn a {
  border: 2px solid #a6c92c;
  height: 60px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  font-weight: bold;
  color: #0b68b3;
  padding: 0 11.5px;
}
.syukatsu_btn a:hover {
    box-shadow:0px 3px 7px 0px rgba(80, 80, 80, 0.41);
    transition: all 0.15s ease;
    background: #a6c92c;
    color: #fff;
  }
.syukatsu_btn a:hover::after {
      transition: transform 0.4s 0s ease;
      transform: translate3d(5px, 0, 0);
      border-color: transparent transparent transparent #fff;
    }
.syukatsu_btn a::after {
    content: "";
    display: inherit;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 6px;
    border-color: transparent transparent transparent #a6c92c;
    margin-left: 10px;
    transform: translate3d(0px, 0, 0);
    transition: transform 0.4s 0s ease;
  }
/* インターンシップ */
.syukatsu_btn.__internship a {
        width: 146px;
        color: #FF4D33;
        border: 2px solid #FF4D33;
      }
.syukatsu_btn.__internship a::after {
          border-color: transparent transparent transparent #FF4D33;
        }
.syukatsu_btn.__internship a:hover {
          background: #FF4D33;
          color: #fff;
        }
.syukatsu_btn.__internship a:hover::after {
            transition: transform 0.4s 0s ease;
            transform: translate3d(5px, 0, 0);
            border-color: transparent transparent transparent #fff;
          }
/* マイナビ */
.mynavi_btn {
  height: 45px;
  margin-bottom: 14px;
  display: none;
}
.mynavi_btn img {
  height: 100%;
}
@media screen and (max-width: 1168px) {
  .header_inner {
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 46px;
  }
  .header_inner_left_list li:nth-child(2) a,
  .header_inner_left_list li:nth-child(3) a {
    font-size: 11px;
    padding: 10px;
    width: 110px;
  }
}
@media screen and (max-width: 979px) {
    .syukatsu_btn a {
      font-size: 11px;
    }
      .syukatsu_btn a img {
        width: 20%;
      }
}
@media screen and (max-width: 768px) {
  .header {
    height: 90px;
    margin: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 20;
    background: #fff;
  }
  .logo {
    width: 80%;
  }
  .header_inner {
    padding-left: 10px;
    padding-right: 0;
  }
  .header_inner.flex_type02 {
    display: block;
  }
  .header_description {
    font-size: 10px;
  }
  .header_inner_left {
    display: none;
  }

  main {
    margin-top: 90px;
  }

.mynavi_btn {
  display: block;
}
}
@media screen and (max-width: 599px) {}
/**************************************************************
*
* header fix
*
**************************************************************/
.header.fix {
  position: fixed;
  background: #fff;
  width: 100%;
  z-index: 30;
  padding-top: 10px;
  animation: navfix .3s linear;
}
.header.fix .header_description {
    display: none;

  }
.header.fix .header_inner {
    margin-bottom: 10px;
    padding-left: 1%;
    padding-right: 1%;
    font-size: 13px;
  }
.header.fix .header_inner .logo{
      margin-right: 20px;
    }
.header.fix .header_inner.flex_type02 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
  }
.header.fix .header_inner_left_list li:nth-child(2) a,
    .header.fix .header_inner_left_list li:nth-child(3) a {
      height: 30px;
    }
.header.fix .header_inner_left_list li:nth-child(2) a br, .header.fix .header_inner_left_list li:nth-child(3) a br {
        display: none;
      }
.header.fix .header_inner_left_list li:nth-child(2) a:hover, .header.fix .header_inner_left_list li:nth-child(3) a:hover {
        margin: 0;
      }
.header.fix .syukatsu_btn a {
    height: 30px;
  }
.header.fix .syukatsu_btn a:hover {
      margin: 0;
    }
@keyframes navfix {
  0% {opacity: 0;  }
  100% {opacity: 1;  }
}
@media screen and (max-width: 1024px) {
  
}
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
  .header.fix {
    position: fixed;
    background: rgba(255, 255, 255, 0.9);
    width: 100%;
    z-index: 30;
    padding-top: 0px;
    animation: navfix .3s linear;
  }
    .header.fix .header_description {
      display: block;
    }
    .header.fix .header_inner {
      margin-bottom: 10px;
    }
      .header.fix .header_inner .logo{
        margin-right: 20px;
      }
    .header.fix .header_inner.flex_type02 {
      display: block;
      -ms-flex-pack: center;
          justify-content: center;
    }

    .header.fix .header_inner_left_list li:nth-child(2) a,
      .header.fix .header_inner_left_list li:nth-child(3) a {
        height: 30px;
    }
        .header.fix .header_inner_left_list li:nth-child(2) a br, .header.fix .header_inner_left_list li:nth-child(3) a br {
          display: none;
        }
        .header.fix .header_inner_left_list li:nth-child(2) a:hover, .header.fix .header_inner_left_list li:nth-child(3) a:hover {
          margin: 0;
        }
    .header.fix .syukatsu_btn a {
      height: 45px;
    }
      .header.fix .syukatsu_btn a:hover {
        margin: 0;
      }
}
@media screen and (max-width: 599px) {}
/**************************************************************
*
* fixed_btn
*
**************************************************************/
.fixed_btn {
  display: none;
}
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
.fixed_btn {
  display: block;
  position: fixed;
  bottom: 0;
  right: 0%;
  z-index: 10;
  width: 100vw;
  height: 60px;
  top: auto;
 }
  .fixed_btn .flex_type01{
    height: 100%;
  }
  .fixed_btn .fixed_menu {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
  }
      .fixed_btn .fixed_menu:last-child a{
        background: #a6c92c;
        font-weight: bold;
      }
      .fixed_btn .fixed_menu:nth-child(2) a {
        border-left: none;
        border-right: none;
      }
    .fixed_btn .fixed_menu a{
      width: 100%;
      height: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      color: #0b68b3;
      border: 2px solid #0b68b3;
      background: #fff;
      box-sizing: border-box;
      padding: 5px;
      white-space: nowrap;
      font-size: 14px;
    }
      .fixed_btn .fixed_menu a::after {
        content: "";
        display: inherit;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 5px 0 5px 6px;
        border-color: transparent transparent transparent #0b68b3;
        margin-left: 10px;
      }
}
@media screen and (max-width: 599px) {}
/***************************************************************
*ナビゲーション
*
**************************************************************/
.nav_toggle span {
  display: none;
}
.nav_gb {}
.nav_gb .item {}
.sp_menu_btn {
  display: none;
}
.gnav .main_menu {
    margin-bottom: 23px;
  }
.gnav .main_menu li a {
        color: #0b68b3;
        font-size: 16px;
        font-weight: bold;
        box-sizing: border-box;
        padding: 20px 16px;
        transition: .3s;
      }
.gnav .main_menu li a:hover {
          background: #dcefff;
          transition: .3s;
        }
.gnav .main_menu .active {
      background: #dcefff;
    }
.gnav .sub_menu_box {
    background: #0b68b3;
    position: relative;
  }
.gnav .sub_menu {
    box-sizing: border-box;
    padding: 10px 20px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 10px;
  }
@media screen and (max-width: 1500px) {
.gnav .sub_menu {
      padding: 10px 250px 10px 20px
  }
    }
@media screen and (max-width: 996px) {
.gnav .sub_menu {
      padding: 10px 350px 10px 20px
  }
    }
.gnav .sub_menu li {
      margin-right: 20px;
      font-size: 14px;
    }
.gnav .sub_menu li:last-child {
        margin-right: 0;
      }
.gnav .sub_menu .lang-change{
      position: absolute;
      right: calc(19.5% + 50px);
    }
.gnav .sub_menu .lang-change span{
        color: white;
      }
.gnav .sub_menu .lang-change a{
        padding: 0 5px;
        color: #fff;
        text-decoration: underline;
        transition: .3s;
      }
.gnav .sub_menu .lang-change .is-active{
        text-decoration:  none;
        pointer-events: none;
      }
.gnav .sub_menu a {
      color: #fff;
      text-decoration: underline;
      transition: .3s;
    }
.gnav .sub_menu a:hover {
        color: #dcefff;
        transition: .3s;
      }
.gnav .sub_menu .active {
      color: #dcefff;
    }
.gnav .sns_list {
    width: 19.5%;
    position: absolute;
    top: 0;
    right: 0;
    box-sizing: border-box;
    padding: 10px 10px 7px;
    background: #e8e8e8;
    -ms-flex-align: center;
        align-items: center;
  }
.gnav .sns_list::after {
      content: "";
      position: absolute;
      left: -30px;
      top: 0;
      width: 0;
      height: 0;
      border-left: 30px solid transparent;
      border-bottom: 36px solid #e8e8e8;
    }
.gnav .sns_list li {
      margin-right: 10px;
    }
.gnav .sns_list li:last-child {
        margin-right: 0;
      }
.gnav .sns_list li:first-child {
        font-size: 12px;
        color: #0b68b3;
      }
.gnav .sns_list li a:hover {
        transition: .3s;
      }
.gnav .sns_list li a:hover:hover {
          opacity: 0.6;
          transition: .3s;
        }
@media screen and (max-width: 1023px) {
        .gnav .main_menu li a{
          font-size: 11px;
        }  
  
}
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
      .gnav .sub_menu .lang-change{
        position: initial;
        display:-ms-flexbox;
        display:flex;
        -ms-flex-pack: center;
            justify-content: center;
      }
        .gnav .sub_menu .lang-change a::before{
          display: none;
        }  

  /*ハンバーガーメニュー*/
  .nav_toggle.active {
    border-color: #0b68b3;
  }
    .nav_toggle.active span {
      background:  #0b68b3;
    }
  .nav_toggle,
  .nav_toggle span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .nav_toggle {
    display: block;
    position: fixed;
    z-index: 12;
    top: 30px;
    right: 1.96078431372549%;
    width: 53px;
    height: 53px;
    padding: 0;
    transition: .2s cubic-bezier(.455, .03, .515, .955);
    transition-property: transform, background-color;
    border: 2px solid #0b68b3;
  }
  .nav_toggle span {
    position: absolute;
    left: 50%;
    width: 55%;
    height: 3px;
    background-color: #0b68b3;
    -ms-transform: translateY(-50%) translateX(-50%);
        transform: translateY(-50%) translateX(-50%);
  }
  .nav_toggle span:nth-of-type(1) {
    top: 15px;
  }
  .nav_toggle span:nth-of-type(2) {
    top: 25px;
  }
  .nav_toggle span:nth-of-type(3) {
    top: 35px;
  }
  .nav_toggle.active span:nth-of-type(1) {
    -ms-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg);
    left: 11px;

  }
  .nav_toggle.active span:nth-of-type(2) {
    opacity: 0;
  }
  .nav_toggle.active span:nth-of-type(3) {
    -ms-transform: translateY(-10px) rotate(45deg);
        transform: translateY(-10px) rotate(45deg);
    left: 11px;

  }

  /*SP メニュー*/
  .gnav {
    overflow: hidden;
    top: 90px;
    right: -50rem;
    display: block;
    max-height: 100%;
    max-width: 60vw;
    top: 90px;
    position: fixed;
    z-index: 10;
    box-sizing: border-box;
    padding: 25px 20px 13px;
    background: #0b68b3;
    height: 100%;
    max-height: calc(100vh - 90px);
    margin-top: 0px;
    font-size: 16px;
    transition: right .6s cubic-bezier(.19, 1, .22, 1);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* ←iOS対策 */
  }
    .gnav .main_menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-bottom: 0px;
    }
      .gnav .main_menu li {
        width: 100%;
        margin-bottom: 20px;
      }
        .gnav .main_menu li a {
          color: #fff;
          text-decoration: underline;
          padding: 0;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
              align-items: center;
          font-size: 14px;
        }
          .gnav .main_menu li a::before {
            content: "";
            display: inherit;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 5px 0 5px 6px;
            padding-left: 25px;
            border-color: transparent transparent transparent #afce41;
            visibility: hidden;
          }
          .gnav .main_menu li a:hover {
            color: #afce41;
            background: none;
          }
            .gnav .main_menu li a:hover::before {
              visibility: visible;
            }
      .gnav .main_menu .active {
        color: #afce41;
        background: none;
      }
        .gnav .main_menu .active::before {
          visibility: visible;
        }
    .gnav .sub_menu_box {
      text-align: center;
    }
    .gnav .sub_menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-flow: column;
          flex-flow: column;
      font-size: 14px;
      padding: 0 1em;
    }
      .gnav .sub_menu li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
      }
        .gnav .sub_menu li a {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
              align-items: center;
          text-decoration: underline;
        }
          .gnav .sub_menu li a::before {
            content: "";
            display: inherit;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 5px 0 5px 6px;
            padding-left: 25px;
            border-color: transparent transparent transparent #afce41;
            visibility: hidden;
          }
          .gnav .sub_menu li a:hover {
            color: #afce41;
            background: none;
          }
            .gnav .sub_menu li a:hover::before {
              visibility: visible;
            }
      .gnav .sub_menu .sp_sub_menu {
        display: none;
      }
    .gnav .sns_list {
      position: static;
      background: none;
      width: 100%;
      color: #fff;
      -ms-flex-pack: distribute;
          justify-content: space-around;
    }
        .gnav .sns_list li:first-child{
          color: #fff;
        }
      .gnav .sns_list::after {
        display: none;
      }
      .gnav .sns_list .icon-twitter-icon::before {
        color: #fff;
      }
      .gnav .sns_list .icon-facebook-icon::before {
        color: #fff;
      }
    .gnav .sp_btn_btn {
      display: inline-block;
    }
    .gnav .syukatsu_btn {
      margin-top: 0px;
      margin-bottom: 14px;
      display: inline-block;
      background: #fff;
      font-size: 14px;

      position: relative;
    }
      .gnav .syukatsu_btn a::after {
        margin-left: 0;

        position: absolute;
        right: 1rem;
      }

  /*SP メニューボタンを押して表示*/
  .gnav.active {
    right: 0;
    transition: right .6s cubic-bezier(.19, 1, .22, 1);
  }
    .gnav.active .main_menu.flex_type01 {
      /*      display: block;*/
    }

  /*SP メニューが開いているとき他の要素をoverlay*/
  body.open .drawer-overlay {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .2);
  }
    .open header {
      background: #fff;
    }


}
@media screen and (max-width: 599px) {}
/**************************************************************
*
* フッター
*
**************************************************************/
.footer {}
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
  .footer {
    margin-bottom: 50px;
  }

}
@media screen and (max-width: 599px) {}
/*************************************
* footer_contenst01
*************************************/
.footer_contents01 {
  position: relative;
  background: #0b68b3;
  padding-bottom: 30px;
}
.pagetop {
  position: relative;
  top: 0;
  left: 50%;
  display: block;
  height: 60px;
  width: 70px;
  color: #0b68b3;
  background-color: #eeeeee;
  outline: none;
  cursor: pointer;
  text-align: center;
  padding: 6px;
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-property: opacity;
  transition-duration: 300ms;
  transition-delay: 0ms;
  -ms-transform: translateY(-0%) translateX(-50%);
      transform: translateY(-0%) translateX(-50%);
}
.pagetop {
  color: #0b68b3;
  margin-bottom: 50px;
}
.pagetop .icon-footer-menulist-icon {
    display: block;
    -ms-transform: rotate(-90deg);
        transform: rotate(-90deg);
  }
.pagetop .icon-footer-menulist-icon::before {
      font-size: 1.5em;
      color: #0b68b3;
    }
.footer_col {
  width: 36.5%;
}
.footer_logo {
  margin-bottom: 15px;
}
.footer_tel {
  display: inline-block;
}
.footer_tel a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column;
        flex-flow: column;
    -ms-flex-pack: center;
        justify-content: center;
    box-sizing: border-box;
    padding: 10px 20px 10px 16px;
    border: 1px solid #a6c92c;
    line-height: 1.5;
  }
.footer_tel a:hover {
      background: #fff;
    }
.footer_tel a:hover .text {
        color: #0b68b3;
      }
.footer_tel a:hover .number {
        color: #0b68b3;
      }
.footer_tel .text {
    font-size: 12px;
    color: #fff;
  }
.footer_tel .number {
    color: #fff;
    font-size: 23px;
    font-weight: bold;
    vertical-align: middle;
  }
.footer_tel .number img {
      margin-right: 10px;

    }
.footer_col_menu.flex_type01 {
  width: 100%;
  margin-left: 75px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}
.footer_col_menu.flex_type01 ul {
    display: block;
  }
.footer_col_menu.flex_type01 ul li {
      line-height: 2;
      font-size: 14px;
    }
.footer_col_menu.flex_type01 ul li a {
        text-decoration: underline;
        color: #fff;
      }
.footer_col_menu.flex_type01 ul li a::after {
          font-family: 'icomoon';
          content: "\e905";
          color: #fff;
          font-size: 4px;
          margin-left: 5px;
          text-decoration: none;
          display: inline-block;
        }
.footer_col_menu.flex_type01 ul li a:hover {
          transition: all 0.15s ease;
          opacity: .6;
        }
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
    .footer_contents01 .container {
      padding: 0;
    }
  .pagetop {
    width: 100%;
    left: 0%;
    -ms-transform: translateY(0%) translateX(0%);
        transform: translateY(0%) translateX(0%);
  }
  .footer_col {
    width: 100%;
    padding-left: 1.96078431372549%;
    padding-right: 1.96078431372549%;
  }
  .footer_logo {
    width: 100%;
  }
  .footer_col_menu.flex_type01 {
    display: none;
  }
  .footer_tel {
    width: 100%;
  }
    .footer_tel a {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row;
          flex-flow: row;
      -ms-flex-pack: justify;
          justify-content: space-between;
      box-sizing: border-box;
      padding: 10px 20px 10px 16px;
      border: 1px solid #a6c92c;
      background: #a6c92c;
      line-height: 1.5;
    }
    .footer_tel .text {
      width: 34%;
      font-size: 12px;
      color: #0b68b3;
    }
    .footer_tel .number {
      color: #0b68b3;
      font-size: 20px;
      font-weight: bold;
      vertical-align: middle;
      white-space: nowrap;
    }
      .footer_tel .number img {
        margin-right: 10px;

      }

}
@media screen and (max-width: 599px) {}
/*************************************
* footer_contents02
*************************************/
.footer_contents02 {
  background: #fff;
}
.footer_contents02 .flex_type01 {
    box-sizing: border-box;
    padding: 10px 40px 10px 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
  }
.footer_contents02 .footer_menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    margin-right: 20px;
  }
.footer_contents02 .footer_menu li {
      margin-right: 30px;
    }
.footer_contents02 .footer_menu li:last-child {
        margin-right: 0;
      }
.footer_contents02 .footer_menu a {
      color: #0b68b3;
      font-size: 12px;
      text-decoration: underline;
    }
.footer_contents02 .footer_menu a::before {
        display: inline-block;
        font-family: 'icomoon';
        content: "\e904";
        color: #0b68b3;
        margin-right: 8px;
      }
.footer_contents02 .footer_menu a:hover {
        transition: all 0.15s ease;
        opacity: .6;
      }
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
    .footer_contents02 .footer_menu {
      display: block;
    }
      .footer_contents02 .footer_menu li {
        margin-bottom: 10px;
      }
    .footer_contents02 .flex_type01 {
      padding: 10px 40px 10px 10px;
    }

}
@media screen and (max-width: 599px) {}
/*************************************
* footer_contents03
*************************************/
.footer_contents03 {
  position: relative;
  background: #00467f;
  padding: 10px 0 25px;
}
.footer_contents03 p {
    text-align: center;
    color: #fff;
    font-size: 12px;

  }
.copyright {
  text-align: center;
  font-size: 1.2rem;
  color: #fff;

  padding: 5px;

  background-color: #000;

  display: block;
}
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {}
@media screen and (max-width: 599px) {}
/**************************************************************
*
* トップメインイメージ
*
**************************************************************/
.top .mainimage {}
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {}
@media screen and (max-width: 599px) {}
/*************************************************************
*
* 下層メインイメージ
*
*************************************************************/
.subpage .main-image {
background: #e8e8e8;
box-sizing: border-box;
padding:20px 0;
margin-bottom: 40px;
}
.subpage .main-image .container {
  position: relative;
  width: 100%;
  padding-top: 17.83%;
  height: 0;
}
.subpage .main-image .ttl {
  position: absolute;
  top: -20px;
  left: 0;
  background: #fff;
  box-sizing: border-box;
  padding: 40px 20px;
  width: 38%;
  -ms-transform: translateY(0%) translateX(0%);
      transform: translateY(0%) translateX(0%);
 }
.subpage .main-image .ttl span{
    color: #0b68b3;
    font-size: 30px;
    background: #fff;
    box-sizing:border-box;
    padding: 20px 0;
    border-left: 10px solid #a6c92c;
    padding-left: .5em;
  }
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
  .subpage .main-image {
    background: #e8e8e8;
    box-sizing: border-box;
    padding:30px 0 10px;
    margin-bottom: 40px;
  }
    .subpage .main-image .container {
      position: relative;
      width: 100%;
      padding-top: 37.83%;
      height: 0;
    }
    .subpage .main-image .ttl {
      position: absolute;
      top: -20px;
      left: 0;
      background: rgba(255, 255, 255, 0.75);
      box-sizing: border-box;
      padding: 35px 20px;
      width: 70%;
      -ms-transform: translateY(0%) translateX(0%);
          transform: translateY(0%) translateX(0%);
    }
      .subpage .main-image .ttl span{
        color: #0b68b3;
        font-size: 24px;
        background: none;
        box-sizing:border-box;
        padding: 20px 0;
        border-left: 10px solid #a6c92c;
        padding-left: .5em;
      }  
  
  
  
}
@media screen and (max-width: 599px) {}
/*************************************************************
*
* ページローディングアニメーション
*
*************************************************************/
.loader {}
/**************************************************************
*
* 404ページ
*
**************************************************************/
.subpage.error {}
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {}
@media screen and (max-width: 599px) {}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {}
@supports () {}
/**************************************************************
*
* 社員インタビュー
*
**************************************************************/
.interview_contents img{
    height: 100%;
  }
.interview_contents .text_col {
    width: 50%;
  }
.interview_contents .text_col .h4_ttl_type01 {
      width: 100%;
    }
.interview_contents .green_border_box {
    border: 2px solid #a6c92c;
  }
.interview_contents .green_border_box .point_blue {
      background: #a6c92c;
      margin-top: -1px;
    }
.interview_contents .green_border_box .text {
      box-sizing: border-box;
      padding: 0 20px 20px;
      line-height: 1.75;
    }
.interview_schedule .flex_type01 {
    -ms-flex-flow: column;
        flex-flow: column;
  }
.interview_schedule .blue_border {
    display: block;
    border: 3px solid #0b68b3;
    background: #0b68b3;
    margin-bottom: 20px;
  }
.interview_schedule .schedule_col ul{
      display: -ms-flexbox;
      display: flex;
    }
.interview_schedule .schedule_col li {
      width: 100%;
      margin-right: 30px;
/*
      &:nth-child(even) {
        margin-right: 50px;
        margin-left: 70px;
      }
*/
    }
.interview_schedule .schedule_col li .text{
        line-height: 1.75;
      }
.interview_schedule .schedule_col li:last-child {
        margin-right: 0;
      }
.interview_schedule .time_col {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    font-size: 24px;
    color: #0b68b3;
    margin-bottom: 20px;
    white-space: nowrap;
  }
.interview_schedule .time_col span {
      background: #0b68b3;
      display: inline-block;
      color: #fff;
      width: 100px;
      height: 100px;
      border-radius: 50%;
      text-align: center;
      line-height: 100px;
      font-size: 24px;
      font-weight: bold;
      margin-right: 15px;
    }
.interview_schedule .schedule_img_box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row;
        flex-flow: row;
  }
.interview_schedule .schedule_img_box li {
      width: 100%;
    }
.interview_schedule .schedule_img_box li img{
        width: 100%;
      }
.interview_link {
  background: #eee;
  box-sizing: border-box;
  padding: 40px 0;
}
.interview_link .interview_list ul li {
        width: 48%;
      }
.interview_link .interview_list ul li:last-child {
          margin-top: 0px;
        }
.interview_link .interview_list ul li:first-child {
          margin-top: 0px;
        }
.interview_link .interview_list ul li a {
          padding-right: 5px;
        }
.interview_link .interview_list ul li a .tag {
            right: 100%;
            left: 0;
            width: 20%;
          }
.interview_link .interview_list ul li a .tag02 {
            width: 30%;
          }
.interview_link .interview_list ul li a .img {
            margin-right: 20px;
            width: auto;
            min-width: 140px;
          }
.interview_link .interview_list ul li a .img img {
              width: 100%;
              height: 100%;
            }
.interview_link .interview_list ul li a .img .name {
              font-size: 16px;
            }
.interview_link .interview_list ul li a .flex_type01 {
            -ms-flex-align: center;
                align-items: center;
          }
.interview_link .interview_list ul li a .icon-btn-arrow-icon {
            margin-left: 20px;
          }
.interview_link .interview_list ul li a .icon-btn-arrow-icon::before{
              color: #a6c92c;
            }
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
    .interview_contents img{
      height: 100%;
      width: 100%;
      margin-bottom: 30px;
    }
    .interview_contents .text_col {
      width: 100%;
    }
    .interview_contents .mr30 {
  margin-right: 0 !important;
    }
    .interview_contents .ml30 {
      margin-left: 0 !important;
    }
    .interview_contents .mb50 {
      margin-bottom: 0px !important;
    }
    
    .interview_contents .green_border_box {
      border: 2px solid #a6c92c;
    }
      .interview_contents .green_border_box .point_blue {
        background: #a6c92c;
        width: 100%;
        white-space: pre-wrap;
      }
      .interview_contents .green_border_box .text {
        box-sizing: border-box;
        padding: 0 20px 20px;
        line-height: 1.75;
      }
    .interview_schedule .flex_type01 {
      -ms-flex-flow: row;
          flex-flow: row;
    }
      .interview_schedule .schedule_col .mb10 {
        margin-bottom: 20px !important;
      }
      .interview_schedule .schedule_col ul{
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: column;
            flex-flow: column;
      }
      .interview_schedule .schedule_col li {
        width: 90%;
        margin-left: 20px;
        margin-bottom: 20px;
      }
        .interview_schedule .schedule_col li .text{
          line-height: 1.75;
        }
        .interview_schedule .schedule_col li:nth-child(even) {
          margin-right: 0px;
          margin-left: 20px;
        }
    
    .interview_schedule .schedule_img_box {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: column;
          flex-flow: column;
    }
      .interview_schedule .schedule_img_box li {
        width: 100%;
      }
        .interview_schedule .schedule_img_box li img{
          width: 100%;
        }  
  
  .interview_link {
    padding: 20px 0;
  }
    .interview_link .interview_list {
      margin-top: 0px;
    }
        .interview_link .interview_list ul li {
          width: 100%;
        }
          .interview_link .interview_list ul li:first-child {
            margin-top: 0px;
            margin-bottom: 20px;
          }
          .interview_link .interview_list ul li a {
            padding-right: 5px;
          }
            .interview_link .interview_list ul li a .tag {
              width: 30%;
            }
            .interview_link .interview_list ul li a .img {
              margin-right: 20px;
            }
            .interview_link .interview_list ul li a .flex_type01 {
              display: -ms-flexbox;
              display: flex;
              -ms-flex-align: center;
                  align-items: center;
            }
            .interview_link .interview_list ul li a .icon-btn-arrow-icon {
              margin-left: 20px;
            }
              .interview_link .interview_list ul li a .icon-btn-arrow-icon::before{
                color: #a6c92c;
              }
  
}
@media screen and (max-width: 599px) {}
/**************************************************************
*
* recruit共通フッター
*
**************************************************************/
.step_list {
  display: -ms-flexbox;
  display: flex;
}
.step_list li{
    border: 2px solid #0b68b3;
    width: 20%;
    padding: 50px 0;
    position: relative;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column;
        flex-flow: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
  }
.step_list li span {
      position: absolute;
      top: -1px;
      left: 0;
      background: #0b68b3;
      display: block;
      color: #fff;
      box-sizing: border-box;
      padding: 10px 20px;
    }
.step_list li:not(:last-child){
      margin-right: 10px;
    }
.tel_btn {
  width: 49%;
  background: #0b68b3;
}
.tel_btn a{
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column;
        flex-flow: column;
    -ms-flex-align: center;
        align-items: center;
    color: #fff;
    box-sizing: border-box;
    padding: 20px 0;
    line-height: 1.75;
    border: 1px solid #0b68b3;
    transition: all 0.15s ease;
  }
.tel_btn a:hover {
      background: #fff;
      color: #0b68b3;
      border: 1px solid #0b68b3;
      box-shadow:0px 3px 5px 0px rgba(27, 26, 26, 0.33);
      transition: all 0.15s ease;
    }
.tel_btn a .tel {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
    }
.tel_btn a .tel p{
        margin-left: .5em;
        font-size: 30px;
        font-weight: bold;
      }
.entry_contents_btn.btn_type01 {
  width: 49%;
  background: #a6c92c;
}
.entry_contents_btn.btn_type01 a {
    text-align: center;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    color: #0b68b3;
    box-sizing: border-box;
    padding: 20px 0;
    line-height: 1.75;
    font-size: 24px;
    font-weight: bold;
    position: relative;
    height: 100%;
    border: 1px solid #a6c92c;
  }
.entry_contents_btn.btn_type01 a:hover {
      background: #fff;
      border: 1px solid #a6c92c;
      box-shadow:0px 3px 5px 0px rgba(27, 26, 26, 0.33);
      transition: all 0.15s ease;
    }
.entry_contents_btn.btn_type01 a:hover::after {
        color: #a6c92c;
      }
.entry_contents_btn.btn_type01 a::after {
      position: absolute;
      right: 20px;
    }
@media screen and (max-width: 979px) {}
@media screen and (max-width: 768px) {
  

  .step_list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column;
        flex-flow: column;
  }
    .step_list li{
      width: 100%;
    }
      .step_list li span {
      }
      .step_list li:not(:last-child){
        margin-right: 0px;
        margin-bottom: 10px;
      }  
  .tel_btn {
    width: 100%;
    margin-bottom: 20px;
  }
  .entry_contents_btn.btn_type01 {
    width: 100%;
  }
  
}
@media screen and (max-width: 599px) {}
/**************************************************************
*
* Parts.cssへ統合
*
**************************************************************/
/*************************************
* テキストスタイル1
*************************************/
.typography_type01 {
  margin-bottom: 1em;

  padding-left: 20px;
}
@media screen and (max-width: 599px) {
  .typography_type01 {
    padding-left: 0
  }
}
/*************************************
* テキストスタイル2
*************************************/
.typography_type02 {
  color: #0b68b3;
  font-weight: bold;
  font-size: 1.266em;
}
@media screen and (max-width: 599px) {
  .typography_type02 {
    font-size: 1.125em;
  }
}
/*************************************
* ボタン 黒色背景
*************************************/
/* 真ん中揃え */
.btn_type01.btn_black.__mauto a, .btn_type01.btn_black.__mauto button {
  margin-left: auto;
  margin-right: auto;
}
/* インライン */
.btn_type01.btn_black.__inline {
  display: inline-block;
}
/* 小さいサイズ */
.btn_type01.btn_black.__small {
  font-size: 0.889em;
}
.btn_type01.btn_black.__small a, .btn_type01.btn_black.__small button {
  -ms-flex-pack: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 8px 10px;
  background: #000;
  color: #fff;
}
.btn_type01.btn_black.__small a::after, .btn_type01.btn_black.__small button::after {
  margin-left: 2em;
}
.btn_type01.btn_black.__small a:hover, .btn_type01.btn_black.__small button:hover {
  box-shadow:0px 3px 5px 0px rgba(27, 26, 26, 0.33);
  transition: all 0.15s ease;
  background: #fff;
  color: #000;
  outline: 1px solid #000;
}
.btn_type01.btn_black.__small a:hover::after, .btn_type01.btn_black.__small button:hover::after {
  color: #000;
}
@media screen and (max-width: 599px) {
}
/*************************************
* ボタン 青色背景
*************************************/
.btn_blue {
  max-width: 320px;
}
.btn_blue a,.btn_blue button {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 100%;
  background: #0b68b3;
  border: 1px solid #0b68b3;
  border-radius: 7px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 17px 15px 15px;
}
.btn_blue a::after, .btn_blue button::after {
  content: "\e906";
  font-family: 'icomoon';
  color: #fff;
  position: absolute;
  /* top: 0;
  bottom: 0; */
  right: 15px;
  /* margin: auto;
  width: 1em;
  height: 1em; */
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
}
.hover .btn_blue a:hover,
.btn_blue a.hover,
.btn_blue a:focus,
.hover .btn_blue button:hover,
.btn_blue button.hover,
.btn_blue button:focus {
  box-shadow:0px 3px 5px 0px rgba(27, 26, 26, 0.33);
  background: #fff;

  transition: all 0.15s ease;

  color: #0b68b3;
}
.hover .btn_blue a:hover::after, .btn_blue a.hover::after, .btn_blue a:focus::after, .hover .btn_blue button:hover::after, .btn_blue button.hover::after, .btn_blue button:focus::after {
  color: #0b68b3;
}
/* 真ん中揃え */
.btn_blue.__mauto {
  margin-left: auto;
  margin-right: auto;
}
/* 大サイズ */
.btn_blue.__large {
  max-width: 702px;
}
.btn_blue.__large a,.btn_blue.__large button {
  border-radius: 0px;

  font-size: 1.266em;
}
.btn_blue.__large a:after, .btn_blue.__large button:after {
  font-size: 0.79em;
}
/* .btn_blue.__vari1 a {
  background: #fff;

  color: #0b68b3;
}
.btn_blue.__vari1 a::after {
  color: #0b68b3;
} */
@media screen and (max-width: 599px) {
  .btn_blue {
    max-width: 100%;
  }
}
/*************************************
* ボックス1
*************************************/
.box_type01 {
  border: 1px solid #c9c9c9;

  padding: 20px;

  line-height: 1.75;
}
.box_type01 .headline {
  font-weight: bold;
  line-height: 1.35;

  margin-bottom: 0.889em;
}
.box_type01 .headline:not(:first-child) {
  margin-top: 1em;
}
.box_type01 .paragraph {
  margin-bottom: 1.424em;

  font-size: 0.889em;
  text-align: justify;
}
/* 高さ120pxまで */
.box_type01.__vari1 {
  max-height: 120px;
  overflow-y: scroll;
}
/* インライン */
.box_type01.__inline {
  display: inline-block;

  padding-left: 80px;
  padding-right: 80px;
}
@media screen and (max-width: 599px) {
  .box_type01 {
    padding: 15px;
  }
  .box_type01 .headline {
    font-size: 0.889em;

    margin-bottom: 0.555em;
  }
  .box_type01 .paragraph {
    font-size: 0.889em;
  }

  .box_type01.__inline {
    padding-left: 20px;
    padding-right: 20px;
  }
}
/*************************************
* ボックス2
*************************************/
.box_type02 {
  background-color: #f3f3f3;

  padding: 0.555em 1em;

  font-size: 0.889em;
}
.box_type02 .headline {
  font-weight: bold;

  margin-bottom: 0.555em;
}
/*************************************
* ボックス3
*************************************/
.box_type03 {
  border: 1px solid #969696;
  
  padding: 1em;
  
  display: -ms-flexbox;
  
  display: flex;
  -ms-flex-flow: column nowrap;
      flex-flow: column nowrap;
  position: relative;
  
  transition-property: opacity, box-shadow;
  transition-duration: 100ms;
  transition-timing-function: ease-out;
  
  text-align: left;
}
.hover .box_type03:hover,
  .box_type03.hover {
    opacity: 0.7;
    box-shadow: 3px 3px 5px rgba(0,0,0,0.29);
  }
.box_type03 .image {
    margin-bottom: 0.625em;
  }
.box_type03 .image .objfit {
      height: 165px;
      object-fit: cover;
    }
.box_type03 .headline {
    font-weight: bold;
    line-height: 1.5;
    color: #000;
  }
.box_type03 .category {
    position: absolute;
    top: 0;
    right: 0;
    
    background-color: #0B68B3;
    
    padding: 3px 10px;
    
    color: #fff;
    font-size: 0.875em;
  }
.box_type03-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    
    margin-top: -40px;
    margin-left: -1em;
  }
.box_type03-container .box_type03 {
      width: calc(25% - 1em);
      margin-left: 1em;
      margin-top: 40px;
    }
@media screen and (max-width: 768px) {
      .box_type03-container .box_type03 {
        width: calc(33.33% - 1em)
      }
  }
@media screen and (max-width: 599px) {
.box_type03 {
    padding: 0.65em
}
    
    .box_type03 .headline {
      font-size: 0.875em;
    }
    .box_type03 .category {
      font-size: 0.75em;
    }
    .box_type03-container {
      margin-top: -20px;
    }
      
      .box_type03-container .box_type03 {
        width: calc(50% - 1em);
        margin-top: 20px;
      }
  }
/*************************************
* リスト1
*************************************/
.list_type01 .litem {
  list-style: disc;

  margin-left: 2em;
  margin-bottom: 0.324em;
}
/*************************************
* 順番リスト1
*************************************/
.olist_type01 .litem {
  list-style: decimal;

  margin-left: 2em;
  margin-bottom: 0.324em;
}
/*************************************
* テーブル3
*************************************/
.table_type03 {
  width: 100%;
}
.table_type03 tr{
  border: 1px solid #c9c9c9;
}
.table_type03 th,.table_type03 td {
  padding: 20px;

  box-sizing: border-box;
}
.table_type03 th{
  width: 22.5%;

  border-right: 1px solid #c9c9c9;
  background: #ddf0ff;

  font-size: 16px;
  color: #0b68b3;
  text-align: left;
}
.table_type03 td {
  width: 100%;

  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .table_type03 tr, .table_type03 th, .table_type03 td {
    display: block;

    border: none;

    padding: 1em 10px;

    vertical-align: middle;
    text-align: left;
  }

  .table_type03 tr {
    padding: 0;
  }
  .table_type03 tr:last-child td {
    border-bottom: 1px solid #c9c9c9;
  }

  .table_type03 th {
    width: 100%;

    white-space: nowrap;

    border: 1px solid #c9c9c9;
  }

  .table_type03 td {
    border-left: 1px solid #c9c9c9;
    border-right: 1px solid #c9c9c9;
  }
}
/*************************************
* モーダル
*************************************/
.modal_type01 {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  
  display: -ms-flexbox;
  
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  
  opacity: 0;
  visibility: hidden;
  
  transition-property: opacity, visibility;
  transition-duration: 300ms, 0ms;
  transition-delay: 0ms, 300ms;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.modal_type01.is-active {
    transition-delay: 0ms;
    
    opacity: 1;
    visibility: visible;
  }
.modal_type01 .background {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.6);
    
  }
.modal_type01 .content_area {
    position: relative;
    z-index: 2;
    background-color: #fff;
    
    padding: 2.8125em 2.5em;
    width: calc(100% - 30px);
    max-width: 800px;
  }
.modal_type01 .headline {
    font-weight: bold;
    
    position: relative;
    
    border-left: 6px solid #0B68B3;
    
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 1em;
    margin-bottom: 1.25em;
  }
.modal_type01 .content {
    display: -ms-flexbox;
    display: flex;
    
    line-height: 1.65;
  }
.modal_type01 .content .image {
      width: 250px;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      
      margin-right: 20px;
    }
.modal_type01 .content .dlist {
      display: -ms-flexbox;
      display: flex;
    }
.modal_type01 .content .block:not(:first-child) {
        margin-top: 1.5em;
      }
.modal_type01 .close {
    position: absolute;
    top: 0;
    right: 0;
    
    font-size: 0;
    
    width: 32px;
    height: 32px;
    
    background-color: #0B68B3;
  }
.modal_type01 .close:before,
    .modal_type01 .close:after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      width: 16px;
      height: 1px;
      background-color: #fff;
    }
.modal_type01 .close:before {
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
    }
.modal_type01 .close:after {
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
    }
@media screen and (max-width: 768px) {
      .modal_type01 .content .image {
        width: 180px;
      } 
  }
@media screen and (max-width: 599px) {
    .modal_type01 .content_area {
      margin-top: 70px;
      padding: 30px;
      
      width: calc(100% - 30px);
      max-height: calc(100% - 150px);
      
      overflow-y: scroll;
    }
    .modal_type01 .content {
      display: block;
      
      font-size: 0.875em;
    }
      
      .modal_type01 .content .image {
        width: 100%;
        margin-right: 0;
        margin-bottom: 1.25em;
      } 
  }
/*************************************
* レイアウト1
*************************************/
@media screen and (max-width: 599px) {
  .layout_type01 .typography_type01 {
    padding-left: 0;
  }
}
/*************************************
* レイアウト2
*************************************/
.layout_type02 .paragraph {
  line-height: 1.35;

  margin-bottom: 1.802em;
}
.layout_type02 .typography_type02 {
  text-align: center;
}
@media screen and (max-width: 599px) {
  .layout_type02 {
    padding: 1em;

    background-color: #f3f3f3;
  }
}
/*************************************
* マイナビバナー
*************************************/
.content_mynavi {
  margin-bottom: 2.566em;
}
.mynabi_btn a{
  display: inline-block;
  transition: all 0.15s ease;
}
.mynabi_btn a:hover {
    opacity: .6;
    box-shadow:0px 3px 5px 0px rgba(27, 26, 26, 0.33);
    transition: all 0.15s ease;
  } 