@charset "UTF-8";
/*================================================================================
    0.変数
        1.1 カラー その他設定
        1.2 レイアウト設定
        1.3 ブレイクポイント設定
    1.デフォルト設定 共通パーツ設定　共通css設定
        1.1 デフォルト設定
        1.2 共通パーツ
        1.3 共通css
    2.共通ページコンテンツ
        1.1 共通レイアウト設定
        1.2 全体
        1.3 ヘッダー
        1.4 フッター
        1.5 メインイメージ
        1.6 メインカラム
        1.7 サイドカラム
    3.各デフォルトコンテンツ
        1.1 アクセス
        1.2 お問い合わせ
    3.各追加コンテンツ サイト作成時ここに追加していく
        1.1 
        1.2 
================================================================================*/
/*------------------------------------------------------------------------------
    デフォルト設定 共通パーツ設定　共通css設定
------------------------------------------------------------------------------*/
/*  
  デフォルト設定
------------------------------------------------------------*/
html {
  font-size: 10px;
}

body {
  position: relative;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
  font-weight: 500;
  background-color: white;
  color: black;
  line-height: 1.7;
}
@media only screen and (min-width: 897px) {
  body {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  body {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  body {
    font-size: 1.4rem;
  }
}

a,
a:hover,
a:active {
  color: #01409a;
}

a {
  text-decoration: underline;
  transition: 0.3s;
}
a a:hover {
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1.6rem;
  font-weight: normal;
  margin: 0;
}

p {
  margin-bottom: 1.6rem;
}

ol,
ul {
  padding: 1.6rem;
}

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

BODY.edit-entry .image-left,
.image-left {
  float: left;
  margin: 0 2rem 2rem 0;
}
@media only screen and (max-width: 896px) {
  BODY.edit-entry .image-left,
  .image-left {
    float: none;
    display: block;
    margin: 0 auto 1rem;
  }
}

BODY.edit-entry .image-right,
.image-right {
  float: right;
  margin: 0 0 2rem 2rem;
}
@media only screen and (max-width: 896px) {
  BODY.edit-entry .image-right,
  .image-right {
    float: none;
    display: block;
    margin: 0 auto 1rem;
  }
}

BODY.edit-entry .image-center,
.image-center {
  display: block;
  margin: 0 auto 2rem;
}
@media only screen and (max-width: 896px) {
  BODY.edit-entry .image-center,
  .image-center {
    margin: 0 auto 1rem;
  }
}

a:hover img, a:active img {
  opacity: 0.7;
  text-decoration: none;
  transition: .3s;
}
a:hover img.noeffect, a:active img.noeffect {
  opacity: 1 !important;
  text-decoration: none;
}

/*  
  共通パーツ
------------------------------------------------------------*/
dl.dl_table {
  box-sizing: border-box;
  background: #f7f7f7;
  border-right: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  border-left: 1px solid #dddddd;
}
dl.dl_table dt,
dl.dl_table dd {
  box-sizing: border-box;
  padding: 0.3em 0.3em 0 0.3em;
  border-top: 1px solid #dddddd;
}
dl.dl_table dt {
  width: 20%;
  float: left;
}
dl.dl_table dd {
  background: white;
  margin-left: 20%;
  margin-bottom: 0;
  padding-bottom: 0.3em;
  border-left: 1px solid #dddddd;
}
@media only screen and (max-width: 640px) {
  dl.dl_table {
    margin-top: 0.3em;
    background: none;
    border-right: none;
    border-bottom: none;
    border-left: none;
  }
  dl.dl_table dt,
  dl.dl_table dd {
    padding: 0;
    border-top: none;
  }
  dl.dl_table dt {
    width: auto;
    float: none;
  }
  dl.dl_table dd {
    background: none;
    margin-left: 0;
    margin-bottom: 1em;
    padding-bottom: 0;
    border-left: none;
  }
}

dl.dl_table_no_border {
  box-sizing: border-box;
  background: none;
  border-right: 0 none black;
  border-bottom: 0 none black;
  border-left: 0 none black;
}
dl.dl_table_no_border dt,
dl.dl_table_no_border dd {
  box-sizing: border-box;
  padding: 0.3em 0.3em 0 0.3em;
  border-top: 0 none black;
}
dl.dl_table_no_border dt {
  width: 20%;
  float: left;
}
dl.dl_table_no_border dd {
  background: none;
  margin-left: 20%;
  margin-bottom: 0;
  padding-bottom: 0.3em;
  border-left: 0 none black;
}
@media only screen and (max-width: 640px) {
  dl.dl_table_no_border {
    margin-top: 0.3em;
    background: none;
    border-right: none;
    border-bottom: none;
    border-left: none;
  }
  dl.dl_table_no_border dt,
  dl.dl_table_no_border dd {
    padding: 0;
    border-top: none;
  }
  dl.dl_table_no_border dt {
    width: auto;
    float: none;
  }
  dl.dl_table_no_border dd {
    background: none;
    margin-left: 0;
    margin-bottom: 1em;
    padding-bottom: 0;
    border-left: none;
  }
}

dl.dl_table_access {
  box-sizing: border-box;
  background: none;
  border-right: 0 none black;
  border-bottom: 0 none black;
  border-left: 0 none black;
}
dl.dl_table_access dt,
dl.dl_table_access dd {
  box-sizing: border-box;
  padding: 0.3em 0.3em 0 0.3em;
  border-top: 0 none black;
}
dl.dl_table_access dt {
  width: 20%;
  float: left;
}
dl.dl_table_access dd {
  background: none;
  margin-left: 20%;
  margin-bottom: 0;
  padding-bottom: 0.3em;
  border-left: 0 none black;
}
@media only screen and (max-width: 640px) {
  dl.dl_table_access {
    margin-top: 0.3em;
    background: none;
    border-right: none;
    border-bottom: none;
    border-left: none;
  }
  dl.dl_table_access dt,
  dl.dl_table_access dd {
    padding: 0;
    border-top: none;
  }
  dl.dl_table_access dt {
    width: auto;
    float: none;
  }
  dl.dl_table_access dd {
    background: none;
    margin-left: 0;
    margin-bottom: 1em;
    padding-bottom: 0;
    border-left: none;
  }
}
dl.dl_table_access dt,
dl.dl_table_access dd {
  padding: 1.5rem;
  margin-bottom: 0.5rem;
}
dl.dl_table_access dt {
  background: #01409a;
  color: #fff;
}
dl.dl_table_access dd {
  background: #eeeeee;
}
@media only screen and (min-width: 897px) {
  dl.dl_table_access {
    display: flex;
    flex-wrap: wrap;
  }
  dl.dl_table_access dt,
  dl.dl_table_access dd {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0;
    border-bottom: 2px solid #fff;
  }
  dl.dl_table_access dd {
    width: 80%;
  }
}

.responsive_table {
  display: table;
  width: 100%;
  border-style: solid;
  border-color: #fff;
  border-width: 1px;
  border-bottom: none;
  border-left: none;
}
.responsive_table .responsive_table_row {
  display: table-row;
}
.responsive_table .responsive_table_title,
.responsive_table .responsive_table_data {
  display: table-cell;
  padding: 0.5em;
  border-style: solid;
  border-color: #fff;
  border-width: 1px;
  border-top: none;
  border-right: none;
  vertical-align: top;
}
.responsive_table .responsive_table_title {
  background-color: #eee;
  width: 25%;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .responsive_table {
    display: block;
    border-top: none;
    border-right: none;
  }
  .responsive_table .responsive_table_row {
    display: block;
    margin-bottom: 1.6rem;
    padding-bottom: 1.6rem;
    border-bottom: 1px solid #dddddd;
  }
  .responsive_table .responsive_table_title,
  .responsive_table .responsive_table_data {
    display: block;
    padding: 0;
    border-bottom: none;
    border-left: none;
  }
  .responsive_table .responsive_table_title {
    background-color: transparent;
    width: auto;
  }
  .responsive_table .responsive_table_data {
    background-color: transparent;
  }
}

.responsive_table_no_border {
  display: table;
  width: 100%;
  border-style: none;
  border-color: #fff;
  border-width: 1px;
  border-bottom: none;
  border-left: none;
}
.responsive_table_no_border .responsive_table_row {
  display: table-row;
}
.responsive_table_no_border .responsive_table_title,
.responsive_table_no_border .responsive_table_data {
  display: table-cell;
  padding: 0.3em;
  border-style: none;
  border-color: #fff;
  border-width: 1px;
  border-top: none;
  border-right: none;
  vertical-align: top;
}
.responsive_table_no_border .responsive_table_title {
  background-color: #eee;
  width: 25%;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .responsive_table_no_border {
    display: block;
    border-top: none;
    border-right: none;
  }
  .responsive_table_no_border .responsive_table_row {
    display: block;
    margin-bottom: 1.6rem;
    padding-bottom: 1.6rem;
    border-bottom: 1px solid #dddddd;
  }
  .responsive_table_no_border .responsive_table_title,
  .responsive_table_no_border .responsive_table_data {
    display: block;
    padding: 0;
    border-bottom: none;
    border-left: none;
  }
  .responsive_table_no_border .responsive_table_title {
    background-color: transparent;
    width: auto;
  }
  .responsive_table_no_border .responsive_table_data {
    background-color: transparent;
  }
}

.page_type_access_entry_list .formatted_entry,
.page_type_access_detail .formatted_entry, .page_type_formatted_entry_list .formatted_entry,
.page_type_formatted_archive_entry_list .formatted_entry,
.page_type_formatted_detail .formatted_entry {
  padding: 0 0 1.6rem;
}
.page_type_access_entry_list .formatted_entry_contaier .formatted_entry:nth-child(even),
.page_type_access_detail .formatted_entry_contaier .formatted_entry:nth-child(even), .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry:nth-child(even),
.page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry:nth-child(even),
.page_type_formatted_detail .formatted_entry_contaier .formatted_entry:nth-child(even) {
  /* background: $defalt-light-bg-color;*/
}
.page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img,
.page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img,
.page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img,
.page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img {
  float: left;
}
@media only screen and (max-width: 640px) {
  .page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img,
  .page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img,
  .page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img,
  .page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img {
    float: none;
  }
}
.page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img,
.page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img,
.page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img,
.page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img {
  float: right;
}
@media only screen and (max-width: 640px) {
  .page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img,
  .page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img,
  .page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img,
  .page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img {
    float: none;
  }
}
.page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt,
.page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt,
.page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt,
.page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt {
  margin-left: 47%;
}
@media only screen and (max-width: 640px) {
  .page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt,
  .page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt,
  .page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt,
  .page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt {
    margin-left: 0;
  }
}
.page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt,
.page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt,
.page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt,
.page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt {
  margin-right: 47%;
}
@media only screen and (max-width: 640px) {
  .page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt,
  .page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt,
  .page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt,
  .page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt {
    margin-right: 0;
  }
}
.page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_col_img,
.page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_col_img, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_col_img,
.page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_col_img,
.page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_col_img {
  width: 45%;
  margin-bottom: 20px;
}
@media only screen and (max-width: 640px) {
  .page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_col_img,
  .page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_col_img, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_col_img,
  .page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_col_img,
  .page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_col_img {
    width: 100%;
    margin-bottom: 0;
  }
}
.page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_col_img img,
.page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_col_img img, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_col_img img,
.page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_col_img img,
.page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_col_img img {
  width: 100%;
}
.page_type_access_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_txt,
.page_type_access_detail .formatted_entry_contaier .formatted_entry .formatted_entry_txt, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_txt,
.page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry .formatted_entry_txt,
.page_type_formatted_detail .formatted_entry_contaier .formatted_entry .formatted_entry_txt {
  margin-bottom: 1.6rem;
}
.page_type_access_entry_list .formatted_entry_contaier .formatted_entry:after,
.page_type_access_detail .formatted_entry_contaier .formatted_entry:after, .page_type_formatted_entry_list .formatted_entry_contaier .formatted_entry:after,
.page_type_formatted_archive_entry_list .formatted_entry_contaier .formatted_entry:after,
.page_type_formatted_detail .formatted_entry_contaier .formatted_entry:after {
  content: "";
  clear: both;
  display: block;
}

/*  
  共通css
------------------------------------------------------------*/
/* ------ list Basic------ */
.ul_typeB {
  padding: 0;
}
.ul_typeB li {
  list-style: none;
}
.ul_typeB li .ul_inner {
  padding: 0 0 0 20px;
  position: relative;
}
.ul_typeB li .ul_inner::before {
  content: "●";
  position: absolute;
  top: 0;
  left: 0;
}

.btn {
  display: inline-block;
  margin: 0 auto 1.6rem;
  padding: 0.8rem 1.6rem;
  border-radius: 0px;
  background-color: #01409a;
  color: white;
  font-weight: bold;
  line-height: 100%;
  text-decoration: none;
}
.btn:hover, .btn:active {
  background-color: #3688fe;
  color: white;
  text-decoration: none;
  transition: .3s;
}
.btn.btn_bg:hover, .btn.btn_bg:active {
  background-color: #d0d0d0;
  color: #333333;
  transition: .3s;
}

.btn_sub_cat {
  display: inline-block;
  margin: 0 auto 1.6rem;
  padding: 0.8rem 1.6rem;
  border-radius: 0px;
  background-color: #046afd;
  color: white;
  font-weight: bold;
  line-height: 100%;
  text-decoration: none;
}
.btn_sub_cat:hover, .btn_sub_cat:active {
  background-color: #9cc4fe;
  color: white;
  text-decoration: none;
  transition: .3s;
}
.btn_sub_cat.btn_bg:hover, .btn_sub_cat.btn_bg:active {
  background-color: #d0d0d0;
  color: #333333;
  transition: .3s;
}

.btn_mt {
  display: inline-block;
  margin: 0 auto 1.6rem;
  padding: 0.8rem 1.6rem;
  border-radius: 0px;
  background-color: #01409a;
  color: white;
  font-weight: bold;
  line-height: 100%;
  text-decoration: none;
  margin-top: 0.8rem;
}
.btn_mt:hover, .btn_mt:active {
  background-color: #3688fe;
  color: white;
  text-decoration: none;
  transition: .3s;
}
.btn_mt.btn_bg:hover, .btn_mt.btn_bg:active {
  background-color: #d0d0d0;
  color: #333333;
  transition: .3s;
}

.top_page_more_link,
.entry_more_link {
  text-align: center;
}
.top_page_more_link a,
.entry_more_link a {
  display: inline-block;
  margin: 0 auto 1.6rem;
  padding: 0.8rem 1.6rem;
  border-radius: 0px;
  background-color: #01409a;
  color: white;
  font-weight: bold;
  line-height: 100%;
  text-decoration: none;
  padding: 1.5rem 5rem;
}
.top_page_more_link a:hover, .top_page_more_link a:active,
.entry_more_link a:hover,
.entry_more_link a:active {
  background-color: #3688fe;
  color: white;
  text-decoration: none;
  transition: .3s;
}
.top_page_more_link a.btn_bg:hover, .top_page_more_link a.btn_bg:active,
.entry_more_link a.btn_bg:hover,
.entry_more_link a.btn_bg:active {
  background-color: #d0d0d0;
  color: #333333;
  transition: .3s;
}

.title_ll,
.title_l,
.title_m,
.title_s,
.title_ss,
.title_sss {
  font-weight: bold;
}

.title_l {
  font-size: 4rem;
  display: table;
  margin: 0 auto 4rem;
  padding: 0;
  border-bottom: 1px solid black;
  color: black;
  font-weight: 500;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .title_l {
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 640px) {
  .title_l {
    display: block;
    font-size: 2.8rem;
    margin: 0 auto 5rem;
    border: none;
    text-align: center;
    position: relative;
    line-height: 1.2;
  }
  .title_l:before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    margin-left: -50px;
    width: 100px;
    height: 1px;
    background: #000;
  }
}
.title_l a {
  color: black;
}

.title_l_type02 {
  font-size: 4rem;
  display: table;
  margin: 0 auto 4rem;
  padding: 0;
  color: black;
  font-weight: 500;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .title_l_type02 {
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 640px) {
  .title_l_type02 {
    display: block;
    font-size: 2.4rem;
    margin: 0 auto 5rem;
    line-height: 1.2;
  }
  .title_l_type02:before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    margin-left: -50px;
    width: 100px;
    height: 1px;
    background: #000;
  }
}
.title_l_type02 span.block {
  display: inline-block;
  border-bottom: 1px solid black;
}
@media only screen and (max-width: 640px) {
  .title_l_type02 span.block {
    border: none;
  }
}
.title_l_type02 a {
  color: black;
}

.title_m {
  font-size: 2.8rem;
  margin-bottom: 2rem;
  background: #01409a;
  color: #fff;
  padding: 1rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .title_m {
    font-size: 2.2rem;
  }
}
@media only screen and (max-width: 640px) {
  .title_m {
    display: block;
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}

.title_s {
  font-size: 1.8rem;
  background: #f6ff00;
  color: #01409a;
  padding: 1rem;
  margin-bottom: 1rem;
}

.title_ss {
  font-size: 1.6rem;
  background: #eee;
  color: #01409a;
  padding: 1rem;
}

.title_normal {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 5rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .title_normal {
    font-size: 2.4rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 640px) {
  .title_normal {
    font-size: 2rem;
    margin-bottom: 3rem;
    line-height: 1.5;
  }
}

.txt_ll {
  font-size: 2.4rem;
}

.txt_l {
  font-size: 2rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .txt_l {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 640px) {
  .txt_l {
    font-size: 1.7rem;
  }
}

.txt_m {
  font-size: 1.6rem;
}

.txt_s {
  font-size: 1.28rem;
}

.txt_ss {
  font-size: 0.96rem;
}

.img_center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

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

.f_l {
  float: left;
}
@media only screen and (max-width: 640px) {
  .f_l {
    float: none;
  }
}

.f_r {
  float: right;
}
@media only screen and (max-width: 640px) {
  .f_r {
    float: none;
  }
}

.fw_n {
  font-weight: normal !important;
}

.fw_b {
  font-weight: bold !important;
}

.ta_l {
  text-align: left !important;
}

.ta_r {
  text-align: right !important;
}

.ta_c,
.align_center {
  text-align: center;
}

.caution {
  color: #dd0000;
  font-weight: bold;
}

/* 余白 */
.mb_0 {
  margin-bottom: 0 !important;
}

@media only screen and (min-width: 897px) {
  .mb_l {
    margin-bottom: 80px !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .mb_l {
    margin-bottom: 70px !important;
  }
}
@media only screen and (max-width: 640px) {
  .mb_l {
    margin-bottom: 40px !important;
  }
}

@media only screen and (min-width: 897px) {
  .mb_m {
    margin-bottom: 40px !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .mb_m {
    margin-bottom: 40px !important;
  }
}
@media only screen and (max-width: 640px) {
  .mb_m {
    margin-bottom: 20px !important;
  }
}

@media only screen and (min-width: 897px) {
  .mb_s {
    margin-bottom: 20px !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .mb_s {
    margin-bottom: 20px !important;
  }
}
@media only screen and (max-width: 640px) {
  .mb_s {
    margin-bottom: 10px !important;
  }
}

@media only screen and (min-width: 897px) {
  .pt_l {
    padding-top: 80px !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .pt_l {
    padding-top: 70px !important;
  }
}
@media only screen and (max-width: 640px) {
  .pt_l {
    padding-top: 40px !important;
  }
}

@media only screen and (min-width: 897px) {
  .pt_m {
    padding-top: 40px !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .pt_m {
    padding-top: 40px !important;
  }
}
@media only screen and (max-width: 640px) {
  .pt_m {
    padding-top: 20px !important;
  }
}

@media only screen and (min-width: 897px) {
  .pt_s {
    padding-top: 20px !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .pt_s {
    padding-top: 20px !important;
  }
}
@media only screen and (max-width: 640px) {
  .pt_s {
    padding-top: 10px !important;
  }
}

@media only screen and (min-width: 897px) {
  .pb_l {
    padding-bottom: 80px !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .pb_l {
    padding-bottom: 70px !important;
  }
}
@media only screen and (max-width: 640px) {
  .pb_l {
    padding-bottom: 40px !important;
  }
}

@media only screen and (min-width: 897px) {
  .pb_m {
    padding-bottom: 40px !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .pb_m {
    padding-bottom: 40px !important;
  }
}
@media only screen and (max-width: 640px) {
  .pb_m {
    padding-bottom: 20px !important;
  }
}

@media only screen and (min-width: 897px) {
  .pb_s {
    padding-bottom: 20px !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .pb_s {
    padding-bottom: 20px !important;
  }
}
@media only screen and (max-width: 640px) {
  .pb_s {
    padding-bottom: 10px !important;
  }
}

.mt_0 {
  margin-top: 0rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_0 {
    margin-top: 0 !important;
  }
}

.mt_5 {
  margin-top: 0.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_5 {
    margin-top: 0 !important;
  }
}

.mt_10 {
  margin-top: 1rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_10 {
    margin-top: 0 !important;
  }
}

.mt_15 {
  margin-top: 1.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_15 {
    margin-top: 0 !important;
  }
}

.mt_20 {
  margin-top: 2rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_20 {
    margin-top: 0 !important;
  }
}

.mt_25 {
  margin-top: 2.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_25 {
    margin-top: 0 !important;
  }
}

.mt_30 {
  margin-top: 3rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_30 {
    margin-top: 0 !important;
  }
}

.mt_35 {
  margin-top: 3.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_35 {
    margin-top: 0 !important;
  }
}

.mt_40 {
  margin-top: 4rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_40 {
    margin-top: 0 !important;
  }
}

.mt_45 {
  margin-top: 4.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_45 {
    margin-top: 0 !important;
  }
}

.mt_50 {
  margin-top: 5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_50 {
    margin-top: 0 !important;
  }
}

.mt_55 {
  margin-top: 5.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_55 {
    margin-top: 0 !important;
  }
}

.mt_60 {
  margin-top: 6rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_60 {
    margin-top: 0 !important;
  }
}

.mt_65 {
  margin-top: 6.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_65 {
    margin-top: 0 !important;
  }
}

.mt_70 {
  margin-top: 7rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_70 {
    margin-top: 0 !important;
  }
}

.mt_75 {
  margin-top: 7.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_75 {
    margin-top: 0 !important;
  }
}

.mt_80 {
  margin-top: 8rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_80 {
    margin-top: 0 !important;
  }
}

.mt_85 {
  margin-top: 8.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_85 {
    margin-top: 0 !important;
  }
}

.mt_90 {
  margin-top: 9rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_90 {
    margin-top: 0 !important;
  }
}

.mt_95 {
  margin-top: 9.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_95 {
    margin-top: 0 !important;
  }
}

.mt_100 {
  margin-top: 10rem !important;
}
@media only screen and (max-width: 896px) {
  .mt_100 {
    margin-top: 0 !important;
  }
}

.mb_0 {
  margin-bottom: 0rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_0 {
    margin-bottom: 0 !important;
  }
}

.mb_5 {
  margin-bottom: 0.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_5 {
    margin-bottom: 0 !important;
  }
}

.mb_10 {
  margin-bottom: 1rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_10 {
    margin-bottom: 0 !important;
  }
}

.mb_15 {
  margin-bottom: 1.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_15 {
    margin-bottom: 0 !important;
  }
}

.mb_20 {
  margin-bottom: 2rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_20 {
    margin-bottom: 0 !important;
  }
}

.mb_25 {
  margin-bottom: 2.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_25 {
    margin-bottom: 0 !important;
  }
}

.mb_30 {
  margin-bottom: 3rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_30 {
    margin-bottom: 0 !important;
  }
}

.mb_35 {
  margin-bottom: 3.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_35 {
    margin-bottom: 0 !important;
  }
}

.mb_40 {
  margin-bottom: 4rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_40 {
    margin-bottom: 0 !important;
  }
}

.mb_45 {
  margin-bottom: 4.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_45 {
    margin-bottom: 0 !important;
  }
}

.mb_50 {
  margin-bottom: 5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_50 {
    margin-bottom: 0 !important;
  }
}

.mb_55 {
  margin-bottom: 5.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_55 {
    margin-bottom: 0 !important;
  }
}

.mb_60 {
  margin-bottom: 6rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_60 {
    margin-bottom: 0 !important;
  }
}

.mb_65 {
  margin-bottom: 6.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_65 {
    margin-bottom: 0 !important;
  }
}

.mb_70 {
  margin-bottom: 7rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_70 {
    margin-bottom: 0 !important;
  }
}

.mb_75 {
  margin-bottom: 7.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_75 {
    margin-bottom: 0 !important;
  }
}

.mb_80 {
  margin-bottom: 8rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_80 {
    margin-bottom: 0 !important;
  }
}

.mb_85 {
  margin-bottom: 8.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_85 {
    margin-bottom: 0 !important;
  }
}

.mb_90 {
  margin-bottom: 9rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_90 {
    margin-bottom: 0 !important;
  }
}

.mb_95 {
  margin-bottom: 9.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_95 {
    margin-bottom: 0 !important;
  }
}

.mb_100 {
  margin-bottom: 10rem !important;
}
@media only screen and (max-width: 896px) {
  .mb_100 {
    margin-bottom: 0 !important;
  }
}

.mr_0 {
  margin-right: 0rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_0 {
    margin-right: 0 !important;
  }
}

.mr_5 {
  margin-right: 0.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_5 {
    margin-right: 0 !important;
  }
}

.mr_10 {
  margin-right: 1rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_10 {
    margin-right: 0 !important;
  }
}

.mr_15 {
  margin-right: 1.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_15 {
    margin-right: 0 !important;
  }
}

.mr_20 {
  margin-right: 2rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_20 {
    margin-right: 0 !important;
  }
}

.mr_25 {
  margin-right: 2.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_25 {
    margin-right: 0 !important;
  }
}

.mr_30 {
  margin-right: 3rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_30 {
    margin-right: 0 !important;
  }
}

.mr_35 {
  margin-right: 3.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_35 {
    margin-right: 0 !important;
  }
}

.mr_40 {
  margin-right: 4rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_40 {
    margin-right: 0 !important;
  }
}

.mr_45 {
  margin-right: 4.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_45 {
    margin-right: 0 !important;
  }
}

.mr_50 {
  margin-right: 5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_50 {
    margin-right: 0 !important;
  }
}

.mr_55 {
  margin-right: 5.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_55 {
    margin-right: 0 !important;
  }
}

.mr_60 {
  margin-right: 6rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_60 {
    margin-right: 0 !important;
  }
}

.mr_65 {
  margin-right: 6.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_65 {
    margin-right: 0 !important;
  }
}

.mr_70 {
  margin-right: 7rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_70 {
    margin-right: 0 !important;
  }
}

.mr_75 {
  margin-right: 7.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_75 {
    margin-right: 0 !important;
  }
}

.mr_80 {
  margin-right: 8rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_80 {
    margin-right: 0 !important;
  }
}

.mr_85 {
  margin-right: 8.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_85 {
    margin-right: 0 !important;
  }
}

.mr_90 {
  margin-right: 9rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_90 {
    margin-right: 0 !important;
  }
}

.mr_95 {
  margin-right: 9.5rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_95 {
    margin-right: 0 !important;
  }
}

.mr_100 {
  margin-right: 10rem !important;
}
@media only screen and (max-width: 896px) {
  .mr_100 {
    margin-right: 0 !important;
  }
}

.ml_0 {
  margin-left: 0rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_0 {
    margin-left: 0 !important;
  }
}

.ml_5 {
  margin-left: 0.5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_5 {
    margin-left: 0 !important;
  }
}

.ml_10 {
  margin-left: 1rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_10 {
    margin-left: 0 !important;
  }
}

.ml_15 {
  margin-left: 1.5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_15 {
    margin-left: 0 !important;
  }
}

.ml_20 {
  margin-left: 2rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_20 {
    margin-left: 0 !important;
  }
}

.ml_25 {
  margin-left: 2.5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_25 {
    margin-left: 0 !important;
  }
}

.ml_30 {
  margin-left: 3rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_30 {
    margin-left: 0 !important;
  }
}

.ml_35 {
  margin-left: 3.5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_35 {
    margin-left: 0 !important;
  }
}

.ml_40 {
  margin-left: 4rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_40 {
    margin-left: 0 !important;
  }
}

.ml_45 {
  margin-left: 4.5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_45 {
    margin-left: 0 !important;
  }
}

.ml_50 {
  margin-left: 5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_50 {
    margin-left: 0 !important;
  }
}

.ml_55 {
  margin-left: 5.5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_55 {
    margin-left: 0 !important;
  }
}

.ml_60 {
  margin-left: 6rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_60 {
    margin-left: 0 !important;
  }
}

.ml_65 {
  margin-left: 6.5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_65 {
    margin-left: 0 !important;
  }
}

.ml_70 {
  margin-left: 7rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_70 {
    margin-left: 0 !important;
  }
}

.ml_75 {
  margin-left: 7.5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_75 {
    margin-left: 0 !important;
  }
}

.ml_80 {
  margin-left: 8rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_80 {
    margin-left: 0 !important;
  }
}

.ml_85 {
  margin-left: 8.5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_85 {
    margin-left: 0 !important;
  }
}

.ml_90 {
  margin-left: 9rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_90 {
    margin-left: 0 !important;
  }
}

.ml_95 {
  margin-left: 9.5rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_95 {
    margin-left: 0 !important;
  }
}

.ml_100 {
  margin-left: 10rem !important;
}
@media only screen and (max-width: 896px) {
  .ml_100 {
    margin-left: 0 !important;
  }
}

.pt_0 {
  padding-top: 0rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_0 {
    padding-top: 0 !important;
  }
}

.pt_5 {
  padding-top: 0.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_5 {
    padding-top: 0 !important;
  }
}

.pt_10 {
  padding-top: 1rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_10 {
    padding-top: 0 !important;
  }
}

.pt_15 {
  padding-top: 1.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_15 {
    padding-top: 0 !important;
  }
}

.pt_20 {
  padding-top: 2rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_20 {
    padding-top: 0 !important;
  }
}

.pt_25 {
  padding-top: 2.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_25 {
    padding-top: 0 !important;
  }
}

.pt_30 {
  padding-top: 3rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_30 {
    padding-top: 0 !important;
  }
}

.pt_35 {
  padding-top: 3.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_35 {
    padding-top: 0 !important;
  }
}

.pt_40 {
  padding-top: 4rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_40 {
    padding-top: 0 !important;
  }
}

.pt_45 {
  padding-top: 4.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_45 {
    padding-top: 0 !important;
  }
}

.pt_50 {
  padding-top: 5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_50 {
    padding-top: 0 !important;
  }
}

.pt_55 {
  padding-top: 5.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_55 {
    padding-top: 0 !important;
  }
}

.pt_60 {
  padding-top: 6rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_60 {
    padding-top: 0 !important;
  }
}

.pt_65 {
  padding-top: 6.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_65 {
    padding-top: 0 !important;
  }
}

.pt_70 {
  padding-top: 7rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_70 {
    padding-top: 0 !important;
  }
}

.pt_75 {
  padding-top: 7.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_75 {
    padding-top: 0 !important;
  }
}

.pt_80 {
  padding-top: 8rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_80 {
    padding-top: 0 !important;
  }
}

.pt_85 {
  padding-top: 8.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_85 {
    padding-top: 0 !important;
  }
}

.pt_90 {
  padding-top: 9rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_90 {
    padding-top: 0 !important;
  }
}

.pt_95 {
  padding-top: 9.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_95 {
    padding-top: 0 !important;
  }
}

.pt_100 {
  padding-top: 10rem !important;
}
@media only screen and (max-width: 896px) {
  .pt_100 {
    padding-top: 0 !important;
  }
}

.pb_0 {
  padding-bottom: 0rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_0 {
    padding-bottom: 0 !important;
  }
}

.pb_5 {
  padding-bottom: 0.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_5 {
    padding-bottom: 0 !important;
  }
}

.pb_10 {
  padding-bottom: 1rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_10 {
    padding-bottom: 0 !important;
  }
}

.pb_15 {
  padding-bottom: 1.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_15 {
    padding-bottom: 0 !important;
  }
}

.pb_20 {
  padding-bottom: 2rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_20 {
    padding-bottom: 0 !important;
  }
}

.pb_25 {
  padding-bottom: 2.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_25 {
    padding-bottom: 0 !important;
  }
}

.pb_30 {
  padding-bottom: 3rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_30 {
    padding-bottom: 0 !important;
  }
}

.pb_35 {
  padding-bottom: 3.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_35 {
    padding-bottom: 0 !important;
  }
}

.pb_40 {
  padding-bottom: 4rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_40 {
    padding-bottom: 0 !important;
  }
}

.pb_45 {
  padding-bottom: 4.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_45 {
    padding-bottom: 0 !important;
  }
}

.pb_50 {
  padding-bottom: 5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_50 {
    padding-bottom: 0 !important;
  }
}

.pb_55 {
  padding-bottom: 5.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_55 {
    padding-bottom: 0 !important;
  }
}

.pb_60 {
  padding-bottom: 6rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_60 {
    padding-bottom: 0 !important;
  }
}

.pb_65 {
  padding-bottom: 6.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_65 {
    padding-bottom: 0 !important;
  }
}

.pb_70 {
  padding-bottom: 7rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_70 {
    padding-bottom: 0 !important;
  }
}

.pb_75 {
  padding-bottom: 7.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_75 {
    padding-bottom: 0 !important;
  }
}

.pb_80 {
  padding-bottom: 8rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_80 {
    padding-bottom: 0 !important;
  }
}

.pb_85 {
  padding-bottom: 8.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_85 {
    padding-bottom: 0 !important;
  }
}

.pb_90 {
  padding-bottom: 9rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_90 {
    padding-bottom: 0 !important;
  }
}

.pb_95 {
  padding-bottom: 9.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_95 {
    padding-bottom: 0 !important;
  }
}

.pb_100 {
  padding-bottom: 10rem !important;
}
@media only screen and (max-width: 896px) {
  .pb_100 {
    padding-bottom: 0 !important;
  }
}

.pr_0 {
  padding-right: 0rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_0 {
    padding-right: 0 !important;
  }
}

.pr_5 {
  padding-right: 0.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_5 {
    padding-right: 0 !important;
  }
}

.pr_10 {
  padding-right: 1rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_10 {
    padding-right: 0 !important;
  }
}

.pr_15 {
  padding-right: 1.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_15 {
    padding-right: 0 !important;
  }
}

.pr_20 {
  padding-right: 2rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_20 {
    padding-right: 0 !important;
  }
}

.pr_25 {
  padding-right: 2.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_25 {
    padding-right: 0 !important;
  }
}

.pr_30 {
  padding-right: 3rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_30 {
    padding-right: 0 !important;
  }
}

.pr_35 {
  padding-right: 3.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_35 {
    padding-right: 0 !important;
  }
}

.pr_40 {
  padding-right: 4rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_40 {
    padding-right: 0 !important;
  }
}

.pr_45 {
  padding-right: 4.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_45 {
    padding-right: 0 !important;
  }
}

.pr_50 {
  padding-right: 5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_50 {
    padding-right: 0 !important;
  }
}

.pr_55 {
  padding-right: 5.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_55 {
    padding-right: 0 !important;
  }
}

.pr_60 {
  padding-right: 6rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_60 {
    padding-right: 0 !important;
  }
}

.pr_65 {
  padding-right: 6.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_65 {
    padding-right: 0 !important;
  }
}

.pr_70 {
  padding-right: 7rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_70 {
    padding-right: 0 !important;
  }
}

.pr_75 {
  padding-right: 7.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_75 {
    padding-right: 0 !important;
  }
}

.pr_80 {
  padding-right: 8rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_80 {
    padding-right: 0 !important;
  }
}

.pr_85 {
  padding-right: 8.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_85 {
    padding-right: 0 !important;
  }
}

.pr_90 {
  padding-right: 9rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_90 {
    padding-right: 0 !important;
  }
}

.pr_95 {
  padding-right: 9.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_95 {
    padding-right: 0 !important;
  }
}

.pr_100 {
  padding-right: 10rem !important;
}
@media only screen and (max-width: 896px) {
  .pr_100 {
    padding-right: 0 !important;
  }
}

.pl_0 {
  padding-left: 0rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_0 {
    padding-left: 0 !important;
  }
}

.pl_5 {
  padding-left: 0.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_5 {
    padding-left: 0 !important;
  }
}

.pl_10 {
  padding-left: 1rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_10 {
    padding-left: 0 !important;
  }
}

.pl_15 {
  padding-left: 1.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_15 {
    padding-left: 0 !important;
  }
}

.pl_20 {
  padding-left: 2rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_20 {
    padding-left: 0 !important;
  }
}

.pl_25 {
  padding-left: 2.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_25 {
    padding-left: 0 !important;
  }
}

.pl_30 {
  padding-left: 3rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_30 {
    padding-left: 0 !important;
  }
}

.pl_35 {
  padding-left: 3.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_35 {
    padding-left: 0 !important;
  }
}

.pl_40 {
  padding-left: 4rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_40 {
    padding-left: 0 !important;
  }
}

.pl_45 {
  padding-left: 4.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_45 {
    padding-left: 0 !important;
  }
}

.pl_50 {
  padding-left: 5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_50 {
    padding-left: 0 !important;
  }
}

.pl_55 {
  padding-left: 5.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_55 {
    padding-left: 0 !important;
  }
}

.pl_60 {
  padding-left: 6rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_60 {
    padding-left: 0 !important;
  }
}

.pl_65 {
  padding-left: 6.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_65 {
    padding-left: 0 !important;
  }
}

.pl_70 {
  padding-left: 7rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_70 {
    padding-left: 0 !important;
  }
}

.pl_75 {
  padding-left: 7.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_75 {
    padding-left: 0 !important;
  }
}

.pl_80 {
  padding-left: 8rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_80 {
    padding-left: 0 !important;
  }
}

.pl_85 {
  padding-left: 8.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_85 {
    padding-left: 0 !important;
  }
}

.pl_90 {
  padding-left: 9rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_90 {
    padding-left: 0 !important;
  }
}

.pl_95 {
  padding-left: 9.5rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_95 {
    padding-left: 0 !important;
  }
}

.pl_100 {
  padding-left: 10rem !important;
}
@media only screen and (max-width: 896px) {
  .pl_100 {
    padding-left: 0 !important;
  }
}

@media only screen and (min-width: 897px) {
  .pc_mb_0 {
    margin-bottom: 0rem !important;
  }

  .pc_mb_5 {
    margin-bottom: 0.5rem !important;
  }

  .pc_mb_10 {
    margin-bottom: 1rem !important;
  }

  .pc_mb_15 {
    margin-bottom: 1.5rem !important;
  }

  .pc_mb_20 {
    margin-bottom: 2rem !important;
  }

  .pc_mb_25 {
    margin-bottom: 2.5rem !important;
  }

  .pc_mb_30 {
    margin-bottom: 3rem !important;
  }

  .pc_mb_35 {
    margin-bottom: 3.5rem !important;
  }

  .pc_mb_40 {
    margin-bottom: 4rem !important;
  }

  .pc_mb_45 {
    margin-bottom: 4.5rem !important;
  }

  .pc_mb_50 {
    margin-bottom: 5rem !important;
  }

  .pc_mb_55 {
    margin-bottom: 5.5rem !important;
  }

  .pc_mb_60 {
    margin-bottom: 6rem !important;
  }

  .pc_mb_65 {
    margin-bottom: 6.5rem !important;
  }

  .pc_mb_70 {
    margin-bottom: 7rem !important;
  }

  .pc_mb_75 {
    margin-bottom: 7.5rem !important;
  }

  .pc_mb_80 {
    margin-bottom: 8rem !important;
  }

  .pc_mb_85 {
    margin-bottom: 8.5rem !important;
  }

  .pc_mb_90 {
    margin-bottom: 9rem !important;
  }

  .pc_mb_95 {
    margin-bottom: 9.5rem !important;
  }

  .pc_mb_100 {
    margin-bottom: 10rem !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .tb_mb_0 {
    margin-bottom: 0rem !important;
  }

  .tb_mb_5 {
    margin-bottom: 0.5rem !important;
  }

  .tb_mb_10 {
    margin-bottom: 1rem !important;
  }

  .tb_mb_15 {
    margin-bottom: 1.5rem !important;
  }

  .tb_mb_20 {
    margin-bottom: 2rem !important;
  }

  .tb_mb_25 {
    margin-bottom: 2.5rem !important;
  }

  .tb_mb_30 {
    margin-bottom: 3rem !important;
  }

  .tb_mb_35 {
    margin-bottom: 3.5rem !important;
  }

  .tb_mb_40 {
    margin-bottom: 4rem !important;
  }

  .tb_mb_45 {
    margin-bottom: 4.5rem !important;
  }

  .tb_mb_50 {
    margin-bottom: 5rem !important;
  }

  .tb_mb_55 {
    margin-bottom: 5.5rem !important;
  }

  .tb_mb_60 {
    margin-bottom: 6rem !important;
  }

  .tb_mb_65 {
    margin-bottom: 6.5rem !important;
  }

  .tb_mb_70 {
    margin-bottom: 7rem !important;
  }

  .tb_mb_75 {
    margin-bottom: 7.5rem !important;
  }

  .tb_mb_80 {
    margin-bottom: 8rem !important;
  }

  .tb_mb_85 {
    margin-bottom: 8.5rem !important;
  }

  .tb_mb_90 {
    margin-bottom: 9rem !important;
  }

  .tb_mb_95 {
    margin-bottom: 9.5rem !important;
  }

  .tb_mb_100 {
    margin-bottom: 10rem !important;
  }
}
@media only screen and (max-width: 640px) {
  .sp_mb_0 {
    margin-bottom: 0rem !important;
  }

  .sp_mb_5 {
    margin-bottom: 0.5rem !important;
  }

  .sp_mb_10 {
    margin-bottom: 1rem !important;
  }

  .sp_mb_15 {
    margin-bottom: 1.5rem !important;
  }

  .sp_mb_20 {
    margin-bottom: 2rem !important;
  }

  .sp_mb_25 {
    margin-bottom: 2.5rem !important;
  }

  .sp_mb_30 {
    margin-bottom: 3rem !important;
  }

  .sp_mb_35 {
    margin-bottom: 3.5rem !important;
  }

  .sp_mb_40 {
    margin-bottom: 4rem !important;
  }

  .sp_mb_45 {
    margin-bottom: 4.5rem !important;
  }

  .sp_mb_50 {
    margin-bottom: 5rem !important;
  }

  .sp_mb_55 {
    margin-bottom: 5.5rem !important;
  }

  .sp_mb_60 {
    margin-bottom: 6rem !important;
  }

  .sp_mb_65 {
    margin-bottom: 6.5rem !important;
  }

  .sp_mb_70 {
    margin-bottom: 7rem !important;
  }

  .sp_mb_75 {
    margin-bottom: 7.5rem !important;
  }

  .sp_mb_80 {
    margin-bottom: 8rem !important;
  }

  .sp_mb_85 {
    margin-bottom: 8.5rem !important;
  }

  .sp_mb_90 {
    margin-bottom: 9rem !important;
  }

  .sp_mb_95 {
    margin-bottom: 9.5rem !important;
  }

  .sp_mb_100 {
    margin-bottom: 10rem !important;
  }
}
@media only screen and (min-width: 897px) {
  .pc_mt_0 {
    margin-top: 0rem !important;
  }

  .pc_mt_5 {
    margin-top: 0.5rem !important;
  }

  .pc_mt_10 {
    margin-top: 1rem !important;
  }

  .pc_mt_15 {
    margin-top: 1.5rem !important;
  }

  .pc_mt_20 {
    margin-top: 2rem !important;
  }

  .pc_mt_25 {
    margin-top: 2.5rem !important;
  }

  .pc_mt_30 {
    margin-top: 3rem !important;
  }

  .pc_mt_35 {
    margin-top: 3.5rem !important;
  }

  .pc_mt_40 {
    margin-top: 4rem !important;
  }

  .pc_mt_45 {
    margin-top: 4.5rem !important;
  }

  .pc_mt_50 {
    margin-top: 5rem !important;
  }

  .pc_mt_55 {
    margin-top: 5.5rem !important;
  }

  .pc_mt_60 {
    margin-top: 6rem !important;
  }

  .pc_mt_65 {
    margin-top: 6.5rem !important;
  }

  .pc_mt_70 {
    margin-top: 7rem !important;
  }

  .pc_mt_75 {
    margin-top: 7.5rem !important;
  }

  .pc_mt_80 {
    margin-top: 8rem !important;
  }

  .pc_mt_85 {
    margin-top: 8.5rem !important;
  }

  .pc_mt_90 {
    margin-top: 9rem !important;
  }

  .pc_mt_95 {
    margin-top: 9.5rem !important;
  }

  .pc_mt_100 {
    margin-top: 10rem !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .tb_mt_0 {
    margin-top: 0rem !important;
  }

  .tb_mt_5 {
    margin-top: 0.5rem !important;
  }

  .tb_mt_10 {
    margin-top: 1rem !important;
  }

  .tb_mt_15 {
    margin-top: 1.5rem !important;
  }

  .tb_mt_20 {
    margin-top: 2rem !important;
  }

  .tb_mt_25 {
    margin-top: 2.5rem !important;
  }

  .tb_mt_30 {
    margin-top: 3rem !important;
  }

  .tb_mt_35 {
    margin-top: 3.5rem !important;
  }

  .tb_mt_40 {
    margin-top: 4rem !important;
  }

  .tb_mt_45 {
    margin-top: 4.5rem !important;
  }

  .tb_mt_50 {
    margin-top: 5rem !important;
  }

  .tb_mt_55 {
    margin-top: 5.5rem !important;
  }

  .tb_mt_60 {
    margin-top: 6rem !important;
  }

  .tb_mt_65 {
    margin-top: 6.5rem !important;
  }

  .tb_mt_70 {
    margin-top: 7rem !important;
  }

  .tb_mt_75 {
    margin-top: 7.5rem !important;
  }

  .tb_mt_80 {
    margin-top: 8rem !important;
  }

  .tb_mt_85 {
    margin-top: 8.5rem !important;
  }

  .tb_mt_90 {
    margin-top: 9rem !important;
  }

  .tb_mt_95 {
    margin-top: 9.5rem !important;
  }

  .tb_mt_100 {
    margin-top: 10rem !important;
  }
}
@media only screen and (max-width: 640px) {
  .sp_mt_0 {
    margin-top: 0rem !important;
  }

  .sp_mt_5 {
    margin-top: 0.5rem !important;
  }

  .sp_mt_10 {
    margin-top: 1rem !important;
  }

  .sp_mt_15 {
    margin-top: 1.5rem !important;
  }

  .sp_mt_20 {
    margin-top: 2rem !important;
  }

  .sp_mt_25 {
    margin-top: 2.5rem !important;
  }

  .sp_mt_30 {
    margin-top: 3rem !important;
  }

  .sp_mt_35 {
    margin-top: 3.5rem !important;
  }

  .sp_mt_40 {
    margin-top: 4rem !important;
  }

  .sp_mt_45 {
    margin-top: 4.5rem !important;
  }

  .sp_mt_50 {
    margin-top: 5rem !important;
  }

  .sp_mt_55 {
    margin-top: 5.5rem !important;
  }

  .sp_mt_60 {
    margin-top: 6rem !important;
  }

  .sp_mt_65 {
    margin-top: 6.5rem !important;
  }

  .sp_mt_70 {
    margin-top: 7rem !important;
  }

  .sp_mt_75 {
    margin-top: 7.5rem !important;
  }

  .sp_mt_80 {
    margin-top: 8rem !important;
  }

  .sp_mt_85 {
    margin-top: 8.5rem !important;
  }

  .sp_mt_90 {
    margin-top: 9rem !important;
  }

  .sp_mt_95 {
    margin-top: 9.5rem !important;
  }

  .sp_mt_100 {
    margin-top: 10rem !important;
  }
}
/* グリッドシステム */
.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media only screen and (min-width: 897px) {
  .row-10 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  .row-10 > * {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .row-20 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1rem;
    margin-left: -1rem;
  }
  .row-20 > * {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .row-30 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  .row-30 > * {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .row-40 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -2rem;
    margin-left: -2rem;
  }
  .row-40 > * {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .row-50 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -2.5rem;
    margin-left: -2.5rem;
  }
  .row-50 > * {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }

  .row-60 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -3rem;
    margin-left: -3rem;
  }
  .row-60 > * {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .tb-row-10 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  .tb-row-10 > * {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .tb-row-20 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1rem;
    margin-left: -1rem;
  }
  .tb-row-20 > * {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .tb-row-30 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  .tb-row-30 > * {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .tb-row-40 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -2rem;
    margin-left: -2rem;
  }
  .tb-row-40 > * {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .tb-row-50 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -2.5rem;
    margin-left: -2.5rem;
  }
  .tb-row-50 > * {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }

  .tb-row-60 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -3rem;
    margin-left: -3rem;
  }
  .tb-row-60 > * {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}
@media only screen and (max-width: 640px) {
  .sp-row-10 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
  .sp-row-10 > * {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }

  .sp-row-20 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1rem;
    margin-left: -1rem;
  }
  .sp-row-20 > * {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .sp-row-30 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  .sp-row-30 > * {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }

  .sp-row-40 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -2rem;
    margin-left: -2rem;
  }
  .sp-row-40 > * {
    padding-right: 2rem;
    padding-left: 2rem;
  }

  .sp-row-50 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -2.5rem;
    margin-left: -2.5rem;
  }
  .sp-row-50 > * {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }

  .sp-row-60 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -3rem;
    margin-left: -3rem;
  }
  .sp-row-60 > * {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg,
.col-lg-auto,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md,
.col-md-auto,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm,
.col-sm-auto {
  position: relative;
  width: 100%;
}

@media only screen and (min-width: 897px) {
  .col-lg {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-lg-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-lg-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }

  .col-lg-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }

  .col-lg-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .col-lg-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .col-lg-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }

  .col-lg-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }

  .col-lg-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }

  .col-lg-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }

  .col-lg-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-first {
    -ms-flex-order: -1;
    order: -1;
  }

  .order-lg-last {
    -ms-flex-order: 13;
    order: 13;
  }

  .order-lg-0 {
    -ms-flex-order: 0;
    order: 0;
  }

  .order-lg-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-lg-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .order-lg-3 {
    -ms-flex-order: 3;
    order: 3;
  }

  .order-lg-4 {
    -ms-flex-order: 4;
    order: 4;
  }

  .order-lg-5 {
    -ms-flex-order: 5;
    order: 5;
  }

  .order-lg-6 {
    -ms-flex-order: 6;
    order: 6;
  }

  .order-lg-7 {
    -ms-flex-order: 7;
    order: 7;
  }

  .order-lg-8 {
    -ms-flex-order: 8;
    order: 8;
  }

  .order-lg-9 {
    -ms-flex-order: 9;
    order: 9;
  }

  .order-lg-10 {
    -ms-flex-order: 10;
    order: 10;
  }

  .order-lg-11 {
    -ms-flex-order: 11;
    order: 11;
  }

  .order-lg-12 {
    -ms-flex-order: 12;
    order: 12;
  }

  .offset-lg-1 {
    margin-left: 8.333333%;
  }

  .offset-lg-2 {
    margin-left: 16.666667%;
  }

  .offset-lg-3 {
    margin-left: 25%;
  }

  .offset-lg-4 {
    margin-left: 33.333333%;
  }

  .offset-lg-5 {
    margin-left: 41.666667%;
  }

  .offset-lg-6 {
    margin-left: 50%;
  }

  .offset-lg-7 {
    margin-left: 58.333333%;
  }

  .offset-lg-8 {
    margin-left: 66.666667%;
  }

  .offset-lg-9 {
    margin-left: 75%;
  }

  .offset-lg-10 {
    margin-left: 83.333333%;
  }

  .offset-lg-11 {
    margin-left: 91.666667%;
  }

  .flex-lg-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }

  .flex-lg-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }

  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }

  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }

  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }

  .flex-lg-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }

  .flex-lg-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }

  .flex-lg-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }

  .flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }

  .flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }

  .justify-content-lg-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }

  .justify-content-lg-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }

  .justify-content-lg-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }

  .justify-content-lg-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }

  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }

  .align-items-lg-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }

  .align-items-lg-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }

  .align-items-lg-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }

  .align-items-lg-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }

  .align-items-lg-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }

  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }

  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }

  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }

  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }

  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }

  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }

  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }

  .align-self-lg-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }

  .align-self-lg-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }

  .align-self-lg-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }

  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }

  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .col-md {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-md-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-md-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }

  .col-md-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }

  .col-md-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .col-md-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }

  .col-md-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }

  .col-md-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }

  .col-md-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }

  .col-md-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-tb-first {
    -ms-flex-order: -1;
    order: -1;
  }

  .order-tb-last {
    -ms-flex-order: 13;
    order: 13;
  }

  .order-tb-0 {
    -ms-flex-order: 0;
    order: 0;
  }

  .order-tb-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-tb-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .order-tb-3 {
    -ms-flex-order: 3;
    order: 3;
  }

  .order-tb-4 {
    -ms-flex-order: 4;
    order: 4;
  }

  .order-tb-5 {
    -ms-flex-order: 5;
    order: 5;
  }

  .order-tb-6 {
    -ms-flex-order: 6;
    order: 6;
  }

  .order-tb-7 {
    -ms-flex-order: 7;
    order: 7;
  }

  .order-tb-8 {
    -ms-flex-order: 8;
    order: 8;
  }

  .order-tb-9 {
    -ms-flex-order: 9;
    order: 9;
  }

  .order-tb-10 {
    -ms-flex-order: 10;
    order: 10;
  }

  .order-tb-11 {
    -ms-flex-order: 11;
    order: 11;
  }

  .order-tb-12 {
    -ms-flex-order: 12;
    order: 12;
  }

  .offset-tb-0 {
    margin-left: 0;
  }

  .offset-tb-1 {
    margin-left: 8.333333%;
  }

  .offset-tb-2 {
    margin-left: 16.666667%;
  }

  .offset-tb-3 {
    margin-left: 25%;
  }

  .offset-tb-4 {
    margin-left: 33.333333%;
  }

  .offset-tb-5 {
    margin-left: 41.666667%;
  }

  .offset-tb-6 {
    margin-left: 50%;
  }

  .offset-tb-7 {
    margin-left: 58.333333%;
  }

  .offset-tb-8 {
    margin-left: 66.666667%;
  }

  .offset-tb-9 {
    margin-left: 75%;
  }

  .offset-tb-10 {
    margin-left: 83.333333%;
  }

  .offset-tb-11 {
    margin-left: 91.666667%;
  }

  .flex-tb-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }

  .flex-tb-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }

  .flex-tb-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }

  .flex-tb-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }

  .flex-tb-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }

  .flex-tb-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }

  .flex-tb-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }

  .flex-tb-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }

  .flex-tb-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }

  .flex-tb-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }

  .flex-tb-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }

  .flex-tb-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }

  .justify-content-tb-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }

  .justify-content-tb-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }

  .justify-content-tb-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }

  .justify-content-tb-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }

  .justify-content-tb-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }

  .align-items-tb-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }

  .align-items-tb-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }

  .align-items-tb-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }

  .align-items-tb-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }

  .align-items-tb-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }

  .align-content-tb-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }

  .align-content-tb-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }

  .align-content-tb-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }

  .align-content-tb-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }

  .align-content-tb-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }

  .align-content-tb-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }

  .align-self-tb-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }

  .align-self-tb-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }

  .align-self-tb-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }

  .align-self-tb-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }

  .align-self-tb-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }

  .align-self-tb-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}
@media only screen and (max-width: 640px) {
  .col-sm {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-sm-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }

  .col-sm-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }

  .col-sm-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }

  .col-sm-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .col-sm-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .col-sm-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }

  .col-sm-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }

  .col-sm-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }

  .col-sm-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }

  .col-sm-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm-first {
    -ms-flex-order: -1;
    order: -1;
  }

  .order-sm-last {
    -ms-flex-order: 13;
    order: 13;
  }

  .order-sm-0 {
    -ms-flex-order: 0;
    order: 0;
  }

  .order-sm-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-sm-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .order-sm-3 {
    -ms-flex-order: 3;
    order: 3;
  }

  .order-sm-4 {
    -ms-flex-order: 4;
    order: 4;
  }

  .order-sm-5 {
    -ms-flex-order: 5;
    order: 5;
  }

  .order-sm-6 {
    -ms-flex-order: 6;
    order: 6;
  }

  .order-sm-7 {
    -ms-flex-order: 7;
    order: 7;
  }

  .order-sm-8 {
    -ms-flex-order: 8;
    order: 8;
  }

  .order-sm-9 {
    -ms-flex-order: 9;
    order: 9;
  }

  .order-sm-10 {
    -ms-flex-order: 10;
    order: 10;
  }

  .order-sm-11 {
    -ms-flex-order: 11;
    order: 11;
  }

  .order-sm-12 {
    -ms-flex-order: 12;
    order: 12;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.333333%;
  }

  .offset-sm-2 {
    margin-left: 16.666667%;
  }

  .offset-sm-3 {
    margin-left: 25%;
  }

  .offset-sm-4 {
    margin-left: 33.333333%;
  }

  .offset-sm-5 {
    margin-left: 41.666667%;
  }

  .offset-sm-6 {
    margin-left: 50%;
  }

  .offset-sm-7 {
    margin-left: 58.333333%;
  }

  .offset-sm-8 {
    margin-left: 66.666667%;
  }

  .offset-sm-9 {
    margin-left: 75%;
  }

  .offset-sm-10 {
    margin-left: 83.333333%;
  }

  .offset-sm-11 {
    margin-left: 91.666667%;
  }

  .flex-sm-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }

  .flex-sm-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }

  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }

  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }

  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }

  .flex-sm-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }

  .flex-sm-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }

  .flex-sm-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }

  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }

  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }

  .justify-content-sm-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }

  .justify-content-sm-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }

  .justify-content-sm-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }

  .justify-content-sm-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }

  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }

  .align-items-sm-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }

  .align-items-sm-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }

  .align-items-sm-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }

  .align-items-sm-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }

  .align-items-sm-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }

  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }

  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }

  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }

  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }

  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }

  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }

  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }

  .align-self-sm-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }

  .align-self-sm-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }

  .align-self-sm-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }

  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }

  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}
/* 表示エリア */
.pc_only {
  display: block;
}
@media only screen and (max-width: 896px) {
  .pc_only {
    display: none;
  }
}

@media only screen and (min-width: 897px) {
  .tablet_more {
    display: block;
  }
}
@media only screen and (max-width: 896px) {
  .tablet_more {
    display: none;
  }
}

.tablet_under {
  display: none;
}
@media only screen and (max-width: 896px) {
  .tablet_under {
    display: block;
  }
}

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

.ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.gglcalendar {
  position: relative;
  padding-bottom: 100%;
  height: 0;
  overflow: hidden;
}
@media only screen and (max-width: 896px) {
  .gglcalendar {
    padding-bottom: 70%;
  }
}

.gglcalendar iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.delighter {
  transition: all .5s ease-out;
  transform: translateY(2%);
  opacity: 0;
}

.delighter.started {
  transform: none;
  opacity: 1;
}

.top_youtube_contents {
  max-width: 55%;
  margin: 0 auto;
  padding-top: 30.25%;
}
@media only screen and (max-width: 896px) {
  .top_youtube_contents {
    max-width: initial;
    padding-top: 56.25%;
  }
}

/*------------------------------------------------------------------------------
    共通ページコンテンツ
------------------------------------------------------------------------------*/
/*  
  全体
------------------------------------------------------------*/
.content_size {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
}

.two_colmun {
  max-width: 1530px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
}
.two_colmun:after {
  content: "";
  clear: both;
  display: block;
}
@media only screen and (max-width: 896px) {
  .two_colmun {
    display: block;
    padding: 0;
  }
}
.two_colmun #main_col {
  float: left;
  max-width: 1200px;
  width: calc(100% - (300px + 30px));
}
@media only screen and (max-width: 896px) {
  .two_colmun #main_col {
    display: block;
    max-width: 100%;
    width: 100%;
    padding-right: 0;
    float: none;
  }
}
.two_colmun #side_col {
  width: 300px;
  float: right;
  display: block;
}
@media only screen and (max-width: 896px) {
  .two_colmun #side_col {
    width: auto;
    padding-right: 0;
    float: none;
    padding-top: 0;
  }
}

/*  
  ヘッダー
------------------------------------------------------------*/
#site_header {
  height: 185px;
  z-index: 100;
  background: transparent;
}
@media only screen and (min-width: 897px) {
  #site_header {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
  }
}
@media only screen and (max-width: 896px) {
  #site_header {
    height: 70px;
  }
}

/* ロゴ */
#site_header_title {
  position: absolute;
  top: 2.5rem;
  left: 2rem;
  width: 28.4rem;
  z-index: 100;
}
#site_header_title img {
  width: 100%;
}
@media only screen and (max-width: 896px) {
  #site_header_title {
    top: 1.5rem;
    left: 1.5rem;
    width: 18rem;
  }
}

/* ハンバーガーメニュー  */
#main_nav_btn {
  z-index: 9999;
  position: fixed;
  top: 0;
  right: 0;
  line-height: 60px;
  display: none;
  font-size: 3.2rem;
}
#main_nav_btn a {
  color: #01409a;
}
#main_nav_btn a#main_nav_btn_menubars {
  text-decoration: none;
}
#main_nav_btn a#main_nav_btn_menubars span {
  font-size: 1rem;
  display: block;
  line-height: 1;
  margin-top: -1.2rem;
  text-decoration: none;
  margin-left: -.2rem;
}
@media only screen and (max-width: 896px) {
  #main_nav_btn {
    display: block;
    padding-right: 1.6rem;
  }
}
#main_nav_btn #main_nav_btn_close {
  display: none;
  line-height: 1;
}
.main_nav_open #main_nav_btn {
  width: 100%;
  text-align: right;
  background-color: white;
}
.main_nav_open #main_nav_btn #main_nav_btn_close {
  display: inline;
}
.main_nav_open #main_nav_btn #main_nav_btn_menubars {
  display: none;
}

.scroll_prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

/* ヘッダーインフォメーション  */
@media only screen and (min-width: 897px) {
  #site_header_info {
    position: absolute;
    top: 4.5rem;
    right: 2rem;
    z-index: 100;
    align-items: center;
    justify-content: flex-end;
    display: flex;
  }
  #site_header_info > * {
    margin-left: 0.8rem;
  }
}
@media only screen and (max-width: 896px) {
  #site_header_info {
    position: relative;
    display: block;
    top: auto;
    right: auto;
    padding: 0 1.6rem;
  }
  #site_header_info #site_header_info_cont {
    margin: 0 0 1.6rem 0;
  }
  #site_header_info #site_header_info_cont p {
    font-size: 1.3rem;
  }
}

@media only screen and (min-width: 897px) {
  #site_header_info_cont p {
    font-size: 1.28rem;
    margin-bottom: 0;
    text-align: right;
  }
}

@media only screen and (min-width: 897px) {
  #site_header_icon ul {
    margin: 0;
    padding: 0;
    display: flex;
  }
  #site_header_icon li {
    list-style: none;
    margin-left: 1.28rem;
  }
}
@media only screen and (max-width: 896px) {
  #site_header_icon ul {
    margin: 0;
    padding: 0;
    text-align: center;
  }
  #site_header_icon li {
    list-style: none;
    font-size: 3.2rem;
    display: inline;
    margin: 0.8rem;
  }
}

/* メニュー  */
#main_nav_menu {
  z-index: 9998;
}
@media only screen and (min-width: 897px) {
  #main_nav_menu {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 896px) {
  #main_nav_menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    background-color: white;
    display: none;
    padding-top: 60px;
  }
  .main_nav_open #main_nav_menu {
    display: block;
  }
}
@media only screen and (max-width: 896px) {
  #main_nav_menu .pc_only {
    display: none;
  }
}
@media only screen and (max-width: 896px) {
  #main_nav_menu #main_nav_menu_inner {
    position: relative;
    width: 100%;
  }
}
@media only screen and (min-width: 897px) {
  #main_nav_menu #main_nav_menu_inner #site_header_menu {
    padding-top: 12rem;
    margin: 0 0 0 auto;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav {
    z-index: 9997;
    margin: 0 0 0 auto;
    padding: 0;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 55px;
  }
}
@media only screen and (min-width: 897px) and (max-width: 896px) {
  #main_nav_menu #main_nav_menu_inner #site_header_menu {
    min-width: 0;
    text-align: left;
  }
}
@media only screen and (min-width: 897px) {
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li {
    list-style: none;
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: inline-block;
    position: relative;
    text-align: right;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li.menu_not_header {
    display: none;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li img {
    margin-top: 2rem;
    vertical-align: top;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li a {
    position: relative;
    display: block;
    height: 55px;
    line-height: 55px;
    vertical-align: middle;
    text-decoration: none;
    color: #000;
    padding-bottom: 3px;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li a:before, #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li a:after {
    content: '';
    width: 0;
    bottom: 0;
    transition: all 0.3s ease;
    border-bottom: 3px solid #01409a;
    position: absolute;
    display: block;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li a:before {
    left: 50%;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li a:after {
    right: 50%;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li a:hover {
    color: #01409a;
    transition: .3s;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li a:hover:before, #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li a:hover:after {
    width: 50%;
    border-bottom: 3px solid #01409a;
  }
}
@media only screen and (max-width: 896px) {
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li {
    display: block;
    padding: 0 1.6rem;
  }
}
@media only screen and (min-width: 897px) {
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li:hover ul {
    display: inline-block;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul {
    padding: 0;
    margin: 0;
    display: none;
    position: absolute;
    left: 0;
    top: 55px;
    min-width: auto;
    z-index: 100;
    text-align: left;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul li {
    position: relative;
    display: inline;
    white-space: nowrap;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul li a {
    display: block;
    background: #f7f7f7;
    color: black;
    border-color: #dddddd;
    border-style: none;
    font-size: 1.6rem;
    padding: 0 1.6rem;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul li a:hover {
    background: #ebebeb;
    text-decoration: none;
    transition: .3s;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul li a:last-child {
    border-right-style: none;
  }
}
@media only screen and (max-width: 896px) {
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul {
    margin: 0 0 1.6rem 0;
    padding: 0;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul li {
    list-style: none;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul li a:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 896px) {
  #main_nav_menu #main_nav_menu_inner #site_header_menu {
    padding-top: 0;
    width: 100%;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav {
    width: 100%;
    display: block;
    position: static;
    height: auto;
    margin-bottom: 1.6rem;
    padding: 0;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > ul {
    padding-bottom: 1.6rem;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li {
    display: block;
    height: auto;
    padding: 0;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li img {
    margin: 0;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li:last-child a {
    border-bottom: solid 3px #01409a;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li a {
    padding: 1.6rem;
    text-align: left;
    display: block;
    border-style: none;
    border-top: solid 3px #01409a;
    height: auto;
    line-height: 1;
    text-decoration: none;
    font-size: 1.3rem;
    color: #000;
    font-weight: 600;
  }
  #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li li a {
    border: none;
    padding: 0.8rem 3.2rem;
  }
}

/*  
  サイト全体ハンバーガーメニューのみの場合
------------------------------------------------------------*/
header.nav_bars_only #main_nav_btn {
  display: block;
  padding-right: 1.6rem;
  top: 0;
  background-color: transparent;
}
header.nav_bars_only .main_nav_open #main_nav_menu {
  display: block;
}
@media only screen and (min-width: 897px) {
  header.nav_bars_only .main_nav_open #main_nav_menu {
    padding-top: 80px;
  }
}
header.nav_bars_only #main_nav_menu {
  z-index: 9998;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background-color: white;
  display: none;
  padding-top: 60px;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner {
  position: relative;
  width: 100%;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu {
  min-width: 0;
  text-align: left;
  padding-top: 0;
  width: 100%;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li {
  display: block;
  padding: 0 1.6rem;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul {
  margin: 0 0 1.6rem 0;
  padding: 0;
  display: block;
  position: relative;
  top: auto;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul li {
  display: block;
  list-style: none;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul li a {
  background: none;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li ul li a:hover {
  text-decoration: none;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav {
  width: 100%;
  display: block;
  position: static;
  height: auto;
  margin-bottom: 1.6rem;
  padding: 0;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > ul {
  padding-bottom: 1.6rem;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li {
  display: block;
  height: auto;
  padding: 0;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li img {
  margin: 0;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li:last-child a {
  border-bottom: solid 1px #01409a;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li a {
  padding: 1.6rem;
  text-align: left;
  display: block;
  border-style: none;
  border-top: solid 1px #01409a;
  height: auto;
  line-height: 1;
  text-decoration: none;
  font-size: 1.3rem;
}
header.nav_bars_only #main_nav_menu #main_nav_menu_inner #site_header_menu ul.main_nav > li li a {
  border: none;
  padding: 0.8rem 3.2rem;
}
header.nav_bars_only #site_header_info {
  position: relative;
  display: block;
  top: auto;
  right: auto;
  padding: 0 1.6rem;
}
header.nav_bars_only #site_header_info #site_header_info_cont {
  margin: 0 0 1.6rem 0;
}
header.nav_bars_only #site_header_info #site_header_icon ul {
  display: block;
  text-align: center;
}
header.nav_bars_only #site_header_info #site_header_icon ul li {
  display: inline-block;
  font-size: 3.2rem;
}

/*  
  フッター
------------------------------------------------------------*/
footer#site_footer {
  margin-top: 15rem;
  padding-top: 4rem;
  background-color: #eee;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  footer#site_footer {
    margin-top: 10rem;
    padding-bottom: 6.5rem;
  }
}
@media only screen and (max-width: 640px) {
  footer#site_footer {
    margin-top: 8rem;
    padding-bottom: 5.4rem;
  }
}
footer#site_footer #copyright {
  padding: 2rem;
  text-align: center;
  background-color: #006cba;
  color: #fff;
}
@media only screen and (max-width: 896px) {
  footer#site_footer #copyright {
    border-bottom: 1px solid #fff;
  }
}
@media only screen and (min-width: 897px) {
  footer#site_footer .tablet_more {
    width: 1200px;
    margin: 0 auto;
  }
  footer#site_footer .main_nav,
  footer#site_footer .main_nav ul,
  footer#site_footer li {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  footer#site_footer .main_nav {
    padding: 0;
    text-align: center;
    line-height: 2;
    margin: 0 auto 4rem;
  }
  footer#site_footer .main_nav > li {
    display: inline-block;
    font-size: 1.3rem;
    position: relative;
  }
  footer#site_footer .main_nav > li:before {
    content: "｜";
  }
  footer#site_footer .main_nav > li:last-child:after {
    content: "｜";
  }
  footer#site_footer .main_nav > li a {
    padding-bottom: 5px;
    color: #000;
    text-decoration: none;
  }
  footer#site_footer .main_nav > li a:hover {
    color: #01409a;
    border-bottom: 2px solid #01409a;
    transition: .3s;
    text-decoration: none;
  }
}
footer#site_footer .pc_only {
  max-width: 1200px;
  margin: 0 auto 4rem;
  padding: 0 1.5rem;
}
footer#site_footer .footer_free {
  margin: 0 auto 5rem;
  padding: 0 1.5rem;
}
footer#site_footer .footer_free ul.footer_bnr {
  max-width: 960px;
  margin: 0 auto 4rem;
  padding: 0;
  list-style: none;
  text-align: center;
}
footer#site_footer .footer_free ul.footer_bnr li {
  display: inline-block;
  padding: 0 0.5rem;
  margin: 0 0 1rem;
  vertical-align: middle;
}
@media only screen and (max-width: 896px) {
  footer#site_footer .footer_free ul.footer_bnr li {
    display: inline-block;
    width: 50%;
  }
}

#to_top_btn {
  position: fixed;
  z-index: 9996;
  display: inline-block;
  bottom: 1.6rem;
  right: 1.6rem;
  padding: 0.8rem 1.28rem;
  font-size: 1.6rem;
  background-color: #01409a;
  border: 1px solid #fff;
  color: white;
  border-radius: 0px;
}
#to_top_btn:hover {
  opacity: 0.7;
  transition: .3s;
}
@media only screen and (max-width: 896px) {
  #to_top_btn {
    bottom: 0.8rem;
    right: 0.8rem;
    display: none;
  }
}

#cmn_fix {
  position: fixed;
  top: 50%;
  right: 0;
  margin-top: -245px;
  margin-bottom: 0;
  padding: 0;
  z-index: 100;
}
@media only screen and (max-width: 896px) {
  #cmn_fix {
    display: none;
  }
}

#cmn_fix_sp {
  position: fixed;
  bottom: 0;
  list-style: none;
  text-align: center;
  width: 100%;
  padding: 0;
  margin: 0;
}
#cmn_fix_sp li {
  display: inline-block;
  width: 50%;
}
#cmn_fix_sp li a {
  text-decoration: none;
  padding: 2rem .5rem;
}
@media only screen and (max-width: 640px) {
  #cmn_fix_sp li a {
    padding: 1.3rem .3rem;
  }
}
#cmn_fix_sp li:first-child a {
  display: block;
  background: #fff;
  color: #01409a;
  border: 2px solid #01409a;
}
#cmn_fix_sp li:last-child a {
  display: block;
  background: #01409a;
  color: #fff;
  border: 2px solid #01409a;
}
@media only screen and (min-width: 897px) {
  #cmn_fix_sp {
    display: none;
  }
}

#main_nav_sns {
  text-align: center;
}

#main_nav_sns a {
  display: inline-block;
  margin-right: 1.5rem;
  font-size: 3.2rem;
}

#main_nav_sns a:last-child {
  margin-right: 0;
}

#footer_sns {
  text-align: center;
  margin-bottom: 20px;
}

#footer_sns a {
  display: inline-block;
  margin-right: 1.5rem;
  font-size: 3.2rem;
}

#footer_sns a:last-child {
  margin-right: 0;
}

/*  
  パンくず
------------------------------------------------------------*/
#breadcrumb {
  padding: 0.5rem 15px;
  background: #f7f7f7;
  margin-bottom: 2rem;
}
#breadcrumb ol,
#breadcrumb li {
  list-style: none;
  margin: 0;
  padding: 0;
}
#breadcrumb li {
  display: inline;
  font-size: 1.3rem;
}
#breadcrumb li:after {
  content: " > ";
}
#breadcrumb li:last-child:after {
  content: "";
}
#breadcrumb a {
  text-decoration: underline;
}
#breadcrumb a:hover, #breadcrumb a:active {
  text-decoration: none;
}

/*  
  メインイメージ
------------------------------------------------------------*/
.main_img {
  position: relative;
  width: 100%;
}
.main_img img {
  width: 100%;
  height: auto;
  margin: 0 auto 0;
}
.main_img:hover img, .main_img:active img {
  opacity: 1 !important;
  text-decoration: none;
}

.main_img a {
  text-decoration: none;
}
.main_img a:hover, .main_img a:active {
  text-decoration: none;
}

.main_img .main_img_effect_inner {
  position: relative;
  display: none;
}
.main_img .main_img_effect_inner img {
  width: 100%;
  height: 800px;
  object-fit: cover;
}
@media only screen and (max-width: 999px) {
  .main_img .main_img_effect_inner img {
    height: auto;
  }
}
.main_img .slick-initialized .main_img_effect_inner {
  display: block;
}
.main_img .main_img_txt_align_left .img_over_txt {
  text-align: left;
}
.main_img .main_img_txt_align_center .img_over_txt {
  text-align: center;
}
.main_img .main_img_txt_align_right .img_over_txt {
  text-align: right;
}
.main_img .img_over_txt {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
.main_img .img_over_txt_black {
  color: #333;
  text-shadow: 1.5px 1px 1px #fff;
}
.main_img .img_over_txt_white {
  color: #fff;
  text-shadow: 1px 1px 1px #000;
}
.main_img .img_over_txt_l {
  font-size: 3.2rem;
  margin-bottom: 0.3em;
  font-weight: bold;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .main_img .img_over_txt_l {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 640px) {
  .main_img .img_over_txt_l {
    font-size: 2rem;
  }
}
.main_img .img_over_txt_s {
  font-size: 2.4rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .main_img .img_over_txt_s {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 640px) {
  .main_img .img_over_txt_s {
    font-size: 1.6rem;
  }
}

/* スライダー　*/
.slick-dots li {
  margin: 2px;
}

.slick-prev:before,
.slick-next:before {
  color: black;
  font-family: "Font Awesome 5 pro";
  font-size: 40px;
}

.main_img .slick-prev {
  left: 10%;
}
.main_img .slick-next {
  right: 10%;
}
.main_img .slick-prev,
.main_img .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 60px;
  height: 60px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent;
}
@media only screen and (max-width: 640px) {
  .main_img .slick-prev,
  .main_img .slick-next {
    display: none;
  }
}
.main_img .slick-prev:before {
  content: '\f053';
  font-size: 40px;
  padding: 10px 20px;
  background: rgba(255, 255, 255, 0.7);
}
@media only screen and (max-width: 640px) {
  .main_img .slick-prev:before {
    display: none;
  }
}
.main_img .slick-next:before {
  content: '\f054';
  font-size: 40px;
  padding: 10px 20px;
  background: rgba(255, 255, 255, 0.7);
}
@media only screen and (max-width: 640px) {
  .main_img .slick-next:before {
    display: none;
  }
}

/*.slick-prev:before {
    content: "\f053";
}*/
/*.slick-next:before {
    content: "\f054";
}*/
.slick-prev {
  left: 25px;
}

.slick-next {
  right: 25px;
}

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

.slick-dots {
  position: initial;
}

.slick-dots li.slick-active button:before {
  color: black;
}

.slick-dots li button:before {
  color: black;
  font-size: 15px;
}

.slick-dotted.slick-slider {
  margin-bottom: 1.5rem;
}

.slick-slide img {
  margin: auto;
}

/*  
  メインカラム
------------------------------------------------------------*/
#main_col {
  overflow: hidden;
  /* ページャー */
}
#main_col a:hover, #main_col a:active {
  text-decoration: none;
}
#main_col .top_page_list {
  max-width: 1200px;
  margin: 0 auto;
}
#main_col .entry_list_col {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -0.8rem;
  margin-right: -0.8rem;
}
@media only screen and (max-width: 640px) {
  #main_col .entry_list_col {
    align-items: baseline;
    display: block;
  }
}
#main_col .entry_list_col .entry_list_col_item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  margin-bottom: 1.6rem;
  /*width: 33%;
  display: inline-block;
  vertical-align: top;*/
}
.two_colmun #main_col .entry_list_col .entry_list_col_item {
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
  /*width: 49%;
  display: inline-block;
  vertical-align: top;*/
}
@media only screen and (max-width: 640px) {
  .two_colmun #main_col .entry_list_col .entry_list_col_item {
    display: block;
    padding-left: 0rem;
    padding-right: 0rem;
    -ms-flex: 0;
    flex: 1 1 auto;
    max-width: 100%;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #main_col .entry_list_col .entry_list_col_item {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media only screen and (max-width: 640px) {
  #main_col .entry_list_col .entry_list_col_item {
    padding-left: 0rem;
    padding-right: 0rem;
    -ms-flex: 0;
    flex: 1 1 auto;
    max-width: 100%;
  }
}
#main_col .entry_list_col .entry_list_col_item .entry_list_col_item_inner {
  width: 100%;
  padding: 1.6rem;
  background-color: #f7f7f7;
  min-width: 0;
}
#main_col .entry_list_col .entry_list_col_item .entry_list_col_item_inner a.btn {
  margin-bottom: 0.5rem;
}
#main_col .entry_list_col .entry_list_col_item .entry_list_col_img {
  position: relative;
  overflow: hidden;
  margin-bottom: 1rem;
}
#main_col .entry_list_col .entry_list_col_item .entry_list_col_img.noimage_thumb {
  background: #fff;
  text-align: center;
  /*padding: 6rem;*/
}
#main_col .entry_list_col .entry_list_col_item .entry_list_col_img.noimage_thumb img {
  width: 50%;
}
#main_col .entry_list_col .entry_list_col_item .entry_list_col_img img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}
#main_col .entry_list_col .entry_list_col_item .entry_list_col_img a {
  display: block;
  height: 100%;
}
#main_col .entry_list_col .entry_list_col_item .entry_list_col_title {
  margin-bottom: 0.4rem;
  background: none;
  padding: .5rem;
}
#main_col .entry_list_col .entry_list_col_item .entry_list_col_txt {
  margin-bottom: 0.8rem;
}
#main_col .list_page_copytxt {
  margin-bottom: 20px;
}
#main_col .pager {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
}
#main_col .pager .current_page,
#main_col .pager a {
  display: inline-block;
  border-radius: 0px;
  color: white;
  padding: 0.5rem 1rem;
  margin: 0 0.5rem;
}
#main_col .pager a {
  background-color: #01409a;
  text-decoration: none;
}
#main_col .pager a:hover,
#main_col .pager .current_page {
  background-color: #0155cd;
  transition: .3s;
}
#main_col .archive_link {
  text-align: center;
  margin-bottom: 20px;
}
@media only screen and (max-width: 640px) {
  #main_col .archive_link {
    text-align: left;
  }
}
#main_col .category_list {
  background-color: #f7f7f7;
  padding: 1.5rem 1.5rem 0;
  margin-bottom: 20px;
}
#main_col .category_list .title_s {
  display: none;
}
#main_col .category_list .btn {
  border: 1px solid #f6ff00;
  background-color: #f6ff00;
  color: #01409a;
}
#main_col .category_list .btn:hover {
  transition: .3s;
  background: #fff;
}
#main_col .toc {
  width: 100%;
  margin: 0 auto 1.6rem;
  padding: 3.2rem;
  background-color: #f7f7f7;
}
#main_col .toc li {
  margin-bottom: 0.5em;
}
#main_col .toc li a {
  text-decoration: underline;
}
#main_col .toc li a:hover {
  text-decoration: none;
}
#main_col .top_page_list {
  padding-top: 2.4rem;
}

/*  
  サイドカラム
------------------------------------------------------------*/
#side_col {
  padding-top: 20px;
  padding-bottom: 20px;
  display: none;
}
#side_col .side_col_menu,
#side_col .side_col_bnr {
  margin-bottom: 20px;
}
#side_col .side_col_menu .title_l {
  background-color: #01409a;
  color: white;
  font-size: 2rem;
  font-weight: bold;
  line-height: 100%;
  display: block;
  padding: 15px;
  text-align: center;
  border: none;
  margin-bottom: 0;
}
#side_col .side_col_menu .title_l:before {
  background: none;
}
#side_col .side_col_menu ul,
#side_col .side_col_menu li {
  margin: 0;
  list-style: none;
  padding: 0;
}
#side_col .side_col_menu a,
#side_col .side_col_menu span.side_col_menu_no_item {
  text-decoration: none;
  display: block;
  padding: 15px;
  color: black;
  border-bottom: 2px solid #fff;
  background-color: #eee;
}
#side_col .side_col_menu a:hover,
#side_col .side_col_menu a:active {
  background: #f7f7f7;
  transition: .3s;
}
#side_col .side_col_menu li li a,
#side_col .side_col_menu li li span.side_col_menu_no_item {
  text-indent: 0.5em;
}
#side_col .side_col_bnr .title_l {
  margin-bottom: 0.8rem;
}
#side_col .side_col_bnr ul,
#side_col .side_col_bnr li {
  margin: 0;
  list-style: none;
  padding: 0;
}
#side_col .side_col_bnr li {
  width: 100%;
  max-width: 640px;
  margin: 0 auto 1rem;
}
#side_col .side_col_bnr li:last-child {
  margin-bottom: 0;
}
#side_col .side_col_bnr img {
  width: 100%;
}
#side_col .side_col_bnr span {
  display: inline-block;
  padding: 0 1rem 1rem;
}

/*------------------------------------------------------------------------------
    各デフォルトコンテンツ
------------------------------------------------------------------------------*/
/*  
  トップページ
------------------------------------------------------------*/
.page_type_top_page .formatted_entry {
  padding: 3.2rem 0;
}

.page_type_top_page .formatted_entry {
  padding: 1.6rem;
}
.page_type_top_page .formatted_entry .content_size {
  padding-left: 0;
  padding-right: 0;
}
.page_type_top_page .formatted_entry_contaier .formatted_entry:nth-child(even) {
  /*background: $defalt-light-bg-color;*/
}
.page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img {
  float: left;
}
@media only screen and (max-width: 640px) {
  .page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_img {
    float: none;
  }
}
.page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img {
  float: right;
}
@media only screen and (max-width: 640px) {
  .page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_img {
    float: none;
  }
}
.page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt {
  margin-left: 47%;
}
@media only screen and (max-width: 640px) {
  .page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_float_l .formatted_entry_col_txt {
    margin-left: 0;
  }
}
.page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt {
  margin-right: 47%;
}
@media only screen and (max-width: 640px) {
  .page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_float_r .formatted_entry_col_txt {
    margin-right: 0;
  }
}
.page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_col_img {
  width: 45%;
  margin-bottom: 20px;
}
@media only screen and (max-width: 640px) {
  .page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_col_img {
    width: 100%;
    margin-bottom: 0;
  }
}
.page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_col_img img {
  width: 100%;
}
.page_type_top_page .formatted_entry_contaier .formatted_entry .formatted_entry_txt {
  margin-bottom: 0.8rem;
}
.page_type_top_page .formatted_entry_contaier .formatted_entry:after {
  content: "";
  clear: both;
  display: block;
}

.start {
  background: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10000;
}
.start p {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
  z-index: 9999;
  width: 280px;
}

.top_blog01_latest_box .imageAutoHight-top-blog01 {
  position: relative;
}
.top_blog01_latest_box .imageAutoHight-top-blog01 img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}

.top_blog02_latest_box .imageAutoHight-top-blog02 {
  position: relative;
}
.top_blog02_latest_box .imageAutoHight-top-blog02 img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}

.top_blog02_latest_box .formatted_entry_contaier {
  margin-bottom: 2rem;
}

.top_voice_latest_box {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
@media only screen and (max-width: 896px) {
  .top_voice_latest_box {
    display: block;
  }
}
.top_voice_latest_box .top_voice_latest_list {
  position: relative;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}
@media only screen and (max-width: 896px) {
  .top_voice_latest_box .top_voice_latest_list {
    flex: 0;
    max-width: 100%;
  }
}
.top_voice_latest_box .top_voice_latest_list img {
  display: block;
  margin: 0 auto 1rem;
}
.top_voice_latest_box .top_voice_latest_list .noimage_thumb {
  position: relative;
  background: #eee;
}
.top_voice_latest_box .top_voice_latest_list .noimage_thumb a {
  display: block;
}
.top_voice_latest_box .top_voice_latest_list .noimage_thumb .noimage {
  width: 60%;
}
@media only screen and (max-width: 896px) {
  .top_voice_latest_box .top_voice_latest_list .noimage_thumb .noimage {
    width: 50%;
  }
}
.top_voice_latest_box .top_voice_latest_list .imageAutoHight-top-voice {
  position: relative;
  margin-bottom: 1rem;
}
.top_voice_latest_box .top_voice_latest_list .imageAutoHight-top-voice img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}

.top_grid_latest_box ul.top_grid_latest_list {
  padding: 0 2rem;
  list-style: none;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
.top_grid_latest_box ul.top_grid_latest_list li.slick-slide {
  position: relative;
  margin-right: 1.5rem;
  margin-left: 1.5rem;
}
.top_grid_latest_box ul.top_grid_latest_list li.slick-slide img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}
.top_grid_latest_box .slick-prev {
  left: 10px;
}
.top_grid_latest_box .slick-next {
  right: 10px;
}

.modaal-content-container img {
  display: block;
}

.top_gallery_latest_box ul.top_gallery_latest_list {
  padding: 0 2rem;
  list-style: none;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
.top_gallery_latest_box ul.top_gallery_latest_list li.slick-slide {
  position: relative;
  margin-right: 1.5rem;
  margin-left: 1.5rem;
}
.top_gallery_latest_box ul.top_gallery_latest_list li.slick-slide img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}
.top_gallery_latest_box .slick-prev {
  left: 10px;
}
.top_gallery_latest_box .slick-next {
  right: 10px;
}

.top_staff_latest_box ul.top_staff_latest_list {
  padding: 0 2rem;
  list-style: none;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
.top_staff_latest_box ul.top_staff_latest_list li.slick-slide {
  position: relative;
  margin-right: 1.5rem;
  margin-left: 1.5rem;
  background: #eee;
}
.top_staff_latest_box ul.top_staff_latest_list li.slick-slide img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}
.top_staff_latest_box ul.top_staff_latest_list li.slick-slide .noimage {
  width: 60%;
}
.top_staff_latest_box ul.top_staff_latest_list a {
  display: block;
  width: 100%;
  height: 100%;
}
.top_staff_latest_box .slick-prev {
  left: 10px;
}
.top_staff_latest_box .slick-next {
  right: 10px;
}

.top_qa_latest_box {
  list-style: none;
}
.top_qa_latest_box li {
  position: relative;
  font-weight: bold;
  border-bottom: 1px solid #ddd;
}
.top_qa_latest_box li .fa-angle-right {
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -0.8rem;
}
.top_qa_latest_box li:before {
  position: absolute;
  content: "Q";
  font-size: 28px;
  top: 50%;
  margin-top: -0.5em;
  left: 10px;
  line-height: 1;
  font-weight: bold;
}
.top_qa_latest_box a {
  display: block;
  padding: 1.5rem 3rem 1.5rem 4rem;
  width: 100%;
  height: 100%;
}
.top_qa_latest_box a:hover {
  background: #f7f7f7;
  transition: .3s;
}

.top_ba_latest_box .top_ba_latest_list {
  list-style: none;
  padding: 0;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
.top_ba_latest_box .top_ba_latest_list li.slick-slide {
  position: relative;
  margin-right: 1.5rem;
  margin-left: 1.5rem;
  background: #eee;
}
.top_ba_latest_box .top_ba_latest_list li.slick-slide img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}
.top_ba_latest_box .top_ba_latest_list li.slick-slide a {
  display: block;
  width: 100%;
  height: 100%;
}
.top_ba_latest_box .slick-prev {
  left: 10px;
}
.top_ba_latest_box .slick-next {
  right: 10px;
}

.top_movie_latest_box ul.top_movie_latest_list {
  padding: 0 2rem;
  list-style: none;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
.top_movie_latest_box ul.top_movie_latest_list li.slick-slide {
  position: relative;
  margin-right: 1.5rem;
  margin-left: 1.5rem;
}
.top_movie_latest_box ul.top_movie_latest_list li.slick-slide img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}
.top_movie_latest_box ul.top_movie_latest_list a {
  display: block;
  width: 100%;
  height: 100%;
}
.top_movie_latest_box .slick-prev {
  left: 10px;
}
.top_movie_latest_box .slick-next {
  right: 10px;
}

/*  
  アクセス
------------------------------------------------------------*/
.page_type_access_entry_list #main_col .title_l a {
  text-decoration: none;
}

/*  
  お問い合わせ
------------------------------------------------------------*/
.form_must {
  display: inline-block;
  background-color: #dd0000;
  color: #fff;
  border-radius: 0px;
  font-weight: bold;
  padding: 0.3em;
  line-height: 100%;
  font-size: 1.36rem;
}
@media only screen and (max-width: 640px) {
  .form_must {
    margin-bottom: 0.5em;
  }
}

.inquiry_form .responsive_table {
  width: 100%;
  margin-bottom: 1.6rem;
}
.inquiry_form .input_txt_short,
.inquiry_form .input_time {
  width: 4em;
}
.inquiry_form .input_txt_medium,
.inquiry_form .input_email,
.inquiry_form .input_date {
  width: 25em;
}
@media only screen and (max-width: 640px) {
  .inquiry_form .input_txt_medium,
  .inquiry_form .input_email,
  .inquiry_form .input_date {
    width: 100%;
  }
}
.inquiry_form .input_txt_long,
.inquiry_form .input_url {
  width: 100%;
}
.inquiry_form .input_number {
  width: 6em;
}
.inquiry_form textarea {
  width: 100%;
  height: 8em;
}
.inquiry_form .form_radio,
.inquiry_form .form_check {
  display: inline-block;
  margin-right: 1.6rem;
}
.inquiry_form .form_error_bg {
  background-color: #fdd;
}
@media only screen and (max-width: 640px) {
  .inquiry_form .form_error_bg {
    margin-top: 0.8rem;
    padding: 0.8rem;
  }
}
.inquiry_form .form_address_zip {
  margin-bottom: 0.8rem;
}
.inquiry_form #cancel_btn input {
  margin-right: 0.8rem;
}
.inquiry_form #confirmBtn input {
  border: 1px solid #01409a;
  background-color: #01409a;
  color: #fff;
  padding: 1rem 4rem;
}
.inquiry_form #confirmBtn input:hover {
  background-color: #fff;
  color: #01409a;
  transition: .3s;
}

/*  
  定型ページ
------------------------------------------------------------*/
.page_type_formatted_entry_list .formatted_entry_txt a {
  text-decoration: underline;
}

.page_type_formatted_entry_list .two_colmun .formatted_entry,
.page_type_formatted_archive_entry_list .two_colmun .formatted_entry,
.page_type_formatted_detail .two_colmun .formatted_entry {
  padding: 0 0 4rem;
}

.imageAutoHight-top-blog01,
.imageAutoHight-top-blog02 {
  position: relative;
}
.imageAutoHight-top-blog01 img,
.imageAutoHight-top-blog02 img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}

/*  
  ブログ
------------------------------------------------------------*/
.formatted_entry.blog_list {
  padding: 0 !important;
  border-bottom: 1px solid #ddd;
}
.formatted_entry.blog_list .content_size {
  padding: 0;
}
.formatted_entry.blog_list a {
  display: block;
  width: 100%;
  padding: 1.5rem;
  text-decoration: none;
}
.formatted_entry.blog_list a:hover {
  background-color: #f7f7f7;
  transition: .3s;
}
.formatted_entry.blog_list a p.btn:hover {
  background-color: #333333;
  transition: .3s;
}
.formatted_entry.blog_list a .formatted_entry_txt {
  color: #000;
}

.formatted_entry.blog_list {
  border: none;
  margin-bottom: 0.5rem;
}
.formatted_entry.blog_list a {
  padding: 1.5rem 4rem;
  color: #000;
}
@media only screen and (max-width: 640px) {
  .formatted_entry.blog_list a {
    padding: 1.5rem;
  }
}
.formatted_entry.blog_list a:hover {
  background: #01409a;
  color: #fff;
}
.formatted_entry.blog_list .content_size {
  max-width: 960px;
  margin: 0 auto;
  background: #eee;
}
.formatted_entry.blog_list .blog_day,
.formatted_entry.blog_list h2 {
  display: inline-block;
  vertical-align: top;
}
@media only screen and (max-width: 640px) {
  .formatted_entry.blog_list .blog_day,
  .formatted_entry.blog_list h2 {
    display: block;
  }
}
.formatted_entry.blog_list .blog_day {
  width: 10%;
  margin-right: 2%;
}
@media only screen and (max-width: 640px) {
  .formatted_entry.blog_list .blog_day {
    width: 100%;
    margin-right: 0;
  }
}
.formatted_entry.blog_list h2 {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 87%;
}
@media only screen and (max-width: 640px) {
  .formatted_entry.blog_list h2 {
    width: 100%;
  }
}

/*  
  お客様の声
------------------------------------------------------------*/
@media only screen and (min-width: 897px) {
  .page_voice {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
  .page_voice .page_voice_img,
  .page_voice .page_voice_txt {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .page_voice .page_voice_img {
    -ms-flex: 0 0 33.333333%;
    -webkit-box-flex: 0;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .page_voice .page_voice_img p {
    font-size: 1.3rem;
  }
  .page_voice .page_voice_txt {
    -ms-flex: 0 0 66.666667%;
    -webkit-box-flex: 0;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
}
@media only screen and (max-width: 896px) {
  .page_voice_img p {
    font-size: 1.3rem;
  }
}
/*  
  Grid ギャラリー
------------------------------------------------------------*/
#colorbox section .galler_grid_ttl {
  font-size: 2.0rem;
  margin-bottom: 1rem;
}
#colorbox section img {
  display: block;
  margin: 0 auto 1rem;
}

@media only screen and (max-width: 640px) {
  .galcolumn {
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
  }

  .item {
    display: block;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid #eee;
  }

  /* #device a.inline {
       display: none;
   }
   #device div.item div {
       display: block !important;
  }*/
  .galler_grid_ttl {
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }

  img {
    display: block;
    margin: 0 auto 1rem;
  }
}
/*  
  ヘアギャラリー
------------------------------------------------------------*/
.gallery_detail .gallery_detail_info table {
  width: 100%;
}
.gallery_detail .gallery_detail_info th {
  width: 25%;
}
.gallery_detail .gallery_detail_info th,
.gallery_detail .gallery_detail_info td {
  border-bottom: 1px solid #dddddd;
  padding: 1rem;
}
@media only screen and (max-width: 640px) {
  .gallery_detail .gallery_detail_info th {
    width: 100%;
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .gallery_detail .gallery_detail_info td {
    margin-bottom: 2rem;
    border: none;
    padding: 0;
  }
  .gallery_detail .gallery_detail_info th,
  .gallery_detail .gallery_detail_info td {
    display: block;
  }
}
.gallery_detail .gallery_detail_info .facetype {
  width: 52px;
  height: 70px;
  fill: #eee;
}
.gallery_detail .gallery_detail_info .facetype.face_on {
  fill: black;
}
.gallery_detail .gallery_detail_info .type_check svg {
  width: 16px;
  height: 16px;
  vertical-align: middle;
}
.gallery_detail .gallery_detail_info .galleryDetail svg {
  transform: translate(0, 0);
}
.gallery_detail .gallery_detail_info .type_check {
  color: #eee;
  display: inline-block;
  margin-right: 2rem;
  width: 90px;
}
.gallery_detail .gallery_detail_info .type_check.type_checked {
  color: black;
}
.gallery_detail .gallery_detail_info .type_check_mark {
  fill: rgba(0, 0, 0, 0);
}
.gallery_detail .gallery_detail_info .type_checked .type_check_mark {
  fill: #dd0000;
}

/*  
  スタッフ
------------------------------------------------------------*/
ul.staff_list {
  list-style: none;
  padding: 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
ul.staff_list li {
  position: relative;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 896px) {
  ul.staff_list li {
    display: block;
    -ms-flex: 50%;
    flex: 50%;
    max-width: 50%;
  }
}
ul.staff_list li .noimage {
  width: 60%;
}

.imageAutoHight-staff {
  position: relative;
  background: #eee;
  margin: 0 0 1rem;
}
.imageAutoHight-staff img {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
}

.staff_2clm {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -0.8rem;
  margin-right: -0.8rem;
}
@media only screen and (max-width: 640px) {
  .staff_2clm {
    padding-left: 0rem;
    padding-right: 0rem;
    -ms-flex: 0;
    flex: 0;
  }
}
.staff_2clm .staff_2clm_img {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex: 0 0 40%;
  -webkit-box-flex: 0;
  flex: 0 0 40%;
  max-width: 40%;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .staff_2clm .staff_2clm_img {
    display: block;
    -ms-flex: 100%;
    flex: 100%;
    max-width: 100%;
  }
}
.staff_2clm .staff_2clm_info {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex: 0 0 58%;
  -webkit-box-flex: 0;
  flex: 0 0 58%;
  max-width: 58%;
  padding-left: 0.8rem;
  padding-right: 0.8rem;
  margin-bottom: 1.6rem;
  margin-left: 2%;
}
@media only screen and (max-width: 640px) {
  .staff_2clm .staff_2clm_info {
    display: block;
    -ms-flex: 100%;
    flex: 100%;
    max-width: 100%;
    margin-left: 0;
  }
}
.staff_2clm table {
  width: 100%;
}
.staff_2clm th {
  width: 25%;
}
.staff_2clm th,
.staff_2clm td {
  border-bottom: 1px solid #dddddd;
  padding: 1rem;
}
@media only screen and (max-width: 640px) {
  .staff_2clm th {
    width: 100%;
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
    padding-left: 0;
  }
  .staff_2clm td {
    margin-bottom: 2rem;
    border: none;
    padding: 0;
  }
  .staff_2clm th,
  .staff_2clm td {
    display: block;
  }
}

.staff_1clm table {
  width: 100%;
  margin-bottom: 2rem;
}
.staff_1clm th {
  width: 25%;
}
.staff_1clm th,
.staff_1clm td {
  border-bottom: 1px solid #dddddd;
  padding: 1rem;
}
@media only screen and (max-width: 640px) {
  .staff_1clm table {
    margin-bottom: 0;
  }
  .staff_1clm th {
    width: 100%;
    padding-bottom: 0.5rem;
    margin-bottom: 0.5rem;
    padding-left: 0;
  }
  .staff_1clm td {
    margin-bottom: 2rem;
    border: none;
    padding: 0;
  }
  .staff_1clm th,
  .staff_1clm td {
    display: block;
  }
}

/*  
  Q&A
------------------------------------------------------------*/
.accordion .qa_ttl {
  background: #01409a;
  text-align: left;
  padding: 1.2rem 4rem 1.1rem 4rem;
  margin-bottom: 1rem;
  display: block;
  cursor: pointer;
  position: relative;
  color: #fff;
  font-weight: bold;
}

.accordion .qa_ttl:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
  text-decoration: none;
  transition: .3s;
}

.accordion .qa_ttl::before {
  position: absolute;
  content: "Q";
  font-size: 28px;
  top: 50%;
  margin-top: -0.5em;
  left: 10px;
  line-height: 1;
  font-weight: bold;
  color: #f6ff00;
}

.accordion .qa_ttl::after {
  position: absolute;
  content: "";
  right: 20px;
  top: 50%;
  margin-top: -0.4rem;
  width: 6px;
  height: 6px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.accordion .qa_ttl.active::after {
  border-right: none;
  border-bottom: none;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -1px;
}

.accordion .entryBody {
  margin: 0;
  padding: 0 0 1.5rem 4rem;
  background-repeat: no-repeat;
  background-position: 10px top;
  position: relative;
}

.accordion .entryBody::before {
  position: absolute;
  content: "A";
  font-size: 28px;
  top: 3px;
  left: 12px;
  font-weight: bold;
  line-height: 1;
  color: #01409a;
}

.accordion .entryBody {
  display: none;
}

/*  
  ビフォーアフター
------------------------------------------------------------*/
.ba_box {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 896px) {
  .ba_box {
    display: block;
  }
}
.ba_box .ba_img {
  position: relative;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  -ms-flex: 0 0 35%;
  flex: 0 0 35%;
  max-width: 35%;
}
@media only screen and (max-width: 896px) {
  .ba_box .ba_img {
    flex: 0;
    max-width: 100%;
  }
}
.ba_box .ba_img img {
  display: block;
  margin: 0 auto 1rem;
}
.ba_box .ba_info {
  position: relative;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  -ms-flex: 0 0 63%;
  flex: 0 0 63%;
  max-width: 63%;
  margin-left: 2%;
}
@media only screen and (max-width: 896px) {
  .ba_box .ba_info {
    flex: 0;
    max-width: 100%;
    margin-left: 0;
  }
}
.ba_box .ba_info .title_m {
  margin-bottom: 1rem;
}
.ba_box .ba_info .entry_more_link {
  text-align: right;
}
@media only screen and (max-width: 896px) {
  .ba_box .ba_info .entry_more_link {
    text-align: center;
  }
}
.ba_box .ba_info .entry_more_link a {
  padding: 1.3rem 3rem;
}
@media only screen and (max-width: 896px) {
  .ba_box .ba_info .entry_more_link a {
    padding: 1.5rem 5rem;
  }
}

#table_ba01,
#table_ba02 {
  background: #f7f7f7;
  padding: 2rem 1rem 1rem;
  margin-bottom: 2rem;
}

#table_ba01 {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 896px) {
  #table_ba01 {
    display: block;
  }
}
#table_ba01 .ba_img_b,
#table_ba01 .ba_img_a {
  position: relative;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  -ms-flex: 0 0 45%;
  flex: 0 0 45%;
  max-width: 45%;
}
@media only screen and (max-width: 896px) {
  #table_ba01 .ba_img_b,
  #table_ba01 .ba_img_a {
    flex: 0;
    max-width: 100%;
  }
}
#table_ba01 .ba_img_b img,
#table_ba01 .ba_img_a img {
  margin-bottom: 1rem;
}
#table_ba01 .ba_arrow {
  position: relative;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  -ms-flex: 0 0 10%;
  flex: 0 0 10%;
  max-width: 10%;
}
@media only screen and (max-width: 896px) {
  #table_ba01 .ba_arrow {
    flex: 0;
    max-width: 100%;
    padding: 0 1.5rem 5rem;
  }
}
#table_ba01 .ba_arrow:before {
  content: "\f054";
  font-family: "Font Awesome 5 Pro";
  font-size: 20px;
  position: absolute;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  top: 40%;
  left: 50%;
  margin: 0 0 0 -5px;
  color: black;
}
@media only screen and (max-width: 896px) {
  #table_ba01 .ba_arrow:before {
    content: "\f078";
    top: 0;
  }
}

#table_ba02 {
  text-align: center;
}

.ba_thumb {
  max-width: 640px;
  margin: 0 auto;
  background: #f7f7f7;
  padding: 2rem 2rem 1rem;
}

/*  
  ムービーギャラリー
------------------------------------------------------------*/
ul.movie_list {
  list-style: none;
  padding: 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
ul.movie_list li {
  position: relative;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 896px) {
  ul.movie_list li {
    display: block;
    -ms-flex: 50%;
    flex: 50%;
    max-width: 50%;
  }
}

/*------------------------------------------------------------------------------
    各追加コンテンツ サイト作成時ここに追加していく
------------------------------------------------------------------------------*/
/*  
  共通
------------------------------------------------------------*/
.under_catch {
  margin: 0 0 8rem;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .under_catch {
    margin: 0 0 6rem;
  }
}

.color_blue {
  color: #01409a;
  font-weight: 700;
}

.color_yellow {
  color: #f6ff00;
}

.marker {
  background: linear-gradient(transparent 60%, #f6ff00 60%);
}

.marker_y {
  background: linear-gradient(transparent 60%, #f6ff00 60%);
}

.ttl_deco01 {
  font-size: 5rem;
  color: #01409a;
  vertical-align: middle;
  line-height: 1;
  margin-bottom: 2rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .ttl_deco01 {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  .ttl_deco01 {
    font-size: 4rem;
    margin-bottom: 1.5rem;
  }
}
.ttl_deco01 span {
  display: inline-block;
  font-size: 1.6rem;
  vertical-align: middle;
  margin-bottom: 2rem;
}

.table_normal {
  width: 100%;
}
.table_normal th,
.table_normal td {
  padding: 1rem;
  border-bottom: 1px solid #fff;
}
.table_normal th {
  background: #01409a;
  color: #fff;
  width: 20%;
  text-align: center;
}
.table_normal td {
  background: #eee;
}

.list_normal {
  list-style: none;
}
.list_normal li {
  position: relative;
  border-bottom: 1px dotted #858585;
  padding: .5rem 1rem .5rem 3rem;
}
.list_normal li:before {
  content: "\f192";
  font-family: "Font Awesome 5 pro";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 2rem;
  color: #01409a;
}

.list_check {
  list-style: none;
  padding: 0;
}
.list_check li {
  position: relative;
  padding: .6rem 1rem .6rem 4.5rem;
  background: #fff;
  line-height: 1.5;
  margin-bottom: 1rem;
}
.list_check li:before {
  content: "\f14a";
  font-family: "Font Awesome 5 pro";
  position: absolute;
  top: 2px;
  left: 2rem;
  font-size: 2rem;
  font-weight: 700;
  color: #01409a;
}

.box_voice {
  border: 5px solid #01409a;
  padding: 4rem 5rem;
  margin-bottom: 5rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .box_voice {
    padding: 3rem;
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 640px) {
  .box_voice {
    padding: 1.5rem;
    margin-bottom: 2.5rem;
  }
}
.box_voice .ttl_success {
  font-size: 2.4rem;
  font-weight: 600;
  color: #ff0000;
  text-align: center;
  margin-bottom: 3rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .box_voice .ttl_success {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 640px) {
  .box_voice .ttl_success {
    font-size: 1.6rem;
    margin-bottom: 2rem;
  }
}
.box_voice .ttl_success span.name {
  color: #000000;
}
.box_voice .ttl_success span.higher {
  display: inline-block;
  background: #ff0000;
  color: #fff;
  font-size: 3.2rem;
  line-height: 1;
  padding: 10px 30px;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .box_voice .ttl_success span.higher {
    font-size: 2.4rem;
    padding: 8px 20px;
  }
}
@media only screen and (max-width: 640px) {
  .box_voice .ttl_success span.higher {
    font-size: 2rem;
    padding: 8px 20px;
  }
}
.box_voice .title_s {
  margin-bottom: 3rem;
  text-align: center;
  font-size: 2.8rem;
  padding: 0;
  line-height: 1.5;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .box_voice .title_s {
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 640px) {
  .box_voice .title_s {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }
}
.box_voice .title_s_type02 {
  margin-bottom: 3rem;
  text-align: left;
  font-size: 2.8rem;
  padding: 0;
  line-height: 1.5;
  font-weight: 600;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .box_voice .title_s_type02 {
    font-size: 2.4rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 640px) {
  .box_voice .title_s_type02 {
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 1rem;
  }
}
.box_voice .title_s_type02 span {
  display: inline-block;
  background: #f6ff00;
  color: #01409a;
  padding: 1rem;
  line-height: 1;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 640px) {
  .box_voice .title_s_type02 span {
    line-height: 1.2;
  }
}
.box_voice .title_ss {
  font-size: 2rem;
  padding: 0 1rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.btn_typeA {
  text-align: center;
  max-width: 360px;
  margin: 0 auto;
}
.btn_typeA a {
  display: block;
  position: relative;
  border: 3px solid #01409a;
  background: #01409a;
  color: #fff;
  padding: 1.4rem 4.5rem;
  text-decoration: none;
}
.btn_typeA a:before {
  content: "\f061";
  font-family: "Font Awesome 5 pro";
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -12.5px;
  font-size: 1.5rem;
  color: #fff;
  background: #00255a;
  font-weight: normal;
  padding: 0px 6px;
}
.btn_typeA a:hover {
  background: #fff;
  color: #01409a;
  transition: .3s;
}
.btn_typeA a:hover:before {
  background: #01409a;
}

.btn_typeB {
  text-align: center;
  max-width: 360px;
  margin: 0 auto;
}
.btn_typeB a {
  display: block;
  position: relative;
  border: 3px solid #f6ff00;
  background: #f6ff00;
  color: #000;
  padding: 1.4rem 0;
  text-decoration: none;
}
.btn_typeB a:before {
  content: "\f061";
  font-family: "Font Awesome 5 pro";
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -12.5px;
  font-size: 1.5rem;
  color: #000;
  background: #ebdd00;
  font-weight: normal;
  padding: 0px 6px;
}
.btn_typeB a:hover {
  background: #01409a;
  color: #fff;
  border-color: #fff;
  transition: .3s;
}
.btn_typeB a:hover:before {
  background: #f6ff00;
  color: #01409a;
}

.btn_typeC {
  text-align: center;
  max-width: 360px;
  margin: 0;
}
.btn_typeC a {
  display: block;
  position: relative;
  border: 3px solid #01409a;
  background: #ffffff;
  color: #01409a;
  padding: 1.4rem 4.5rem;
  text-decoration: none;
}
.btn_typeC a:before {
  content: "\f061";
  font-family: "Font Awesome 5 pro";
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -12.5px;
  font-size: 1.5rem;
  color: #fff;
  background: #00255a;
  font-weight: normal;
  padding: 0px 6px;
}
.btn_typeC a:hover {
  background: #01409a;
  color: #ffffff;
  transition: .3s;
}
.btn_typeC a:hover:before {
  background: #01409a;
}

.btn_typeD {
  display: block;
  position: relative;
  border: 3px solid #01409a;
  background: #ffffff;
  color: #01409a;
  padding: 1.4rem 4.5rem 1.4rem 2.5rem;
  text-decoration: none;
}
@media only screen and (max-width: 640px) {
  .btn_typeD {
    padding: 1.4rem 2.5rem;
  }
}
.btn_typeD:before {
  content: "\f061";
  font-family: "Font Awesome 5 pro";
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -12.5px;
  font-size: 1.5rem;
  color: #fff;
  background: #00255a;
  font-weight: normal;
  padding: 0px 6px;
}
.btn_typeD:hover {
  background: #01409a;
  color: #ffffff;
  transition: .3s;
}
.btn_typeD:hover:before {
  background: #01409a;
}

.w960 {
  max-width: 960px;
  margin: 0 auto;
}

.bg_pt01 {
  background-color: #d6e9fe;
  background-image: linear-gradient(45deg, #d2e6fe 25%, transparent 25%, transparent 75%, #d2e6fe 75%, #d2e6fe), linear-gradient(-45deg, #d2e6fe 25%, transparent 25%, transparent 75%, #d2e6fe 75%, #d2e6fe);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
}

.bg_pt02 {
  background: #eee;
  border-top: 5px solid #01409a;
  border-bottom: 5px solid #01409a;
  padding: 5rem 12rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .bg_pt02 {
    padding: 5rem 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  .bg_pt02 {
    padding: 6rem 1.5rem;
  }
}

.bg_pt03 {
  border: 5px solid #01409a;
  padding: 5rem;
}
@media only screen and (max-width: 640px) {
  .bg_pt03 {
    padding: 5rem 1.5rem;
  }
}

.deco_pt01 {
  position: relative;
}
.deco_pt01:before, .deco_pt01:after {
  content: "";
  position: absolute;
}
.deco_pt01:before {
  top: 0;
  left: 0;
  border-left: 40px solid #f6ff00;
  border-bottom: 40px solid transparent;
}
.deco_pt01:after {
  bottom: 0;
  right: 0;
  border-left: 40px solid transparent;
  border-bottom: 40px solid #f6ff00;
}

/*  
  トップページ
------------------------------------------------------------*/
.page_type_top_page #main_col .title_l {
  font-size: 5.6rem;
  margin-bottom: 5rem;
  line-height: 1;
  padding-bottom: 1rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .page_type_top_page #main_col .title_l {
    font-size: 3.7rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 640px) {
  .page_type_top_page #main_col .title_l {
    font-size: 2.8rem;
    line-height: 1.4;
  }
}
.page_type_top_page #main_col .content_b {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  .page_type_top_page #main_col .content_b {
    margin-bottom: 6rem;
  }
}
.page_type_top_page #main_col .title_l_type02 {
  font-size: 5rem;
  margin-bottom: 5rem;
  line-height: 1.6;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .page_type_top_page #main_col .title_l_type02 {
    font-size: 3.7rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 640px) {
  .page_type_top_page #main_col .title_l_type02 {
    font-size: 2.4rem;
    line-height: 1.4;
  }
}
.page_type_top_page #main_col .top_page_list {
  padding-top: 0;
}
.page_type_top_page #main_col #top_staff,
.page_type_top_page #main_col #top_success,
.page_type_top_page #main_col #top_parents,
.page_type_top_page #main_col #top_course,
.page_type_top_page #main_col #top_qa,
.page_type_top_page #main_col #top_control,
.page_type_top_page #main_col #top_access {
  margin-bottom: 15rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .page_type_top_page #main_col #top_staff,
  .page_type_top_page #main_col #top_success,
  .page_type_top_page #main_col #top_parents,
  .page_type_top_page #main_col #top_course,
  .page_type_top_page #main_col #top_qa,
  .page_type_top_page #main_col #top_control,
  .page_type_top_page #main_col #top_access {
    margin-bottom: 10rem;
  }
}
@media only screen and (max-width: 640px) {
  .page_type_top_page #main_col #top_staff,
  .page_type_top_page #main_col #top_success,
  .page_type_top_page #main_col #top_parents,
  .page_type_top_page #main_col #top_course,
  .page_type_top_page #main_col #top_qa,
  .page_type_top_page #main_col #top_control,
  .page_type_top_page #main_col #top_access {
    margin-bottom: 7rem;
  }
}

#top_event {
  margin-top: 10rem;
}
@media only screen and (max-width: 640px) {
  #top_event {
    margin-top: 7rem;
  }
}

#top_about.content_size {
  max-width: 960px;
  padding: 15rem 1.5rem 2rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_about.content_size {
    padding: 4rem 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_about.content_size {
    padding: 7rem 1.5rem;
  }
}

#top_staff {
  background: #eee;
  padding: 10rem 12rem;
  border-top: 5px solid #01409a;
  border-bottom: 5px solid #01409a;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_staff {
    padding: 10rem 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_staff {
    padding: 7rem 1.5rem;
  }
}
#top_staff .btn_typeA {
  font-size: 3rem;
  max-width: 560px;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_staff .btn_typeA {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_staff .btn_typeA {
    font-size: 1.6rem;
    max-width: 90%;
  }
}

#top_success .btn_typeA {
  font-size: 3rem;
  max-width: 445px;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_success .btn_typeA {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_success .btn_typeA {
    font-size: 1.6rem;
    max-width: 90%;
  }
}
#top_success .btn_typeA a {
  padding: 2.2rem 0;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_success .btn_typeA a {
    padding: 1.8rem 0;
  }
}
@media only screen and (max-width: 640px) {
  #top_success .btn_typeA a {
    padding: 1.4rem 0;
  }
}
#top_success .title_s_type02 {
  margin-bottom: 3rem;
  text-align: left;
  font-size: 2.8rem;
  padding: 0;
  line-height: 1.5;
  font-weight: 600;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_success .title_s_type02 {
    font-size: 2.4rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_success .title_s_type02 {
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 1rem;
  }
}
#top_success .title_s_type02 span {
  display: inline-block;
  background: #f6ff00;
  color: #01409a;
  padding: 1rem;
  line-height: 1;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 640px) {
  #top_success .title_s_type02 span {
    line-height: 1.2;
  }
}

@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_success02 .top_voice_latest_box {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_success02 .top_voice_latest_list {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}

#top_point {
  background: #01409a;
  padding: 15rem 0 12rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_point {
    padding: 10rem 0;
  }
}
@media only screen and (max-width: 640px) {
  #top_point {
    padding: 7rem 0;
  }
}
#top_point .content_size {
  max-width: 990px;
}
#top_point .content_size .title_l {
  color: #fff;
  border-color: #fff;
}
@media only screen and (max-width: 640px) {
  #top_point .content_size .title_l {
    border: none;
    position: relative;
  }
  #top_point .content_size .title_l:before {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    margin-left: -50px;
    width: 100px;
    height: 1px;
    background: #fff;
  }
}
#top_point .content_size h3.title_normal {
  color: #fff;
}
#top_point .content_size h4.title_l {
  border: none;
}
#top_point .content_size h4.title_l::before {
  border: none !important;
}
#top_point .content_size .box_point {
  background: #fff;
  padding: 3rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 640px) {
  #top_point .content_size .box_point {
    padding: 2rem;
  }
}
#top_point .content_size .box_point .title_s {
  font-size: 3rem;
  line-height: 1;
  display: inline-block;
  padding: .5rem 1rem;
  margin-bottom: 3rem;
  background: transparent !important;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_point .content_size .box_point .title_s {
    font-size: 2.6rem;
    line-height: 1.2;
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_point .content_size .box_point .title_s {
    font-size: 2.2rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
  }
}
#top_point .content_size .box_point p {
  margin-bottom: 0;
}
#top_point .btn_typeB {
  font-size: 3rem;
  max-width: 560px;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_point .btn_typeB {
    font-size: 2.4rem;
    max-width: 70%;
  }
}
@media only screen and (max-width: 640px) {
  #top_point .btn_typeB {
    font-size: 1.6rem;
    max-width: 90%;
  }
}
#top_point .btn_typeB a {
  padding: 2.2rem 0;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_point .btn_typeB a {
    padding: 1.8rem 0;
  }
}
@media only screen and (max-width: 640px) {
  #top_point .btn_typeB a {
    padding: 1.4rem 0;
  }
}

#top_result {
  background-image: url(/cmn/images/top_bg_result01.png), url(/cmn/images/top_bg_result02.png);
  background-position: top center, bottom center;
  background-repeat: no-repeat;
  background-size: 100%;
  padding: 15rem 0;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_result {
    padding: 10rem 0;
  }
}
@media only screen and (max-width: 640px) {
  #top_result {
    padding: 7rem 0;
  }
}
#top_result .content_size {
  background: url(/cmn/images/top_bg_result03.png) center center no-repeat;
}
#top_result .btn_typeA {
  font-size: 3rem;
  max-width: 560px;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_result .btn_typeA {
    font-size: 2.4rem;
    max-width: 70%;
  }
}
@media only screen and (max-width: 640px) {
  #top_result .btn_typeA {
    font-size: 1.6rem;
    max-width: 90%;
  }
}
#top_result .title_l {
  color: #f2305e;
  border-color: #f2305e;
}
@media only screen and (max-width: 640px) {
  #top_result .title_l:before {
    background: #f2305e;
  }
}
#top_result .title_m {
  color: #000;
  font-weight: 500;
  margin: 0 auto;
  text-align: center;
  background: none;
  padding: 0;
  font-size: 2.6rem;
  line-height: 1;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 640px) {
  #top_result .title_m {
    font-size: 2.2rem;
    line-height: 1.2;
  }
}
#top_result .title_m span {
  background: #ffe2e9;
  color: #000;
  display: inline-block;
  padding: .5rem 2.5rem;
}
#top_result .title_m span strong {
  font-size: 5rem;
  color: #f2305e;
  font-weight: 500;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_result .title_m span strong {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_result .title_m span strong {
    font-size: 3.2rem;
  }
}
#top_result .title_m:nth-of-type(2) {
  margin-bottom: 7rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_result .title_m:nth-of-type(2) {
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_result .title_m:nth-of-type(2) {
    margin-bottom: 2rem;
  }
}
#top_result .box_result {
  padding: 3rem 2rem 2rem;
  margin: 0 auto 3rem;
  list-style: none;
  max-width: 990px;
  border: 5px solid #01409a;
}
#top_result .box_result p {
  font-size: 4rem;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  #top_result .box_result {
    padding: 1rem 0 0 1rem;
  }
  #top_result .box_result p {
    font-size: 2rem;
  }
  #top_result .box_result ul {
    padding: 0;
  }
}
#top_result .box_result li {
  display: inline-block;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  margin: 0 5rem 3rem 0;
}
#top_result .box_result li .bg_pink {
  background: #e72854;
  color: #fff;
  padding: 1rem 2rem;
}
#top_result .box_result li .num span {
  font-size: 8rem;
  padding: 0px 1rem;
  vertical-align: middle;
}
@media only screen and (max-width: 640px) {
  #top_result .box_result li {
    font-size: 1.5rem;
    padding: .8rem 1rem;
    margin: .5rem;
  }
  #top_result .box_result li .bg_pink {
    padding: 1rem;
  }
  #top_result .box_result li .num span {
    font-size: 4rem;
    padding: 0px .5rem;
  }
}
#top_result .box_result .title_s_type02 {
  margin-bottom: 3rem;
  text-align: center;
  font-size: 2.8rem;
  padding: 0;
  line-height: 1.5;
  font-weight: 600;
}
@media only screen and (max-width: 640px) {
  #top_result .box_result .title_s_type02 {
    margin-bottom: 0;
  }
}
#top_result .box_result .title_s_type02 span {
  display: inline-block;
  background: #f6ff00;
  color: #01409a;
  padding: 1rem;
  line-height: 1;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 640px) {
  #top_result .box_result .title_s_type02 span {
    margin-bottom: 0;
  }
}

#top_parents {
  background: url(/cmn/images/top_bg_parents.jpg) bottom center;
  background-size: cover;
  padding: 15rem 0;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_parents {
    padding: 10rem 0;
  }
}
@media only screen and (max-width: 640px) {
  #top_parents {
    padding: 7rem 0;
  }
}
#top_parents .content_size {
  max-width: 960px;
}
#top_parents .content_size p {
  margin-bottom: 5rem;
}
#top_parents .content_size p.btn_typeA {
  max-width: 445px;
  margin-bottom: 0;
  font-size: 3rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_parents .content_size p.btn_typeA {
    font-size: 2.4rem;
    max-width: 60%;
  }
}
@media only screen and (max-width: 640px) {
  #top_parents .content_size p.btn_typeA {
    font-size: 1.6rem;
    max-width: 90%;
  }
}
#top_parents .content_size p.btn_typeA a {
  padding: 2.2rem 0;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_parents .content_size p.btn_typeA a {
    padding: 1.8rem 0;
  }
}
@media only screen and (max-width: 640px) {
  #top_parents .content_size p.btn_typeA a {
    padding: 1.4rem 0;
  }
}

#top_course {
  background: #eee;
  padding: 10rem 12rem;
  border-top: 5px solid #01409a;
  border-bottom: 5px solid #01409a;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_course {
    padding: 10rem 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_course {
    padding: 7rem 1.5rem;
  }
}

#top_qa {
  padding: 0 1.5rem;
}
#top_qa .content_size {
  border: 5px solid #01409a;
  padding: 10rem 12rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_qa .content_size {
    padding: 10rem 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_qa .content_size {
    padding: 7rem 1.5rem;
  }
}
#top_qa .content_size .title_l {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 640px) {
  #top_qa .content_size .title_l {
    border: none;
  }
}
#top_qa .top_qa_latest_box {
  margin-bottom: 4rem;
}
#top_qa .top_qa_latest_box dt,
#top_qa .top_qa_latest_box dd {
  position: relative;
  padding-left: 10.5rem;
}
@media only screen and (max-width: 640px) {
  #top_qa .top_qa_latest_box dt,
  #top_qa .top_qa_latest_box dd {
    padding-left: 8rem;
  }
}
#top_qa .top_qa_latest_box dt:before,
#top_qa .top_qa_latest_box dd:before {
  position: absolute;
  left: 0;
}
#top_qa .top_qa_latest_box dt {
  font-size: 3rem;
  font-weight: normal;
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 640px) {
  #top_qa .top_qa_latest_box dt {
    font-size: 2.2rem;
  }
}
#top_qa .top_qa_latest_box dt:before {
  content: "Q";
  background: #01409a;
  color: #fff;
  padding: 9px 22px;
  top: -10px;
}
#top_qa .top_qa_latest_box dd:before {
  content: "A";
  background: #f6ff00;
  color: #01409a;
  padding: 9px 24px;
  font-size: 3rem;
  top: 0;
}
@media only screen and (max-width: 640px) {
  #top_qa .top_qa_latest_box dd:before {
    font-size: 2.2rem;
  }
}
#top_qa .btn_typeA {
  font-size: 3rem;
  max-width: 445px;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_qa .btn_typeA {
    font-size: 2.4rem;
    max-width: 80%;
  }
}
@media only screen and (max-width: 640px) {
  #top_qa .btn_typeA {
    font-size: 1.6rem;
    max-width: 90%;
  }
}
#top_qa .btn_typeA a {
  padding: 2.2rem 0;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_qa .btn_typeA a {
    padding: 1.8rem 0;
  }
}
@media only screen and (max-width: 640px) {
  #top_qa .btn_typeA a {
    padding: 1.4rem 0;
  }
}

#top_control {
  background: #eee;
  padding: 10rem 10rem 9rem;
  border-top: 5px solid #01409a;
  border-bottom: 5px solid #01409a;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_control {
    padding: 10rem 1.5rem;
  }
}
@media only screen and (max-width: 640px) {
  #top_control {
    padding: 7rem 1.5rem;
  }
}
#top_control .title_m {
  margin-bottom: 3rem;
  text-align: center;
  position: relative;
}
#top_control .title_m:after {
  content: '';
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  left: 50%;
  bottom: -17px;
  margin-left: -14px;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-top: 18px solid #01409a;
}

#top_access .btn_typeA {
  max-width: 176px;
  margin: 0;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_access .btn_typeA {
    font-size: 2.4rem;
    max-width: 70%;
    margin: auto;
  }
}
@media only screen and (max-width: 640px) {
  #top_access .btn_typeA {
    font-size: 1.6rem;
    max-width: 90%;
    margin: auto;
  }
}
#top_access .btn_typeA a {
  text-align: left;
  padding: 1.4rem 0 1.4rem 3.6rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_access .btn_typeA a {
    text-align: center;
    padding: 1.8rem 0;
  }
}
@media only screen and (max-width: 640px) {
  #top_access .btn_typeA a {
    text-align: center;
    padding: 1.4rem 0;
  }
}
#top_access .gm-style .place-card-large {
  display: none;
}

#top_news .category_list {
  background: none;
  text-align: center;
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
}
#top_news .category_list a.btn {
  margin: 0 auto 2rem;
}
#top_news .btn_typeA {
  max-width: 278px;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #top_news .btn_typeA {
    font-size: 2.4rem;
    max-width: 70%;
    margin: auto;
  }
}
@media only screen and (max-width: 640px) {
  #top_news .btn_typeA {
    font-size: 1.6rem;
    max-width: 90%;
    margin: auto;
  }
}

/*  
  塾生の声
------------------------------------------------------------*/
#pageId-15 .formatted_entry {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 640px) {
  #pageId-15 .formatted_entry .title_m {
    margin: 0 -1.5rem 1.5rem;
  }
}

.page_voice,
.page_voice_pt02 {
  padding: 0 5rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .page_voice,
  .page_voice_pt02 {
    padding: 0 2rem;
  }
}
@media only screen and (max-width: 640px) {
  .page_voice,
  .page_voice_pt02 {
    padding: 0;
  }
}
.page_voice img,
.page_voice_pt02 img {
  display: block;
  margin: 0 auto 1.5rem;
}
.page_voice ul,
.page_voice_pt02 ul {
  list-style: none;
}
.page_voice ul li,
.page_voice_pt02 ul li {
  position: relative;
  margin: 0;
  padding: 7px 10px 7px 15px;
  border-bottom: 1px dotted #d0d0d0;
}
.page_voice ul li:before,
.page_voice_pt02 ul li:before {
  content: "\f105";
  font-family: "Font Awesome 5 pro";
  position: absolute;
  top: 30%;
  left: 0;
  font-size: 1rem;
}

.box_voice_comment {
  background: #f5f5f5;
  padding: 4rem;
  margin: 0 5rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .box_voice_comment {
    margin: 0 2rem;
  }
}
@media only screen and (max-width: 640px) {
  .box_voice_comment {
    padding: 2rem;
    margin: 0;
  }
}
.box_voice_comment h4.title_ss {
  padding: 0 0 0 1rem;
  font-size: 1.7rem;
  color: #000;
  margin-bottom: 1.5rem;
  background: none;
}

/*  
  お知らせ
------------------------------------------------------------*/
.two_colmun #main_col .title_m {
  font-size: 2rem;
}

.pageType-formatted-archive #main_col ul {
  padding: 0;
  list-style: none;
  line-height: 2;
}
.pageType-formatted-archive #main_col ul li {
  position: relative;
  padding-left: 15px;
}
.pageType-formatted-archive #main_col ul li:before {
  content: "\f054";
  font-family: "Font Awesome 5 pro";
  position: absolute;
  top: 5px;
  left: 0;
  font-size: 1.2rem;
}
.pageType-formatted-archive #main_col ul li a {
  color: #000;
  text-decoration: none;
}

/*  
  体験授業・入塾の流れ
------------------------------------------------------------*/
.page_flow .title_m {
  text-align: center;
  line-height: 1.4;
  padding: 2rem 1rem;
}
.page_flow .title_m span {
  font-size: 80%;
}
.page_flow .box_flow {
  position: relative;
  background: #eee;
  border-top: 5px solid #01409a;
  border-bottom: 5px solid #01409a;
  padding: 5rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 896px) {
  .page_flow .box_flow {
    padding: 2rem;
  }
}
.page_flow .box_flow:after {
  content: "\f078";
  font-family: "Font Awesome 5 pro";
  position: absolute;
  bottom: -9rem;
  left: 50%;
  margin-left: -3rem;
  font-size: 4rem;
  line-height: 1;
  color: #01409a;
  background: #eee;
  padding: 1rem 1.2rem;
  border-radius: 200px;
}
.page_flow .box_flow:nth-of-type(3) {
  margin-bottom: 5rem;
}
.page_flow .box_flow:nth-of-type(3):after {
  content: "";
  background: none;
}
.page_flow .box_flow td {
  background: #fff;
  border-color: #ddd;
}

/*  
  中学受験について
------------------------------------------------------------*/
#page_examination .bg_pt02 {
  padding: 5rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #page_examination .bg_pt02 {
    padding: 5rem 3rem;
  }
}
@media only screen and (max-width: 640px) {
  #page_examination .bg_pt02 {
    padding: 6rem 1.5rem;
  }
}
#page_examination #page_examination_cont01,
#page_examination #page_examination_cont02,
#page_examination #page_examination_cont03,
#page_examination #page_examination_cont04,
#page_examination #page_examination_cont05,
#page_examination #page_examination_cont06 {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  #page_examination #page_examination_cont01,
  #page_examination #page_examination_cont02,
  #page_examination #page_examination_cont03,
  #page_examination #page_examination_cont04,
  #page_examination #page_examination_cont05,
  #page_examination #page_examination_cont06 {
    margin-bottom: 6rem;
  }
}
#page_examination #page_examination_cont01 {
  padding: 8rem 1.5rem;
}
@media only screen and (max-width: 640px) {
  #page_examination #page_examination_cont01 {
    padding: 6rem 1.5rem;
  }
}
#page_examination #page_examination_cont01 .content_size {
  background: #fff;
  padding: 5rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #page_examination #page_examination_cont01 .content_size {
    padding: 5rem 3rem;
  }
}
@media only screen and (max-width: 640px) {
  #page_examination #page_examination_cont01 .content_size {
    padding: 5rem 1.5rem;
  }
}
#page_examination #page_examination_cont01 .content_size .list_check li {
  background: #eee;
}
@media only screen and (min-width: 897px) {
  #page_examination #page_examination_cont02 .title_l_type02 {
    font-size: 3.8rem;
  }
}
#page_examination #page_examination_cont03 #top_result {
  padding: 8rem 0;
}
@media only screen and (max-width: 640px) {
  #page_examination #page_examination_cont03 #top_result {
    padding: 6rem 0;
  }
}
#page_examination #page_examination_cont03 #top_result ul.box_result {
  max-width: 100%;
}
#page_examination #page_examination_cont04 .title_l_type02 {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  #page_examination #page_examination_cont04 .title_l_type02 {
    margin-bottom: 10rem;
  }
}

.box_merit {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -2rem;
  margin-left: -2rem;
}
@media only screen and (max-width: 896px) {
  .box_merit {
    display: block;
    margin: 0;
  }
}
.box_merit .box_merit_item {
  position: relative;
  width: 100%;
  -ms-flex: 0 0 83.333333%;
  -webkit-box-flex: 0;
  display: flex;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media only screen and (max-width: 896px) {
  .box_merit .box_merit_item {
    display: block;
    max-width: 100%;
    padding: 0;
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 896px) {
  .box_merit .box_merit_item:nth-of-type(3) {
    margin-bottom: 0;
  }
}
.box_merit .box_merit_item .box_merit_item_inner {
  position: relative;
  background: #fff;
  border: 5px solid #ddd;
  padding: 4.5rem 3rem 1rem;
}
@media only screen and (max-width: 896px) {
  .box_merit .box_merit_item .box_merit_item_inner {
    padding: 4.5rem 1.5rem 1rem;
  }
}
.box_merit .box_merit_item .box_merit_item_inner .ttl_merit {
  position: absolute;
  top: -60px;
  left: 50%;
  margin-left: -50px;
  width: 100px;
  height: 100px;
  background: url(/cmn/images/bg_merit.png) center center/100%;
  color: #01409a;
  text-align: center;
  padding: 30px 0 0;
  line-height: 1.1;
  font-weight: 600;
  font-size: 2rem;
}
.box_merit .box_merit_item .box_merit_item_inner h3 {
  font-size: 2rem;
  color: #01409a;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 896px) {
  .box_merit .box_merit_item .box_merit_item_inner h3 {
    text-align: center;
  }
}

#under_contact {
  background: #01409a;
  padding: 10rem 1.5rem;
  text-align: center;
  color: #fff;
}
@media only screen and (max-width: 640px) {
  #under_contact {
    padding: 7rem 1.5rem;
  }
}
#under_contact p.contact_txt {
  font-size: 4rem;
  margin-bottom: 4rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  #under_contact p.contact_txt {
    font-size: 3.6rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 640px) {
  #under_contact p.contact_txt {
    font-size: 2.6rem;
    margin-bottom: 3rem;
    line-height: 1.5;
  }
}
#under_contact .under_contact_inner {
  background: #fff;
  color: #01409a;
  max-width: 1200px;
  padding: 4rem;
  margin: 0 auto;
}
@media only screen and (max-width: 640px) {
  #under_contact .under_contact_inner {
    padding: 2rem 1.5rem;
  }
}
#under_contact .under_contact_inner .contatc_ttl {
  font-size: 3rem;
  font-weight: 600;
  line-height: 1.2;
  background: #f6ff00;
  color: #01409a;
  padding: 1rem 2rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 640px) {
  #under_contact .under_contact_inner .contatc_ttl {
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }
}
#under_contact .under_contact_inner .contatc_ttl span {
  font-size: 2rem;
  font-weight: 500;
}
@media only screen and (max-width: 640px) {
  #under_contact .under_contact_inner .contatc_ttl span {
    font-size: 1.6rem;
  }
}
#under_contact .under_contact_inner ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}
#under_contact .under_contact_inner ul li {
  display: inline-block;
  width: 49%;
  padding-right: 2%;
  font-size: 2rem;
}
@media only screen and (max-width: 640px) {
  #under_contact .under_contact_inner ul li {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 896px) {
  #under_contact .under_contact_inner ul li {
    display: block;
    width: 100%;
    padding: 0;
  }
}
#under_contact .under_contact_inner ul li:last-child {
  padding-right: 0;
}
@media only screen and (max-width: 896px) {
  #under_contact .under_contact_inner ul li:last-child {
    margin-top: 1.5rem;
  }
}
#under_contact .under_contact_inner ul li a {
  display: block;
  position: relative;
  border: 3px solid #01409a;
  background: #01409a;
  color: #fff;
  padding: 3rem 0;
  text-decoration: none;
}
@media only screen and (max-width: 896px) {
  #under_contact .under_contact_inner ul li a {
    padding: 2rem 0;
  }
}
#under_contact .under_contact_inner ul li a:before {
  content: "\f061";
  font-family: "Font Awesome 5 pro";
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -12.5px;
  font-size: 1.5rem;
  color: #fff;
  background: #00255a;
  font-weight: normal;
  padding: 0px 6px;
}
@media only screen and (max-width: 640px) {
  #under_contact .under_contact_inner ul li a:before {
    right: 10px;
  }
}
#under_contact .under_contact_inner ul li a:hover {
  background: #fff;
  color: #01409a;
  transition: .3s;
}
#under_contact .under_contact_inner ul li a:hover:before {
  background: #01409a;
}

/*  
  カミオカセミナーについて
------------------------------------------------------------*/
#page_about #page_about_cont01,
#page_about #page_about_cont03,
#page_about #page_about_cont04,
#page_about #page_about_cont05 {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  #page_about #page_about_cont01,
  #page_about #page_about_cont03,
  #page_about #page_about_cont04,
  #page_about #page_about_cont05 {
    margin-bottom: 6rem;
  }
}
#page_about #page_about_cont02 #top_result {
  padding: 8rem 0;
}
@media only screen and (max-width: 640px) {
  #page_about #page_about_cont02 #top_result {
    padding: 6rem 0;
  }
}
#page_about #page_about_cont02 #top_result ul.box_result {
  max-width: 100%;
}
#page_about #page_about_cont03 #top_point {
  background: url("/cmn/images/box_point_bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 8rem 0;
}
@media only screen and (max-width: 640px) {
  #page_about #page_about_cont03 #top_point {
    padding: 6rem 0;
  }
}
@media only screen and (max-width: 640px) {
  #page_about #page_about_cont03 #top_point .title_l {
    font-size: 2.2rem;
  }
}
#page_about #page_about_cont04,
#page_about #page_about_cont05 {
  padding: 0 1.5rem;
}

.box_staff {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 896px) {
  .box_staff {
    display: block;
    margin: 0;
  }
}
.box_staff .box_staff_img,
.box_staff .box_staff_txt {
  position: relative;
  width: 100%;
  -ms-flex: 0 0 48%;
  flex: 0 0 48%;
  max-width: 48%;
}
@media only screen and (max-width: 896px) {
  .box_staff .box_staff_img,
  .box_staff .box_staff_txt {
    display: block;
    max-width: 100%;
  }
}
.box_staff .box_staff_img {
  margin-right: 2%;
  text-align: center;
}
.box_staff .box_staff_txt {
  padding-left: 2%;
  border-left: 1px dotted #2d2d2d;
}
@media only screen and (max-width: 896px) {
  .box_staff .box_staff_txt {
    padding: 0;
    border: none;
    margin-top: 2rem;
  }
}
.box_staff .box_staff_txt .box_staff_txt_inner {
  position: relative;
}
.box_staff .box_staff_txt .box_staff_txt_inner h3 {
  font-size: 2rem;
  position: relative;
  margin-bottom: 2rem;
}
.box_staff .box_staff_txt .box_staff_txt_inner h3:after {
  content: '';
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  left: 50%;
  bottom: -10px;
  margin-left: -10px;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #f6ff00;
}

/*
  コース案内
------------------------------------------------------------*/
#page_course #page_course_cont01,
#page_course #page_course_cont03,
#page_course #page_course_cont03,
#page_course #page_course_cont04,
#page_course #page_course_cont05 {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 640px) {
  #page_course #page_course_cont01,
  #page_course #page_course_cont03,
  #page_course #page_course_cont03,
  #page_course #page_course_cont04,
  #page_course #page_course_cont05 {
    margin-bottom: 6rem;
  }
}
#page_course #top_result {
  margin-bottom: 7rem;
}
@media only screen and (max-width: 640px) {
  #page_course #top_result {
    margin-bottom: 6rem;
  }
}

.class_time {
  text-align: center;
}
.class_time th,
.class_time td {
  border: 2px solid #01409a;
  padding: 1rem;
  /* width : -webkit-calc(100% / 8) ;
width : calc(100% / 8) ; */
  font-size: small;
  min-width: 8em;
  width: 12.5%;
}
.class_time th {
  background: #eee;
  min-width: 8em;
  width: 12.5%;
}
.class_time span {
  font-size: small;
  display: block;
}
.class_time .title {
  background: #f6ff00;
  font-size: 2rem;
}

.scroll {
  overflow: auto;
  white-space: nowrap;
}
@media only screen and (max-width: 640px) {
  .scroll {
    margin-bottom: 20px;
  }
}
.scroll .scroll table {
  margin: 0;
}
.scroll .scroll::-webkit-scrollbar {
  height: 10px;
}
.scroll .scroll::-webkit-scrollbar-thumb:horizontal {
  background: #aaa;
}
.scroll .scroll::-webkit-scrollbar:horizontal {
  background: #f5f5f5;
}

.table_scroll {
  table-layout: fixed;
  min-width: 100%;
}

.test_bnr {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .test_bnr {
    justify-content: flex-start;
    flex-direction: column;
  }
}
.test_bnr li {
  list-style-type: none;
  padding: 0;
  margin: 0 10px;
}

/*
  お知らせ
------------------------------------------------------------*/
.page_type_formatted_detail #top_result {
  background: none;
  padding: 0;
}

/*
  なぜ難関校に合格するのか 
------------------------------------------------------------*/
#page_difficulty_cont #top_point {
  background: url("/cmn/images/box_point_bg.jpg") center center no-repeat;
  background-size: cover;
  padding: 8rem 0;
}
@media only screen and (max-width: 640px) {
  #page_difficulty_cont #top_point {
    padding: 6rem 0;
  }
}

/*
  カミオカセミナーについて：タイトルサイズ
------------------------------------------------------------*/
@media only screen and (max-width: 640px) {
  .min_ttl .block_ttl .title_l {
    font-size: 2.2rem;
  }
}

.h3_news {
  font-size: 3rem;
  text-align: center;
  margin-bottom: 5rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .h3_news {
    font-size: 2.4rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 640px) {
  .h3_news {
    font-size: 2rem;
    margin-bottom: 3rem;
    line-height: 1.5;
  }
}

.h4_news {
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 1rem;
}
@media screen and (min-width: 641px) and (max-width: 896px) {
  .h4_news {
    font-size: 2.2rem;
    margin-bottom: 1rem;
  }
}
@media only screen and (max-width: 640px) {
  .h4_news {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    line-height: 1.5;
  }
}

/*
  キャッチ下スライダー
------------------------------------------------------------*/
#top_slider_auto {
  padding-top: 10rem;
}
@media only screen and (max-width: 640px) {
  #top_slider_auto {
    padding-top: 7rem;
  }
}
#top_slider_auto .autoplay .item {
  padding: 0 10px;
}

/*
  講習フォーマット
------------------------------------------------------------*/
.seminar .title_s {
  margin-bottom: 20px;
}
.seminar .title_ss {
  margin-bottom: 5px;
}
.seminar .btn_typeC {
  margin-top: 10px;
  margin-bottom: 10px;
  max-width: 100%;
}
@media only screen and (max-width: 640px) {
  .seminar .btn_typeC {
    margin-bottom: 10px;
  }
}
.seminar h3 span {
  color: #01409a;
}
.seminar .seminar_winter2023_btn {
  margin: 0 auto;
  max-width: 360px;
}
@media only screen and (max-width: 640px) {
  .seminar .seminar_winter2023_btn {
    width: 100%;
  }
}

/*
  新4年準備講座2023
------------------------------------------------------------*/
#fourth_course2023 .box {
  border: 2px solid #01409a;
  padding: 15px;
}

/*
  新4年算数準備講座
------------------------------------------------------------*/
.new_fourth-year .title {
  background-color: #01409a;
  color: #fff;
  padding: 10px;
  margin-bottom: 10px;
}
.new_fourth-year .box {
  border: 2px solid #01409a;
  padding: 15px;
}
.new_fourth-year span {
  color: #01409a;
  font-weight: bold;
}
.new_fourth-year ul {
  list-style: none;
  padding: 20px 0;
}
.new_fourth-year .btn_typeC {
  margin-top: 10px;
  margin-bottom: 10px;
}
@media only screen and (max-width: 640px) {
  .new_fourth-year .btn_typeC {
    max-width: 100%;
  }
}
.new_fourth-year .point01 {
  background-color: #0099DF;
  color: #fff;
  padding: 10px;
  font-size: 2rem;
}
@media only screen and (max-width: 640px) {
  .new_fourth-year .point01 {
    font-size: 1.8rem;
  }
}
.new_fourth-year .point02 {
  font-size: 2rem;
  background-color: #D0670B;
  color: #fff;
  padding: 10px;
}
@media only screen and (max-width: 640px) {
  .new_fourth-year .point02 {
    font-size: 1.8rem;
  }
}
